IdentityWidthDuty.min.js 6.2 KB

1
  1. MWF.xApplication.Selector=MWF.xApplication.Selector||{};MWF.xDesktop.requireApp("Selector","Identity",null,false);MWF.xApplication.Selector.IdentityWidthDuty=new Class({Extends:MWF.xApplication.Selector.Identity,options:{style:"default",count:0,title:MWF.xApplication.Selector.LP.selectIdentity,dutys:[],units:[],values:[],zIndex:1e3,expand:false},loadSelectItems:function(t){if(this.options.dutys.length){this.options.dutys.each(function(t){var e={name:t,id:t};var i=this._newItemCategory("ItemCategory",e,this,this.itemAreaNode);i.loadSub();i.clickItem()}.bind(this))}},search:function(){debugger;var t=this.searchInput.get("value");if(t){this.initSearchArea(true);this.searchInItems(t)}else{this.initSearchArea(false)}},listPersonByPinyin:function(t){this.searchInput.focus();var e=this.searchInput.get("value");e=e+t.get("text");this.searchInput.set("value",e);this.search()},checkLoadSelectItems:function(){if(!this.options.units.length){this.loadSelectItems()}else{this.loadSelectItems()}},_scrollEvent:function(t){return true},_getChildrenItemIds:function(){return null},_newItemCategory:function(t,e,i,n,s){return new MWF.xApplication.Selector.IdentityWidthDuty[t](e,i,n,s)},_listItemByKey:function(e,t,i){debugger;if(this.options.units.length)i={key:i,unitList:this.options.units};this.orgAction.listIdentityByKey(function(t){if(e)e.apply(this,[t])}.bind(this),t,i)},_getItem:function(e,t,i,n){this.orgAction.getIdentity(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.IdentityWidthDuty.ItemSelected(t,e,i)},_listItemByPinyin:function(e,t,i){if(this.options.units.length)i={key:i,unitList:this.options.units};this.orgAction.listIdentityByPinyin(function(t){if(e)e.apply(this,[t])}.bind(this),t,i)},_newItem:function(t,e,i,n){return new MWF.xApplication.Selector.IdentityWidthDuty.Item(t,e,i,n)},_newItemSearch:function(t,e,i,n){return new MWF.xApplication.Selector.IdentityWidthDuty.SearchItem(t,e,i,n)}});MWF.xApplication.Selector.IdentityWidthDuty.Item=new Class({Extends:MWF.xApplication.Selector.Identity.Item,_getShowName:function(){return this.data.name},_getTtiteText:function(){return this.data.name+(this.data.unitLevelName?"("+this.data.unitLevelName+")":"")},_setIcon:function(){this.iconNode.setStyle("background-image","url("+"/x_component_Selector/$Selector/default/icon/personicon.png)")}});MWF.xApplication.Selector.IdentityWidthDuty.SearchItem=new Class({Extends:MWF.xApplication.Selector.Identity.Item,_getShowName:function(){return this.data.name+(this.data.unitLevelName?"("+this.data.unitLevelName+")":"")}});MWF.xApplication.Selector.IdentityWidthDuty.ItemSelected=new Class({Extends:MWF.xApplication.Selector.Identity.ItemSelected,_getShowName:function(){return this.data.name+(this.data.unitLevelName?"("+this.data.unitLevelName+")":"")},_getTtiteText:function(){return this.data.name+(this.data.unitLevelName?"("+this.data.unitLevelName+")":"")},_setIcon:function(){this.iconNode.setStyle("background-image","url("+"/x_component_Selector/$Selector/default/icon/personicon.png)")}});MWF.xApplication.Selector.IdentityWidthDuty.ItemCategory=new Class({Extends:MWF.xApplication.Selector.Identity.ItemCategory,createNode:function(){this.node=new Element("div",{styles:this.selector.css.selectorItemCategory_department}).inject(this.container)},_getShowName:function(){return this.data.name},_setIcon:function(){this.iconNode.setStyle("background-image","url("+"/x_component_Selector/$Selector/default/icon/companyicon.png)")},clickItem:function(){if(this._hasChild()){var e=!this.loaded;this.loadSub(function(){if(e){this.children.setStyles({display:"block",height:"auto"});this.actionNode.setStyles(this.selector.css.selectorItemCategoryActionNode_expand)}else{var t=this.children.getStyle("display");if(t==="none"){this.children.setStyles({display:"block",height:"auto"});this.actionNode.setStyles(this.selector.css.selectorItemCategoryActionNode_expand)}else{this.children.setStyles({display:"none",height:"0px"});this.actionNode.setStyles(this.selector.css.selectorItemCategoryActionNode_collapse)}}}.bind(this))}},loadSub:function(e){if(!this.loaded){if(this.selector.options.units.length){var i=MWF.Actions.get("x_organization_assemble_express");var n={name:this.data.name,unit:""};this.selector.options.units.each(function(t){if(typeOf(t)==="string"){n.unit=t}else{n.unit=t.distinguishedName||t.unique||t.id||t.levelName}i.getDuty(n,function(t){t.data.each(function(t){var e=this.selector._newItem(t,this.selector,this.children,this.level+1);this.selector.items.push(e)}.bind(this))}.bind(this))}.bind(this));this.loaded=true;if(e)e()}else{this.selector.orgAction.listIdentityWithDuty(function(t){t.data.each(function(t){var e=this.selector._newItem(t,this.selector,this.children,this.level+1);this.selector.items.push(e)}.bind(this));this.loaded=true;if(e)e()}.bind(this),null,this.data.name)}}else{if(e)e()}},_hasChild:function(){return true}});MWF.xApplication.Selector.IdentityWidthDuty.Filter=new Class({Implements:[Options,Events],options:{style:"default",units:[],dutys:[]},initialize:function(t,e){this.setOptions(e);this.value=t;this.orgAction=MWF.Actions.get("x_organization_assemble_control")},getList:function(t){debugger;if(false&&this.list){if(t)t()}else{this.list=[];MWF.require("MWF.widget.PinYin",function(){this.options.dutys.each(function(t){if(this.options.units.length){var e=MWF.Actions.get("x_organization_assemble_express");var i={name:t,unit:""};this.options.units.each(function(t){if(typeOf(t)==="string"){i.unit=t}else{i.unit=t.distinguishedName||t.unique||t.id||t.levelName}e.getDuty(i,function(t){t.data.each(function(t){t.pinyin=t.name.toPY().toLowerCase();t.firstPY=t.name.toPYFirst().toLowerCase();this.list.push(t)}.bind(this))}.bind(this),null,false)}.bind(this))}else{this.orgAction.listIdentityWithDuty(function(t){t.data.each(function(t){t.pinyin=t.name.toPY().toLowerCase();t.firstPY=t.name.toPYFirst().toLowerCase();this.list.push(t)}.bind(this))}.bind(this),null,t,false)}}.bind(this));if(t)t()}.bind(this))}},filter:function(t,e){this.value=t;this.getList(function(){var t=this.list.filter(function(t){var e=t.name+"#"+t.pinyin+"#"+t.firstPY;return e.indexOf(this.value)!=-1}.bind(this));if(e)e(t)}.bind(this))}});