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 = "
";
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));
//}
});