@ibiz-template/runtime 0.1.23 → 0.1.25
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 +184 -109
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/command/app/app-func/app-func.js +2 -2
- package/out/config/global-config.d.ts.map +1 -1
- package/out/config/global-config.js +1 -0
- package/out/controller/common/control/control.controller.d.ts +4 -4
- package/out/controller/common/control/control.controller.d.ts.map +1 -1
- package/out/controller/common/control/control.controller.js +3 -2
- package/out/controller/common/control/md-control.controller.d.ts +20 -1
- package/out/controller/common/control/md-control.controller.d.ts.map +1 -1
- package/out/controller/common/control/md-control.controller.js +21 -2
- package/out/controller/common/editor/editor.controller.js +2 -2
- package/out/controller/common/view/view.controller.js +2 -2
- package/out/controller/control/exp-bar/calendar-exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/calendar-exp-bar.controller.js +1 -0
- package/out/controller/control/exp-bar/exp-bar.controller.d.ts +10 -0
- package/out/controller/control/exp-bar/exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/exp-bar.controller.js +32 -7
- package/out/controller/control/exp-bar/tree-exp-bar.controller.d.ts.map +1 -1
- package/out/controller/control/exp-bar/tree-exp-bar.controller.js +1 -0
- package/out/controller/control/form/edit-form/edit-form.controller.d.ts.map +1 -1
- package/out/controller/control/form/edit-form/edit-form.controller.js +7 -1
- package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.js +2 -2
- package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js +2 -2
- package/out/controller/control/pickup-view-panel/pickup-view-panel.controller.js +2 -2
- package/out/de-logic/de-logic.d.ts +9 -0
- package/out/de-logic/de-logic.d.ts.map +1 -1
- package/out/de-logic/de-logic.js +14 -0
- package/out/interface/common/i-global-config/i-global-view-config.d.ts +8 -0
- package/out/interface/common/i-global-config/i-global-view-config.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts +10 -0
- package/out/interface/controller/controller/control/i-exp-bar-control.controller.d.ts.map +1 -1
- package/out/interface/provider/i-control.provider.d.ts +15 -0
- package/out/interface/provider/i-control.provider.d.ts.map +1 -1
- package/out/interface/provider/i-view.provider.d.ts +15 -0
- package/out/interface/provider/i-view.provider.d.ts.map +1 -1
- package/out/logic-scheduler/executor/app-ui-logic-executor.js +4 -4
- package/out/service/dto/method.dto.d.ts.map +1 -1
- package/out/service/dto/method.dto.js +4 -3
- package/out/service/service/entity/method/method.d.ts.map +1 -1
- package/out/service/service/entity/method/method.js +0 -1
- package/out/service/vo/control.vo.d.ts.map +1 -1
- package/out/service/vo/control.vo.js +9 -12
- package/out/service/vo/ui-map-field.d.ts +7 -0
- package/out/service/vo/ui-map-field.d.ts.map +1 -1
- package/out/service/vo/ui-map-field.js +24 -0
- package/out/ui-action/provider/ui-action-provider-base.js +2 -2
- package/out/utils/nav-params/calc-nav-params.js +2 -2
- package/out/utils/nav-params/nav-params.d.ts +11 -25
- package/out/utils/nav-params/nav-params.d.ts.map +1 -1
- package/out/utils/nav-params/nav-params.js +79 -84
- package/out/utils/open-redirect-view/open-redirect-view.js +2 -2
- package/package.json +3 -3
- package/src/command/app/app-func/app-func.ts +2 -2
- package/src/config/global-config.ts +1 -0
- package/src/controller/common/control/control.controller.ts +5 -4
- package/src/controller/common/control/md-control.controller.ts +34 -3
- package/src/controller/common/editor/editor.controller.ts +2 -2
- package/src/controller/common/view/view.controller.ts +2 -2
- package/src/controller/control/exp-bar/calendar-exp-bar.controller.ts +1 -0
- package/src/controller/control/exp-bar/exp-bar.controller.ts +35 -7
- package/src/controller/control/exp-bar/tree-exp-bar.controller.ts +1 -0
- package/src/controller/control/form/edit-form/edit-form.controller.ts +11 -1
- package/src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts +3 -3
- package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +2 -2
- package/src/controller/control/pickup-view-panel/pickup-view-panel.controller.ts +2 -2
- package/src/de-logic/de-logic.ts +24 -0
- package/src/interface/common/i-global-config/i-global-view-config.ts +9 -0
- package/src/interface/controller/controller/control/i-exp-bar-control.controller.ts +8 -0
- package/src/interface/provider/i-control.provider.ts +22 -0
- package/src/interface/provider/i-view.provider.ts +22 -0
- package/src/logic-scheduler/executor/app-ui-logic-executor.ts +4 -4
- package/src/service/dto/method.dto.ts +3 -3
- package/src/service/service/entity/method/method.ts +0 -1
- package/src/service/vo/control.vo.ts +10 -14
- package/src/service/vo/ui-map-field.ts +28 -0
- package/src/ui-action/provider/ui-action-provider-base.ts +4 -4
- package/src/utils/nav-params/calc-nav-params.ts +2 -2
- package/src/utils/nav-params/nav-params.ts +86 -91
- package/src/utils/open-redirect-view/open-redirect-view.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAQlB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,WAAW,CAAC;IACtB,SAAS,CAAC,GAAG,CAAC;IAThB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;gBAGzC,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,qBAAS,EACrB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"method.dto.d.ts","sourceRoot":"","sources":["../../../src/service/dto/method.dto.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,eAAe,EACf,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGnE;;;;;;;GAOG;AACH,qBAAa,SAAS;IAQlB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,WAAW,CAAC;IACtB,SAAS,CAAC,GAAG,CAAC;IAThB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAE5B,SAAS,CAAC,MAAM,EAAG,oBAAoB,EAAE,CAAC;IAE1C,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;gBAGzC,MAAM,EAAE,cAAc,EACtB,WAAW,CAAC,qBAAS,EACrB,GAAG,CAAC,6BAAiB;IAUjC;;;;;;;;OAQG;IACG,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IA2CxD;;;;;;;;OAQG;IACG,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmCrE;;;;;;;;OAQG;cACa,WAAW,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;CAgB7E"}
|
|
@@ -58,9 +58,7 @@ export class MethodDto {
|
|
|
58
58
|
for (let j = 0; j < items.length; j++) {
|
|
59
59
|
arr.push(await dto.get(context, items[j]));
|
|
60
60
|
}
|
|
61
|
-
|
|
62
|
-
params[key] = arr;
|
|
63
|
-
}
|
|
61
|
+
params[key] = arr;
|
|
64
62
|
}
|
|
65
63
|
break;
|
|
66
64
|
}
|
|
@@ -99,6 +97,9 @@ export class MethodDto {
|
|
|
99
97
|
if (items) {
|
|
100
98
|
await dto.sets(context, items);
|
|
101
99
|
}
|
|
100
|
+
else {
|
|
101
|
+
await dto.sets(context, []);
|
|
102
|
+
}
|
|
102
103
|
});
|
|
103
104
|
for (let i = 0; i < all.length; i++) {
|
|
104
105
|
await all[i];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GAEd,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../../src/service/service/entity/method/method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAqB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAGtD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEnE;;;;;;;GAOG;AACH,8BAAsB,MAAM;IA2CxB,SAAS,CAAC,MAAM,EAAE,cAAc;IAChC,SAAS,CAAC,MAAM,EAAE,YAAY;IA3ChC,SAAS,CAAC,GAAG,EAAG,WAAW,CAAC;IAE5B;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAG,WAAW,CAAC;IAE9B;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAG,YAAY,CAAC;IAEhC;;;;;;;OAOG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IAElC;;;;;;;;OAQG;gBAES,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY;IAOhC;;;;;;;;;OASG;IACH,QAAQ,CAAC,IAAI,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,YAAY,CAAC;IAExB;;;;;;;;;;;OAWG;cACa,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GAEd,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAwC7B;;;;;;;;OAQG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAM5C;;;;;;;OAOG;cACa,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAOpD;;;;;;;;OAQG;IACH,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,GAAG,WAAW;CAM/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control.vo.d.ts","sourceRoot":"","sources":["../../../src/service/vo/control.vo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"control.vo.d.ts","sourceRoot":"","sources":["../../../src/service/vo/control.vo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;GAOG;AACH,qBAAa,SAAS;IAEpB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC;IAE5B;;;;;;;OAOG;IACK,OAAO,EAAE,KAAK,CAAC;IAEvB;;;;;;;OAOG;IACK,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,IAAI,KAAK,IAAI,KAAK,CAKjB;IAED;;;;;;OAMG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;;;;OAMG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;;;;OAMG;IACH,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;;;OAMG;gBAED,OAAO,GAAE,KAAU,EACnB,UAAU,GAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAa;IA8BjD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,YAAY;IA6CpB;;;;;;OAMG;IACH,SAAS,IAAI,KAAK;IAIlB;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,KAAK,GAAG,SAAS,GAAG,IAAI;IAIxC;;;;;;OAMG;IACH,KAAK,IAAI,SAAS;CAQnB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { DataTypes } from '@ibiz-template/core';
|
|
2
1
|
import { clone, isNil } from 'ramda';
|
|
3
2
|
import { Srfuf } from '../constant';
|
|
4
3
|
/**
|
|
@@ -105,9 +104,7 @@ export class ControlVO {
|
|
|
105
104
|
this.$dataUIMap.forEach((mapField, key) => {
|
|
106
105
|
const value = mapField.dataKey;
|
|
107
106
|
// 关联映射属性
|
|
108
|
-
|
|
109
|
-
DataTypes.isNumber(mapField.dataType);
|
|
110
|
-
this.linkProperty(key, value, mapField.isOriginField, forceNumber);
|
|
107
|
+
this.linkProperty(key, value, mapField);
|
|
111
108
|
});
|
|
112
109
|
// 映射属性里没有涉及到的建立直接关联,用于使用实体属性也要取到值的场景。
|
|
113
110
|
Object.keys($origin).forEach(value => {
|
|
@@ -129,7 +126,8 @@ export class ControlVO {
|
|
|
129
126
|
* @param {boolean} [forceNumber=false] 是否强制转换成数值,是的话set的时候转成数值
|
|
130
127
|
* @returns {*}
|
|
131
128
|
*/
|
|
132
|
-
linkProperty(uiKey, dataKey,
|
|
129
|
+
linkProperty(uiKey, dataKey, mapField) {
|
|
130
|
+
const isOriginField = mapField ? mapField.isOriginField : true;
|
|
133
131
|
// srfuf和srfkey不做处理
|
|
134
132
|
if (uiKey === 'srfuf') {
|
|
135
133
|
return;
|
|
@@ -147,15 +145,14 @@ export class ControlVO {
|
|
|
147
145
|
: this.$origin[dataKey];
|
|
148
146
|
},
|
|
149
147
|
set(val) {
|
|
150
|
-
//
|
|
151
|
-
|
|
152
|
-
if (Number.isNaN(val2)) {
|
|
153
|
-
val2 = val; // NaN时还原值
|
|
154
|
-
ibiz.log.error(`${val}不能转换成数字`);
|
|
155
|
-
}
|
|
156
|
-
this.$origin[dataKey] = val2;
|
|
148
|
+
// 有mapField的走它的转换
|
|
149
|
+
this.$origin[dataKey] = mapField ? mapField.convertVal(val) : val;
|
|
157
150
|
},
|
|
158
151
|
});
|
|
152
|
+
// 一开始初始化的时候先把值转换一下。
|
|
153
|
+
if (mapField) {
|
|
154
|
+
this[uiKey] = mapField.convertVal(this.$origin[dataKey]);
|
|
155
|
+
}
|
|
159
156
|
}
|
|
160
157
|
else {
|
|
161
158
|
Object.defineProperty(this, uiKey, {
|
|
@@ -50,5 +50,12 @@ export declare class UIMapField {
|
|
|
50
50
|
isOriginField?: boolean;
|
|
51
51
|
dataType?: number;
|
|
52
52
|
});
|
|
53
|
+
/**
|
|
54
|
+
* 值转换
|
|
55
|
+
* @author lxm
|
|
56
|
+
* @date 2023-09-14 06:45:44
|
|
57
|
+
* @param {unknown} value 原值
|
|
58
|
+
*/
|
|
59
|
+
convertVal(value: unknown): unknown;
|
|
53
60
|
}
|
|
54
61
|
//# sourceMappingURL=ui-map-field.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-map-field.d.ts","sourceRoot":"","sources":["../../../src/service/vo/ui-map-field.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ui-map-field.d.ts","sourceRoot":"","sources":["../../../src/service/vo/ui-map-field.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,qBAAa,UAAU;IACrB;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAS;IAE/B;;;;;;OAMG;IACH,aAAa,EAAE,OAAO,CAAQ;gBAG5B,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;QACJ,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACd;IAYR;;;;;OAKG;IACH,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAoBpC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { DataTypes } from '@ibiz-template/core';
|
|
1
2
|
import { isNil } from 'ramda';
|
|
2
3
|
/**
|
|
3
4
|
* 界面映射字段信息
|
|
@@ -34,4 +35,27 @@ export class UIMapField {
|
|
|
34
35
|
this.dataType = opts.dataType;
|
|
35
36
|
}
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* 值转换
|
|
40
|
+
* @author lxm
|
|
41
|
+
* @date 2023-09-14 06:45:44
|
|
42
|
+
* @param {unknown} value 原值
|
|
43
|
+
*/
|
|
44
|
+
convertVal(value) {
|
|
45
|
+
// 没有数据类型的给原值
|
|
46
|
+
if (!this.dataType) {
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
// 数值转换
|
|
50
|
+
if (DataTypes.isNumber(this.dataType)) {
|
|
51
|
+
const numVal = !isNil(value) && value !== '' ? Number(value) : value;
|
|
52
|
+
if (Number.isNaN(numVal)) {
|
|
53
|
+
// 不能转换的给原值
|
|
54
|
+
ibiz.log.debug(`${value}不能转换成数字`);
|
|
55
|
+
return value;
|
|
56
|
+
}
|
|
57
|
+
return numVal;
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
37
61
|
}
|
|
@@ -185,11 +185,11 @@ export class UIActionProviderBase {
|
|
|
185
185
|
const isMultiData = ['MULTIKEY', 'MULTIDATA'].includes(action.actionTarget) &&
|
|
186
186
|
data.length > 0;
|
|
187
187
|
// 处理自定义导航上下文
|
|
188
|
-
const tempContext = convertNavData(navContexts,
|
|
188
|
+
const tempContext = convertNavData(navContexts, isMultiData ? formatMultiData(navContexts, data) : data[0] || {}, params, context);
|
|
189
189
|
Object.assign(resultContext, tempContext);
|
|
190
190
|
// 处理自定义导航视图参数
|
|
191
191
|
const navParams = action.navigateParams;
|
|
192
|
-
const resultParams = convertNavData(navParams,
|
|
192
|
+
const resultParams = convertNavData(navParams, isMultiData ? formatMultiData(navParams, data) : data[0] || {}, params, resultContext);
|
|
193
193
|
return { resultContext, resultData, resultParams };
|
|
194
194
|
}
|
|
195
195
|
}
|
|
@@ -37,8 +37,8 @@ export function calcNavParams(model, originParams) {
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
// 自定义导航视图参数和上下文
|
|
40
|
-
const tempContext = convertNavData(navContexts,
|
|
41
|
-
const tempParams = convertNavData(navParams,
|
|
40
|
+
const tempContext = convertNavData(navContexts, data, params, context);
|
|
41
|
+
const tempParams = convertNavData(navParams, data, params, context);
|
|
42
42
|
Object.assign(resultContext, tempContext);
|
|
43
43
|
Object.assign(resultParams, tempParams);
|
|
44
44
|
return {
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { INavigateParam } from '@ibiz/model-core';
|
|
2
|
+
/**
|
|
3
|
+
* 把对象格式的导航参数转换成数组格式的导航参数
|
|
4
|
+
* @author lxm
|
|
5
|
+
* @date 2023-07-10 03:33:14
|
|
6
|
+
* @export
|
|
7
|
+
* @param {IData} navParams
|
|
8
|
+
* @return {*} {IPSNavigateParam[]}
|
|
9
|
+
*/
|
|
10
|
+
export declare function convertObjectToNavParams(navParams: IData): INavigateParam[];
|
|
2
11
|
/**
|
|
3
12
|
* 转换导航数据(如导航上下文,导航视图参数)
|
|
4
13
|
* - 把%xxx%,转换成origins元素里对应叫xxx的值
|
|
@@ -9,10 +18,10 @@ import { INavigateParam } from '@ibiz/model-core';
|
|
|
9
18
|
* @author lxm
|
|
10
19
|
* @date 2022-08-22 11:08:18
|
|
11
20
|
* @export
|
|
12
|
-
* @param {INavigateParam[]}
|
|
21
|
+
* @param {INavigateParam[]} navParams 导航参数
|
|
13
22
|
* @param {...IData[]} origins 转换数据来源集合
|
|
14
23
|
*/
|
|
15
|
-
export declare function convertNavData(
|
|
24
|
+
export declare function convertNavData(navParams: INavigateParam[] | IData | undefined | null, ...origins: IData[]): IData;
|
|
16
25
|
/**
|
|
17
26
|
* 通过模型中的导航数组 转换导航数据(如导航上下文,导航视图参数)
|
|
18
27
|
* - 把%xxx%,转换成origins元素里对应叫xxx的值
|
|
@@ -27,29 +36,6 @@ export declare function convertNavData(naviDatas: INavigateParam[] | IData | und
|
|
|
27
36
|
* @param {...IData[]} origins 转换数据来源集合
|
|
28
37
|
*/
|
|
29
38
|
export declare function convertNavDataByArray(naviDatas: INavigateParam[], ...origins: IData[]): IData;
|
|
30
|
-
/**
|
|
31
|
-
* 通过对象 转换导航数据(如导航上下文,导航视图参数)
|
|
32
|
-
* - 把%xxx%,转换成origins元素里对应叫xxx的值
|
|
33
|
-
* - 按顺序查找origins的元素,且只要有xxx的属性就算找到,不管值是否为空。
|
|
34
|
-
* - naviData里{a:%xxx%},origins里找不到xxx则返回值里不存在a属性
|
|
35
|
-
* - naviData里非%xxx%形式的,都当成直接值原样返回,包括空值。
|
|
36
|
-
*
|
|
37
|
-
* @author lxm
|
|
38
|
-
* @date 2022-08-22 11:08:18
|
|
39
|
-
* @export
|
|
40
|
-
* @param {IData} naviData
|
|
41
|
-
* @param {...IData[]} origins
|
|
42
|
-
*/
|
|
43
|
-
export declare function convertNavDataByObject(naviData: IData, ...origins: IData[]): IData;
|
|
44
|
-
/**
|
|
45
|
-
* 把对象格式的导航参数转换成数组格式的导航参数
|
|
46
|
-
* @author lxm
|
|
47
|
-
* @date 2023-07-10 03:33:14
|
|
48
|
-
* @export
|
|
49
|
-
* @param {IData} naviData
|
|
50
|
-
* @return {*} {IPSNavigateParam[]}
|
|
51
|
-
*/
|
|
52
|
-
export declare function convertObjectToNavParams(naviData: IData): INavigateParam[];
|
|
53
39
|
/**
|
|
54
40
|
* 根据导航参数把多条数据转换成单条数据,用;分隔
|
|
55
41
|
* @author lxm
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-params.d.ts","sourceRoot":"","sources":["../../../src/utils/nav-params/nav-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,EACtD,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,
|
|
1
|
+
{"version":3,"file":"nav-params.d.ts","sourceRoot":"","sources":["../../../src/utils/nav-params/nav-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,KAAK,GAAG,cAAc,EAAE,CAmB3E;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,EACtD,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,CAYP;AA8BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EAAE,EAC3B,GAAG,OAAO,EAAE,KAAK,EAAE,GAClB,KAAK,CA8BP;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,cAAc,EAAE,GAAG,KAAK,GAAG,SAAS,GAAG,IAAI,EACtD,OAAO,EAAE,KAAK,EAAE,GACf,KAAK,CAsBP"}
|
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
import { isEmpty } from 'lodash-es';
|
|
2
2
|
import { isNilOrEmpty, notNilEmpty } from 'qx-util';
|
|
3
|
+
/**
|
|
4
|
+
* 把对象格式的导航参数转换成数组格式的导航参数
|
|
5
|
+
* @author lxm
|
|
6
|
+
* @date 2023-07-10 03:33:14
|
|
7
|
+
* @export
|
|
8
|
+
* @param {IData} navParams
|
|
9
|
+
* @return {*} {IPSNavigateParam[]}
|
|
10
|
+
*/
|
|
11
|
+
export function convertObjectToNavParams(navParams) {
|
|
12
|
+
const result = [];
|
|
13
|
+
const reg = /^%(.+)%$/;
|
|
14
|
+
// eslint-disable-next-line guard-for-in
|
|
15
|
+
for (const key in navParams) {
|
|
16
|
+
let rawValue = true;
|
|
17
|
+
let value = navParams[key];
|
|
18
|
+
if (notNilEmpty(navParams[key]) && reg.test(navParams[key])) {
|
|
19
|
+
rawValue = false;
|
|
20
|
+
value = navParams[key].substring(1, navParams[key].length - 1);
|
|
21
|
+
}
|
|
22
|
+
result.push({
|
|
23
|
+
key: key.toLowerCase(),
|
|
24
|
+
rawValue,
|
|
25
|
+
value,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
3
30
|
/**
|
|
4
31
|
* 转换导航数据(如导航上下文,导航视图参数)
|
|
5
32
|
* - 把%xxx%,转换成origins元素里对应叫xxx的值
|
|
@@ -10,21 +37,42 @@ import { isNilOrEmpty, notNilEmpty } from 'qx-util';
|
|
|
10
37
|
* @author lxm
|
|
11
38
|
* @date 2022-08-22 11:08:18
|
|
12
39
|
* @export
|
|
13
|
-
* @param {INavigateParam[]}
|
|
40
|
+
* @param {INavigateParam[]} navParams 导航参数
|
|
14
41
|
* @param {...IData[]} origins 转换数据来源集合
|
|
15
42
|
*/
|
|
16
|
-
export function convertNavData(
|
|
43
|
+
export function convertNavData(navParams, ...origins) {
|
|
17
44
|
// 如果导航参数不存在或者为空对象,返回{}
|
|
18
|
-
if (!
|
|
45
|
+
if (!navParams || isEmpty(navParams)) {
|
|
19
46
|
return {};
|
|
20
47
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
48
|
+
// 把对象形式的导航参数转换成INavigateParam[]形式
|
|
49
|
+
const navParamsArr = Array.isArray(navParams)
|
|
50
|
+
? navParams
|
|
51
|
+
: convertObjectToNavParams(navParams);
|
|
52
|
+
return convertNavDataByArray(navParamsArr, ...origins);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 从origins每个元素里找到对应属性key的值
|
|
56
|
+
* 如果都找不到抛异常。
|
|
57
|
+
* @author lxm
|
|
58
|
+
* @date 2023-09-13 11:38:43
|
|
59
|
+
* @param {IData[]} origins 来源数据集合
|
|
60
|
+
* @param {string} key 属性标识
|
|
61
|
+
* @return {*} {{ find: boolean; value: unknown }} 返回find是否找到值,value为找到的值,可以是空值
|
|
62
|
+
*/
|
|
63
|
+
function getVal(origins, key) {
|
|
64
|
+
// 找到origins里第一个有该属性的的项
|
|
65
|
+
const findOrigin = origins.find(item => {
|
|
66
|
+
if (isNilOrEmpty(item)) {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return (
|
|
70
|
+
// proxy数据判断是否能拿到值
|
|
71
|
+
item[key] ||
|
|
72
|
+
// 上下文等判断是否有这个属性,如果有且值为空,则赋该空值
|
|
73
|
+
Object.prototype.hasOwnProperty.call(item, key));
|
|
74
|
+
});
|
|
75
|
+
return { find: !!findOrigin, value: findOrigin === null || findOrigin === void 0 ? void 0 : findOrigin[key] };
|
|
28
76
|
}
|
|
29
77
|
/**
|
|
30
78
|
* 通过模型中的导航数组 转换导航数据(如导航上下文,导航视图参数)
|
|
@@ -40,91 +88,38 @@ export function convertNavData(naviDatas, ...origins) {
|
|
|
40
88
|
* @param {...IData[]} origins 转换数据来源集合
|
|
41
89
|
*/
|
|
42
90
|
export function convertNavDataByArray(naviDatas, ...origins) {
|
|
91
|
+
const regex = /\$\{[^}]*\}/g; // 匹配${xxx}格式字符串
|
|
43
92
|
const result = {};
|
|
44
93
|
for (const naviData of naviDatas) {
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
94
|
+
if (!naviData.rawValue) {
|
|
95
|
+
const matchArr = naviData.value.match(regex);
|
|
96
|
+
if (matchArr !== null) {
|
|
97
|
+
// 有${xxx}的找每一个xxx的值,替换原始字符串里的值,最后赋值处理过的字符串
|
|
98
|
+
let valueStr = naviData.value;
|
|
99
|
+
matchArr.forEach(key => {
|
|
100
|
+
// 没有${xxx}
|
|
101
|
+
const { find, value } = getVal(origins, key.slice(2, -1));
|
|
102
|
+
if (find) {
|
|
103
|
+
valueStr = valueStr.replace(key, `${value}`);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
result[naviData.key.toLowerCase()] = valueStr;
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// 没有${xxx}
|
|
110
|
+
const { find, value } = getVal(origins, naviData.value);
|
|
111
|
+
if (find) {
|
|
112
|
+
result[naviData.key.toLowerCase()] = value;
|
|
50
113
|
}
|
|
51
|
-
return (
|
|
52
|
-
// proxy数据判断是否能拿到值
|
|
53
|
-
item[naviData.value] ||
|
|
54
|
-
// 上下文等判断是否有这个属性,如果有且值为空,则赋该空值
|
|
55
|
-
Object.prototype.hasOwnProperty.call(item, naviData.value));
|
|
56
|
-
});
|
|
57
|
-
if (findOrigin) {
|
|
58
|
-
result[naviData.key.toLowerCase()] = findOrigin[naviData.value];
|
|
59
114
|
}
|
|
60
115
|
}
|
|
61
116
|
else {
|
|
117
|
+
// 直接值,空值时赋null
|
|
62
118
|
result[naviData.key.toLowerCase()] = naviData.value || null;
|
|
63
119
|
}
|
|
64
120
|
}
|
|
65
121
|
return result;
|
|
66
122
|
}
|
|
67
|
-
/**
|
|
68
|
-
* 通过对象 转换导航数据(如导航上下文,导航视图参数)
|
|
69
|
-
* - 把%xxx%,转换成origins元素里对应叫xxx的值
|
|
70
|
-
* - 按顺序查找origins的元素,且只要有xxx的属性就算找到,不管值是否为空。
|
|
71
|
-
* - naviData里{a:%xxx%},origins里找不到xxx则返回值里不存在a属性
|
|
72
|
-
* - naviData里非%xxx%形式的,都当成直接值原样返回,包括空值。
|
|
73
|
-
*
|
|
74
|
-
* @author lxm
|
|
75
|
-
* @date 2022-08-22 11:08:18
|
|
76
|
-
* @export
|
|
77
|
-
* @param {IData} naviData
|
|
78
|
-
* @param {...IData[]} origins
|
|
79
|
-
*/
|
|
80
|
-
export function convertNavDataByObject(naviData, ...origins) {
|
|
81
|
-
const result = {};
|
|
82
|
-
const reg = /^%(.+)%$/;
|
|
83
|
-
for (const key in naviData) {
|
|
84
|
-
if (notNilEmpty(naviData[key]) && reg.test(naviData[key])) {
|
|
85
|
-
// 获取值的属性名称
|
|
86
|
-
const valueKey = naviData[key].substring(1, naviData[key].length - 1);
|
|
87
|
-
// 找到origins里第一个有该属性的的项
|
|
88
|
-
const findOrigin = origins.find(item => {
|
|
89
|
-
return Object.prototype.hasOwnProperty.call(item, valueKey);
|
|
90
|
-
});
|
|
91
|
-
if (findOrigin) {
|
|
92
|
-
result[key.toLowerCase()] = findOrigin[valueKey];
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
result[key.toLowerCase()] = naviData[key] || null;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* 把对象格式的导航参数转换成数组格式的导航参数
|
|
103
|
-
* @author lxm
|
|
104
|
-
* @date 2023-07-10 03:33:14
|
|
105
|
-
* @export
|
|
106
|
-
* @param {IData} naviData
|
|
107
|
-
* @return {*} {IPSNavigateParam[]}
|
|
108
|
-
*/
|
|
109
|
-
export function convertObjectToNavParams(naviData) {
|
|
110
|
-
const result = [];
|
|
111
|
-
const reg = /^%(.+)%$/;
|
|
112
|
-
// eslint-disable-next-line guard-for-in
|
|
113
|
-
for (const key in naviData) {
|
|
114
|
-
let rawValue = true;
|
|
115
|
-
let value = naviData[key];
|
|
116
|
-
if (notNilEmpty(naviData[key]) && reg.test(naviData[key])) {
|
|
117
|
-
rawValue = false;
|
|
118
|
-
value = naviData[key].substring(1, naviData[key].length - 1);
|
|
119
|
-
}
|
|
120
|
-
result.push({
|
|
121
|
-
key: key.toLowerCase(),
|
|
122
|
-
rawValue,
|
|
123
|
-
value,
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
return result;
|
|
127
|
-
}
|
|
128
123
|
/**
|
|
129
124
|
* 根据导航参数把多条数据转换成单条数据,用;分隔
|
|
130
125
|
* @author lxm
|
|
@@ -83,11 +83,11 @@ export async function openDERedirectView(appView, context, params = {}, opts = {
|
|
|
83
83
|
var _a;
|
|
84
84
|
// 计算重定向视图上下文参数转换
|
|
85
85
|
const navContext = appView.appViewNavContexts || [];
|
|
86
|
-
const navContextData = convertNavData(navContext,
|
|
86
|
+
const navContextData = convertNavData(navContext, params, context);
|
|
87
87
|
context = Object.assign(context.clone(), navContextData);
|
|
88
88
|
// 计算重定向视图视图参数转换
|
|
89
89
|
const navParams = appView.appViewNavParams || [];
|
|
90
|
-
const navParamsData = convertNavData(navParams,
|
|
90
|
+
const navParamsData = convertNavData(navParams, params, context);
|
|
91
91
|
Object.assign(params, navParamsData);
|
|
92
92
|
// 重定向视图对应应用实体
|
|
93
93
|
const entityId = appView.appDataEntityId;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"author": "chitanda",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ibiz-template/core": "^0.1.
|
|
32
|
+
"@ibiz-template/core": "^0.1.24",
|
|
33
33
|
"@ibiz/model-core": "^0.0.16",
|
|
34
34
|
"@types/path-browserify": "^1.0.0",
|
|
35
35
|
"@types/qs": "^6.9.8",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"qx-util": "^0.4.8",
|
|
58
58
|
"ramda": "^0.29.0"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "bfc52e088d9eb1548c4c22cd783ec22d76499ee1"
|
|
61
61
|
}
|
|
@@ -52,8 +52,8 @@ export class AppFuncCommand {
|
|
|
52
52
|
// 导航参数转换
|
|
53
53
|
const { navigateContexts, navigateParams, appFuncType } = appFunc;
|
|
54
54
|
const _context = context.clone();
|
|
55
|
-
Object.assign(_context, convertNavData(navigateContexts,
|
|
56
|
-
const _params = convertNavData(navigateParams,
|
|
55
|
+
Object.assign(_context, convertNavData(navigateContexts, params, context));
|
|
56
|
+
const _params = convertNavData(navigateParams, params, context);
|
|
57
57
|
|
|
58
58
|
switch (appFuncType) {
|
|
59
59
|
case 'APPVIEW':
|
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
} from '../../../interface/controller';
|
|
14
14
|
import { ControllerEvent } from '../../utils';
|
|
15
15
|
import {
|
|
16
|
-
IControlProvider,
|
|
17
16
|
IDataAbilityParams,
|
|
17
|
+
IProvider,
|
|
18
18
|
IUILogicParams,
|
|
19
19
|
} from '../../../interface';
|
|
20
20
|
import { ControlLogicScheduler } from '../../../logic-scheduler';
|
|
@@ -64,12 +64,12 @@ export class ControlController<
|
|
|
64
64
|
layoutPanel?: IViewLayoutPanelController;
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
|
-
*
|
|
67
|
+
* 子适配器
|
|
68
68
|
* @author lxm
|
|
69
69
|
* @date 2023-07-19 04:14:50
|
|
70
|
-
* @type {{ [key: string]:
|
|
70
|
+
* @type {{ [key: string]: IProvider }}
|
|
71
71
|
*/
|
|
72
|
-
providers: { [key: string]:
|
|
72
|
+
providers: { [key: string]: IProvider } = {};
|
|
73
73
|
|
|
74
74
|
/**
|
|
75
75
|
* Creates an instance of ControlController.
|
|
@@ -296,6 +296,7 @@ export class ControlController<
|
|
|
296
296
|
}
|
|
297
297
|
|
|
298
298
|
if (opts?.error) {
|
|
299
|
+
ibiz.log.error(opts.error);
|
|
299
300
|
// 报错时抛错误
|
|
300
301
|
throw new NoticeError(message, duration);
|
|
301
302
|
} else {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable max-classes-per-file */
|
|
2
2
|
import { isElementSame, RuntimeError } from '@ibiz-template/core';
|
|
3
|
-
import { IMDControl } from '@ibiz/model-core';
|
|
3
|
+
import { IAppDataEntity, IMDControl } from '@ibiz/model-core';
|
|
4
4
|
import {
|
|
5
5
|
IMDControlController,
|
|
6
6
|
IMDControlEvent,
|
|
@@ -68,21 +68,52 @@ export class MDControlController<
|
|
|
68
68
|
*/
|
|
69
69
|
protected fieldIdNameMap = new Map<string, string>();
|
|
70
70
|
|
|
71
|
+
/**
|
|
72
|
+
* 当前多数据部件对应的应用实体对象
|
|
73
|
+
*
|
|
74
|
+
* @author chitanda
|
|
75
|
+
* @date 2023-09-13 17:09:32
|
|
76
|
+
* @protected
|
|
77
|
+
* @type {IAppDataEntity}
|
|
78
|
+
*/
|
|
79
|
+
protected dataEntity!: IAppDataEntity;
|
|
80
|
+
|
|
71
81
|
protected async onCreated(): Promise<void> {
|
|
72
82
|
await super.onCreated();
|
|
73
83
|
|
|
74
84
|
// 初始化实体属性id和name的映射
|
|
75
|
-
|
|
85
|
+
this.dataEntity = await ibiz.hub.getAppDataEntity(
|
|
76
86
|
this.model.appDataEntityId!,
|
|
77
87
|
);
|
|
78
|
-
dataEntity.appDEFields?.forEach(field => {
|
|
88
|
+
this.dataEntity.appDEFields?.forEach(field => {
|
|
79
89
|
this.fieldIdNameMap.set(field.id!, field.name!);
|
|
80
90
|
});
|
|
91
|
+
this.onDataChange = this.onDataChange.bind(this);
|
|
92
|
+
ibiz.mc.command.change.on(this.onDataChange);
|
|
81
93
|
|
|
82
94
|
// 设置默认排序
|
|
83
95
|
this.setSort();
|
|
84
96
|
}
|
|
85
97
|
|
|
98
|
+
protected onDestroyed(): Promise<void> {
|
|
99
|
+
ibiz.mc.command.change.off(this.onDataChange);
|
|
100
|
+
return super.onDestroyed();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 当数据放生变更时,若为当前应用实体数据。则多数据部件进行刷新
|
|
105
|
+
*
|
|
106
|
+
* @author chitanda
|
|
107
|
+
* @date 2023-09-13 17:09:04
|
|
108
|
+
* @protected
|
|
109
|
+
* @param {IData} msg
|
|
110
|
+
*/
|
|
111
|
+
protected onDataChange(msg: IData): void {
|
|
112
|
+
if (msg.data && msg.data.srfdecodename === this.dataEntity.codeName) {
|
|
113
|
+
this.refresh();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
86
117
|
/**
|
|
87
118
|
* 设置排序
|
|
88
119
|
* 无参数时设置的是默认排序。
|
|
@@ -156,13 +156,13 @@ export class EditorController<T extends IEditor = IEditor>
|
|
|
156
156
|
.model as INavigateParamContainer;
|
|
157
157
|
let selfContext = {};
|
|
158
158
|
if (navigateContexts && data) {
|
|
159
|
-
selfContext = convertNavData(navigateContexts!,
|
|
159
|
+
selfContext = convertNavData(navigateContexts!, data, params, context);
|
|
160
160
|
}
|
|
161
161
|
const _context = Object.assign(context.clone(), selfContext);
|
|
162
162
|
|
|
163
163
|
let selfParams = {};
|
|
164
164
|
if (navigateParams && data) {
|
|
165
|
-
selfParams = convertNavData(navigateParams!,
|
|
165
|
+
selfParams = convertNavData(navigateParams!, data, params, context);
|
|
166
166
|
}
|
|
167
167
|
const _params: IParams = { ...params, ...selfParams };
|
|
168
168
|
return { context: _context, params: _params };
|
|
@@ -321,7 +321,7 @@ export class ViewController<
|
|
|
321
321
|
const navContexts = this.model.appViewNavContexts;
|
|
322
322
|
let context = {};
|
|
323
323
|
if (notNilEmpty(navContexts)) {
|
|
324
|
-
context = convertNavData(navContexts!, this.
|
|
324
|
+
context = convertNavData(navContexts!, this.params, this.context);
|
|
325
325
|
}
|
|
326
326
|
Object.assign(this.context, context);
|
|
327
327
|
|
|
@@ -329,7 +329,7 @@ export class ViewController<
|
|
|
329
329
|
const navParams = this.model.appViewNavParams;
|
|
330
330
|
let params = {};
|
|
331
331
|
if (notNilEmpty(navParams)) {
|
|
332
|
-
params = convertNavData(navParams!, this.
|
|
332
|
+
params = convertNavData(navParams!, this.params, this.context);
|
|
333
333
|
}
|
|
334
334
|
Object.assign(this.params, params);
|
|
335
335
|
|