| 1 |
- MWF.xApplication.Attendance=MWF.xApplication.Attendance||{};MWF.require("MWF.widget.Identity",null,false);MWF.xDesktop.requireApp("Attendance","Actions.RestActions",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:false,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.manageDepartments=[];this.manageCompanys=[];this.restActions=new MWF.xApplication.Attendance.Actions.RestActions;this.createNode();this.loadApplicationContent()},isAdmin:function(){return this.isCompanyManager()||MWF.AC.isAdministrator()},isDepartmentManager:function(){return this.manageDepartments.length>0},isCompanyManager:function(){return this.manageCompanys.length>0},loadController:function(t){this.restActions.listPermission(function(e){e.data=e.data||[];e.data.each(function(t){if(t.adminLevel=="COMPANY"&&t.adminName==layout.desktop.session.user.name){this.manageCompanys.push(t.organizationName)}else if(t.adminLevel=="DEPT"&&t.adminName==layout.desktop.session.user.name){this.manageDepartments.push(t.organizationName)}}.bind(this));if(t)t(e)}.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}},openPersonIndex:function(){MWF.xDesktop.requireApp("Attendance","PersonIndex",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.PersonIndex(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openPersonDetail:function(){MWF.xDesktop.requireApp("Attendance","PersonDetail",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.PersonDetail(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openDepartmentIndex:function(){MWF.xDesktop.requireApp("Attendance","DepartmentIndex",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.DepartmentIndex(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openDepartmentDetail:function(){MWF.xDesktop.requireApp("Attendance","DepartmentDetail",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.DepartmentDetail(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))},openCompanyDetail:function(){MWF.xDesktop.requireApp("Attendance","CompanyDetail",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.CompanyDetail(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openSelfHoliday:function(){MWF.xDesktop.requireApp("Attendance","SelfHolidayExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.SelfHolidayExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openMyAppealDeal:function(){MWF.xDesktop.requireApp("Attendance","MyAppealExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.MyAppealExplorer(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","InvalidInforExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.InvalidInforExplorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openAbnormalExport:function(){MWF.xDesktop.requireApp("Attendance","AbnormalExportExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.AbnormalExportExplorer(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","StatisticsCycleExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.StatisticsCycleExplorer(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","PersonSettingExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Attendance.PersonSettingExplorer(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.isDepartmentManager()||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.isDepartmentManager()&&!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(t){if(t.access=="admin"){if(!this.app.isAdmin())return}else if(t.access=="admin_dept"){if(!this.app.isDepartmentManager()&&!this.app.isAdmin())return}var e=this;var i=new Element("div",{styles:this.css.naviMenuNode});i.store("data",t);i.store("type","menu");var n=new Element("div",{styles:this.css.naviMenuTextNode,text:t.title});n.inject(i);i.inject(this.areaNode);this.menus[t.id]={};this.menus[t.id].node=i;this.elements.push(i);i.addEvents({mouseover:function(){if(e.currentMenu!=this)this.setStyles(e.app.css.naviMenuNode_over)},mouseout:function(){if(e.currentMenu!=this)this.setStyles(e.app.css.naviMenuNode)},mousedown:function(){if(e.currentMenu!=this)this.setStyles(e.app.css.naviMenuNode_down)},mouseup:function(){if(e.currentMenu!=this)this.setStyles(e.app.css.naviMenuNode_over)},click:function(){e.clickMenu.apply(e,[this])}});t.sub.each(function(e){this.createNaviItemNode(e,t.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.isDepartmentManager()&&!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)}});
|