@ibiz-template/runtime 0.1.30 → 0.1.32
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 +54 -25
- package/dist/index.system.min.js +1 -1
- package/dist/index.system.min.js.map +1 -1
- package/out/constant/view-call-tag.d.ts +5 -1
- package/out/constant/view-call-tag.d.ts.map +1 -1
- package/out/constant/view-call-tag.js +4 -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 +3 -1
- package/out/controller/control/tree/tree.controller.d.ts +9 -1
- package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
- package/out/controller/control/tree/tree.controller.js +46 -25
- package/out/interface/service/code-list-item/code-list-item.d.ts +7 -0
- package/out/interface/service/code-list-item/code-list-item.d.ts.map +1 -1
- package/out/service/service/code-list/code-list.service.d.ts.map +1 -1
- package/out/service/service/code-list/code-list.service.js +1 -0
- package/out/ui-action/uiaction-util.d.ts.map +1 -1
- package/out/ui-action/uiaction-util.js +8 -1
- package/package.json +5 -5
- package/src/constant/view-call-tag.ts +4 -0
- package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts +5 -1
- package/src/controller/control/tree/tree.controller.ts +51 -24
- package/src/interface/service/code-list-item/code-list-item.ts +8 -0
- package/src/service/service/code-list/code-list.service.ts +1 -0
- package/src/ui-action/uiaction-util.ts +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view-call-tag.d.ts","sourceRoot":"","sources":["../../src/constant/view-call-tag.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,MAAM,SAAS;IACf;;OAEG;IACH,UAAU,YAAY;IACtB;;OAEG;IACH,cAAc,eAAe;
|
|
1
|
+
{"version":3,"file":"view-call-tag.d.ts","sourceRoot":"","sources":["../../src/constant/view-call-tag.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,oBAAY,WAAW;IACrB;;OAEG;IACH,MAAM,SAAS;IACf;;OAEG;IACH,UAAU,YAAY;IACtB;;OAEG;IACH,cAAc,eAAe;IAC7B;;OAEG;IACH,UAAU,aAAa;CACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grid-field-column.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAc,MAAM,0BAA0B,CAAC;AAKpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CAAC,kBAAkB,CAAC;IACrF;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAa;IAE/C;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;IAKrC;;;;;OAKG;IACI,kBAAkB,CACvB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAoBzC;;;;;;;;OAQG;IACG,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvE;;;;;;;;OAQG;IACG,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxE;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAqBnE;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"grid-field-column.controller.d.ts","sourceRoot":"","sources":["../../../../../../src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAIpE,OAAO,EAAE,YAAY,EAAc,MAAM,0BAA0B,CAAC;AAKpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,oBAAoB,CAAC,kBAAkB,CAAC;IACrF;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAExC;;;;;OAKG;IACH,QAAQ,EAAE,YAAY,GAAG,SAAS,CAAa;IAE/C;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED;;;;;;;OAOG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;OAMG;IACH,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;IAKrC;;;;;OAKG;IACI,kBAAkB,CACvB,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,OAAO,GACd;QAAE,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;IAoBzC;;;;;;;;OAQG;IACG,YAAY,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAuCvE;;;;;;;;OAQG;IACG,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxE;;;;;;OAMG;IACG,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAqBnE;;;;;;;OAOG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,GAAG,SAAS;IAqEhD;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,GAAE,OAAY,GAAG,MAAM;CAiBzC"}
|
package/out/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
import { DataTypes, ModelError } from '@ibiz-template/core';
|
|
3
3
|
import dayjs from 'dayjs';
|
|
4
|
-
import { clone } from 'ramda';
|
|
4
|
+
import { clone, isNil } from 'ramda';
|
|
5
5
|
import { OpenAppViewCommand } from '../../../../../command';
|
|
6
6
|
import { parseUserParams } from '../../../../../model';
|
|
7
7
|
import { UIActionUtil } from '../../../../../ui-action';
|
|
@@ -171,6 +171,8 @@ export class GridFieldColumnController extends GridColumnController {
|
|
|
171
171
|
return;
|
|
172
172
|
}
|
|
173
173
|
const fieldName = aggField || this.model.id;
|
|
174
|
+
// 排除属性无值的数据,不纳入统计
|
|
175
|
+
items = items.filter(item => !isNil(item[fieldName]));
|
|
174
176
|
let aggValue;
|
|
175
177
|
if (this.grid.model.aggMode === 'PAGE') {
|
|
176
178
|
switch (aggMode) {
|
|
@@ -48,6 +48,14 @@ export declare class TreeController extends MDControlController<IDETree, ITreeSt
|
|
|
48
48
|
* @memberof TreeController
|
|
49
49
|
*/
|
|
50
50
|
onTreeNodeClick(nodeData: ITreeNodeData): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* 树节点数据变更事件处理
|
|
53
|
+
* @author lxm
|
|
54
|
+
* @date 2023-09-28 01:48:05
|
|
55
|
+
* @param {ITreeNodeData} nodeData
|
|
56
|
+
* @param {boolean} isExpand true为展开,false为折叠
|
|
57
|
+
*/
|
|
58
|
+
onExpandChange(nodeData: ITreeNodeData, isExpand: boolean): void;
|
|
51
59
|
/**
|
|
52
60
|
* 树节点双击事件
|
|
53
61
|
* @author lxm
|
|
@@ -89,7 +97,7 @@ export declare class TreeController extends MDControlController<IDETree, ITreeSt
|
|
|
89
97
|
params: IParams;
|
|
90
98
|
};
|
|
91
99
|
/**
|
|
92
|
-
* 计算展开节点集合
|
|
100
|
+
* 计算展开节点集合(根据加载的子节点计算所有的展开节点标识集合)
|
|
93
101
|
* @author lxm
|
|
94
102
|
* @date 2023-08-09 05:19:36
|
|
95
103
|
* @param {ITreeNodeData[]} nodes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree/tree.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,cACX,SAAQ,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAC3D,YAAW,eAAe;IAElB,OAAO,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,YAAY,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAM;IAE1D,SAAS,CAAC,SAAS,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"tree.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree/tree.controller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,UAAU,EACV,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;;;GAQG;AACH,qBAAa,cACX,SAAQ,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAC3D,YAAW,eAAe;IAElB,OAAO,EAAE,WAAW,CAAC;IAE7B;;;;;OAKG;IACH,YAAY,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAE,CAAM;IAE1D,SAAS,CAAC,SAAS,IAAI,IAAI;cAQX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B1C;;;;;OAKG;IACG,IAAI,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAsBjE;;;;;;OAMG;IACG,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAkCrE;;;;;;OAMG;IACG,eAAe,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB7D;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAYhE;;;;;;OAMG;IACG,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7C,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI;IAWtC;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIjD;;;;;;;;OAQG;IACG,UAAU,CACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,aAAa,EACvB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC;IA6BhB;;;;;;OAMG;IACH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG;QACpD,IAAI,EAAE,KAAK,EAAE,CAAC;QACd,OAAO,EAAE,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;KACjB;IAQD;;;;;;;OAOG;IACH,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;IAgBlD;;;;;;;OAOG;IACG,mBAAmB,CACvB,QAAQ,EAAE,aAAa,GAAG,KAAK,EAC/B,aAAa,UAAQ,GACpB,OAAO,CAAC,IAAI,CAAC;CA+BjB"}
|
|
@@ -28,10 +28,12 @@ export class TreeController extends MDControlController {
|
|
|
28
28
|
super.initState();
|
|
29
29
|
// 根节点初始化
|
|
30
30
|
this.state.defaultExpandedKeys = [];
|
|
31
|
+
this.state.expandedKeys = [];
|
|
31
32
|
this.state.size = 0;
|
|
32
33
|
}
|
|
33
34
|
async onCreated() {
|
|
34
35
|
await super.onCreated();
|
|
36
|
+
this.state.expandedKeys = [...this.state.defaultExpandedKeys];
|
|
35
37
|
this.service = new TreeService(this.model);
|
|
36
38
|
await this.service.init(this.context);
|
|
37
39
|
// 初始化上下文菜单控制器
|
|
@@ -52,8 +54,18 @@ export class TreeController extends MDControlController {
|
|
|
52
54
|
*/
|
|
53
55
|
async load(args = {}) {
|
|
54
56
|
const isInitialLoad = args.isInitialLoad === true;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
+
if (isInitialLoad) {
|
|
58
|
+
await this.startLoading();
|
|
59
|
+
}
|
|
60
|
+
let nodes;
|
|
61
|
+
try {
|
|
62
|
+
nodes = await this.loadNodes();
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
if (isInitialLoad) {
|
|
66
|
+
await this.endLoading();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
57
69
|
await this.afterLoad(args, nodes);
|
|
58
70
|
this.state.isLoaded = true;
|
|
59
71
|
await this.evt.emit('onLoadSuccess', {
|
|
@@ -71,24 +83,13 @@ export class TreeController extends MDControlController {
|
|
|
71
83
|
async loadNodes(parentNode) {
|
|
72
84
|
const params = await this.getFetchParams();
|
|
73
85
|
const hasQuery = !!params.query;
|
|
74
|
-
const defaultExpandedKeys = !parentNode
|
|
75
|
-
? this.state.defaultExpandedKeys
|
|
76
|
-
: undefined;
|
|
77
86
|
// 请求服务获取子节点数据
|
|
78
|
-
await this.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
params,
|
|
85
|
-
hasQuery,
|
|
86
|
-
defaultExpandedKeys,
|
|
87
|
-
})) || [];
|
|
88
|
-
}
|
|
89
|
-
finally {
|
|
90
|
-
await this.endLoading();
|
|
91
|
-
}
|
|
87
|
+
const nodes = (await this.service.fetchChildNodes(parentNode, {
|
|
88
|
+
context: this.context.clone(),
|
|
89
|
+
params,
|
|
90
|
+
hasQuery,
|
|
91
|
+
defaultExpandedKeys: this.state.expandedKeys,
|
|
92
|
+
})) || [];
|
|
92
93
|
// 有父节点绑定到父节点数据上,无父节点替换rootNodes
|
|
93
94
|
if (parentNode) {
|
|
94
95
|
parentNode.children = nodes;
|
|
@@ -101,6 +102,7 @@ export class TreeController extends MDControlController {
|
|
|
101
102
|
recursiveIterate({ children: this.state.rootNodes }, (node) => {
|
|
102
103
|
this.state.items.push(node);
|
|
103
104
|
});
|
|
105
|
+
this.state.expandedKeys = this.calcExpandedKeys(nodes);
|
|
104
106
|
return nodes;
|
|
105
107
|
}
|
|
106
108
|
/**
|
|
@@ -131,6 +133,25 @@ export class TreeController extends MDControlController {
|
|
|
131
133
|
await this.setActive(nodeData);
|
|
132
134
|
}
|
|
133
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* 树节点数据变更事件处理
|
|
138
|
+
* @author lxm
|
|
139
|
+
* @date 2023-09-28 01:48:05
|
|
140
|
+
* @param {ITreeNodeData} nodeData
|
|
141
|
+
* @param {boolean} isExpand true为展开,false为折叠
|
|
142
|
+
*/
|
|
143
|
+
onExpandChange(nodeData, isExpand) {
|
|
144
|
+
const hasKey = this.state.expandedKeys.includes(nodeData.id);
|
|
145
|
+
if (isExpand && !hasKey) {
|
|
146
|
+
this.state.expandedKeys.push(nodeData.id);
|
|
147
|
+
}
|
|
148
|
+
else if (!isExpand && hasKey) {
|
|
149
|
+
const index = this.state.expandedKeys.indexOf(nodeData.id);
|
|
150
|
+
if (index !== -1) {
|
|
151
|
+
this.state.expandedKeys.splice(index, 1);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
134
155
|
/**
|
|
135
156
|
* 树节点双击事件
|
|
136
157
|
* @author lxm
|
|
@@ -214,7 +235,7 @@ export class TreeController extends MDControlController {
|
|
|
214
235
|
};
|
|
215
236
|
}
|
|
216
237
|
/**
|
|
217
|
-
* 计算展开节点集合
|
|
238
|
+
* 计算展开节点集合(根据加载的子节点计算所有的展开节点标识集合)
|
|
218
239
|
* @author lxm
|
|
219
240
|
* @date 2023-08-09 05:19:36
|
|
220
241
|
* @param {ITreeNodeData[]} nodes
|
|
@@ -222,17 +243,17 @@ export class TreeController extends MDControlController {
|
|
|
222
243
|
* @return {*} {string[]}
|
|
223
244
|
*/
|
|
224
245
|
calcExpandedKeys(nodes) {
|
|
225
|
-
|
|
246
|
+
// 用户操作的添加的要保留
|
|
247
|
+
let expandedKeys = [...this.state.expandedKeys];
|
|
248
|
+
// 计算加载回来的里面带的默认展开
|
|
226
249
|
recursiveIterate({ children: nodes }, (node) => {
|
|
227
250
|
var _a;
|
|
228
251
|
if ((_a = node.children) === null || _a === void 0 ? void 0 : _a.length) {
|
|
229
252
|
expandedKeys.push(node.id);
|
|
230
253
|
}
|
|
231
254
|
});
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
expandedKeys = Array.from(new Set(expandedKeys));
|
|
235
|
-
}
|
|
255
|
+
// 去重
|
|
256
|
+
expandedKeys = Array.from(new Set(expandedKeys));
|
|
236
257
|
return expandedKeys;
|
|
237
258
|
}
|
|
238
259
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-list-item.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/code-list-item/code-list-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"code-list-item.d.ts","sourceRoot":"","sources":["../../../../src/interface/service/code-list-item/code-list-item.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAE1B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-list.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/code-list/code-list.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,eAAe;IAoBd,SAAS,CAAC,QAAQ,EAAE,YAAY;IAnB5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,4BAAmC;IAEzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,oBAAoB,CAAC,CAChE;gBAEU,QAAQ,EAAE,YAAY;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAc3D;;;;;;;;OAQG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAMzC;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CACzB,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,OAAO,GACrB,QAAQ,CAAC,YAAY,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"code-list.service.d.ts","sourceRoot":"","sources":["../../../../src/service/service/code-list/code-list.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;;GAOG;AACH,qBAAa,eAAe;IAoBd,SAAS,CAAC,QAAQ,EAAE,YAAY;IAnB5C;;;;;OAKG;IACH,SAAS,CAAC,YAAY,4BAAmC;IAEzD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,oBAAoB,CAAC,CAChE;gBAEU,QAAQ,EAAE,YAAY;IAE5C;;;;;;;OAOG;IACH,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,EAAE;IAc3D;;;;;;;;OAQG;IACH,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAMzC;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;;;;;;;;OASG;IACH,SAAS,CAAC,iBAAiB,CACzB,SAAS,EAAE,SAAS,EAAE,EACtB,aAAa,EAAE,OAAO,GACrB,QAAQ,CAAC,YAAY,CAAC,EAAE;IAyB3B;;;;;;;;OAQG;cACa,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,OAAO,GAAE,OAAY,EACrB,MAAM,GAAE,OAAY,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;IAa1B;;;;;;;;;OASG;IACG,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC;CAcpC"}
|
|
@@ -99,6 +99,7 @@ export class CodeListService {
|
|
|
99
99
|
color: codeItem.color,
|
|
100
100
|
id: codeItem.codeName,
|
|
101
101
|
textCls: codeItem.textCls,
|
|
102
|
+
disableSelect: codeItem.disableSelect,
|
|
102
103
|
};
|
|
103
104
|
if ((_a = codeItem.codeItems) === null || _a === void 0 ? void 0 : _a.length) {
|
|
104
105
|
_codeItem.children = this.formatStaticItems(codeItem.codeItems, isValueNumber);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiaction-util.d.ts","sourceRoot":"","sources":["../../src/ui-action/uiaction-util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/D;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;OASG;WACU,IAAI,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"uiaction-util.d.ts","sourceRoot":"","sources":["../../src/ui-action/uiaction-util.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAI/D;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;OASG;WACU,IAAI,CACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC;IAgB3B;;;;;;;OAOG;WACU,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;CAoBjB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RuntimeError } from '@ibiz-template/core';
|
|
2
|
-
import { SysUIActionTag } from '../constant';
|
|
2
|
+
import { SysUIActionTag, ViewCallTag } from '../constant';
|
|
3
3
|
import { getUIActionById } from '../model';
|
|
4
4
|
import { getUIActionProvider } from '../register';
|
|
5
5
|
/**
|
|
@@ -26,6 +26,13 @@ export class UIActionUtil {
|
|
|
26
26
|
if (!action) {
|
|
27
27
|
throw new RuntimeError(`没找到${actionId}的界面行为模型`);
|
|
28
28
|
}
|
|
29
|
+
// 单项数据的界面行为执行前校验表单的数据,不通过则拦截
|
|
30
|
+
if (action.actionTarget === 'SINGLEDATA') {
|
|
31
|
+
const validateResult = await params.view.call(ViewCallTag.VALIDATE);
|
|
32
|
+
if (validateResult === false) {
|
|
33
|
+
return { cancel: true };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
29
36
|
const provider = await getUIActionProvider(action);
|
|
30
37
|
return provider.exec(action, params);
|
|
31
38
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibiz-template/runtime",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.32",
|
|
4
4
|
"description": "控制器包",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "out/index.js",
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"author": "chitanda",
|
|
30
30
|
"license": "MIT",
|
|
31
31
|
"devDependencies": {
|
|
32
|
-
"@ibiz-template/core": "^0.1.
|
|
32
|
+
"@ibiz-template/core": "^0.1.32",
|
|
33
33
|
"@ibiz/model-core": "^0.0.18",
|
|
34
34
|
"@types/path-browserify": "^1.0.0",
|
|
35
35
|
"@types/qs": "^6.9.8",
|
|
36
|
-
"@types/systemjs": "^6.13.
|
|
36
|
+
"@types/systemjs": "^6.13.3",
|
|
37
37
|
"async-validator": "^4.2.5",
|
|
38
38
|
"dayjs": "^1.11.10",
|
|
39
39
|
"echarts": "^5.4.3",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"path-browserify": "^1.0.1",
|
|
43
43
|
"qs": "^6.11.2",
|
|
44
44
|
"qx-util": "^0.4.8",
|
|
45
|
-
"ramda": "^0.29.
|
|
45
|
+
"ramda": "^0.29.1"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@ibiz-template/core": "^0.1.0",
|
|
@@ -57,5 +57,5 @@
|
|
|
57
57
|
"qx-util": "^0.4.8",
|
|
58
58
|
"ramda": "^0.29.0"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "594d722ab71f8c9e5fa88e685597b221c70e56e0"
|
|
61
61
|
}
|
package/src/controller/control/grid/grid-column/grid-field-column/grid-field-column.controller.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { DataTypes, ModelError } from '@ibiz-template/core';
|
|
3
3
|
import { IAppCodeList, IDEGridFieldColumn } from '@ibiz/model-core';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
5
|
-
import { clone } from 'ramda';
|
|
5
|
+
import { clone, isNil } from 'ramda';
|
|
6
6
|
import { OpenAppViewCommand } from '../../../../../command';
|
|
7
7
|
import { CodeListItem, IModalData } from '../../../../../interface';
|
|
8
8
|
import { parseUserParams } from '../../../../../model';
|
|
@@ -212,6 +212,10 @@ export class GridFieldColumnController extends GridColumnController<IDEGridField
|
|
|
212
212
|
return;
|
|
213
213
|
}
|
|
214
214
|
const fieldName = aggField || this.model.id!;
|
|
215
|
+
|
|
216
|
+
// 排除属性无值的数据,不纳入统计
|
|
217
|
+
items = items.filter(item => !isNil(item[fieldName]));
|
|
218
|
+
|
|
215
219
|
let aggValue: number;
|
|
216
220
|
if (this.grid.model.aggMode === 'PAGE') {
|
|
217
221
|
switch (aggMode) {
|
|
@@ -40,11 +40,15 @@ export class TreeController
|
|
|
40
40
|
super.initState();
|
|
41
41
|
// 根节点初始化
|
|
42
42
|
this.state.defaultExpandedKeys = [];
|
|
43
|
+
this.state.expandedKeys = [];
|
|
43
44
|
this.state.size = 0;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
protected async onCreated(): Promise<void> {
|
|
47
48
|
await super.onCreated();
|
|
49
|
+
|
|
50
|
+
this.state.expandedKeys = [...this.state.defaultExpandedKeys];
|
|
51
|
+
|
|
48
52
|
this.service = new TreeService(this.model);
|
|
49
53
|
await this.service.init(this.context);
|
|
50
54
|
|
|
@@ -74,8 +78,17 @@ export class TreeController
|
|
|
74
78
|
*/
|
|
75
79
|
async load(args: MDCtrlLoadParams = {}): Promise<ITreeNodeData[]> {
|
|
76
80
|
const isInitialLoad = args.isInitialLoad === true;
|
|
77
|
-
|
|
78
|
-
|
|
81
|
+
if (isInitialLoad) {
|
|
82
|
+
await this.startLoading();
|
|
83
|
+
}
|
|
84
|
+
let nodes;
|
|
85
|
+
try {
|
|
86
|
+
nodes = await this.loadNodes();
|
|
87
|
+
} finally {
|
|
88
|
+
if (isInitialLoad) {
|
|
89
|
+
await this.endLoading();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
79
92
|
await this.afterLoad(args, nodes);
|
|
80
93
|
this.state.isLoaded = true;
|
|
81
94
|
await this.evt.emit('onLoadSuccess', {
|
|
@@ -95,24 +108,15 @@ export class TreeController
|
|
|
95
108
|
async loadNodes(parentNode?: ITreeNodeData): Promise<ITreeNodeData[]> {
|
|
96
109
|
const params = await this.getFetchParams();
|
|
97
110
|
const hasQuery = !!params.query;
|
|
98
|
-
const defaultExpandedKeys = !parentNode
|
|
99
|
-
? this.state.defaultExpandedKeys
|
|
100
|
-
: undefined;
|
|
101
111
|
|
|
102
112
|
// 请求服务获取子节点数据
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
hasQuery,
|
|
111
|
-
defaultExpandedKeys,
|
|
112
|
-
})) || [];
|
|
113
|
-
} finally {
|
|
114
|
-
await this.endLoading();
|
|
115
|
-
}
|
|
113
|
+
const nodes =
|
|
114
|
+
(await this.service.fetchChildNodes(parentNode, {
|
|
115
|
+
context: this.context.clone(),
|
|
116
|
+
params,
|
|
117
|
+
hasQuery,
|
|
118
|
+
defaultExpandedKeys: this.state.expandedKeys,
|
|
119
|
+
})) || [];
|
|
116
120
|
|
|
117
121
|
// 有父节点绑定到父节点数据上,无父节点替换rootNodes
|
|
118
122
|
if (parentNode) {
|
|
@@ -130,6 +134,8 @@ export class TreeController
|
|
|
130
134
|
},
|
|
131
135
|
);
|
|
132
136
|
|
|
137
|
+
this.state.expandedKeys = this.calcExpandedKeys(nodes);
|
|
138
|
+
|
|
133
139
|
return nodes;
|
|
134
140
|
}
|
|
135
141
|
|
|
@@ -164,6 +170,25 @@ export class TreeController
|
|
|
164
170
|
}
|
|
165
171
|
}
|
|
166
172
|
|
|
173
|
+
/**
|
|
174
|
+
* 树节点数据变更事件处理
|
|
175
|
+
* @author lxm
|
|
176
|
+
* @date 2023-09-28 01:48:05
|
|
177
|
+
* @param {ITreeNodeData} nodeData
|
|
178
|
+
* @param {boolean} isExpand true为展开,false为折叠
|
|
179
|
+
*/
|
|
180
|
+
onExpandChange(nodeData: ITreeNodeData, isExpand: boolean): void {
|
|
181
|
+
const hasKey = this.state.expandedKeys.includes(nodeData.id);
|
|
182
|
+
if (isExpand && !hasKey) {
|
|
183
|
+
this.state.expandedKeys.push(nodeData.id);
|
|
184
|
+
} else if (!isExpand && hasKey) {
|
|
185
|
+
const index = this.state.expandedKeys.indexOf(nodeData.id);
|
|
186
|
+
if (index !== -1) {
|
|
187
|
+
this.state.expandedKeys.splice(index, 1);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
|
|
167
192
|
/**
|
|
168
193
|
* 树节点双击事件
|
|
169
194
|
* @author lxm
|
|
@@ -266,7 +291,7 @@ export class TreeController
|
|
|
266
291
|
}
|
|
267
292
|
|
|
268
293
|
/**
|
|
269
|
-
* 计算展开节点集合
|
|
294
|
+
* 计算展开节点集合(根据加载的子节点计算所有的展开节点标识集合)
|
|
270
295
|
* @author lxm
|
|
271
296
|
* @date 2023-08-09 05:19:36
|
|
272
297
|
* @param {ITreeNodeData[]} nodes
|
|
@@ -274,16 +299,18 @@ export class TreeController
|
|
|
274
299
|
* @return {*} {string[]}
|
|
275
300
|
*/
|
|
276
301
|
calcExpandedKeys(nodes: ITreeNodeData[]): string[] {
|
|
277
|
-
|
|
302
|
+
// 用户操作的添加的要保留
|
|
303
|
+
let expandedKeys: string[] = [...this.state.expandedKeys];
|
|
304
|
+
|
|
305
|
+
// 计算加载回来的里面带的默认展开
|
|
278
306
|
recursiveIterate({ children: nodes }, (node: ITreeNodeData) => {
|
|
279
307
|
if (node.children?.length) {
|
|
280
308
|
expandedKeys.push(node.id);
|
|
281
309
|
}
|
|
282
310
|
});
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
}
|
|
311
|
+
|
|
312
|
+
// 去重
|
|
313
|
+
expandedKeys = Array.from(new Set(expandedKeys));
|
|
287
314
|
return expandedKeys;
|
|
288
315
|
}
|
|
289
316
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RuntimeError } from '@ibiz-template/core';
|
|
2
|
-
import { SysUIActionTag } from '../constant';
|
|
2
|
+
import { SysUIActionTag, ViewCallTag } from '../constant';
|
|
3
3
|
import { IUILogicParams, IUIActionResult } from '../interface';
|
|
4
4
|
import { getUIActionById } from '../model';
|
|
5
5
|
import { getUIActionProvider } from '../register';
|
|
@@ -31,6 +31,13 @@ export class UIActionUtil {
|
|
|
31
31
|
if (!action) {
|
|
32
32
|
throw new RuntimeError(`没找到${actionId}的界面行为模型`);
|
|
33
33
|
}
|
|
34
|
+
// 单项数据的界面行为执行前校验表单的数据,不通过则拦截
|
|
35
|
+
if (action.actionTarget === 'SINGLEDATA') {
|
|
36
|
+
const validateResult = await params.view.call(ViewCallTag.VALIDATE);
|
|
37
|
+
if (validateResult === false) {
|
|
38
|
+
return { cancel: true };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
34
41
|
const provider = await getUIActionProvider(action);
|
|
35
42
|
return provider.exec(action, params);
|
|
36
43
|
}
|