Table.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. MWF.xDesktop.requireApp("portal.PageDesigner", "Module.Table$Td", null, false);
  2. MWF.xApplication.portal.PageDesigner.Module.Table = MWF.PCTable = new Class({
  3. Extends: MWF.FCTable,
  4. Implements: [Options, Events],
  5. options: {
  6. "style": "default",
  7. "propertyPath": "../x_component_portal_PageDesigner/Module/Table/table.html",
  8. "propertyMultiPath": "../x_component_portal_PageDesigner/Module/Table$Td/table$tdMulti.html"
  9. },
  10. initialize: function(form, options){
  11. this.setOptions(options);
  12. this.path = "../x_component_portal_PageDesigner/Module/Table/";
  13. this.cssPath = "../x_component_portal_PageDesigner/Module/Table/"+this.options.style+"/css.wcss";
  14. this._loadCss();
  15. this.moduleType = "component";
  16. this.moduleName = "table";
  17. this.form = form;
  18. this.container = null;
  19. this.containerNode = null;
  20. this.containers = [];
  21. this.elements = [];
  22. this.selectedMultiTds = [];
  23. },
  24. _getContainers: function(){
  25. //var tds = this.node.getElements("td");
  26. var tds = this._getTds();
  27. this.form.getTemplateData("Table$Td", function(data){
  28. tds.each(function(td){
  29. var json = this.form.getDomjson(td);
  30. var tdContainer = null;
  31. if (!json){
  32. var moduleData = Object.clone(data);
  33. tdContainer = new MWF.PCTable$Td(this.form);
  34. tdContainer.table = this;
  35. tdContainer.load(moduleData, td, this);
  36. }else{
  37. tdContainer = new MWF.PCTable$Td(this.form);
  38. tdContainer.table = this;
  39. tdContainer.load(json, td, this);
  40. }
  41. this.containers.push(tdContainer);
  42. }.bind(this));
  43. }.bind(this));
  44. },
  45. _getElements: function(){
  46. // this.elements.push(this);
  47. var captions = this.node.getElements("caption");
  48. captions.each(function(caption){
  49. var json = this.form.getDomjson(caption);
  50. var el = null;
  51. if (!json){
  52. this.form.getTemplateData("Common", function(data){
  53. var moduleData = Object.clone(data);
  54. el = new MWF.PCCommon(this.form);
  55. el.table = this;
  56. el.load(moduleData, caption, this);
  57. }.bind(this));
  58. }else{
  59. el = new MWF.PCCommon(this.form);
  60. el.table = this;
  61. el.load(json, caption, this);
  62. }
  63. this.elements.push(el);
  64. }.bind(this));
  65. },
  66. });