| 1 |
- MWF.require("MWF.widget.PinYin",null,false);MWF.xDesktop.requireApp("process.Xform","Combox",null,false);MWF.xApplication.process.Xform.Address=MWF.APPAddress=new Class({Implements:[Events],Extends:MWF.APPCombox,options:{moduleEvents:["load","queryLoad","postLoad","commitInput","change"]},initialize:function(t,i,e){this.node=$(t);this.node.store("module",this);this.json=i;this.form=e;this.field=true},_loadNode:function(){if(this.readonly){this._loadNodeRead()}else{this._loadNodeEdit()}},_loadNodeRead:function(){this.node.empty()},_loadNodeEdit:function(){this.node.empty();MWF.require("MWF.widget.Combox",function(){this.combox=new MWF.widget.Combox({count:4,focusList:true,onCommitInput:function(){this.fireEvent("commitInput")}.bind(this),onChange:function(){this.fireEvent("change")}.bind(this),optionsMethod:this._searchOptions.bind(this)});this.combox.intoEdit=function(t){if(this.options.count){if(this.values.length>=this.options.count){if(this.input)this.input.node.hide();return false}}if(!this.input){this.input=new MWF.widget.Combox.Input(this,this,"");this.input.node.inject(this.node);this.input.node.setStyle("width","1px")}this.input.node.show();this.input.setInputNodeStyles();this.input.node.focus();this.input.setInputPosition();if(this.options.focusList)this.input.searchItems()}}.bind(this),false);this.combox.inject(this.node);this.node.set({id:this.json.id,MWFType:this.json.type});this.combox.addEvent("change",function(){this.validationMode();if(this.validation())this._setBusinessData(this.getInputData("change"))}.bind(this))},_searchOptions:function(o,i){o=o.toLowerCase();var t=this.combox.editItem?this.combox.editItem.getItemPosition():this.combox.values.length;switch(t){case 0:MWF.UD.getPublicData("addr_province",function(t){var e=[];t.each(function(t){var i=t+MWF.widget.PinYin.toPY(t).toLowerCase()+MWF.widget.PinYin.toPYFirst(t).toLowerCase();if(o){if(i.indexOf(o)!==-1)e.push({text:t,value:t})}else{e.push({text:t,value:t})}}.bind(this));if(e.length)if(i)i(e)});break;case 1:var e=this.combox.getFirst();MWF.UD.getPublicData("addr_city_"+e.data,function(t){var e=[];t.each(function(t){var i=t+MWF.widget.PinYin.toPY(t).toLowerCase()+MWF.widget.PinYin.toPYFirst(t).toLowerCase();if(o){if(i.indexOf(o)!==-1)e.push({text:t,value:t})}else{e.push({text:t,value:t})}}.bind(this));if(e.length)if(i)i(e)});break;case 2:var e=this.combox.getFirst().getNextItem();MWF.UD.getPublicData("addr_district_"+e.data,function(t){var e=[];t.each(function(t){var i=t+MWF.widget.PinYin.toPY(t).toLowerCase()+MWF.widget.PinYin.toPYFirst(t).toLowerCase();if(o){if(i.indexOf(o)!==-1)e.push({text:t,value:t})}else{e.push({text:t,value:t})}}.bind(this));if(e.length)if(i)i(e)});break;default:if(i)i([])}}});
|