@ibiz-template/runtime 0.1.36 → 0.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. package/dist/index.esm.js +442 -66
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/constant/view-call-tag.d.ts +5 -1
  5. package/out/constant/view-call-tag.d.ts.map +1 -1
  6. package/out/constant/view-call-tag.js +4 -0
  7. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.d.ts.map +1 -1
  8. package/out/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.js +1 -0
  9. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts +3 -3
  10. package/out/controller/control/form/form-detail/form-item/form-item.controller.d.ts.map +1 -1
  11. package/out/controller/control/form/form-detail/form-item/form-item.controller.js +13 -8
  12. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts +3 -3
  13. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
  14. package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +13 -8
  15. package/out/controller/control/index.d.ts +1 -0
  16. package/out/controller/control/index.d.ts.map +1 -1
  17. package/out/controller/control/index.js +1 -0
  18. package/out/controller/control/medit-view-panel/index.d.ts +3 -0
  19. package/out/controller/control/medit-view-panel/index.d.ts.map +1 -0
  20. package/out/controller/control/medit-view-panel/index.js +2 -0
  21. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +119 -0
  22. package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -0
  23. package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +320 -0
  24. package/out/controller/control/medit-view-panel/medit-view-panel.service.d.ts +11 -0
  25. package/out/controller/control/medit-view-panel/medit-view-panel.service.d.ts.map +1 -0
  26. package/out/controller/control/medit-view-panel/medit-view-panel.service.js +9 -0
  27. package/out/controller/utils/value-rule/value-rule.d.ts +10 -1
  28. package/out/controller/utils/value-rule/value-rule.d.ts.map +1 -1
  29. package/out/controller/utils/value-rule/value-rule.js +64 -1
  30. package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts +14 -0
  31. package/out/interface/controller/controller/control/i-medit-view-panel.controller.d.ts.map +1 -0
  32. package/out/interface/controller/controller/control/i-medit-view-panel.controller.js +1 -0
  33. package/out/interface/controller/controller/control/index.d.ts +1 -0
  34. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  35. package/out/interface/controller/controller/control/index.js +1 -0
  36. package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts +9 -0
  37. package/out/interface/controller/event/control/i-medit-view-panel.event.d.ts.map +1 -0
  38. package/out/interface/controller/event/control/i-medit-view-panel.event.js +1 -0
  39. package/out/interface/controller/event/control/index.d.ts +1 -0
  40. package/out/interface/controller/event/control/index.d.ts.map +1 -1
  41. package/out/interface/controller/event/control/index.js +1 -0
  42. package/out/interface/controller/event/view/i-medit-view9.event.d.ts +10 -0
  43. package/out/interface/controller/event/view/i-medit-view9.event.d.ts.map +1 -0
  44. package/out/interface/controller/event/view/i-medit-view9.event.js +1 -0
  45. package/out/interface/controller/event/view/index.d.ts +1 -0
  46. package/out/interface/controller/event/view/index.d.ts.map +1 -1
  47. package/out/interface/controller/event/view/index.js +1 -0
  48. package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts +29 -0
  49. package/out/interface/controller/state/control/i-medit-view-panel.state.d.ts.map +1 -0
  50. package/out/interface/controller/state/control/i-medit-view-panel.state.js +1 -0
  51. package/out/interface/controller/state/control/index.d.ts +1 -0
  52. package/out/interface/controller/state/control/index.d.ts.map +1 -1
  53. package/out/interface/controller/state/control/index.js +1 -0
  54. package/out/interface/controller/state/view/i-medit-view9.state.d.ts +11 -0
  55. package/out/interface/controller/state/view/i-medit-view9.state.d.ts.map +1 -0
  56. package/out/interface/controller/state/view/i-medit-view9.state.js +1 -0
  57. package/out/interface/controller/state/view/index.d.ts +1 -0
  58. package/out/interface/controller/state/view/index.d.ts.map +1 -1
  59. package/out/interface/controller/state/view/index.js +1 -0
  60. package/package.json +2 -2
  61. package/src/constant/view-call-tag.ts +4 -0
  62. package/src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts +2 -0
  63. package/src/controller/control/form/form-detail/form-item/form-item.controller.ts +22 -9
  64. package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +18 -13
  65. package/src/controller/control/index.ts +1 -0
  66. package/src/controller/control/medit-view-panel/index.ts +2 -0
  67. package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +375 -0
  68. package/src/controller/control/medit-view-panel/medit-view-panel.service.ts +10 -0
  69. package/src/controller/utils/value-rule/value-rule.ts +97 -2
  70. package/src/interface/controller/controller/control/i-medit-view-panel.controller.ts +17 -0
  71. package/src/interface/controller/controller/control/index.ts +1 -0
  72. package/src/interface/controller/event/control/i-medit-view-panel.event.ts +9 -0
  73. package/src/interface/controller/event/control/index.ts +1 -0
  74. package/src/interface/controller/event/view/i-medit-view9.event.ts +10 -0
  75. package/src/interface/controller/event/view/index.ts +1 -0
  76. package/src/interface/controller/state/control/i-medit-view-panel.state.ts +36 -0
  77. package/src/interface/controller/state/control/index.ts +1 -0
  78. package/src/interface/controller/state/view/i-medit-view9.state.ts +10 -0
  79. package/src/interface/controller/state/view/index.ts +1 -0
