@ibiz-template/runtime 0.2.9 → 0.2.10

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 (36) hide show
  1. package/dist/index.esm.js +61 -33
  2. package/dist/index.system.min.js +1 -1
  3. package/dist/index.system.min.js.map +1 -1
  4. package/out/controller/control/map/map.controller.js +2 -2
  5. package/out/controller/control/panel/panel/panel-item.controller.d.ts +1 -0
  6. package/out/controller/control/panel/panel/panel-item.controller.d.ts.map +1 -1
  7. package/out/controller/control/panel/panel/panel-item.controller.js +1 -0
  8. package/out/controller/control/panel/panel/panel.controller.d.ts +3 -1
  9. package/out/controller/control/panel/panel/panel.controller.d.ts.map +1 -1
  10. package/out/controller/control/panel/panel/panel.controller.js +20 -2
  11. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts +6 -0
  12. package/out/interface/controller/controller/control/panel-item/i-panel-item.controller.d.ts.map +1 -1
  13. package/out/interface/controller/state/control/i-map.state.d.ts +4 -4
  14. package/out/interface/controller/state/control/i-map.state.d.ts.map +1 -1
  15. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts +6 -9
  16. package/out/logic-scheduler/executor/app-ui-logic-executor.d.ts.map +1 -1
  17. package/out/logic-scheduler/executor/app-ui-logic-executor.js +14 -16
  18. package/out/model/data-entity/data-entity.d.ts +0 -11
  19. package/out/model/data-entity/data-entity.d.ts.map +1 -1
  20. package/out/model/data-entity/data-entity.js +0 -14
  21. package/out/service/vo/map-data/map-data.d.ts +1 -1
  22. package/out/service/vo/map-data/map-data.d.ts.map +1 -1
  23. package/out/service/vo/map-data/map-data.js +4 -3
  24. package/out/service/vo/panel-data/panel-data.d.ts +9 -4
  25. package/out/service/vo/panel-data/panel-data.d.ts.map +1 -1
  26. package/out/service/vo/panel-data/panel-data.js +18 -1
  27. package/package.json +2 -2
  28. package/src/controller/control/map/map.controller.ts +2 -2
  29. package/src/controller/control/panel/panel/panel-item.controller.ts +2 -0
  30. package/src/controller/control/panel/panel/panel.controller.ts +21 -3
  31. package/src/interface/controller/controller/control/panel-item/i-panel-item.controller.ts +7 -0
  32. package/src/interface/controller/state/control/i-map.state.ts +4 -4
  33. package/src/logic-scheduler/executor/app-ui-logic-executor.ts +17 -16
  34. package/src/model/data-entity/data-entity.ts +0 -17
  35. package/src/service/vo/map-data/map-data.ts +6 -4
  36. package/src/service/vo/panel-data/panel-data.ts +25 -6
