| 1 |
- MWF.xApplication.Template=MWF.xApplication.Template||{};MWF.require("MWF.widget.O2Identity",null,false);MWF.xApplication.Template.options={multitask:true,executable:true};MWF.xApplication.Template.Main=new Class({Extends:MWF.xApplication.Common.Main,Implements:[Options,Events],options:{style:"default",name:"Template",icon:"icon.png",width:"1200",height:"700",isResize:false,isMax:true,title:MWF.xApplication.Template.LP.title},onQueryLoad:function(){this.lp=MWF.xApplication.Template.LP},loadApplication:function(e){this.manageDepartments=[];this.manageCompanys=[];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(e){if(e)e()},createNode:function(){this.content.setStyle("overflow","hidden");this.node=new Element("div",{styles:{width:"100%",height:"100%",overflow:"hidden"}}).inject(this.content)},loadApplicationContent:function(){MWF.Require("MWF.widget.Tablet",null,false)},loaNavi:function(e){this.naviNode=new Element("div.naviNode",{styles:this.css.naviNode}).inject(this.node);var t={id:""};if(this.status){t.id=this.status.id}this.navi=new MWF.xApplication.Template.Navi(this,this.naviNode,t)},clearContent:function(){if(this.explorerContent){if(this.explorer)delete this.explorer;this.explorerContent.destroy();this.explorerContent=null}},openMediaRecorder:function(){MWF.xDesktop.requireApp("Template","Test",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);MWF.xDesktop.requireApp("Template","Test",null,false);var e=new MWF.xApplication.Template.Test(this,{reportId:this.options.id},{},{app:this});e.open()}.bind(this))},openExplorer:function(){MWF.xDesktop.requireApp("Template","Explorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Template.Explorer(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openDepartmentIndex:function(){MWF.xDesktop.requireApp("Template","DepartmentIndex",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Template.DepartmentIndex(this.explorerContent,this,this.restActions,{isAdmin:this.isAdmin()});this.explorer.load()}.bind(this))},openHolidaySetting:function(){MWF.xDesktop.requireApp("Template","HolidayExplorer",function(){this.clearContent();this.explorerContent=new Element("div",{styles:this.css.rightContentNode}).inject(this.node);this.explorer=new MWF.xApplication.Template.HolidayExplorer(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.Template.Navi=new Class({Implements:[Options,Events],options:{id:""},initialize:function(e,t,i){this.setOptions(i);this.app=e;this.node=$(t);this.css=this.app.css;this.currentMenu=null;this.currentItem=null;this.menus={};this.items={};this.elements=[];this.load()},load:function(){var e=this.app.path+"navi.json";MWF.getJSON(e,function(e){e.each(function(e){if(e.access&&e.access=="admin"){if(this.app.isAdmin())this.createNaviNode(e)}else if(e.access&&e.access=="admin_dept"){if(this.app.isDepartmentManager()||this.app.isAdmin())this.createNaviNode(e)}else{this.createNaviNode(e)}}.bind(this));if(this.options.id=="")this.elements[0].click()}.bind(this))},createNaviNode:function(e){if(e.type=="sep"){var t=true;if(e.access=="admin"){if(!this.app.isAdmin())t=false}else if(e.access&&e.access=="admin_dept"){if(!this.app.isDepartmentManager()&&!this.app.isAdmin())t=false}if(t){new Element("div",{styles:this.css.viewNaviSepartorNode}).inject(this.node)}}else if(e.sub&&e.sub.length>0){this.createNaviMenuNode(e)}else{this.menus[e.id]={};this.createNaviItemNode(e,e.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 s=new Element("div",{styles:this.css.naviMenuTextNode,text:t.title});s.inject(i);i.inject(this.node);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(e){var t=e.retrieve("data");var i=t.action;this.closeCurrentMenu();if(this.menus[t.id].itemNodes){this.menus[t.id].itemNodes.each(function(e){e.setStyle("display","block")})}var s=e.retrieve("type");if(!t.target||t.target!="_blank"){e.setStyles(this.css.naviMenuNode_current);this.currentMenu=e}},closeCurrentMenu:function(){if(this.currentMenu){var e=this.currentMenu.retrieve("data");if(this.menus[e.id].itemNodes){this.menus[e.id].itemNodes.each(function(e){e.setStyle("display","none")})}this.currentMenu.setStyles(this.css.naviMenuNode)}},createNaviItemNode:function(e,t){if(e.access=="admin"){if(!this.app.isAdmin())return}else if(e.access&&e.access=="admin_dept"){if(!this.app.isDepartmentManager()&&!this.app.isAdmin())return}var i=this;var s=this.menus[t].itemNodes=this.menus[t].itemNodes||[];var n=new Element("div",{styles:this.css.naviItemNode});n.setStyle("display","block");s.push(n);n.store("data",e);n.store("type","item");var a=new Element("div",{styles:this.css.naviItemTextNode,text:e.title});a.inject(n);n.inject(this.node);this.elements.push(n);this.items[e.id]=n;n.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(e.id==this.options.id){n.click()}},clickItem:function(e){var t=e.retrieve("data");var i=t.action;var s=e.retrieve("type");if(!t.target||t.target!="_blank"){if(this.currentItem)this.currentItem.setStyles(this.css.naviItemNode);e.setStyles(this.css.naviItemNode_current);this.currentItem=e}if(t.action&&this.app[t.action]){this.app[t.action].call(this.app,t)}}});
|