| 1 |
- MWF.SRVID=MWF.xApplication.service.InvokeDesigner=MWF.xApplication.service.InvokeDesigner||{};MWF.SRVID.options={multitask:true,executable:false};MWF.xDesktop.requireApp("service.InvokeDesigner","Invoke",null,false);MWF.require("MWF.xDesktop.UserData",null,false);MWF.xApplication.service.InvokeDesigner.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"service.InvokeDesigner",icon:"icon.png",title:MWF.SRVID.LP.title,appTitle:MWF.SRVID.LP.title,id:"",actions:null,category:null,serviceData:null},onQueryLoad:function(){if(this.status){this.options.id=this.status.id}if(!this.options.id){this.options.desktopReload=false;this.options.title=this.options.title+"-"+MWF.SRVID.LP.newInvoke}this.actions=MWF.Actions.get("x_program_center");this.lp=MWF.xApplication.service.InvokeDesigner.LP;this.addEvent("queryClose",function(t){if(this.explorer){this.explorer.reload()}}.bind(this))},loadApplication:function(t){this.createNode();if(!this.options.isRefresh){this.maxSize(function(){this.openInvoke()}.bind(this))}else{this.openInvoke()}if(t)t()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},openInvoke:function(){this.loadNodes();this.loadInvokeListNodes();this.loadContentNode(function(){this.loadProperty();this.resizeNode();this.addEvent("resize",this.resizeNode.bind(this));this.loadInvoke();if(this.toolbarContentNode){this.setScrollBar(this.toolbarContentNode,null,{V:{x:0,y:0},H:{x:0,y:0}});this.setScrollBar(this.propertyDomArea,null,{V:{x:0,y:0},H:{x:0,y:0}})}}.bind(this))},loadNodes:function(){this.invokeListNode=new Element("div",{styles:this.css.invokeListNode}).inject(this.node);this.propertyNode=new Element("div",{styles:this.css.propertyNode}).inject(this.node);this.contentNode=new Element("div",{styles:this.css.contentNode}).inject(this.node)},loadInvokeListNodes:function(){this.invokeListTitleNode=new Element("div",{styles:this.css.invokeListTitleNode,text:MWF.SRVID.LP.invokeLibrary}).inject(this.invokeListNode);this.invokeListResizeNode=new Element("div",{styles:this.css.invokeListResizeNode}).inject(this.invokeListNode);this.invokeListAreaSccrollNode=new Element("div",{styles:this.css.invokeListAreaSccrollNode}).inject(this.invokeListNode);this.invokeListAreaNode=new Element("div",{styles:this.css.invokeListAreaNode}).inject(this.invokeListAreaSccrollNode);this.loadInvokeListResize();this.loadInvokeList()},loadInvokeListResize:function(){this.invokeListResize=new Drag(this.invokeListResizeNode,{snap:1,onStart:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=Browser.name=="firefox"?e.event.clientY:e.event.y;t.store("position",{x:i,y:o});var n=this.invokeListAreaSccrollNode.getSize();t.store("initialWidth",n.x)}.bind(this),onDrag:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=this.content.getSize();var n=t.retrieve("position");var s=t.retrieve("initialWidth").toFloat();var r=i.toFloat()-n.x.toFloat();var a=s+r;if(a>o.x/2)a=o.x/2;if(a<40)a=40;this.contentNode.setStyle("margin-left",a+1);this.invokeListNode.setStyle("width",a)}.bind(this)})},loadInvokeList:function(){this.actions.listInvoke(function(t){t.data.each(function(t){this.createListInvokeItem(t)}.bind(this))}.bind(this),null,false)},createListInvokeItem:function(t,e){var i=this;var o=new Element("div",{styles:this.css.listInvokeItem}).inject(this.invokeListAreaNode,e?"top":"bottom");var n=new Element("div",{styles:this.css.listInvokeItemIcon}).inject(o);var s=new Element("div",{styles:this.css.listInvokeItemText,text:t.name?t.name+" ("+t.alias+")":this.lp.newInvoke}).inject(o);o.store("invoke",t);o.addEvents({dblclick:function(t){i.loadInvokeByData(this,t)},mouseover:function(){if(i.currentListInvokeItem!=this)this.setStyles(i.css.listInvokeItem_over)},mouseout:function(){if(i.currentListInvokeItem!=this)this.setStyles(i.css.listInvokeItem)}});this.listInvokeItemMove(o)},createInvokeListCopy:function(t){var e=t.clone().inject(this.node);e.position({relativeTo:t,position:"upperLeft",edge:"upperLeft"});var i=e.getSize();e.setStyles({width:""+i.x+"px",height:""+i.y+"px","z-index":50001});return e},listDrinvokeer:function(t,e){var i=e.retrieve("markNode");if(!i){var o=e.getSize();i=new Element("div",{styles:this.css.dragListItemMark}).inject(this.node);i.setStyles({width:""+o.x+"px",height:""+o.y+"px",position:"absolute","background-color":"#666","z-index":5e4,opacity:.3});i.position({relativeTo:e,position:"upperLeft",edge:"upperLeft"});var n=i.getStyle("top").toFloat()-1;var s=i.getStyle("left").toFloat()-2;i.setStyles({left:""+s+"px",top:""+n+"px"});e.store("markNode",i)}},listDragLeave:function(t,e){var i=e.retrieve("markNode");if(i)i.destroy();e.eliminate("markNode")},listInvokeItemMove:function(s){var t=s.getFirst();t.addEvent("mousedown",function(t){var e=s.retrieve("invoke");if(e.id!=this.invokeTab.showPage.invoke.data.id){var i=this.createInvokeListCopy(s);var o=[this.designNode,this.propertyDomArea];var n=new Drag.Move(i,{droppables:o,onEnter:function(t,e){this.listDrinvokeer(t,e)}.bind(this),onLeave:function(t,e){this.listDragLeave(t,e)}.bind(this),onDrag:function(t){}.bind(this),onDrop:function(t,e){if(e){this.listDragLeave(t,e);i.destroy()}else{i.destroy()}}.bind(this),onCancel:function(t){i.destroy()}.bind(this)});n.start(t)}}.bind(this))},addIncludeInvoke:function(t){var e=this.invokeTab.showPage.invoke;if(e.data.dependInvokeList.indexOf(t.name)==-1){e.data.dependInvokeList.push(t.name);this.addIncludeToList(t.name)}},addIncludeToList:function(t){this.actions.getInvokeByName(t,function(t){var e=t.data;var i=new Element("div",{styles:this.css.includeInvokeItem}).inject(this.propertyIncludeListArea);var o=new Element("div",{styles:this.css.includeInvokeItemAction}).inject(i);var n=new Element("div",{styles:this.css.includeInvokeItemText}).inject(i);n.set("text",e.name+" ("+e.alias+")");i.store("invoke",e);var s=this;o.addEvent("click",function(){var t=this.getParent();var e=t.retrieve("invoke");if(e){s.invokeTab.showPage.invoke.data.dependInvokeList.erase(e.name)}t.destroy()})}.bind(this),function(){this.invokeTab.showPage.invoke.data.dependInvokeList.erase(t)}.bind(this))},loadInvokeByData:function(t,e){var i=t.retrieve("invoke");var o=true;for(var n=0;n<this.invokeTab.pages.length;n++){if(i.id==this.invokeTab.pages[n].invoke.data.id){this.invokeTab.pages[n].showTabIm();o=false;break}}if(o){this.loadInvokeData(i.id,function(t){var e=new MWF.xApplication.service.InvokeDesigner.Invoke(this,t);e.load()}.bind(this),true)}},loadContentNode:function(t,e){this.contentToolbarNode=new Element("div#contentToolbarNode",{styles:this.css.contentToolbarNode}).inject(this.contentNode);this.loadContentToolbar(t);this.editContentNode=new Element("div",{styles:this.css.editContentNode}).inject(this.contentNode);this.loadEditContent(function(){if(this.designNode)this.designNode.setStyles(this.css.designNode);if(e)e()}.bind(this))},loadContentToolbar:function(i){this.getFormToolbarHTML(function(e){var t=e.getElements("span");t.each(function(t,e){var i=t.get("MWFButtonImage");if(i){t.set("MWFButtonImage",this.path+""+this.options.style+"/toolbar/"+i)}}.bind(this));$(e).inject(this.contentToolbarNode);MWF.require("MWF.widget.Toolbar",function(){this.toolbar=new MWF.widget.Toolbar(e,{style:"ProcessCategory"},this);this.toolbar.load();var t=this;this.styleSelectNode=e.getElement("select");this.styleSelectNode.addEvent("change",function(){t.changeEditorStyle(this)});if(i)i()}.bind(this))}.bind(this))},changeEditorStyle:function(t){var e=t.selectedIndex;var i=t.options[e].value;this.invokeTab.pages.each(function(t){var e=t.invoke.editor.editor;if(e)e.setTheme("ace/theme/"+i)}.bind(this));if(!MWF.editorData){MWF.editorData={javascriptEditor:{theme:"tomorrow"}}}MWF.editorData.javascriptEditor.theme=i;MWF.UD.putData("editor",MWF.editorData)},getFormToolbarHTML:function(s){var t=this.path+this.options.style+"/toolbars.html";var e=new Request.HTML({url:t,method:"get",onSuccess:function(t,e,i,o){var n=t[0];if(s)s(n)}.bind(this),onFailure:function(t){this.notice("request processToolbars error: "+t.responseText,"error")}.bind(this)});e.send()},maxOrReturnEditor:function(){if(!this.isMax){this.designNode.inject(this.node);this.designNode.setStyles({position:"absolute",width:"100%",height:"100%",top:"0px",margin:"0px",left:"0px"});this.invokeTab.pages.each(function(t){t.invoke.setAreaNodeSize()});this.isMax=true}else{this.isMax=false;this.designNode.inject(this.editContentNode);this.designNode.setStyles(this.css.designNode);this.designNode.setStyles({position:"static"});this.resizeNode();this.invokeTab.pages.each(function(t){t.invoke.setAreaNodeSize()})}},loadEditContent:function(t){this.designNode=new Element("div",{styles:this.css.designNode}).inject(this.editContentNode);MWF.require("MWF.widget.Tab",function(){this.invokeTab=new MWF.widget.Tab(this.designNode,{style:"script"});this.invokeTab.load()}.bind(this),false)},loadProperty:function(){this.propertyTitleNode=new Element("div",{styles:this.css.propertyTitleNode,text:MWF.SRVID.LP.property}).inject(this.propertyNode);this.propertyResizeBar=new Element("div",{styles:this.css.propertyResizeBar}).inject(this.propertyNode);this.loadPropertyResize();this.propertyContentNode=new Element("div",{styles:this.css.propertyContentNode}).inject(this.propertyNode);this.propertyContentArea=new Element("div",{styles:this.css.propertyContentArea}).inject(this.propertyContentNode);this.setPropertyContent()},setIncludeNode:function(){this.includeTitleNode=new Element("div",{styles:this.css.includeTitleNode}).inject(this.propertyDomArea);this.includeTitleActionNode=new Element("div",{styles:this.css.includeTitleActionNode}).inject(this.includeTitleNode);this.includeTitleTextNode=new Element("div",{styles:this.css.includeTitleTextNode,text:this.lp.include}).inject(this.includeTitleNode);this.includeTitleActionNode.addEvent("click",function(){this.addInclude()}.bind(this));this.propertyIncludeListArea=new Element("div",{styles:{overflow:"hidden"}}).inject(this.propertyDomArea)},addInclude:function(){},setPropertyContent:function(){var t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.id+":"}).inject(this.propertyContentArea);this.propertyIdNode=new Element("div",{styles:this.css.propertyTextNode,text:""}).inject(this.propertyContentArea);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.name+":"}).inject(this.propertyContentArea);this.propertyNameNode=new Element("input",{styles:this.css.propertyInputNode,value:""}).inject(this.propertyContentArea);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.alias+":"}).inject(this.propertyContentArea);this.propertyAliasNode=new Element("input",{styles:this.css.propertyInputNode,value:""}).inject(this.propertyContentArea);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.remoteAddrRegex+":"}).inject(this.propertyContentArea);this.propertyRemoteAddrRegexNode=new Element("input",{styles:this.css.propertyInputNode,value:""}).inject(this.propertyContentArea);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.lastStartTime+":"}).inject(this.propertyContentArea);this.propertyLastStartTimeNode=new Element("div",{styles:this.css.propertyTextNode,value:""}).inject(this.propertyContentArea);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.lastEndTime+":"}).inject(this.propertyContentArea);this.propertyLastEndTimeNode=new Element("div",{styles:this.css.propertyTextNode,value:""}).inject(this.propertyContentArea);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.description+":"}).inject(this.propertyContentArea);this.propertyDescriptionNode=new Element("textarea",{styles:this.css.propertyInputAreaNode,value:""}).inject(this.propertyContentArea);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.isEnable+":"}).inject(this.propertyContentArea);this.propertyEnableNode=new Element("select",{styles:this.css.propertySelectNode}).inject(this.propertyContentArea);new Element("option",{value:"true",text:this.lp.true}).inject(this.propertyEnableNode);new Element("option",{value:"false",text:this.lp.false}).inject(this.propertyEnableNode);t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.invokeUri+":"}).inject(this.propertyContentArea);this.propertyInvokeUriNode=new Element("div",{styles:this.css.propertyTextNode,text:""}).inject(this.propertyContentArea);this.propertyInvokeUriNode.setStyles({"word-break":"break-all",height:"auto"});t=new Element("div",{styles:this.css.propertyItemTitleNode,text:this.lp.invokeMethod+":"}).inject(this.propertyContentArea);this.propertyInvokeMethodNode=new Element("div",{styles:this.css.propertyTextNode,text:"POST"}).inject(this.propertyContentArea)},loadPropertyResize:function(){this.propertyResize=new Drag(this.propertyResizeBar,{snap:1,onStart:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=Browser.name=="firefox"?e.event.clientY:e.event.y;t.store("position",{x:i,y:o});var n=this.propertyNode.getSize();t.store("initialWidth",n.x)}.bind(this),onDrag:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=this.content.getSize();var n=t.retrieve("position");var s=t.retrieve("initialWidth").toFloat();var r=n.x.toFloat()-i.toFloat();var a=s+r;if(a>o.x/2)a=o.x/2;if(a<40)a=40;this.contentNode.setStyle("margin-right",a+1);this.propertyNode.setStyle("width",a)}.bind(this)})},loadPropertyContentResize:function(){this.propertyContentResize=new Drag(this.propertyContentResizeNode,{snap:1,onStart:function(t,e){var i=Browser.name=="firefox"?e.event.clientX:e.event.x;var o=Browser.name=="firefox"?e.event.clientY:e.event.y;t.store("position",{x:i,y:o});var n=this.propertyDomArea.getSize();t.store("initialHeight",n.y)}.bind(this),onDrag:function(t,e){var i=this.propertyContentNode.getSize();var o=Browser.name=="firefox"?e.event.clientY:e.event.y;var n=t.retrieve("position");var s=o.toFloat()-n.y.toFloat();var r=t.retrieve("initialHeight").toFloat();var a=r+s;if(a<40)a=40;if(a>i.y-40)a=i.y-40;this.propertyDomPercent=a/i.y;this.setPropertyContentResize()}.bind(this)})},setPropertyContentResize:function(){var t=this.propertyContentNode.getSize();this.propertyContentArea.setStyle("height",""+t.y+"px")},resizeNode:function(){if(!this.isMax){var t=this.node.getSize();this.contentNode.setStyle("height",""+t.y+"px");this.propertyNode.setStyle("height",""+t.y+"px");var e=this.contentToolbarNode.getStyle("margin-top").toFloat();var i=this.contentToolbarNode.getStyle("margin-bottom").toFloat();var o=this.contentToolbarNode.getComputedSize();var n=t.y-o.totalHeight-e-i;this.editContentNode.setStyle("height",""+n+"px");if(this.designNode){var s=this.designNode.getStyle("margin-top").toFloat();var r=this.designNode.getStyle("margin-bottom").toFloat();n=t.y-o.totalHeight-e-i-s-r;this.designNode.setStyle("height",""+n+"px")}titleSize=this.propertyTitleNode.getSize();titleMarginTop=this.propertyTitleNode.getStyle("margin-top").toFloat();titleMarginBottom=this.propertyTitleNode.getStyle("margin-bottom").toFloat();titlePaddingTop=this.propertyTitleNode.getStyle("padding-top").toFloat();titlePaddingBottom=this.propertyTitleNode.getStyle("padding-bottom").toFloat();n=titleSize.y+titleMarginTop+titleMarginBottom+titlePaddingTop+titlePaddingBottom;n=t.y-n;this.propertyContentNode.setStyle("height",""+n+"px");this.propertyResizeBar.setStyle("height",""+n+"px");this.setPropertyContentResize();titleSize=this.invokeListTitleNode.getSize();titleMarginTop=this.invokeListTitleNode.getStyle("margin-top").toFloat();titleMarginBottom=this.invokeListTitleNode.getStyle("margin-bottom").toFloat();titlePaddingTop=this.invokeListTitleNode.getStyle("padding-top").toFloat();titlePaddingBottom=this.invokeListTitleNode.getStyle("padding-bottom").toFloat();nodeMarginTop=this.invokeListAreaSccrollNode.getStyle("margin-top").toFloat();nodeMarginBottom=this.invokeListAreaSccrollNode.getStyle("margin-bottom").toFloat();n=titleSize.y+titleMarginTop+titleMarginBottom+titlePaddingTop+titlePaddingBottom+nodeMarginTop+nodeMarginBottom;n=t.y-n;this.invokeListAreaSccrollNode.setStyle("height",""+n+"px");this.invokeListResizeNode.setStyle("height",""+n+"px")}},loadInvoke:function(){debugger;this.getInvokeData(this.options.id,function(t){this.invoke=new MWF.xApplication.service.InvokeDesigner.Invoke(this,t);this.invoke.load();if(this.status){if(this.status.openInvokes){this.status.openInvokes.each(function(t){this.loadInvokeData(t,function(t){var e=true;if(this.status.currentId){if(this.status.currentId!=t.id)e=false}var i=new MWF.xApplication.service.InvokeDesigner.Invoke(this,t,{showTab:e});i.load()}.bind(this),true)}.bind(this))}}if(!this.invokeHelpMenu){MWF.require("MWF.widget.ScriptHelp",function(){this.invokeHelpMenu=new MWF.widget.ScriptHelp($("MWFScriptAutoCode"),this.invoke.editor);this.invokeHelpMenu.getEditor=function(){if(this.invokeTab.showPage)return this.invokeTab.showPage.invoke.editor.editor;return null}.bind(this)}.bind(this))}}.bind(this))},getInvokeData:function(t,e){if(!t){this.loadNewInvokeData(e)}else{this.loadInvokeData(t,e)}},loadNewInvokeData:function(i){MWF.Actions.get("x_cms_assemble_control").getUUID(function(t){var e={name:"",id:t,alias:"",description:"",isNewInvoke:true,text:"",enable:true,remoteAddrRegex:"",lastStartTime:"",lastEndTime:""};this.createListInvokeItem(e,true);if(i)i(e)}.bind(this))},loadInvokeData:function(t,i,o){this.actions.getInvoke(t,function(t){if(t){var e=t.data;if(!o){this.setTitle(this.options.appTitle+"-"+e.name);this.taskitem.setText(this.options.appTitle+"-"+e.name);this.options.appTitle=this.options.appTitle+"-"+e.name}if(i)i(e)}}.bind(this))},saveInvoke:function(){if(this.invokeTab.showPage){var e=this.invokeTab.showPage.invoke;e.save(function(){if(e==this.invoke){var t=e.data.name;this.setTitle(MWF.SRVID.LP.title+"-"+t);this.options.desktopReload=true;this.options.id=e.data.id}}.bind(this))}},saveDictionaryAs:function(){this.dictionary.saveAs()},dictionaryExplode:function(){this.dictionary.explode()},dictionaryImplode:function(){this.dictionary.implode()},recordStatus:function(){if(this.invokeTab){var e=[];this.invokeTab.pages.each(function(t){if(t.invoke.data.id!=this.options.id)e.push(t.invoke.data.id)}.bind(this));var t=this.invokeTab.showPage.invoke.data.id;var i={id:this.options.id,openInvokes:e,currentId:t};return i}return{id:this.options.id}}});
|