?? logchart.xml
字號:
<?xml version="1.0"?><application> <window caption="Log Chart" width="500" height="400" centered="true"/> <resources> <script><![CDATA[function LogChart() { var win = application.getWindow(); // menu var tmp var menuBar = new BiMenuBar; var fileMenu = new BiMenu; var exitMenuItem = new BiMenuItem("Exit"); exitMenuItem.setMnemonic("x"); exitMenuItem.addEventListener("action", function () { application.getWindow().close(); }); fileMenu.add(exitMenuItem); var viewMenu = new BiMenu; // Log Type Radio Items var visitorsMenuItem = new BiRadioButtonMenuItem("Visitors", this._logType == "visitors"); visitorsMenuItem.setMnemonic("v"); visitorsMenuItem.logType = "visitors"; var hitsMenuItem = new BiRadioButtonMenuItem("Hits", this._logType == "hits"); hitsMenuItem.setMnemonic("h"); hitsMenuItem.logType = "hits"; var sentMenuItem = new BiRadioButtonMenuItem("MB Sent", this._logType == "sent"); sentMenuItem.setMnemonic("s"); sentMenuItem.logType = "sent"; var logTypeMenuItemsRadioGroup = new BiRadioGroup; logTypeMenuItemsRadioGroup.add(visitorsMenuItem); logTypeMenuItemsRadioGroup.add(hitsMenuItem); logTypeMenuItemsRadioGroup.add(sentMenuItem); logTypeMenuItemsRadioGroup.addEventListener("change", this.onLogTypeChange, this); viewMenu.add(visitorsMenuItem); viewMenu.add(hitsMenuItem); viewMenu.add(sentMenuItem); viewMenu.add( new BiMenuSeparator ); // Chart Type Radio Items var lineChartMenuItem = new BiRadioButtonMenuItem("Line Chart", this._chartType == "line"); lineChartMenuItem.setMnemonic("l"); lineChartMenuItem.chartType = "line"; var columnChartMenuItem = new BiRadioButtonMenuItem("Column Chart", this._chartType == "column"); columnChartMenuItem.setMnemonic("c"); columnChartMenuItem.chartType = "column"; var gridChartMenuItem = new BiRadioButtonMenuItem("Grid Chart", this._chartType == "grid"); gridChartMenuItem.setMnemonic("g"); gridChartMenuItem.chartType = "grid"; var chartTypeMenuItemsRadioGroup = new BiRadioGroup; chartTypeMenuItemsRadioGroup.add(lineChartMenuItem); chartTypeMenuItemsRadioGroup.add(columnChartMenuItem); chartTypeMenuItemsRadioGroup.add(gridChartMenuItem); chartTypeMenuItemsRadioGroup.addEventListener("change", this.onChartTypeChange, this); viewMenu.add(lineChartMenuItem); viewMenu.add(columnChartMenuItem); viewMenu.add(gridChartMenuItem); viewMenu.add( new BiMenuSeparator ); var upMenuItem = new BiMenuItem("Go up one level"); upMenuItem.setMnemonic("u"); upMenuItem.addEventListener("action", this.drillUp, this); viewMenu.add(upMenuItem); viewMenu.add( new BiMenuSeparator ); // Time Frame Radio Items var yearsMenuItem = new BiRadioButtonMenuItem("Years", this._timeFrame == "years"); yearsMenuItem.setMnemonic("y"); yearsMenuItem.timeFrame = "years"; var monthsMenuItem = new BiRadioButtonMenuItem("Months", this._timeFrame == "months"); monthsMenuItem.setMnemonic("m"); monthsMenuItem.timeFrame = "months"; var daysMenuItem = new BiRadioButtonMenuItem("Days", this._timeFrame == "days"); daysMenuItem.setMnemonic("d"); daysMenuItem.timeFrame = "days"; var hoursMenuItem = new BiRadioButtonMenuItem("Hours", this._timeFrame == "hours"); hoursMenuItem.setMnemonic("o"); hoursMenuItem.timeFrame = "hours"; var timeFrameRadioGroup = new BiRadioGroup; timeFrameRadioGroup.add(yearsMenuItem); timeFrameRadioGroup.add(monthsMenuItem); timeFrameRadioGroup.add(daysMenuItem); timeFrameRadioGroup.add(hoursMenuItem); timeFrameRadioGroup.addEventListener("change", this.onTimeFrameChange, this); viewMenu.add(yearsMenuItem); viewMenu.add(monthsMenuItem); viewMenu.add(daysMenuItem); viewMenu.add(hoursMenuItem); menuBar.add( tmp = new BiMenuButton("File", fileMenu) ); tmp.setMnemonic("f"); menuBar.add( tmp = new BiMenuButton("View", viewMenu) ); tmp.setMnemonic("v"); win.add(menuBar); // Tool bar var toolBar = new BiToolBar; var upButton = new BiToolBarButton( "", new BiImage("up.16.png", 16, 16) ); upButton.addEventListener("action", this.drillUp, this); upButton.setToolTipText("Go Up One Level"); var lineChartButton = new BiToolBarRadioButton("Line Chart", new BiImage("linechart.16.gif", 16, 16), this._chartType == "line"); lineChartButton.chartType = "line"; var columnChartButton = new BiToolBarRadioButton("Column Chart", new BiImage("columnchart.16.gif", 16, 16), this._chartType == "column"); columnChartButton.chartType = "column"; var gridChartButton = new BiToolBarRadioButton("Grid Chart", new BiImage("gridchart.16.gif", 16, 16), this._chartType == "grid"); gridChartButton.chartType = "grid"; var chartTypeRadioGroup = new BiRadioGroup; chartTypeRadioGroup.add(lineChartButton); chartTypeRadioGroup.add(columnChartButton); chartTypeRadioGroup.add(gridChartButton); chartTypeRadioGroup.addEventListener("change", this.onChartTypeChange, this); win.add(toolBar); toolBar.add(upButton); toolBar.add( new BiToolBarSeparator ); toolBar.add(lineChartButton); toolBar.add(columnChartButton); toolBar.add(gridChartButton); toolBar.setLocation(0, menuBar.getHeight()); toolBar.setRight(0); // statusbar var statusBar = new BiStatusBar; var statusPanel = new BiStatusBarPanel; statusPanel.setLeft(0); statusPanel.setRight(0); statusPanel.setPadding(2, 1); win.add(statusBar); statusBar.add(statusPanel); // resize handle var resizeHandle = new BiResizeHandle( win ); resizeHandle.setRight(0); resizeHandle.setBottom(0); win.add(resizeHandle); var graph = BiGraph.fromXmlDocument( this.getGraphDocument() ); win.add(graph); graph.update(); graph.setLocation(0, toolBar.getTop() + toolBar.getHeight() + 2); graph.setRight(0); graph.setBottom(20); graph.setBorder( new BiBorder(2, "inset") ); graph.setBackColor("#cfe0f2"); graph.addEventListener("pointdblclick", function (e) { this.drillDown(e.getCategory()); }, this); // context menu var contextMenu = new BiMenu; var upContextMenuItem = new BiMenuItem("Go Up One Level"); var drillDownMenuItem = new BiMenuItem("Drill Down"); upContextMenuItem.setMnemonic("u"); drillDownMenuItem.setMnemonic("d"); upContextMenuItem.addEventListener("action", this.drillUp, this); drillDownMenuItem.addEventListener("action", function () { this.drillDown(drillDownMenuItem.category); }, this); contextMenu.add(upContextMenuItem); contextMenu.add(drillDownMenuItem); var oThis = this; graph.getContextMenuForPoint = function (oSeries, oCategory) { drillDownMenuItem.category = oCategory; drillDownMenuItem.setEnabled(oThis._timeFrame != "hours"); return contextMenu; }; graph.getContextMenu = function () { drillDownMenuItem.setEnabled(false); return contextMenu; }; this.graph = graph; this.chartTypeRadioGroup = chartTypeRadioGroup; this.chartTypeMenuItemsRadioGroup = chartTypeMenuItemsRadioGroup; this.lineChartButton = lineChartButton; this.lineChartMenuItem = lineChartMenuItem; this.columnChartButton = columnChartButton; this.columnChartMenuItem = columnChartMenuItem; this.gridChartButton = gridChartButton; this.gridChartMenuItem = gridChartMenuItem; this.timeFrameRadioGroup = timeFrameRadioGroup; this.yearsMenuItem = yearsMenuItem; this.monthsMenuItem = monthsMenuItem; this.daysMenuItem = daysMenuItem; this.hoursMenuItem = hoursMenuItem; this.upMenuItem = upMenuItem; this.upButton = upButton; this.upContextMenuItem = upContextMenuItem; this.drillDownMenuItem = drillDownMenuItem; this.statusPanel = statusPanel; //this.dataDocument; //this.presentationDocument; this.showTimeFrame();}_p = LogChart.prototype;_p._className = "LogChart";LogChart.URI = "../../../services/iislog.aspx?";// LogChart.URI = "http://www.bindows.net/services/iislog.aspx?";_p._logType = "hits";_p._timeFrame = "days";_p._chartType = "column";_p._fromDate = null;_p._toDate = null;LogChart.main = function () { new LogChart; };_p.onChartTypeChange = function (e) { var grp = e.getTarget(); var type = grp.getSelected().chartType; this.setChartType(type);};_p.setChartType = function (s) { if (this._chartType != s) { this._chartType = s; this.updateAsync("Changing chart type", false); //this.graph.setChartType(s); //this.graph.update(); // sync tool bar and menu switch (s) { case "line": this.chartTypeRadioGroup.setSelected(this.lineChartButton); this.chartTypeMenuItemsRadioGroup.setSelected(this.lineChartMenuItem); break; case "column": this.chartTypeRadioGroup.setSelected(this.columnChartButton); this.chartTypeMenuItemsRadioGroup.setSelected(this.columnChartMenuItem); break; case "grid": this.chartTypeRadioGroup.setSelected(this.gridChartButton); this.chartTypeMenuItemsRadioGroup.setSelected(this.gridChartMenuItem); break; } }};_p.getChartType = function () { return this._chartType };_p.onLogTypeChange = function (e) {
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -