Subform.js 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. MWF.xDesktop.requireApp("process.Xform", "Subform", null, false);
  2. MWF.xApplication.cms.Xform.Subform = MWF.CMSSubform = new Class({
  3. Extends: MWF.APPSubform,
  4. getSubform: function(callback){
  5. if (this.json.subformType==="script"){
  6. if (this.json.subformScript.code){
  7. var data = this.form.Macro.exec(this.json.subformScript.code, this);
  8. if (data){
  9. var formName, app;
  10. if( typeOf( data ) === "string" ){
  11. formName = data;
  12. }else{
  13. if( data.application )app = data.application;
  14. if( data.subform )formName = data.subform;
  15. }
  16. if( formName ){
  17. if( !app )app = this.form.businessData.document.appId || this.form.businessData.document.application;
  18. MWF.Actions.get("x_cms_assemble_control").getFormWithColumn(formName, app, function(json){
  19. this.getSubformData(json.data);
  20. if (callback) callback();
  21. }.bind(this));
  22. }else{
  23. if (callback) callback();
  24. }
  25. }else{
  26. if (callback) callback();
  27. }
  28. }
  29. }else{
  30. if (this.json.subformSelected && this.json.subformSelected!=="none"){
  31. var app;
  32. if( this.json.subformAppSelected ){
  33. app = this.json.subformAppSelected;
  34. }else{
  35. app = this.form.businessData.document.appId || this.form.businessData.document.application;
  36. }
  37. MWF.Actions.get("x_cms_assemble_control").getFormWithColumn(this.json.subformSelected, app, function(json){
  38. this.getSubformData(json.data);
  39. if (callback) callback();
  40. }.bind(this));
  41. }else{
  42. if (callback) callback();
  43. }
  44. }
  45. //if (this.json.subformType==="script"){
  46. // if (this.json.subformScript.code){
  47. // var formNome = this.form.Macro.exec(this.json.subformScript.code, this);
  48. // if (formNome){
  49. // MWF.Actions.get("x_cms_assemble_control").getForm(formNome, function(json){
  50. // this.getSubformData(json.data);
  51. // if (callback) callback();
  52. // }.bind(this));
  53. // }
  54. // }
  55. //}else{
  56. // if (this.json.subformSelected && this.json.subformSelected!=="none"){
  57. // MWF.Actions.get("x_cms_assemble_control").getForm(this.json.subformSelected, function(json){
  58. // this.getSubformData(json.data);
  59. // if (callback) callback();
  60. // }.bind(this));
  61. // }else{
  62. // if (callback) callback();
  63. // }
  64. //}
  65. }
  66. });