FormField.min.js 3.5 KB

1
  1. MWF.xApplication.Selector=MWF.xApplication.Selector||{};MWF.xDesktop.requireApp("Selector","Identity",null,false);MWF.xApplication.Selector.FormField=new Class({Extends:MWF.xApplication.Selector.Identity,options:{style:"default",count:0,title:MWF.xApplication.Selector.LP.selectField,fieldType:"",values:[],application:"",expand:false},loadSelectItems:function(e){if(this.options.application){this.designerAction.listFormField(this.options.application,function(e){this.fieldData=e.data;if(this.options.fieldType){if(e.data[this.options.fieldType]){e.data[this.options.fieldType].each(function(e){e.id=e.name;var t=this._newItem(e,this,this.itemAreaNode)}.bind(this))}}else{Object.each(e.data,function(e,t){var i=this._newItemCategory({name:t,data:e},this,this.itemAreaNode)}.bind(this))}}.bind(this))}},_scrollEvent:function(e){return true},_getChildrenItemIds:function(){return null},_newItemCategory:function(e,t,i,n){return new MWF.xApplication.Selector.FormField.ItemCategory(e,t,i,n)},_listItemByKey:function(e,t,i){var n=[];if(this.options.fieldType){n=this.fieldData[this.options.fieldType]}else{Object.each(this.fieldData,function(e,t){n=n.length?n.concat(e):e}.bind(this))}var o=[];n.each(function(e){if(e.name.toLowerCase().indexOf(i.toLowerCase())!==-1)o.push(e)}.bind(this));if(e)e.apply(this,[{data:o}])},_getItem:function(e,t,i,n){if(e)e.apply(this,[{data:{name:i,id:i}}])},_newItemSelected:function(e,t,i){return new MWF.xApplication.Selector.FormField.ItemSelected(e,t,i)},_listItemByPinyin:function(e,t,i){this._listItemByKey(e,t,i)},_newItem:function(e,t,i,n){return new MWF.xApplication.Selector.FormField.Item(e,t,i,n)}});MWF.xApplication.Selector.FormField.Item=new Class({Extends:MWF.xApplication.Selector.Identity.Item,_getShowName:function(){return this.data.name},_setIcon:function(){this.iconNode.setStyle("background-image","url("+"/x_component_Selector/$Selector/default/icon/processicon.png)")},checkSelectedSingle:function(){var e=this.selector.options.values.filter(function(e,t){if(typeOf(e)==="object")return this.data.name===e.name;if(typeOf(e)==="string")return this.data.name===e;return false}.bind(this));if(e.length){this.selectedSingle()}},checkSelected:function(){var e=this.selector.selectedItems.filter(function(e,t){return e.data.name===this.data.name}.bind(this));if(e.length){e[0].addItem(this);this.selectedItem=e[0];this.setSelected()}},loadSubItem:function(){return false},getData:function(e){if(e)e()}});MWF.xApplication.Selector.FormField.ItemSelected=new Class({Extends:MWF.xApplication.Selector.Identity.ItemSelected,getData:function(e){if(e)e()},_getShowName:function(){return this.data.name},_setIcon:function(){this.iconNode.setStyle("background-image","url("+"/x_component_Selector/$Selector/default/icon/processicon.png)")},check:function(){if(this.selector.items.length){var e=this.selector.items.filter(function(e,t){return e.data.name===this.data.name}.bind(this));this.items=e;if(e.length){e.each(function(e){e.selectedItem=this;e.setSelected()}.bind(this))}}}});MWF.xApplication.Selector.FormField.ItemCategory=new Class({Extends:MWF.xApplication.Selector.Identity.ItemCategory,_setIcon:function(){this.iconNode.setStyle("background-image","url("+"/x_component_Selector/$Selector/default/icon/applicationicon.png)")},loadSub:function(e){if(!this.loaded){var t=this.selector.fieldData[this.data.name];t.each(function(e){var t=this.selector._newItem(e,this.selector,this.children,this.level+1)}.bind(this));this.loaded=true;if(e)e()}else{if(e)e()}},_hasChild:function(){var e=this.selector.fieldData[this.data.name];return e&&e.length}});