📄 isc_developerconsole.js
字号:
if(!isc.isAn.emptyObject(_12)){addToLog((this.target?"Log Priorities updated for component: "+this.target:"Global Log Priorities updated: ")+"Modified categories: "+isc.Comm.serialize(_12,true))}}this.hide()}})}function initResultsTab(){initPrioritiesMenu();isc.MenuButton.create({ID:"preferencesButton",autoDraw:false,menu:prioritiesMenu,title:"Logging Preferences",width:150,showMenu:function(){prioritiesMenu.setPriorityComponent();this.Super("showMenu",arguments)}})var _1=false,_2=false;isc.DynamicForm.create({ID:"resultsForm",autoDraw:false,browserSpellCheck:false,overflow:"hidden",autoFocus:false,items:[{name:"results",showTitle:false,height:"*",width:"*",colSpan:"*",formItemType:_1?"RichTextItem":"textArea",canvasProperties:_1?{toolbarHeight:0,editAreaProperties:{syntaxHiliter:isc.ISCLogSyntaxHiliter.create({autoWrap:true})}}:null}]});isc.DynamicForm.create({ID:"staticForm",resizeable:false,border:"1px solid black",autoDraw:false,autoFocus:false,numCols:8,canSelectText:true,grabValues:function(){if(!validOpener())return;var _3=targetWindow.isc,_4=_3.Canvas,_5=_4._stats,_6=_3.EH.lastTarget,_7=_3.EH.getFocusCanvas();this.setValues({draws:_5.draws,clears:_5.clears,redraws:_5.redraws,destroys:_5.destroys,count:_4._canvasList.length-_4._iscInternalCount,currentCanvas:_6!=null?_6.getID():"",currentFocusCanvas:_7!=null?_7.getID():""})},handleClick:function(){var _8=this.getValue("lastMouseDown");if(_8==null)return;evalForm.setValue("evalExpression",_8+"\r"+(evalForm.getValue("evalExpression")||""));this.Super("handleClick",arguments)},items:[{name:"currentCanvas",title:"<b>Mouse Event Target</b>",wrapTitle:false,type:"staticText",colSpan:2},{name:"currentFocusCanvas",title:"<b>Focus Target</b>",wrapTitle:false,type:"staticText",colSpan:2},{name:"lastMouseDown",title:"<B>Last MouseDown Target</B>",wrapTitle:false,type:"staticText",colSpan:"*",startRow:true,endRow:true,hint:"<nobr>[click to add to eval]</nobr>"},{name:"count",title:"Canvas Count",wrapTitle:false,type:"staticText"},{name:"draws",title:"draw()s",wrapTitle:false,type:"staticText",startRow:true},{name:"clears",title:"clear()s",wrapTitle:false,type:"staticText"},{name:"redraws",title:"redraw()s",wrapTitle:false,type:"staticText"},{name:"destroys",title:"destroy()s",wrapTitle:false,type:"staticText"}]});isc.DynamicForm.create({ID:"evalForm",height:"25%",autoDraw:false,overflow:"hidden",autoFocus:false,browserSpellCheck:false,items:[{formItemType:_2?"RichTextItem":"textArea",canvasProperties:_2?{toolbarHeight:0,editAreaProperties:{syntaxHiliter:isc.JSSyntaxHiliter.create(),countLines:true,handleKeyPress:function(){var _9=isc.EH.getKey();if(_9=='Tab'){evalButton.focus();return false}if(_9=='Enter'&&isc.EH.ctrlKeyDown()){evalButton.click();return false}if(_9=='Arrow_Up'&&isc.EH.ctrlKeyDown()){clearButton.click();return false}return this.Super("handleKeyPress",arguments)}}}:null,name:"evalExpression",showTitle:false,colSpan:"*",width:"*",height:"*",defaultDynamicValue:"getLogCookieValue('evalExpression');",keyPress:function(_27,_28,_9){if(_9=='Enter'&&isc.EH.ctrlKeyDown())evalButton.click();if(_9=='Arrow_Up'&&isc.EH.ctrlKeyDown())clearButton.click()}}]});isc.IButton.create({autoDraw:false,ID:"evalButton",title:"Eval JS",click:"saveState();doEval();",keyPress:_2?function(){if(isc.EH.getKey()=="Tab"&&isc.EH.shiftKeyDown()){evalForm.focusInItem("evalExpression");return false}}:null});isc.IButton.create({autoDraw:false,ID:"clearButton",title:"Clear",click:"if (validOpener()) targetWindow.isc.Log.clear();"});isc.IButton.create({autoDraw:false,ID:"rulerButton",width:50,title:"Ruler",click:function(){if(!validOpener())return;if(targetWindow.isc_dev_ruler){targetWindow.isc_dev_ruler.destroy();return}targetWindow.isc.Canvas.create({ID:"isc_dev_ruler",left:targetWindow.isc.Page.getScrollLeft()+5,top:targetWindow.isc.Page.getScrollTop()+5,overflow:"hidden",canDragResize:true,dragAppearance:"target",canDragReposition:true,backgroundImage:"[SKIN]/grid.gif",getInnerHTML:function(){var _10=this.getWidth()+"w x "+this.getHeight()+"h";return"<span title='"+_10+"'>"+_10+"</span>"},autoDraw:true});targetWindow.isc_dev_ruler.bringToFront()}});isc.DynamicForm.create({ID:"literalInput",height:"25%",autoDraw:false,overflow:"hidden",canFocus:false,browserSpellCheck:false,items:[{name:"literalText",ID:"literalText",type:"textArea",width:"*",height:"*",showTitle:false,colSpan:"*"}]});isc.HLayout.create({ID:"literalInputButtonBar",resizeable:false,autoDraw:false,height:20,membersMargin:10,members:[isc.IAutoFitButton.create({autoDraw:false,title:"asSource",click:function(){var _11=literalText.getValue(),_12=_11.split(/[\n\r]+/);literalText.setValue(_12.map("asSource").join(" +\n").replace(/" \+\n/g,'\\r" +\n'))}}),isc.IAutoFitButton.create({autoDraw:false,title:"asSource Single",click:function(){var _11=literalText.getValue(),_12=_11.split(/[\n\r]+/);literalText.setValue(_12.map("asSource",true).join(" +\n").replace(/' \+\n/g,"\\r' +\n"))}}),isc.IAutoFitButton.create({autoDraw:false,title:"asHTML",click:function(){literalText.setValue(literalText.getValue().asHTML())}}),isc.IAutoFitButton.create({autoDraw:false,title:"HTML Escape",click:function(){var _13=literalText.getValue();literalText.setValue("<pre>\r"+_13.replace(/</g,"<").replace(/>/g,">")+"\r</pre>")}}),isc.IAutoFitButton.create({autoDraw:false,title:"As Canvas.contents",click:function(){targetWindow.isc.Canvas.create({ID:"literalHTMLCanvas",autoDraw:true,contents:literalText.getValue(),backgroundColor:"gray"})targetWindow.literalHTMLCanvas.bringToFront()}})]});isc.HStack.create({autoDraw:false,ID:"evalButtonBar",membersMargin:10,height:25,members:[evalButton,clearButton,rulerButton]});Canvas.create({ID:"versionCanvas",autoDraw:false,canSelectText:true,cursor:"text",height:20,getContents:function(){var _14="SmartClient Version: <b>${targetWindow.isc.versionNumber}</b> ";if(["Eval","PNC","IDev"].contains(targetWindow.isc.licenseType)){if(targetWindow.isc.licenseType=="Eval"){_14+="(expires ${targetWindow.isc.expirationDate})"}else{_14+="(built ${targetWindow.isc.buildDate})"}_14+=" Licensed to: ${targetWindow.isc.licenseCompany} (#${targetWindow.isc.licenseSerialNumber})"}else{_14+="(built ${targetWindow.isc.buildDate})"}return _14.evalDynamicString(this)}});isc.DynamicForm.create({ID:"evalJavaForm",height:"25%",autoDraw:false,overflow:"hidden",autoFocus:false,browserSpellCheck:false,items:[{formItemType:_2?"RichTextItem":"textArea",canvasProperties:_2?{toolbarHeight:0,editAreaProperties:{syntaxHiliter:isc.JSSyntaxHiliter.create(),countLines:true,handleKeyPress:function(){var _9=isc.EH.getKey();if(_9=='Tab'){evalJavaButton.focus();return false}if(_9=='Enter'&&isc.EH.ctrlKeyDown()){evalJavaButton.click();return false}return this.Super("handleKeyPress",arguments)}}}:null,name:"javaCode",showTitle:false,colSpan:"*",width:"*",height:"*",defaultDynamicValue:"getLogCookieValue('javaCode');",keyUp:function(_27,_28,_9){if(_9=='Enter'&&isc.EH.ctrlKeyDown())evalJavaButton.click()}}]});isc.HStack.create({autoDraw:false,ID:"evalJavaButtonBar",membersMargin:10,resizeable:false,height:25,members:[isc.IButton.create({autoDraw:false,ID:"evalJavaButton",title:"Eval Java",click:"saveState();doEvalJava()"})]});window.showJavaEvalHelp=function(){var _15="Evaluated code runs in a JSP. Your code is automatically wrapped in"+" jsp tags (<% %>) if you don't provide them. If you do provide them, then"+" your code becomes the body of the temporary JSP verbatim."+"<br><br>"+"Use out.write() to send debugging output to"+" the Developer Console, or log.warn() to send output to the server log. An RPCManager is"+" available as the variable \"rpc\"."+"<br><br>"+"JSP is temporarily saved as [webroot]/tools/devConsoleEval.jsp. To target with an"+" RPCRequest, just do 'isc.rpc.sendRequest({ url: \"/tools/devConsoleEval.jsp\" })'"+"<br><br>"+"Isomorphic taglib is available when eval'ing JSP. You can use this feature to debug"+" RPC responses as well as a quick way to execute some Java code.";isc.Hover.show(_15)}isc.DynamicForm.create({ID:"evalXMLForm",height:"25%",autoDraw:false,overflow:"hidden",autoFocus:false,browserSpellCheck:false,items:[{formItemType:_2?"RichTextItem":"textArea",canvasProperties:_2?{toolbarHeight:0,editAreaProperties:{syntaxHiliter:isc.XMLSyntaxHiliter.create(),countLines:true,handleKeyPress:function(){var _9=isc.EH.getKey();if(_9=='Tab'){evalXMLButton.focus();return false}if(_9=='Enter'&&isc.EH.ctrlKeyDown()){evalXMLButton.click();return false}return this.Super("handleKeyPress",arguments)}}}:null,name:"xmlData",showTitle:false,colSpan:"*",width:"*",height:"*",defaultDynamicValue:"getLogCookieValue('evalXMLData');",keyUp:function(_27,_28,_9){if(_9=='Enter'&&isc.EH.ctrlKeyDown())evalXMLButton.click()}}]});isc.HStack.create({autoDraw:false,ID:"evalXMLButtonBar",membersMargin:10,resizeable:false,height:25,members:[isc.IButton.create({autoDraw:false,ID:"evalXMLButton",title:"Eval XML",click:"saveState();doEvalXML()"}),isc.IButton.create({autoDraw:false,title:"Show JS",click:function(){saveState();isc.xml.toJSCode(evalXMLForm.getValue("xmlData"),"targetWindow.isc.Log.logInfo('xmlToJS:\\n\\n'+data)")}})]});window.updateCommWatcher=function(){if(window.commDisplay&&commDisplay.isVisible())commDisplay.setHistoryPosition()}isc.defineClass("CommWatcher","VLayout").addMethods({overflow:"hidden",autoChildren:["historyPicker","viewGrid","selectForm"],historyPickerDefaults:{_constructor:isc.DynamicForm,height:20,colWidths:[100,"*",95],numCols:3,items:[{type:"select",name:"historySelect",title:"Comm History",width:"*",change:"this.form.parentElement.setHistoryPosition(value)"},{type:"checkbox",name:"showLast",showTitle:false,title:"Show Last",defaultValue:true}]},viewGridDefaults:{_constructor:isc.DOMGrid,headerHeight:0},selectFormDefaults:{_constructor:isc.DynamicForm,numCols:5,colWidths:[60,"*",60,60,"*"],items:[{name:"xpath",title:"XPath",defaultValue:"default:",width:"*"},{startRow:false,endRow:false,type:"button",width:"*",title:"Eval",click:"form.creator.evalXPath()"},{name:"result",title:"Result",width:"*"}]},setHistoryPosition:function(_27){if(!targetWindow.isc.xml)return;var _16=targetWindow.isc.xml.xmlResponses;if(_27==null){if(this.historyPicker.getValue("showLast")){_27=_16.length-1}else{_27=this.historyPosition||0}}if(_27>=_16.length)_27=Math.max(0,_16.length-1);this.historyPosition=_27;this.historyPicker.setValue("historySelect",this.historyPosition);if(_16&&_16.length>0){var _17=_16[_27].text;this.viewGrid.setRootElement(isc.xml.parseXML(_17).documentElement)}this.updateValueMap()},updateValueMap:function(){var _16=targetWindow.isc.xml.xmlResponses;if(!_16||_16.length<1)return;var _18={};for(var i=0;i<_16.length;i++){var _20=_16[i].text;_20=isc.xml.trimXMLStart(_20);_20=_20.trim();_20=_20.substring(0,200);_20=_20.replaceAll(/[\r\n]*/,"");_20=_20.asHTML();_18[i]=_20}this.historyPicker.setValueMap("historySelect",_18)},show:function(){this.Super("show",arguments);this.setHistoryPosition()},evalXPath:function(){var _21=this.selectForm.getValue("xpath"),_22=this.viewGrid.getSelectedRecord();if(!_22){alert("Select a record");return}var _20=targetWindow.isc.xml.xmlResponses[this.historyPosition];var _23=this.viewGrid.data,_24=this.viewGrid.getSelectedRecord(),_25=_23.getElement(_24),_26;try{_26=isc.xml.selectScalar(_25,_21,_20.xmlNamespaces)}catch(e){isc.warn("Error executing expression: "+this.echo(e))}addToLog("Eval XPath result: "+this.echoAll(_26));this.selectForm.setValue("result",this.echoAll(_26))},getSelectedElement:function(){var _24=this.viewGrid.getSelectedRecord();if(!_24)return null;return this.viewGrid.data.getElement(_24)}})isc.CommWatcher.create({ID:"commDisplay",autoDraw:false});isc.SectionStack.create({ID:"resultsLayout",autoDraw:false,visibilityMode:"multiple",sections:[{ID:"logMessagesSection",title:"Log Messages",autoShow:true,items:[isc.HLayout.create({height:25,autoDraw:false,members:[preferencesButton]}),resultsForm,staticForm]},{ID:"commWatcher",title:"XML Comm Watcher <SPAN STYLE='color:darkgray;'>(selection available as 'element' in evals)</SPAN>",items:[commDisplay]},{ID:"evalJavaSection",disabled:!isc.hasOptionalModule("SCServer"),prompt:isc.hasOptionalModule("SCServer")?null:"Requires SmartClient Server",title:"Evaluate Java <SPAN STYLE='color:darkgray;'>(contents run in a JSP) "+isc.Canvas.imgHTML(isc.Page.getSkinDir()+"images/actions/help.png",16,16,null," onmouseout='isc.Hover.clear()'"+" onmouseover='isc.Hover.setAction(window, showJavaEvalHelp, null, 300)'")+"</SPAN>",items:[evalJavaForm,evalJavaButtonBar]},{ID:"evalXMLSection",title:"Evaluate XML",disabled:!isc.hasOptionalModule("SCServer"),prompt:isc.hasOptionalModule("SCServer")?null:"Requires SmartClient Server",items:[evalXMLForm,evalXMLButtonBar]},{ID:"literalInputSection",title:"Literal Text <SPAN STYLE='color:darkgray'>(contents available as 'literalText' in JS evals)</SPAN>",items:[literalInput,literalInputButtonBar]},{ID:"evalJSSection",title:"Evaluate JS Expression <SPAN STYLE='color:darkgray'>(watch list "+"selection available as 'watched' in evals)</SPAN>",autoShow:true,items:[evalForm,evalButtonBar]},{ID:"versionInfoStack",resizeable:false,showHeader:false,items:[versionCanvas]}]});mainTabset.updateTab("results",resultsLayout)}function getWidget(_1){if(!validOpener())return;var _2=_1.getSelectedRecord();if(_2==null)return null;return targetWindow[_2.id]}function refreshWatchList(){if(window.canvasList)canvasList.setData(getCanvasList());var _1=getLogCookieValue('showUndrawn'),_2=getLogCookieValue('showHidden');if(_1)canvasList.showField("drawn");else canvasList.hideField("drawn");if(_2)canvasList.showField("visible");else canvasList.hideField("visible")}function inspectDOM(_1){if(!window.inspectorWindow){isc.DOMInspector.create({ID:"inspector",scope:targetWindow,autoDraw:false});isc.Window.create({ID:"inspectorWindow",autoDraw:false,title:"DOM Inspector",height:"100%",width:"100%",items:[inspector]})}var _2=_1;if(_1==null||!targetWindow.isc.isA.Canvas(_1)||!_1.isDrawn()){_2=targetWindow.isc.Canvas.getDocumentBody(true)}else if(targetWindow.isc.isA.Canvas(_1)){_2=_1.getClipHandle()}inspector.setRootElement(_2);inspectorWindow.show()}function initWatchPane(){if(window.watchForm){if(window.$49b)refreshWatchList();window.$49b=false;return}isc.DynamicForm.create({autoDraw:false,autoFocus:false,ID:"watchForm",numCols:6,browserSpellCheck:false,items:[{formItemType:"header",align:"center",name:"header",defaultValue:"Observe / Time methods on objects"},{formItemType:"text",name:"watchObject",title:"Object",defaultDynamicValue:"getLogCookieValue('watchObject')",keyPress:"if (keyName == 'Enter') executeTraceMethod(item.getValue(), form.getValue('watchMethod'))"},{formItemType:"text",name:"watchMethod",title:"Method",defaultDynamicValue:"getLogCookieValue('watchMethod')",keyPress:"if (keyName == 'Enter') executeTraceMethod(form.getValue('watchObject'), item.getValue())"},{formItemType:"toolbar",startRow:false,buttons:[{name:"traceButton",title:"Trace Method",click:"executeTraceMethod(form.getValue('watchObject'), form.getValue('watchMethod'))"},{name:"timeButton",title:"Time Method",click:"executeTimeMethod(form.getValue('watchObject'), form.getValue('watchMethod'))"}]}]});isc.DynamicForm.create({ID:"watchFlags",autoDraw:false,autoFocus:false,width:200,numCols:4,items:[{formItemType:"blurb",defaultValue:"Show:",showTitle:false,startRow:true,endRow:false,colSpan:1},{formItemType:"checkbox",name:"showHidden",title:"hidden",change:function(){Timer.setTimeout('saveState();refreshWatchList();',10)},changeOnBlur:true,defaultDynamicValue:"getLogCookieValue('showHidden')",startRow:false,endRow:false,colSpan:1,showTitle:false},{formItemType:"checkbox",name:"showUndrawn",title:"undrawn",change:function(){Timer.setTimeout('saveState();refreshWatchList();',10)},changeOnBlur:true,defaultDynamicValue:"getLogCookieValue('showUndrawn')",startRow:false,endRow:false,colSpan:1,showTitle:false},{formItemType:"checkbox",name:"showGenerated",title:"generated",change:function(){Timer.setTimeout('saveState();refreshWatchList();',10)},changeOnBlur:true,defaultDynamicValue:"getLogCookieValue('showGenerated')",startRow:false,endRow:false,colSpan:1,showTitle:false}]});isc.DynamicForm.create({ID:"watchFind",autoDraw:false,autoFocus:false,browserSpellCheck:false,width:400,numCols:3,colWidths:[104,"*"],fields:[{name:"search",titleAlign:"left",title:"Find component",titleHoverHTML:function(){return"Type a partial component ID here to find it in the list below."},changed:"form.findComponent()"},{name:"nextMatch",type:"button",title:"Next match",startRow:false,disabled:true,click:"form.findComponent()",enableIf:"return false",width:80}],findComponent:function(){var _1=this.getValue("search");if(_1==null||_1==""){this.getField("nextMatch").disable();return}_1=_1.toLowerCase();this.getField("nextMatch").setDisabled(false);var _2=this.$49c==_1&&this.$49d;this.$49c=_1;var _3=canvasList.data.getDescendants();var _4=canvasList.getSelectedRecord();var _5=_4?_3.indexOf(_4):0;if(_2)_5++;var _6=this.findNext(_3,_5,_1);if(!_6)_6=this.findNext(_3,0,_1);if(_6){this.$49d=_6;canvasList.deselectAllRecords();canvasList.data.openFolders(canvasList.data.getParents(_6));canvasList.selectRecord(_6);canvasList.scrollRecordIntoView(canvasList.getRecordIndex(_6))}},findNext:function(_3,_5,_1){for(var i=_5;i<_3.length;i++){var _8=_3[i];if(_8.id.toLowerCase().contains(_1)){return _8}}}});isc.TreeGrid.create({ID:"canvasList",autoDraw:false,selectionType:"single",fields:[{name:"id",title:"ID"},{name:"theClass",title:"Class",width:100},{name:"drawn",title:"Drawn",width:45,showIf:"getLogCookieValue('showUndrawn')",valueMap:{"true":"Yes","false":"No"}},{name:"visible",title:"Visible",width:45,showIf:"getLogCookieValue('showHidden')",valueMap:{"true":"Yes","false":"No"}},{name:"position",title:"Position",width:70},{name:"size",title:"Specified Size",showIf:"false",width:110},{name:"drawnSize",title:"Drawn Size",width:110},{name:"zIndex",title:"Z-Index",showIf:"false;",width:60}],data:getCanvasList(),showContextMenu:function(){if(getWidget(this)==null){this.logWarn("no selection, not showing context menu");return}return this.Super("showContextMenu",arguments)},contextMenu:Menu.create({autoDraw:false,getClassName:function(_15){return _15.getSelectedRecord().theClass},getClassRef:function(_15){var _9=this.getClassName(_15);if(_9&&isc.jsdoc){if(isc.jsdoc.getDocItem("class:"+_9))return"class:"+_9;return null}return-1},getDocMenuTitle:function(_15){var _9=this.getClassName(_15);var _10=this.getClassRef(_15);if(isc.isA.String(_10))return"Show doc for class "+_9;else if(_10==-1)return"To see docs link, click on 'Reference Docs' tab";return"No doc available for class "+_9},handleShowDoc:function(_15){var _10=this.getClassRef(_15);mainTabset.selectTab("refDocs");isc.Timer.setTimeout("isc.DocViewer.instance.showTopic('"+_10+"')",0)},showSubmenu:function(_15){if(_15.submenu==prioritiesMenu){prioritiesMenu.setPriorityComponent(getWidget(this.target))}return this.Super("showSubmenu",arguments)},data:[{dynamicTitle:"this.getDocMenuTitle(target)",enableIf:"isc.isA.String(this.getClassRef(target))",click:"menu.handleShowDoc(target)"},{title:"Component Log Settings",submenu:prioritiesMenu},{title:"Inspect DOM",enableIf:"isc.isA.Canvas(getWidget(target)) && getWidget(target).isDrawn()",click:"inspectDOM(getWidget(target))"},{dynamicTitle:"(getWidget(target).isVisible() && getWidget(target).isDrawn()) ? 'Hide' : 'Show'",click:function(_15){var _11=getWidget(_15);(_11.isVisible()&&_11.isDrawn())?_11.hide():_11.show();refreshWatchList()}},{title:"Bring To Front",click:"getWidget(target).bringToFront()"},{title:"Destroy",click:"getWidget(target).destroy();refreshWatchList()"}]}),selectionChanged:function(_14){if(!this.anySelected())return;if(!validOpener())return;var _12=_14.id,_13=targetWindow[_12];watchForm.setValue("watchObject",_12);targetWindow.isc.Timer.setTimeout("isc.Log.hiliteCanvas('"+_12+"');",0)}});isc.IButton.create({ID:"refreshButton",autoDraw:false,title:"Refresh",click:"refreshWatchList()"});isc.IButton.create({ID:"inspectButton",autoDraw:false,title:"Inspect",click:function(){var _14=canvasList.getSelectedRecord(),_13=(_14?targetWindow[_14.id]:null);inspectDOM(_13)}});isc.VLayout.create({ID:"watchPaneLayout",autoDraw:false,members:[watchForm,watchFlags,watchFind,canvasList,isc.HLayout.create({autoDraw:false,height:20,members:[refreshButton,inspectButton]})]});mainTabset.updateTab("watchTab",watchPaneLayout)}function initDocsPane(){if(window.docViewer)return;isc.showPrompt("Loading Documentation modules");if(!isc.module_Analytics&&isc.hasOptionalModule("Analytics")){isc.FileLoader.loadModules("Analytics","docModulesLoaded()")}if(!isc.module_RealtimeMessaging&&isc.hasOptionalModule("RealtimeMessaging")){isc.FileLoader.loadModules("RealtimeMessaging","docModulesLoaded()")}if(!isc.module_RichTextEditor&&isc.hasOptionalModule("RichTextEditor")){isc.FileLoader.loadModules("RichTextEditor","docModulesLoaded()")}if(!isc.SyntaxHiliter){isc.FileLoader.loadModules("SyntaxHiliter","docModulesLoaded()")}if(!isc.module_PluginBridges&&isc.hasOptionalModule("PluginBridges")){isc.FileLoader.loadModules("PluginBridges","docModulesLoaded()")}isc.FileLoader.loadModules(["ExampleViewer","DocViewer"],"docModulesLoaded()");isc.FileLoader.loadFiles(["../reference/docViewerStyles.css","../reference/skin/shell_styles.css","../reference/sourceColorizer.css","../reference/docTree.js","../reference/exampleTree.js"],"docModulesLoaded()");if(isc.Browser.isSafari){isc.FileLoader.loadFile("../reference/referenceDocs.js","safariDocsLoaded()")}else{isc.xml.loadXML("../reference/referenceDocs.xml","docsLoaded(xmlDoc, rpcResponse)",{willHandleError:true})}}function docModulesLoaded(){if(isc.DocViewer&&window.docTree&&window.exampleTree){window.$49e=true;if(window.docItems)initDocViewer()}}function safariDocsLoaded(){if(window.$49e)initDocViewer()}function docsLoaded(_1,_2){if(_2.status==0)window.docItems=_1;if(window.$49e)initDocViewer()}function initDocViewer(){isc.jsdoc.init(window.docItems);var _1=isc.VLayout.create({autoDraw:false,backgroundColor:"#606060",members:[isc.LayoutSpacer.create({height:5,autoDraw:false}),isc.DocViewer.create({ID:"docViewer",autoDraw:false,docRoot:"../../../docs/"})]});mainTabset.updateTab("refDocs",_1);isc.clearPrompt()}function initDatabasesPane(){if(window.dbConsole)return;isc.showPrompt("Loading DBConsole modules");isc.FileLoader.loadModules("DBConsole","dbModulesLoaded()")}function dbModulesLoaded(){isc.clearPrompt();if(isc.DBConsole){isc.DBConsole.create({ID:"dbConsole",autoDraw:false});mainTabset.updateTab("databases",dbConsole)}}function initXMLToolsPane(){if(window.xmlView)return;isc.TransformBuilder.create({ID:"xmlView",autoDraw:false});mainTabset.updateTab("xmlTools",xmlView)}function initRPCPane(){if(!targetWindow.isc.RPCManager){isc.say("RPCManager not available in observed window - can't track RPCs");return}if(window.rpcConfig)return;isc.defineClass("RPCTracker").addClassProperties({data:isc.Tree.create({openProperty:"isOpen",nameProperty:"transactionNum"}),dataChanged:function(){var _1=targetWindow.isc.RPCManager.getTransactions().getLastChanged();if(!_1)return;this.updateStatus(_1)},clearAll:function(){var _2=this.data.getChildren(this.data.root);if(_2)this.data.removeList(_2);if(window.requestViewer)requestViewer.setData(null);if(window.responseViewer)responseViewer.setData(null)},observeTransactions:function(_15){var _3=targetWindow.isc.RPCManager;var _4=_3.getTransactions();this.clearAll();if(_15){targetWindow.isc.Log.logViewer.observe(_4,"dataChanged","observer.updateRPC()");for(var i=0;i<_4.length;i++){this.updateStatus(_4[i])}}else{targetWindow.isc.Log.logViewer.ignore(_4,"dataChanged");targetWindow.isc.RPCManager.removeClearedRPC()}},bindToTargetWindow:function(){this.observeTransactions(this.shouldObserveTransactions())},shouldObserveTransactions:function(){var _6=targetWindow.isc.LogViewer.getGlobalLogCookie();return _6?_6.trackRPC:false},updateStatus:function(_1){var _7=this.data.find("/"+_1.transactionNum);if(_7)this.data.remove(_7,true);_7={transactionNum:_1.transactionNum,url:_1.URL,type:"Queue"};var _8=[];for(var i=0;i<_1.operations.length;i++){var _9=_1.operations[i];var _10=_1.responses[i];_8[i]=this.rpcToRecord(_1,_9,_10)}if(_8.length==1){_7=_8[0]}else if(_8.length>1){isc.addProperties(_7,{isFolder:true,children:_8,isOpen:true})}this.data.add(_7,this.data.root)},rpcToRecord:function(_1,_9,_10){var _11="RPCRequest";if(_9.data&&_9.data.appID&&_9.data.operation)_11="DSRequest";else if(_9.data&&_9.data.is_ISC_RPC_DMI)_11="RPC DMI";var _12={transactionNum:_1.transactionNum,url:_1.mergedActionURL?_1.mergedActionURL:_9.actionURL,type:_11,transport:_9.transport,httpMethod:_9.httpMethod,timeSent:new Date(_1.sendTime),proxied:_9.isProxied,timeout:_1.timeout,rpcRequest:_9,transaction:_1,xhrData:_1.xhrData,xhrHeaders:_1.xhrHeaders};if(_10){isc.addProperties(_12,{status:_10.status,httpCode:_10.httpResponseCode,responseReceived:new Date(_1.receiveTime),rpcResponse:_10})}return _12}});isc.RPCTracker.bindToTargetWindow();isc.Page.observe(mainTabset,"targetWindowChanged","isc.RPCTracker.bindToTargetWindow()");isc.DynamicForm.create({ID:"rpcConfig",autoDraw:false,autoFocus:false,width:100,numCols:4,colWidths:[1,1,1,1],fields:[{name:"trackRPC",title:"Track RPCs",type:"boolean",colSpan:1,startRow:false,endRow:false,showTitle:false,defaultValue:isc.RPCTracker.shouldObserveTransactions(),changed:function(_15,_16,_17){targetWindow.isc.RPCManager.setTrackRPC(_17);isc.RPCTracker.observeTransactions(_17);saveState()}},{name:"autoScroll",title:"Auto-Scroll",type:"boolean",colSpan:1,startRow:false,endRow:false,showTitle:false,defaultValue:true},{name:"showFilter",title:"Show Filter",type:"boolean",colSpan:1,startRow:false,endRow:false,showTitle:false,defaultValue:false,changed:function(_15,_16,_17){if(rpcHistory)rpcHistory.setShowFilterEditor(_17)}}]});isc.DataSource.create({ID:"RPCDS",clientOnly:true,fields:[{name:"transactionNum",title:"#"},{name:"url",title:"URL",showHover:true},{name:"type",title:"Type",valueMap:["RPCRequest","DSRequest","RPC DMI"]},{name:"transport",title:"Transport",valueMap:["xmlHttpRequest","hiddenFrame","scriptInclude"]},{name:"httpMethod",title:"HTTP Method",formatCellValue:function(_15,_12){if(_12.type=="Queue")return null;return _15?_15:"POST"}},{name:"status",title:"Status",valueMap:{"0":"SUCCESS","-1":"FAILURE","-4":"VALIDATION_ERROR","-5":"LOGIN_INCORRECT","-6":"MAX_LOGIN_ATTEMPTS_EXCEEDED","-7":"LOGIN_REQUIRED","-90":"TRANSPORT_ERROR","-100":"SERVER_TIMEOUT"}},{name:"httpCode",title:"HTTP Status"},{name:"timeSent",title:"Time Sent",formatCellValue:function(_15,_12){return _15?isc.Log.getLogTimestamp(_15):null}},{name:"responseReceived",title:"Response Received",formatCellValue:function(_15,_12){return _15?isc.Log.getLogTimestamp(_15):null}},{name:"elapsedTime",title:"Elapsed Time",formatCellValue:function(_15,_12){return _12.responseReceived?(_12.responseReceived-_12.timeSent)+"ms":null}},{name:"timeout",title:"Timeout",formatCellValue:function(_15,_12){if(_15==null)return null;if(_15==0)return"no timeout";return _15+"ms"}},{name:"proxied",title:"Proxied",formatCellValue:function(_15,_12){return _15?"yes":"no"}}]});isc.TreeGrid.create({ID:"rpcHistory",autoDraw:false,selectionStyle:"single",skinImgDir:"../../system/reference/skin/images/",nodeIcon:"[SKIN]server_client_exchange.png",folderIcon:"[SKIN]server_network.png",showDropIcons:false,showOpenIcons:false,data:isc.RPCTracker.data,dataSource:"RPCDS",useAllDataSourceFields:true,canHover:true,cellHoverHTML:function(_12){rpcDetail.setData(_12);return rpcDetail.getInnerHTML()},fields:[{name:"transactionNum",width:75},{name:"url",showHover:true,width:"*"},{name:"type",width:100},{name:"transport",width:100,showIf:"false"},{name:"httpMethod",width:100,title:"HTTP Method",showIf:"false"},{name:"status",title:"Status",showHover:true,width:100},{name:"httpCode",width:100,align:"right",showIf:"false"},{name:"timeSent",align:"right",width:100},{name:"responseReceived",align:"right",showIf:"false"},{name:"elapsedTime",align:"right",width:80},{name:"timeout",width:100,align:"right",showIf:"false"},{name:"proxied",width:50,align:"right"}],recordClick:function(_15,_12){if(_12.type=="Queue"){rpcViewer.collapseSection(["request","response"]);_12=null}else{rpcViewer.expandSection(["request","response"])}requestViewer.setData(_12);responseViewer.setData(_12)},dataChanged:function(){this.Super("dataChanged",arguments);if(rpcConfig.getValue("autoScroll"))this.delayCall("scrollToBottom",[],0)},scrollToBottom:function(){this.body.scrollToBottom()}});isc.DetailViewer.create({ID:"rpcDetail",autoDraw:false,dataSource:"RPCDS"});isc.DynamicForm.create({ID:"rawRequestViewer",autoDraw:false,browserSpellCheck:false,overflow:"hidden",autoFocus:false,fields:[{name:"raw",showTitle:false,height:"*",width:"*",colSpan:"*",formItemType:"textArea"}]});isc.DynamicForm.create({ID:"decodedRequestViewer",autoDraw:false,browserSpellCheck:false,overflow:"hidden",autoFocus:false,fields:[{name:"decoded",showTitle:false,height:"*",width:"*",colSpan:"*",formItemType:"textArea"}]});isc.TabSet.create({ID:"requestViewer",autoDraw:false,tabs:[{title:"Decoded",ID:"decodedRequestTab",pane:decodedRequestViewer},{title:"Raw",ID:"rawRequestTab",pane:rawRequestViewer}],setData:function(_12){if(_12==null){rawRequestViewer.setValue("raw",null);decodedRequestViewer.setValue("decoded",null);return}var _9=_12.rpcRequest;if(_9.transport=="xmlHttpRequest"){rawRequestViewer.setValue("raw",_12.xhrData);var _13=["actionURL","showPrompt","prompt","transport","useSimpleHttp","promptStyle","timeout","params","httpMethod","contentType","httpHeaders","ignoreTimeout","sendNoQueue","paramsOnly","bypassCache","isProxied"];if(_12.type=="RPCRequest")_13.addList(["callback","willHandleError","evalResult","evalVars","serverOutputAsString","containsCredentials","clientContext"]);_13.add("data");var _14=isc.applyMask(_12.rpcRequest,_13);decodedRequestViewer.setValue("decoded",isc.Comm.serialize(_14,true))}}});isc.DynamicForm.create({ID:"rawResponseViewer",autoDraw:false,browserSpellCheck:false,overflow:"hidden",autoFocus:false,fields:[{name:"raw",showTitle:false,height:"*",width:"*",colSpan:"*",formItemType:"textArea"}]});isc.TabSet.create({ID:"responseViewer",autoDraw:false,tabs:[{title:"Raw",ID:"rawResponseTab",pane:rawResponseViewer}],setData:function(_12){if(_12==null){rawResponseViewer.setValue("raw",null);rawResponseViewer.setValue("raw",null);return}var _9=_12.rpcRequest;var _10=_12.rpcResponse;if(_9.transport=="xmlHttpRequest"){rawResponseViewer.setValue("raw",isc.RPCManager.$455(_10.xmlHttpRequest.responseText))}else if(_9.transport=="hiddenFrame"){rawResponseViewer.setValue("raw",isc.Comm.serialize(_12.transaction.results,true))}}});isc.SectionStack.create({ID:"rpcViewer",autoDraw:false,visibilityMode:"multiple",sections:[{showHeader:false,items:[rpcConfig]},{title:"RPC History",expanded:true,items:[rpcHistory]},{title:"Request",ID:"request",items:[requestViewer]},{title:"Response",ID:"response",items:[responseViewer]}]});mainTabset.updateTab("rpc",rpcViewer)}function initWSDLPane(){if(window.schemaViewer)return;isc.SchemaViewer.create({ID:"schemaViewer",showTestUI:true,autoDraw:false});mainTabset.updateTab("wsdl",schemaViewer)}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -