Processor.min.js 6.4 KB

1
  1. MWF.xApplication.process=MWF.xApplication.process||{};MWF.xApplication.cms.Document=MWF.xApplication.cms.Document||{};MWF.xDesktop.requireApp("cms.Document","lp."+MWF.language,null,false);MWF.xApplication.cms.Document.Processor=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default"},initialize:function(e,t,s){this.setOptions(s);this.path="/x_component_cms_Document/$Processor/";this.cssPath="/x_component_cms_Document/$Processor/"+this.options.style+"/css.wcss";this._loadCss();this.task=t;this.node=$(e);this.selectedRoute=null;this.load()},load:function(){this.routeSelectorTile=new Element("div",{styles:this.css.routeSelectorTile,text:MWF.xApplication.cms.Document.LP.selectRoute}).inject(this.node);this.routeSelectorArea=new Element("div",{styles:this.css.routeSelectorArea}).inject(this.node);this.setRouteList();this.routeOpinionTile=new Element("div",{styles:this.css.routeOpinionTile,text:MWF.xApplication.cms.Document.LP.inputOpinion}).inject(this.node);this.routeOpinionArea=new Element("div",{styles:this.css.routeOpinionArea}).inject(this.node);this.setOpinion();this.buttonsArea=new Element("div",{styles:this.css.buttonsArea}).inject(this.node);this.setButtons()},setRouteList:function(){var o=this;this.task.routeNameList.each(function(e){var t=new Element("div",{styles:this.css.routeNode}).inject(this.routeSelectorArea);var s=new Element("div",{styles:this.css.routeIconNode}).inject(t);var i=new Element("div",{styles:this.css.routeTextNode,text:e}).inject(t);t.addEvents({mouseover:function(e){o.overRoute(this)},mouseout:function(e){o.outRoute(this)},click:function(e){o.selectRoute(this)}});if(this.task.routeNameList.length==1)this.selectRoute(t)}.bind(this))},overRoute:function(e){if(this.selectedRoute){if(this.selectedRoute.get("text")!=e.get("text")){e.setStyle("background-color","#f7e1d0")}}else{e.setStyle("background-color","#f7e1d0")}},outRoute:function(e){if(this.selectedRoute){if(this.selectedRoute.get("text")!=e.get("text")){e.setStyle("background-color","#E3E3E3")}}else{e.setStyle("background-color","#E3E3E3")}},selectRoute:function(e){if(this.selectedRoute){if(this.selectedRoute.get("text")!=e.get("text")){this.selectedRoute.setStyles(this.css.routeNode);this.selectedRoute.getFirst().setStyles(this.css.routeIconNode);this.selectedRoute.getLast().setStyles(this.css.routeTextNode);this.selectedRoute=e;e.setStyle("background-color","#da7429");e.getFirst().setStyle("background-image","url("+"/x_component_cms_Document/$Processor/default/checked.png)");e.getLast().setStyle("color","#FFF")}else{this.selectedRoute.setStyles(this.css.routeNode);this.selectedRoute.getFirst().setStyles(this.css.routeIconNode);this.selectedRoute.getLast().setStyles(this.css.routeTextNode);this.selectedRoute=null}}else{this.selectedRoute=e;e.setStyle("background-color","#da7429");e.getFirst().setStyle("background-image","url("+"/x_component_cms_Document/$Processor/default/checked.png)");e.getLast().setStyle("color","#FFF")}this.routeSelectorArea.setStyle("background-color","#FFF")},setOpinion:function(){this.selectIdeaNode=new Element("div",{styles:this.css.selectIdeaNode}).inject(this.routeOpinionArea);this.selectIdeaScrollNode=new Element("div",{styles:this.css.selectIdeaScrollNode}).inject(this.selectIdeaNode);this.selectIdeaAreaNode=new Element("div",{styles:{overflow:"hidden"}}).inject(this.selectIdeaScrollNode);this.inputOpinionNode=new Element("div",{styles:this.css.inputOpinionNode}).inject(this.routeOpinionArea);this.inputTextarea=new Element("textarea",{styles:this.css.inputTextarea,value:MWF.xApplication.cms.Document.LP.inputText}).inject(this.inputOpinionNode);this.inputTextarea.addEvents({focus:function(){if(this.get("value")==MWF.xApplication.cms.Document.LP.inputText)this.set("value","")},blur:function(){if(!this.get("value"))this.set("value",MWF.xApplication.cms.Document.LP.inputText)}});MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.selectIdeaScrollNode,{style:"small",where:"before",distance:30,friction:4,indent:false,axis:{x:false,y:true}})}.bind(this));MWF.require("MWF.widget.UUID",function(){MWF.UD.getDataJson("idea",function(e){if(e){if(e.ideas){this.setIdeaList(e.ideas)}}else{MWF.UD.getPublicData("idea",function(e){if(e.ideas){this.setIdeaList(e.ideas)}}.bind(this))}}.bind(this))}.bind(this))},setIdeaList:function(e){var t=this;e.each(function(e){new Element("div",{styles:this.css.selectIdeaItemNode,text:e,events:{dblclick:function(){if(t.inputTextarea.get("value")==MWF.xApplication.cms.Document.LP.inputText){t.inputTextarea.set("value",this.get("text"))}else{t.inputTextarea.set("value",t.inputTextarea.get("value")+", "+this.get("text"))}},mouseover:function(){this.setStyles(t.css.selectIdeaItemNode_over)},mouseout:function(){this.setStyles(t.css.selectIdeaItemNode)}}}).inject(this.selectIdeaAreaNode)}.bind(this))},setButtons:function(){this.cancelButton=new Element("div",{styles:this.css.cancelButton}).inject(this.buttonsArea);var e=new Element("div",{styles:this.css.cancelIconNode}).inject(this.cancelButton);var t=new Element("div",{styles:this.css.cancelTextNode,text:MWF.xApplication.cms.Document.LP.cancel}).inject(this.cancelButton);this.okButton=new Element("div",{styles:this.css.okButton}).inject(this.buttonsArea);var e=new Element("div",{styles:this.css.okIconNode}).inject(this.okButton);var t=new Element("div",{styles:this.css.okTextNode,text:MWF.xApplication.cms.Document.LP.ok}).inject(this.okButton);this.cancelButton.addEvent("click",function(){this.destroy();this.fireEvent("cancel")}.bind(this));this.okButton.addEvent("click",function(){if(!this.selectedRoute){this.routeSelectorArea.setStyle("background-color","#ffe9e9");new mBox.Notice({type:"error",position:{x:"center",y:"top"},move:false,target:this.routeSelectorArea,delayClose:6e3,content:MWF.xApplication.cms.Document.LP.mustSelectRoute});return false}this.node.mask({inject:{where:"bottom",target:this.node},destroyOnHide:true,style:{"background-color":"#999",opacity:.3,"z-index":600}});var e=this.selectedRoute.get("text");var t=this.inputTextarea.get("value");if(t==MWF.xApplication.cms.Document.LP.inputText)t="";this.fireEvent("submit",[e,t])}.bind(this))},destroy:function(){this.node.empty();delete this.task;delete this.node;delete this.routeSelectorTile;delete this.routeSelectorArea;delete this.routeOpinionTile;delete this.routeOpinionArea;delete this.buttonsArea;delete this.inputOpinionNode;delete this.inputTextarea;delete this.cancelButton;delete this.okButton}});