| 1 |
- MWF.xApplication.process.ProcessDesigner.widget=MWF.xApplication.process.ProcessDesigner.widget||{};MWF.xApplication.process.ProcessDesigner.widget.ConditionEditor=new Class({Implements:[Options,Events],Extends:MWF.widget.Common,options:{style:"default",count:0,height:500,width:500,top:-1,left:-1},initialize:function(t,e){this.setOptions(e);this.node=$(t);this.path="/x_component_process_ProcessDesigner/widget/$ConditionEditor/";this.cssPath="/x_component_process_ProcessDesigner/widget/$ConditionEditor/"+this.options.style+"/css.wcss";this._loadCss();this.loadConditionArea();this.loadConditionRouter();this.scripts={}},loadConditionArea:function(){this.table=new Element("table",{border:"0",cellspacing:"0",cellpadding:"0",styles:this.css.conditionTable}).inject(this.node)},setScriptItem:function(t){if(typeOf(t).toLowerCase()=="array"){t.each(function(t){this.scripts[t.id]=new MWF.process.widget.ScriptEditor.Script(this,t)}.bind(this))}else{this.scripts[t.id]=new MWF.process.widget.ScriptEditor.Script(this,t)}},createActionAreaNode:function(){this.actionAreaNode=new Element("div",{styles:this.css.actionAreaNode}).inject(this.node)},createContentAreaNode:function(){this.contentAreaNode=new Element("div",{styles:this.css.contentAreaNode}).inject(this.node)},loadAction:function(){this.addScriptActionNode=new Element("div",{styles:this.css.addScriptActionNode}).inject(this.actionAreaNode);this.addScriptActionNode.addEvent("click",function(){this.addNewScript()}.bind(this))},addNewScript:function(){if(!this.scriptEditNode){this.createNewScriptNode();this.openEditPanl()}},editScript:function(t){if(!this.scriptEditNode){this.createNewScriptNode(t.data);this.openEditPanl(t.data)}},deleteScript:function(t,e){layout.confirm("warn",e,MWF.LP.process.notice.deleteScriptTitle,MWF.LP.process.notice.deleteScript,300,120,function(){var e=t.data;if(this.scripts[e.id]){this.fireEvent("queryDelete",[t]);this.scripts[e.id]=null;delete this.scripts[e.id];t.destroy();this.fireEvent("postDelete");this.close()}}.bind(this),function(){this.close()},null)},openEditPanl:function(t){MWF.require("MWF.widget.Panel",function(){if(this.options.top==-1||this.options.left==-1){var e=MWF.getCenter({x:this.options.width,y:this.options.height});this.options.top=e.y;this.options.left=e.x}this.scriptPanel=new MWF.widget.Panel(this.scriptEditNode,{title:"script",isClose:true,height:this.options.height,width:this.options.width,left:this.options.left,top:this.options.top,onResize:function(){this.setPanelSize(this.panelModulePercent);this.options.width=this.scriptPanel.options.width;this.options.height=this.scriptPanel.options.height}.bind(this),onCompleteMove:function(){this.options.left=this.scriptPanel.options.left;this.options.top=this.scriptPanel.options.top}.bind(this),onPostClose:function(){this.scriptPanel=null;this.scriptEditNode=null}.bind(this)});this.scriptPanel.load();this.setPanelSize();var i=t?t.html:"";this.scriptEditor.load(i)}.bind(this))},setPanelSize:function(){var t=this.scriptPanel.content.getSize();var e=this.scriptPanel.content.getStyle("padding-top").toFloat();var i=this.scriptPanel.content.getStyle("padding-bottom").toFloat();var s=this.scriptPanel.content.getStyle("border-top").toFloat();var o=this.scriptPanel.content.getStyle("border-bottom").toFloat();var n=this.scriptEditNode.getFirst();var r=this.scriptEditNode.getLast();var d=n.getSize();var c=n.getStyle("margin-top").toFloat();var a=n.getStyle("margin-bottom").toFloat();var p=n.getStyle("border-top").toFloat();var l=n.getStyle("border-bottom").toFloat();var h=r.getStyle("margin-top").toFloat();var S=r.getStyle("margin-bottom").toFloat();var v=r.getStyle("padding-top").toFloat();var w=r.getStyle("padding-bottom").toFloat();var N=r.getStyle("border-top-width").toFloat();var u=r.getStyle("border-bottom-width").toFloat();var g=t.y-2-e-i-d.y-c-a-h-S-v-w;g=g-s-o-p-l-N-u;r.setStyle("height",g);r.getPrevious().setStyle("height",g)},createNewScriptNode:function(t){this.scriptEditNode=new Element("div",{styles:this.css.scriptEditNode});this.setCreateNewScriptBaseNode(t);this.setCreateNewScriptCodeHelpNode();this.setCreateNewScriptCodeNode()},setCreateNewScriptBaseNode:function(t){var e=new Element("div",{styles:this.css.newScriptBaseNode}).inject(this.scriptEditNode);var i=t?t.name:"";var s=t?t.description:"";if(t)this.scriptEditNode.store("scriptId",t.id);var o='<table width="100%" border="0" cellpadding="5" cellspacing="0">';o+='<tr><td style="width: 30px; font-size:12px;">'+MWF.LP.name+'</td><td><input id="inputScriptName" value="'+i+'" type="text" style="width:98%; border: 1px solid #DDD"/></td></tr>';o+='<tr><td style="width: 30px; font-size:12px;">'+MWF.LP.description+'</td><td><input id="inputScriptDescription" value="'+s+'" type="text" style="width:98%; border: 1px solid #DDD"/></td></tr>';o+="</table>";e.set("html",o)},setCreateNewScriptCodeNode:function(){var t=new Element("div",{styles:this.css.newScriptCodeNode}).inject(this.scriptEditNode);MWF.require("MWF.widget.ScriptEditor",null,false);this.scriptEditor=new MWF.widget.ScriptEditor(t,{style:"process"})},setCreateNewScriptCodeHelpNode:function(){var t=new Element("div",{styles:this.css.newScriptCodeToolbarNode}).inject(this.scriptEditNode);var e=new Element("div",{styles:this.css.saveScriptNode,events:{click:this.saveScript.bind(this)}}).inject(t);var i=new Element("div",{styles:this.css.helpScriptNode}).inject(t);var s=new Element("div",{styles:this.css.insertScriptNode}).inject(t);var o=new Element("div",{styles:this.css.checkScriptNode}).inject(t)},saveScript:function(t){if(this.scriptEditNode){var e=$("inputScriptName").get("value");if(!e){layout.notice("notice",{x:"right",y:"top"},MWF.LP.process.notice.inputScriptName,this.scriptPanel.content);$("inputScriptName").focus();return false}this.fireEvent("querySave");var i=this.scriptEditNode.retrieve("scriptId");if(!i){MWF.require("MWF.widget.UUID",function(){i=(new MWF.widget.UUID).toString()},false)}var s={id:i,name:e,description:$("inputScriptDescription").get("value"),code:this.scriptEditor.toCode(),html:this.scriptEditor.toHTML()};if(!this.scripts[i]){this.scripts[i]=new MWF.process.widget.ScriptEditor.Script(this,s)}else{this.scripts[i].setData(s)}this.fireEvent("postSave",[this.scripts[i]])}this.scriptPanel.closePanel()}});MWF.process.widget.ScriptEditor.Script=new Class({initialize:function(t,e){this.editor=t;this.data=e;this.createArea()},setData:function(t){this.data.name=t.name;this.data.description=t.description;this.data.code=t.code;this.data.html=t.html;this.summaryNode.set("text",this.data.name)},createArea:function(){this.node=new Element("div",{styles:this.editor.css.scriptItemNode}).inject(this.editor.contentAreaNode);this.actionNode=new Element("div",{styles:this.editor.css.scriptItemActionNode}).inject(this.node);this.summaryNode=new Element("div",{styles:this.editor.css.scriptItemSummaryNode,text:this.data.name}).inject(this.node);this.editNode=new Element("div",{styles:this.editor.css.scriptItemEditActionNode,events:{click:this.editScript.bind(this)}}).inject(this.actionNode);this.deleteNode=new Element("div",{styles:this.editor.css.scriptItemDeleteActionNode,events:{click:this.deleteScript.bind(this)}}).inject(this.actionNode)},editScript:function(){this.editor.editScript(this)},deleteScript:function(t){this.editor.deleteScript(this,t)},destroy:function(){this.node.destroy();this.data=null}});
|