| 1 |
- MWF.xDesktop.requireApp("process.Xform","$Input",null,false);MWF.xApplication.process.Xform.Select=MWF.APPSelect=new Class({Implements:[Events],Extends:MWF.APP$Input,iconStyle:"selectIcon",initialize:function(t,e,s,i){this.node=$(t);this.node.store("module",this);this.json=e;this.form=s;this.field=true},_loadNode:function(){if(this.readonly){this._loadNodeRead()}else{this._loadNodeEdit()}},_loadNodeRead:function(){this.node.empty();var t=this.getOptions();var n=this.getValue();debugger;if(n){var o=[];t.each(function(t){var e=t.split("|");var s=e[0];var i=e[1]||s;if(i){if(n.indexOf(i)!=-1){o.push(s)}}});this.node.set("text",o.join(", "))}},_loadEvents:function(){Object.each(this.json.events,function(e,t){if(e.code){if(this.options.moduleEvents.indexOf(t)!=-1){this.addEvent(t,function(t){return this.form.Macro.fire(e.code,this,t)}.bind(this))}else{this.node.addEvent(t,function(t){return this.form.Macro.fire(e.code,this,t)}.bind(this))}}}.bind(this))},_loadStyles:function(){if(this.areaNode){if(this.json.styles)if(this.areaNode)this.areaNode.setStyles(this.json.styles);if(this.json.inputStyles)this.node.setStyles(this.json.inputStyles)}else{if(this.json.styles)this.node.setStyles(this.json.styles)}},_loadNodeEdit:function(){this.node.empty();var t=new Element("select");t.set(this.json.properties);t.inject(this.node);this.areaNode=this.node;this.node=t;this.node.set({id:this.json.id,MWFType:this.json.type,styles:{"margin-right":"12px"}});this.setOptions();this.node.addEvent("change",function(){this.validationMode();if(this.validation())this._setBusinessData(this.getInputData("change"))}.bind(this))},resetOption:function(){this.node.empty();this.setOptions()},getOptions:function(){if(this.json.itemType=="values"){return this.json.itemValues}else{return this.form.Macro.exec(this.json.itemScript.code,this)}return[]},setOptions:function(){var t=this.getOptions();if(!t)t=[];t.each(function(t){var e=t.split("|");var s=e[0];var i=e[1]||s;var n=new Element("option",{value:i,text:s}).inject(this.node)}.bind(this))},addOption:function(t,e){var s=new Element("option",{value:e||t,text:t}).inject(this.node)},_setValue:function(t){if(!this.readonly){this._setBusinessData(t);for(var e=0;e<this.node.options.length;e++){var s=this.node.options[e];if(s.value==t){s.selected=true}else{s.selected=false}}}},getTextData:function(){var t=this.node.getElements("option");var i=[];var n=[];t.each(function(t){if(t.selected){var e=t.get("value");var s=t.get("text");i.push(e||"");n.push(s||e||"")}});if(!i.length)i=[""];if(!n.length)n=[""];return{value:i,text:n}},getInputData:function(){var t=this.node.getElements("option");var s=[];t.each(function(t){if(t.selected){var e=t.get("value");if(e)s.push(e)}});if(!s.length)return null;return s.length==1?s[0]:s},resetData:function(){this.setData(this.getValue())},setData:function(e){this._setBusinessData(e);var t=this.node.getElements("option");t.each(function(t){if(typeOf(e)=="array"){if(e.indexOf(t.get("value"))!=-1){t.set("selected",true)}else{t.set("selected",false)}}else{if(e==t.get("value")){t.set("selected",true)}else{t.set("selected",false)}}})}});
|