| 12 |
- MWF.require("MWF.widget.O2Identity",null,false);MWF.xDesktop.requireApp("Org","$Explorer",null,false);MWF.xApplication.Org.UnitExplorer=new Class({Extends:MWF.xApplication.Org.$Explorer,Implements:[Options,Events],options:{style:"default",lp:{},creator:false},_loadLp:function(){this.options.lp={search:this.app.lp.search,searchText:this.app.lp.searchText,elementSave:this.app.lp.organizationSave,deleteElements:this.app.lp.deleteOrganization,deleteElementsCancel:this.app.lp.deleteElementsCancel,deleteElementsTitle:this.app.lp.deleteOrganizationTitle,deleteElementsConfirm:this.app.lp.deleteOrganizationSubConfirm,noSignature:this.app.lp.noSignature,edit:this.app.lp.edit,cancel:this.app.lp.cancel,save:this.app.lp.save,add:this.app.lp.add}},loadElements:function(t){if(!this.isElementLoaded){if(!this.loaddingElement){this.loaddingElement=true;this._listElementNext(function(t){if(t.data.length){this.loadListContent(t.data)}else{if(!this.elements.length){this.setNoGroupNoticeArea()}}this.loadElementQueue=0;this.isElementLoaded=true;this.loaddingElement=false}.bind(this))}else{if(t)this.loadElementQueue++}}},loadListContent:function(t){t.each(function(t,e){var i=this._newElement(t,this,e);this.elements.push(i);i.load();if(this.elements.length===1){i.selected();if(!i.isExpand)i.expand()}}.bind(this))},_listElementNext:function(t){this.actions.listTopUnit(function(e){if(t)t.apply(this,[e])}.bind(this))},_newElement:function(t,e){return new MWF.xApplication.Org.UnitExplorer.Unit(t,e,this.isEditor,0)},_listElementByKey:function(t,e,i){this.actions.listUnitByKey(function(e){if(t)t.apply(this,[e])}.bind(this),e,i)},_getAddElementData:function(){return{name:"",unique:"",typeList:["company"],description:"",shortName:"",superior:"",orderNumber:"",controllerList:[],control:{allowEdit:true,allowDelete:true},woSubDirectIdentityList:[],woUnitAttributeList:[],woUnitDutyList:[]}},deleteSelectedElements:function(t){var e=this;this.app.confirm("infor",t,this.options.lp.deleteElementsTitle,{html:this.options.lp.deleteElementsConfirm},500,260,function(){var t=[];var i=0;var s=e.deleteElements.length;var n="";var o;o=function(){if(i===s){if(n){e.app.notice(n,"error",e.propertyContentNode,{x:"left",y:"top"})}}};e.deleteElements.each(function(s){s["delete"](function(){t.push(s);i++;if(e.deleteElements.length===i){e.deleteElements=e.deleteElements.filter(function(e){return!t.contains(e)});e.checkDeleteElements()}o()},function(s){n=n?n+"<br/><br/>"+s:s;i++;if(e.deleteElements.length!==i){}else{e.deleteElements=e.deleteElements.filter(function(e){return!t.contains(e)});e.checkDeleteElements()}o()})});this.close()},function(){this.close()})}});MWF.xApplication.Org.UnitExplorer.Unit=new Class({Extends:MWF.xApplication.Org.$Explorer.Item,initialize:function(t,e,i,s,n,o){this.i=s;this.level=s;this.parent=o;this.data=t;this.explorer=e;this.listNode=n||this.explorer.listNode;this.propertyContentNode=this.explorer.propertyContentNode;this.initStyle();this.selectedAttributes=[];this.isEdit=false;this.isEditor=i;this.deleteSelected=false;this.subUnits=[]},refresh:function(){this._loadTextNode();if(this.content){if(this.content.titleInfor)this.content.titleInfor.refresh();if(this.content.bottomInfor)this.content.bottomInfor.refresh()}this.addActions()},initStyle:function(){var t=Object.clone(this.explorer.css.item);this.style=Object.merge(t,this.explorer.css.unitItem)},_loadTextNode:function(){this.textNode.set({text:this.data.name+(this.data.subDirectUnitCount?" ("+this.data.subDirectUnitCount+")":"")})},load:function(){this.node=new Element("div",{styles:this.style.node}).inject(this.listNode);this.contentNode=new Element("div",{styles:this.style.contentNode}).inject(this.node);var t=10*this.level;this.contentNode.setStyle("padding-left",""+t+"px");if(this.level%2===1){this.node.setStyle("background-color","#ffffff");this.contentNode.setStyle("background-color","#ffffff")}this.childNode=new Element("div",{styles:this.style.childNode}).inject(this.node);this.toggleIconNode=new Element("div",{styles:this.style.unitToggleIconNode}).inject(this.contentNode);this.setToggleIconNode();this.setToggleAction();this.iconNode=new Element("div",{styles:this.style.unitIconNode}).inject(this.contentNode);var e=this._getIcon();this.iconNode.setStyle("background-image","url("+e+")");this.actionNode=new Element("div",{styles:this.style.actionNode}).inject(this.contentNode);this.textNode=new Element("div",{styles:this.style.unitTextNode}).inject(this.contentNode);this._loadTextNode();this.setNewItem();this.node.inject(this.listNode);this.addActions();this.setEvent()},addActions:function(){debugger;if(this.data.id){if(this.data.control.allowDelete){if(!this.deleteNode){this.deleteNode=new Element("div",{styles:this.style.actionDeleteNode}).inject(this.actionNode);this.deleteNode.addEvent("click",function(t){if(!this.notDelete){if(!this.deleteSelected){this.setDelete()}else{this.setUndelete()}}t.stopPropagation()}.bind(this))}}if(this.data.control.allowEdit){if(!this.addNode){this.addNode=new Element("div",{styles:this.style.actionAddNode}).inject(this.actionNode);this.addNode.addEvent("click",function(t){if(!this.notDelete){this.addSubUnit()}t.stopPropagation()}.bind(this))}}if(this.explorer.currentItem===this){if(this.deleteNode)this.deleteNode.setStyles(this.style.actionDeleteNode_selected);if(this.addNode)this.addNode.setStyles(this.style.actionAddNode_selected)}}},addSubUnit:function(){this.expand(function(){debugger;var t=true;if(this.explorer.currentItem)t=this.explorer.currentItem.unSelected();if(t){var e=this.explorer._getAddElementData();e.superior=this.data.id;var i=new MWF.xApplication.Org.UnitExplorer.Unit(e,this.explorer,this.isEditor,this.level+1,this.childNode,this);i.load();i.selected();i.editBaseInfor();new Fx.Scroll(this.explorer.listScrollNode).toElementCenter(i.node)}else{this.app.notice(this.explorer.options.lp.elementSave,"error",this.explorer.propertyContentNode)}}.bind(this))},setDeleteFromP:function(){this.notDelete=true;this.subUnits.each(function(t){t.setDeleteFromP()});this.deleteNode.setStyles(this.style.actionDeleteNode_delete);this.contentNode.setStyles(this.style.contentNode_delete);this.textNode.setStyles(this.style.unitTextNode);this.deleteSelected=true;this.explorer.checkDeleteElements(this)},setDelete:function(){this.subUnits.each(function(t){t.setDeleteFromP()});this.deleteNode.setStyles(this.style.actionDeleteNode_delete);if(this.addNode)this.addNode.setStyles(this.style.actionAddNode_delete);this.contentNode.setStyles(this.style.contentNode_delete);this.textNode.setStyles(this.style.unitTextNode);this.explorer.deleteElements.push(this);this.deleteSelected=true;this.explorer.checkDeleteElements(this)},setUndelete:function(){this.notDelete=false;this.subUnits.each(function(t){t.setUndelete()});if(this.explorer.currentItem!==this){if(this.deleteNode)this.deleteNode.setStyles(this.style.actionDeleteNode);if(this.addNode)this.addNode.setStyles(this.style.actionAddNode);this.contentNode.setStyles(this.style.contentNode);this.textNode.setStyles(this.style.unitTextNode)}else{this.contentNode.setStyles(this.style.contentNode_selected);this.textNode.setStyles(this.style.textNode_selected);this.actionNode.setStyles(this.style.actionNode_selected);if(this.deleteNode)this.deleteNode.setStyles(this.style.actionDeleteNode_selected);if(this.addNode)this.addNode.setStyles(this.style.actionAddNode_selected);if(this.addNode)this.addNode.setStyles(this.style.actionAddNode_selected)}this.explorer.deleteElements.erase(this);this.deleteSelected=false;this.explorer.checkDeleteElements(this)},setToggleIconNode:function(){if(this.data.subDirectUnitCount>0){var t=this.explorer.currentItem===this?"toggle_current_on":"toggle_on";var e=this.explorer.currentItem===this?"toggle_current_off":"toggle_off";if(this.isExpand){this.toggleIconNode.setStyle("background-image","url(/x_component_Org/$Explorer/"+this.explorer.app.options.style+"/icon/"+t+".png)")}else{this.toggleIconNode.setStyle("background-image","url(/x_component_Org/$Explorer/"+this.explorer.app.options.style+"/icon/"+e+".png)")}}else{this.toggleIconNode.setStyle("background-image","")}},setToggleAction:function(){debugger;this.toggleIconNode.addEvent("click",function(t){this.expandOrCollapse();t.stopPropagation()}.bind(this))},expandOrCollapse:function(){debugger;if(this.isExpand){this.collapse()}else{this.expand()}},listSubUnit:function(t){this.node.mask();this.explorer.actions.listSubUnitDirect(function(e){if(e.data.length){e.data.each(function(t){var e=new MWF.xApplication.Org.UnitExplorer.Unit(t,this.explorer,this.isEditor,this.level+1,this.childNode,this);this.explorer.elements.push(e);e.load();this.subUnits.push(e)}.bind(this))}this.isLoadSub=true;this.node.unmask();if(t)t()}.bind(this),null,this.data.id)},expand:function(t){this.childNode.setStyle("display","block");this.isExpand=true;this.setToggleIconNode();if(!this.isLoadSub){this.listSubUnit(t)}else{if(t)t()}},collapse:function(){this.childNode.setStyle("display","none");this.isExpand=false;this.setToggleIconNode()},unSelected:function(){if(this.content.baseInfor.mode==="edit")return false;this.explorer.currentItem=null;this.contentNode.setStyles(this.style.contentNode);this.textNode.setStyles(this.style.unitTextNode);this.actionNode.setStyles(this.style.actionNode);if(this.deleteNode)this.deleteNode.setStyles(this.style.actionDeleteNode);if(this.addNode)this.addNode.setStyles(this.style.actionAddNode);this.iconNode.setStyle("background-image","url("+this._getIcon()+")");this.setToggleIconNode();this.clearItemProperty();return true},selected:function(){this.explorer.currentItem=this;this.contentNode.setStyles(this.style.contentNode_selected);this.textNode.setStyles(this.style.textNode_selected);this.actionNode.setStyles(this.style.actionNode_selected);if(this.deleteNode)this.deleteNode.setStyles(this.style.actionDeleteNode_selected);if(this.addNode)this.addNode.setStyles(this.style.actionAddNode_selected);this.iconNode.setStyle("background-image","url("+this._getIcon()+")");this.setToggleIconNode();this.showItemProperty()},showItemProperty:function(){this.content=new MWF.xApplication.Org.UnitExplorer.UnitContent(this)},delete:function(t,e){this.explorer.actions.deleteUnit(this.data.id,function(){this.destroy();if(t)t()}.bind(this),function(t,i,s){var n=s;if(t)n=t.responseText;MWF.xDesktop.notice("error",{x:"right",y:"top"},"request json error: "+n);if(e)e()})},_getIcon:function(){return this.explorer.currentItem===this?"/x_component_Org/$Explorer/default/icon/unit_current.png":"/x_component_Org/$Explorer/default/icon/unit.png"},_isActionManager:function(){return MWF.AC.isOrganizationManager()||MWF.AC.isUnitManager()}});MWF.xApplication.Org.UnitExplorer.UnitContent=new Class({Extends:MWF.xApplication.Org.$Explorer.ItemContent,_getData:function(t){if(this.item.data.id){this.explorer.actions.getUnit(function(e){this.data=e.data;this.item.data=e.data;if(t)t()}.bind(this),null,this.item.data.id)}else{this.data=this.item.data;if(t)t()}},_showItemPropertyTitle:function(){this.titleInfor=new MWF.xApplication.Org.UnitExplorer.UnitContent.TitleInfor(this)},_showItemPropertyBottom:function(){this.bottomInfor=new MWF.xApplication.Org.UnitExplorer.UnitContent.BottomInfor(this)},loadItemPropertyTab:function(t){this.propertyTabContainerNode=new Element("div",{styles:this.item.style.tabTitleNode}).inject(this.propertyContentNode,"top");MWF.require("MWF.widget.Tab",function(){this.propertyTab=new MWF.widget.Tab(this.propertyContentNode,{style:"unit"});this.propertyTab.load();this.propertyTab.tabNodeContainer.inject(this.propertyTabContainerNode);if(t)t()}.bind(this))},_loadTabs:function(){this.baseContentNode=new Element("div",{styles:this.item.style.tabContentNode});this.basePage=this.propertyTab.addTab(this.baseContentNode,this.explorer.app.lp.unitBaseText);this.personMemberContentNode=new Element("div",{styles:this.item.style.tabContentNode});this.personMemberPage=this.propertyTab.addTab(this.personMemberContentNode,this.explorer.app.lp.unitPersonMembers);this.dutyContentNode=new Element("div",{styles:this.item.style.tabContentNode});this.dutyPage=this.propertyTab.addTab(this.dutyContentNode,this.explorer.app.lp.unitDutys);this.attributeContentNode=new Element("div",{styles:this.item.style.tabContentNode});this.attributePage=this.propertyTab.addTab(this.attributeContentNode,this.explorer.app.lp.unitAttribute)},_loadContent:function(){this._listBaseInfor();this.loadListCount();this._listIdentityMembers();this._listDutys();this._listAttributes()},loadListCount:function(){var t=this.data.woSubDirectIdentityList.length;if(t){if(this.identityCountNode){this.identityCountNode.set("text",t)}else{this.identityCountNode=new Element("div",{styles:this.item.style.tabCountNode,text:t}).inject(this.personMemberPage.tabNode)}}else{if(this.identityCountNode)this.identityCountNode.destroy()}var e=this.data.woUnitDutyList.length;if(e){if(this.dutyCountNode){this.dutyCountNode.set("text",e)}else{this.dutyCountNode=new Element("div",{styles:this.item.style.tabCountNode,text:e}).inject(this.dutyPage.tabNode)}}else{if(this.dutyCountNode)this.dutyCountNode.destroy()}var i=this.data.woUnitAttributeList.length;if(i){if(this.attributeCountNode){this.attributeCountNode.set("text",i)}else{this.attributeCountNode=new Element("div",{styles:this.item.style.tabCountNode,text:i}).inject(this.attributePage.tabNode)}}else{if(this.attributeCountNode)this.attributeCountNode.destroy()}},_listBaseInfor:function(){this.baseInfor=new MWF.xApplication.Org.UnitExplorer.UnitContent.BaseInfor(this)},_listDutys:function(){var t=this;this.dutyList=new MWF.xApplication.Org.List(this.dutyContentNode,this,{action:this.data.control.allowEdit,saveAction:"saveUnitduty",deleteAction:"deleteUnitduty",data:{description:"",name:"",unique:"",unit:this.data.id,orderNumber:"",identityList:[],woIdentityList:[]},attr:["name","description",{get:function(){return""},events:{init:function(){var e=this.td;if(this.item.list.options.action){var i=new Element("div",{styles:t.item.style.dutyIdentityAction}).inject(this.td);e=new Element("div",{styles:t.item.style.dutyIdentityContent}).inject(this.td);i.addEvent("click",function(){t.editDutyIdentity(this.data,e)}.bind(this))}var s=this.data;this.data.woIdentityList.each(function(i,n){new MWF.widget.O2Identity(i,e,{canRemove:t.data.control.allowEdit,onRemove:function(e,i){t.deleteDutyIdentity(s,i,e)}})}.bind(this))},click:function(){}}}],onPostSave:function(t,e){if(!t.data.id){t.data.id=e;this.data.woUnitDutyList.push(t.data)}this.loadListCount()}.bind(this),onPostDelete:function(t){if(this.dutyCountNode){var e=this.dutyCountNode.get("text").toInt()-t;this.dutyCountNode.set("text",e)}}.bind(this)});this.dutyList.load([{style:"width: 20%",text:this.explorer.app.lp.dutyName},{style:"",text:this.explorer.app.lp.description},{style:"width: 50%",text:this.explorer.app.lp.dutyMembers}]);this.data.woUnitDutyList.each(function(t){this.dutyList.push(t)}.bind(this))},editDutyIdentity:function(t,e){var i=this;MWF.xDesktop.requireApp("Selector","Identity",function(){var s=new MWF.xApplication.Selector.Identity(this.explorer.app.content,{values:t.identityList,onComplete:function(s){var n=[];var o=[];e.empty();s.each(function(s,d){n.push(s.data);o.push(s.data.id);new MWF.widget.O2Identity(s.data,e,{canRemove:true,onRemove:function(e,s){i.deleteDutyIdentity(t,s,e)}})}.bind(this));t.identityList=o;t.woIdentityList=n;i.saveDuty(t)}.bind(this)});s.load()}.bind(this))},deleteDutyIdentity:function(t,e,i){var s=this;var n=this.explorer.app.lp.deleteDutyIdentity.replace(/{duty}/g,t.name);n=n.replace(/{identity}/g,i.data.name);this.explorer.app.confirm("warn",e,this.explorer.app.lp.deleteDutyIdentityTitle,n,"360","170",function(){t.identityList.erase(i.data.id);t.woIdentityList=t.woIdentityList.filter(function(t){return i.data.id!==t.id});s.saveDuty(t,function(){i.destroy()});this.close()},function(){this.close()})},saveDuty:function(t,e){this.propertyContentScrollNode.mask({style:{opacity:.7,"background-color":"#999"}});this.explorer.actions.saveUnitduty(t,function(){this.propertyContentScrollNode.unmask();if(e)e()}.bind(this),function(t,e,i){var s=i;if(t)s=t.responseText;this.explorer.app.notice("request json error: "+s,"error");this.content.propertyContentScrollNode.unmask()}.bind(this))},_listAttributes:function(){this.attributeList=new MWF.xApplication.Org.List(this.attributeContentNode,this,{action:this.data.control.allowEdit,saveAction:"saveUnitattribute",deleteAction:"deleteUnitattribute",data:{description:"",name:"",unique:"",unit:this.data.id,orderNumber:"",attributeList:[]},attr:["name",{get:function(){return this.attributeList.join(",")},set:function(t){debugger;this.attributeList=t.split(/,\s*/g)}},"description"],onPostSave:function(t,e){if(!t.data.id){t.data.id=e;this.data.woUnitAttributeList.push(t.data)}this.loadListCount()}.bind(this),onPostDelete:function(t){if(this.attributeCountNode){var e=this.attributeCountNode.get("text").toInt()-t;this.attributeCountNode.set("text",e)}}.bind(this)});this.attributeList.load([{style:"width: 20%",text:this.explorer.app.lp.attributeName},{style:"width: 45%",text:this.explorer.app.lp.attributeValue},{style:"",text:this.explorer.app.lp.description}]);this.data.woUnitAttributeList.each(function(t){this.attributeList.push(t)}.bind(this))},_listIdentityMembers:function(){var t=this;this.identityMemberList=new MWF.xApplication.Org.List(this.personMemberContentNode,this,{action:this.data.control.allowEdit,canEdit:false,deleteAction:"deleteIdentity",deleteItemTitle:this.explorer.app.lp.deleteIdentityMemeberTitle,deleteItemText:this.explorer.app.lp.deleteIdentityMemeber,data:{},attr:[{get:function(){var e=t.explorer.actions.getPersonIcon(this.woPerson.id);return"<div style='width:24px; height:24px;''><img style='width:24px; height:24px; border-radius:12px; border: 0' src='"+e+"'/></div>"},set:function(){}},{get:function(){return this.woPerson.name}},{get:function(){return this.woPerson.employee}},{get:function(){return this.woPerson.mobile}},{get:function(){return this.woPerson.mail}},{get:function(){return"<div style='width:24px; height:24px; background:url(/x_component_Org/$Explorer/"+t.explorer.app.options.style+"/icon/open.png) center center no-repeat'></div>"},events:{click:function(){t.explorer.openPerson(this.data.woPerson,this.td)}}},{get:function(){return"<div style='-webkit-user-select: none; -moz-user-select: none; width:24px; height:24px; cursor: move; background:url(/x_component_Org/$Explorer/"+t.explorer.app.options.style+"/icon/move.png) center center no-repeat'></div>"},events:{selectstart:function(t){t.stopPropagation();t.preventDefault();return false},touchstart:function(e){t.startOrder(this.item,this.td,e)},mousedown:function(e){t.startOrder(this.item,this.td,e)}}}],onPostDelete:function(t){if(this.identityCountNode){var e=this.identityCountNode.get("text").toInt()-t;this.identityCountNode.set("text",e)}}.bind(this)});this.identityMemberList.addItem=this.addPersonMember.bind(this);this.identityMemberList.load([{style:"width: 30px",text:""},{style:"width: 20%",text:this.explorer.app.lp.personName},{style:"",text:this.explorer.app.lp.personEmployee},{style:"",text:this.explorer.app.lp.personMobile},{style:"",text:this.explorer.app.lp.personMail},{style:"width: 10px",text:""},{style:"width: 10px",text:""}]);this.data.woSubDirectIdentityList.each(function(t){var e=this.identityMemberList.push(t)}.bind(this))},startOrder:function(t,e,i){var s=e.getParent("tr");var n=s.getParent("table");var o=e.getFirst("div");var d=s.getSize();var l=n.getElement("tr");var r=new Element("table",{styles:{opacity:.7,border:"1px dashed #999","z-index":1e4,width:d.x,height:d.y,"background-color":"#CCC",position:"absolute"}}).inject(this.explorer.app.content);var a=s.clone().inject(r);var h=a.getElements("td");l.getElements("th").each(function(t,e){h[e].setStyle("width",""+t.getSize().x+"px")});r.position({relativeTo:s,position:"upperLeft",edge:"upperLeft"});o.setStyle("display","none");var c={};var p=s.getNext("tr");if(p)c=p.retrieve("data");if(!c)c={};var u=new Drag.Move(r,{container:n,droppables:n.getElements("tr").erase(s),preventDefault:true,stopPropagation:true,onStart:function(){s.setStyles({display:"none","background-color":"#dff3fc"})}.bind(this),onEnter:function(t,e){s.inject(e,"after");e.setStyles({background:"#fcf8f1"});s.setStyles({display:"table-row"});t.setStyles({display:"none"});var i=s.getNext("tr");if(i){c=i.retrieve("data")}else{c={}}if(!c)c={}},onLeave:function(t,e){e.setStyles({background:"transparent "});s.setStyles({display:"none"});t.setStyles({display:"block"})},onDrop:function(e,i,n){var d=s.getNext("tr");if(d){c=d.retrieve("data")}else{c={}}if(!c)c={};r.destroy();i.setStyles({background:"transparent "});s.setStyles({background:"transparent "});this.explorer.actions.orderIdentity(t.data.id,c.id||"(0)",function(){});o.setStyle("display","block")}.bind(this),onCancel:function(t){t.destroy();u=null;o.setStyle("display","block")}});u.start(i)},addPersonMember:function(){this.checkSaveBaseInfor(function(){MWF.xDesktop.requireApp("Selector","Person",function(){var t=new MWF.xApplication.Selector.Person(this.explorer.app.content,{values:[],onComplete:function(t){debugger;var e={description:"",name:"",unique:"",person:"",department:"",unit:this.data.id,orderNumber:""};t.each(function(t){var i=Object.clone(e);i.name=t.data.name;i.person=t.data.id;this.explorer.actions.saveIdentity(i,function(t){this.explorer.actions.getIdentity(function(t){this.data.woSubDirectIdentityList.push(t.data);this.identityMemberList.push(t.data);this.loadListCount()}.bind(this),null,t.data.id)}.bind(this))}.bind(this))}.bind(this)});t.load()}.bind(this))}.bind(this))},checkSaveBaseInfor:function(t){if(!this.data.id){if(this.baseInfor){if(this.baseInfor.mode==="edit")this.baseInfor.save(function(){if(t)t()}.bind(this))}}else{if(t)t()}}});MWF.xApplication.Org.UnitExplorer.UnitContent.TitleInfor=new Class({Extends:MWF.xApplication.Org.$Explorer.ItemContent.TitleInfor,_getStyle:function(){var t=Object.clone(this.item.style.person);return Object.merge(t,this.item.style.role)},_getIcon:function(){return"/x_component_Org/$Explorer/default/icon/unit70.png"},setBackground:function(){this.titleBgNode.setStyle("background-image","url(/x_component_Org/$Explorer/"+this.explorer.app.options.style+"/icon/unit_bg_bg.png)");this.titleNode.setStyle("background-image","url(/x_component_Org/$Explorer/"+this.explorer.app.options.style+"/icon/unit_bg.png)")},loadRightInfor:function(){var t=this.data.name;if(!this.nameNode)this.nameNode=new Element("div",{styles:this.style.titleInforNameNode}).inject(this.titleInforRightNode);if(!this.signatureNode)this.signatureNode=new Element("div",{styles:this.style.titleInforSignatureNode}).inject(this.titleInforRightNode);this.nameNode.set("text",t);this.signatureNode.set("text",this.data.levelName||"")}});MWF.xApplication.Org.UnitExplorer.UnitContent.BottomInfor=new Class({Extends:MWF.xApplication.Org.$Explorer.ItemContent.BottomInfor,addInforList:function(){var t=this.explorer.app.lp.unitReadDn.replace(/{dn}/g,this.data.distinguishedName||" ");this.addInfor(t);t=this.explorer.app.lp.unitReadLevel.replace(/{level}/g,this.data.level||" ");t=t.replace(/{levelName}/g,this.data.levelName||" ");this.addInfor(t);t=this.explorer.app.lp.unitReadCreate.replace(/{date}/g,this.data.createTime||" ");t=t.replace(/{date2}/g,this.data.updateTime||" ");this.addInfor(t)}});MWF.xApplication.Org.UnitExplorer.UnitContent.BaseInfor=new Class({initialize:function(t){this.content=t;this.item=t.item;this.data=this.item.data;this.explorer=this.item.explorer;this.contentNode=this.content.baseContentNode;this.style=this.item.style.person;this.attributes=[];this.mode="read";this.load()},load:function(){this.node=new Element("div",{styles:this.style.baseContentNode}).inject(this.contentNode);this.editContentNode=new Element("div",{styles:this.style.baseEditNode}).inject(this.node);this.editContentNode.set("html",this.getContentHtml());this.editContentNode.getElements("td.inforTitle").setStyles(this.style.baseInforTitleNode);this.editContentNode.getElements("td.inforContent").setStyles(this.style.baseInforContentNode);this.editContentNode.getElements("td.inforAction").setStyles(this.style.baseInforActionNode);var t=this.editContentNode.getElements("td.inforContent");if(this.data.controllerList){this.data.controllerList.each(function(e){new MWF.widget.O2Person({name:e},t[5],{style:"xform"})}.bind(this))}this.loadAction()},getContentHtml:function(){var t="<table width='100%' cellpadding='3px' cellspacing='5px'>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.unitName+":</td><td class='inforContent'>"+(this.data.name||"")+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.unitUnique+":</td><td class='inforContent'>"+(this.data.unique||"")+"</td></tr>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.unitTypeList+":</td><td class='inforContent'>"+(this.data.typeList.join(", ")||"")+"</td>"+"<td class='inforTitle'>"+this.explorer.app.lp.unitShortName+":</td><td class='inforContent'>"+(this.data.shortName||"")+"</td></tr>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.unitDescription+":</td><td colspan='3' class='inforContent'>"+(this.data.description||"")+"</td>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.unitControllerList+":</td><td colspan='3' class='inforContent'></td>";t+="<tr><td class='inforTitle'>"+this.explorer.app.lp.orderNumber+":</td><td colspan='3' class='inforContent'>"+(this.data.orderNumber||"")+"</td>";t+="<tr><td colspan='4' class='inforAction'></td></tr>";return t},loadAction:function(){var t=this.editContentNode.getElements("td");var e=t[t.length-1];if(this.data.control.allowEdit){this.baseInforEditActionAreaNode=new Element("div",{styles:this.style.baseInforEditActionAreaNode}).inject(e);this.editNode=new Element("div",{styles:this.style.actionEditNode,text:this.explorer.app.lp.editUnit}).inject(this.baseInforEditActionAreaNode);this.saveNode=new Element("div",{styles:this.style.actionSaveNode,text:this.explorer.app.lp.saveUnit}).inject(this.baseInforEditActionAreaNode);this.cancelNode=new Element("div",{styles:this.style.actionCancelNode,text:this.explorer.app.lp.cancel}).inject(this.baseInforEditActionAreaNode);this.editNode.setStyle("display","block");this.editNode.addEvent("click",this.edit.bind(this));this.saveNode.addEvent("click",this.save.bind(this));this.cancelNode.addEvent("click",this.cancel.bind(this))}else{}},edit:function(){var t=this.editContentNode.getElements("td.inforContent");t[0].setStyles(this.style.baseInforContentNode_edit).empty();this.nameInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[0]);this.nameInputNode.set("value",this.data.name);t[1].setStyles(this.style.baseInforContentNode_edit).empty();this.uniqueInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[1]);this.uniqueInputNode.set("value",this.data.unique);t[2].setStyles(this.style.baseInforContentNode_edit).empty();this.typeListInputNode=new Element("input",{styles:this.style.inputNode_type}).inject(t[2]);this.typeListInputNode.set("value",this.data.typeList.length?this.data.typeList.join(", "):"");this.loadUnitTypeSelect();t[3].setStyles(this.style.baseInforContentNode_edit).empty();this.shortNameInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[3]);this.shortNameInputNode.set("value",this.data.shortName||"");t[4].setStyles(this.style.baseInforContentNode_edit).empty();this.descriptionInputNode=new Element("input",{styles:this.style.inputNode}).inject(t[4]);this.descriptionInputNode.set("value",this.data.description||"");t[5].setStyles(this.style.baseInforContentNode_edit).empty();this.controllerListInputNode=new Element("div",{styles:this.style.inputNode_person}).inject(t[5]);t[6].setStyles(this.style.baseInforContentNode_edit).empty();this.orderNumberInputNode=new Element("input",{styles:this.style.inputNode,type:"number"}).inject(t[6]);this.orderNumberInputNode.set("value",this.data.orderNumber||"");if(this.data.controllerList){this.data.controllerList.each(function(t){new MWF.widget.O2Person({name:t},this.controllerListInputNode,{style:"xform"})}.bind(this))}this.controllerListInputNode.addEvent("click",function(){MWF.xDesktop.requireApp("Selector","package",function(){var t={type:"person",values:this.data.controllerList||[],count:0,onComplete:function(t){var e=[];this.controllerListInputNode.empty();t.each(function(t){e.push(t.data.id);new MWF.widget.O2Person(t.data,this.controllerListInputNode,{style:"xform"})}.bind(this));this.data.controllerList=e}.bind(this)};var e=new MWF.O2Selector(this.explorer.app.content,t)}.bind(this))}.bind(this));var e=this;this.editContentNode.getElements("input").addEvents({focus:function(){if(this.get("type").toLowerCase()==="text"){this.setStyles(e.style.inputNode_focus)}},blur:function(){if(this.get("type").toLowerCase()==="text"){this.setStyles(e.style.inputNode_blur)}}});this.mode="edit";this.editNode.setStyle("display","none");this.saveNode.setStyle("display","block");this.cancelNode.setStyle("display","block")},loadUnitTypeSelect:function(){if(this.typeListInputNode){this.typeListInputNode.addEvents({blur:function(){this.hideTypeSelectNode()}.bind(this),click:function(){this.showTypeSelectNode()}.bind(this),focus:function(){this.showTypeSelectNode()}.bind(this)})}},hideTypeSelectNode:function(){if(this.typeSelectNode)this.typeSelectNode.destroy();this.typeSelectNode=null},showTypeSelectNode:function(){if(!this.typeSelectNode){this.typeSelectNode=new Element("div",{styles:this.style.typeSelectNode}).inject(this.typeListInputNode,"after");var t=this.typeListInputNode.getSize();var e=t.x-3;this.typeSelectNode.setStyle("width",""+e+"px");this.typeSelectNode.position({relativeTo:this.typeListInputNode,position:"bottomLeft",edge:"upperLeft",offset:{x:1,y:-3}});this.explorer.actions.listUnitType(function(t){var e=t.data.valueList.length;var i=e*30;this.typeSelectNode.setStyle("height",""+i+"px");t.data.valueList.each(function(t,e){this.createTypeSelectItem(t,e)}.bind(this))}.bind(this))}},createTypeSelectItem:function(t,e){var i=new Element("div",{styles:this.style.typeSelectItemNode}).inject(this.typeSelectNode);if(e%2===0)i.setStyle("background","#f4f9ff");var s=new Element("div",{styles:this.style.typeSelectItemIconNode}).inject(i);var n=new Element("div",{styles:this.style.typeSelectItemTextNode}).inject(i);n.set("text",t);var o=this;i.addEvents({mouseover:function(){this.setStyle("background-color","#fef5e7")},mouseout:function(){this.setStyle("background","#ffffff");if(e%2===0)this.setStyle("background","#f4f9ff")},mousedown:function(){o.typeListInputNode.set("value",this.get("text"))}})},save:function(){var t=this.editContentNode.getElements("td.inforContent");if(!this.nameInputNode.get("value")){this.explorer.app.notice(this.explorer.app.lp.inputUnitInfor,"error",this.explorer.propertyContentNode);return false}this.content.propertyContentScrollNode.mask({style:{opacity:.7,"background-color":"#999"}});this.saveUnit(function(){this.cancel();this.content.propertyContentScrollNode.unmask()}.bind(this),function(t,e,i){var s=i;if(t)s=t.responseText;this.explorer.app.notice("request json error: "+s,"error");this.content.propertyContentScrollNode.unmask()}.bind(this))},saveUnit:function(t,e){var i=Object.clone(this.data);i.name=this.nameInputNode.get("value");i.unique=this.uniqueInputNode.get("value");i.typeList=this.typeListInputNode.get("value")?this.typeListInputNode.get("value").split(/,\s*/g):[];i.shortName=this.shortNameInputNode.get("value");i.description=this.descriptionInputNode.get("value");i.orderNumber=this.orderNumberInputNode.get("value");this.explorer.actions.saveUnit(i,function(e){Object.merge(this.data,i);if(this.data.id){this.data.id=e.data.id;this.item.refresh();if(t)t()}else{this.explorer.actions.getUnit(function(e){this.data=Object.merge(this.data,e.data);this.item.data=this.data;this.item.refresh();if(this.item.parent)this.item.parent.subUnits.push(this.item);
- if(t)t()}.bind(this),null,e.data.id)}}.bind(this),function(t,i,s){if(e)e(t,i,s)}.bind(this))},cancel:function(){if(this.data.id){var t=this.editContentNode.getElements("td.inforContent");t[0].setStyles(this.style.baseInforContentNode).set("html",this.data.name||"");t[1].setStyles(this.style.baseInforContentNode).set("html",this.data.unique||"");t[2].setStyles(this.style.baseInforContentNode).set("html",this.data.typeList.length?this.data.typeList.join(", "):"");t[3].setStyles(this.style.baseInforContentNode).set("html",this.data.shortName||"");t[4].setStyles(this.style.baseInforContentNode).set("html",this.data.description||"");t[5].setStyles(this.style.baseInforContentNode).empty();t[6].setStyles(this.style.baseInforContentNode).set("html",this.data.orderNumber||"");if(this.data.controllerList){this.data.controllerList.each(function(e){new MWF.widget.O2Person({name:e},t[5],{style:"xform"})}.bind(this))}this.mode="read";this.editNode.setStyle("display","block");this.saveNode.setStyle("display","none");this.cancelNode.setStyle("display","none")}else{this.item.destroy()}},destroy:function(){this.node.empty();this.node.destroy();MWF.release(this)}});
|