| 1 |
- var MDomItem_ClassType={text:"Text",textarea:"Textarea",hidden:"Hidden",password:"Password",radio:"Radio",checkbox:"Checkbox",select:"Select",multiselect:"Multiselect",innertext:"Innertext",innerhtml:"Innerhtml",img:"Img",button:"Button",mselector:"MSelector",imageclipper:"ImageClipper",rtf:"Rtf",org:"Org",a:"A"};var MDomItem=new Class({Implements:[Options,Events],options:{name:"",value:"",text:"",type:"",isEdited:true,tType:"",orgType:"",unitType:"",count:1,units:[],groups:[],orgStyle:"",unsetDefaultEvent:false,event:null,selectValue:"",selectText:"",defaultValue:"",className:"",style:{},attr:{},notEmpty:false,defaultValueAsEmpty:false,emptyTip:null,disable:false,warningType:"batch",validRule:null,validMessage:null,RTFConfig:null,mSelectorOptions:null,calendarOptions:null,orgWidgetOptions:null},initialize:function(t,e,i,s,n){this.form=i;this.app=s;this.container=$(t);this.css=n;this.valSeparator=/,|;|\^\^|\|/;this.mElement=this.container;this.items=[];this.setOptionList(e)},setOptionList:function(t){var e=[];for(var i in t){if(i!="validRule"&&i!="validMessage"&&i.substr(0,2)!="on"&&typeOf(t[i])=="function"){var s=t[i];if(s.length&&/\(\s*([\s\S]*?)\s*\)/.exec(s)[1].split(/\s*,\s*/)[0]=="callback"){e.push(i)}else{t[i]=s(t)}}}this.setFunOption(t,e,true)},setFunOption:function(e,i,t){this.optionsReady=false;if(i.length==0){this.setOptions(e);this.optionsReady=true;if(this.loadFunctionCalled){this.load()}}else{if(t)e=Object.merge({},e);var s=i.shift();var n=e[s];n(function(t){e[s]=t;this.setFunOption(e,i,false)}.bind(this),e)}},load:function(){if(!this.optionsReady){this.loadFunctionCalled=true;return}if(this.options.disable)return;if(!this.options.type){this.options.type=this.options.orgType?"org":"text"}this.options.type=this.options.type.toLowerCase();this.fireEvent("queryLoad");this.createElement();this.fireEvent("postLoad",[this])},editMode:function(){this.options.isEdited=true;this.dispose();this.load()},save:function(){this.options.value=this.getValue()},readMode:function(){this.options.isEdited=false;this.dispose();this.load()},enable:function(){this.options.disable=false;this.dispose();this.load()},disable:function(){this.options.disable=true;this.dispose()},createElement:function(){if(this.options.disable)return;var t=MDomItem_ClassType[this.options.type];if(t){this.dom=new MDomItem[t](this);this.dom.load()}return this.container},get:function(t){if(this.options.disable){return{text:"",value:""}}if(this.dom)return this.dom.get(t)},getValue:function(t,e){var i=this.get(null,e).value;if(t&&typeOf(i)=="array"){return i.join(t)}else{return i}},getText:function(t,e){var i=this.get(null,e).text;if(t&&typeOf(i)=="array"){return i.join(t)}else{return i}},getModifiedValue:function(t){var e=this.getValue(t);return e==this.options.value?null:e},getModifiedText:function(){var t=this.getText();return text==this.options.text?null:text},getVaildValue:function(t,e,i,s){if(!t||this.verify(!i)){return s?this.getModifiedValue(e):this.getValue(e)}else{return false}},set:function(t,e){this.setValue(e)},resetItemOptions:function(t,e,i){if(this.options.disable){if(i){this.options.disable=false}else{return}}var s="radio,checkbox,select,multiselect".split(",");if(!s.contains(this.options.type))return;this.dispose();this.options.selectValue=t;this.options.selectText=e;this.createElement()},reset:function(){this.setValue(this.options.defaultValue||"")},setValue:function(t){if(this.dom)this.dom.setValue(t)},setStyles:function(e){if(this.options.disable)return;this.items.each(function(t){t.setStyles(e)})},getElements:function(){if(this.options.disable)return null;return this.mElement.getElements("[name='"+this.options.name+"']")},dispose:function(){this.container.empty()},verify:function(t){var e=true;if(!this.options.isEdited)return e;if(this.options.disable)return e;if(this.options.warningType=="batch"){if(!this.isNotEmpty(t))e=false;if(!this.checkValid(t))e=false}else{if(!this.isNotEmpty(t)||!this.checkValid(t)){return false}}return e},isNotEmpty:function(t){if(!this.options.isEdited)return true;if(this.options.disable)return true;if(this.options.notEmpty==true||this.options.notEmpty=="yes"){if(!this.checkNotEmpty(t)){return false}}return true},checkNotEmpty:function(t){if(this.options.disable)return true;var e=this.getValue();var i=typeOf(e)==="array"?e.length==0:e==""||e==" ";if(!i&&this.options.defaultValueAsEmpty){i=typeOf(e)==="array"?e.length==1&&e[0]==this.options.defaultValue:e==this.options.defaultValue}if(!i){this.clearWarning("empty");return true}if(!t)return false;var s=this.options.text;var n=this.mElement.getElements("[name='"+this.options.name+"']");var a="";var o=false;try{a=this.options.emptyTip||this.dom&&this.dom.getErrorText()||s+"不能为空";if(this.options.warningType=="batch"){this.setWarning(a,"empty")}else if(this.options.warningType=="single"){this.setWarning(a,"empty")}else{this.app.notice(a,"error",this.container);if(["text","password","textarea","select","multiselect"].contains(this.options.type)){n[0].focus()}}this.fireEvent("empty",this)}catch(t){}return false},clearWarning:function(t){if(this.tipNode&&this.setedEmpty){this.fireEvent("unempty",this);this.tipNode.empty();this.setedEmpty=false}if(t=="empty"){if(this.warningEmptyNode){this.fireEvent("unempty",this);this.warningEmptyNode.destroy();this.warningEmptyNode=null}}else{if(this.warningInvalidNode){this.fireEvent("unempty",this);this.warningInvalidNode.destroy();this.warningInvalidNode=null}}this.warningStatus=false},setWarning:function(t,e){var i;if(e=="empty"){if(this.tipNode){this.setedEmpty=true;i=this.tipNode;i.set("html","")}else if(this.warningEmptyNode){i=this.warningEmptyNode;i.set("html","")}else{i=this.warningEmptyNode=new Element("div");i.inject(this.container)}}else{if(this.tipNode){this.setedEmpty=true;i=this.tipNode;i.set("html","")}else if(this.warningInvalidNode){i=this.warningInvalidNode;i.set("html","")}else{i=this.warningInvalidNode=new Element("div");i.inject(this.container)}}this.warningStatus=true;if(typeOf(t)!="array"){t=[t]}t.each(function(t){var e=new Element("div",{text:t,styles:this.css.warningMessageNode}).inject(i)}.bind(this))},checkValid:function(t){if(this.options.disable)return true;var e=this.getValue();var i=this.options.validRule;if(!i)return true;var s=[];var n=true;for(var a in i){var o=true;var l=i[a];if(typeof l=="function"){o=l.call(this,e,this)}else if(this.validMethod[a]){var r=this.validMethod[a];o=r.call(this,e,l,this)}if(!o&&t){var h=this.getValidMessage(a,l);if(h!="")s.push(h)}if(!o)n=false}if(s.length>0){if(this.options.warningType=="batch"){this.setWarning(s,"invaild")}else if(this.options.warningType=="single"){this.setWarning(s,"invaild")}else{this.app.notice(s.join("\n"),"error",this.container)}this.fireEvent("empty",this)}else{if(this.warningInvalidNode&&this.warningInvalidNode.length){this.warningInvalidNode.destroy();this.warningInvalidNode=null}this.fireEvent("unempty",this)}return n},validMethod:{email:function(t){return/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)},url:function(t){return/^(https?|s?ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(t)},phoneNumber:function(t){return/^0?1[0-9]\d{9}$/.test(t)},date:function(t){return!/Invalid|NaN/.test(new Date(t).toString())},dateISO:function(t){return/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(t)},number:function(t){return/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(t)},digits:function(t){return/^\d+$/.test(t)},minlength:function(t,e){return t.length>=e},maxlength:function(t,e){return t.length<=e},rangelength:function(t,e){return t.length>=e[0]&&t.length<=e[1]},min:function(t,e){return t>=e},max:function(t,e){return t<=e},range:function(t,e){return t>=e[0]&&t<=e[1]},extension:function(t,e){e=typeOf(e)=="array"?e.join("|"):e.replace(/,/g,"|");return t.match(new RegExp(".("+e+")$","i"))}},getValidMessage:function(t,e){var i=this.options.validMessage;if(i&&typeOf(i)=="object"){if(i[t]){if(typeof i[t]=="function"){return i[t].call(this)}else{return i[t]}}}switch(t){case"email":return"请输入正确格式的电子邮件";case"url":return"请输入合法的网址";case"phoneNumber":return"请输入正确的手机号码";case"date":return"请输入合法的日期";case"dateISO":return"请输入合法的日期 .";case"number":return"请输入合法的数字";case"digits":return"只能输入整数";case"maxlength":return"长度不能超过"+e;case"minlength":return"长度不能小于"+e;case"rangelength":return"长度不能要介于"+e[0]+"和"+e[1]+"之间";case"range":return"请输入一个介于"+e[0]+" 和 "+e[1]+"之间的值";case"min":return"请输入一个最小为"+e+" 的值";case"max":return"请输入一个最大为"+e+"的值";case"extension":return"请上传"+e+"格式的附件";default:return"请输入正确的"+this.options.text}},destroy:function(){if(this.dom.OrgWidgetList){this.dom.OrgWidgetList.each(function(t){t.destroy()})}if(this.mElement){this.mElement.empty()}MWF.release(this)}});MDomItem.Util={selectCalendar:function(e,t,i,s){var n=i.type;var a={style:"xform",isTime:n=="time"||n.toLowerCase()=="datetime",timeOnly:n=="time",target:t,onComplate:function(t,e){if(s)s(t,e)}.bind(this)};if(i.calendarOptions){a=Object.merge(a,i.calendarOptions)}MWF.require("MWF.widget.Calendar",function(){var t=new MWF.widget.Calendar(e,a);t.show()}.bind(this))},selectPerson:function(t,e,i){MWF.xDesktop.requireApp("Selector","package",null,false);var s="",n=[];var a=e.type;if(typeOf(a)=="array"){if(a.length>1){n=a}else if(a.length==0){s="person"}else{s=a[0]||"person"}}else{s=a||"person"}var o={type:s,types:n,title:e.title,count:e.count,values:e.selectedValues||[],units:e.units,unitType:e.unitType,groups:e.groups,expand:e.expand,onComplete:function(t){if(i)i(t)}.bind(this)};var l=new MWF.O2Selector(t,o)},replaceText:function(t,e,i,s){if(typeOf(t)=="number")t=[t];if(typeOf(e)=="number")e=[e];if(typeOf(i)=="number")i=[i];var n=typeOf(t)=="array"?t:t.split(s);var a=typeOf(e)=="array"?e:e.split(s);var o=typeOf(i)=="array"?i:i.split(s);for(var l=0;l<n.length;l++){for(var r=0;r<a.length;r++){if(n[l]==a[r]){n[l]=o[r]}}}return n},getEvents:function(events){if(!events||events==""||events=="$none")return;if(typeof events=="string"){if(events.indexOf("^^")>-1){var eventsArr=events.split("##");if(eventsArr[0].split("^^").length!=2)return;events={};for(var i=0;i<eventsArr.length;i++){var ename=eventsArr[i].split("^^")[0];var efunction=eventsArr[i].split("^^")[1];events[ename]=eval("(function(){ return "+efunction+" })()")}}else{eval("var events = "+events)}}return events},bindEvent:function(e,t,i){i=MDomItem.Util.getEvents(i);if(typeOf(i)=="object"){for(var s in i){t.addEvent(s,function(t){this.fun.call(t?t.target:null,e.module||e,t)}.bind({fun:i[s]}))}}}};MDomItem.Text=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container},load:function(){if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var t=this.module;var e=this.options;var i;var s;if(typeOf(e.value)==="boolean"){s=e.value.toString()}else{s=e.value||e.defaultValue}var n=t.container;var a=this.getClassName();i=new Element("input",{type:"text",name:e.name,value:s});i.set(e.attr||{});if(a&&this.css&&this.css[a])i.setStyles(this.css[a]);i.setStyles(e.style||{});this.bindDefaultEvent(i);MDomItem.Util.bindEvent(this,i,e.event);if(n)i.inject(n);this.items.push(i)},loadRead:function(){var t=this.module;var e=this.options;var i;var s;var n=this.getClassName();var a=t.container;if(typeOf(e.value)==="boolean"){s=e.value.toString()}else{s=e.value||e.defaultValue}i=new Element("span",{name:e.name,text:s});i.set(e.attr);if(n&&this.css&&this.css[n])i.setStyles(this.css[n]);i.setStyles(e.style||{});if(a)i.inject(a);this.items.push(i)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i=this.options.name;var s=this.mElement.getElement("[name='"+i+"']");if(this.options.isEdited){e=s.get("value")}else{e=s.get("text")}if(t=="value")return e;if(t=="text")return e;return{value:e,text:e}},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElement("[name='"+this.options.name+"']");if(this.options.isEdited){e.set("value",t)}else{e.set("text",t)}},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{if(typeOf(t)=="array"){if(t.contains("identity")||t.contains("person")||t.contains("unit")){e="inputPerson"}else{e="inputText"}}else{if(!t){e="inputText"}else if(t=="number"){e="inputText"}else if(t=="time"||t=="date"||t.toLowerCase()=="datetime"){e="inputTime"}else if(t=="identity"||t=="person"||t.toLowerCase()=="unit"){e="inputPerson"}else{e="inputText"}}}return e},bindDefaultEvent:function(i){if(this.options.unsetDefaultEvent)return;var s=this.options.tType;var t="text";if(typeOf(s)=="array"||(s=="identity"||s.toLowerCase()=="person"||s=="unit")){i.addEvent("click",function(){this.module.fireEvent("querySelect",this.module);var t=this.options;var e={type:s,title:t.text,count:t.count,selectedValues:this.get("value").split(","),units:t.units,unitType:t.unitType,groups:t.groups,expand:t.expand};MDomItem.Util.selectPerson(this.app.content,e,function(t){i.empty();this.orgData=this.module.orgData=[];this.orgObject=this.module.orgObject=t;t.each(function(t){this.orgData.push(t.data.distinguishedName||t.data.name)}.bind(this));i.set("value",this.orgData.join(","));this.items[0].fireEvent("change")}.bind(this))}.bind(this))}else{if(s=="number"){i.addEvent("keyup",function(){this.value=this.value.replace(/[^\d.]/g,"")})}else if(s=="time"||s.toLowerCase()=="datetime"||s=="date"){i.addEvent("click",function(){this.module.fireEvent("querySelect",this.module);MDomItem.Util.selectCalendar(i,this.app.content,{calendarOptions:this.options.calendarOptions,type:s},function(t,e){this.items[0].fireEvent("change")}.bind(this))}.bind(this))}}}});MDomItem.Textarea=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container},load:function(){if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var t=this.module;var e=this.options;var i;var s;if(typeOf(e.value)==="boolean"){s=e.value.toString()}else{s=e.value||e.defaultValue}var n=t.container;var a=this.getClassName();i=new Element("textarea",{name:e.name,value:s});i.set(e.attr||{});if(a&&this.css&&this.css[a])i.setStyles(this.css[a]);i.setStyles(e.style||{});MDomItem.Util.bindEvent(this,i,e.event);if(n)i.inject(n);this.items.push(i)},loadRead:function(){var t=this.module;var e=this.options;var i;var s;var n=this.getClassName();var a=t.container;if(typeOf(e.value)==="boolean"){s=e.value.toString()}else{s=e.value||e.defaultValue}i=new Element("span",{name:e.name,text:s});i.set(e.attr||{});if(n&&this.css&&this.css[n])i.setStyles(this.css[n]);i.setStyles(e.style||{});if(a)i.inject(a);this.items.push(i)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i=this.options.name;var s=this.mElement.getElement("[name='"+i+"']");if(this.options.isEdited){e=s.get("value")}else{e=s.get("text")}if(t=="value")return e;if(t=="text")return e;return{value:e,text:e}},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElement("[name='"+this.options.name+"']");if(this.options.isEdited){e.set("value",t)}else{e.set("text",t)}},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{e="inputTextarea"}return e}});MDomItem.Hidden=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container},load:function(){var t=this.container;var e=new Element("input",{type:"hidden",name:this.options.name,value:this.options.value});e.set(this.options.attr||{});if(t)e.inject(t);this.items.push(e)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i=this.options.name;var s=this.mElement.getElement("[name='"+i+"']");if(this.options.isEdited){e=s.get("value")}else{e=s.get("text")}if(t=="value")return e;if(t=="text")return e;return{value:e,text:e}},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("value",t)},getErrorText:function(){return this.options.text+"不能为空"}});MDomItem.Password=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container},load:function(){if(this.options.isEdited){this.loadEdit()}else{}},loadEdit:function(){var t=this.module;var e=this.options;var i;var s;if(typeOf(e.value)==="boolean"){s=e.value.toString()}else{s=e.value||e.defaultValue}var n=t.container;var a=this.getClassName();i=new Element("input",{type:"password",name:e.name,value:s});i.set(e.attr||{});if(a&&this.css&&this.css[a])i.setStyles(this.css[a]);i.setStyles(e.style||{});MDomItem.Util.bindEvent(this,i,e.event);if(n)i.inject(n);this.items.push(i)},loadRead:function(){},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i=this.options.name;var s=this.mElement.getElement("[name='"+i+"']");if(this.options.isEdited){e=s.get("value")}else{e=options.value||options.defaultValue}if(t=="value")return e;if(t=="text")return e;return{value:e,text:e}},setValue:function(t){if(this.options.disable){return}if(this.options.isEdited){var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("value",t)}else{this.options.value=t}},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{e="inputPassword"}return e}});MDomItem.Radio=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var s=this;var t;var e=this.options.name;var n;if(typeOf(this.options.value)==="boolean"){n=this.options.value.toString()}else{n=this.options.value||this.options.defaultValue}var a=this.options.selectValue||this.options.selectText;var o=this.options.selectText||this.options.selectValue;var l=this.options.event;var r=this.options.style||{};var h=this.options.attr||{};var u=this.container;var p=this.getClassName();var c=typeOf(a)=="array"?a:a.split(this.valSeparator);var m=typeOf(o)=="array"?o:o.split(this.valSeparator);for(i=0;i<c.length;i++){t=new Element("div");if(p&&this.css&&this.css[p])t.setStyles(this.css[p]);t.setStyles(r);var f=new Element("input",{type:"radio",name:e,value:c[i],checked:c[i]==n}).inject(t);f.set(h);var d=new Element("span",{text:m[i]}).inject(t);d.addEvent("click",function(t){this.input.checked=!this.input.checked;var e=MDomItem.Util.getEvents(s.options.event);if(typeOf(e)=="object"){if(e.change){e.change.call(this.input,s.module,t)}if(e.click){e.click.call(this.input,s.module,t)}}}.bind({input:f}));MDomItem.Util.bindEvent(this,t,l);if(u)t.inject(u);this.items.push(t)}},loadRead:function(){var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.selectValue||this.options.selectText;var n=this.options.selectText||this.options.selectValue;var a=this.options.style||{};var o=this.options.attr||{};var l=this.container;var r=this.getClassName();if(s&&n){i=MDomItem.Util.replaceText(i,s,n,this.valSeparator);i=i.join(",")}t=new Element("span",{name:e,text:i});t.set(o);if(r&&this.css&&this.css[r])t.setStyles(this.css[r]);t.setStyles(a);if(l)t.inject(l);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s;var n=this.options.name;s=this.mElement.getElements("[name='"+n+"']");if(this.options.isEdited){s.each(function(t){if(t.checked){e=t.get("value");i=t.getParent().get("text").trim()}})}else{i=s[0].get("text");if(this.options.selectValue&&this.options.selectText){e=MDomItem.Util.replaceText(i,this.options.selectText,this.options.selectValue,this.valSeparator).join()}else{e=i}}if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(e){if(this.options.disable){return}var t=this.mElement.getElements("[name='"+this.options.name+"']");if(this.options.isEdited){t.each(function(t){if(t.get("value")==e)t.checked=true})}else{e=MDomItem.Util.replaceText(e,this.options.selectValue,this.options.selectText,this.valSeparator);e=e.join(",");t[0].set("text",e)}},getErrorText:function(){return"请先选择"+this.options.text},getClassName:function(){var t=null;if(this.options.className=="none"){}else if(this.options.className!=""){t=this.options.className}else if(!this.options.isEdited){}else{t="inputRadio"}return t}});MDomItem.Checkbox=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var i=this;var t;var e;var s=this.options.name;var n;if(typeOf(this.options.value)==="boolean"){n=this.options.value.toString()}else{n=this.options.value||this.options.defaultValue}var a=this.options.selectValue||this.options.selectText;var o=this.options.selectText||this.options.selectValue;var l=this.options.event;var r=this.options.style||{};var h=this.options.attr||{};var u=this.options.isEdited;var p=this.mElement=this.container;var c=this.getClassName();e=typeOf(n)=="string"?n.split(this.valSeparator):n;e=typeOf(n)=="array"?n:[n];var m=typeOf(a)=="array"?a:a.split(this.valSeparator);var f=typeOf(o)=="array"?o:o.split(this.valSeparator);for(var d=0;d<m.length;d++){t=new Element("div");if(c&&this.css&&this.css[c])t.setStyles(this.css[c]);t.setStyles(r);var v=new Element("input",{type:"checkbox",name:s,value:m[d],checked:e.contains(m[d])}).inject(t);v.set(h);var g=new Element("span",{text:f[d]}).inject(t);g.addEvent("click",function(t){this.input.checked=!this.input.checked;var e=MDomItem.Util.getEvents(i.options.event);if(typeOf(e)=="object"){if(e.change){e.change.call(this.input,i.module,t)}if(e.click){e.click.call(this.input,i.module,t)}}}.bind({input:v}));MDomItem.Util.bindEvent(this,t,l);if(p)t.inject(p);this.items.push(t)}},loadRead:function(){var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.selectValue||this.options.selectText;var n=this.options.selectText||this.options.selectValue;var a=this.options.style||{};var o=this.options.attr||{};var l=this.mElement=this.container;var r=this.getClassName();if(s&&n){i=MDomItem.Util.replaceText(i,s,n,this.valSeparator);i=i.join(",")}t=new Element("span",{name:e,text:i});t.set(o);if(r&&this.css&&this.css[r])t.setStyles(this.css[r]);t.setStyles(a);if(l)t.inject(l);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s;var n=this.options.name;s=this.mElement.getElements("[name='"+n+"']");if(this.options.isEdited){e=[];i=[];s.each(function(t){if(t.checked){e.push(t.get("value"));i.push(t.getParent().get("text").trim())}})}else{i=s[0].get("text");if(this.options.selectValue&&this.options.selectText){e=MDomItem.Util.replaceText(i,this.options.selectText,this.options.selectValue,this.valSeparator)}else{e=i}}if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElements("[name='"+this.options.name+"']");if(this.options.isEdited){var i=typeOf(t)=="array"?t:t.split("^^");e.each(function(t){if(i.contains(t.get("value"))){t.checked=true}else{t.checked=false}})}else{t=MDomItem.Util.replaceText(t,this.options.selectValue,this.options.selectText,this.valSeparator);t=t.join(",");e[0].set("text",t)}},getErrorText:function(){return"请先选择"+this.options.text},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{e="inputCheckbox"}return e}});MDomItem.Select=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var t;var e=this.options.name;var s;if(typeOf(this.options.value)==="boolean"){s=this.options.value.toString()}else{s=this.options.value||this.options.defaultValue}var n=this.options.selectValue||this.options.selectText;var a=this.options.selectText||this.options.selectValue;var o=this.options.event;var l=this.options.style||{};var r=this.options.attr||{};var h=this.container;var u=this.getClassName();t=new Element("select",{name:e});t.set(r);if(u&&this.css&&this.css[u])t.setStyles(this.css[u]);t.setStyles(l);var p=typeOf(n)=="array"?n:n.split(this.valSeparator);var c=typeOf(a)=="array"?a:a.split(this.valSeparator);for(i=0;i<p.length;i++){new Element("option",{value:p[i],selected:p[i]==s,text:c[i]}).inject(t)}MDomItem.Util.bindEvent(this,t,o);if(h)t.inject(h);this.items.push(t)},loadRead:function(){var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.selectValue||this.options.selectText;var n=this.options.selectText||this.options.selectValue;var a=this.options.style||{};var o=this.options.attr||{};var l=this.mElement=this.container;var r=this.getClassName();if(s&&n){i=MDomItem.Util.replaceText(i,s,n,this.valSeparator);i=i.join(",")}t=new Element("span",{name:e,text:i});t.set(o);if(r&&this.css&&this.css[r])t.setStyles(this.css[r]);t.setStyles(a);if(l)t.inject(l);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s;var n=this.options.name;s=this.mElement.getElements("[name='"+n+"']");if(this.options.isEdited){s[0].getElements("option").each(function(t){if(t.selected){e=t.get("value");i=t.get("text").trim()}})}else{i=s[0].get("text");if(this.options.selectValue&&this.options.selectText){e=MDomItem.Util.replaceText(i,this.options.selectText,this.options.selectValue,this.valSeparator).join()}else{e=i}}if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(e){if(this.options.disable){return}var t=this.mElement.getElements("[name='"+this.options.name+"']");if(this.options.isEdited){t[0].getElements("option").each(function(t){if(t.get("value")==e)t.selected=true})}else{e=MDomItem.Util.replaceText(e,this.options.selectValue,this.options.selectText,this.valSeparator);e=e.join(",");t[0].set("text",e)}},getErrorText:function(){return"请先选择"+this.options.text},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{e="inputSelect"}return e}});MDomItem.Multiselect=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var t;var e;var s=this.options.name;var n;if(typeOf(this.options.value)==="boolean"){n=this.options.value.toString()}else{n=this.options.value||this.options.defaultValue}var a=this.options.selectValue||this.options.selectText;var o=this.options.selectText||this.options.selectValue;var l=this.options.event;var r=this.options.style||{};var h=this.options.attr||{};var u=this.container;var p=this.getClassName();e=typeOf(n)=="string"?n.split(this.valSeparator):n;e=typeOf(n)=="array"?n:[n];t=new Element("select",{name:s,multiple:true});t.set(h);if(p&&this.css&&this.css[p])t.setStyles(this.css[p]);t.setStyles(r);var c=typeOf(a)=="array"?a:a.split(this.valSeparator);var m=typeOf(o)=="array"?o:o.split(this.valSeparator);for(i=0;i<c.length;i++){new Element("option",{value:c[i],selected:e.contains(c[i]),text:m[i]}).inject(t)}MDomItem.Util.bindEvent(this,t,l);if(u)t.inject(u);this.items.push(t)},loadRead:function(){var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.selectValue||this.options.selectText;var n=this.options.selectText||this.options.selectValue;var a=this.options.style||{};var o=this.options.attr||{};var l=this.container;var r=this.getClassName();if(s&&n){i=MDomItem.Util.replaceText(i,s,n,this.valSeparator);i=i.join(",")}t=new Element("span",{name:e,text:i});t.set(o);if(r&&this.css&&this.css[r])t.setStyles(this.css[r]);t.setStyles(a);if(l)t.inject(l);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s;var n=this.options.name;s=this.mElement.getElements("[name='"+n+"']");if(this.options.isEdited){e=[];i=[];s[0].getElements("option").each(function(t){if(t.selected){e.push(t.get("value"));i.push(t.get("text").trim())}})}else{i=s[0].get("text");if(this.options.selectValue&&this.options.selectText){e=MDomItem.Util.replaceText(i,this.options.selectText,this.options.selectValue,this.valSeparator)}else{e=i}}if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElements("[name='"+this.options.name+"']");if(this.options.isEdited){var i=typeOf(t)=="array"?t:t.split("^^");e[0].getElements("option").each(function(t){if(i.contains(t.get("value"))){t.selected=true}else{t.selected=false}})}else{t=MDomItem.Util.replaceText(t,this.options.selectValue,this.options.selectText,this.valSeparator);t=t.join(",");e[0].set("text",t)}},getErrorText:function(){return"请先选择"+this.options.text},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{e="inputMultiselect"}return e}});MDomItem.Innertext=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.selectValue||this.options.selectText;var n=this.options.selectText||this.options.selectValue;var a=this.options.style||{};var o=this.options.attr||{};var l=this.mElement=this.container;var r=this.getClassName();if(s&&n){i=MDomItem.Util.replaceText(i,s,n,this.valSeparator);i=i.join(",")}t=new Element("span",{name:e,text:i});t.set(o);if(r&&this.css&&this.css[r])t.setStyles(this.css[r]);t.setStyles(a);if(this.options.isEdited){MDomItem.Util.bindEvent(this,t,this.options.event)}if(l)t.inject(l);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s=this.options.name;var n=this.mElement.getElement("[name='"+s+"']");i=n.get("text");if(this.options.selectValue&&this.options.selectText){e=MDomItem.Util.replaceText(i,this.options.selectText,this.options.selectValue,this.valSeparator)}else{e=i}if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}t=MDomItem.Util.replaceText(t,this.options.selectValue,this.options.selectText,this.valSeparator);t=t.join(",");var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("text",t)},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{}return e}});MDomItem.Innerhtml=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.selectValue||this.options.selectText;var n=this.options.selectText||this.options.selectValue;var a=this.options.style||{};var o=this.options.attr||{};var l=this.mElement=this.container;var r=this.getClassName();if(s&&n){i=MDomItem.Util.replaceText(i,s,n,this.valSeparator);i=i.join(",")}t=new Element("span",{name:e,html:i});t.set(o);if(r&&this.css&&this.css[r])t.setStyles(this.css[r]);t.setStyles(a);if(this.options.isEdited){MDomItem.Util.bindEvent(this,t,this.options.event)}if(l)t.inject(l);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s=this.options.name;var n=this.mElement.getElement("[name='"+s+"']");i=n.get("html");if(this.options.selectValue&&this.options.selectText){e=MDomItem.Util.replaceText(i,this.options.selectText,this.options.selectValue,this.valSeparator)}else{e=i}if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}t=MDomItem.Util.replaceText(t,this.options.selectValue,this.options.selectText,this.valSeparator);t=t.join(",");var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("html",t)},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{}return e}});MDomItem.Img=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.items=t.items;this.container=this.mElement=t.container},load:function(){if(this.options.disable)return;var t;var e=this.options.name;var i=this.options.value||this.options.defaultValue;var s=this.options.event;var n=this.options.style||{};var a=this.options.attr||{};var o=this.container;var l=this.getClassName();t=new Element("img",{name:e,src:i});t.set(a);if(l&&this.css&&this.css[l])t.setStyles(this.css[l]);t.setStyles(n);MDomItem.Util.bindEvent(this,t,s);if(o)t.inject(o);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s=this.options.name;var n=this.mElement.getElement("[name='"+s+"']");e=n.get("src");if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("src",t)},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=this.options.tType;var e=null;if(this.options.className=="none"){}else if(this.options.className!=""){e=this.options.className}else if(!this.options.isEdited){}else{}return e}});MDomItem.Button=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.items=t.items;this.container=this.mElement=t.container},load:function(){if(this.options.disable)return;var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.event;var n=this.options.style||{};var a=this.options.attr||{};var o=this.container;var l=this.getClassName();t=new Element("button",{type:"button",name:e,value:i,text:i});t.set(a);if(l&&this.css&&this.css[l])t.setStyles(this.css[l]);t.setStyles(n);MDomItem.Util.bindEvent(this,t,s);if(o)t.inject(o);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s=this.options.name;var n=this.mElement.getElement("[name='"+s+"']");e=n.get("value");if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("value",t)},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=null;if(this.options.className=="none"){}else if(this.options.className!=""){t=this.options.className}else if(!this.options.isEdited){}else{t="inputButton"}return t}});MDomItem.A=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.items=t.items;this.container=this.mElement=t.container},load:function(){if(this.options.disable)return;var t;var e=this.options.name;var i;if(typeOf(this.options.value)==="boolean"){i=this.options.value.toString()}else{i=this.options.value||this.options.defaultValue}var s=this.options.event;var n=this.options.style||{};var a=this.options.attr||{};var o=this.container;var l=this.getClassName();t=new Element("a",{name:e,value:i,text:i});t.set(a);if(l&&this.css&&this.css[l])t.setStyles(this.css[l]);t.setStyles(n);MDomItem.Util.bindEvent(this,t,s);if(o)t.inject(o);this.items.push(t)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;var s=this.options.name;var n=this.mElement.getElement("[name='"+s+"']");e=n.get("value");if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("value",t)},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=null;if(this.options.className=="none"){}else if(this.options.className!=""){t=this.options.className}else if(!this.options.isEdited){}else{t="inputA"}return t}});MDomItem.MSelector=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;MWF.xDesktop.requireApp("Template","MSelector",null,false);var t;if(typeOf(this.options.value)==="boolean"){t=this.options.value.toString()}else{t=this.options.value||this.options.defaultValue}var e=this.options.selectValue||this.options.selectText;var i=this.options.selectText||this.options.selectValue;this.mSelectorOptions={style:"default",width:"230px",height:"30px",defaultOptionLp:"请选择",trigger:"delay",isSetSelectedValue:true,inputEnable:false,isCreateReadNode:false,textField:"",valueField:"",value:t,text:"",defaultVaue:this.options.defaultValue,selectValue:e,selectText:i,isEdited:this.options.isEdited};if(this.options.mSelectorOptions){this.mSelectorOptions=Object.merge(this.mSelectorOptions,this.options.mSelectorOptions)}this.mSelectorOptions.value=t;if(!this.options.isEdited){var s=this.options.name;var n;var a=this.options.attr||{};var o=this.getClassName();var l=this.options.style||{};var r=this.container;this.mSelectorOptions.onLoadReadNode=function(t){if(this.items.length>0){r.empty()}n=new Element("span",{name:s,text:t});n.set(a);if(o&&this.css&&this.css[o])n.setStyles(this.css[o]);n.setStyles(l);if(r)n.inject(r);this.items.push(n)}.bind(this)}this.mSelector=new MSelector(this.container,this.mSelectorOptions,this.app,this.css);this.mSelector.load()},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}if(t=="value")return this.mSelector.getValue();if(t=="text")return this.mSelector.getText();return this.mSelector.get()},setValue:function(t){this.mSelector.setValue(t)},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=null;if(this.options.className=="none"){}else if(this.options.className!=""){t=this.options.className}else if(!this.options.isEdited){}else{}return t}});MDomItem.ImageClipper=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var t;var e;var i=this.options.name;var s;if(typeOf(this.options.value)==="boolean"){s=this.options.value.toString()}else{s=this.options.value||this.options.defaultValue}var n=this.options.style||{};var a=this.container;this.imageId=this.module.imageId=s;if(s&&a){if(n.imageWrapStyle){this.imageWrap=new Element("div",{styles:n.imageWrapStyle}).inject(a)}this.image=new Element("img",{src:MWF.xDesktop.getImageSrc(s)}).inject(this.imageWrap||a);this.image.addEvent("click",function(){window.open(MWF.xDesktop.getImageSrc(this.imageId),"_blank")}.bind(this));if(n.imageStyle)this.image.setStyles(n.imageStyle)}var o=new Element("button",{text:"设置图片"}).inject(a);if(n.actionStyle)o.setStyles(n.actionStyle);o.addEvents({click:function(){MWF.xDesktop.requireApp("Template","widget.ImageClipper",null,false);this.clipper=new MWF.xApplication.Template.widget.ImageClipper(this.app,{imageUrl:s?MWF.xDesktop.getImageSrc(s):"",aspectRatio:this.options.aspectRatio||0,ratioAdjustedEnable:this.options.ratioAdjustedEnable||false,reference:this.options.reference,referenceType:this.options.referenceType,onChange:function(){if(this.image)this.image.destroy();if(this.imageWrap)this.imageWrap.destroy();if(n.imageWrapStyle){this.imageWrap=new Element("div",{styles:n.imageWrapStyle}).inject(a,"top")}this.image=new Element("img",{src:this.clipper.imageSrc}).inject(this.imageWrap||a,"top");if(n.imageStyle)this.image.setStyles(n.imageStyle);this.image.addEvent("click",function(){window.open(MWF.xDesktop.getImageSrc(this.imageId),"_blank")}.bind(this));this.imageId=this.module.imageId=this.clipper.imageId}.bind(this)});this.clipper.load()}.bind(this)})},loadRead:function(){var t=this.options.value||this.options.defaultValue;var e=this.container;this.imageId=this.module.imageId=t;if(t&&e){this.image=new Element("img",{src:MWF.xDesktop.getImageSrc(t)}).inject(e);var i=this.options.style||{};if(i.imageStyle)this.image.setStyles(i.imageStyle)}},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i=this.imageId;if(t=="value")return i;if(t=="text")return i;var s={};s.value=i;s.text=i;return s},setValue:function(t){if(this.options.disable){return}var e=this.options.style||{};this.imageId=this.module.imageId=t;if(t){if(this.image){this.image.set("src",MWF.xDesktop.getImageSrc(t))}else{if(e.imageWrapStyle){this.imageWrap=new Element("div",{styles:e.imageWrapStyle}).inject(this.container)}this.image=new Element("img",{src:MWF.xDesktop.getImageSrc(t)}).inject(this.imageWrap||this.container);if(e.imageStyle)this.image.setStyles(e.imageStyle)}}},getErrorText:function(){return"请先上传图片:"+this.options.text}});MDomItem.Rtf=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var s=this;var t;var i=this.options.name;var n=this.options.value||this.options.defaultValue;var a=this.options.attr||{};var o=this.container;COMMON.AjaxModule.load("ckeditor",function(){CKEDITOR.disableAutoInline=true;var t=new Element("div",{name:i,id:i});t.set(a);if(o)t.inject(o);if(n)t.set("html",n);var e={resize_enabled:true,autoParagraph:true,autoUpdateElement:true,enterMode:1,readOnly:false};if(this.options.RTFConfig){e=Object.merge(e,this.options.RTFConfig)}if(!e.filebrowserFilesImage&&!e.cloudFileDisable){e.filebrowserFilesImage=function(t,i){MWF.xDesktop.requireApp("File","FileSelector",function(){s.selector_cloud=new MWF.xApplication.File.FileSelector(document.body,{style:"default",title:"选择云文件图片",toBase64:true,listStyle:"preview",selectType:"images",onPostSelectAttachment:function(t,e){if(i)i(t,e)}});s.selector_cloud.load()},true)}}this.editor=this.module.editor=CKEDITOR.replace(t,e);this.items.push(this.editor)}.bind(this))},loadRead:function(){var t=this;var e;var i=this.options.name;var s=this.options.value||this.options.defaultValue;var n=this.options.style||{};var a=this.options.attr||{};var o=this.container;var l=null;e=new Element("span",{name:i,html:s});e.set(a);if(l&&this.css&&this.css[l])e.setStyles(this.css[l]);e.setStyles(n);if(o)e.inject(o);this.items.push(e)},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e;var i;if(this.options.isEdited){if(this.options.RTFConfig&&this.options.RTFConfig.isSetImageMaxWidth){var s=new Element("div",{styles:{display:"none"},html:this.editor.getData()}).inject(this.container);s.getElements("img").each(function(t){t.setStyle("max-width","100%")});e=s.get("html");s.destroy()}else{e=this.editor.getData()}}else{var n=this.mElement.getElement("[name='"+name+"']");e=n.get("html")}if(!e)e="";if(!i)i=e;if(t=="value")return e;if(t=="text")return i;var a={};a.value=e;a.text=i;return a},setValue:function(t){if(this.options.disable){return}if(this.options.isEdited){this.editor.setData(t)}else{var e=this.mElement.getElement("[name='"+this.options.name+"']");e.set("html",t)}},getErrorText:function(){return this.options.text+"不能为空"},getClassName:function(){var t=null;if(this.options.className=="none"){}else if(this.options.className!=""){t=this.options.className}else if(!this.options.isEdited){}else{}return t}});MDomItem.Org=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){var t;var e=this.options.name;var i=this.options.value||this.options.defaultValue;var s=this.options.style||{};var n=this.options.attr||{};var a=this.container;var o=this.getClassName();if(!i){this.orgData=[]}else if(typeOf(i)=="array"){this.orgData=i}else if(typeOf(i)=="string"){this.orgData=i.split(this.valSeparator)}else{this.orgData=[]}t=new Element("div",{name:e});t.set(n);if(o&&this.css&&this.css[o])t.setStyles(this.css[o]);t.setStyles(s);this.loadOrgWidget(this.orgData,t,true);this.bindDefaultEvent(t);MDomItem.Util.bindEvent(this,t,this.options.event);if(a)t.inject(a);this.items.push(t)},loadRead:function(){var t;var e=this.options.name;var i=this.options.value||this.options.defaultValue;var s=this.options.style||{};var n=this.options.attr||{};var a=this.container;var o=this.getClassName();if(!i){this.orgData=[]}else if(typeOf(i)=="array"){this.orgData=i}else if(typeOf(i)=="string"){this.orgData=i.split(this.valSeparator)}else{this.orgData=[]}this.module.orgData=this.orgData;t=new Element("div",{name:e});t.set(n);if(o&&this.css&&this.css[o])t.setStyles(this.css[o]);t.setStyles(s);this.loadOrgWidget(this.orgData,t,false);if(a)t.inject(a);this.items.push(t)},getData:function(e){var i=[];this.OrgWidgetList.each(function(t){i.push(e?MWF.org.parseOrgData(t.data):t.data)}.bind(this));return i},get:function(t){if(this.options.disable){return t=="value"||t=="text"?null:{value:null,text:null}}var e=this.orgData;if(t=="value")return e;if(t=="text")return e;var i={};i.value=e;i.text=e;return i},setValue:function(t){if(this.options.disable){return}var e=this.mElement.getElement("[name='"+this.options.name+"']");if(!t){this.orgData=[]}else if(typeOf(t)=="array"){this.orgData=t}else if(typeOf(t)=="string"){this.orgData=t.split(this.valSeparator)}else{this.orgData=[]}e.empty();this.loadOrgWidget(this.orgData,e,this.options.isEdited);this.module.orgData=this.orgData},getErrorText:function(){return"请先选择"+this.options.text},bindDefaultEvent:function(i){if(this.options.unsetDefaultEvent)return;i.addEvent("click",function(){this.module.fireEvent("querySelect",this.module);var t=this.options;var e={type:t.orgType,title:t.text,count:t.count,selectedValues:this.orgData,units:t.units,unitType:t.unitType,groups:t.groups,expand:t.expand};MDomItem.Util.selectPerson(this.app.content,e,function(t){i.empty();this.orgData=this.module.orgData=[];this.orgObject=this.module.orgObject=t;t.each(function(t){this.orgData.push(t.data.distinguishedName||t.data.name)}.bind(this));this.OrgWidgetList=[];this.loadOrgWidget(this.orgData,i,true);this.modified=true;this.items[0].fireEvent("change")}.bind(this))}.bind(this))},getValueByType:function(t){var i=typeOf(t)=="string"?t.split(","):t;i=i.map(function(t,e){switch(t.toLowerCase()){case"person":return"p";case"identity":return"i";case"unit":return"u";case"group":return"g";case"role":return"r";default:return t.toLowerCase()}});var s=[];this.get("value").each(function(t){var e=t.substr(t.length-1,1);if(i.contains(e.toLowerCase()))s.push(t)});return s},loadOrgWidget:function(t,l,e){this.OrgWidgetList=this.OrgWidgetList||[];MWF.require("MWF.widget.O2Identity",null,false);var r={style:this.options.orgStyle||"xform",canRemove:e,onRemove:this.removeOrgItem};if(this.options.orgWidgetOptions){r=Object.merge(r,this.options.orgWidgetOptions)}t.each(function(t){var e=t.substr(t.length-1,1);var i={name:t};switch(e.toLowerCase()){case"i":var s=new MWF.widget.O2Identity(i,l,r);break;case"p":var s=new MWF.widget.O2Person(i,l,r);break;case"u":var s=new MWF.widget.O2Unit(i,l,r);break;case"g":var s=new MWF.widget.O2Group(i,l,r);break;default:var n=this.options.orgType;var a=typeOf(n)=="array"&&n.length==1?n[0]:n;a=typeOf(a)=="string"?a.toLowerCase():"";if(a=="identity"){var s=new MWF.widget.O2Identity(i,l,r)}else if(a=="person"){var s=new MWF.widget.O2Person(i,l,r)}else if(a=="unit"){var s=new MWF.widget.O2Unit(i,l,r)}else if(a=="group"){var s=new MWF.widget.O2Group(i,l,r)}else if(a=="process"){var o={id:t};var s=new MWF.widget.O2Process(o,l,r)}else if(a=="CMSView"){var o={id:t};var s=new MWF.widget.O2CMSView(o,l,r)}else{var s=new MWF.widget.O2Other(i,l,r)}}s.field=this;this.OrgWidgetList.push(s)}.bind(this))},removeOrgItem:function(t,e){var i=this.field;var s=t.data.distinguishedName||t.data.name;var n=[];var a;i.orgData.each(function(t,e){if(t!=s)n.push(t)});i.orgData=n;if(i.orgObject){n=[];i.orgObject.each(function(t){if(t.distinguishedName){if(t.distinguishedName!=s)n.push(t)}else{if(t.name!=s)n.push(t)}});i.orgObject=n}this.node.destroy();i.items[0].fireEvent("change");e.stopPropagation()},getClassName:function(){var t=null;if(this.options.className=="none"){}else if(this.options.className!=""){t=this.options.className}else if(!this.options.isEdited){}else{t="inputPerson"}return t}});MDomItem.File=new Class({initialize:function(t){this.module=t;this.options=t.options;this.css=t.css;this.app=t.app;this.items=t.items;this.container=this.mElement=t.container;this.valSeparator=t.valSeparator},load:function(){if(this.options.disable)return;if(this.options.isEdited){this.loadEdit()}else{this.loadRead()}},loadEdit:function(){},loadRead:function(){},get:function(t){},setValue:function(t){},getErrorText:function(){}});
|