| 1 |
- MWF.xDesktop.requireApp("process.ApplicationExplorer","",null,false);MWF.xApplication.process.ProcessManager.widget=MWF.xApplication.process.ProcessManager.widget||{};MWF.xApplication.process.ProcessManager.widget.ApplicationSelector=new Class({Implements:[Options,Events],Extends:MWF.widget.Common,options:{style:"default",multi:true,maskNode:$(document.body)},initialize:function(t,e){this.setOptions(e);this.app=t;this.applications=[];this.path="/x_component_process_ProcessManager/widget/$ApplicationSelector/";this.cssPath="/x_component_process_ProcessManager/widget/$ApplicationSelector/"+this.options.style+"/css.wcss";this._loadCss();this.selectedItems=[]},load:function(t){this.callback=t||null;this.loadWindow();this.loadContent()},loadWindow:function(){this.options.maskNode.mask({destroyOnHide:true,style:this.css.maskNode});this.windowNode=new Element("div",{styles:this.css.containerNode});this.titleNode=new Element("div",{styles:this.css.titleNode}).inject(this.windowNode);this.titleActionNode=new Element("div",{styles:this.css.titleActionNode}).inject(this.titleNode);this.titleTextNode=new Element("div",{styles:this.css.titleTextNode,text:"Select Application"}).inject(this.titleNode);this.titleActionNode.addEvent("click",function(){this.close()}.bind(this));this.windowContentScrollNode=new Element("div",{styles:this.css.windowContentScrollNode}).inject(this.windowNode);this.windowContentNode=new Element("div",{styles:this.css.windowContentNode}).inject(this.windowContentScrollNode);MWF.require("MWF.widget.DragScroll",function(){new MWF.widget.DragScroll(this.windowContentScrollNode)}.bind(this));MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.windowContentScrollNode)}.bind(this));this.actionNode=new Element("div",{styles:this.css.actionNode}).inject(this.windowNode);this.loadAction();this.windowNode.inject(this.options.maskNode);this.windowNode.position({relativeTo:this.options.maskNode,position:"center",edge:"center"});var t=this.options.maskNode.getSize();var e=this.windowNode.getSize();this.windowNode.makeDraggable({handle:this.titleNode,limit:{x:[0,t.x-e.x],y:[0,t.y-e.y]}})},loadAction:function(){this.cancelActionNode=new Element("button",{styles:this.css.cancelActionNode,text:"取 消"}).inject(this.actionNode);this.okActionNode=new Element("button",{styles:this.css.okActionNode,text:"确 定"}).inject(this.actionNode);this.okActionNode.addEvent("click",function(){if(this.callback)this.callback(this.selectedItems);this.close()}.bind(this));this.cancelActionNode.addEvent("click",function(){this.close()}.bind(this))},loadContent:function(){this.restActions=MWF.Actions.get("x_processplatform_assemble_designer");this.restActions.listApplication("",function(t){t.data.each(function(t){var e=new MWF.xApplication.process.ProcessManager.widget.ApplicationSelector.Application(this.app,this,t);e.load();this.applications.push(e)}.bind(this))}.bind(this))},clearSelected:function(){this.applications.each(function(t){if(t.selected)t.unSelectedItem()}.bind(this))},close:function(){this.selectedItems=[];this.windowNode.destroy();this.options.maskNode.unmask()}});MWF.xApplication.process.ProcessManager.widget.ApplicationSelector.Application=new Class({Extends:MWF.xApplication.process.ApplicationExplorer.Application,Implements:[Options,Events],initialize:function(t,e,i,s){this.setOptions(s);this.app=t;this.selector=e;this.container=e.windowContentNode;this.css=e.css;this.data=i},load:function(){this.node=new Element("div",{styles:this.css.applicationItemNode});this.loadTopNode();this.loadIconNode();this.loadSelectIcon();this.loadTitleNode();this.loadNewNode();this.node.inject(this.container,this.options.where)},openApplication:function(){if(!this.selected){if(!this.selector.options.multi)this.selector.clearSelected();this.selectedItem()}else{this.unSelectedItem()}},selectedItem:function(){this.selectIconNode.setStyles(this.css.applicationItemSelectIcon_selected);this.topNode.store("bgcolor",this.topNode.getStyle("background-color"));this.node.setStyles(this.css.applicationItemNode_select);this.topNode.setStyles(this.css.applicationItemTopNode_select);this.selector.selectedItems.push(this.data);this.selected=true},unSelectedItem:function(){var t=this.topNode.retrieve("bgcolor");this.topNode.setStyle("background-color",t);this.selectIconNode.setStyles(this.css.applicationItemSelectIcon);this.node.setStyles(this.css.applicationItemNode);this.topNode.setStyles(this.css.applicationItemTopNode);this.selector.selectedItems.erase(this.data);this.selected=false},loadSelectIcon:function(){this.selectIconNode=new Element("div",{styles:this.css.applicationItemSelectIcon}).inject(this.topNode);this.selectIconNode.addEvent("click",function(t){this.checkDeleteApplication(t);t.stopPropagation()}.bind(this))}});
|