| 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(addToNext){if(this.options.dutys.length){this.options.dutys.each(function(duty){var data={name:duty,id:duty};var category=this._newItemCategory("ItemCategory",data,this,this.itemAreaNode);category.loadSub();category.clickItem()}.bind(this))}},search:function(){debugger;var key=this.searchInput.get("value");if(key){this.initSearchArea(true);this.searchInItems(key)}else{this.initSearchArea(false)}},listPersonByPinyin:function(node){this.searchInput.focus();var pinyin=this.searchInput.get("value");pinyin=pinyin+node.get("text");this.searchInput.set("value",pinyin);this.search()},checkLoadSelectItems:function(){if(!this.options.units.length){this.loadSelectItems()}else{this.loadSelectItems()}},_scrollEvent:function(y){return true},_getChildrenItemIds:function(){return null},_newItemCategory:function(type,data,selector,item,level){return new MWF.xApplication.Selector.IdentityWidthDuty[type](data,selector,item,level)},_listItemByKey:function(callback,failure,key){debugger;if(this.options.units.length)key={key:key,unitList:this.options.units};this.orgAction.listIdentityByKey(function(json){if(callback)callback.apply(this,[json])}.bind(this),failure,key)},_getItem:function(callback,failure,id,async){this.orgAction.getIdentity(function(json){if(callback)callback.apply(this,[json])}.bind(this),failure,typeOf(id)==="string"?id:id.distinguishedName,async)},_newItemSelected:function(data,selector,item){return new MWF.xApplication.Selector.IdentityWidthDuty.ItemSelected(data,selector,item)},_listItemByPinyin:function(callback,failure,key){if(this.options.units.length)key={key:key,unitList:this.options.units};this.orgAction.listIdentityByPinyin(function(json){if(callback)callback.apply(this,[json])}.bind(this),failure,key)},_newItem:function(data,selector,container,level){return new MWF.xApplication.Selector.IdentityWidthDuty.Item(data,selector,container,level)},_newItemSearch:function(data,selector,container,level){return new MWF.xApplication.Selector.IdentityWidthDuty.SearchItem(data,selector,container,level)}});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 firstLoaded=!this.loaded;this.loadSub(function(){if(firstLoaded){this.children.setStyles({display:"block",height:"auto"});this.actionNode.setStyles(this.selector.css.selectorItemCategoryActionNode_expand)}else{var display=this.children.getStyle("display");if(display==="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(callback){if(!this.loaded){if(this.selector.options.units.length){var action=MWF.Actions.get("x_organization_assemble_express");var data={name:this.data.name,unit:""};this.selector.options.units.each(function(u){if(typeOf(u)==="string"){data.unit=u}else{data.unit=u.distinguishedName||u.unique||u.id||u.levelName}action.getDuty(data,function(json){json.data.each(function(idSubData){var item=this.selector._newItem(idSubData,this.selector,this.children,this.level+1);this.selector.items.push(item)}.bind(this))}.bind(this))}.bind(this));this.loaded=true;if(callback)callback()}else{this.selector.orgAction.listIdentityWithDuty(function(json){json.data.each(function(idSubData){var item=this.selector._newItem(idSubData,this.selector,this.children,this.level+1);this.selector.items.push(item)}.bind(this));this.loaded=true;if(callback)callback()}.bind(this),null,this.data.name)}}else{if(callback)callback()}},_hasChild:function(){return true}});MWF.xApplication.Selector.IdentityWidthDuty.Filter=new Class({Implements:[Options,Events],options:{style:"default",units:[],dutys:[]},initialize:function(value,options){this.setOptions(options);this.value=value;this.orgAction=MWF.Actions.get("x_organization_assemble_control")},getList:function(callback){debugger;if(false&&this.list){if(callback)callback()}else{this.list=[];MWF.require("MWF.widget.PinYin",function(){this.options.dutys.each(function(duty){if(this.options.units.length){var action=MWF.Actions.get("x_organization_assemble_express");var data={name:duty,unit:""};this.options.units.each(function(u){if(typeOf(u)==="string"){data.unit=u}else{data.unit=u.distinguishedName||u.unique||u.id||u.levelName}action.getDuty(data,function(json){json.data.each(function(d){d.pinyin=d.name.toPY().toLowerCase();d.firstPY=d.name.toPYFirst().toLowerCase();this.list.push(d)}.bind(this))}.bind(this),null,false)}.bind(this))}else{this.orgAction.listIdentityWithDuty(function(json){json.data.each(function(d){d.pinyin=d.name.toPY().toLowerCase();d.firstPY=d.name.toPYFirst().toLowerCase();this.list.push(d)}.bind(this))}.bind(this),null,duty,false)}}.bind(this));if(callback)callback()}.bind(this))}},filter:function(value,callback){this.value=value;this.getList(function(){var data=this.list.filter(function(d){var text=d.name+"#"+d.pinyin+"#"+d.firstPY;return text.indexOf(this.value)!=-1}.bind(this));if(callback)callback(data)}.bind(this))}});
|