| 1 |
- MWF.require("MWF.widget.Common",null,false);MWF.xApplication.process.Xform.$Module=MWF.APP$Module=new Class({Implements:[Events],options:{moduleEvents:["load"]},initialize:function(s,t,i,e){this.node=$(s);this.node.store("module",this);this.json=t;this.form=i},load:function(){if(this.fireEvent("queryLoad")){this._queryLoaded();this._loadUserInterface();this._loadStyles();this._loadEvents();this._afterLoaded();this.fireEvent("postLoad");this.fireEvent("load")}},_loadUserInterface:function(){},_loadStyles:function(){if(this.json.styles)this.node.setStyles(this.json.styles)},_loadEvents:function(){Object.each(this.json.events,function(s,t){if(s.code){if(this.options.moduleEvents.indexOf(t)!=-1){this.addEvent(t,function(t){return this.form.Macro.fire(s.code,this,t)}.bind(this))}else{this.node.addEvent(t,function(t){return this.form.Macro.fire(s.code,this,t)}.bind(this))}}}.bind(this))},_getBusinessData:function(){if(this.json.section=="yes"){return this._getBusinessSectionData()}else{return this.form.businessData.data[this.json.id]||""}},_getBusinessSectionData:function(){switch(this.json.sectionBy){case"person":return this._getBusinessSectionDataByPerson();break;case"department":return this._getBusinessSectionDataByDepartment();break;case"activity":return this._getBusinessSectionDataByActivity();break;case"script":return this._getBusinessSectionDataByScript(this.json.sectionByScript.code);break;default:return this.form.businessData.data[this.json.id]||""}},_getBusinessSectionDataByPerson:function(){var s=this.form.businessData.data[this.json.id];return s?s[layout.desktop.session.user.id]||"":""},_getBusinessSectionDataByDepartment:function(){var s=this.form.businessData.data[this.json.id];if(!s)return"";var t=this.form.businessData.task?this.form.businessData.task.department:"";return t?s[t]||"":""},_getBusinessSectionDataByActivity:function(){var s=this.form.businessData.data[this.json.id];if(!s)return"";var t=this.form.businessData.work?this.form.businessData.work.activity:"";return t?s[t]||"":""},_getBusinessSectionDataByScript:function(s){var t=this.form.businessData.data[this.json.id];if(!t)return"";var i=this.form.Macro.exec(s,this);return i?t[i]||"":""},_setBusinessData:function(s){if(this.json.section=="yes"){this._setBusinessSectionData(s)}else{if(this.form.businessData.data[this.json.id]){this.form.businessData.data[this.json.id]=s}else{this.form.businessData.data[this.json.id]=s;this.form.Macro.environment.setData(this.form.businessData.data)}if(this.json.isTitle)this.form.businessData.work.title=s}},_setBusinessSectionData:function(s){switch(this.json.sectionBy){case"person":this._setBusinessSectionDataByPerson(s);break;case"department":this._setBusinessSectionDataByDepartment(s);break;case"activity":this._setBusinessSectionDataByActivity(s);break;case"script":this._setBusinessSectionDataByScript(this.json.sectionByScript.code,s);break;default:if(this.form.businessData.data[this.json.id]){this.form.businessData.data[this.json.id]=s}else{this.form.businessData.data[this.json.id]=s;this.form.Macro.environment.setData(this.form.businessData.data)}}},_setBusinessSectionDataByPerson:function(s){var t=false;var i=layout.desktop.session.user.id;var e=this.form.businessData.data[this.json.id];if(!e){e={};this.form.businessData.data[this.json.id]=e;t=true}if(!e[i])t=true;e[i]=s;if(t)this.form.Macro.environment.setData(this.form.businessData.data)},_setBusinessSectionDataByDepartment:function(s){var t=false;var i=this.form.businessData.task?this.form.businessData.task.department:"";if(i){var e=this.form.businessData.data[this.json.id];if(!e){e={};this.form.businessData.data[this.json.id]=e;t=true}if(!e[i])t=true;e[i]=s}if(t)this.form.Macro.environment.setData(this.form.businessData.data)},_setBusinessSectionDataByActivity:function(s){var t=false;var i=this.form.businessData.work?this.form.businessData.work.activity:"";if(i){var e=this.form.businessData.data[this.json.id];if(!e){e={};this.form.businessData.data[this.json.id]=e;t=true}if(!e[i])t=true;e[i]=s}if(t)this.form.Macro.environment.setData(this.form.businessData.data)},_setBusinessSectionDataByScript:function(s,t){var i=false;var e=this.form.Macro.exec(s,this);if(e){var a=this.form.businessData.data[this.json.id];if(!a){a={};this.form.businessData.data[this.json.id]=a;i=true}if(!a[e])i=true;a[e]=t}if(i)this.form.Macro.environment.setData(this.form.businessData.data)},_queryLoaded:function(){},_afterLoaded:function(){},setValue:function(){},focus:function(){this.node.focus()}});
|