| 1 |
- MWF.xApplication.Selector=MWF.xApplication.Selector||{};MWF.xDesktop.requireApp("Selector","Identity",null,false);MWF.xApplication.Selector.Unit=new Class({Extends:MWF.xApplication.Selector.Identity,options:{style:"default",count:0,title:MWF.xApplication.Selector.LP.selectUnit,units:[],values:[],zIndex:1e3,expand:true},loadSelectItems:function(t){if(this.options.units.length){this.options.units.each(function(t){if(typeOf(t)==="string"){debugger;this.orgAction.getUnit(function(t){t.data=typeOf(t.data)=="object"?[t.data]:t.data;if(t.data.length){t.data.each(function(t){if(t.subDirectUnitCount)var e=this._newItemCategory("ItemCategory",t,this,this.itemAreaNode)}.bind(this))}}.bind(this),null,t)}else{this.orgAction.getUnit(function(t){t.data=typeOf(t.data)=="object"?[t.data]:t.data;if(t.data.length){t.data.each(function(t){if(t.subDirectUnitCount)var e=this._newItemCategory("ItemCategory",t,this,this.itemAreaNode)}.bind(this))}}.bind(this),null,t.id)}}.bind(this))}else{this.orgAction.listTopUnit(function(t){t.data.each(function(t){var e=this._newItem(t,this,this.itemAreaNode,1)}.bind(this))}.bind(this))}},_scrollEvent:function(t){return true},_getChildrenItemIds:function(){return null},_newItemCategory:function(t,e,i,n,s){return new MWF.xApplication.Selector.Unit[t](e,i,n,s)},_listItemByKey:function(e,t,i){if(this.options.units.length){var n=[];this.options.units.each(function(t){if(typeOf(t)==="string"){n.push(t)}if(typeOf(t)==="object"){n.push(t.distinguishedName)}});i={key:i,unitList:n}}this.orgAction.listUnitByKey(function(t){if(e)e.apply(this,[t])}.bind(this),t,i)},_getItem:function(e,t,i,n){this.orgAction.getUnit(function(t){if(e)e.apply(this,[t])}.bind(this),t,typeOf(i)==="string"?i:i.distinguishedName,n)},_newItemSelected:function(t,e,i){return new MWF.xApplication.Selector.Unit.ItemSelected(t,e,i)},_listItemByPinyin:function(e,t,i){if(this.options.units.length){var n=[];this.options.units.each(function(t){if(typeOf(t)==="string"){n.push(t)}if(typeOf(t)==="object"){n.push(t.distinguishedName)}});i={key:i,unitList:n}}this.orgAction.listUnitByPinyininitial(function(t){if(e)e.apply(this,[t])}.bind(this),t,i)},_newItem:function(t,e,i,n){return new MWF.xApplication.Selector.Unit.Item(t,e,i,n)},_newItemSearch:function(t,e,i,n){return new MWF.xApplication.Selector.Unit.SearchItem(t,e,i,n)}});MWF.xApplication.Selector.Unit.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/departmenticon.png)")},loadSubItem:function(){this.isExpand=this.selector.options.expand;if(this.data.subDirectUnitCount){if(this.selector.options.expand){if(this.level===1){this.levelNode.setStyles(this.selector.css.selectorItemLevelNode_expand);this.loadSubItems()}else{this.isExpand=false;this.levelNode.setStyles(this.selector.css.selectorItemLevelNode_collapse)}}else{this.levelNode.setStyles(this.selector.css.selectorItemLevelNode_collapse)}this.levelNode.addEvent("click",function(t){if(this.isExpand){this.children.setStyle("display","none");this.levelNode.setStyles(this.selector.css.selectorItemLevelNode_collapse);this.isExpand=false}else{this.loadSubItems();this.levelNode.setStyles(this.selector.css.selectorItemLevelNode_expand);this.isExpand=true}t.stopPropagation()}.bind(this))}},loadSubItems:function(){if(!this.loaded){if(!this.children){this.children=new Element("div",{styles:this.selector.css.selectorItemCategoryChildrenNode}).inject(this.node,"after")}this.children.setStyle("display","block");this.selector.orgAction.listSubUnitDirect(function(t){t.data.each(function(t){var e=this.selector._newItem(t,this.selector,this.children,this.level+1)}.bind(this));this.loaded=true}.bind(this),null,this.data.distinguishedName)}else{this.children.setStyle("display","block")}},getData:function(t){if(t)t()}});MWF.xApplication.Selector.Unit.SearchItem=new Class({Extends:MWF.xApplication.Selector.Unit.Item,_getShowName:function(){return this.data.levelName||this.data.name}});MWF.xApplication.Selector.Unit.ItemSelected=new Class({Extends:MWF.xApplication.Selector.Identity.ItemSelected,getData:function(t){if(t)t()},_getTtiteText:function(){return this.data.levelName||this.data.name},_getShowName:function(){return this.data.name+(this.data.levelName?"("+this.data.levelName+")":"")},_setIcon:function(){this.iconNode.setStyle("background-image","url("+"/x_component_Selector/$Selector/default/icon/departmenticon.png)")}});MWF.xApplication.Selector.Unit.ItemCategory=new Class({Extends:MWF.xApplication.Selector.Identity.ItemCategory,loadSub:function(e){if(!this.loaded){this.selector.orgAction.listSubUnitDirect(function(t){t.data.each(function(t){var e=this.selector._newItem(t,this.selector,this.children,this.level+1)}.bind(this));this.loaded=true;if(e)e()}.bind(this),null,this.data.distinguishedName)}else{if(e)e()}},_hasChild:function(){var t=this.data.subDirectUnitCount?this.data.subDirectUnitCount:0;return t}});MWF.xApplication.Selector.Unit.Filter=new Class({Implements:[Options,Events],options:{style:"default",units:[]},initialize:function(t,e){this.setOptions(e);this.value=t;this.orgAction=MWF.Actions.get("x_organization_assemble_control")},filter:function(t,e){this.value=t;var i=this.value;if(this.options.units.length){var n=[];this.options.units.each(function(t){if(typeOf(t)==="string"){n.push(t)}if(typeOf(t)==="object"){n.push(t.distinguishedName)}});i={key:i,unitList:n}}this.orgAction.listUnitByKey(function(t){data=t.data;if(e)e(data)}.bind(this),null,i)}});
|