@ibiz-template/runtime 0.5.3-beta.1 → 0.5.3-beta.11
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.
- package/dist/index.esm.js +1870 -553
- package/dist/index.system.min.js +1 -1
- package/out/app-hub.d.ts +12 -2
- package/out/app-hub.d.ts.map +1 -1
- package/out/app-hub.js +22 -2
- package/out/application.js +1 -1
- package/out/command/app/open-app-view/open-app-view.d.ts.map +1 -1
- package/out/command/app/open-app-view/open-app-view.js +8 -1
- package/out/controller/common/editor/editor.controller.d.ts +24 -0
- package/out/controller/common/editor/editor.controller.d.ts.map +1 -1
- package/out/controller/common/editor/editor.controller.js +50 -0
- package/out/controller/common/view/view.controller.d.ts.map +1 -1
- package/out/controller/common/view/view.controller.js +5 -2
- package/out/controller/constant/control/index.d.ts +1 -0
- package/out/controller/constant/control/index.d.ts.map +1 -1
- package/out/controller/constant/control/index.js +1 -0
- package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.d.ts +5 -0
- package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.d.ts.map +1 -0
- package/out/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.js +6 -0
- package/out/controller/control/chart/chart.controller.js +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.js +1 -1
- package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +4 -1
- package/out/controller/control/form/form-detail/form-detail/form-detail.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-detail/form-detail.controller.js +4 -0
- package/out/controller/control/form/form-detail/form-tab-page/form-tab-page.controller.d.ts +8 -0
- package/out/controller/control/form/form-detail/form-tab-page/form-tab-page.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-tab-page/form-tab-page.controller.js +10 -0
- package/out/controller/control/form/form-detail/form-tab-panel/form-tab-panel.controller.d.ts +8 -0
- package/out/controller/control/form/form-detail/form-tab-panel/form-tab-panel.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-tab-panel/form-tab-panel.controller.js +15 -0
- package/out/controller/control/form/form-detail/form-tab-panel/form-tab-panel.state.d.ts +7 -0
- package/out/controller/control/form/form-detail/form-tab-panel/form-tab-panel.state.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-tab-panel/form-tab-panel.state.js +10 -0
- package/out/controller/control/grid/grid/grid.service.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.service.js +1 -10
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts +7 -0
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +11 -2
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts +0 -7
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.js +0 -9
- package/out/controller/control/tree/tree.controller.d.ts +17 -0
- package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
- package/out/controller/control/tree/tree.controller.js +22 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.js +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.d.ts +10 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.js +12 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.d.ts +34 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.js +68 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.d.ts +205 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.js +345 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.d.ts +3 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.js +14 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts +16 -8
- package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.js +26 -12
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts +59 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +240 -1
- package/out/controller/utils/jsonschema/entity.d.ts.map +1 -1
- package/out/controller/utils/jsonschema/entity.js +4 -1
- package/out/de-logic/utils/handle-src-val.d.ts +15 -0
- package/out/de-logic/utils/handle-src-val.d.ts.map +1 -1
- package/out/de-logic/utils/handle-src-val.js +10 -1
- package/out/global/global-util/global-util.d.ts +8 -1
- package/out/global/global-util/global-util.d.ts.map +1 -1
- package/out/global/global-util/global-util.js +8 -1
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts +4 -3
- package/out/interface/common/i-app-hub-service/i-app-hub-service.d.ts.map +1 -1
- package/out/interface/controller/common/i-icon/i-icon.d.ts +1 -0
- package/out/interface/controller/common/i-icon/i-icon.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts +23 -1
- package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts.map +1 -1
- package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts +17 -0
- package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-drbar.state.d.ts +7 -0
- package/out/interface/controller/state/control/i-drbar.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-drtab.state.d.ts +7 -0
- package/out/interface/controller/state/control/i-drtab.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts +60 -2
- package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts.map +1 -1
- package/out/interface/provider/i-async-action.provider.d.ts +3 -2
- package/out/interface/provider/i-async-action.provider.d.ts.map +1 -1
- package/out/interface/service/i-transaction/i-transaction.d.ts +83 -0
- package/out/interface/service/i-transaction/i-transaction.d.ts.map +1 -0
- package/out/interface/service/i-transaction/i-transaction.js +1 -0
- package/out/interface/service/index.d.ts +1 -0
- package/out/interface/service/index.d.ts.map +1 -1
- package/out/interface/service/service/i-app-de.service.d.ts +9 -3
- package/out/interface/service/service/i-app-de.service.d.ts.map +1 -1
- package/out/interface/util/i-view-stack/i-view-stack.d.ts +53 -0
- package/out/interface/util/i-view-stack/i-view-stack.d.ts.map +1 -0
- package/out/interface/util/i-view-stack/i-view-stack.js +1 -0
- package/out/interface/util/index.d.ts +1 -0
- package/out/interface/util/index.d.ts.map +1 -1
- package/out/plugin/index.d.ts +1 -1
- package/out/plugin/index.d.ts.map +1 -1
- package/out/plugin/remote-plugin-item/remote-plugin-item.d.ts +46 -0
- package/out/plugin/remote-plugin-item/remote-plugin-item.d.ts.map +1 -1
- package/out/register/helper/app-menu-item-register.d.ts.map +1 -1
- package/out/register/helper/app-menu-item-register.js +1 -6
- package/out/register/helper/panel-item-register.d.ts.map +1 -1
- package/out/register/helper/panel-item-register.js +36 -30
- package/out/service/dto/method.dto.d.ts +1 -12
- package/out/service/dto/method.dto.d.ts.map +1 -1
- package/out/service/dto/method.dto.js +8 -20
- package/out/service/mqtt/mqtt.service.js +2 -2
- package/out/service/service/auth/v7-auth.service.d.ts +1 -2
- package/out/service/service/auth/v7-auth.service.d.ts.map +1 -1
- package/out/service/service/auth/v7-auth.service.js +29 -7
- package/out/service/service/entity/de.service.d.ts +1 -2
- package/out/service/service/entity/de.service.d.ts.map +1 -1
- package/out/service/service/entity/de.service.js +5 -2
- package/out/service/service/entity/method/de-action.d.ts +13 -1
- package/out/service/service/entity/method/de-action.d.ts.map +1 -1
- package/out/service/service/entity/method/de-action.js +167 -59
- package/out/service/service/entity/method/fetch.d.ts.map +1 -1
- package/out/service/service/entity/method/fetch.js +24 -21
- package/out/service/service/entity/method/method-renturn.d.ts.map +1 -1
- package/out/service/service/entity/method/method-renturn.js +6 -0
- package/out/service/utils/de-cache/de-cache.d.ts +11 -1
- package/out/service/utils/de-cache/de-cache.d.ts.map +1 -1
- package/out/service/utils/de-cache/de-cache.js +122 -18
- package/out/service/utils/de-dq-cond/ps-model-cond-engine-base.d.ts.map +1 -1
- package/out/service/utils/de-dq-cond/ps-model-cond-engine-base.js +4 -0
- package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts +1 -1
- package/out/service/utils/dynamic-code-list/dynamic-code-list.d.ts.map +1 -1
- package/out/service/utils/dynamic-code-list/dynamic-code-list.js +34 -27
- package/out/service/utils/res-path/res-path.d.ts +2 -2
- package/out/service/utils/res-path/res-path.d.ts.map +1 -1
- package/out/service/utils/res-path/res-path.js +1 -1
- package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts +6 -0
- package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-data-set-node-data.js +93 -41
- package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-node-data.js +3 -0
- package/out/ui-action/provider/front-ui-action-provider.d.ts +1 -1
- package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/front-ui-action-provider.js +5 -1
- package/out/ui-logic/ui-logic-node/debug-param-node/debug-param-node.js +1 -1
- package/out/ui-logic/ui-logic-node/raw-js-code-node/raw-js-code-node.d.ts.map +1 -1
- package/out/ui-logic/ui-logic-node/raw-js-code-node/raw-js-code-node.js +0 -1
- package/out/utils/index.d.ts +1 -0
- package/out/utils/index.d.ts.map +1 -1
- package/out/utils/index.js +1 -0
- package/out/utils/script/script-function.js +1 -1
- package/out/utils/ui-domain/transaction.d.ts +66 -0
- package/out/utils/ui-domain/transaction.d.ts.map +1 -0
- package/out/utils/ui-domain/transaction.js +94 -0
- package/out/utils/ui-domain/ui-domain.d.ts +50 -6
- package/out/utils/ui-domain/ui-domain.d.ts.map +1 -1
- package/out/utils/ui-domain/ui-domain.js +68 -9
- package/out/utils/view-stack/view-stack.d.ts +29 -0
- package/out/utils/view-stack/view-stack.d.ts.map +1 -0
- package/out/utils/view-stack/view-stack.js +47 -0
- package/package.json +5 -5
- package/src/app-hub.ts +27 -2
- package/src/application.ts +1 -1
- package/src/command/app/open-app-view/open-app-view.ts +8 -1
- package/src/controller/common/editor/editor.controller.ts +54 -0
- package/src/controller/common/view/view.controller.ts +7 -2
- package/src/controller/constant/control/index.ts +1 -0
- package/src/controller/constant/control/tree-grid-ex/tree-grid-ex-notify.state.ts +5 -0
- package/src/controller/control/chart/chart.controller.ts +1 -1
- package/src/controller/control/form/edit-form/edit-form.controller.ts +1 -1
- package/src/controller/control/form/form/form.controller.ts +11 -1
- package/src/controller/control/form/form-detail/form-detail/form-detail.controller.ts +4 -0
- package/src/controller/control/form/form-detail/form-tab-page/form-tab-page.controller.ts +14 -0
- package/src/controller/control/form/form-detail/form-tab-panel/form-tab-panel.controller.ts +16 -0
- package/src/controller/control/form/form-detail/form-tab-panel/form-tab-panel.state.ts +9 -1
- package/src/controller/control/grid/grid/grid.service.ts +1 -11
- package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +12 -2
- package/src/controller/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.controller.ts +0 -10
- package/src/controller/control/tree/tree.controller.ts +35 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/index.ts +1 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.ts +22 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.ts +88 -2
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-node-column.controller.ts +522 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.ts +18 -1
- package/src/controller/control/tree-grid-ex/tree-grid-ex-row.state.ts +43 -12
- package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +305 -2
- package/src/controller/utils/jsonschema/entity.ts +4 -1
- package/src/de-logic/utils/handle-src-val.ts +29 -1
- package/src/global/global-util/global-util.ts +9 -0
- package/src/interface/common/i-app-hub-service/i-app-hub-service.ts +4 -3
- package/src/interface/controller/common/i-icon/i-icon.ts +1 -0
- package/src/interface/controller/controller/control/i-tree-grid-ex.controller.ts +27 -2
- package/src/interface/controller/event/control/i-tree-grid-ex.event.ts +15 -1
- package/src/interface/controller/state/control/i-drbar.state.ts +8 -0
- package/src/interface/controller/state/control/i-drtab.state.ts +8 -0
- package/src/interface/controller/state/control/i-tree-grid-ex.state.ts +64 -2
- package/src/interface/provider/i-async-action.provider.ts +3 -2
- package/src/interface/service/i-transaction/i-transaction.ts +88 -0
- package/src/interface/service/index.ts +4 -0
- package/src/interface/service/service/i-app-de.service.ts +10 -3
- package/src/interface/util/i-view-stack/i-view-stack.ts +53 -0
- package/src/interface/util/index.ts +1 -0
- package/src/plugin/index.ts +4 -1
- package/src/plugin/remote-plugin-item/remote-plugin-item.ts +43 -0
- package/src/register/helper/app-menu-item-register.ts +1 -5
- package/src/register/helper/panel-item-register.ts +43 -37
- package/src/service/dto/method.dto.ts +7 -20
- package/src/service/mqtt/mqtt.service.ts +2 -2
- package/src/service/service/auth/v7-auth.service.ts +39 -19
- package/src/service/service/entity/de.service.ts +7 -9
- package/src/service/service/entity/method/de-action.ts +186 -64
- package/src/service/service/entity/method/fetch.ts +28 -29
- package/src/service/service/entity/method/method-renturn.ts +6 -0
- package/src/service/utils/de-cache/de-cache.ts +128 -19
- package/src/service/utils/de-dq-cond/ps-model-cond-engine-base.ts +4 -0
- package/src/service/utils/dynamic-code-list/dynamic-code-list.ts +35 -32
- package/src/service/utils/res-path/res-path.ts +2 -2
- package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +111 -46
- package/src/service/vo/tree-node-data/tree-node-data.ts +3 -0
- package/src/ui-action/provider/front-ui-action-provider.ts +10 -1
- package/src/ui-logic/ui-logic-node/debug-param-node/debug-param-node.ts +1 -1
- package/src/ui-logic/ui-logic-node/raw-js-code-node/raw-js-code-node.ts +0 -1
- package/src/utils/index.ts +1 -0
- package/src/utils/script/script-function.ts +1 -1
- package/src/utils/ui-domain/transaction.ts +100 -0
- package/src/utils/ui-domain/ui-domain.ts +73 -9
- package/src/utils/view-stack/view-stack.ts +64 -0
|
@@ -133,6 +133,7 @@ export class DynamicCodeListCache {
|
|
|
133
133
|
*/
|
|
134
134
|
protected convertData(data: IData): CodeListItem {
|
|
135
135
|
const result = {} as CodeListItem;
|
|
136
|
+
|
|
136
137
|
const {
|
|
137
138
|
valueAppDEFieldId,
|
|
138
139
|
textAppDEFieldId,
|
|
@@ -142,6 +143,8 @@ export class DynamicCodeListCache {
|
|
|
142
143
|
iconPathXAppDEFieldId,
|
|
143
144
|
disableAppDEFieldId,
|
|
144
145
|
dataAppDEFieldId,
|
|
146
|
+
clsAppDEFieldId,
|
|
147
|
+
colorAppDEFieldId,
|
|
145
148
|
} = this.codeList;
|
|
146
149
|
// 值属性
|
|
147
150
|
const value = valueAppDEFieldId ? data[valueAppDEFieldId] : data.srfkey;
|
|
@@ -177,6 +180,14 @@ export class DynamicCodeListCache {
|
|
|
177
180
|
if (disableAppDEFieldId) {
|
|
178
181
|
result.disableSelect = fieldValueToBoolean(data[disableAppDEFieldId]);
|
|
179
182
|
}
|
|
183
|
+
// 样式表属性
|
|
184
|
+
if (clsAppDEFieldId) {
|
|
185
|
+
result.textCls = data[clsAppDEFieldId];
|
|
186
|
+
}
|
|
187
|
+
// 颜色值属性
|
|
188
|
+
if (colorAppDEFieldId) {
|
|
189
|
+
result.color = data[colorAppDEFieldId];
|
|
190
|
+
}
|
|
180
191
|
// 数据属性
|
|
181
192
|
if (dataAppDEFieldId && data[dataAppDEFieldId]) {
|
|
182
193
|
try {
|
|
@@ -262,16 +273,16 @@ export class DynamicCodeListCache {
|
|
|
262
273
|
);
|
|
263
274
|
let resultItems: CodeListItem[] = [];
|
|
264
275
|
if (res.data.length) {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
resultItems = tempItems;
|
|
270
|
-
}
|
|
271
|
-
} else {
|
|
272
|
-
resultItems.push(this.convertData(item));
|
|
276
|
+
if (pvalueAppDEFieldId) {
|
|
277
|
+
const tempItems = this.prepareTreeData(res.data as IData[]);
|
|
278
|
+
if (tempItems) {
|
|
279
|
+
resultItems = tempItems;
|
|
273
280
|
}
|
|
274
|
-
}
|
|
281
|
+
} else {
|
|
282
|
+
res.data.forEach((item: IData) => {
|
|
283
|
+
resultItems.push(this.convertData(item));
|
|
284
|
+
});
|
|
285
|
+
}
|
|
275
286
|
}
|
|
276
287
|
return Object.freeze(resultItems) as CodeListItem[];
|
|
277
288
|
}
|
|
@@ -281,31 +292,23 @@ export class DynamicCodeListCache {
|
|
|
281
292
|
*
|
|
282
293
|
* @return {codeListItem[] | undefined}
|
|
283
294
|
*/
|
|
284
|
-
protected prepareTreeData(
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
filteredData = items.filter(item => {
|
|
291
|
-
if (pValue) {
|
|
292
|
-
// 有传父value去后台数据里找出来子项pValue等于父value的
|
|
293
|
-
return item[pvalueAppDEFieldId!] === pValue;
|
|
294
|
-
}
|
|
295
|
-
// 没有传父value,只需要找出来没有父值属性的
|
|
296
|
-
return !item[pvalueAppDEFieldId!];
|
|
295
|
+
protected prepareTreeData(items: IData[]): CodeListItem[] | undefined {
|
|
296
|
+
const { valueAppDEFieldId, pvalueAppDEFieldId } = this.codeList;
|
|
297
|
+
const map: { [id: string]: CodeListItem } = {};
|
|
298
|
+
const nestedList: CodeListItem[] = [];
|
|
299
|
+
items.forEach((data: IData) => {
|
|
300
|
+
map[data[valueAppDEFieldId as string]] = this.convertData(data);
|
|
297
301
|
});
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
);
|
|
307
|
-
return tempCodeListItem;
|
|
302
|
+
items.forEach((data: IData) => {
|
|
303
|
+
const parent = map[data[pvalueAppDEFieldId as string]];
|
|
304
|
+
if (parent) {
|
|
305
|
+
parent.children = parent.children || [];
|
|
306
|
+
parent.children.push(map[data[valueAppDEFieldId as string]]);
|
|
307
|
+
} else {
|
|
308
|
+
nestedList.push(map[data[valueAppDEFieldId as string]]);
|
|
309
|
+
}
|
|
308
310
|
});
|
|
311
|
+
return nestedList;
|
|
309
312
|
}
|
|
310
313
|
|
|
311
314
|
/**
|
|
@@ -12,12 +12,12 @@ const reg = /\$\{(.*?)\}/g;
|
|
|
12
12
|
* @author lxm
|
|
13
13
|
* @date 2023-07-12 07:02:52
|
|
14
14
|
* @export
|
|
15
|
-
* @param {
|
|
15
|
+
* @param {IParams} context
|
|
16
16
|
* @param {IAppDataEntity} entity
|
|
17
17
|
* @return {*} {({ path: string; keys: string[] } | undefined)}
|
|
18
18
|
*/
|
|
19
19
|
export function getMatchResPath(
|
|
20
|
-
context:
|
|
20
|
+
context: IParams,
|
|
21
21
|
entity: IAppDataEntity,
|
|
22
22
|
): { path: string; keys: string[] } | undefined {
|
|
23
23
|
const pathItems = entity.requestPaths || [];
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
/* eslint-disable no-constructor-return */
|
|
2
2
|
import { IDETreeDataSetNode, IDETreeNodeDataItem } from '@ibiz/model-core';
|
|
3
3
|
import { updateKeyDefine } from '@ibiz-template/core';
|
|
4
|
-
import { isNil } from 'ramda';
|
|
4
|
+
import { clone, isNil } from 'ramda';
|
|
5
5
|
import { IIcon, ITreeNodeData } from '../../../interface';
|
|
6
6
|
import { calcDeCodeNameById } from '../../../model';
|
|
7
7
|
import { ScriptFactory } from '../../../utils';
|
|
8
8
|
import { TreeNodeData } from './tree-node-data';
|
|
9
9
|
import { fieldValueToBoolean } from '../../utils';
|
|
10
10
|
|
|
11
|
+
/** 克隆时赋值排除的字段 */
|
|
12
|
+
const CloneExcludeKeys = ['_id', '_value', '_text', '_deData', 'clone'];
|
|
13
|
+
|
|
11
14
|
/**
|
|
12
15
|
* 实体数据集树节点数据
|
|
13
16
|
*
|
|
@@ -17,13 +20,20 @@ import { fieldValueToBoolean } from '../../utils';
|
|
|
17
20
|
* @implements {ITreeNodeData}
|
|
18
21
|
*/
|
|
19
22
|
export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
20
|
-
_text: string;
|
|
23
|
+
declare _text: string;
|
|
24
|
+
|
|
25
|
+
declare _id: string;
|
|
21
26
|
|
|
22
|
-
|
|
27
|
+
declare _value: string;
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
declare _deData: IData;
|
|
25
30
|
|
|
26
|
-
|
|
31
|
+
/**
|
|
32
|
+
* 克隆方法
|
|
33
|
+
* @author lxm
|
|
34
|
+
* @date 2024-01-12 02:37:46
|
|
35
|
+
*/
|
|
36
|
+
declare clone: () => TreeDataSetNodeData;
|
|
27
37
|
|
|
28
38
|
constructor(
|
|
29
39
|
model: IDETreeDataSetNode,
|
|
@@ -38,12 +48,6 @@ export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
|
38
48
|
super(model, parentNodeData, opts);
|
|
39
49
|
const { data } = opts;
|
|
40
50
|
this._deData = data;
|
|
41
|
-
this._text = model.textAppDEFieldId
|
|
42
|
-
? data[model.textAppDEFieldId]
|
|
43
|
-
: data.srfmajortext;
|
|
44
|
-
this._value = model.idAppDEFieldId
|
|
45
|
-
? data[model.idAppDEFieldId]
|
|
46
|
-
: data.srfkey;
|
|
47
51
|
|
|
48
52
|
// id小写
|
|
49
53
|
const selfId = `${model.id}@${data.srfkey}`.toLowerCase();
|
|
@@ -55,6 +59,26 @@ export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
|
55
59
|
configurable: true,
|
|
56
60
|
});
|
|
57
61
|
|
|
62
|
+
// 文本值
|
|
63
|
+
Object.defineProperty(this, '_text', {
|
|
64
|
+
get() {
|
|
65
|
+
return model.textAppDEFieldId
|
|
66
|
+
? data[model.textAppDEFieldId]
|
|
67
|
+
: data.srfmajortext;
|
|
68
|
+
},
|
|
69
|
+
enumerable: true,
|
|
70
|
+
configurable: true,
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
// value值
|
|
74
|
+
Object.defineProperty(this, '_value', {
|
|
75
|
+
get() {
|
|
76
|
+
return model.idAppDEFieldId ? data[model.idAppDEFieldId] : data.srfkey;
|
|
77
|
+
},
|
|
78
|
+
enumerable: true,
|
|
79
|
+
configurable: true,
|
|
80
|
+
});
|
|
81
|
+
|
|
58
82
|
// 实体节点额外添加上自己的实体上下文
|
|
59
83
|
if (model.appDataEntityId) {
|
|
60
84
|
const deName = calcDeCodeNameById(model.appDataEntityId);
|
|
@@ -73,22 +97,21 @@ export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
|
73
97
|
|
|
74
98
|
/** 数据项和实体属性映射 */
|
|
75
99
|
const dataItemKeyMap = new Map<string | symbol, string | symbol>();
|
|
76
|
-
|
|
77
|
-
dataItemKeyMap.set('srfmajortext', 'srfmajortext');
|
|
78
|
-
|
|
100
|
+
const dataItemDefaultMap = new Map<string | symbol, unknown>();
|
|
79
101
|
model.detreeNodeDataItems?.forEach(dataItem => {
|
|
80
|
-
const
|
|
81
|
-
|
|
102
|
+
const dataItemKey = dataItem.id!.toLowerCase();
|
|
103
|
+
|
|
104
|
+
// *后台实体属性
|
|
82
105
|
const deFieldKey = dataItem.appDEFieldId!.toLowerCase();
|
|
83
|
-
dataItemKeyMap.set(
|
|
106
|
+
dataItemKeyMap.set(dataItemKey, deFieldKey);
|
|
84
107
|
|
|
85
108
|
// *设置默认值
|
|
86
|
-
if (dataItem.defaultValue
|
|
87
|
-
|
|
109
|
+
if (dataItem.defaultValue) {
|
|
110
|
+
dataItemDefaultMap.set(dataItemKey, dataItem.defaultValue);
|
|
88
111
|
}
|
|
89
112
|
});
|
|
90
113
|
|
|
91
|
-
/**
|
|
114
|
+
/** 表格列和数据项的映射 */
|
|
92
115
|
const nodeColumnKeyMap = new Map<string | symbol, string | symbol>();
|
|
93
116
|
model.detreeNodeColumns?.forEach(column => {
|
|
94
117
|
const columnKey = column.detreeColumnId!; // 不配树表格列不会有这个模型
|
|
@@ -96,45 +119,87 @@ export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
|
96
119
|
if (!columnKey || !dataItemKey) {
|
|
97
120
|
ibiz.log.error('模型异常缺少detreeColumnId或者dataItemName', column);
|
|
98
121
|
} else {
|
|
99
|
-
nodeColumnKeyMap.set(columnKey,
|
|
122
|
+
nodeColumnKeyMap.set(columnKey, dataItemKey);
|
|
100
123
|
}
|
|
101
124
|
});
|
|
102
125
|
|
|
126
|
+
/**
|
|
127
|
+
* 获取对应key最终映射的实体属性字段,undefined就是没有映射实体属性
|
|
128
|
+
* @author lxm
|
|
129
|
+
* @date 2024-01-12 01:48:09
|
|
130
|
+
* @param {(string | symbol)} key
|
|
131
|
+
* @return {*} {(string | symbol | undefined)}
|
|
132
|
+
*/
|
|
133
|
+
const getDeKey = (key: string | symbol): string | symbol | undefined => {
|
|
134
|
+
// 表格列映射的实体数据属性名称
|
|
135
|
+
if (nodeColumnKeyMap.has(key)) {
|
|
136
|
+
return dataItemKeyMap.get(nodeColumnKeyMap.get(key)!);
|
|
137
|
+
}
|
|
138
|
+
// 数据项映射的实体数据属性名称
|
|
139
|
+
if (dataItemKeyMap.has(key)) {
|
|
140
|
+
return dataItemKeyMap.get(key);
|
|
141
|
+
}
|
|
142
|
+
// 实体属性上可枚举的属性,返回该属性名称
|
|
143
|
+
if (Object.prototype.hasOwnProperty.call(this._deData, key)) {
|
|
144
|
+
return key;
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* 获取对应属性的默认值,纯显示用的
|
|
150
|
+
* @author lxm
|
|
151
|
+
* @date 2024-01-12 02:36:53
|
|
152
|
+
* @param {(string | symbol)} key
|
|
153
|
+
* @return {*} {unknown}
|
|
154
|
+
*/
|
|
155
|
+
const getKeyDefault = (key: string | symbol): unknown => {
|
|
156
|
+
// 表格列映射的数据项的默认值
|
|
157
|
+
if (nodeColumnKeyMap.has(key)) {
|
|
158
|
+
return dataItemDefaultMap.get(nodeColumnKeyMap.get(key)!);
|
|
159
|
+
}
|
|
160
|
+
// 数据项映射的默认值
|
|
161
|
+
if (dataItemDefaultMap.has(key)) {
|
|
162
|
+
return dataItemDefaultMap.get(key);
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
this.clone = (): TreeDataSetNodeData => {
|
|
167
|
+
const cloneData = clone(this._deData);
|
|
168
|
+
const cloneNodeData = new TreeDataSetNodeData(model, this._parent, {
|
|
169
|
+
data: cloneData,
|
|
170
|
+
leaf: this._leaf,
|
|
171
|
+
navContext: this._context,
|
|
172
|
+
navParams: this._params,
|
|
173
|
+
});
|
|
174
|
+
Object.keys(this).forEach(key => {
|
|
175
|
+
const deKey = getDeKey(key);
|
|
176
|
+
// 非实体的映射属性,且不是排除的属性时,从原来那边赋值过来
|
|
177
|
+
if (isNil(deKey) && !CloneExcludeKeys.includes(key)) {
|
|
178
|
+
(cloneNodeData as IData)[key] = (this as IData)[key];
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
return cloneNodeData;
|
|
182
|
+
};
|
|
183
|
+
|
|
103
184
|
return new Proxy<TreeDataSetNodeData>(this, {
|
|
104
185
|
set(target, p, value): boolean {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
target._deData[
|
|
108
|
-
} else if (dataItemKeyMap.has(p)) {
|
|
109
|
-
// 通过树节点数据项标识设置
|
|
110
|
-
target._deData[dataItemKeyMap.get(p)!] = value;
|
|
111
|
-
} else if (Object.prototype.hasOwnProperty.call(target._deData, p)) {
|
|
112
|
-
// 通过实体数据属性标识设置
|
|
113
|
-
target._deData[p] = value;
|
|
186
|
+
const deKey = getDeKey(p);
|
|
187
|
+
if (!isNil(deKey)) {
|
|
188
|
+
target._deData[deKey] = value;
|
|
114
189
|
} else {
|
|
115
190
|
(target as IData)[p] = value;
|
|
116
191
|
}
|
|
117
192
|
return true;
|
|
118
193
|
},
|
|
119
|
-
|
|
120
194
|
get(target, p, _receiver): unknown {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
return target._deData[nodeColumnKeyMap.get(p)!];
|
|
127
|
-
}
|
|
128
|
-
// 通过树节点数据项标识获取
|
|
129
|
-
if (dataItemKeyMap.has(p)) {
|
|
130
|
-
return target._deData[dataItemKeyMap.get(p)!];
|
|
131
|
-
}
|
|
132
|
-
// 通过实体数据属性标识获取
|
|
133
|
-
if (target._deData[p] !== undefined) {
|
|
134
|
-
return target._deData[p];
|
|
195
|
+
const deKey = getDeKey(p);
|
|
196
|
+
if (!isNil(deKey)) {
|
|
197
|
+
return isNil(target._deData[deKey])
|
|
198
|
+
? getKeyDefault(p)
|
|
199
|
+
: target._deData[deKey];
|
|
135
200
|
}
|
|
201
|
+
return (target as IData)[p];
|
|
136
202
|
},
|
|
137
|
-
|
|
138
203
|
ownKeys(target): ArrayLike<string | symbol> {
|
|
139
204
|
// 整合所有并排除重复
|
|
140
205
|
const allKeys = [
|
|
@@ -86,6 +86,9 @@ export abstract class TreeNodeData implements ITreeNodeData {
|
|
|
86
86
|
if (sysImage.imagePath) {
|
|
87
87
|
icon.imagePath = sysImage.imagePath;
|
|
88
88
|
}
|
|
89
|
+
if (sysImage.rawContent) {
|
|
90
|
+
icon.htmlStr = sysImage.rawContent;
|
|
91
|
+
}
|
|
89
92
|
}
|
|
90
93
|
return Object.values(icon).length > 0 ? icon : undefined;
|
|
91
94
|
}
|
|
@@ -196,8 +196,15 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
196
196
|
*/
|
|
197
197
|
protected async executeDataImport(
|
|
198
198
|
action: IAppDEUIAction,
|
|
199
|
-
|
|
199
|
+
args: IUILogicParams,
|
|
200
200
|
): Promise<IUIActionResult> {
|
|
201
|
+
// 处理参数
|
|
202
|
+
const { resultContext, resultParams } = await this.handleParams(
|
|
203
|
+
action,
|
|
204
|
+
args.context,
|
|
205
|
+
args.data,
|
|
206
|
+
args.params,
|
|
207
|
+
);
|
|
201
208
|
const appDataEntity = await ibiz.hub.getAppDataEntity(
|
|
202
209
|
action.appDataEntityId!,
|
|
203
210
|
action.appId,
|
|
@@ -216,6 +223,8 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
216
223
|
dismiss: () => modal.dismiss(),
|
|
217
224
|
appDataEntity,
|
|
218
225
|
dataImport: appDEDataImport,
|
|
226
|
+
context: resultContext,
|
|
227
|
+
params: resultParams,
|
|
219
228
|
},
|
|
220
229
|
{
|
|
221
230
|
width: 'auto',
|
|
@@ -21,6 +21,6 @@ export class DebugParamNode extends UILogicNode {
|
|
|
21
21
|
throw new RuntimeModelError(this.model, '缺少目标参数对象配置');
|
|
22
22
|
}
|
|
23
23
|
const param = ctx.params[dstDEUILogicParamId];
|
|
24
|
-
|
|
24
|
+
ibiz.log.debug(`逻辑节点${name}操作参数值:`, param);
|
|
25
25
|
}
|
|
26
26
|
}
|
package/src/utils/index.ts
CHANGED
|
@@ -18,4 +18,5 @@ export { ThemeUtil } from './theme-util/theme-util';
|
|
|
18
18
|
export { UIDomain } from './ui-domain/ui-domain';
|
|
19
19
|
export { UIDomainManager } from './ui-domain-manager/ui-domain-manager';
|
|
20
20
|
export { RawValueUtil } from './raw-value-util/raw-value-util';
|
|
21
|
+
export { ViewStack } from './view-stack/view-stack';
|
|
21
22
|
export { handleAllSettled } from './promise/promise';
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { ITransaction, ITransactionState } from '../../interface';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 界面域下简单数据事务
|
|
5
|
+
*
|
|
6
|
+
* @author chitanda
|
|
7
|
+
* @date 2024-01-17 15:01:39
|
|
8
|
+
* @export
|
|
9
|
+
* @class Transaction
|
|
10
|
+
*/
|
|
11
|
+
export class Transaction implements ITransaction {
|
|
12
|
+
/**
|
|
13
|
+
* 待提交队列
|
|
14
|
+
*
|
|
15
|
+
* @author chitanda
|
|
16
|
+
* @date 2024-01-17 15:01:38
|
|
17
|
+
* @protected
|
|
18
|
+
*/
|
|
19
|
+
protected commitQueue: Map<string, () => void> = new Map();
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 事务状态
|
|
23
|
+
*
|
|
24
|
+
* @author chitanda
|
|
25
|
+
* @date 2024-01-17 15:01:45
|
|
26
|
+
* @type {ITransactionState}
|
|
27
|
+
*/
|
|
28
|
+
readonly state: ITransactionState = {
|
|
29
|
+
isOpen: false,
|
|
30
|
+
isChange: false,
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 开启事务
|
|
35
|
+
*
|
|
36
|
+
* @description 事务开启后,所有的数据操作都会被缓存,直到事务提交或者回滚
|
|
37
|
+
* @author chitanda
|
|
38
|
+
* @date 2024-01-17 15:01:46
|
|
39
|
+
*/
|
|
40
|
+
open(): void {
|
|
41
|
+
if (this.state.isOpen) {
|
|
42
|
+
ibiz.log.warn('事务已经开启, 单个界面域只能开启一个事务');
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this.state.isOpen = true;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* 新增变更事务回调,事务提交时会按照添加顺序倒序执行
|
|
50
|
+
*
|
|
51
|
+
* @author chitanda
|
|
52
|
+
* @date 2024-01-17 16:01:50
|
|
53
|
+
* @param {string} id 回调标识,用于去重。一个数据只能有一个回调
|
|
54
|
+
* @param {() => void} commit
|
|
55
|
+
*/
|
|
56
|
+
change(id: string, commit: () => void): void {
|
|
57
|
+
this.state.isChange = true;
|
|
58
|
+
this.commitQueue.set(id, commit);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 提交事务
|
|
63
|
+
*
|
|
64
|
+
* @author chitanda
|
|
65
|
+
* @date 2024-01-17 15:01:05
|
|
66
|
+
*/
|
|
67
|
+
commit(): void {
|
|
68
|
+
// 倒序提交
|
|
69
|
+
const commitQueue = Array.from(this.commitQueue.values()).reverse();
|
|
70
|
+
for (const commit of commitQueue) {
|
|
71
|
+
commit();
|
|
72
|
+
}
|
|
73
|
+
this.commitQueue.clear();
|
|
74
|
+
this.state.isChange = false;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* 回滚事务
|
|
79
|
+
*
|
|
80
|
+
* @author chitanda
|
|
81
|
+
* @date 2024-01-17 19:01:43
|
|
82
|
+
*/
|
|
83
|
+
rollback(): void {
|
|
84
|
+
this.commitQueue.clear();
|
|
85
|
+
this.state.isChange = false;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* 关闭事务
|
|
90
|
+
*
|
|
91
|
+
* @author chitanda
|
|
92
|
+
* @date 2024-01-17 15:01:02
|
|
93
|
+
*/
|
|
94
|
+
close(): void {
|
|
95
|
+
if (this.state.isChange) {
|
|
96
|
+
throw new Error('当前事务未提交,不可以直接关闭事务');
|
|
97
|
+
}
|
|
98
|
+
this.state.isOpen = false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IAppDERS } from '@ibiz/model-core';
|
|
2
2
|
import { createUUID } from 'qx-util';
|
|
3
|
+
import { Transaction } from './transaction';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* 界面域
|
|
@@ -20,15 +21,43 @@ export class UIDomain {
|
|
|
20
21
|
readonly id: string;
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
|
-
*
|
|
24
|
+
* 状态
|
|
25
|
+
*
|
|
26
|
+
* @author chitanda
|
|
27
|
+
* @date 2024-01-15 19:01:51
|
|
28
|
+
* @type {{ rsInit: boolean }} 关系是否已经初始化
|
|
29
|
+
*/
|
|
30
|
+
readonly state: { rsInit: boolean } = { rsInit: false };
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* DTO 子父关系映射
|
|
24
34
|
*
|
|
25
35
|
* @author chitanda
|
|
26
36
|
* @date 2023-12-26 15:12:13
|
|
27
37
|
* @protected
|
|
28
|
-
* @type {Map<string, IAppDERS[]>}
|
|
38
|
+
* @type {Map<string, IAppDERS[]>} Map<子实体, 当前实体的父关系>
|
|
29
39
|
*/
|
|
30
40
|
protected rsMap: Map<string, IAppDERS[]> = new Map();
|
|
31
41
|
|
|
42
|
+
/**
|
|
43
|
+
* DTO 父子关系映射
|
|
44
|
+
*
|
|
45
|
+
* @author chitanda
|
|
46
|
+
* @date 2024-01-15 17:01:42
|
|
47
|
+
* @protected
|
|
48
|
+
* @type {Map<string, IAppDERS[]>}
|
|
49
|
+
*/
|
|
50
|
+
protected rs2Map: Map<string, IAppDERS[]> = new Map();
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 当前界面域下唯一事务
|
|
54
|
+
*
|
|
55
|
+
* @author chitanda
|
|
56
|
+
* @date 2024-01-17 15:01:07
|
|
57
|
+
* @type {Transaction}
|
|
58
|
+
*/
|
|
59
|
+
readonly transaction: Transaction = new Transaction();
|
|
60
|
+
|
|
32
61
|
/**
|
|
33
62
|
* Creates an instance of UIDomain.
|
|
34
63
|
*
|
|
@@ -50,11 +79,11 @@ export class UIDomain {
|
|
|
50
79
|
*
|
|
51
80
|
* @author chitanda
|
|
52
81
|
* @date 2023-12-26 15:12:31
|
|
53
|
-
* @param {string}
|
|
82
|
+
* @param {string} appDataEntityId
|
|
54
83
|
* @param {IAppDERS} configs
|
|
55
84
|
*/
|
|
56
|
-
setDERConfig(
|
|
57
|
-
this.rsMap.set(
|
|
85
|
+
setDERConfig(appDataEntityId: string, configs: IAppDERS[]): void {
|
|
86
|
+
this.rsMap.set(appDataEntityId, configs);
|
|
58
87
|
}
|
|
59
88
|
|
|
60
89
|
/**
|
|
@@ -62,16 +91,51 @@ export class UIDomain {
|
|
|
62
91
|
*
|
|
63
92
|
* @author chitanda
|
|
64
93
|
* @date 2023-12-26 16:12:07
|
|
65
|
-
* @param {string}
|
|
94
|
+
* @param {string} appDataEntityId
|
|
95
|
+
* @return {*} {IAppDERS[]}
|
|
96
|
+
*/
|
|
97
|
+
getDERConfig(appDataEntityId: string): IAppDERS[] {
|
|
98
|
+
if (this.rsMap.has(appDataEntityId)) {
|
|
99
|
+
return this.rsMap.get(appDataEntityId)!;
|
|
100
|
+
}
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* 查询指定主实体下的所有子实体关系
|
|
106
|
+
*
|
|
107
|
+
* @author chitanda
|
|
108
|
+
* @date 2024-01-17 16:01:21
|
|
109
|
+
* @param {string} appDataEntityId
|
|
66
110
|
* @return {*} {IAppDERS[]}
|
|
67
111
|
*/
|
|
68
|
-
|
|
69
|
-
if (this.
|
|
70
|
-
return this.
|
|
112
|
+
getDERConfigByMajor(appDataEntityId: string): IAppDERS[] {
|
|
113
|
+
if (this.rs2Map.has(appDataEntityId)) {
|
|
114
|
+
return this.rs2Map.get(appDataEntityId)!;
|
|
71
115
|
}
|
|
72
116
|
return [];
|
|
73
117
|
}
|
|
74
118
|
|
|
119
|
+
/**
|
|
120
|
+
* 根据模型给的子实体中的父关系模型,计算每个实体的子关系模型
|
|
121
|
+
*
|
|
122
|
+
* @author chitanda
|
|
123
|
+
* @date 2024-01-15 19:01:49
|
|
124
|
+
*/
|
|
125
|
+
calcParentRs(): void {
|
|
126
|
+
this.rs2Map.clear();
|
|
127
|
+
this.rsMap.forEach((configs, appDataEntityId) => {
|
|
128
|
+
configs.forEach(config => {
|
|
129
|
+
config.minorAppDataEntityId = appDataEntityId;
|
|
130
|
+
const major = config.majorAppDataEntityId!;
|
|
131
|
+
if (!this.rs2Map.has(major)) {
|
|
132
|
+
this.rs2Map.set(major, []);
|
|
133
|
+
}
|
|
134
|
+
this.rs2Map.get(major)!.push(config);
|
|
135
|
+
});
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
|
|
75
139
|
/**
|
|
76
140
|
* 界面域销毁
|
|
77
141
|
*
|