@ibiz-template/runtime 0.7.41-alpha.113 → 0.7.41-alpha.114
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 +180 -19
- package/dist/index.system.min.js +1 -1
- package/out/config/global-config.d.ts.map +1 -1
- package/out/config/global-config.js +1 -0
- package/out/controller/common/control/md-control.controller.js +1 -1
- package/out/controller/control/form/form/form.controller.d.ts +9 -1
- package/out/controller/control/form/form/form.controller.d.ts.map +1 -1
- package/out/controller/control/form/form/form.controller.js +54 -5
- package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.d.ts.map +1 -1
- package/out/controller/control/form/form-detail/form-druipart/form-druipart.controller.js +5 -0
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +10 -2
- package/out/controller/control/md-ctrl/md-ctrl.controller.d.ts.map +1 -1
- package/out/controller/control/md-ctrl/md-ctrl.controller.js +10 -2
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts +16 -1
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.d.ts.map +1 -1
- package/out/controller/control/medit-view-panel/medit-view-panel.controller.js +31 -0
- package/out/interface/api/call/i-api-medit-view9.call.d.ts +20 -0
- package/out/interface/api/call/i-api-medit-view9.call.d.ts.map +1 -1
- package/out/interface/api/common/global-config/i-api-global-common-config.d.ts +9 -0
- package/out/interface/api/common/global-config/i-api-global-common-config.d.ts.map +1 -1
- package/out/interface/api/controller/control/i-api-medit-view-panel.controller.d.ts +9 -0
- package/out/interface/api/controller/control/i-api-medit-view-panel.controller.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-tree.state.d.ts +12 -0
- package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
- package/out/locale/en/index.d.ts +3 -0
- package/out/locale/en/index.d.ts.map +1 -1
- package/out/locale/en/index.js +3 -0
- package/out/locale/zh-CN/index.d.ts +3 -0
- package/out/locale/zh-CN/index.d.ts.map +1 -1
- package/out/locale/zh-CN/index.js +3 -0
- package/out/service/vo/tree-node-data/tree-code-list-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-code-list-node-data.js +2 -0
- package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts +14 -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 +33 -0
- package/out/service/vo/tree-node-data/tree-node-data.d.ts +16 -0
- 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 +25 -0
- package/out/service/vo/tree-node-data/tree-static-node-data.d.ts.map +1 -1
- package/out/service/vo/tree-node-data/tree-static-node-data.js +2 -0
- package/out/ui-action/provider/front-ui-action-provider.d.ts.map +1 -1
- package/out/ui-action/provider/front-ui-action-provider.js +3 -1
- package/package.json +2 -2
- package/src/config/global-config.ts +1 -0
- package/src/controller/common/control/md-control.controller.ts +1 -1
- package/src/controller/control/form/form/form.controller.ts +58 -11
- package/src/controller/control/form/form-detail/form-druipart/form-druipart.controller.ts +3 -0
- package/src/controller/control/grid/grid/grid.controller.ts +12 -2
- package/src/controller/control/md-ctrl/md-ctrl.controller.ts +12 -2
- package/src/controller/control/medit-view-panel/medit-view-panel.controller.ts +39 -1
- package/src/interface/api/call/i-api-medit-view9.call.ts +21 -0
- package/src/interface/api/common/global-config/i-api-global-common-config.ts +10 -0
- package/src/interface/api/controller/control/i-api-medit-view-panel.controller.ts +10 -0
- package/src/interface/controller/state/control/i-tree.state.ts +14 -0
- package/src/locale/en/index.ts +4 -0
- package/src/locale/zh-CN/index.ts +3 -0
- package/src/service/vo/tree-node-data/tree-code-list-node-data.ts +2 -0
- package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +35 -0
- package/src/service/vo/tree-node-data/tree-node-data.ts +33 -0
- package/src/service/vo/tree-node-data/tree-static-node-data.ts +2 -0
- package/src/ui-action/provider/front-ui-action-provider.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-data-set-node-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/tree-node-data/tree-data-set-node-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAahD;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,aAAa;IACpE,KAAK,EAAE,MAAM,CAAC;IAEd,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,KAAK,CAAC;IAEf,UAAU,EAAE,KAAK,CAAC;IAE1B;;;;OAIG;IACK,KAAK,EAAE,MAAM,mBAAmB,CAAC;gBAGvC,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;
|
|
1
|
+
{"version":3,"file":"tree-data-set-node-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/tree-node-data/tree-data-set-node-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAG3E,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAahD;;;;;;;GAOG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,aAAa;IACpE,KAAK,EAAE,MAAM,CAAC;IAEd,GAAG,EAAE,MAAM,CAAC;IAEZ,MAAM,EAAE,MAAM,CAAC;IAEf,OAAO,EAAE,KAAK,CAAC;IAEf,UAAU,EAAE,KAAK,CAAC;IAE1B;;;;OAIG;IACK,KAAK,EAAE,MAAM,mBAAmB,CAAC;gBAGvC,KAAK,EAAE,kBAAkB,EACzB,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,OAAO,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;IAqNH;;;OAGG;IACU,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE;;;;;;;OAOG;cACa,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAWvE;;;;;;;OAOG;cACa,YAAY,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAI3E,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,GAAG,SAAS;IAmBhE;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAUxD;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAU7D;;;;;;;OAOG;cACa,kBAAkB,CAChC,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAoB9B;;;;;;;OAOG;cACa,YAAY,CAC1B,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAU9B;;OAEG;IACH,SAAS,IAAI,KAAK;CAGnB"}
|
|
@@ -88,6 +88,9 @@ export class TreeDataSetNodeData extends TreeNodeData {
|
|
|
88
88
|
else if (model.childCntAppDEFieldId) {
|
|
89
89
|
this._leaf = !fieldValueToBoolean(data[model.childCntAppDEFieldId]);
|
|
90
90
|
}
|
|
91
|
+
// 计算动态样式表
|
|
92
|
+
this.calcDynaClass(model);
|
|
93
|
+
this.calcShapeDynaClass(model);
|
|
91
94
|
/** 数据项和实体属性映射 */
|
|
92
95
|
const dataItemKeyMap = new Map();
|
|
93
96
|
const dataItemDefaultMap = new Map();
|
|
@@ -274,6 +277,36 @@ export class TreeDataSetNodeData extends TreeNodeData {
|
|
|
274
277
|
}
|
|
275
278
|
return Object.values(icon).length > 0 ? icon : undefined;
|
|
276
279
|
}
|
|
280
|
+
/**
|
|
281
|
+
* @description 计算动态样式表(附加实体节点样式表属性)
|
|
282
|
+
* @protected
|
|
283
|
+
* @param {IDETreeDataSetNode} model
|
|
284
|
+
* @memberof TreeDataSetNodeData
|
|
285
|
+
*/
|
|
286
|
+
calcDynaClass(model) {
|
|
287
|
+
super.calcDynaClass(model);
|
|
288
|
+
const { clsAppDEFieldId } = model;
|
|
289
|
+
if (clsAppDEFieldId && this._deData[clsAppDEFieldId]) {
|
|
290
|
+
const fieldValue = this._deData[clsAppDEFieldId];
|
|
291
|
+
this._dynaClass || (this._dynaClass = []);
|
|
292
|
+
this._dynaClass.push(String(fieldValue));
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* @description 计算图形动态样式表(附加实体节点图形样式表属性)
|
|
297
|
+
* @protected
|
|
298
|
+
* @param {IDETreeDataSetNode} model
|
|
299
|
+
* @memberof TreeDataSetNodeData
|
|
300
|
+
*/
|
|
301
|
+
calcShapeDynaClass(model) {
|
|
302
|
+
super.calcShapeDynaClass(model);
|
|
303
|
+
const { shapeClsAppDEFieldId } = model;
|
|
304
|
+
if (shapeClsAppDEFieldId && this._deData[shapeClsAppDEFieldId]) {
|
|
305
|
+
const fieldValue = this._deData[shapeClsAppDEFieldId];
|
|
306
|
+
this._shapeDynaClass || (this._shapeDynaClass = []);
|
|
307
|
+
this._shapeDynaClass.push(String(fieldValue));
|
|
308
|
+
}
|
|
309
|
+
}
|
|
277
310
|
/**
|
|
278
311
|
* 计算节点数据项的自定义脚本内容
|
|
279
312
|
* @author lxm
|
|
@@ -34,6 +34,8 @@ export declare abstract class TreeNodeData implements ITreeNodeData {
|
|
|
34
34
|
srfcollapsestate: -1 | 0 | 1;
|
|
35
35
|
_fullContext?: IContext;
|
|
36
36
|
_fullParams?: IParams;
|
|
37
|
+
_dynaClass?: string[];
|
|
38
|
+
_shapeDynaClass?: string[];
|
|
37
39
|
constructor(model: IDETreeNode, parentNodeData: ITreeNodeData | undefined, opts: {
|
|
38
40
|
leaf: boolean;
|
|
39
41
|
defaultExpand: boolean;
|
|
@@ -57,5 +59,19 @@ export declare abstract class TreeNodeData implements ITreeNodeData {
|
|
|
57
59
|
* @memberof TreeNodeData
|
|
58
60
|
*/
|
|
59
61
|
getDiffData(): IData | undefined;
|
|
62
|
+
/**
|
|
63
|
+
* @description 计算动态样式表
|
|
64
|
+
* @protected
|
|
65
|
+
* @param {IDETreeNode} model
|
|
66
|
+
* @memberof TreeNodeData
|
|
67
|
+
*/
|
|
68
|
+
protected calcDynaClass(model: IDETreeNode): void;
|
|
69
|
+
/**
|
|
70
|
+
* @description 计算图形动态样式表
|
|
71
|
+
* @protected
|
|
72
|
+
* @param {IDETreeNode} model
|
|
73
|
+
* @memberof TreeNodeData
|
|
74
|
+
*/
|
|
75
|
+
protected calcShapeDynaClass(model: IDETreeNode): void;
|
|
60
76
|
}
|
|
61
77
|
//# sourceMappingURL=tree-node-data.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-node-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/tree-node-data/tree-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tree-node-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/tree-node-data/tree-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAG1D;;;;;;GAMG;AACH,8BAAsB,YAAa,YAAW,aAAa;IACzD,KAAK,EAAE,MAAM,CAAgB;IAE7B,SAAS,EAAE,MAAM,CAAC;IAElB,GAAG,EAAG,MAAM,CAAC;IAEb,SAAS,EAAG,MAAM,CAAC;IAEnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B,KAAK,EAAG,MAAM,CAAC;IAEf,SAAS,CAAC,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAE5B,UAAU,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAE/B,YAAY,EAAE,OAAO,CAAC;IAEtB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,OAAO,CAAS;IAEvB,cAAc,EAAE,OAAO,CAAS;IAEhC,UAAU,EAAE,OAAO,CAAS;IAE5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAElC,KAAK,CAAC,EAAE,KAAK,CAAC;IAEd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAM;IAElC,YAAY,CAAC,EAAE,QAAQ,CAAC;IAExB,WAAW,CAAC,EAAE,OAAO,CAAC;IAGtB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAGtB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;gBAGzB,KAAK,EAAE,WAAW,EAClB,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO,CAAC;QACd,aAAa,EAAE,OAAO,CAAC;QACvB,OAAO,CAAC,EAAE,QAAQ,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;IAiEH;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAChB,KAAK,EAAE,WAAW,EAClB,SAAS,CAAC,EAAE,SAAS,GACpB,KAAK,GAAG,SAAS;IA4BpB;;;;;;OAMG;IACH,WAAW,IAAI,KAAK,GAAG,SAAS;IAkBhC;;;;;OAKG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAOjD;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;CAMvD"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createUUID } from 'qx-util';
|
|
2
2
|
import { isBase64Image } from '@ibiz-template/core';
|
|
3
|
+
import { calcDynaClass } from '../../../model';
|
|
3
4
|
/**
|
|
4
5
|
* 树节点数据基类
|
|
5
6
|
*
|
|
@@ -121,4 +122,28 @@ export class TreeNodeData {
|
|
|
121
122
|
}
|
|
122
123
|
return this._deData;
|
|
123
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* @description 计算动态样式表
|
|
127
|
+
* @protected
|
|
128
|
+
* @param {IDETreeNode} model
|
|
129
|
+
* @memberof TreeNodeData
|
|
130
|
+
*/
|
|
131
|
+
calcDynaClass(model) {
|
|
132
|
+
const data = this._deData || {};
|
|
133
|
+
if (model.dynaClass) {
|
|
134
|
+
this._dynaClass = calcDynaClass(model.dynaClass, data);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* @description 计算图形动态样式表
|
|
139
|
+
* @protected
|
|
140
|
+
* @param {IDETreeNode} model
|
|
141
|
+
* @memberof TreeNodeData
|
|
142
|
+
*/
|
|
143
|
+
calcShapeDynaClass(model) {
|
|
144
|
+
const data = this._deData || {};
|
|
145
|
+
if (model.shapeDynaClass) {
|
|
146
|
+
this._shapeDynaClass = calcDynaClass(model.shapeDynaClass, data);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
124
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-static-node-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/tree-node-data/tree-static-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,aAAa;IAC3E,KAAK,EAAE,MAAM,CAAC;IAEd,GAAG,EAAG,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,KAAK,CAAC;gBAGd,KAAK,EAAE,iBAAiB,EACxB,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE;
|
|
1
|
+
{"version":3,"file":"tree-static-node-data.d.ts","sourceRoot":"","sources":["../../../../src/service/vo/tree-node-data/tree-static-node-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,kBAAmB,SAAQ,YAAa,YAAW,aAAa;IAC3E,KAAK,EAAE,MAAM,CAAC;IAEd,GAAG,EAAG,MAAM,CAAC;IAEb,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,OAAO,CAAC,EAAE,KAAK,CAAC;gBAGd,KAAK,EAAE,iBAAiB,EACxB,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,IAAI,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE;CAyC7E"}
|
|
@@ -40,5 +40,7 @@ export class TreeStaticNodeData extends TreeNodeData {
|
|
|
40
40
|
this.srfkey = ((_a = this._deData) === null || _a === void 0 ? void 0 : _a.srfkey) || this._value;
|
|
41
41
|
this.srfmajortext = ((_b = this._deData) === null || _b === void 0 ? void 0 : _b.srfmajortext) || this._text;
|
|
42
42
|
this._icon = this.calcIcon(model);
|
|
43
|
+
this.calcDynaClass(model);
|
|
44
|
+
this.calcShapeDynaClass(model);
|
|
43
45
|
}
|
|
44
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"front-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/front-ui-action-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,WAAW,EAEX,aAAa,EACb,cAAc,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAIL,cAAc,EACd,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;IACvD,UAAU,CACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IAgG3B;;;;;;;;OAQG;cACa,OAAO,CACrB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IAkC3B;;;;;;OAMG;cACa,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC;IAkEhB;;;;;;OAMG;cACa,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IA6B3B;;;;;;OAMG;cACa,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"front-ui-action-provider.d.ts","sourceRoot":"","sources":["../../../src/ui-action/provider/front-ui-action-provider.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,WAAW,EAEX,aAAa,EACb,cAAc,EACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAIL,cAAc,EACd,eAAe,EAEhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAKjE;;;;;;GAMG;AACH,qBAAa,qBAAsB,SAAQ,oBAAoB;IACvD,UAAU,CACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IAgG3B;;;;;;;;OAQG;cACa,OAAO,CACrB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IAkC3B;;;;;;OAMG;cACa,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC;IAkEhB;;;;;;OAMG;cACa,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IA6B3B;;;;;;OAMG;cACa,iBAAiB,CAC/B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC;IA4EhB;;;;;;;;OAQG;cACa,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IA+D3B;;;;;;;;OAQG;cACa,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;IAuD3B;;;;;;;;OAQG;IACH,SAAS,CAAC,kBAAkB,CAC1B,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,WAAW,CAAC,EAAE,aAAa,GAC1B,WAAW,GAAG,SAAS;IAc1B;;;;;;;;OAQG;cACa,UAAU,CACxB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,eAAe,CAAC;CA0B5B"}
|
|
@@ -240,7 +240,9 @@ export class FrontUIActionProvider extends UIActionProviderBase {
|
|
|
240
240
|
Object.assign(queryParam, { srfdatatype: resultContext.srfdatatype });
|
|
241
241
|
}
|
|
242
242
|
// 参数
|
|
243
|
-
const params = Object.assign(Object.assign({ page: 0, size: appDEDataExport.maxRowCount
|
|
243
|
+
const params = Object.assign(Object.assign({ page: 0, size: appDEDataExport.maxRowCount
|
|
244
|
+
? appDEDataExport.maxRowCount
|
|
245
|
+
: ibiz.config.common.maxExportRowsDefault }, args.params), resultParams);
|
|
244
246
|
// 异步导出时只发消息不下载
|
|
245
247
|
if (isAsyncAction) {
|
|
246
248
|
const app = await ibiz.hub.getAppAsync(action.appId);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.7.41-alpha.
|
|
3
|
+
"version": "0.7.41-alpha.114",
|
|
4
4
|
"description": "运行时逻辑库",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -70,5 +70,5 @@
|
|
|
70
70
|
"qx-util": "^0.4.8",
|
|
71
71
|
"ramda": "^0.29.0"
|
|
72
72
|
},
|
|
73
|
-
"gitHead": "
|
|
73
|
+
"gitHead": "bb921e3d86b25ee998088e744d6d47fb5fedc45c"
|
|
74
74
|
}
|
|
@@ -890,7 +890,7 @@ export class MDControlController<
|
|
|
890
890
|
// 'DataExport',
|
|
891
891
|
// {
|
|
892
892
|
// dismiss: (result: unknown) => popover.dismiss(result),
|
|
893
|
-
// maxRowCount: dataExport.maxRowCount ||
|
|
893
|
+
// maxRowCount: dataExport.maxRowCount || ibiz.config.common.maxExportRowsDefault,
|
|
894
894
|
// pageSize: this.state.size,
|
|
895
895
|
// },
|
|
896
896
|
// { autoClose: true, placement: 'bottom-end' },
|
|
@@ -562,12 +562,19 @@ export abstract class FormController<
|
|
|
562
562
|
* @returns {*} {Promise<boolean>}
|
|
563
563
|
*/
|
|
564
564
|
async validate(): Promise<boolean> {
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
565
|
+
const details = [
|
|
566
|
+
...this.formItems,
|
|
567
|
+
...this.formMDCtrls,
|
|
568
|
+
...this.formDruipart,
|
|
569
|
+
];
|
|
570
|
+
const values = await Promise.all(details.map(detail => detail.validate()));
|
|
571
|
+
const result = values.findIndex(value => !value) === -1;
|
|
572
|
+
if (!result) {
|
|
573
|
+
// 收集校验失败的成员并输出错误日志
|
|
574
|
+
const failedDetails = details.filter((_, index) => !values[index]);
|
|
575
|
+
this.logValidateFail(failedDetails);
|
|
576
|
+
}
|
|
577
|
+
return result;
|
|
571
578
|
}
|
|
572
579
|
|
|
573
580
|
/**
|
|
@@ -605,14 +612,47 @@ export abstract class FormController<
|
|
|
605
612
|
* @memberof FormController
|
|
606
613
|
*/
|
|
607
614
|
async silentValidate(): Promise<boolean> {
|
|
615
|
+
const details = [
|
|
616
|
+
...this.formItems,
|
|
617
|
+
...this.formMDCtrls,
|
|
618
|
+
...this.formDruipart,
|
|
619
|
+
];
|
|
608
620
|
const values = await Promise.all(
|
|
609
|
-
|
|
610
|
-
formItem => formItem.silentValidate(),
|
|
611
|
-
),
|
|
621
|
+
details.map(detail => detail.silentValidate()),
|
|
612
622
|
);
|
|
613
623
|
|
|
614
624
|
// 找不到value为false即全部是true
|
|
615
|
-
|
|
625
|
+
const result = values.findIndex(value => !value) === -1;
|
|
626
|
+
if (!result) {
|
|
627
|
+
// 收集校验失败的成员并输出错误日志
|
|
628
|
+
const failedDetails = details.filter((_, index) => !values[index]);
|
|
629
|
+
this.logValidateFail(failedDetails);
|
|
630
|
+
}
|
|
631
|
+
return result;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* 输出校验失败的错误日志
|
|
636
|
+
* @description 收集校验失败的表单成员名称,通过 ibiz.log.error 输出。名称使用表单成员标识
|
|
637
|
+
* @protected
|
|
638
|
+
* @param {FormDetailController[]} failedDetails 校验失败的表单成员集合
|
|
639
|
+
* @memberof FormController
|
|
640
|
+
*/
|
|
641
|
+
protected logValidateFail(failedDetails: FormDetailController[]): void {
|
|
642
|
+
const separator = ibiz.i18n.t(
|
|
643
|
+
'runtime.controller.control.form.validateFailSeparator',
|
|
644
|
+
);
|
|
645
|
+
const names = failedDetails
|
|
646
|
+
.map(detail => detail.model.id || '')
|
|
647
|
+
.filter(name => !!name);
|
|
648
|
+
if (names.length === 0) {
|
|
649
|
+
return;
|
|
650
|
+
}
|
|
651
|
+
ibiz.log.error(
|
|
652
|
+
ibiz.i18n.t('runtime.controller.control.form.validateFail', {
|
|
653
|
+
names: names.join(separator),
|
|
654
|
+
}),
|
|
655
|
+
);
|
|
616
656
|
}
|
|
617
657
|
|
|
618
658
|
/**
|
|
@@ -710,7 +750,14 @@ export abstract class FormController<
|
|
|
710
750
|
* @memberof FormController
|
|
711
751
|
*/
|
|
712
752
|
setDetailError(name: string, message: string): void {
|
|
713
|
-
|
|
753
|
+
let detail: IFormDetailController | undefined = this.details[name];
|
|
754
|
+
// 界面表单项标识和属性标识可能不一致,尝试通过属性标识找下表单项,后台返回错误信息是以属性标识返回
|
|
755
|
+
if (!detail) {
|
|
756
|
+
detail = Object.values(this.details).find((item: IData) => {
|
|
757
|
+
const fieldId = item?.model?.appDEFieldId;
|
|
758
|
+
return !!fieldId && fieldId === name;
|
|
759
|
+
});
|
|
760
|
+
}
|
|
714
761
|
const state = detail?.state as FormItemState;
|
|
715
762
|
if (state) {
|
|
716
763
|
state.error = message;
|
|
@@ -129,6 +129,9 @@ export class FormDRUIPartController
|
|
|
129
129
|
if (this.isNeedSyncEmbed && this.embedView && this.embedDataService) {
|
|
130
130
|
await this.saveEmbedViewData();
|
|
131
131
|
await this.SyncEmbedDataToForm();
|
|
132
|
+
} else if (this.model.needSave && this.embedView) {
|
|
133
|
+
// 常规子视图保存
|
|
134
|
+
await this.embedView?.call(SysUIActionTag.SAVE);
|
|
132
135
|
}
|
|
133
136
|
});
|
|
134
137
|
}
|
|
@@ -1780,7 +1780,12 @@ export class GridController<
|
|
|
1780
1780
|
offset: (startPage! - 1) * size,
|
|
1781
1781
|
size: (endPage! - startPage! + 1) * size,
|
|
1782
1782
|
}
|
|
1783
|
-
: {
|
|
1783
|
+
: {
|
|
1784
|
+
size:
|
|
1785
|
+
this.dataExport?.maxRowCount ||
|
|
1786
|
+
ibiz.config.common.maxExportRowsDefault,
|
|
1787
|
+
page: 0,
|
|
1788
|
+
};
|
|
1784
1789
|
data = await this.loadData({ viewParam });
|
|
1785
1790
|
} else if (type === 'selectedRows') {
|
|
1786
1791
|
data = this.getData();
|
|
@@ -1829,7 +1834,12 @@ export class GridController<
|
|
|
1829
1834
|
offset: (startPage! - 1) * size,
|
|
1830
1835
|
size: (endPage! - startPage! + 1) * size,
|
|
1831
1836
|
}
|
|
1832
|
-
: {
|
|
1837
|
+
: {
|
|
1838
|
+
size:
|
|
1839
|
+
this.dataExport?.maxRowCount ||
|
|
1840
|
+
ibiz.config.common.maxExportRowsDefault,
|
|
1841
|
+
page: 0,
|
|
1842
|
+
};
|
|
1833
1843
|
}
|
|
1834
1844
|
Object.assign(fetchParams, tempParams);
|
|
1835
1845
|
// 执行导出
|
|
@@ -685,7 +685,12 @@ export class MDCtrlController
|
|
|
685
685
|
offset: (startPage - 1) * size,
|
|
686
686
|
size: (endPage - startPage + 1) * size,
|
|
687
687
|
}
|
|
688
|
-
: {
|
|
688
|
+
: {
|
|
689
|
+
size:
|
|
690
|
+
this.dataExport?.maxRowCount ||
|
|
691
|
+
ibiz.config.common.maxExportRowsDefault,
|
|
692
|
+
page: 0,
|
|
693
|
+
};
|
|
689
694
|
data = await this.loadData({ viewParam });
|
|
690
695
|
} else if (type === 'selectedRows') {
|
|
691
696
|
data = this.getData();
|
|
@@ -786,7 +791,12 @@ export class MDCtrlController
|
|
|
786
791
|
offset: (startPage - 1) * size,
|
|
787
792
|
size: (endPage - startPage + 1) * size,
|
|
788
793
|
}
|
|
789
|
-
: {
|
|
794
|
+
: {
|
|
795
|
+
size:
|
|
796
|
+
this.dataExport?.maxRowCount ||
|
|
797
|
+
ibiz.config.common.maxExportRowsDefault,
|
|
798
|
+
page: 0,
|
|
799
|
+
};
|
|
790
800
|
}
|
|
791
801
|
Object.assign(fetchParams, tempParams);
|
|
792
802
|
// 执行导出
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* eslint-disable no-shadow */
|
|
2
|
-
import { RuntimeError } from '@ibiz-template/core';
|
|
2
|
+
import { IApiData, IPortalMessage, RuntimeError } from '@ibiz-template/core';
|
|
3
3
|
import { IDEMultiEditViewPanel } from '@ibiz/model-core';
|
|
4
4
|
import { createUUID } from 'qx-util';
|
|
5
5
|
import {
|
|
@@ -11,10 +11,12 @@ import {
|
|
|
11
11
|
DataChangeEvent,
|
|
12
12
|
EventBase,
|
|
13
13
|
IViewController,
|
|
14
|
+
IApiFormSaveParams,
|
|
14
15
|
} from '../../../interface';
|
|
15
16
|
import { ControlVO } from '../../../service';
|
|
16
17
|
import { MDControlController } from '../../common';
|
|
17
18
|
import { MEditViewPanelService } from './medit-view-panel.service';
|
|
19
|
+
import { SysUIActionTag } from '../../../constant';
|
|
18
20
|
|
|
19
21
|
/**
|
|
20
22
|
* 多编辑视图面板部件控制器
|
|
@@ -328,4 +330,40 @@ export class MEditViewPanelController
|
|
|
328
330
|
getActiveView(): IViewController | undefined {
|
|
329
331
|
return this.embedViews.get(this.state.activeTab);
|
|
330
332
|
}
|
|
333
|
+
|
|
334
|
+
/**
|
|
335
|
+
* @description 检测实体数据变更,子视图数据变更不应该触发列表加载
|
|
336
|
+
* @protected
|
|
337
|
+
* @param {IPortalMessage} _msg
|
|
338
|
+
* @memberof MEditViewPanelController
|
|
339
|
+
*/
|
|
340
|
+
protected onDEDataChange(_msg: IPortalMessage): void {
|
|
341
|
+
ibiz.log.debug(
|
|
342
|
+
ibiz.i18n.t('runtime.controller.control.meditViewPanel.ignoreDataChange'),
|
|
343
|
+
);
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* @description 保存数据
|
|
348
|
+
* @param {IApiFormSaveParams} [args]
|
|
349
|
+
* @returns {*} {Promise<IApiData[]>}
|
|
350
|
+
* @memberof MEditViewPanelController
|
|
351
|
+
*/
|
|
352
|
+
async save(args: IApiFormSaveParams = { silent: true }): Promise<IApiData[]> {
|
|
353
|
+
if (this.state.panelUiItems.length === 0) {
|
|
354
|
+
return [];
|
|
355
|
+
}
|
|
356
|
+
const allViews = this.state.panelUiItems.map(item => {
|
|
357
|
+
return this.embedViews.get(item.id);
|
|
358
|
+
});
|
|
359
|
+
if (allViews.length === 0) {
|
|
360
|
+
return [];
|
|
361
|
+
}
|
|
362
|
+
const result = await Promise.all(
|
|
363
|
+
allViews.map(async view => {
|
|
364
|
+
return view?.call(SysUIActionTag.SAVE, args);
|
|
365
|
+
}),
|
|
366
|
+
);
|
|
367
|
+
return result.flatMap(r => r?.data ?? []);
|
|
368
|
+
}
|
|
331
369
|
}
|
|
@@ -27,4 +27,25 @@ export interface IApiMEditView9Call extends Omit<IApiMDViewCall, 'New'> {
|
|
|
27
27
|
Refresh: {
|
|
28
28
|
args: undefined;
|
|
29
29
|
};
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @description 保存
|
|
33
|
+
* @type {{
|
|
34
|
+
* args: undefined;
|
|
35
|
+
* }}
|
|
36
|
+
* @memberof IApiMEditView9Call
|
|
37
|
+
*/
|
|
38
|
+
Save: {
|
|
39
|
+
args: undefined;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* @description 保存并关闭
|
|
43
|
+
* @type {{
|
|
44
|
+
* args: undefined;
|
|
45
|
+
* }}
|
|
46
|
+
* @memberof IApiMEditView9Call
|
|
47
|
+
*/
|
|
48
|
+
SaveAndExit: {
|
|
49
|
+
args: undefined;
|
|
50
|
+
};
|
|
30
51
|
}
|
|
@@ -241,4 +241,14 @@ export interface IApiGlobalCommonConfig {
|
|
|
241
241
|
* @memberof IApiGlobalCommonConfig
|
|
242
242
|
*/
|
|
243
243
|
enhancedUI: boolean;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* @description 导出最大行数默认值
|
|
247
|
+
* @type {number}
|
|
248
|
+
* @default 1000
|
|
249
|
+
* @platform web
|
|
250
|
+
* @platform mob
|
|
251
|
+
* @memberof IApiGlobalCommonConfig
|
|
252
|
+
*/
|
|
253
|
+
maxExportRowsDefault: number;
|
|
244
254
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { IDEMultiEditViewPanel } from '@ibiz/model-core';
|
|
2
|
+
import { IApiData } from '@ibiz-template/core';
|
|
2
3
|
import { IApiMEditViewPanelState, IApiPanelUiItem } from '../../state';
|
|
3
4
|
import { IApiMDControlController } from './i-api-md-control.controller';
|
|
4
5
|
import { IApiViewController } from '../view';
|
|
6
|
+
import { IApiFormSaveParams } from './i-api-edit-form.controller';
|
|
5
7
|
|
|
6
8
|
/**
|
|
7
9
|
* 多编辑视图面板
|
|
@@ -45,4 +47,12 @@ export interface IApiMEditViewPanelController<
|
|
|
45
47
|
* @memberof IApiMEditViewPanelController
|
|
46
48
|
*/
|
|
47
49
|
getActiveView(): IApiViewController | undefined;
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* @description 保存表单数据
|
|
53
|
+
* @param {IApiFormSaveParams} [args] 保存参数
|
|
54
|
+
* @returns {*} {Promise<IApiData[]>}
|
|
55
|
+
* @memberof IApiMEditViewPanelController
|
|
56
|
+
*/
|
|
57
|
+
save(args?: IApiFormSaveParams): Promise<IApiData[]>;
|
|
48
58
|
}
|
|
@@ -101,6 +101,20 @@ export interface ITreeNodeData extends IApiTreeNodeData {
|
|
|
101
101
|
*/
|
|
102
102
|
_parentValue?: string | undefined;
|
|
103
103
|
|
|
104
|
+
/**
|
|
105
|
+
* @description 动态样式表
|
|
106
|
+
* @type {string[]}
|
|
107
|
+
* @memberof ITreeNodeData
|
|
108
|
+
*/
|
|
109
|
+
_dynaClass?: string[];
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* @description 图形动态样式表
|
|
113
|
+
* @type {string[]}
|
|
114
|
+
* @memberof ITreeNodeData
|
|
115
|
+
*/
|
|
116
|
+
_shapeDynaClass?: string[];
|
|
117
|
+
|
|
104
118
|
/**
|
|
105
119
|
* @description 获取改变数据
|
|
106
120
|
* @returns {*} {(IData | undefined)}
|
package/src/locale/en/index.ts
CHANGED
|
@@ -120,6 +120,9 @@ export const en = {
|
|
|
120
120
|
},
|
|
121
121
|
form: {
|
|
122
122
|
formCompletion: 'Please check the form completion!',
|
|
123
|
+
validateFail:
|
|
124
|
+
'Form validation failed, failed fields include: {names}',
|
|
125
|
+
validateFailSeparator: ', ',
|
|
123
126
|
savedSuccessfully: '{srfmajortext}Saved successfully!',
|
|
124
127
|
prompt: 'prompt',
|
|
125
128
|
deletion: 'Confirm deletion?',
|
|
@@ -197,6 +200,7 @@ export const en = {
|
|
|
197
200
|
meditViewPanel: {
|
|
198
201
|
DraftNew: 'Draft - New',
|
|
199
202
|
dataExist: 'Edit View Panel widget UI data does not exist',
|
|
203
|
+
ignoreDataChange: 'Ignore data changes in the multi-edit panel',
|
|
200
204
|
},
|
|
201
205
|
panel: {
|
|
202
206
|
panelData: 'Panel data not captured',
|
|
@@ -103,6 +103,8 @@ export const zhCn = {
|
|
|
103
103
|
},
|
|
104
104
|
form: {
|
|
105
105
|
formCompletion: '请检查表单填写!',
|
|
106
|
+
validateFail: '表单校验失败,失败表单成员包含: {names}',
|
|
107
|
+
validateFailSeparator: '、',
|
|
106
108
|
savedSuccessfully: '{srfmajortext}保存成功',
|
|
107
109
|
prompt: '提示',
|
|
108
110
|
deletion: '确认删除吗?',
|
|
@@ -163,6 +165,7 @@ export const zhCn = {
|
|
|
163
165
|
meditViewPanel: {
|
|
164
166
|
DraftNew: '草稿--新建',
|
|
165
167
|
dataExist: '编辑视图面板部件UI数据不存在',
|
|
168
|
+
ignoreDataChange: '多编辑面板忽略数据变更',
|
|
166
169
|
},
|
|
167
170
|
panel: {
|
|
168
171
|
panelData: '未获取到面板数据',
|
|
@@ -66,6 +66,8 @@ export class TreeCodeListNodeData
|
|
|
66
66
|
this.srfkey = this._value;
|
|
67
67
|
this.srfmajortext = this._text;
|
|
68
68
|
this._icon = this.calcIcon(model, data.sysImage);
|
|
69
|
+
this.calcDynaClass(model);
|
|
70
|
+
this.calcShapeDynaClass(model);
|
|
69
71
|
|
|
70
72
|
const getDeKey = (key: string | symbol): string | symbol | undefined => {
|
|
71
73
|
// deData属性上可枚举的属性,返回该属性名称
|
|
@@ -124,6 +124,9 @@ export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
|
124
124
|
} else if (model.childCntAppDEFieldId) {
|
|
125
125
|
this._leaf = !fieldValueToBoolean(data[model.childCntAppDEFieldId]);
|
|
126
126
|
}
|
|
127
|
+
// 计算动态样式表
|
|
128
|
+
this.calcDynaClass(model);
|
|
129
|
+
this.calcShapeDynaClass(model);
|
|
127
130
|
|
|
128
131
|
/** 数据项和实体属性映射 */
|
|
129
132
|
const dataItemKeyMap = new Map<string | symbol, string | symbol>();
|
|
@@ -324,6 +327,38 @@ export class TreeDataSetNodeData extends TreeNodeData implements ITreeNodeData {
|
|
|
324
327
|
return Object.values(icon).length > 0 ? icon : undefined;
|
|
325
328
|
}
|
|
326
329
|
|
|
330
|
+
/**
|
|
331
|
+
* @description 计算动态样式表(附加实体节点样式表属性)
|
|
332
|
+
* @protected
|
|
333
|
+
* @param {IDETreeDataSetNode} model
|
|
334
|
+
* @memberof TreeDataSetNodeData
|
|
335
|
+
*/
|
|
336
|
+
protected calcDynaClass(model: IDETreeDataSetNode): void {
|
|
337
|
+
super.calcDynaClass(model);
|
|
338
|
+
const { clsAppDEFieldId } = model;
|
|
339
|
+
if (clsAppDEFieldId && this._deData[clsAppDEFieldId]) {
|
|
340
|
+
const fieldValue = this._deData[clsAppDEFieldId];
|
|
341
|
+
this._dynaClass ||= [];
|
|
342
|
+
this._dynaClass.push(String(fieldValue));
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
/**
|
|
347
|
+
* @description 计算图形动态样式表(附加实体节点图形样式表属性)
|
|
348
|
+
* @protected
|
|
349
|
+
* @param {IDETreeDataSetNode} model
|
|
350
|
+
* @memberof TreeDataSetNodeData
|
|
351
|
+
*/
|
|
352
|
+
protected calcShapeDynaClass(model: IDETreeDataSetNode): void {
|
|
353
|
+
super.calcShapeDynaClass(model);
|
|
354
|
+
const { shapeClsAppDEFieldId } = model;
|
|
355
|
+
if (shapeClsAppDEFieldId && this._deData[shapeClsAppDEFieldId]) {
|
|
356
|
+
const fieldValue = this._deData[shapeClsAppDEFieldId];
|
|
357
|
+
this._shapeDynaClass ||= [];
|
|
358
|
+
this._shapeDynaClass.push(String(fieldValue));
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
327
362
|
/**
|
|
328
363
|
* 计算节点数据项的自定义脚本内容
|
|
329
364
|
* @author lxm
|
|
@@ -2,6 +2,7 @@ import { IDETreeNode, ISysImage } from '@ibiz/model-core';
|
|
|
2
2
|
import { createUUID } from 'qx-util';
|
|
3
3
|
import { isBase64Image } from '@ibiz-template/core';
|
|
4
4
|
import { IIcon, ITreeNodeData } from '../../../interface';
|
|
5
|
+
import { calcDynaClass } from '../../../model';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* 树节点数据基类
|
|
@@ -63,6 +64,12 @@ export abstract class TreeNodeData implements ITreeNodeData {
|
|
|
63
64
|
|
|
64
65
|
_fullParams?: IParams;
|
|
65
66
|
|
|
67
|
+
// 动态样式表
|
|
68
|
+
_dynaClass?: string[];
|
|
69
|
+
|
|
70
|
+
// 图形动态样式表
|
|
71
|
+
_shapeDynaClass?: string[];
|
|
72
|
+
|
|
66
73
|
constructor(
|
|
67
74
|
model: IDETreeNode,
|
|
68
75
|
parentNodeData: ITreeNodeData | undefined,
|
|
@@ -199,4 +206,30 @@ export abstract class TreeNodeData implements ITreeNodeData {
|
|
|
199
206
|
}
|
|
200
207
|
return this._deData;
|
|
201
208
|
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* @description 计算动态样式表
|
|
212
|
+
* @protected
|
|
213
|
+
* @param {IDETreeNode} model
|
|
214
|
+
* @memberof TreeNodeData
|
|
215
|
+
*/
|
|
216
|
+
protected calcDynaClass(model: IDETreeNode): void {
|
|
217
|
+
const data = this._deData || {};
|
|
218
|
+
if (model.dynaClass) {
|
|
219
|
+
this._dynaClass = calcDynaClass(model.dynaClass, data);
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* @description 计算图形动态样式表
|
|
225
|
+
* @protected
|
|
226
|
+
* @param {IDETreeNode} model
|
|
227
|
+
* @memberof TreeNodeData
|
|
228
|
+
*/
|
|
229
|
+
protected calcShapeDynaClass(model: IDETreeNode): void {
|
|
230
|
+
const data = this._deData || {};
|
|
231
|
+
if (model.shapeDynaClass) {
|
|
232
|
+
this._shapeDynaClass = calcDynaClass(model.shapeDynaClass, data);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
202
235
|
}
|