Property.min.js 20 KB

1
  1. MWF.require("MWF.widget.Common",null,false);MWF.require("MWF.widget.JsonTemplate",null,false);MWF.xApplication.process.FormDesigner.Property=MWF.FCProperty=new Class({Extends:MWF.widget.Common,Implements:[Options,Events],options:{style:"default",path:"/x_component_process_FormDesigner/property/property.html"},initialize:function(t,e,i,n){this.setOptions(n);this.module=t;this.form=t.form;this.data=t.json;this.htmlPath=this.options.path;this.designer=i;this.maplists={};this.propertyNode=e},load:function(){if(this.fireEvent("queryLoad")){MWF.getRequestText(this.htmlPath,function(t,e){this.htmlString=t;this.fireEvent("postLoad")}.bind(this))}this.propertyNode.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.propertyContent){this.getHtmlString(function(){if(this.htmlString){this.JsonTemplate=new MWF.widget.JsonTemplate(this.data,this.htmlString);this.propertyContent=new Element("div",{styles:{overflow:"hidden"}}).inject(this.propertyNode);this.propertyContent.set("html",this.JsonTemplate.load());this.setEditNodeEvent();this.setEditNodeStyles(this.propertyContent);this.loadPropertyTab();this.loadMaplist();this.loadStylesList();this.loadDivTemplateType();this.loadPersonInput();this.loadFormFieldInput();this.loadScriptArea();this.loadHtmlEditorArea();this.loadTreeData();this.loadArrayList();this.loadEventsEditor();this.loadActionArea();this.loadHTMLArea();this.loadJSONArea();this.loadFormSelect();this.loadViewSelect();this.loadValidation();this.loadIconSelect();this.loadImageClipper()}}.bind(this))}else{this.propertyContent.setStyle("display","block")}new Fx.Scroll(layout.desktop.node).toTop()},hide:function(){if(this.propertyContent)this.propertyContent.setStyle("display","none")},loadTreeData:function(){var t=this.propertyContent.getElements(".MWFTreeData");t.each(function(t){var e=t.get("title");var i=t.get("name");var n=this.data[i];if(!n)n=[];MWF.require("MWF.widget.TreeEditor",function(){var s=new MWF.widget.TreeEditor(t,{title:e,maxObj:this.propertyNode.parentElement.parentElement.parentElement,onChange:function(){this.data[i]=s.toJson();this.module.json[i]=this.data[i];this.module._refreshTree()}.bind(this)});s.load(n)}.bind(this));t.addEvent("keydown",function(t){t.stopPropagation()})}.bind(this))},loadJSONArea:function(){var t=this.propertyContent.getElement(".MWFJSONArea");if(t){this.propertyTab.pages.each(function(e){if(e.contentNode==t.parentElement){e.setOptions({onShow:function(){t.empty();MWF.require("MWF.widget.JsonParse",function(){this.json=new MWF.widget.JsonParse(this.module.json,t,null);this.json.load()}.bind(this))}.bind(this)})}}.bind(this))}},loadHTMLArea:function(){var t=this.propertyContent.getElement(".MWFHTMLArea");if(t){var e=this.module.node.clone(true,true);e.clearStyles(true);t.set("text",e.outerHTML);e.destroy();this.propertyTab.pages.each(function(e){if(e.contentNode==t.parentElement){e.setOptions({onShow:function(){var e=this.module.node.clone(true,true);e.clearStyles(true);t.set("text",e.outerHTML);e.destroy()}.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);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 i=new Element("div",{styles:this.form.css.propertyRefreshFormNode}).inject(t);i.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 n=new Element("option",{text:"none"}).inject(e);this.forms.each(function(t){var n=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.form.designer.actions.listForm(this.form.designer.application.id,function(e){this.forms=e.data;if(t)t()}.bind(this))}else{if(t)t()}},loadViewSelect:function(){var t=this.propertyContent.getElements(".MWFViewSelect");if(t.length){this.getViewList(function(){t.each(function(t){var e=new Element("select").inject(t);e.addEvent("change",function(t){var e=t.target.options[t.target.selectedIndex].value;var i=t.target.options[t.target.selectedIndex].get("text");this.setValue(t.target.getParent("div").get("name"),e);this.setValue(t.target.getParent("div").get("name")+"Name",i)}.bind(this));this.setViewSelectOptions(t,e);var i=new Element("div",{styles:this.form.css.propertyRefreshFormNode}).inject(t);i.addEvent("click",function(i){this.getViewList(function(){this.setViewSelectOptions(t,e)}.bind(this),true)}.bind(this))}.bind(this))}.bind(this))}},setViewSelectOptions:function(t,e){var i=t.get("name");e.empty();var n=new Element("option",{text:"none"}).inject(e);this.views.each(function(t){var n=new Element("option",{text:t.name,value:t.id,selected:this.data[i]==t.id}).inject(e)}.bind(this))},getViewList:function(t,e){if(!this.views||e){this.form.designer.actions.listView(this.form.designer.application.id,function(e){this.views=e.data;if(t)t()}.bind(this))}else{if(t)t()}},loadValidation:function(){var t=this.propertyContent.getElements(".MWFValidation");if(t.length){t.each(function(t){var e=t.get("name");MWF.xDesktop.requireApp("process.FormDesigner","widget.ValidationEditor",function(){var i=new MWF.xApplication.process.FormDesigner.widget.ValidationEditor(t,this.designer,{onChange:function(){var t=i.getValidationData();this.data[e]=t}.bind(this)});i.load(this.data[e])}.bind(this))}.bind(this))}},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 n=new Element("div",{styles:this.form.css.processIconNode}).inject(t);if(i)n.setStyles({background:"url("+i+") center center no-repeat"});var s=new Element("div",{styles:this.form.css.processIconSelectNode,text:this.form.designer.lp.selectIcon}).inject(t);s.addEvent("click",function(){this.selectIcon(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 n=0;n<=48;n++){var s="/x_component_process_ProcessManager/$Explorer/default/processIcon/process_icon_"+n+".png";var o=e.addMenuItem("","click",function(){var e=t.get("name");var n=this.item.getElement("img").get("src");i.data[e]=n;t.getFirst("div").setStyle("background-image","url("+n+")")},s);o.iconName=s}}},loadImageClipper:function(){var t=this.propertyContent.getElements(".MWFImageClipper");if(t.length){t.each(function(t){var e=t.get("name");var i=new Element("div",{styles:this.form.css.processIconSelectNode,text:this.form.designer.lp.selectImage}).inject(t);i.addEvent("click",function(){this.selectImage(t,e)}.bind(this))}.bind(this))}},selectImage:function(t,e){MWF.xDesktop.requireApp("process.FormDesigner","widget.ImageClipper",function(){var i=this.module.node.getSize();var n=new MWF.xApplication.process.FormDesigner.widget.ImageClipper(this.designer,{title:this.form.designer.lp.selectImage,width:this.data.styles.width?i.x:0,height:this.data.styles.height?i.y:0,onChange:function(){debugger;var i=n.data;this.changeJsonDate(e,i);this.changeData(e,t,null)}.bind(this)});n.load(this.data[e])}.bind(this))},loadEventsEditor:function(){var t=this.propertyContent.getElement(".MWFEventsArea");if(t){var e=t.get("name");var i=this.data[e];MWF.xDesktop.requireApp("process.FormDesigner","widget.EventsEditor",function(){var e=new MWF.xApplication.process.FormDesigner.widget.EventsEditor(t,this.designer,{maxObj:this.designer.formContentNode});e.load(i)}.bind(this))}},loadArrayList:function(){var t=this.propertyContent.getElements(".MWFArraylist");t.each(function(t){var e=t.get("title");var i=t.get("name");var n=this.data[i];if(!n)n=[];MWF.require("MWF.widget.Arraylist",function(){var s=new MWF.widget.Arraylist(t,{title:e,onChange:function(){this.data[i]=s.toArray()}.bind(this)});s.load(n)}.bind(this));t.addEvent("keydown",function(t){t.stopPropagation()})}.bind(this))},loadHtmlEditorArea:function(){var t=this.propertyContent.getElements(".MWFHtmlEditorArea");t.each(function(t){var e=t.get("title");var i=t.get("name");var n=this.data[i];MWF.require("MWF.widget.HtmlEditorArea",function(){var s=new MWF.widget.HtmlEditorArea(t,{title:e,maxObj:this.designer.formContentNode,onChange:function(){this.data[i]=s.getValue();this.changeData(i)}.bind(this),onSave:function(){this.designer.saveForm()}.bind(this)});s.load({code:n})}.bind(this))}.bind(this))},loadStylesList:function(){var t=this.propertyContent.getElements(".MWFFormStyle");t.each(function(t){if(this.module.form.stylesList){if(!this.data.formStyleType)this.data.formStyleType="default";Object.each(this.module.form.stylesList,function(e,i){new Element("option",{text:e.name,value:i,selected:!this.data.formStyleType&&i=="default"||this.data.formStyleType==i}).inject(t)}.bind(this))}else{t.getParent("tr").setStyle("display","none")}}.bind(this))},loadDivTemplateType:function(){var t=this.propertyContent.getElements(".MWFDivTemplate");if(t.length){var e=[];if(this.module.form.stylesList){if(this.module.form.stylesList[this.module.form.json.formStyleType]){var i=this.module.form.stylesList[this.module.form.json.formStyleType][this.module.moduleName];if(i){Object.each(i,function(t,i){e.push(i)}.bind(this))}}}t.each(function(t){t.empty();new Element("option",{text:"default",value:"default",selected:!this.data.templateType||this.data.templateType=="default"}).inject(t);if(e.length){e.each(function(e){new Element("option",{text:i[e].name,value:e,selected:this.data.templateType==e}).inject(t)}.bind(this))}else{t.getParent("tr").setStyle("display","none")}}.bind(this))}},loadPersonInput:function(){var t=this.propertyContent.getElements(".MWFPersonIdentity");var e=this.propertyContent.getElements(".MWFPersonDepartment");var i=this.propertyContent.getElements(".MWFPersonCompany");var n=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.form.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.form.designer,{type:"department",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.form.designer,{type:"company",names:this.data[t.get("name")],onChange:function(e){this.savePersonItem(t,e)}.bind(this)})}.bind(this));n.each(function(t){new MWF.xApplication.process.ProcessDesigner.widget.PersonSelector(t,this.form.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=this.data[t.get("name")]||[];var n=i.filter(function(t){return t.id==e.data.id});n.each(function(t){i=i.erase(t)});this.data[t.get("name")]=i}e.node.destroy();MWF.release(e);delete e},addDutyItem:function(t,e){var i=this.data[t.get("name")]||"";if(!i)i="[]";var n=JSON.decode(i);e.each(function(t){if(t.data.id){for(var e=0;e<n.length;e++){if(n[e].id==t.data.id){n[e].name=t.data.name;n[e].code=t.data.code;break}}}else{t.data.id=(new MWF.widget.UUID).toString();n.push({name:t.data.name,id:t.data.id,code:t.data.code})}}.bind(this));this.data[t.get("name")]=JSON.encode(n)},loadFormFieldInput:function(){var t=this.propertyContent.getElements(".MWFFormFieldPerson");MWF.xDesktop.requireApp("process.ViewDesigner","widget.PersonSelector",function(){t.each(function(t){new MWF.xApplication.process.ViewDesigner.widget.PersonSelector(t,this.form.designer,{type:"formField",application:this.form.json.application,fieldType:"person",names:this.data[t.get("name")],onChange:function(e){this.savePersonItem(t,e)}.bind(this)})}.bind(this))}.bind(this))},savePersonItem:function(t,e){var i=[];e.each(function(t){i.push(t.data.name)}.bind(this));this.data[t.get("name")]=i},loadScriptArea:function(){var t=this.propertyContent.getElements(".MWFScriptArea");var e=this.propertyContent.getElements(".MWFFormulaArea");this.loadScriptEditor(t);this.loadScriptEditor(e,"formula")},loadScriptEditor:function(t,e){t.each(function(t){var i=t.get("title");var n=t.get("name");var s=this.data[n];MWF.require("MWF.widget.ScriptArea",function(){var o=new MWF.widget.ScriptArea(t,{title:i,maxObj:this.designer.formContentNode,onChange:function(){this.data[n]=o.toJson()}.bind(this),onSave:function(){this.designer.saveForm()}.bind(this),style:e||"default"});o.load(s)}.bind(this))}.bind(this))},loadActionArea:function(){var t=this.propertyContent.getElements(".MWFActionArea");t.each(function(t){var e=t.get("name");var i=this.data[e];MWF.xDesktop.requireApp("process.FormDesigner","widget.ActionsEditor",function(){var n=new MWF.xApplication.process.FormDesigner.widget.ActionsEditor(t,this.designer,{maxObj:this.propertyNode.parentElement.parentElement.parentElement,onChange:function(){this.data[e]=n.data}.bind(this)});n.load(i)}.bind(this))}.bind(this))},loadMaplist:function(){var t=this.propertyContent.getElements(".MWFMaplist");t.each(function(t){var e=t.get("title");var i=t.get("name");var n=t.get("collapse");var s=this.data[i];if(!s)s={};MWF.require("MWF.widget.Maplist",function(){var o=new MWF.widget.Maplist(t,{title:e,collapse:n?true:false,onChange:function(){this.changeJsonDate(i,o.toJson());this.changeStyle(i);this.changeData(i)}.bind(this)});o.load(s);this.maplists[i]=o}.bind(this))}.bind(this))},loadPropertyTab:function(){var t=this.propertyContent.getElements(".MWFTab");if(t.length){var e=this.propertyContent.getFirst();var i=new Element("div",{styles:this.form.css.propertyTabNode}).inject(e,"before");MWF.require("MWF.widget.Tab",function(){var e=new MWF.widget.Tab(i,{style:"formPropertyList"});e.load();var n=[];t.each(function(t){var i=e.addTab(t,t.get("title"),false);n.push(i);this.setScrollBar(i.contentNodeArea,"small",null,null)}.bind(this));n[0].showTab();this.propertyTab=e;this.designer.resizeNode()}.bind(this),false)}},setEditNodeEvent:function(){var t=this;var e=this.propertyContent.getElements("input");e.each(function(e){var i=e.get("name");if(this.module){var n=this.module.json.id;e.set("name",n+i)}if(i){var s=e.get("type").toLowerCase();switch(s){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("change",function(e){t.setCheckboxValue(i,this)});e.addEvent("click",function(e){t.setCheckboxValue(i,this)});e.addEvent("keydown",function(t){t.stopPropagation()});break;default:e.addEvent("change",function(e){t.setValue(i,this.value,this)});e.addEvent("blur",function(e){t.setValue(i,this.value,this)});e.addEvent("keydown",function(e){if(e.code==13){t.setValue(i,this.value,this)}e.stopPropagation()})}}}.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 n=this.propertyContent.getElements("textarea");n.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))},changeStyle:function(t){this.module.setPropertiesOrStyles(t)},changeData:function(t,e,i){this.module._setEditStyle(t,e,i)},changeJsonDate:function(t,e){this.data[t]=e},setRadioValue:function(t,e){if(e.checked){var i=e.value;if(i=="false")i=false;if(i=="true")i=true;var n=this.data[t];this.changeJsonDate(t,i);this.changeData(t,e,n)}},setCheckboxValue:function(t,e){var i=this.module.json.id;var n=$$("input[name='"+i+t+"']");var s=[];n.each(function(t){if(t.get("checked")){s.push(t.value)}});var o=this.data[t];this.changeJsonDate(t,s);this.changeData(t,e,o)},setSelectValue:function(t,e){var i=e.selectedIndex;var n=e.getElements("option");var s="";if(n[i]){s=n[i].get("value")}var o=this.data[t];this.changeJsonDate(t,s);this.changeData(t,e,o)},setValue:function(t,e,i){debugger;if(t=="id"){if(e!=this.module.json.id){if(!e){this.designer.notice(MWF.APPFD.LP.notNullId,"error",this.module.form.designer.propertyContentArea,{x:"right",y:"bottom"});i.focus();return false}else if(this.module.form.json.moduleList[e]){this.designer.notice(MWF.APPFD.LP.repetitionsId,"error",this.module.form.designer.propertyContentArea,{x:"right",y:"bottom"});i.focus();return false}else{var n=this.module.form.json.moduleList[this.module.json.id];this.module.form.json.moduleList[e]=n;delete this.module.form.json.moduleList[this.module.json.id]}}}var s=this.data[t];this.changeJsonDate(t,e);this.changeData(t,i,s)},setEditNodeStyles:function(t){var e=t.getChildren();if(e.length){e.each(function(t){var e=t.get("class");if(e){if(this.form.css[e])t.setStyles(this.form.css[e])}this.setEditNodeStyles(t)}.bind(this))}},loadScriptInput:function(){var t=this.propertyContent.getElements(".MWFScript");t.each(function(t){MWF.require("MWF.widget.ScriptEditor",function(){var e=new MWF.widget.ScriptEditor(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))},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 n=this.data[i];var s=e.data;var o=this.process.scripts[e.data.id];if(!o){this.process.process.scriptList.push(s);this.process.scripts[e.data.id]=s}if(n.indexOf(s.id)==-1){this.data[i].push(s.id)}},setScriptItems:function(t,e){var i=e.get("name");var n=this.data[i];n.each(function(e){if(e){var i=this.process.scripts[e];if(i)t.setScriptItem(i)}}.bind(this))}});MWF.xApplication.process.FormDesigner.PropertyMulti=new Class({Extends:MWF.xApplication.process.FormDesigner.Property,Implements:[Options,Events],initialize:function(t,e,i,n,s){this.setOptions(s);this.modules=e;this.form=t;this.data={};this.htmlPath=this.options.path;this.designer=n;this.maplists={};this.propertyNode=i},load:function(){if(this.fireEvent("queryLoad")){MWF.getRequestText(this.htmlPath,function(t,e){this.htmlString=t;MWF.require("MWF.widget.JsonTemplate",function(){this.fireEvent("postLoad")}.bind(this))}.bind(this))}},show:function(){if(!this.propertyContent){if(this.htmlString){this.JsonTemplate=new MWF.widget.JsonTemplate({},this.htmlString);this.propertyContent=new Element("div",{styles:{overflow:"hidden"}}).inject(this.propertyNode);this.propertyContent.set("html",this.JsonTemplate.load());this.setEditNodeEvent();this.setEditNodeStyles(this.propertyContent);this.loadPropertyTab();this.loadMaplist();this.loadScriptArea();this.loadTreeData();this.loadArrayList()}}else{this.propertyContent.setStyle("display","block")}},hide:function(){if(this.propertyContent)this.propertyContent.destroy()},changeStyle:function(t){this.modules.each(function(e){e.setPropertiesOrStyles(t)}.bind(this))},changeData:function(t,e,i){this.modules.each(function(n){n._setEditStyle(t,e,i)}.bind(this))},changeJsonDate:function(t,e){this.modules.each(function(i){i.json[t]=e}.bind(this))}});