Property.min.js 17 KB

1
  1. MWF.require("MWF.widget.UUID",null,false);MWF.require("MWF.widget.JsonTemplate",null,false);MWF.xApplication.process.ProcessDesigner.Property=new Class({Implements:[Options,Events],load:function(){if(!this.process.options.isView){if(this.fireEvent("queryLoad")){MWF.getRequestText(this.htmlPath,function(t,e){this.htmlString=t;this.fireEvent("postLoad")}.bind(this))}this.process.propertyListNode.addEvent("keydown",function(t){t.stopPropagation()})}},editProperty:function(t){},getHtmlString:function(t){if(!this.htmlString){MWF.getRequestText(this.htmlPath,function(e,i){this.htmlString=e;if(t)t()}.bind(this))}else{if(t)t()}},show:function(){if(!this.process.options.isView){if(!this.propertyContent){this.getHtmlString(function(){this.propertyContent=new Element("div",{styles:{overflow:"hidden"}}).inject(this.process.propertyListNode);this.process.panel.propertyTabPage.showTabIm();this.JsonTemplate=new MWF.widget.JsonTemplate(this.data,this.htmlString);this.propertyContent.set("html",this.JsonTemplate.load());this.process.panel.data=this.data;this.setEditNodeEvent();this.setEditNodeStyles(this.propertyContent);this.loadPropertyTab();this.loadFormFieldInput();this.loadPersonInput();this.loadScriptInput();this.loadScriptText();this.loadConditionInput();this.loadFormSelect();this.loadSerial();this.loadSericalActivitySelect();this.loadApplicationSelector();this.loadProcessSelector();this.loadIconSelect();this.loadContextRoot()}.bind(this))}else{this.process.panel.data=this.data;this.propertyContent.setStyle("display","block");this.process.panel.propertyTabPage.showTabIm()}}},hide:function(){if(!this.process.options.isView){if(this.propertyContent)this.propertyContent.setStyle("display","none")}},loadPropertyTab:function(){var t=this.propertyContent.getElements(".MWFTab");if(t.length){var e=this.propertyContent.getFirst();var i=new Element("div",{styles:this.process.css.propertyTabNode}).inject(e,"before");MWF.require("MWF.widget.Tab",function(){var e=new MWF.widget.Tab(i,{style:"moduleList"});e.load();var s=[];t.each(function(t){var i=e.addTab(t,t.get("title"),false);s.push(i)}.bind(this));s[0].showTab()}.bind(this))}},setEditNodeEvent:function(){var t=this;var e=this.propertyContent.getElements("input");e.each(function(e){var i=e.get("name");var s=this.process.process.id;if(this.activity)s=this.activity.data.id;if(this.route)s=this.route.data.id;e.set("name",s+i);if(i){var n=e.get("type").toLowerCase();switch(n){case"radio":e.addEvent("change",function(e){t.setRadioValue(i,this)});e.addEvent("blur",function(e){t.setRadioValue(i,this)});e.addEvent("keydown",function(t){t.stopPropagation()});t.setRadioValue(i,e);break;case"checkbox":e.addEvent("keydown",function(t){t.stopPropagation()});break;default:e.addEvent("change",function(e){t.setValue(i,this.value)});e.addEvent("blur",function(e){t.setValue(i,this.value)});e.addEvent("keydown",function(e){if(e.code===13){t.setValue(i,this.value)}e.stopPropagation()});t.setValue(i,e.get("value"))}}}.bind(this));var i=this.propertyContent.getElements("select");i.each(function(e){var i=e.get("name");if(i){e.addEvent("change",function(e){t.setSelectValue(i,this)})}});var s=this.propertyContent.getElements("textarea");s.each(function(e){var i=e.get("name");if(i){e.addEvent("change",function(e){t.setValue(i,this.value)});e.addEvent("blur",function(e){t.setValue(i,this.value)});e.addEvent("keydown",function(t){t.stopPropagation()})}}.bind(this))},setSelectValue:function(t,e){var i=e.selectedIndex;var s=e.getElements("option");var n="";if(s[i]){n=s[i].get("value")}this.data[t]=n},setRadioValue:function(t,e){if(e.checked){var i=this.data[t];var s=e.value;if(s=="false")s=false;if(s=="true")s=true;this.data[t]=s;if(this.route)this.route._setEditProperty(t,e,i)}},setValue:function(t,e){var i=this.data[t];this.data[t]=e;if(t=="name"){if(!e)this.data[t]=MWF.APPPD.LP.unnamed}if(this.route)this.route._setEditProperty(t,input,i)},setEditNodeStyles:function(t){var e=t.getChildren();if(e.length){e.each(function(t){var e=t.get("class");if(e){if(this.process.css[e])t.setStyles(this.process.css[e])}this.setEditNodeStyles(t)}.bind(this))}},loadScriptText:function(){this.scriptTexts=[];var t=this.propertyContent.getElements(".MWFScriptText");MWF.xDesktop.requireApp("process.ProcessDesigner","widget.ScriptText",function(){var e=this;t.each(function(t){var i=new MWF.xApplication.process.ProcessDesigner.widget.ScriptText(t,this.data[t.get("name")],this.process.designer,{maskNode:this.process.designer.content,maxObj:this.process.designer.paperNode,onChange:function(i){e.data[t.get("name")]=i}});this.scriptTexts.push(i)}.bind(this))}.bind(this))},loadScriptInput:function(){var t=this.propertyContent.getElements(".MWFScript");MWF.xDesktop.requireApp("process.ProcessDesigner","widget.ScriptSelector",function(){var e=this;t.each(function(t){var i=new MWF.xApplication.process.ProcessDesigner.widget.ScriptSelector(t,this.data[t.get("name")],this.process.designer,{maskNode:this.process.designer.content,onSelected:function(i){e.data[t.get("name")]=i.name},onDelete:function(){e.data[t.get("name")]="";t.empty()}})}.bind(this))}.bind(this))},loadFormFieldInput:function(){var t=this.propertyContent.getElements(".MWFFormFieldPerson");MWF.xDesktop.requireApp("process.ProcessDesigner","widget.PersonSelector",function(){t.each(function(t){new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(t,this.process.designer,{type:"formField",application:this.process.process.application,fieldType:"person",names:this.data[t.get("name")]||[],onChange:function(e){this.savePersonItem(t,e)}.bind(this)})}.bind(this))}.bind(this))},loadPersonInput:function(){var t=this.propertyContent.getElements(".MWFPersonIdentity");var e=this.propertyContent.getElements(".MWFPersonPerson");var i=this.propertyContent.getElements(".MWFPersonUnit");var s=this.propertyContent.getElements(".MWFDutySelector");MWF.xDesktop.requireApp("process.ProcessDesigner","widget.PersonSelector",function(){t.each(function(t){new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(t,this.process.designer,{type:"identity",names:this.data[t.get("name")],onChange:function(e){this.savePersonItem(t,e)}.bind(this)})}.bind(this));e.each(function(t){new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(t,this.process.designer,{type:"person",names:this.data[t.get("name")],onChange:function(e){this.savePersonItem(t,e)}.bind(this)})}.bind(this));i.each(function(t){new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(t,this.process.designer,{type:"unit",names:this.data[t.get("name")],onChange:function(e){this.savePersonItem(t,e)}.bind(this)})}.bind(this));s.each(function(t){new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(t,this.process.designer,{type:"duty",names:this.data[t.get("name")],onChange:function(e){this.addDutyItem(t,e)}.bind(this),onRemoveDuty:function(e){this.removeDutyItem(t,e)}.bind(this)})}.bind(this))}.bind(this))},removeDutyItem:function(t,e){if(e.data.id){var i=JSON.decode(this.data[t.get("name")])||[];var s=i.filter(function(t){return t.id==e.data.id});s.each(function(t){i=i.erase(t)});this.data[t.get("name")]=JSON.encode(i)}e.node.destroy();MWF.release(e);delete e},addDutyItem:function(t,e){var i=this.data[t.get("name")]||"";if(!i)i="[]";var s=JSON.decode(i);e.each(function(t){if(t.data.dutyId){for(var e=0;e<s.length;e++){if(s[e].dutyId===t.data.dutyId){s[e].name=t.data.name;s[e].code=t.data.code;break}}}else{t.data.dutyId=(new MWF.widget.UUID).toString();s.push({name:t.data.name,id:t.data.id,dutyId:t.data.dutyId,code:t.data.code})}}.bind(this));this.data[t.get("name")]=JSON.encode(s)},savePersonItem:function(t,e){var i=[];e.each(function(t){i.push(t.data.distinguishedName||t.data.id)}.bind(this));this.data[t.get("name")]=i},loadConditionInput:function(){var t=this.propertyContent.getElements(".MWFCondition");t.each(function(t){MWF.xDesktop.requireApp("process.ProcessDesigner","widget.ConditionEditor",function(){var e=new MWF.xApplication.process.ProcessDesigner.widget.ConditionEditor(t,{onPostSave:function(e){this.saveScriptItem(t,e)}.bind(this),onQueryDelete:function(e){this.deleteScriptItem(t,e)}.bind(this)});this.setScriptItems(e,t)}.bind(this))}.bind(this))},loadFormSelect:function(){var t=this.propertyContent.getElements(".MWFFormSelect");if(t.length){this.getFormList(function(){t.each(function(t){var e=new Element("select").inject(t);var i=new Element("option",{text:"none"}).inject(e);e.addEvent("change",function(t){this.setValue(t.target.getParent("div").get("name"),t.target.options[t.target.selectedIndex].value)}.bind(this));this.setFormSelectOptions(t,e);var s=new Element("div",{styles:this.process.css.propertyRefreshFormNode}).inject(t);s.addEvent("click",function(i){this.getFormList(function(){this.setFormSelectOptions(t,e)}.bind(this),true)}.bind(this))}.bind(this))}.bind(this))}},setFormSelectOptions:function(t,e){var i=t.get("name");e.empty();var s=new Element("option",{text:"none"}).inject(e);this.forms.each(function(t){var s=new Element("option",{text:t.name,value:t.id,selected:this.data[i]==t.id}).inject(e)}.bind(this))},getFormList:function(t,e){if(!this.forms||e){this.process.designer.actions.listForm(this.process.designer.application.id,function(e){this.forms=e.data;if(t)t()}.bind(this))}else{if(t)t()}},loadSerial:function(){var t=this.propertyContent.getElements(".MWFSerial");if(t.length){MWF.xDesktop.requireApp("process.ProcessDesigner","widget.SerialEditor",function(){t.each(function(t){var e=new MWF.xApplication.process.ProcessDesigner.widget.SerialEditor(t,this.data[t.get("name")]);e.addEvent("change",function(i){this.setValue(t.get("name"),JSON.encode(e.getData()))}.bind(this));e.process=this.process;e.load()}.bind(this))}.bind(this))}},loadSericalActivitySelect:function(){var t=this.propertyContent.getElements(".MWFSericalActivitySelect");if(t.length){t.each(function(t){var e=new Element("select").inject(t);e.addEvent("change",function(t){this.setValue(t.target.getParent("div").get("name"),t.target.options[t.target.selectedIndex].value)}.bind(this));this.listSericalActivityOptions(t,e);var i=new Element("div",{styles:this.process.css.propertyRefreshFormNode}).inject(t);i.addEvent("click",function(i){this.listSericalActivityOptions(t,e)}.bind(this))}.bind(this))}},listSericalActivityOptions:function(t,e){var i=t.get("name");e.empty();var s=new Element("option",{text:"none"}).inject(e);var s=new Element("option",{text:this.process.process.begin.name,value:this.process.process.begin.id,selected:this.data[i]===this.process.process.begin.id}).inject(e);this.listSericalActivitys("endList",i,e);this.listSericalActivitys("cancelList",i,e);this.listSericalActivitys("manualList",i,e);this.listSericalActivitys("conditionList",i,e);this.listSericalActivitys("choiceList",i,e);this.listSericalActivitys("splitList",i,e);this.listSericalActivitys("parallelList",i,e);this.listSericalActivitys("mergeList",i,e);this.listSericalActivitys("embedList",i,e);this.listSericalActivitys("delayList",i,e);this.listSericalActivitys("invokeList",i,e);this.listSericalActivitys("serviceList",i,e);this.listSericalActivitys("agentList",i,e);this.listSericalActivitys("messageList",i,e)},listSericalActivitys:function(t,e,i){var s=this.process.process[t];if(s){var n=s.length;if(n){s.each(function(t){var s=new Element("option",{text:t.name,value:t.id,selected:this.data[e]===t.id}).inject(i)}.bind(this))}}},loadApplicationSelector:function(){var t=this.propertyContent.getElements(".MWFApplicationSelect");if(t.length){this._getAppSelector(function(){t.each(function(t){var e=new Element("div",{styles:this.process.css.applicationSelectTitle,text:t.get("title")}).inject(t);var i=new Element("div",{styles:this.process.css.applicationSelectAction,text:t.get("title")}).inject(t);var s=new Element("div",{styles:this.process.css.applicationSelectContent}).inject(t);i.addEvent("click",function(t){this.appSelector.load(function(t){s.empty();if(t.length){this.data.targetApplication=t[0].id;this.data.targetApplicationName=t[0].name;this.data.targetApplicationAlias=t[0].alias;new Element("div",{styles:this.process.css.applicationSelectItem,text:t[0].name}).inject(s)}else{this.data.targetApplication="";this.data.targetApplicationName="";this.data.targetApplicationAlias=""}var e=this.propertyContent.getElements(".MWFProcessSelect");e.each(function(t){this.data.targetProcess="";this.data.targetProcessName="";this.data.targetProcessAlias="";var e=t.getLast();e.empty()}.bind(this))}.bind(this))}.bind(this));if(this.data.targetApplication){new Element("div",{styles:this.process.css.applicationSelectItem,text:this.data.targetApplicationName}).inject(s)}}.bind(this))}.bind(this))}},_getAppSelector:function(t){if(!this.appSelector){MWF.xDesktop.requireApp("process.ProcessManager","widget.ApplicationSelector",function(){this.appSelector=new MWF.xApplication.process.ProcessManager.widget.ApplicationSelector(this.process.designer,{maskNode:this.process.designer.content,multi:false});if(t)t()}.bind(this))}else{if(t)t()}},loadProcessSelector:function(){var t=this.propertyContent.getElements(".MWFProcessSelect");if(t.length){this._getProcessSelector(function(){t.each(function(t){var e=new Element("div",{styles:this.process.css.applicationSelectTitle,text:t.get("title")}).inject(t);var i=new Element("div",{styles:this.process.css.applicationSelectAction,text:t.get("title")}).inject(t);var s=new Element("div",{styles:this.process.css.applicationSelectContent}).inject(t);i.addEvent("click",function(t){var e=this.data.targetApplication;this.processSelector.load([e],function(t){s.empty();if(t.length){this.data.targetProcess=t[0].id;this.data.targetProcessName=t[0].name;this.data.targetProcessAlias=t[0].alias;new Element("div",{styles:this.process.css.applicationSelectItem,text:t[0].name}).inject(s)}else{this.data.targetProcess="";this.data.targetProcessName="";this.data.targetProcessAlias=""}}.bind(this))}.bind(this));if(this.data.targetProcess){new Element("div",{styles:this.process.css.applicationSelectItem,text:this.data.targetProcessName}).inject(s)}}.bind(this))}.bind(this))}},_getProcessSelector:function(t){if(!this.processSelector){MWF.xDesktop.requireApp("process.ProcessManager","widget.ProcessSelector",function(){this.processSelector=new MWF.xApplication.process.ProcessManager.widget.ProcessSelector(this.process.designer,{maskNode:this.process.designer.content,multi:false});if(t)t()}.bind(this))}else{if(t)t()}},loadIconSelect:function(){var t=this.propertyContent.getElements(".MWFIcon");if(t.length){t.each(function(t){var e=t.get("name");var i=this.data[e];var s=new Element("div",{styles:this.process.css.processIconNode}).inject(t);if(i)s.setStyles({background:"url("+i+") center center no-repeat"});var n=new Element("div",{styles:this.process.css.processIconSelectNode,text:this.process.designer.lp.selectIcon}).inject(t);n.addEvent("click",function(){this.selectIcon(t)}.bind(this))}.bind(this))}},loadContextRoot:function(){var t=this.propertyContent.getElements(".MWFContextRoot");if(t){t.each(function(t){var e=t.get("name");var i=this.data[e];var s=new Element("select").inject(t);Object.each(layout.desktop.serviceAddressList,function(t,e){var n=new Element("option",{value:e,text:t.name,selected:i==e}).inject(s)}.bind(this));s.addEvent("change",function(){var t=s.options[s.selectedIndex].value;this.setValue(e,t)}.bind(this))}.bind(this))}},selectIcon:function(t){if(!t.iconMenu){var e=new MWF.widget.Menu(t,{event:"click",style:"processIcon"});e.load();t.iconMenu=e;var i=this;for(var s=0;s<=48;s++){var n="/x_component_process_ProcessManager/$Explorer/default/processIcon/process_icon_"+s+".png";var a=e.addMenuItem("","click",function(){var e=t.get("name");var s=this.item.getElement("img").get("src");i.data[e]=s;t.getFirst("div").setStyle("background-image","url("+s+")")},n);a.iconName=n}}},deleteScriptItem:function(t,e){var i=t.get("name");this.data[i].erase(e.data.id);this.process.scripts[e.data.id]=null;delete this.process.scripts[e.data.id];this.process.process.scriptList.erase(e.data)},saveScriptItem:function(t,e){var i=t.get("name");var s=this.data[i];var n=e.data;var a=this.process.scripts[e.data.id];if(!a){this.process.process.scriptList.push(n);this.process.scripts[e.data.id]=n}if(s.indexOf(n.id)==-1){this.data[i].push(n.id)}},setScriptItems:function(t,e){var i=e.get("name");var s=this.data[i];if(s){s.each(function(e){if(e){var i=this.process.scripts[e];if(i)t.setScriptItem(i)}}.bind(this))}},showMultiActivity:function(t){this.hide();var e=new HtmlTable({properties:this.process.css.activityListTable}).inject(this.propertyContent);t.each(function(t){this.row=e.push([{content:" ",properties:{styles:t.style.listIcon}},{content:t.data.name,properties:{width:"80px",styles:this.process.css.list.listText}},{content:" "+t.data.description,properties:{styles:this.process.css.list.listTextDescription}}])}.bind(this))}});