@ibiz-template/runtime 0.4.17-dev.0 → 0.4.17-dev.1
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 +696 -267
- package/dist/index.system.min.js +2 -2
- package/out/controller/control/grid/grid/grid-column.controller.d.ts +2 -1
- package/out/controller/control/grid/grid/grid-column.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.d.ts +17 -1
- package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
- package/out/controller/control/grid/grid/grid.controller.js +32 -0
- package/out/controller/control/search-bar/search-bar.controller.d.ts +59 -2
- package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
- package/out/controller/control/search-bar/search-bar.controller.js +142 -9
- package/out/controller/control/search-bar/search-bar.service.d.ts +78 -0
- package/out/controller/control/search-bar/search-bar.service.d.ts.map +1 -0
- package/out/controller/control/search-bar/search-bar.service.js +130 -0
- package/out/controller/control/tree/tree.controller.d.ts +27 -1
- package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
- package/out/controller/control/tree/tree.controller.js +45 -7
- package/out/controller/control/tree/tree.service.d.ts +1 -1
- package/out/controller/control/tree/tree.service.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/index.d.ts +2 -0
- package/out/controller/control/tree-grid-ex/index.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/index.js +2 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts +4 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.js +3 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.d.ts +93 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.js +89 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.d.ts +13 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.js +11 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.d.ts +31 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.js +61 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts +26 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts.map +1 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.js +26 -0
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts +48 -46
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +85 -115
- package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts +8 -58
- package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts.map +1 -1
- package/out/controller/control/tree-grid-ex/tree-grid-ex.service.js +5 -135
- package/out/interface/controller/controller/control/i-grid.controller.d.ts +8 -0
- package/out/interface/controller/controller/control/i-grid.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts +7 -7
- package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/i-tree.controller.d.ts +1 -1
- package/out/interface/controller/controller/control/i-tree.controller.d.ts.map +1 -1
- package/out/interface/controller/controller/control/index.d.ts +1 -0
- package/out/interface/controller/controller/control/index.d.ts.map +1 -1
- package/out/interface/controller/controller/control/index.js +1 -0
- package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.d.ts +12 -0
- package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.d.ts.map +1 -0
- package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.js +1 -0
- package/out/interface/controller/controller/control/tree-grid-ex-column/index.d.ts +2 -0
- package/out/interface/controller/controller/control/tree-grid-ex-column/index.d.ts.map +1 -0
- package/out/interface/controller/controller/control/tree-grid-ex-column/index.js +1 -0
- package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts +2 -2
- package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-search-bar.state.d.ts +64 -0
- package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts +31 -23
- package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts.map +1 -1
- package/out/interface/controller/state/control/i-tree.state.d.ts +8 -1
- package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
- package/out/interface/provider/i-tree-grid-ex-column.provider.d.ts +31 -0
- package/out/interface/provider/i-tree-grid-ex-column.provider.d.ts.map +1 -0
- package/out/interface/provider/i-tree-grid-ex-column.provider.js +1 -0
- package/out/interface/provider/index.d.ts +1 -0
- package/out/interface/provider/index.d.ts.map +1 -1
- package/out/register/helper/index.d.ts +1 -0
- package/out/register/helper/index.d.ts.map +1 -1
- package/out/register/helper/index.js +1 -0
- package/out/register/helper/tree-grid-ex-column-register.d.ts +23 -0
- package/out/register/helper/tree-grid-ex-column-register.d.ts.map +1 -0
- package/out/register/helper/tree-grid-ex-column-register.js +50 -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 +51 -0
- package/out/service/vo/tree-node-data/tree-node-data.d.ts +2 -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 +1 -0
- package/package.json +3 -3
- package/src/controller/control/grid/grid/grid-column.controller.ts +4 -1
- package/src/controller/control/grid/grid/grid.controller.ts +34 -0
- package/src/controller/control/search-bar/search-bar.controller.ts +178 -10
- package/src/controller/control/search-bar/search-bar.service.ts +161 -0
- package/src/controller/control/tree/tree.controller.ts +58 -11
- package/src/controller/control/tree/tree.service.ts +3 -1
- package/src/controller/control/tree-grid-ex/index.ts +2 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/index.ts +3 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.ts +121 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.controller.ts +13 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller.ts +76 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex-row.state.ts +37 -0
- package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +116 -140
- package/src/controller/control/tree-grid-ex/tree-grid-ex.service.ts +10 -165
- package/src/interface/controller/controller/control/i-grid.controller.ts +9 -0
- package/src/interface/controller/controller/control/i-tree-grid-ex.controller.ts +11 -12
- package/src/interface/controller/controller/control/i-tree.controller.ts +5 -2
- package/src/interface/controller/controller/control/index.ts +1 -0
- package/src/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.ts +12 -0
- package/src/interface/controller/controller/control/tree-grid-ex-column/index.ts +1 -0
- package/src/interface/controller/event/control/i-tree-grid-ex.event.ts +2 -2
- package/src/interface/controller/state/control/i-search-bar.state.ts +73 -0
- package/src/interface/controller/state/control/i-tree-grid-ex.state.ts +27 -24
- package/src/interface/controller/state/control/i-tree.state.ts +9 -1
- package/src/interface/provider/i-tree-grid-ex-column.provider.ts +39 -0
- package/src/interface/provider/index.ts +1 -0
- package/src/register/helper/index.ts +1 -0
- package/src/register/helper/tree-grid-ex-column-register.ts +67 -0
- package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +53 -0
- package/src/service/vo/tree-node-data/tree-node-data.ts +6 -0
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
getChildNodeRSs,
|
|
27
27
|
getUIActionItemsByActionLevel,
|
|
28
28
|
} from '../../../model';
|
|
29
|
+
import { ControllerEvent } from '../../utils';
|
|
29
30
|
|
|
30
31
|
export type DropNodeRS = {
|
|
31
32
|
minorEntityId: string;
|
|
@@ -42,12 +43,20 @@ export type DropNodeRS = {
|
|
|
42
43
|
* @extends {MDControlController<IDETree, ITreeState, ITreeEvent>}
|
|
43
44
|
* @implements {ITreeController}
|
|
44
45
|
*/
|
|
45
|
-
export class TreeController
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
export class TreeController<
|
|
47
|
+
T extends IDETree = IDETree,
|
|
48
|
+
S extends ITreeState = ITreeState,
|
|
49
|
+
E extends ITreeEvent = ITreeEvent,
|
|
50
|
+
>
|
|
51
|
+
extends MDControlController<T, S, E>
|
|
52
|
+
implements ITreeController<T, S, E>
|
|
48
53
|
{
|
|
49
54
|
declare service: TreeService;
|
|
50
55
|
|
|
56
|
+
protected get _evt(): ControllerEvent<ITreeEvent> {
|
|
57
|
+
return this.evt;
|
|
58
|
+
}
|
|
59
|
+
|
|
51
60
|
/**
|
|
52
61
|
* 上下文菜单控制器
|
|
53
62
|
* @author lxm
|
|
@@ -124,8 +133,7 @@ export class TreeController
|
|
|
124
133
|
this.initDropNodeRss();
|
|
125
134
|
this.initNodeClickTBUIActionItem();
|
|
126
135
|
|
|
127
|
-
this.
|
|
128
|
-
await this.service.init(this.context);
|
|
136
|
+
await this.initService();
|
|
129
137
|
|
|
130
138
|
// 初始化上下文菜单控制器
|
|
131
139
|
this.model.detreeNodes!.forEach(node => {
|
|
@@ -145,6 +153,18 @@ export class TreeController
|
|
|
145
153
|
);
|
|
146
154
|
}
|
|
147
155
|
|
|
156
|
+
/**
|
|
157
|
+
* 初始化对应类型的部件服务
|
|
158
|
+
* @author lxm
|
|
159
|
+
* @date 2023-12-21 11:25:33
|
|
160
|
+
* @protected
|
|
161
|
+
* @return {*} {Promise<void>}
|
|
162
|
+
*/
|
|
163
|
+
protected async initService(): Promise<void> {
|
|
164
|
+
this.service = new TreeService(this.model);
|
|
165
|
+
await this.service.init(this.context);
|
|
166
|
+
}
|
|
167
|
+
|
|
148
168
|
/**
|
|
149
169
|
* 初始化节点拖入关系处理
|
|
150
170
|
* @author lxm
|
|
@@ -218,7 +238,7 @@ export class TreeController
|
|
|
218
238
|
}
|
|
219
239
|
await this.afterLoad(args, nodes);
|
|
220
240
|
this.state.isLoaded = true;
|
|
221
|
-
await this.
|
|
241
|
+
await this._evt.emit('onLoadSuccess', {
|
|
222
242
|
isInitialLoad,
|
|
223
243
|
});
|
|
224
244
|
|
|
@@ -267,6 +287,19 @@ export class TreeController
|
|
|
267
287
|
this.state.rootNodes = nodes;
|
|
268
288
|
}
|
|
269
289
|
|
|
290
|
+
await this.afterLoadNodes(nodes);
|
|
291
|
+
|
|
292
|
+
return nodes;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* loadNodes加载完子数据之后的处理
|
|
297
|
+
* @author lxm
|
|
298
|
+
* @date 2023-12-22 02:37:50
|
|
299
|
+
* @param {ITreeNodeData[]} nodes 加载回来的子数据
|
|
300
|
+
* @return {*} {Promise<void>}
|
|
301
|
+
*/
|
|
302
|
+
async afterLoadNodes(nodes: ITreeNodeData[]): Promise<void> {
|
|
270
303
|
// 更新items
|
|
271
304
|
this.state.items = [];
|
|
272
305
|
recursiveIterate(
|
|
@@ -276,9 +309,8 @@ export class TreeController
|
|
|
276
309
|
},
|
|
277
310
|
);
|
|
278
311
|
|
|
312
|
+
// 重新计算展开节点标识
|
|
279
313
|
this.state.expandedKeys = this.calcExpandedKeys(nodes);
|
|
280
|
-
|
|
281
|
-
return nodes;
|
|
282
314
|
}
|
|
283
315
|
|
|
284
316
|
/**
|
|
@@ -363,7 +395,7 @@ export class TreeController
|
|
|
363
395
|
|
|
364
396
|
setActive(item: ITreeNodeData): Promise<void> {
|
|
365
397
|
const nodeParams = this.parseTreeNodeData(item);
|
|
366
|
-
return this.
|
|
398
|
+
return this._evt.emit('onActive', { ...nodeParams, nodeData: item });
|
|
367
399
|
}
|
|
368
400
|
|
|
369
401
|
setSelection(selection: IData[]): void {
|
|
@@ -388,6 +420,21 @@ export class TreeController
|
|
|
388
420
|
return this.model.detreeNodes?.find(item => item.id === id);
|
|
389
421
|
}
|
|
390
422
|
|
|
423
|
+
/**
|
|
424
|
+
* 通过标识获取节点数据
|
|
425
|
+
* @author lxm
|
|
426
|
+
* @date 2023-12-22 02:21:38
|
|
427
|
+
* @param {string} id 可以是节点id也可以是_uuid
|
|
428
|
+
* @return {*} {(ITreeNodeData | undefined)}
|
|
429
|
+
*/
|
|
430
|
+
getNodeData(key: string): ITreeNodeData | undefined {
|
|
431
|
+
const find = this.state.items.find(item => item.id === key);
|
|
432
|
+
if (find) {
|
|
433
|
+
return find;
|
|
434
|
+
}
|
|
435
|
+
return this.state.items.find(item => item._uuid === key);
|
|
436
|
+
}
|
|
437
|
+
|
|
391
438
|
/**
|
|
392
439
|
* 执行界面行为
|
|
393
440
|
*
|
|
@@ -517,7 +564,7 @@ export class TreeController
|
|
|
517
564
|
const targetNode = refreshParent ? currentNode.parent! : currentNode;
|
|
518
565
|
|
|
519
566
|
const nodes = await this.loadNodes(targetNode);
|
|
520
|
-
this.
|
|
567
|
+
this._evt.emit('onAfterRefreshParent', {
|
|
521
568
|
parentNode: targetNode,
|
|
522
569
|
children: nodes,
|
|
523
570
|
});
|
|
@@ -761,7 +808,7 @@ export class TreeController
|
|
|
761
808
|
await this.updateDeNodeData(modifiedNodeDatas);
|
|
762
809
|
|
|
763
810
|
// *通知界面修改移入的父节点的子节点数据
|
|
764
|
-
this.
|
|
811
|
+
this._evt.emit('onAfterNodeDrop', { isChangedParent });
|
|
765
812
|
}
|
|
766
813
|
|
|
767
814
|
/**
|
|
@@ -69,7 +69,9 @@ export interface TreeFetchOpts {
|
|
|
69
69
|
* @class GridService
|
|
70
70
|
* @extends {MDControlService<IDETree>}
|
|
71
71
|
*/
|
|
72
|
-
export class TreeService
|
|
72
|
+
export class TreeService<
|
|
73
|
+
T extends IDETree = IDETree,
|
|
74
|
+
> extends MDControlService<T> {
|
|
73
75
|
/**
|
|
74
76
|
* 获取子节点数据
|
|
75
77
|
*
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { TreeGridExColumnController } from './tree-grid-ex-column/tree-grid-ex-column.controller';
|
|
2
|
+
export { TreeGridExFieldColumnController } from './tree-grid-ex-field-column/tree-grid-ex-field-column.controller';
|
|
3
|
+
export { TreeGridExUAColumnController } from './tree-grid-ex-ua-column/tree-grid-ex-ua-column.controller';
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { IDETreeColumn } from '@ibiz/model-core';
|
|
2
|
+
import { TreeGridExController } from '../../tree-grid-ex.controller';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 树表格(增强)列控制器
|
|
6
|
+
* @author lxm
|
|
7
|
+
* @date 2023-12-21 02:03:28
|
|
8
|
+
* @export
|
|
9
|
+
* @class TreeGridExColumnController
|
|
10
|
+
* @template T
|
|
11
|
+
*/
|
|
12
|
+
export class TreeGridExColumnController<
|
|
13
|
+
T extends IDETreeColumn = IDETreeColumn,
|
|
14
|
+
> {
|
|
15
|
+
/**
|
|
16
|
+
* 树表格(增强)列模型对象
|
|
17
|
+
*
|
|
18
|
+
* @author lxm
|
|
19
|
+
* @date 2022-09-05 19:09:07
|
|
20
|
+
* @type {T}
|
|
21
|
+
*/
|
|
22
|
+
readonly model: T;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 树表格(增强)控制器
|
|
26
|
+
*
|
|
27
|
+
* @author lxm
|
|
28
|
+
* @date 2022-08-24 22:08:59
|
|
29
|
+
* @type {GridController}
|
|
30
|
+
*/
|
|
31
|
+
readonly treeGrid: TreeGridExController;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 是否是自适应列
|
|
35
|
+
* @author lxm
|
|
36
|
+
* @date 2023-07-07 11:20:16
|
|
37
|
+
* @type {boolean}
|
|
38
|
+
*/
|
|
39
|
+
isAdaptiveColumn: boolean = false;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 是否是脚本代码
|
|
43
|
+
* @return {*}
|
|
44
|
+
* @author: zhujiamin
|
|
45
|
+
* @Date: 2023-08-15 10:51:25
|
|
46
|
+
*/
|
|
47
|
+
isCustomCode: boolean = false;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 上下文
|
|
51
|
+
*
|
|
52
|
+
* @author lxm
|
|
53
|
+
* @date 2022-09-05 19:09:24
|
|
54
|
+
* @readonly
|
|
55
|
+
* @type {IContext}
|
|
56
|
+
*/
|
|
57
|
+
get context(): IContext {
|
|
58
|
+
return this.treeGrid.context;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 视图参数
|
|
63
|
+
*
|
|
64
|
+
* @author lxm
|
|
65
|
+
* @date 2022-09-05 19:09:00
|
|
66
|
+
* @readonly
|
|
67
|
+
* @type {IParams}
|
|
68
|
+
*/
|
|
69
|
+
get params(): IParams {
|
|
70
|
+
return this.treeGrid.params;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* 是否是第一个显示的树表格列
|
|
75
|
+
* @author lxm
|
|
76
|
+
* @date 2023-12-22 03:28:10
|
|
77
|
+
* @readonly
|
|
78
|
+
* @type {boolean}
|
|
79
|
+
*/
|
|
80
|
+
get isFirstShowColumn(): boolean {
|
|
81
|
+
const firstColumn = this.treeGrid.state.columnStates.find(
|
|
82
|
+
item => !item.hidden,
|
|
83
|
+
);
|
|
84
|
+
return firstColumn?.key === this.model.codeName;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Creates an instance of GridFieldColumnController.
|
|
89
|
+
* @author lxm
|
|
90
|
+
* @date 2022-08-24 20:08:22
|
|
91
|
+
* @param {T} model
|
|
92
|
+
*/
|
|
93
|
+
constructor(model: T, treeGrid: TreeGridExController) {
|
|
94
|
+
this.model = model;
|
|
95
|
+
this.treeGrid = treeGrid;
|
|
96
|
+
this.isAdaptiveColumn = model.widthUnit === 'STAR';
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* 子类不可覆盖或重写此方法,在 init 时需要重写的使用 onInit 方法。
|
|
101
|
+
*
|
|
102
|
+
* @author lxm
|
|
103
|
+
* @date 2022-08-18 22:08:30
|
|
104
|
+
* @returns {*} {Promise<void>}
|
|
105
|
+
*/
|
|
106
|
+
async init(): Promise<void> {
|
|
107
|
+
await this.onInit();
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* 初始化方法
|
|
112
|
+
*
|
|
113
|
+
* @author lxm
|
|
114
|
+
* @date 2022-09-28 15:09:15
|
|
115
|
+
* @protected
|
|
116
|
+
* @returns {*} {Promise<void>}
|
|
117
|
+
*/
|
|
118
|
+
protected async onInit(): Promise<void> {
|
|
119
|
+
// 初始化操作
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
import { IDETreeDEFColumn } from '@ibiz/model-core';
|
|
3
|
+
import { TreeGridExColumnController } from '../tree-grid-ex-column/tree-grid-ex-column.controller';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 树表格(增强)属性列控制器
|
|
7
|
+
* @author lxm
|
|
8
|
+
* @date 2023-12-21 02:02:36
|
|
9
|
+
* @export
|
|
10
|
+
* @class TreeGridExFieldColumnController
|
|
11
|
+
* @extends {TreeGridExColumnController<IDETreeDEFColumn>}
|
|
12
|
+
*/
|
|
13
|
+
export class TreeGridExFieldColumnController extends TreeGridExColumnController<IDETreeDEFColumn> {}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* eslint-disable no-param-reassign */
|
|
2
|
+
import { RuntimeModelError } from '@ibiz-template/core';
|
|
3
|
+
import { IDETreeUAColumn, IUIActionGroupDetail } from '@ibiz/model-core';
|
|
4
|
+
import { UIActionUtil } from '../../../../../ui-action';
|
|
5
|
+
import { ButtonContainerState, UIActionButtonState } from '../../../../utils';
|
|
6
|
+
import { TreeGridExColumnController } from '../tree-grid-ex-column/tree-grid-ex-column.controller';
|
|
7
|
+
import { ITreeGridExRowState } from '../../../../../interface';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 树表格(增强)操作列控制器
|
|
11
|
+
* @author lxm
|
|
12
|
+
* @date 2023-12-21 02:04:05
|
|
13
|
+
* @export
|
|
14
|
+
* @class TreeGridExUAColumnController
|
|
15
|
+
* @extends {TreeGridExColumnController<IDETreeUAColumn>}
|
|
16
|
+
*/
|
|
17
|
+
export class TreeGridExUAColumnController extends TreeGridExColumnController<IDETreeUAColumn> {
|
|
18
|
+
/**
|
|
19
|
+
* 给rowController初始化操作列的状态
|
|
20
|
+
*
|
|
21
|
+
* @author lxm
|
|
22
|
+
* @date 2022-09-07 21:09:43
|
|
23
|
+
* @param {ITreeGridExRowState} row
|
|
24
|
+
*/
|
|
25
|
+
initActionStates(row: ITreeGridExRowState): void {
|
|
26
|
+
// 操作列按钮状态控制
|
|
27
|
+
const { deuiactionGroup } = this.model;
|
|
28
|
+
if (!deuiactionGroup) {
|
|
29
|
+
throw new RuntimeModelError(this.model, '操作列没有配置界面行为组');
|
|
30
|
+
}
|
|
31
|
+
if (!deuiactionGroup.uiactionGroupDetails?.length) {
|
|
32
|
+
ibiz.log.debug('操作列界面行为组没有配置界面行为');
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const containerState = new ButtonContainerState();
|
|
36
|
+
deuiactionGroup.uiactionGroupDetails.forEach(detail => {
|
|
37
|
+
const actionid = detail.uiactionId;
|
|
38
|
+
if (actionid) {
|
|
39
|
+
const buttonState = new UIActionButtonState(
|
|
40
|
+
detail.id!,
|
|
41
|
+
this.treeGrid.context.srfappid!,
|
|
42
|
+
actionid,
|
|
43
|
+
);
|
|
44
|
+
containerState.addState(detail.id!, buttonState);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
row.uaColStates[this.model.codeName!] = containerState;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 触发操作列点击事件
|
|
52
|
+
*
|
|
53
|
+
* @author lxm
|
|
54
|
+
* @date 2022-09-07 22:09:46
|
|
55
|
+
* @param {IPSUIActionGroupDetail} detail
|
|
56
|
+
* @param {MouseEvent} event
|
|
57
|
+
*/
|
|
58
|
+
async onActionClick(
|
|
59
|
+
detail: IUIActionGroupDetail,
|
|
60
|
+
row: ITreeGridExRowState,
|
|
61
|
+
event: MouseEvent,
|
|
62
|
+
): Promise<void> {
|
|
63
|
+
const actionId = detail.uiactionId;
|
|
64
|
+
await UIActionUtil.execAndResolved(
|
|
65
|
+
actionId!,
|
|
66
|
+
{
|
|
67
|
+
context: this.context,
|
|
68
|
+
params: this.params,
|
|
69
|
+
data: [row.data],
|
|
70
|
+
view: this.treeGrid.view,
|
|
71
|
+
event,
|
|
72
|
+
},
|
|
73
|
+
detail.appId,
|
|
74
|
+
);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IButtonContainerState,
|
|
3
|
+
ITreeGridExRowState,
|
|
4
|
+
ITreeNodeData,
|
|
5
|
+
} from '../../../interface';
|
|
6
|
+
import { TreeGridExController } from './tree-grid-ex.controller';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* 树表格(增强)行数据状态类
|
|
10
|
+
*
|
|
11
|
+
* @author lxm
|
|
12
|
+
* @date 2023-12-22 10:39:01
|
|
13
|
+
* @export
|
|
14
|
+
* @class TreeGridExRowState
|
|
15
|
+
* @implements {ITreeGridExRowState}
|
|
16
|
+
*/
|
|
17
|
+
export class TreeGridExRowState implements ITreeGridExRowState {
|
|
18
|
+
data: ITreeNodeData;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 操作列状态(p是操作列的标识)
|
|
22
|
+
*
|
|
23
|
+
* @author lxm
|
|
24
|
+
* @date 2022-09-07 22:09:38
|
|
25
|
+
* @type {({ [p: string]: IButtonContainerState })}
|
|
26
|
+
*/
|
|
27
|
+
uaColStates: { [p: string]: IButtonContainerState } = {};
|
|
28
|
+
|
|
29
|
+
constructor(data: ITreeNodeData, treeGrid: TreeGridExController) {
|
|
30
|
+
this.data = data;
|
|
31
|
+
|
|
32
|
+
// 初始化操作列状态
|
|
33
|
+
Object.values(treeGrid.uaColumns).forEach(column => {
|
|
34
|
+
column.initActionStates(this);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
}
|