@@ -21,6 +21,10 @@ export declare enum ViewCallTag {
21
21
  /**
22
22
  * 校验数据(编辑视图才用)
23
23
  */
24
- 'VALIDATE' = "Validate"
24
+ 'VALIDATE' = "Validate",
25
+ /**
26
+ * 切换折叠(首页视图才用)
27
+ */
28
+ 'TOGGLE_COLLAPSE' = "ToggleCollapse"
25
29
  }
26
30
  //# sourceMappingURL=view-call-tag.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"view-call-tag.d.ts","sourceRoot":"","sources":["../../src/constant/view-call-tag.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,MAAM,SAAS;IACf;;OAEG;IACH,UAAU,YAAY;IACtB;;OAEG;IACH,cAAc,eAAe;IAC7B;;OAEG;IACH,UAAU,aAAa;CACxB"}
1
+ {"version":3,"file":"view-call-tag.d.ts","sourceRoot":"","sources":["../../src/constant/view-call-tag.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,MAAM,SAAS;IACf;;OAEG;IACH,UAAU,YAAY;IACtB;;OAEG;IACH,cAAc,eAAe;IAC7B;;OAEG;IACH,UAAU,aAAa;IACvB;;OAEG;IACH,iBAAiB,mBAAmB;CACrC"}
@@ -24,4 +24,8 @@ export var ViewCallTag;
24
24
  * 校验数据(编辑视图才用)
25
25
  */
26
26
  ViewCallTag["VALIDATE"] = "Validate";
27
+ /**
28
+ * 切换折叠(首页视图才用)
29
+ */
30
+ ViewCallTag["TOGGLE_COLLAPSE"] = "ToggleCollapse";
27
31
  })(ViewCallTag || (ViewCallTag = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"portlet-part.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;GAQG;AACH,qBAAa,qBAAqB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAC1E,YAAW,kBAAkB;IAE7B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;OAKG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IAEzC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAE9C;;;;;;;OAOG;IACH,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED;;;;;;;OAOG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED;;;;;;;OAOG;gBAED,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,oBAAoB,EAC/B,MAAM,CAAC,EAAE,2BAA2B;IAQtC;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBvC;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,IAAI,gBAAgB;IAIzC;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAa1C;;;;;;OAMG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BvC;;;;;;;OAOG;IACG,aAAa,CACjB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,KAAK,EAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAS1C;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjC"}
1
+ {"version":3,"file":"portlet-part.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/dashboard/portlet/portlet-part/portlet-part.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,2BAA2B,EAC3B,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;;;;GAQG;AACH,qBAAa,qBAAqB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAC1E,YAAW,kBAAkB;IAE7B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAElB;;;;;OAKG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;IAEzC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC;IAE9C;;;;;;;OAOG;IACH,IAAI,OAAO,IAAI,QAAQ,CAEtB;IAED;;;;;;;OAOG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED;;;;;;;OAOG;gBAED,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,oBAAoB,EAC/B,MAAM,CAAC,EAAE,2BAA2B;IAQtC;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvC;;;;;;OAMG;IACH,SAAS,CAAC,WAAW,IAAI,gBAAgB;IAIzC;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAa1C;;;;;;OAMG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BvC;;;;;;;OAOG;IACG,aAAa,CACjB,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,UAAU,EACjB,IAAI,GAAE,KAAK,EAAO,GACjB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAWlD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAS1C;;;;OAIG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjC"}
@@ -70,6 +70,7 @@ export class PortletPartController {
70
70
  await this.onInit();
71
71
  }
72
72
  async onInit() {
73
+ this.onDataChange = this.onDataChange.bind(this);
73
74
  // 初始化布局参数
74
75
  const { layoutPos, sysCss } = this.model;
75
76
  // 初始化高宽
@@ -51,10 +51,10 @@ export declare class FormItemController extends FormDetailController<IDEFormItem
51
51
  * 值规则
52
52
  *
53
53
  * @author lxm
54
- * @date 2022-09-01 22:09:49
55
- * @type {IData}
54
+ * @date 2023-10-18 03:39:23
55
+ * @type {IData[]}
56
56
  */
57
- rules: IData;
57
+ rules: IData[];
58
58
  /**
59
59
  * 表单项名称
60
60
  *
@@ -1 +1 @@
1
- {"version":3,"file":"form-item.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/form/form-detail/form-item/form-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AAIjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,8BAA8B,EAC/B,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,qBAAa,kBACX,SAAQ,oBAAoB,CAAC,WAAW,CACxC,YAAW,0BAA0B;IAE7B,KAAK,EAAE,aAAa,CAAC;IAE7B,SAAS,CAAC,WAAW,IAAI,aAAa;IAItC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;OAMG;IACH,KAAK,EAAE,KAAK,CAAM;IAElB;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;OAOG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAKtC;IAED;;;;;;;;OAQG;gBAED,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,cAAc,EACpB,MAAM,CAAC,EAAE,8BAA8B;IAOzC;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;;OAOG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;;OAOG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBvC;;;;;;;OAOG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAa1C;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAWhB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/C,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI;IAO1E;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBlC;;;;;;;OAOG;IACG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAE,KAAiB,GAAG,IAAI;CAkBlE"}
1
+ {"version":3,"file":"form-item.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/form/form-detail/form-item/form-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AAIjE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EACf,8BAA8B,EAC/B,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,qBAAa,kBACX,SAAQ,oBAAoB,CAAC,WAAW,CACxC,YAAW,0BAA0B;IAE7B,KAAK,EAAE,aAAa,CAAC;IAE7B,SAAS,CAAC,WAAW,IAAI,aAAa;IAItC;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAE3B;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAEzB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAE3B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;OAMG;IACH,KAAK,EAAE,KAAK,EAAE,CAAM;IAEpB;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;OAOG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAKtC;IAED;;;;;;;;OAQG;gBAED,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,cAAc,EACpB,MAAM,CAAC,EAAE,8BAA8B;IAOzC;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;;OAOG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;;OAOG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBvC;;;;;;;OAOG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB1C;;;;;;;OAOG;IACH,cAAc,IAAI,IAAI;IAWhB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B/C,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAY5D,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,IAAI;IAO1E;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAyBlC;;;;;;;OAOG;IACG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAE,KAAiB,GAAG,IAAI;CAkBlE"}
@@ -6,7 +6,7 @@ import { getEditorProvider } from '../../../../../register';
6
6
  import { Srfuf } from '../../../../../service';
7
7
  import { filterValueRules } from '../../../../../utils';
8
8
  import { FormNotifyState } from '../../../../constant';
9
- import { generateRules, getDefaultValue } from '../../../../utils';
9
+ import { generateEditorRules, generateRules, getDefaultValue, } from '../../../../utils';
10
10
  export class FormItemController extends FormDetailController {
11
11
  createState() {
12
12
  var _a;
@@ -61,8 +61,8 @@ export class FormItemController extends FormDetailController {
61
61
  * 值规则
62
62
  *
63
63
  * @author lxm
64
- * @date 2022-09-01 22:09:49
65
- * @type {IData}
64
+ * @date 2023-10-18 03:39:23
65
+ * @type {IData[]}
66
66
  */
67
67
  this.rules = [];
68
68
  this.context = form.context;
@@ -129,13 +129,18 @@ export class FormItemController extends FormDetailController {
129
129
  * @returns {*}
130
130
  */
131
131
  async initRules() {
132
+ this.rules = [];
132
133
  const formItemsVRs = filterValueRules(this.form.model.deformItemVRs || [], this.name);
133
- if (!formItemsVRs) {
134
- return;
134
+ if (formItemsVRs) {
135
+ this.rules.push(...generateRules(formItemsVRs, this.name, this.valueItemName));
136
+ }
137
+ if (this.model.editor) {
138
+ this.rules.push(...generateEditorRules(this.model.editor));
139
+ }
140
+ if (this.rules.length > 0) {
141
+ // 初始化async-validator实例
142
+ this.validator = new Schema({ [this.name]: this.rules });
135
143
  }
136
- this.rules = generateRules(formItemsVRs, this.name, this.valueItemName);
137
- // 初始化async-validator实例
138
- this.validator = new Schema({ [this.name]: this.rules });
139
144
  }
140
145
  /**
141
146
  * 计算启用条件的禁用
@@ -38,10 +38,10 @@ export declare class GridFieldEditColumnController extends GridFieldColumnContro
38
38
  * 值规则
39
39
  *
40
40
  * @author lxm
41
- * @date 2022-09-01 22:09:49
42
- * @type {IData}
41
+ * @date 2023-10-18 03:39:40
42
+ * @type {IData[]}
43
43
  */
44
- rules: IData;
44
+ rules: IData[];
45
45
  /**
46
46
  * 表格编辑项校验器实例
47
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"grid-field-edit-column.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,6BACX,SAAQ,yBACR,YAAW,0BAA0B;IAErC;;;;;;OAMG;IACH,QAAQ,EAAG,eAAe,CAAC;IAE3B;;;;;;OAMG;IACH,MAAM,EAAG,iBAAiB,CAAC;IAE3B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;;;;OAMG;IACH,KAAK,EAAE,KAAK,CAAM;IAElB;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAKtC;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;OAOG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBvC;;;;;;;OAOG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB1C;;;;;;;;OAQG;IACG,WAAW,CACf,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;OAOG;IACG,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCzE;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAMjE;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAiB3C;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAe3C;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAM3C;;;;;;;OAOG;IACH,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;IAe1C;;;;;;OAMG;IACG,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAwBpD"}
1
+ {"version":3,"file":"grid-field-edit-column.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAKlC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,6BACX,SAAQ,yBACR,YAAW,0BAA0B;IAErC;;;;;;OAMG;IACH,QAAQ,EAAG,eAAe,CAAC;IAE3B;;;;;;OAMG;IACH,MAAM,EAAG,iBAAiB,CAAC;IAE3B;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,eAAe,CAAC;IAEjC;;;;;;OAMG;IACH,KAAK,EAAE,KAAK,EAAE,CAAM;IAEpB;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS,CAAU;IAE3B;;;;;;OAMG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;IAED;;;;;;OAMG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAKtC;IAED;;;;;OAKG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;;;OAOG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBvC;;;;;;;OAOG;cACa,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB1C;;;;;;;;OAQG;IACG,WAAW,CACf,GAAG,EAAE,YAAY,EACjB,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;OAOG;IACG,gBAAgB,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCzE;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAMjE;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAiB3C;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAe3C;;;;;OAKG;IACH,kBAAkB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAM3C;;;;;;;OAOG;IACH,cAAc,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;IAe1C;;;;;;OAMG;IACG,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;CAwBpD"}
@@ -6,7 +6,7 @@ import { findEditItem } from '../../../../../model';
6
6
  import { getEditorProvider } from '../../../../../register';
7
7
  import { Srfuf } from '../../../../../service';
8
8
  import { filterValueRules } from '../../../../../utils';
9
- import { generateRules } from '../../../../utils';
9
+ import { generateEditorRules, generateRules } from '../../../../utils';
10
10
  import { GridFieldColumnController } from '../grid-field-column';
11
11
  /**
12
12
  * 表格属性列(开启行编辑)控制器
@@ -21,8 +21,8 @@ export class GridFieldEditColumnController extends GridFieldColumnController {
21
21
  * 值规则
22
22
  *
23
23
  * @author lxm
24
- * @date 2022-09-01 22:09:49
25
- * @type {IData}
24
+ * @date 2023-10-18 03:39:40
25
+ * @type {IData[]}
26
26
  */
27
27
  this.rules = [];
28
28
  }
@@ -101,13 +101,18 @@ export class GridFieldEditColumnController extends GridFieldColumnController {
101
101
  * @returns {*}
102
102
  */
103
103
  async initRules() {
104
+ this.rules = [];
104
105
  const editItemsVRs = filterValueRules(this.grid.model.degridEditItemVRs || [], this.fieldName);
105
- if (!editItemsVRs) {
106
- return;
106
+ if (editItemsVRs) {
107
+ this.rules.push(...generateRules(editItemsVRs, this.fieldName, this.valueItemName));
108
+ }
109
+ if (this.editItem.editor) {
110
+ this.rules.push(...generateEditorRules(this.editItem.editor));
111
+ }
112
+ if (this.rules.length > 0) {
113
+ // 初始化async-validator实例
114
+ this.validator = new Schema({ [this.fieldName]: this.rules });
107
115
  }
108
- this.rules = generateRules(editItemsVRs, this.fieldName, this.valueItemName);
109
- // 初始化async-validator实例
110
- this.validator = new Schema({ [this.fieldName]: this.rules });
111
116
  }
112
117
  /**
113
118
  * 设置行属性的值
@@ -21,4 +21,5 @@ export * from './md-ctrl/index';
21
21
  export * from './kanban/index';
22
22
  export * from './tree-grid-ex/index';
23
23
  export * from './tree-grid/index';
24
+ export * from './medit-view-panel/index';
24
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controller/control/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/controller/control/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
@@ -21,3 +21,4 @@ export * from './md-ctrl/index';
21
21
  export * from './kanban/index';
22
22
  export * from './tree-grid-ex/index';
23
23
  export * from './tree-grid/index';
24
+ export * from './medit-view-panel/index';
@@ -0,0 +1,3 @@
1
+ export * from './medit-view-panel.controller';
2
+ export * from './medit-view-panel.service';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/medit-view-panel/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './medit-view-panel.controller';
2
+ export * from './medit-view-panel.service';
@@ -0,0 +1,119 @@
1
+ import { IAppDERS, IDEMultiEditViewPanel } from '@ibiz/model-core';
2
+ import { IMEditViewPanelState, IMEditViewPanelEvent, IMEditViewPanelController, MDCtrlLoadParams, IPanelUiItem, DataChangeEvent } from '../../../interface';
3
+ import { ControlVO } from '../../../service';
4
+ import { MDControlController } from '../../common';
5
+ import { MEditViewPanelService } from './medit-view-panel.service';
6
+ /**
7
+ * 多编辑视图面板部件控制器
8
+ * @export
9
+ * @class MEditViewPanelController
10
+ * @extends {MDControlController<IDEMultiEditViewPanel, IMEditViewPanelState, IMEditViewPanelEvent>}
11
+ * @implements {IMEditViewPanelController}
12
+ */
13
+ export declare class MEditViewPanelController extends MDControlController<IDEMultiEditViewPanel, IMEditViewPanelState, IMEditViewPanelEvent> implements IMEditViewPanelController {
14
+ service: MEditViewPanelService;
15
+ /**
16
+ * 是否显示底部按钮
17
+ *
18
+ */
19
+ showButton: boolean;
20
+ /**
21
+ * 关系实体参数对象
22
+ *
23
+ */
24
+ deResParameters: IData[];
25
+ /**
26
+ * 当前应用视图参数对象
27
+ *
28
+ */
29
+ parameters: IData[];
30
+ protected onCreated(): Promise<void>;
31
+ protected initState(): void;
32
+ /**
33
+ * 格式化视图关系参数
34
+ *
35
+ * @param {IContext} context 应用上下文数据
36
+ * @param {IAppDERS[][]} appDERSPaths 关系路径数据
37
+ */
38
+ formatAppDERSPath(context: IContext, appDERSPaths: IAppDERS[][]): Promise<IData[]>;
39
+ /**
40
+ * 初始化嵌入应用视图及实体参数对象
41
+ * @return {*}
42
+ * @author: zhujiamin
43
+ * @Date: 2023-10-16 13:56:56
44
+ */
45
+ initParameters(): Promise<void>;
46
+ /**
47
+ * 部件加载后处理
48
+ *
49
+ * @author chitanda
50
+ * @date 2023-06-21 15:06:44
51
+ * @param {MDCtrlLoadParams} args 本次请求参数
52
+ * @param {IData[]} items 上游处理的数据(默认是后台数据)
53
+ * @return {*} {Promise<IData[]>} 返回给后续处理的数据
54
+ */
55
+ afterLoad(args: MDCtrlLoadParams, items: ControlVO[]): Promise<ControlVO[]>;
56
+ /**
57
+ * 处理UI所需数据
58
+ * @param {ControlVO} arg
59
+ * @return {*}
60
+ * @author: zhujiamin
61
+ * @Date: 2023-10-16 17:55:31
62
+ */
63
+ handlePanelItemParams(arg: ControlVO): IPanelUiItem;
64
+ /**
65
+ * 处理数据
66
+ * @param {ControlVO} datas
67
+ * @return {*}
68
+ * @author: zhujiamin
69
+ * @Date: 2023-10-16 15:00:02
70
+ */
71
+ doItems(datas: ControlVO[]): void;
72
+ /**
73
+ * 处理添加
74
+ * @return {*}
75
+ * @author: zhujiamin
76
+ * @Date: 2023-10-16 15:18:01
77
+ */
78
+ handleAdd(): Promise<void>;
79
+ /**
80
+ * 处理删除
81
+ * @param {IPanelUiItem} item
82
+ * @return {*}
83
+ * @author: zhujiamin
84
+ * @Date: 2023-10-16 15:23:59
85
+ */
86
+ handleDelete(item: IPanelUiItem): Promise<void>;
87
+ /**
88
+ * 处理tab删除
89
+ * @param {IPanelUiItem} item
90
+ * @return {*}
91
+ * @author: zhujiamin
92
+ * @Date: 2023-10-17 14:21:57
93
+ */
94
+ handleTabDelete(item: IPanelUiItem, index: number): Promise<void>;
95
+ /**
96
+ * 后台删除结束后界面删除逻辑
97
+ *
98
+ * @author lxm
99
+ * @date 2022-09-06 19:09:10
100
+ * @param {IData} data
101
+ */
102
+ afterRemove(data: IData): void;
103
+ /**
104
+ * 视图数据变化
105
+ * @param {DataChangeEvent} args
106
+ * @return {*}
107
+ * @author: zhujiamin
108
+ * @Date: 2023-10-16 17:20:45
109
+ */
110
+ onViewDataChange(args: DataChangeEvent, id: string): void;
111
+ /**
112
+ * 保存
113
+ *
114
+ * @param {ControlVO} data
115
+ * @returns {*} {Promise<void>}
116
+ */
117
+ save(data: ControlVO, id: string): Promise<void>;
118
+ }
119
+ //# sourceMappingURL=medit-view-panel.controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"medit-view-panel.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/medit-view-panel/medit-view-panel.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAc,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE/E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAChB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAS,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;GAMG;AACH,qBAAa,wBACX,SAAQ,mBAAmB,CACzB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,CAEtB,YAAW,yBAAyB;IAE5B,OAAO,EAAE,qBAAqB,CAAC;IAEvC;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAQ;IAE3B;;;OAGG;IACH,eAAe,EAAE,KAAK,EAAE,CAAM;IAE9B;;;OAGG;IACH,UAAU,EAAE,KAAK,EAAE,CAAM;cAET,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1C,SAAS,CAAC,SAAS,IAAI,IAAI;IAO3B;;;;;OAKG;IACG,iBAAiB,CACrB,OAAO,EAAE,QAAQ,EACjB,YAAY,EAAE,QAAQ,EAAE,EAAE,GACzB,OAAO,CAAC,KAAK,EAAE,CAAC;IAkCnB;;;;;OAKG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BrC;;;;;;;;OAQG;IACG,SAAS,CACb,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,SAAS,EAAE,GACjB,OAAO,CAAC,SAAS,EAAE,CAAC;IAcvB;;;;;;OAMG;IACH,qBAAqB,CAAC,GAAG,EAAE,SAAS,GAAG,YAAY;IA8CnD;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;IAOjC;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAShC;;;;;;OAMG;IACG,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAarD;;;;;;OAMG;IACG,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvE;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAW9B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAOzD;;;;;OAKG;IACG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAuCvD"}
@@ -0,0 +1,320 @@
1
+ /* eslint-disable no-shadow */
2
+ import { RuntimeError } from '@ibiz-template/core';
3
+ import { createUUID } from 'qx-util';
4
+ import { calcDeCodeNameById } from '../../../model';
5
+ import { Srfuf } from '../../../service';
6
+ import { MDControlController } from '../../common';
7
+ import { MEditViewPanelService } from './medit-view-panel.service';
8
+ /**
9
+ * 多编辑视图面板部件控制器
10
+ * @export
11
+ * @class MEditViewPanelController
12
+ * @extends {MDControlController<IDEMultiEditViewPanel, IMEditViewPanelState, IMEditViewPanelEvent>}
13
+ * @implements {IMEditViewPanelController}
14
+ */
15
+ export class MEditViewPanelController extends MDControlController {
16
+ constructor() {
17
+ super(...arguments);
18
+ /**
19
+ * 是否显示底部按钮
20
+ *
21
+ */
22
+ this.showButton = true;
23
+ /**
24
+ * 关系实体参数对象
25
+ *
26
+ */
27
+ this.deResParameters = [];
28
+ /**
29
+ * 当前应用视图参数对象
30
+ *
31
+ */
32
+ this.parameters = [];
33
+ }
34
+ async onCreated() {
35
+ await super.onCreated();
36
+ this.service = new MEditViewPanelService(this.model);
37
+ await this.service.init(this.context);
38
+ await this.initParameters();
39
+ }
40
+ initState() {
41
+ super.initState();
42
+ this.state.panelUiItems = [];
43
+ this.state.activeTab = '';
44
+ this.state.size = 1000;
45
+ }
46
+ /**
47
+ * 格式化视图关系参数
48
+ *
49
+ * @param {IContext} context 应用上下文数据
50
+ * @param {IAppDERS[][]} appDERSPaths 关系路径数据
51
+ */
52
+ async formatAppDERSPath(context, appDERSPaths) {
53
+ var _a, _b;
54
+ if (!appDERSPaths || appDERSPaths.length === 0) {
55
+ return [];
56
+ }
57
+ let counter = 0;
58
+ for (const appDERSPath of appDERSPaths) {
59
+ const tempData = { isInclude: true, data: [] };
60
+ for (const singleAppDERSPath of appDERSPath) {
61
+ // eslint-disable-next-line no-await-in-loop
62
+ const majorPSAppDataEntity = await ibiz.hub.getAppDataEntity(singleAppDERSPath.majorAppDataEntityId);
63
+ if (majorPSAppDataEntity && majorPSAppDataEntity.codeName) {
64
+ tempData.isInclude =
65
+ context[majorPSAppDataEntity.codeName.toLowerCase()] &&
66
+ tempData.isInclude;
67
+ tempData.data.push({
68
+ parameterName: (_a = majorPSAppDataEntity.keyAppDEFieldId) === null || _a === void 0 ? void 0 : _a.toLowerCase(),
69
+ pathName: (_b = majorPSAppDataEntity.codeName) === null || _b === void 0 ? void 0 : _b.toLowerCase(),
70
+ });
71
+ }
72
+ }
73
+ // eslint-disable-next-line no-plusplus
74
+ counter++;
75
+ if (tempData.isInclude) {
76
+ return tempData.data;
77
+ }
78
+ if (counter === appDERSPaths.length) {
79
+ return [];
80
+ }
81
+ }
82
+ return [];
83
+ }
84
+ /**
85
+ * 初始化嵌入应用视图及实体参数对象
86
+ * @return {*}
87
+ * @author: zhujiamin
88
+ * @Date: 2023-10-16 13:56:56
89
+ */
90
+ async initParameters() {
91
+ var _a, _b;
92
+ if (this.controlParams.SHOWBUTTON) {
93
+ this.showButton = !Object.is(this.controlParams.SHOWBUTTON, 'false');
94
+ }
95
+ if (this.model.embeddedAppViewId) {
96
+ const embedView = await ibiz.hub.getAppView(this.model.embeddedAppViewId);
97
+ if (embedView.appDataEntityId) {
98
+ const embedViewEntity = await ibiz.hub.getAppDataEntity(embedView.appDataEntityId);
99
+ if (embedView && embedViewEntity) {
100
+ this.deResParameters = await this.formatAppDERSPath(this.context, embedView.appDERSPaths);
101
+ this.parameters = [
102
+ {
103
+ parameterName: (_a = embedViewEntity.keyAppDEFieldId) === null || _a === void 0 ? void 0 : _a.toLowerCase(),
104
+ pathName: (_b = embedViewEntity.codeName) === null || _b === void 0 ? void 0 : _b.toLowerCase(),
105
+ },
106
+ ];
107
+ }
108
+ else {
109
+ this.deResParameters = [];
110
+ this.parameters = [];
111
+ }
112
+ }
113
+ }
114
+ }
115
+ /**
116
+ * 部件加载后处理
117
+ *
118
+ * @author chitanda
119
+ * @date 2023-06-21 15:06:44
120
+ * @param {MDCtrlLoadParams} args 本次请求参数
121
+ * @param {IData[]} items 上游处理的数据(默认是后台数据)
122
+ * @return {*} {Promise<IData[]>} 返回给后续处理的数据
123
+ */
124
+ async afterLoad(args, items) {
125
+ await super.afterLoad(args, items);
126
+ this.state.panelUiItems = [];
127
+ this.doItems(items);
128
+ // 设置默认激活
129
+ if (this.model.panelStyle === 'TAB_TOP' &&
130
+ this.state.panelUiItems.length > 0) {
131
+ this.state.activeTab = this.state.panelUiItems[0].id;
132
+ }
133
+ return items;
134
+ }
135
+ /**
136
+ * 处理UI所需数据
137
+ * @param {ControlVO} arg
138
+ * @return {*}
139
+ * @author: zhujiamin
140
+ * @Date: 2023-10-16 17:55:31
141
+ */
142
+ handlePanelItemParams(arg) {
143
+ const [{ parameterName }] = this.parameters;
144
+ const id = arg[parameterName]
145
+ ? arg[parameterName]
146
+ : `mockId:${createUUID()}`;
147
+ const item = { id, context: {}, params: {}, data: arg, srfmajortext: '' };
148
+ Object.assign(item.context, this.context);
149
+ // 关系应用实体参数
150
+ this.deResParameters.forEach(deResParameter => {
151
+ const { parameterName, pathName } = deResParameter;
152
+ if (this.context[parameterName] &&
153
+ !Object.is(this.context[parameterName], '')) {
154
+ Object.assign(item.context, {
155
+ [pathName]: this.context[parameterName],
156
+ });
157
+ }
158
+ else if (arg[parameterName] && !Object.is(arg[parameterName], '')) {
159
+ Object.assign(item.context, {
160
+ [pathName]: arg[parameterName],
161
+ });
162
+ }
163
+ });
164
+ // 当前视图参数(应用实体视图)
165
+ this.parameters.forEach(parameter => {
166
+ const { parameterName, pathName } = parameter;
167
+ if (arg[parameterName] && !Object.is(arg[parameterName], '')) {
168
+ Object.assign(item.context, {
169
+ [pathName]: arg[parameterName],
170
+ });
171
+ }
172
+ // 当前页面实体主信息
173
+ if (arg.srfmajortext && !Object.is(arg.srfmajortext, '')) {
174
+ Object.assign(item, { srfmajortext: arg.srfmajortext });
175
+ }
176
+ else if (arg.srfuf === 0) {
177
+ Object.assign(item, { srfmajortext: '草稿--新建' });
178
+ }
179
+ });
180
+ // 合并视图参数
181
+ Object.assign(item.params, this.params);
182
+ return item;
183
+ }
184
+ /**
185
+ * 处理数据
186
+ * @param {ControlVO} datas
187
+ * @return {*}
188
+ * @author: zhujiamin
189
+ * @Date: 2023-10-16 15:00:02
190
+ */
191
+ doItems(datas) {
192
+ datas.forEach((arg) => {
193
+ const item = this.handlePanelItemParams(arg);
194
+ this.state.panelUiItems.push(item);
195
+ });
196
+ }
197
+ /**
198
+ * 处理添加
199
+ * @return {*}
200
+ * @author: zhujiamin
201
+ * @Date: 2023-10-16 15:18:01
202
+ */
203
+ async handleAdd() {
204
+ this.doItems([{ srfuf: 0 }]);
205
+ if (this.model.panelStyle === 'TAB_TOP') {
206
+ // 上分页添加后激活最后一个
207
+ this.state.activeTab =
208
+ this.state.panelUiItems[this.state.panelUiItems.length - 1].id;
209
+ }
210
+ }
211
+ /**
212
+ * 处理删除
213
+ * @param {IPanelUiItem} item
214
+ * @return {*}
215
+ * @author: zhujiamin
216
+ * @Date: 2023-10-16 15:23:59
217
+ */
218
+ async handleDelete(item) {
219
+ // 新建的界面上删除即可
220
+ if (item.data.srfuf === 0) {
221
+ // 删除items中已删除的项
222
+ const index = this.state.panelUiItems.findIndex(value => {
223
+ return value === item;
224
+ });
225
+ this.state.panelUiItems.splice(index, 1);
226
+ }
227
+ else {
228
+ await this.remove({ data: [item.data] });
229
+ }
230
+ }
231
+ /**
232
+ * 处理tab删除
233
+ * @param {IPanelUiItem} item
234
+ * @return {*}
235
+ * @author: zhujiamin
236
+ * @Date: 2023-10-17 14:21:57
237
+ */
238
+ async handleTabDelete(item, index) {
239
+ let isBackToEnd = false;
240
+ // 如果删除的是激活项,且为最后一项,设置激活项为前一项
241
+ if (item.id === this.state.activeTab &&
242
+ index === this.state.panelUiItems.length - 1) {
243
+ if (index > 0) {
244
+ isBackToEnd = true;
245
+ }
246
+ }
247
+ await this.handleDelete(item);
248
+ if (isBackToEnd) {
249
+ this.state.activeTab =
250
+ this.state.panelUiItems[this.state.panelUiItems.length - 1].id;
251
+ }
252
+ }
253
+ /**
254
+ * 后台删除结束后界面删除逻辑
255
+ *
256
+ * @author lxm
257
+ * @date 2022-09-06 19:09:10
258
+ * @param {IData} data
259
+ */
260
+ afterRemove(data) {
261
+ super.afterRemove(data);
262
+ // 删除this.items里的数据
263
+ const index = this.state.panelUiItems.findIndex(item => item.data.srfkey === data.srfkey);
264
+ if (index !== -1) {
265
+ this.state.panelUiItems.splice(index, 1);
266
+ }
267
+ }
268
+ /**
269
+ * 视图数据变化
270
+ * @param {DataChangeEvent} args
271
+ * @return {*}
272
+ * @author: zhujiamin
273
+ * @Date: 2023-10-16 17:20:45
274
+ */
275
+ onViewDataChange(args, id) {
276
+ // 新建的保存成功后该部件需要保存来更新数据
277
+ if (args.eventName === 'onSaveSuccess') {
278
+ this.save(args.data[0], id);
279
+ }
280
+ }
281
+ /**
282
+ * 保存
283
+ *
284
+ * @param {ControlVO} data
285
+ * @returns {*} {Promise<void>}
286
+ */
287
+ async save(data, id) {
288
+ const panelUiItemIndex = this.state.panelUiItems.findIndex(item => item.id === id);
289
+ if (!panelUiItemIndex) {
290
+ throw new RuntimeError('编辑视图面板部件UI数据不存在');
291
+ }
292
+ await this.startLoading();
293
+ let res;
294
+ const isCreate = data.srfuf === Srfuf.CREATE;
295
+ const deName = calcDeCodeNameById(this.model.appDataEntityId);
296
+ const tempContext = this.context.clone();
297
+ tempContext[deName] = data.srfkey;
298
+ try {
299
+ res = isCreate
300
+ ? await this.service.create(tempContext, data)
301
+ : await this.service.update(tempContext, data);
302
+ }
303
+ catch (error) {
304
+ await this.evt.emit('onSaveError', undefined);
305
+ this.actionNotification(`${isCreate ? 'CREATE' : 'UPDATE'}ERROR`, {
306
+ error: error,
307
+ data: this.state.panelUiItems[panelUiItemIndex].data,
308
+ });
309
+ throw error;
310
+ }
311
+ finally {
312
+ await this.endLoading();
313
+ }
314
+ // 后续处理
315
+ const index = this.state.items.findIndex(item => item.srfkey === data.srfkey);
316
+ this.state.items.splice(index, 1, res.data);
317
+ this.state.panelUiItems.splice(panelUiItemIndex, 1, this.handlePanelItemParams(res.data));
318
+ await this.evt.emit('onSaveSuccess', undefined);
319
+ }
320
+ }