Main.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. MWF.xApplication.BAM.options.multitask = false;
  2. MWF.xDesktop.requireApp("BAM", "Actions.RestActions", null, false);
  3. MWF.require("MWF.widget.Tab", null, false);
  4. //MWF.require("MWF.widget.UUID", null, false);
  5. MWF.require("MWF.widget.MaskNode", null, false);
  6. MWF.xApplication.BAM.Main = new Class({
  7. Extends: MWF.xApplication.Common.Main,
  8. Implements: [Options, Events],
  9. options: {
  10. "style": "default",
  11. "name": "BAM",
  12. "icon": "icon.png",
  13. "width": "1240",
  14. "height": "700",
  15. "isResize": true,
  16. "isMax": true,
  17. "title": MWF.xApplication.BAM.LP.title
  18. },
  19. onQueryLoad: function(){
  20. this.lp = MWF.xApplication.BAM.LP;
  21. this.actions = new MWF.xApplication.BAM.Actions.RestActions();
  22. },
  23. loadApplication: function(callback){
  24. this.createNode();
  25. this.createLayout(callback);
  26. },
  27. createNode: function(){
  28. this.contentNode = new Element("div", {
  29. "styles": this.css.contentNode
  30. }).inject(this.content);
  31. this.node = new Element("div", {
  32. "styles": this.css.node
  33. }).inject(this.contentNode);
  34. },
  35. createLayout: function(callback){
  36. this.tabNode = new Element("div", {"styles": this.css.tabNode}).inject(this.node);
  37. this.tab = new MWF.widget.Tab(this.tabNode, {"style": "administrator"});
  38. this.tab.load();
  39. this.summaryNode = new Element("div", {"styles": this.css.summaryNode});
  40. this.monthlyNode = new Element("div", {"styles": this.css.monthlyNode});
  41. this.summaryPage = this.tab.addTab(this.summaryNode, this.lp.summaryTitle);
  42. this.monthlyPage = this.tab.addTab(this.monthlyNode, this.lp.monthlyTitle);
  43. //this.setNodeHeightFun = this.setNodeHeight.bind(this);
  44. //this.setNodeHeight();
  45. //this.addEvent("resize", this.setNodeHeightFun);
  46. this.monthlyPage.addEvent("show", function(){
  47. this.clearMonthly();
  48. this.loadMonthly();
  49. }.bind(this));
  50. this.summaryPage.addEvent("show", function(){
  51. this.clearSummary();
  52. this.loadSummary();
  53. if (callback) callback();
  54. }.bind(this));
  55. this.summaryPage.showTabIm();
  56. },
  57. clearSummary: function(){
  58. if (this.summary){
  59. this.summary.destroy();
  60. this.summary = null;
  61. }
  62. },
  63. loadSummary: function(){
  64. //this.app.content.mask();
  65. this.mask();
  66. MWF.xDesktop.requireApp("BAM", "Summary", function(){
  67. this.summary = new MWF.xApplication.BAM.Summary(this, this.summaryNode, {
  68. "onLoaded": function(){
  69. this.unmask();
  70. }.bind(this)
  71. });
  72. }.bind(this));
  73. },
  74. clearMonthly: function(){
  75. if (this.monthly){
  76. this.monthly.destroy();
  77. this.monthly = null;
  78. }
  79. },
  80. loadMonthly: function(){
  81. //this.app.content.mask();
  82. debugger;
  83. this.mask();
  84. MWF.xDesktop.requireApp("BAM", "Monthly", function(){
  85. this.monthly = new MWF.xApplication.BAM.Monthly(this, this.monthlyNode, {
  86. "onLoaded": function(){
  87. this.unmask();
  88. }.bind(this)
  89. });
  90. }.bind(this));
  91. },
  92. mask: function(){
  93. if (!this.maskNode){
  94. this.maskNode = new MWF.widget.MaskNode(this.content, {"style": "bam"});
  95. this.maskNode.load();
  96. }
  97. },
  98. unmask: function(){
  99. if (this.maskNode) this.maskNode.hide(function(){
  100. MWF.release(this.maskNode);
  101. this.maskNode = null;
  102. }.bind(this));
  103. }
  104. });