Main.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. MWF.require("MWF.widget.MaskNode", null, false);
  2. o2.requireApp("AppMarketV2", "RecommendContent", null, false);
  3. MWF.xApplication.AppMarketV2.Main = new Class({
  4. Extends: MWF.xApplication.Common.Main,
  5. Implements: [Options, Events],
  6. options: {
  7. "style": "default",
  8. "mvcStyle": "style.css",
  9. "name": "AppMarketV2",
  10. "icon": "icon.png",
  11. "width": "1000",
  12. "height": "700",
  13. "isResize": true,
  14. "isMax": true,
  15. "title": MWF.xApplication.AppMarketV2.LP.title,
  16. "minHeight": 700
  17. },
  18. onQueryLoad: function(){
  19. this.lp = MWF.xApplication.AppMarketV2.LP;
  20. this.actions = MWF.Actions.load("x_program_center");
  21. this.viewPath = this.path+this.options.style+"/view.html";
  22. this.iconPath = this.path+this.options.style+"/icon/";
  23. },
  24. mask: function(){
  25. if (!this.maskNode){
  26. this.maskNode = new MWF.widget.MaskNode(this.marketnode, {"style": "bam"});
  27. this.maskNode.load();
  28. }
  29. },
  30. unmask: function(){
  31. if (this.maskNode) this.maskNode.hide(function(){
  32. MWF.release(this.maskNode);
  33. this.maskNode = null;
  34. }.bind(this));
  35. },
  36. loadApplication: function(callback){
  37. this.content.loadHtml(this.viewPath, {"bind": {"lp": this.lp}, "module": this}, function(){
  38. if (!this.options.isRefresh){
  39. this.maxSize(function(){
  40. this.loadApp(callback);
  41. }.bind(this));
  42. }else{
  43. this.loadApp(callback);
  44. }
  45. }.bind(this));
  46. },
  47. loadApp: function(callback){
  48. //this.initNode();
  49. this.initNodeSize();
  50. this.recommondLoaded = false;
  51. this.applicationsLoaded = true;
  52. this.loadRecommondContent(function(){ this.recommondLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  53. this.loadApplicationsContent(function(){ this.applicationsLoaded = true; this.checkAppLoaded(callback); }.bind(this));
  54. },
  55. checkAppLoaded: function(callback){
  56. if (this.recommondLoaded && this.applicationsLoaded){
  57. if (callback) callback();
  58. }
  59. },
  60. initNodeSize: function(){
  61. this.resizeNodeSize();
  62. this.addEvent("resize", this.resizeNodeSize.bind(this));
  63. },
  64. resizeNodeSize: function(){
  65. var size = this.content.getSize();
  66. var edge = this.marketnode.getEdgeHeight();
  67. var height = size.y - edge;
  68. if (height<this.options.minHeight) height = this.options.minHeight;
  69. this.marketnode.setStyle("height", ""+height+"px");
  70. },
  71. loadRecommondContent: function(callback){
  72. debugger;
  73. this.recommendContent = new MWF.xApplication.AppMarketV2.RecommendContent(this, this.topRecommendNode, {
  74. "onLoad": function(){if (callback) callback();}
  75. });
  76. },
  77. loadApplicationsContent: function(callback){
  78. o2.requireApp("AppMarketV2", "ApplicationsContent", function(){
  79. this.applicationsContent = new MWF.xApplication.AppMarketV2.ApplicationsContent(this, this.applicationsNode, {
  80. "onLoad": function(){if (callback) callback();}
  81. });
  82. }.bind(this));
  83. }
  84. });