123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295 |
- MWF.xApplication.BAM.monthly = MWF.xApplication.BAM.monthly || {};
- MWF.xApplication.BAM.Monthly = new Class({
- Implements: [Options, Events],
- options: {
- "style": "default"
- },
- initialize: function(app, node, options){
- this.setOptions(options);
- this.app = app;
- this.css = this.app.css;
- this.lp = this.app.lp;
- this.container = $(node);
- this.actions = this.app.actions;
- this.initData();
- this.load();
- },
- initData: function(){
- this.categoryDataLoaded = false;
- this.organizationDataLoaded = false;
- this.overviewDataLoaded = false;
- //////////////
- ///////////
- //////////////
- ////////////
- },
- load: function(){
- this.loadMonthlyLayout();
- //this.loadMonthly();
- //this.fireEvent("loaded");
- },
- loadMonthlyLayout: function(){
- this.tabAreaNode = new Element("div", {"styles": this.css.monthTabAreaNode}).inject(this.container);
- this.contentAreaNode = new Element("div", {"styles": this.css.monthContentAreaNode}).inject(this.container);
- this.createTab();
- },
- createTab: function(){
- var html = "<table border='0' cellpadding='0' cellSpacing='0' align='center'><tr>" +
- "<td></td><td></td><td></td><td></td><td></td><td></td>" +
- "</tr></table>";
- this.tabAreaNode.set("html", html);
- this.table = this.tabAreaNode.getElement("table");
- var cells = this.tabAreaNode.getElements("td");
- this.table.setStyles(this.css.monthTabTableNode);
- cells.setStyles(this.css.monthTabCellNode);
- cells[0].setStyle("border-left", "0px");
- this.taskTabItem = this.createTabItemNode(this.lp.monthly.task, "task", cells[0]);
- this.taskCompletedTabItem = this.createTabItemNode(this.lp.monthly.taskCompleted, "taskCompleted", cells[1]);
- this.workTabItem = this.createTabItemNode(this.lp.monthly.work, "work", cells[2]);
- this.workCompletedTabItem = this.createTabItemNode(this.lp.monthly.workCompleted, "workCompleted", cells[3]);
- this.taskExpiredTabItem = this.createTabItemNode(this.lp.monthly.taskExpired, "taskExpired", cells[4]);
- this.workExpiredTabItem = this.createTabItemNode(this.lp.monthly.workExpired, "workExpired", cells[5]);
- this.taskTabItem.addEvent("click", this.changeToTask.bind(this));
- this.taskCompletedTabItem.addEvent("click", this.changeToTaskCompleted.bind(this));
- this.workTabItem.addEvent("click", this.changeToWork.bind(this));
- this.workCompletedTabItem.addEvent("click", this.changeToWorkCompleted.bind(this));
- this.taskExpiredTabItem.addEvent("click", this.changeToTaskExpired.bind(this));
- this.workExpiredTabItem.addEvent("click", this.changeToWorkExpired.bind(this));
- this.taskTabItem.click();
- },
- createTabItemNode: function(text, icon, content){
- var node = new Element("div", {"styles": this.css.monthTabItemNode}).inject(content);
- node.store("icon", icon);
- var iconNode = new Element("div", {"styles": this.css.monthTabItemIconNode}).inject(node);
- iconNode.setStyle("background-image", "url(../x_component_BAM/$Main/"+this.app.options.style+"/monthly/"+icon+".png)");
- var textNode = new Element("div", {"styles": this.css.monthTabItemTextNode}).inject(node);
- textNode.set("text", text);
- return node;
- },
- changeToTask: function(){
- this.setCurrentTabItem(0);
- this.loadContent("task");
- if (this.taskCompletedContent) this.taskCompletedContent.hide();
- if (this.workContent) this.workContent.hide();
- if (this.workCompletedContent) this.workCompletedContent.hide();
- if (this.taskExpiredContent) this.taskExpiredContent.hide();
- if (this.workExpiredContent) this.workExpiredContent.hide();
- },
- changeToTaskCompleted: function(){
- this.setCurrentTabItem(1);
- this.loadContent("taskCompleted");
- if (this.taskContent) this.taskContent.hide();
- if (this.workContent) this.workContent.hide();
- if (this.workCompletedContent) this.workCompletedContent.hide();
- if (this.taskExpiredContent) this.taskExpiredContent.hide();
- if (this.workExpiredContent) this.workExpiredContent.hide();
- },
- changeToWork: function(){
- this.setCurrentTabItem(2);
- this.loadContent("work");
- if (this.taskContent) this.taskContent.hide();
- if (this.taskCompletedContent) this.taskCompletedContent.hide();
- if (this.workCompletedContent) this.workCompletedContent.hide();
- if (this.taskExpiredContent) this.taskExpiredContent.hide();
- if (this.workExpiredContent) this.workExpiredContent.hide();
- },
- changeToWorkCompleted: function(){
- this.setCurrentTabItem(3);
- this.loadContent("workCompleted");
- if (this.taskContent) this.taskContent.hide();
- if (this.taskCompletedContent) this.taskCompletedContent.hide();
- if (this.workContent) this.workContent.hide();
- if (this.taskExpiredContent) this.taskExpiredContent.hide();
- if (this.workExpiredContent) this.workExpiredContent.hide();
- },
- changeToTaskExpired: function(){
- this.setCurrentTabItem(4);
- this.loadContent("taskExpired");
- if (this.taskContent) this.taskContent.hide();
- if (this.taskCompletedContent) this.taskCompletedContent.hide();
- if (this.workContent) this.workContent.hide();
- if (this.workCompletedContent) this.workCompletedContent.hide();
- if (this.workExpiredContent) this.workExpiredContent.hide();
- },
- changeToWorkExpired: function(){
- this.setCurrentTabItem(5);
- this.loadContent("workExpired");
- if (this.taskContent) this.taskContent.hide();
- if (this.taskCompletedContent) this.taskCompletedContent.hide();
- if (this.workContent) this.workContent.hide();
- if (this.workCompletedContent) this.workCompletedContent.hide();
- if (this.taskExpiredContent) this.taskExpiredContent.hide();
- },
- setCurrentTabItem: function(idx){
- var cells = this.table.getElements("td");
- cells.each(function(cell, i){
- if (i==idx){
- var currentDiv = cell.getFirst("div");
- var currentIcon = currentDiv.retrieve("icon");
- currentDiv.setStyles(this.css.monthTabItemNode_current);
- currentDiv.getFirst("div").setStyle("background-image", "url(../x_component_BAM/$Main/"+this.app.options.style+"/monthly/"+currentIcon+"_current.png)");
- }else{
- var div = cell.getFirst("div");
- var icon = div.retrieve("icon");
- div.setStyles(this.css.monthTabItemNode);
- div.getFirst("div").setStyle("background-image", "url(../x_component_BAM/$Main/"+this.app.options.style+"/monthly/"+icon+".png)");
- }
- }.bind(this));
- },
- loadContent: function(name){
- var className = "Monthly"+name.capitalize()+"Content";
- if (this[name+"Content"]){
- this[name+"Content"].show();
- }else{
- MWF.xDesktop.requireApp("BAM", "monthly.MonthlyContent", function(){
- this[name+"Content"] = new MWF.xApplication.BAM.monthly[className](this, this.contentAreaNode, {
- "onLoaded": function(){
- this.fireEvent("loaded");
- }.bind(this)
- });
- }.bind(this));
- }
- },
- destroy: function(){
- //this.summaryChart.destroy();
- //this.rankChart.destroy();
- //this.dashboardChart.destroy();
- //this.taskChart.destroy();
- //this.taskCompletedChart.destroy();
- //this.workChart.destroy();
- //this.workCompletedChart.destroy();
- //if (this.taskContent) this.taskContent.destroy();
- //if (this.workContent) this.workContent.destroy();
- //if (this.workCompletedContent) this.workCompletedContent.destroy();
- //if (this.taskExpiredContent) this.taskExpiredContent.destroy();
- //if (this.workExpiredContent) this.workExpiredContent.destroy();
- this.container.empty();
- MWF.release(this);
- }
- //
- //
- //
- //
- //
- //
- //checkLoadDataCompleted: function(){
- // if (this.overviewDataLoaded && this.categoryDataLoaded && this.organizationDataLoaded){
- // this.fireEvent("loaded");
- // }
- //},
- //loadSummary: function(){
- // this.loadOverviewData(function(){
- // this.loadOverview();
- // this.overviewDataLoaded = true;
- // this.checkLoadDataCompleted();
- // }.bind(this));
- // this.loadCategoryData(function(){
- // this.loadTaskDashboard();
- // this.loadTaskContent();
- // this.loadTaskCompletedContent();
- // this.loadWorkContent();
- // this.loadWorkCompletedContent();
- // this.categoryDataLoaded = true;
- // this.checkLoadDataCompleted();
- // }.bind(this));
- // this.loadOrganizationData(function(){
- // this.loadTaskRank()
- // this.organizationDataLoaded = true;
- // this.checkLoadDataCompleted();
- // }.bind(this));
- //},
- //loadOverviewData: function(callback){
- // this.actions.summary(function(json){
- // this.summaryData = json.data;
- // if (callback) callback();
- // }.bind(this));
- //},
- //loadOverview: function(){
- //// this.actions.summary(function(json){
- //// this.summaryData = json.data;
- // MWF.xDesktop.requireApp("BAM", "summary.Overview", function(){
- // this.summaryChart = new MWF.xApplication.BAM.summary.Overview(this, this.overviewAreaNode, this.summaryData);
- // }.bind(this));
- //// }.bind(this));
- //},
- //loadTaskRank: function(){
- // MWF.xDesktop.requireApp("BAM", "summary.TaskRank", function(){
- // this.rankChart = new MWF.xApplication.BAM.summary.TaskRank(this, this.taskRankAreaNode);
- // }.bind(this));
- //},
- //loadTaskDashboard: function(){
- // MWF.xDesktop.requireApp("BAM", "summary.TaskDashboard", function(){
- // this.dashboardChart = new MWF.xApplication.BAM.summary.TaskDashboard(this, this.taskDashboardAreaNode);
- // }.bind(this));
- //},
- //
- //loadTaskContent: function(){
- // //MWF.xDesktop.requireApp("BAM", "summary.TaskContent", function(){
- // // this.taskChart = new MWF.xApplication.BAM.summary.TaskContent(this, this.taskContentAreaNode);
- // //}.bind(this));
- // MWF.xDesktop.requireApp("BAM", "summary.TaskContent", null, false);
- // this.taskChart = new MWF.xApplication.BAM.summary.TaskContent(this, this.taskContentAreaNode);
- //},
- //loadTaskCompletedContent: function(){
- // //MWF.xDesktop.requireApp("BAM", "summary.TaskCompletedContent", function(){
- // // this.taskCompletedChart = new MWF.xApplication.BAM.summary.TaskCompletedContent(this, this.taskCompletedContentAreaNode, this.scalingData);
- // //}.bind(this));
- // MWF.xDesktop.requireApp("BAM", "summary.TaskCompletedContent". null, false);
- // this.taskCompletedChart = new MWF.xApplication.BAM.summary.TaskCompletedContent(this, this.taskCompletedContentAreaNode, this.scalingData);
- //},
- //loadWorkContent: function(){
- // //MWF.xDesktop.requireApp("BAM", "summary.WorkContent", function(){
- // // this.workChart = new MWF.xApplication.BAM.summary.WorkContent(this, this.workContentAreaNode, this.scalingData);
- // //}.bind(this));
- // MWF.xDesktop.requireApp("BAM", "summary.WorkContent", null, false);
- // this.workChart = new MWF.xApplication.BAM.summary.WorkContent(this, this.workContentAreaNode, this.scalingData);
- //},
- //loadWorkCompletedContent: function(){
- // //MWF.xDesktop.requireApp("BAM", "summary.WorkCompletedContent", function(){
- // // this.workCompletedChart = new MWF.xApplication.BAM.summary.WorkCompletedContent(this, this.workCompletedContentAreaNode, this.scalingData);
- // //}.bind(this));
- // MWF.xDesktop.requireApp("BAM", "summary.WorkCompletedContent", null,false);
- // this.workCompletedChart = new MWF.xApplication.BAM.summary.WorkCompletedContent(this, this.workCompletedContentAreaNode, this.scalingData);
- //},
- //
- //loadRunningData: function(callback){
- // if (!this.runningData){
- // this.actions.loadRunning(function(json){
- // this.runningData = json.data;
- // if (callback) callback();
- // }.bind(this));
- // }else{
- // if (callback) callback();
- // }
- //},
- //loadOrganizationData: function(callback){
- // this.organizationData = {};
- // this.actions.loadOrganization(function(json){
- // this.organizationData = json.data;
- // if (callback) callback();
- // }.bind(this));
- //},
- //loadCategoryData: function(callback){
- // this.categoryData = {
- // "application": [],
- // "process": [],
- // "activity": []
- // };
- // this.actions.loadCategory(function(json){
- // this.categoryData = json.data;
- // if (callback) callback();
- // }.bind(this));
- //}
- });
|