@@ -57,10 +57,10 @@ export class MapController extends MDControlController {
57
57
  const tempareaData = [];
58
58
  const temppointData = [];
59
59
  result.forEach(item => {
60
- if (item._type === 'area') {
60
+ if (item._itemStyle === 'REGION') {
61
61
  tempareaData.push(item);
62
62
  }
63
- else if (item._type === 'point') {
63
+ else if (item._itemStyle === 'POINT') {
64
64
  temppointData.push(item);
65
65
  }
66
66
  });
@@ -65,6 +65,7 @@ export declare class PanelItemController<T extends IPanelItem = IPanelItem> impl
65
65
  */
66
66
  init(): Promise<void>;
67
67
  protected onInit(): Promise<void>;
68
+ destroy(): void;
68
69
  /**
69
70
  * 创建面板状态对象
70
71
  *
@@ -1 +1 @@
1
- {"version":3,"file":"panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAChE,YAAW,oBAAoB;aAgEb,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,eAAe;aACtB,MAAM,CAAC;IAhEzB;;;;;;OAMG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,gBAAgB,GAAG,6BAA6B,CAEjE;IAED;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;;;;;;OAOG;gBAEe,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,6CAAqB;IAK9C;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvC;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC;;;;;;OAMG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAatD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBnC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBlC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBnC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,EAAE;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAIC;IAEF;;;;;;;;;;OAUG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAmC5E;;;;;;OAMG;IACH,cAAc,CACZ,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,GAAG,6BAA6B;IAWnD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAe1C;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAMhB"}
1
+ {"version":3,"file":"panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel-item.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,qBAAa,mBAAmB,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAChE,YAAW,oBAAoB;aAgEb,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,eAAe;aACtB,MAAM,CAAC;IAhEzB;;;;;;OAMG;IACH,KAAK,EAAE,cAAc,CAAC;IAEtB;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,gBAAgB,GAAG,6BAA6B,CAEjE;IAED;;;;;;OAMG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED;;;;;;OAMG;IACH,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,EAAE,CAEzB;IAED;;;;;;;OAOG;gBAEe,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,eAAe,EACtB,MAAM,CAAC,6CAAqB;IAK9C;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;cAIX,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBvC,OAAO,IAAI,IAAI;IAEf;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC;;;;;;OAMG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAatD;;;;;OAKG;IACG,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBnC;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBlC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAsBnC;;;;;OAKG;IACH,SAAS,CAAC,eAAe,EAAE;QACzB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAIC;IAEF;;;;;;;;;;OAUG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,GAAE,OAAe,GAAG,IAAI;IAmC5E;;;;;;OAMG;IACH,cAAc,CACZ,KAAK,EAAE,oBAAoB,GAC1B,gBAAgB,GAAG,6BAA6B;IAWnD;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI;IAe1C;;;;OAIG;IACH,OAAO,IAAI,IAAI;CAMhB"}
@@ -94,6 +94,7 @@ export class PanelItemController {
94
94
  this.state.class.label.push(labelSysCss.cssName);
95
95
  }
96
96
  }
97
+ destroy() { }
97
98
  /**
98
99
  * 创建面板状态对象
99
100
  *
@@ -1,5 +1,6 @@
1
1
  import { IControlLogic, IPanel, IPanelItem } from '@ibiz/model-core';
2
2
  import { IPanelState, IPanelEvent, IPanelController, IPanelItemController, IPanelItemProvider, IControlProvider, IPanelItemContainerController } from '../../../../interface';
3
+ import { PanelData } from '../../../../service/vo';
3
4
  import { ControlController } from '../../../common';
4
5
  import { PanelNotifyState } from '../../../constant';
5
6
  import { ControllerEvent } from '../../../utils';
@@ -57,6 +58,7 @@ export declare class PanelController<T extends IPanel = IPanel, S extends IPanel
57
58
  getData(): IData[];
58
59
  protected onCreated(): Promise<void>;
59
60
  protected onMounted(): Promise<void>;
61
+ protected onDestroyed(): Promise<void>;
60
62
  /**
61
63
  * 初始化面板成员控制器
62
64
  *
@@ -91,7 +93,7 @@ export declare class PanelController<T extends IPanel = IPanel, S extends IPanel
91
93
  * @returns {*} {IData}
92
94
  * @memberof PanelController
93
95
  */
94
- convertData(data: IData): IData;
96
+ convertData(data: IData): PanelData;
95
97
  /**
96
98
  * 通知所有面板成员面板操作过程中的数据变更
97
99
  *
@@ -1 +1 @@
1
- {"version":3,"file":"panel.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,MAAM,EAEN,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;GAQG;AACH,qBAAa,eAAe,CACxB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,WAAW,GAAG,WAAW,CAErC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEpC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAEjD;IAED;;;;;;OAMG;IACH,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAM;IAEzD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEzE;;;;;;;OAOG;IACH,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAE7B;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAI3C,OAAO,IAAI,KAAK,EAAE;cAIF,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAgB1B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1C;;;;;;OAMG;cACa,wBAAwB,CACtC,UAAU,GAAE,UAAU,EAAE,GAAG,SAAqC,EAChE,KAAK,GAAE,eAAsB,EAC7B,MAAM,GAAE,6BAA6B,GAAG,SAAqB,GAC5D,OAAO,CAAC,IAAI,CAAC;IAyChB;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAa3B;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAiB/C;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK;IAK/B;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMvC;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAM/C;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;CAcnE"}
1
+ {"version":3,"file":"panel.controller.d.ts","sourceRoot":"","sources":["../../../../../src/controller/control/panel/panel/panel.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EACb,MAAM,EAEN,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,6BAA6B,EAC9B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD;;;;;;;;GAQG;AACH,qBAAa,eAAe,CACxB,CAAC,SAAS,MAAM,GAAG,MAAM,EACzB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,WAAW,GAAG,WAAW,CAErC,SAAQ,iBAAiB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CACjC,YAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEpC,SAAS,KAAK,IAAI,IAAI,eAAe,CAAC,WAAW,CAAC,CAEjD;IAED;;;;;;OAMG;IACH,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAM;IAEzD;;;;;;OAMG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAEzE;;;;;;;OAOG;IACH,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAE7B;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,KAAK,CAEhB;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;IAK3B,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAI3C,OAAO,IAAI,KAAK,EAAE;cAIF,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAgB1B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAI1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5C;;;;;;OAMG;cACa,wBAAwB,CACtC,UAAU,GAAE,UAAU,EAAE,GAAG,SAAqC,EAChE,KAAK,GAAE,eAAsB,EAC7B,MAAM,GAAE,6BAA6B,GAAG,SAAqB,GAC5D,OAAO,CAAC,IAAI,CAAC;IAyChB;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3B;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAiB/C;;;;;;;;OAQG;IACH,WAAW,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS;IAcnC;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAMvC;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAM/C;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D,SAAS,CAAC,oBAAoB,CAAC,MAAM,GAAE,aAAa,EAAO,GAAG,IAAI;CAcnE"}
@@ -72,6 +72,14 @@ export class PanelController extends ControlController {
72
72
  async onMounted() {
73
73
  this.load();
74
74
  }
75
+ async onDestroyed() {
76
+ var _a, _b;
77
+ await super.onDestroyed();
78
+ (_b = (_a = this.data).destroy) === null || _b === void 0 ? void 0 : _b.call(_a);
79
+ Object.values(this.panelItems).forEach(item => {
80
+ item.destroy();
81
+ });
82
+ }
75
83
  /**
76
84
  * 初始化面板成员控制器
77
85
  *
@@ -112,6 +120,7 @@ export class PanelController extends ControlController {
112
120
  * @memberof PanelController
113
121
  */
114
122
  async load() {
123
+ var _a, _b;
115
124
  // 准备面板数据
116
125
  const data = await this.prepareData();
117
126
  if (!data) {
@@ -119,6 +128,8 @@ export class PanelController extends ControlController {
119
128
  }
120
129
  // 转换数据,处理原始数据和面板项的映射。
121
130
  const panelData = this.convertData(data);
131
+ // 清空上一个,如果存在的话。
132
+ (_b = (_a = this.data).destroy) === null || _b === void 0 ? void 0 : _b.call(_a);
122
133
  this.state.data = panelData;
123
134
  this.panelStateNotify(PanelNotifyState.LOAD);
124
135
  }
@@ -157,7 +168,15 @@ export class PanelController extends ControlController {
157
168
  */
158
169
  convertData(data) {
159
170
  const fields = getAllPanelField(this.model);
160
- return new PanelData(fields, data);
171
+ const fieldKeys = fields.map(item => item.id);
172
+ const panelData = new PanelData(fields, data);
173
+ // 面板属性变更的触发变更通知
174
+ panelData._evt.on('change', key => {
175
+ if (fieldKeys.includes(key)) {
176
+ this.dataChangeNotify([key]);
177
+ }
178
+ });
179
+ return panelData;
161
180
  }
162
181
  /**
163
182
  * 通知所有面板成员面板操作过程中的数据变更
@@ -196,7 +215,6 @@ export class PanelController extends ControlController {
196
215
  }
197
216
  // 改变值
198
217
  this.state.data[name] = value;
199
- this.dataChangeNotify([name]);
200
218
  }
201
219
  initControlScheduler(logics = []) {
202
220
  const actualLogics = [...logics];
@@ -47,5 +47,11 @@ export interface IPanelItemController {
47
47
  * @date 2022-09-20 18:09:07
48
48
  */
49
49
  panelStateNotify(state: PanelNotifyState): Promise<void>;
50
+ /**
51
+ * 销毁方法
52
+ * @author lxm
53
+ * @date 2023-11-02 03:31:29
54
+ */
55
+ destroy(): void;
50
56
  }
51
57
  //# sourceMappingURL=i-panel-item.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/interface/controller/controller/control/panel-item/i-panel-item.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,KAAK,EAAE,UAAU,CAAC;IAClB;;;;;OAKG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,6BAA6B,CAAC;IAEvC;;;;;OAKG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D"}
1
+ {"version":3,"file":"i-panel-item.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/interface/controller/controller/control/panel-item/i-panel-item.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AAEpF,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,KAAK,EAAE,UAAU,CAAC;IAClB;;;;;OAKG;IACH,KAAK,EAAE,gBAAgB,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,6BAA6B,CAAC;IAEvC;;;;;OAKG;IACH,KAAK,EAAE,eAAe,CAAC;IAEvB;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB"}
@@ -67,12 +67,12 @@ export interface IMapData {
67
67
  */
68
68
  _id: string;
69
69
  /**
70
- * 类型
70
+ * 呈现样式
71
71
  * @author lxm
72
- * @date 2023-10-30 06:20:14
73
- * @type {('point' | 'area')}
72
+ * @date 2023-11-02 04:59:12
73
+ * @type {string}
74
74
  */
75
- _type: 'point' | 'area';
75
+ _itemStyle: string;
76
76
  /**
77
77
  * 地图项id
78
78
  * @author lxm
@@ -1 +1 @@
1
- {"version":3,"file":"i-map.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-map.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB;;;;;OAKG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IAExB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"i-map.state.d.ts","sourceRoot":"","sources":["../../../../../src/interface/controller/state/control/i-map.state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,WAAW,SAAU,SAAQ,eAAe;IAChD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAElB;;;;;OAKG;IACH,SAAS,EAAE,QAAQ,EAAE,CAAC;IAEtB;;;;;OAKG;IACH,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAErB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,eAAe,EAAE,MAAM,GAAG,MAAM,CAAC;IAEjC;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB;;;;;OAKG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -13,16 +13,13 @@ export declare class AppUILogicExecutor extends LogicExecutor {
13
13
  type: 'APPUILOGIC';
14
14
  execute(executeParams: IUILogicParams): any;
15
15
  /**
16
- * 执行应用预置界面逻辑opendata
16
+ * 执行应用预置界面逻辑 opendata
17
17
  *
18
- * @author lxm
19
- * @date 2022-08-22 14:08:03
20
- * @export
21
- * @param {IPSAppUIOpenDataLogic} appUILogic 应用预置界面逻辑opendata模型对象
22
- * @param {IContext} context 上下文参数
23
- * @param {(IData | null)} data 数据集合
24
- * @param {IParams} params 视图参数
25
- * @param {IData} [opts] 额外参数,event是js原生事件
18
+ * @author chitanda
19
+ * @date 2023-11-02 11:11:36
20
+ * @param {IAppUIOpenDataLogic} appUILogic 应用预置界面逻辑 opendata 模型对象
21
+ * @param {IUILogicParams} parameters
22
+ * @return {*} {Promise<IModalData>}
26
23
  */
27
24
  executeOpenDataAppUILogic(appUILogic: IAppUIOpenDataLogic, parameters: IUILogicParams): Promise<IModalData>;
28
25
  protected calcOpenViewRef(appUILogic: IAppUIOpenDataLogic, parameters: IUILogicParams): Promise<IAppUILogicRefViewBase>;
@@ -1 +1 @@
1
- {"version":3,"file":"app-ui-logic-executor.d.ts","sourceRoot":"","sources":["../../../src/logic-scheduler/executor/app-ui-logic-executor.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EAEnB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IAC3C,IAAI,EAAE,YAAY,CAAC;IAG3B,OAAO,CAAC,aAAa,EAAE,cAAc,GAAG,GAAG;IAiB3C;;;;;;;;;;;OAWG;IACG,yBAAyB,CAC7B,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,UAAU,CAAC;cAqDN,eAAe,CAC7B,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,sBAAsB,CAAC;IA2BlC;;;;;;;;;;;OAWG;IACG,wBAAwB,CAC5B,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,UAAU,CAAC;IAyFtB;;;;;;;;;;OAUG;cACa,mBAAmB,CACjC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAmC9C;;;;;;;;;;OAUG;cACa,UAAU,CACxB,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,KAAK,EAAE,EACnB,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,sBAAsB,GACjC,OAAO,CAAC,IAAI,CAAC;CA+DjB"}
1
+ {"version":3,"file":"app-ui-logic-executor.d.ts","sourceRoot":"","sources":["../../../src/logic-scheduler/executor/app-ui-logic-executor.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EAEnB,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IAC3C,IAAI,EAAE,YAAY,CAAC;IAG3B,OAAO,CAAC,aAAa,EAAE,cAAc,GAAG,GAAG;IAiB3C;;;;;;;;OAQG;IACG,yBAAyB,CAC7B,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,UAAU,CAAC;cAsDN,eAAe,CAC7B,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,sBAAsB,CAAC;IA8BlC;;;;;;;;;;;OAWG;IACG,wBAAwB,CAC5B,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,UAAU,CAAC;IAyFtB;;;;;;;;;;OAUG;cACa,mBAAmB,CACjC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,cAAc,GACzB,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;IAmC9C;;;;;;;;;;OAUG;cACa,UAAU,CACxB,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EAAE,KAAK,EAAE,EACnB,OAAO,EAAE,QAAQ,EACjB,UAAU,EAAE,sBAAsB,GACjC,OAAO,CAAC,IAAI,CAAC;CA+DjB"}
@@ -12,7 +12,7 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { ModelError, RuntimeError, RuntimeModelError, } from '@ibiz-template/core';
13
13
  import { notNilEmpty } from 'qx-util';
14
14
  import { OpenAppViewCommand } from '../../command';
15
- import { calcDeCodeNameById, getFormTypeFieldName } from '../../model';
15
+ import { calcDeCodeNameById } from '../../model';
16
16
  import { convertNavData } from '../../utils';
17
17
  import { LogicExecutor } from './logic-executor';
18
18
  import { Srfuf } from '../../service';
@@ -37,16 +37,13 @@ export class AppUILogicExecutor extends LogicExecutor {
37
37
  }
38
38
  }
39
39
  /**
40
- * 执行应用预置界面逻辑opendata
40
+ * 执行应用预置界面逻辑 opendata
41
41
  *
42
- * @author lxm
43
- * @date 2022-08-22 14:08:03
44
- * @export
45
- * @param {IPSAppUIOpenDataLogic} appUILogic 应用预置界面逻辑opendata模型对象
46
- * @param {IContext} context 上下文参数
47
- * @param {(IData | null)} data 数据集合
48
- * @param {IParams} params 视图参数
49
- * @param {IData} [opts] 额外参数,event是js原生事件
42
+ * @author chitanda
43
+ * @date 2023-11-02 11:11:36
44
+ * @param {IAppUIOpenDataLogic} appUILogic 应用预置界面逻辑 opendata 模型对象
45
+ * @param {IUILogicParams} parameters
46
+ * @return {*} {Promise<IModalData>}
50
47
  */
51
48
  async executeOpenDataAppUILogic(appUILogic, parameters) {
52
49
  const { context, params } = parameters, rest = __rest(parameters, ["context", "params"]);
@@ -54,6 +51,7 @@ export class AppUILogicExecutor extends LogicExecutor {
54
51
  if (!(data === null || data === void 0 ? void 0 : data[0])) {
55
52
  throw new RuntimeError('opendata没有可操作数据!');
56
53
  }
54
+ // openDataAppViews 只有[索引实体]或[多表单实体]才会有值
57
55
  const openViewRefs = appUILogic.openDataAppViews;
58
56
  let openViewRef;
59
57
  if (openViewRefs) {
@@ -84,15 +82,15 @@ export class AppUILogicExecutor extends LogicExecutor {
84
82
  return ibiz.commands.execute(OpenAppViewCommand.TAG, openView, tempContext, tempParams, rest);
85
83
  }
86
84
  async calcOpenViewRef(appUILogic, parameters) {
87
- const appDataEntityId = parameters.view.model.appDataEntityId;
88
- // 表单类型属性
89
- const formTypeName = await getFormTypeFieldName(appDataEntityId);
90
- if (!formTypeName) {
91
- throw new RuntimeModelError(appUILogic, `${appDataEntityId}实体缺少表单类型应用实体属性`);
85
+ const appDataEntity = await ibiz.hub.getAppDataEntity(parameters.view.model.appDataEntityId);
86
+ // [多表单实体] or [索引实体]类型属性
87
+ const typeFileName = appDataEntity.formTypeAppDEFieldId || appDataEntity.dataTypeAppDEFieldId;
88
+ if (!typeFileName) {
89
+ throw new RuntimeModelError(appUILogic, `${appDataEntity.codeName}[多表单实体] or [索引实体]缺少类型属性配置`);
92
90
  }
93
91
  const { data } = parameters;
94
92
  // 表单类型值
95
- const formTypeValue = data[0][formTypeName];
93
+ const formTypeValue = data[0][typeFileName];
96
94
  if (!formTypeValue) {
97
95
  throw new RuntimeModelError(appUILogic, '数据源无表单类型应用实体属性值');
98
96
  }
@@ -26,17 +26,6 @@ export declare function hasDeCodeName(params: IParams, entityId: string): boolea
26
26
  * @Date: 2023-05-31 10:26:24
27
27
  */
28
28
  export declare function getDeACMode(appDEACModeId: string, entityId: string, srfappid?: string): Promise<IAppDEACMode | undefined>;
29
- /**
30
- * 从实体里找到表单类型应用实体属性
31
- *
32
- * @author zk
33
- * @date 2023-09-07 05:09:41
34
- * @export
35
- * @param {string} entityId
36
- * @param {string} [srfappid]
37
- * @return {*} {(Promise<string | undefined>)}
38
- */
39
- export declare function getFormTypeFieldName(entityId: string): Promise<string | undefined>;
40
29
  /**
41
30
  * 从实体里找到实体逻辑
42
31
  * @author lxm
@@ -1 +1 @@
1
- {"version":3,"file":"data-entity.d.ts","sourceRoot":"","sources":["../../../src/model/data-entity/data-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAMnC;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,GACrB,QAAQ,GAAG,SAAS,CAEtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GACrC,QAAQ,EAAE,CAYZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,GACd,WAAW,GAAG,SAAS,CAEzB"}
1
+ {"version":3,"file":"data-entity.d.ts","sourceRoot":"","sources":["../../../src/model/data-entity/data-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,QAAQ,EACT,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAMnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,GACrB,QAAQ,GAAG,SAAS,CAEtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GACrC,QAAQ,EAAE,CAYZ;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,GACd,WAAW,GAAG,SAAS,CAEzB"}
@@ -39,20 +39,6 @@ export async function getDeACMode(appDEACModeId, entityId, srfappid) {
39
39
  });
40
40
  return deACMode;
41
41
  }
42
- /**
43
- * 从实体里找到表单类型应用实体属性
44
- *
45
- * @author zk
46
- * @date 2023-09-07 05:09:41
47
- * @export
48
- * @param {string} entityId
49
- * @param {string} [srfappid]
50
- * @return {*} {(Promise<string | undefined>)}
51
- */
52
- export async function getFormTypeFieldName(entityId) {
53
- const appDataEntity = await ibiz.hub.getAppDataEntity(entityId);
54
- return appDataEntity.formTypeAppDEFieldId;
55
- }
56
42
  /**
57
43
  * 从实体里找到实体逻辑
58
44
  * @author lxm
@@ -3,7 +3,7 @@ import { IMapData } from '../../../interface';
3
3
  export declare class MapData implements IMapData {
4
4
  [key: string | symbol]: any;
5
5
  _id: string;
6
- _type: 'point' | 'area';
6
+ _itemStyle: string;
7
7
  _mapItemId: string;
8
8
  _longitude?: string;
9
9
  _latitude?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"map-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/map-data/map-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAgB9C,qBAAa,OAAQ,YAAW,QAAQ;IAEtC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B,GAAG,EAAE,MAAM,CAAC;IAEZ,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IAExB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAa;IAEhC,SAAS,CAAC,EAAE,MAAM,CAAa;IAE/B,SAAS,CAAC,EAAE,MAAM,CAAa;IAE/B,QAAQ,CAAC,EAAE,MAAM,CAAa;IAE9B,MAAM,CAAC,EAAE,MAAM,CAAa;IAE5B,KAAK,CAAC,EAAE,MAAM,CAAa;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAa;gBAEjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;CAgFhD"}
1
+ {"version":3,"file":"map-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/map-data/map-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAkB9C,qBAAa,OAAQ,YAAW,QAAQ;IAEtC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B,GAAG,EAAE,MAAM,CAAC;IAEZ,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,EAAE,MAAM,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAa;IAEhC,SAAS,CAAC,EAAE,MAAM,CAAa;IAE/B,SAAS,CAAC,EAAE,MAAM,CAAa;IAE/B,QAAQ,CAAC,EAAE,MAAM,CAAa;IAE9B,MAAM,CAAC,EAAE,MAAM,CAAa;IAE5B,KAAK,CAAC,EAAE,MAAM,CAAa;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAa;gBAEjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW;CAgFhD"}
@@ -11,6 +11,7 @@ function updateKeyDefine(target, keys) {
11
11
  }
12
12
  });
13
13
  }
14
+ const AreaItemStyles = ['REGION', 'REGION2', 'REGION3', 'REGION4'];
14
15
  export class MapData {
15
16
  constructor(deData, mapItem) {
16
17
  this._longitude = undefined;
@@ -20,12 +21,12 @@ export class MapData {
20
21
  this._value = undefined;
21
22
  this._text = undefined;
22
23
  this._symbol = undefined;
23
- const { id, itemType, longitudeAppDEFieldId, latitudeAppDEFieldId, textAppDEFieldId, dataAppDEFieldId, tipsAppDEFieldId, sysImage, } = mapItem;
24
+ const { id, itemStyle, longitudeAppDEFieldId, latitudeAppDEFieldId, textAppDEFieldId, dataAppDEFieldId, tipsAppDEFieldId, sysImage, } = mapItem;
24
25
  const keyMap = new Map();
25
26
  this._id = id + deData.srfkey;
26
- this._type = itemType;
27
+ this._itemStyle = itemStyle;
27
28
  this._mapItemId = id;
28
- if (itemType === 'area') {
29
+ if (AreaItemStyles.includes(this._itemStyle)) {
29
30
  if (longitudeAppDEFieldId) {
30
31
  keyMap.set('_areaCode', longitudeAppDEFieldId);
31
32
  }
@@ -1,4 +1,6 @@
1
1
  import { IPanelField } from '@ibiz/model-core';
2
+ import { QXEvent } from 'qx-util';
3
+ type ChangeCallBack = (field: string) => void;
2
4
  /**
3
5
  * 面板数据
4
6
  * @author lxm
@@ -9,13 +11,16 @@ import { IPanelField } from '@ibiz/model-core';
9
11
  export declare class PanelData {
10
12
  [key: string | symbol]: any;
11
13
  /**
12
- * 父视图参数
14
+ * 事件
13
15
  * @author lxm
14
- * @date 2023-10-27 04:08:59
16
+ * @date 2023-11-02 02:35:33
15
17
  * @protected
16
- * @type {IParams}
17
18
  */
18
- protected _origin?: IParams;
19
+ _evt: QXEvent<{
20
+ change: ChangeCallBack;
21
+ }>;
19
22
  constructor(fields: IPanelField[], origin: IParams);
23
+ destroy(): void;
20
24
  }
25
+ export {};
21
26
  //# sourceMappingURL=panel-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"panel-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/panel-data/panel-data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAgB/C;;;;;;GAMG;AACH,qBAAa,SAAS;IAEpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B;;;;;;OAMG;IACH,UAAkB,OAAO,CAAC,EAAE,OAAO,CAAC;gBAExB,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO;CAsDnD"}
1
+ {"version":3,"file":"panel-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/panel-data/panel-data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAgBlC,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAE9C;;;;;;GAMG;AACH,qBAAa,SAAS;IAEpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B;;;;;OAKG;IACK,IAAI,EAAE,OAAO,CAAC;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC,CAAC;gBAEtC,MAAM,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO;IAoElD,OAAO,IAAI,IAAI;CAGhB"}
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable no-constructor-return */
2
+ import { QXEvent } from 'qx-util';
2
3
  // 更新属性,缺的补充定义
3
4
  function updateKeyDefine(target, keys) {
4
5
  keys.forEach(key => {
@@ -21,6 +22,7 @@ function updateKeyDefine(target, keys) {
21
22
  */
22
23
  export class PanelData {
23
24
  constructor(fields, origin) {
25
+ const _evt = new QXEvent();
24
26
  // 面板属性映射绑定项
25
27
  const keyMap = {};
26
28
  // 绑定项映射面板属性
@@ -46,11 +48,23 @@ export class PanelData {
46
48
  }
47
49
  else {
48
50
  // 没有面板属性的直接修改原始对象,视图面板对象一开始就是空的,没有任何属性
49
- origin[keyMap[p]] = value;
51
+ origin[p] = value;
52
+ }
53
+ _evt.emit('change', p);
54
+ // 修改面板属性,同步抛原值变更
55
+ if (keyMap[p] && keyMap[p] !== p) {
56
+ _evt.emit('change', keyMap[p]);
57
+ }
58
+ // 修改原值变更,同时抛面板属性变更
59
+ if (reverseKeyMap[p] && reverseKeyMap[p] !== p) {
60
+ _evt.emit('change', reverseKeyMap[p]);
50
61
  }
51
62
  return true;
52
63
  },
53
64
  get(target, p, _receiver) {
65
+ if (p === '_evt') {
66
+ return _evt;
67
+ }
54
68
  // 有映射拿原始对象
55
69
  if (keyMap[p]) {
56
70
  return origin[keyMap[p]];
@@ -70,4 +84,7 @@ export class PanelData {
70
84
  },
71
85
  });
72
86
  }
87
+ destroy() {
88
+ this._evt.reset();
89
+ }
73
90
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.2.9",
3
+ "version": "0.2.10",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -59,5 +59,5 @@
59
59
  "qx-util": "^0.4.8",
60
60
  "ramda": "^0.29.0"
61
61
  },
62
- "gitHead": "1502d43393de4cc75f670d0ba22d901e158e0c00"
62
+ "gitHead": "0b78d7b2ba35e13ffa52c3214d21d01cc6c301cb"
63
63
  }
@@ -79,9 +79,9 @@ export class MapController
79
79
  const tempareaData: IMapData[] = [];
80
80
  const temppointData: IMapData[] = [];
81
81
  result.forEach(item => {
82
- if (item._type === 'area') {
82
+ if (item._itemStyle === 'REGION') {
83
83
  tempareaData.push(item);
84
- } else if (item._type === 'point') {
84
+ } else if (item._itemStyle === 'POINT') {
85
85
  temppointData.push(item);
86
86
  }
87
87
  });
@@ -114,6 +114,8 @@ export class PanelItemController<T extends IPanelItem = IPanelItem>
114
114
  }
115
115
  }
116
116
 
117
+ destroy(): void {}
118
+
117
119
  /**
118
120
  * 创建面板状态对象
119
121
  *
@@ -117,6 +117,14 @@ export class PanelController<
117
117
  this.load();
118
118
  }
119
119
 
120
+ protected async onDestroyed(): Promise<void> {
121
+ await super.onDestroyed();
122
+ this.data.destroy?.();
123
+ Object.values(this.panelItems).forEach(item => {
124
+ item.destroy();
125
+ });
126
+ }
127
+
120
128
  /**
121
129
  * 初始化面板成员控制器
122
130
  *
@@ -185,6 +193,8 @@ export class PanelController<
185
193
  // 转换数据,处理原始数据和面板项的映射。
186
194
  const panelData = this.convertData(data);
187
195
 
196
+ // 清空上一个,如果存在的话。
197
+ this.data.destroy?.();
188
198
  this.state.data = panelData;
189
199
  this.panelStateNotify(PanelNotifyState.LOAD);
190
200
  }
@@ -223,9 +233,18 @@ export class PanelController<
223
233
  * @returns {*} {IData}
224
234
  * @memberof PanelController
225
235
  */
226
- convertData(data: IData): IData {
236
+ convertData(data: IData): PanelData {
227
237
  const fields = getAllPanelField(this.model);
228
- return new PanelData(fields, data);
238
+ const fieldKeys = fields.map(item => item.id!);
239
+ const panelData = new PanelData(fields, data);
240
+
241
+ // 面板属性变更的触发变更通知
242
+ panelData._evt.on('change', key => {
243
+ if (fieldKeys.includes(key)) {
244
+ this.dataChangeNotify([key]);
245
+ }
246
+ });
247
+ return panelData;
229
248
  }
230
249
 
231
250
  /**
@@ -270,7 +289,6 @@ export class PanelController<
270
289
 
271
290
  // 改变值
272
291
  this.state.data[name] = value;
273
- this.dataChangeNotify([name]);
274
292
  }
275
293
 
276
294
  protected initControlScheduler(logics: IControlLogic[] = []): void {
@@ -52,4 +52,11 @@ export interface IPanelItemController {
52
52
  * @date 2022-09-20 18:09:07
53
53
  */
54
54
  panelStateNotify(state: PanelNotifyState): Promise<void>;
55
+
56
+ /**
57
+ * 销毁方法
58
+ * @author lxm
59
+ * @date 2023-11-02 03:31:29
60
+ */
61
+ destroy(): void;
55
62
  }
@@ -76,12 +76,12 @@ export interface IMapData {
76
76
  _id: string;
77
77
 
78
78
  /**
79
- * 类型
79
+ * 呈现样式
80
80
  * @author lxm
81
- * @date 2023-10-30 06:20:14
82
- * @type {('point' | 'area')}
81
+ * @date 2023-11-02 04:59:12
82
+ * @type {string}
83
83
  */
84
- _type: 'point' | 'area';
84
+ _itemStyle: string;
85
85
 
86
86
  /**
87
87
  * 地图项id
@@ -12,7 +12,7 @@ import {
12
12
  import { notNilEmpty } from 'qx-util';
13
13
  import { OpenAppViewCommand } from '../../command';
14
14
  import { IModalData, IUILogicParams } from '../../interface';
15
- import { calcDeCodeNameById, getFormTypeFieldName } from '../../model';
15
+ import { calcDeCodeNameById } from '../../model';
16
16
  import { convertNavData } from '../../utils';
17
17
  import { LogicExecutor } from './logic-executor';
18
18
  import { Srfuf } from '../../service';
@@ -47,16 +47,13 @@ export class AppUILogicExecutor extends LogicExecutor {
47
47
  }
48
48
 
49
49
  /**
50
- * 执行应用预置界面逻辑opendata
50
+ * 执行应用预置界面逻辑 opendata
51
51
  *
52
- * @author lxm
53
- * @date 2022-08-22 14:08:03
54
- * @export
55
- * @param {IPSAppUIOpenDataLogic} appUILogic 应用预置界面逻辑opendata模型对象
56
- * @param {IContext} context 上下文参数
57
- * @param {(IData | null)} data 数据集合
58
- * @param {IParams} params 视图参数
59
- * @param {IData} [opts] 额外参数,event是js原生事件
52
+ * @author chitanda
53
+ * @date 2023-11-02 11:11:36
54
+ * @param {IAppUIOpenDataLogic} appUILogic 应用预置界面逻辑 opendata 模型对象
55
+ * @param {IUILogicParams} parameters
56
+ * @return {*} {Promise<IModalData>}
60
57
  */
61
58
  async executeOpenDataAppUILogic(
62
59
  appUILogic: IAppUIOpenDataLogic,
@@ -67,6 +64,7 @@ export class AppUILogicExecutor extends LogicExecutor {
67
64
  if (!data?.[0]) {
68
65
  throw new RuntimeError('opendata没有可操作数据!');
69
66
  }
67
+ // openDataAppViews 只有[索引实体]或[多表单实体]才会有值
70
68
  const openViewRefs = appUILogic.openDataAppViews;
71
69
  let openViewRef: IAppUILogicRefViewBase | undefined;
72
70
  if (openViewRefs) {
@@ -118,18 +116,21 @@ export class AppUILogicExecutor extends LogicExecutor {
118
116
  appUILogic: IAppUIOpenDataLogic,
119
117
  parameters: IUILogicParams,
120
118
  ): Promise<IAppUILogicRefViewBase> {
121
- const appDataEntityId = parameters.view.model.appDataEntityId!;
122
- // 表单类型属性
123
- const formTypeName = await getFormTypeFieldName(appDataEntityId);
124
- if (!formTypeName) {
119
+ const appDataEntity = await ibiz.hub.getAppDataEntity(
120
+ parameters.view.model.appDataEntityId!,
121
+ )!;
122
+ // [多表单实体] or [索引实体]类型属性
123
+ const typeFileName =
124
+ appDataEntity.formTypeAppDEFieldId || appDataEntity.dataTypeAppDEFieldId;
125
+ if (!typeFileName) {
125
126
  throw new RuntimeModelError(
126
127
  appUILogic,
127
- `${appDataEntityId}实体缺少表单类型应用实体属性`,
128
+ `${appDataEntity.codeName}[多表单实体] or [索引实体]缺少类型属性配置`,
128
129
  );
129
130
  }
130
131
  const { data } = parameters;
131
132
  // 表单类型值
132
- const formTypeValue = data[0][formTypeName];
133
+ const formTypeValue = data[0][typeFileName];
133
134
  if (!formTypeValue) {
134
135
  throw new RuntimeModelError(appUILogic, '数据源无表单类型应用实体属性值');
135
136
  }