Main.min.js 14 KB

1
  1. MWF.xApplication.Attendance=MWF.xApplication.Attendance||{};MWF.require("MWF.widget.O2Identity",null,false);MWF.xDesktop.requireApp("Attendance","Common",null,false);MWF.xDesktop.requireApp("Template","MDomItem",null,false);MWF.xApplication.Attendance.options={multitask:false,executable:true};MWF.xApplication.Attendance.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{curNaviId:null,style:"default",name:"Attendance",icon:"icon.png",width:"1400",height:"700",isResize:true,isMax:true,title:MWF.xApplication.Attendance.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.Attendance.LP},loadApplication:function(t){if(!this.options.isRefresh){this.maxSize(function(){this.loadLayout()}.bind(this))}else{this.loadLayout()}},loadLayout:function(){this.manageUnits=[];this.manageTopUnits=[];this.restActions=MWF.Actions.get("x_attendance_assemble_control");this.personActions=MWF.Actions.get("x_organization_assemble_personal");this.orgActions=MWF.Actions.get("x_organization_assemble_express");this.createNode();this.loadApplicationContent()},isAdmin:function(){return this.isTopUnitManager()||MWF.AC.isAttendanceManager()||MWF.AC.isAdministrator()},isUnitManager:function(){return this.manageUnits.length>0},isTopUnitManager:function(){return this.manageTopUnits.length>0},getNameFlag:function(t){var e=typeOf(t);if(e==="array"){var i=[];t.each(function(t){i.push(typeOf(t)==="object"?t.distinguishedName||t.id||t.unique||t.name:t)});return i}else{return[e==="object"?t.distinguishedName||t.id||t.unique||t.name:t]}},loadController:function(e){this.restActions.listPermission(function(t){t.data=t.data||[];t.data.each(function(t){if(t.adminLevel=="COMPANY"&&t.adminName==layout.desktop.session.user.distinguishedName){this.manageTopUnits.push(t.unitName)}else if(t.adminLevel=="DEPT"&&t.adminName==layout.desktop.session.user.distinguishedName){this.manageUnits.push(t.unitName)}}.bind(this));if(e)e(t)}.bind(this))},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},loadApplicationContent:function(){this.loadController(function(){this.loaNavi()}.bind(this))},loaNavi:function(t){this.naviNode=new Element("div.naviNode",{styles:this.css.naviNode}).inject(this.node);var e={id:""};if(this.status){e.id=this.status.id}if(this.options.curNaviId){e.id=this.options.curNaviId}this.navi=new MWF.xApplication.Attendance.Navi(this,this.naviNode,e)},clearContent:function(){if(this.explorerContent){if(this.explorer&&this.explorer.destroy){this.explorer.destroy()}this.explorerContent.destroy();this.explorerContent=null}},openMyIndex:function(){MWF.xDesktop.requireApp("Attendance","MyIndex",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.MyIndex(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openMyDetail:function(){MWF.xDesktop.requireApp("Attendance","MyDetail",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.MyDetail(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openUnitIndex:function(){MWF.xDesktop.requireApp("Attendance","UnitIndex",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.UnitIndex(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openUnitDetail:function(){MWF.xDesktop.requireApp("Attendance","UnitDetail",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.UnitDetail(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openPeopleDetail:function(){MWF.xDesktop.requireApp("Attendance","PeopleDetail",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.PeopleDetail(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openTopUnitDetail:function(){MWF.xDesktop.requireApp("Attendance","TopUnitDetail",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.TopUnitDetail(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openSelfHoliday:function(){MWF.xDesktop.requireApp("Attendance","SelfHoliday",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.SelfHoliday(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openMyAppealDeal:function(){MWF.xDesktop.requireApp("Attendance","MyAppeal",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.MyAppeal(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openAppealDeal:function(){MWF.xDesktop.requireApp("Attendance","AppealExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.AppealExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openImporting:function(){MWF.xDesktop.requireApp("Attendance","ImportExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.ImportExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openImportedInvalidInfor:function(){MWF.xDesktop.requireApp("Attendance","InvalidInfor",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.InvalidInfor(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openAbnormalExport:function(){MWF.xDesktop.requireApp("Attendance","AbnormalExport",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.AbnormalExport(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openScheduleSetting:function(){MWF.xDesktop.requireApp("Attendance","ScheduleExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.ScheduleExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openPermissionSetting:function(){MWF.xDesktop.requireApp("Attendance","PermissionExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.PermissionExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openHolidaySetting:function(){MWF.xDesktop.requireApp("Attendance","HolidayExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.HolidayExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openStaticsCycleExplorer:function(){MWF.xDesktop.requireApp("Attendance","StatisticsCycle",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.StatisticsCycle(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openAppSetting:function(){MWF.xDesktop.requireApp("Attendance","AppSetting",function(){var t=new MWF.xApplication.Attendance.AppSetting(this,this.restActions);t.edit()}.bind(this))},openAddressSetting:function(){MWF.xDesktop.requireApp("Attendance","AddressExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.AddressExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openPersonSetting:function(){MWF.xDesktop.requireApp("Attendance","PersonSetting",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.PersonSetting(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},recordStatus:function(){return this.navi&&this.navi.currentItem?this.navi.currentItem.retrieve("data"):{}}});MWF.xApplication.Attendance.Navi=new Class({Implements:[Options,Events],options:{id:""},initialize:function(t,e,i){this.setOptions(i);this.app=t;this.node=$(e);this.css=this.app.css;this.currentMenu=null;this.currentItem=null;this.menus={};this.items={};this.elements=[];this.load()},load:function(){this.scrollNode=new Element("div.naviScrollNode",{styles:this.css.naviScrollNode}).inject(this.node);this.areaNode=new Element("div.naviAreaNode",{styles:this.css.naviAreaNode}).inject(this.scrollNode);this.setNodeScroll();var t=this.app.path+"navi.json";MWF.getJSON(t,function(t){t.each(function(t){if(t.access&&t.access=="admin"){if(this.app.isAdmin())this.createNaviNode(t)}else if(t.access&&t.access=="admin_dept"){if(this.app.isUnitManager()||this.app.isAdmin())this.createNaviNode(t)}else{this.createNaviNode(t)}}.bind(this));if(this.options.id=="")this.elements[0].click();this.setContentSize();this.app.addEvent("resize",this.setContentSize.bind(this))}.bind(this))},setNodeScroll:function(){MWF.require("MWF.widget.DragScroll",function(){new MWF.widget.DragScroll(this.scrollNode)}.bind(this));MWF.require("MWF.widget.ScrollBar",function(){new MWF.widget.ScrollBar(this.scrollNode,{indent:false})}.bind(this))},createNaviNode:function(t){if(t.type=="sep"){var e=true;if(t.access=="admin"){if(!this.app.isAdmin())e=false}else if(t.access&&t.access=="admin_dept"){if(!this.app.isUnitManager()&&!this.app.isAdmin())e=false}if(e){new Element("div",{styles:this.css.viewNaviSepartorNode}).inject(this.areaNode)}}else if(t.sub&&t.sub.length>0){this.createNaviMenuNode(t)}else{this.menus[t.id]={};this.createNaviItemNode(t,t.id)}},createNaviMenuNode:function(e){if(e.access=="admin"){if(!this.app.isAdmin())return}else if(e.access=="admin_dept"){if(!this.app.isUnitManager()&&!this.app.isAdmin())return}var t=this;var i=new Element("div",{styles:this.css.naviMenuNode});i.store("data",e);i.store("type","menu");var n=new Element("div",{styles:this.css.naviMenuTextNode,text:e.title});n.inject(i);i.inject(this.areaNode);this.menus[e.id]={};this.menus[e.id].node=i;this.elements.push(i);i.addEvents({mouseover:function(){if(t.currentMenu!=this)this.setStyles(t.app.css.naviMenuNode_over)},mouseout:function(){if(t.currentMenu!=this)this.setStyles(t.app.css.naviMenuNode)},mousedown:function(){if(t.currentMenu!=this)this.setStyles(t.app.css.naviMenuNode_down)},mouseup:function(){if(t.currentMenu!=this)this.setStyles(t.app.css.naviMenuNode_over)},click:function(){t.clickMenu.apply(t,[this])}});e.sub.each(function(t){this.createNaviItemNode(t,e.id,i)}.bind(this))},clickMenu:function(t){var e=t.retrieve("data");var i=e.action;this.closeCurrentMenu();if(this.menus[e.id].itemNodes){this.menus[e.id].itemNodes.each(function(t){t.setStyle("display","block")})}var n=t.retrieve("type");if(!e.target||e.target!="_blank"){t.setStyles(this.css.naviMenuNode_current);this.currentMenu=t}},closeCurrentMenu:function(){if(this.currentMenu){var t=this.currentMenu.retrieve("data");if(this.menus[t.id].itemNodes){this.menus[t.id].itemNodes.each(function(t){t.setStyle("display","none")})}this.currentMenu.setStyles(this.css.naviMenuNode)}},createNaviItemNode:function(t,e){if(t.access=="admin"){if(!this.app.isAdmin())return}else if(t.access&&t.access=="admin_dept"){if(!this.app.isUnitManager()&&!this.app.isAdmin())return}var i=this;var n=this.menus[e].itemNodes=this.menus[e].itemNodes||[];var s=new Element("div",{styles:this.css.naviItemNode});s.setStyle("display","block");n.push(s);s.store("data",t);s.store("type","item");var o=new Element("div",{styles:this.css.naviItemTextNode,text:t.title});o.inject(s);s.inject(this.areaNode);this.elements.push(s);this.items[t.id]=s;s.addEvents({mouseover:function(){if(i.currentItem!=this)this.setStyles(i.app.css.naviItemNode_over)},mouseout:function(){if(i.currentItem!=this)this.setStyles(i.app.css.naviItemNode)},mousedown:function(){if(i.currentItem!=this)this.setStyles(i.app.css.naviItemNode_down)},mouseup:function(){if(i.currentItem!=this)this.setStyles(i.app.css.naviItemNode_over)},click:function(){i.clickItem.apply(i,[this])}});if(t.id==this.options.id){s.click()}},clickItem:function(t){var e=t.retrieve("data");var i=e.action;var n=t.retrieve("type");if(!e.target||e.target!="_blank"){if(this.currentItem)this.currentItem.setStyles(this.css.naviItemNode);t.setStyles(this.css.naviItemNode_current);this.currentItem=t}if(e.action&&this.app[e.action]){this.app[e.action].call(this.app,e)}},setContentSize:function(){var t=this.app.content.getSize();this.scrollNode.setStyle("height",t.y-5)}});