@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.
Files changed (112) hide show
  1. package/dist/index.esm.js +696 -267
  2. package/dist/index.system.min.js +2 -2
  3. package/out/controller/control/grid/grid/grid-column.controller.d.ts +2 -1
  4. package/out/controller/control/grid/grid/grid-column.controller.d.ts.map +1 -1
  5. package/out/controller/control/grid/grid/grid.controller.d.ts +17 -1
  6. package/out/controller/control/grid/grid/grid.controller.d.ts.map +1 -1
  7. package/out/controller/control/grid/grid/grid.controller.js +32 -0
  8. package/out/controller/control/search-bar/search-bar.controller.d.ts +59 -2
  9. package/out/controller/control/search-bar/search-bar.controller.d.ts.map +1 -1
  10. package/out/controller/control/search-bar/search-bar.controller.js +142 -9
  11. package/out/controller/control/search-bar/search-bar.service.d.ts +78 -0
  12. package/out/controller/control/search-bar/search-bar.service.d.ts.map +1 -0
  13. package/out/controller/control/search-bar/search-bar.service.js +130 -0
  14. package/out/controller/control/tree/tree.controller.d.ts +27 -1
  15. package/out/controller/control/tree/tree.controller.d.ts.map +1 -1
  16. package/out/controller/control/tree/tree.controller.js +45 -7
  17. package/out/controller/control/tree/tree.service.d.ts +1 -1
  18. package/out/controller/control/tree/tree.service.d.ts.map +1 -1
  19. package/out/controller/control/tree-grid-ex/index.d.ts +2 -0
  20. package/out/controller/control/tree-grid-ex/index.d.ts.map +1 -1
  21. package/out/controller/control/tree-grid-ex/index.js +2 -0
  22. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts +4 -0
  23. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.d.ts.map +1 -0
  24. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/index.js +3 -0
  25. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.d.ts +93 -0
  26. 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
  27. package/out/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.js +89 -0
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts +26 -0
  35. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.d.ts.map +1 -0
  36. package/out/controller/control/tree-grid-ex/tree-grid-ex-row.state.js +26 -0
  37. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts +48 -46
  38. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.d.ts.map +1 -1
  39. package/out/controller/control/tree-grid-ex/tree-grid-ex.controller.js +85 -115
  40. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts +8 -58
  41. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.d.ts.map +1 -1
  42. package/out/controller/control/tree-grid-ex/tree-grid-ex.service.js +5 -135
  43. package/out/interface/controller/controller/control/i-grid.controller.d.ts +8 -0
  44. package/out/interface/controller/controller/control/i-grid.controller.d.ts.map +1 -1
  45. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts +7 -7
  46. package/out/interface/controller/controller/control/i-tree-grid-ex.controller.d.ts.map +1 -1
  47. package/out/interface/controller/controller/control/i-tree.controller.d.ts +1 -1
  48. package/out/interface/controller/controller/control/i-tree.controller.d.ts.map +1 -1
  49. package/out/interface/controller/controller/control/index.d.ts +1 -0
  50. package/out/interface/controller/controller/control/index.d.ts.map +1 -1
  51. package/out/interface/controller/controller/control/index.js +1 -0
  52. package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.d.ts +12 -0
  53. package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.d.ts.map +1 -0
  54. package/out/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.js +1 -0
  55. package/out/interface/controller/controller/control/tree-grid-ex-column/index.d.ts +2 -0
  56. package/out/interface/controller/controller/control/tree-grid-ex-column/index.d.ts.map +1 -0
  57. package/out/interface/controller/controller/control/tree-grid-ex-column/index.js +1 -0
  58. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts +2 -2
  59. package/out/interface/controller/event/control/i-tree-grid-ex.event.d.ts.map +1 -1
  60. package/out/interface/controller/state/control/i-search-bar.state.d.ts +64 -0
  61. package/out/interface/controller/state/control/i-search-bar.state.d.ts.map +1 -1
  62. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts +31 -23
  63. package/out/interface/controller/state/control/i-tree-grid-ex.state.d.ts.map +1 -1
  64. package/out/interface/controller/state/control/i-tree.state.d.ts +8 -1
  65. package/out/interface/controller/state/control/i-tree.state.d.ts.map +1 -1
  66. package/out/interface/provider/i-tree-grid-ex-column.provider.d.ts +31 -0
  67. package/out/interface/provider/i-tree-grid-ex-column.provider.d.ts.map +1 -0
  68. package/out/interface/provider/i-tree-grid-ex-column.provider.js +1 -0
  69. package/out/interface/provider/index.d.ts +1 -0
  70. package/out/interface/provider/index.d.ts.map +1 -1
  71. package/out/register/helper/index.d.ts +1 -0
  72. package/out/register/helper/index.d.ts.map +1 -1
  73. package/out/register/helper/index.js +1 -0
  74. package/out/register/helper/tree-grid-ex-column-register.d.ts +23 -0
  75. package/out/register/helper/tree-grid-ex-column-register.d.ts.map +1 -0
  76. package/out/register/helper/tree-grid-ex-column-register.js +50 -0
  77. package/out/service/vo/tree-node-data/tree-data-set-node-data.d.ts.map +1 -1
  78. package/out/service/vo/tree-node-data/tree-data-set-node-data.js +51 -0
  79. package/out/service/vo/tree-node-data/tree-node-data.d.ts +2 -0
  80. package/out/service/vo/tree-node-data/tree-node-data.d.ts.map +1 -1
  81. package/out/service/vo/tree-node-data/tree-node-data.js +1 -0
  82. package/package.json +3 -3
  83. package/src/controller/control/grid/grid/grid-column.controller.ts +4 -1
  84. package/src/controller/control/grid/grid/grid.controller.ts +34 -0
  85. package/src/controller/control/search-bar/search-bar.controller.ts +178 -10
  86. package/src/controller/control/search-bar/search-bar.service.ts +161 -0
  87. package/src/controller/control/tree/tree.controller.ts +58 -11
  88. package/src/controller/control/tree/tree.service.ts +3 -1
  89. package/src/controller/control/tree-grid-ex/index.ts +2 -0
  90. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/index.ts +3 -0
  91. package/src/controller/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-column/tree-grid-ex-column.controller.ts +121 -0
  92. 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
  93. 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
  94. package/src/controller/control/tree-grid-ex/tree-grid-ex-row.state.ts +37 -0
  95. package/src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts +116 -140
  96. package/src/controller/control/tree-grid-ex/tree-grid-ex.service.ts +10 -165
  97. package/src/interface/controller/controller/control/i-grid.controller.ts +9 -0
  98. package/src/interface/controller/controller/control/i-tree-grid-ex.controller.ts +11 -12
  99. package/src/interface/controller/controller/control/i-tree.controller.ts +5 -2
  100. package/src/interface/controller/controller/control/index.ts +1 -0
  101. package/src/interface/controller/controller/control/tree-grid-ex-column/i-tree-grid-ex-column.controller.ts +12 -0
  102. package/src/interface/controller/controller/control/tree-grid-ex-column/index.ts +1 -0
  103. package/src/interface/controller/event/control/i-tree-grid-ex.event.ts +2 -2
  104. package/src/interface/controller/state/control/i-search-bar.state.ts +73 -0
  105. package/src/interface/controller/state/control/i-tree-grid-ex.state.ts +27 -24
  106. package/src/interface/controller/state/control/i-tree.state.ts +9 -1
  107. package/src/interface/provider/i-tree-grid-ex-column.provider.ts +39 -0
  108. package/src/interface/provider/index.ts +1 -0
  109. package/src/register/helper/index.ts +1 -0
  110. package/src/register/helper/tree-grid-ex-column-register.ts +67 -0
  111. package/src/service/vo/tree-node-data/tree-data-set-node-data.ts +53 -0
  112. package/src/service/vo/tree-node-data/tree-node-data.ts +6 -0
@@ -1,10 +1,10 @@
1
- import { IDETree, IDETreeColumn } from '@ibiz/model-core';
2
- import { MDCtrlLoadParams, ITreeNodeData, ITreeGridExController, IGridColumnProvider, ITreeGridExState, ITreeGridExEvent } from '../../../interface';
3
- import { MDControlController } from '../../common';
4
- import { GridColumnController, GridFieldColumnController, GridUAColumnController } from '../grid';
1
+ import { IDETreeColumn, IDETreeGridEx } from '@ibiz/model-core';
2
+ import { ITreeGridExController, ITreeGridExState, ITreeGridExEvent, ITreeGridExColumnProvider, ITreeGridExRowState, ITreeNodeData } from '../../../interface';
5
3
  import { TreeGridExService } from './tree-grid-ex.service';
4
+ import { TreeController } from '../tree/tree.controller';
5
+ import { TreeGridExColumnController, TreeGridExFieldColumnController, TreeGridExUAColumnController } from './tree-grid-ex-column';
6
6
  /**
7
- * 树表格部件控制器
7
+ * 树表格(增强)部件控制器
8
8
  *
9
9
  * @author zk
10
10
  * @date 2023-09-21 06:09:46
@@ -13,56 +13,72 @@ import { TreeGridExService } from './tree-grid-ex.service';
13
13
  * @extends {MDControlController<IDETree, ITreeGridState, ITreeGridEvent>}
14
14
  * @implements {ITreeGridExController}
15
15
  */
16
- export declare class TreeGridExController extends MDControlController<IDETree, ITreeGridExState, ITreeGridExEvent> implements ITreeGridExController {
16
+ export declare class TreeGridExController<T extends IDETreeGridEx = IDETreeGridEx, S extends ITreeGridExState = ITreeGridExState, E extends ITreeGridExEvent = ITreeGridExEvent> extends TreeController<T, S, E> implements ITreeGridExController<T, S, E> {
17
17
  service: TreeGridExService;
18
18
  /**
19
- * 表格列的适配器
19
+ * 树表格(增强)列的适配器
20
20
  *
21
21
  * @author zk
22
22
  * @date 2023-09-21 06:09:04
23
- * @type {{ [key: string]: IGridColumnProvider }}
23
+ * @type {{ [key: string]: ITreeGridExColumnProvider }}
24
24
  * @memberof TreeGridExController
25
25
  */
26
26
  providers: {
27
- [key: string]: IGridColumnProvider;
27
+ [key: string]: ITreeGridExColumnProvider;
28
28
  };
29
29
  /**
30
- * 所有表格列控制器集合
30
+ * 所有树表格(增强)列控制器集合
31
31
  *
32
32
  * @author zk
33
33
  * @date 2023-09-21 06:09:10
34
- * @type {{ [key: string]: GridColumnController }}
34
+ * @type {{ [key: string]: TreeGridExColumnController }}
35
35
  * @memberof TreeGridExController
36
36
  */
37
37
  columns: {
38
- [key: string]: GridColumnController;
38
+ [key: string]: TreeGridExColumnController;
39
39
  };
40
40
  /**
41
- * 所有表格属性列的控制器
41
+ * 所有树表格(增强)属性列的控制器
42
42
  *
43
43
  * @author zk
44
44
  * @date 2023-09-21 06:09:16
45
- * @type {{ [key: string]: GridFieldColumnController }}
45
+ * @type {{ [key: string]: TreeGridExFieldColumnController }}
46
46
  * @memberof TreeGridExController
47
47
  */
48
48
  fieldColumns: {
49
- [key: string]: GridFieldColumnController;
49
+ [key: string]: TreeGridExFieldColumnController;
50
50
  };
51
51
  /**
52
- * 所有表格操作列的控制器
52
+ * 所有树表格(增强)操作列的控制器
53
53
  *
54
54
  * @author zk
55
55
  * @date 2023-09-21 06:09:21
56
- * @type {{ [key: string]: GridUAColumnController }}
56
+ * @type {{ [key: string]: TreeGridExUAColumnController }}
57
57
  * @memberof TreeGridExController
58
58
  */
59
59
  uaColumns: {
60
- [key: string]: GridUAColumnController;
60
+ [key: string]: TreeGridExUAColumnController;
61
61
  };
62
+ /**
63
+ * 是否有配置宽度自适应列
64
+ *
65
+ * @type {boolean}
66
+ * @memberof GridController
67
+ */
68
+ get hasAdaptiveColumn(): boolean;
69
+ /**
70
+ * 单元格超出呈现模式
71
+ * @author lxm
72
+ * @date 2023-11-17 01:56:26
73
+ * @readonly
74
+ * @type {('wrap' | 'ellipsis')}
75
+ */
76
+ get overflowMode(): 'wrap' | 'ellipsis';
62
77
  protected initState(): void;
63
78
  protected onCreated(): Promise<void>;
79
+ protected initService(): Promise<void>;
64
80
  /**
65
- * 初始化表格属性列,操作列,编辑项控制器
81
+ * 初始化树表格(增强)属性列,操作列,编辑项控制器
66
82
  *
67
83
  * @author zk
68
84
  * @date 2023-09-21 06:09:28
@@ -72,7 +88,7 @@ export declare class TreeGridExController extends MDControlController<IDETree, I
72
88
  */
73
89
  protected initGridColumns(): Promise<void>;
74
90
  /**
75
- * 初始化表格属性列,操作列,编辑项控制器
91
+ * 初始化树表格(增强)属性列,操作列,编辑项控制器
76
92
  *
77
93
  * @author zk
78
94
  * @date 2023-09-21 06:09:37
@@ -83,7 +99,7 @@ export declare class TreeGridExController extends MDControlController<IDETree, I
83
99
  */
84
100
  protected initColumnsController(column: IDETreeColumn): Promise<void>;
85
101
  /**
86
- * 初始化表格列状态
102
+ * 初始化树表格(增强)列状态
87
103
  *
88
104
  * @author zk
89
105
  * @date 2023-09-21 06:09:43
@@ -101,34 +117,20 @@ export declare class TreeGridExController extends MDControlController<IDETree, I
101
117
  */
102
118
  protected calcColumnFixed(): void;
103
119
  /**
104
- * 树部件加载,从根节点开始重新加载
105
- *
106
- * @author zk
107
- * @date 2023-09-21 06:09:56
108
- * @param {MDCtrlLoadParams} [args={}]
109
- * @return {*} {Promise<ITreeNodeData[]>}
110
- * @memberof TreeGridExController
111
- */
112
- load(args?: MDCtrlLoadParams): Promise<ITreeNodeData[]>;
113
- /**
114
- * 加载子节点数据
115
- *
116
- * @author zk
117
- * @date 2023-09-21 06:09:02
118
- * @param {ITreeNodeData} [parentNode]
119
- * @return {*} {Promise<ITreeNodeData[]>}
120
- * @memberof TreeGridExController
120
+ * 获取树表格行数据
121
+ * @author lxm
122
+ * @date 2023-12-22 02:23:44
123
+ * @param {string} key 可以是节点id也可以是_uuid
124
+ * @return {*} {(ITreeGridExRowState | undefined)}
121
125
  */
122
- loadNodes(parentNode?: ITreeNodeData): Promise<ITreeNodeData[]>;
126
+ getRowState(key: string): ITreeGridExRowState | undefined;
127
+ afterLoadNodes(nodes: ITreeNodeData[]): Promise<void>;
123
128
  /**
124
- * 计算展开节点集合
129
+ * 转换各类多语言
125
130
  *
126
- * @author zk
127
- * @date 2023-09-21 06:09:07
128
- * @param {ITreeNodeData[]} nodes
129
- * @return {*} {string[]}
130
- * @memberof TreeGridExController
131
+ * @date 2023-05-18 02:57:00
132
+ * @protected
131
133
  */
132
- protected calcExpandedKeys(nodes: ITreeNodeData[]): string[];
134
+ protected convertMultipleLanguages(): void;
133
135
  }
134
136
  //# sourceMappingURL=tree-grid-ex.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-grid-ex.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;;GASG;AACH,qBAAa,oBACX,SAAQ,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,CACvE,YAAW,qBAAqB;IAExB,OAAO,EAAE,iBAAiB,CAAC;IAEnC;;;;;;;OAOG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAE,CAAM;IAEvD;;;;;;;OAOG;IACH,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAM;IAEtD;;;;;;;OAOG;IACH,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAAE,CAAM;IAEhE;;;;;;;OAOG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;KAAE,CAAM;IAE1D,SAAS,CAAC,SAAS,IAAI,IAAI;cAQX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1C;;;;;;;;OAQG;cACa,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAUhD;;;;;;;;;OASG;cACa,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3E;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAkBlC;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAcjC;;;;;;;;OAQG;IACG,IAAI,CAAC,IAAI,GAAE,gBAAqB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAajE;;;;;;;;OAQG;IACG,SAAS,CAAC,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyCrE;;;;;;;;OAQG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;CAa7D"}
1
+ {"version":3,"file":"tree-grid-ex.controller.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree-grid-ex/tree-grid-ex.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,mBAAmB,EACnB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,uBAAuB,CAAC;AAG/B;;;;;;;;;GASG;AACH,qBAAa,oBAAoB,CAC7B,CAAC,SAAS,aAAa,GAAG,aAAa,EACvC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,EAC7C,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,CAE/C,SAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9B,YAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjC,OAAO,EAAE,iBAAiB,CAAC;IAEnC;;;;;;;OAOG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,CAAA;KAAE,CAAM;IAE7D;;;;;;;OAOG;IACH,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,0BAA0B,CAAA;KAAE,CAAM;IAE5D;;;;;;;OAOG;IACH,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,+BAA+B,CAAA;KAAE,CAAM;IAEtE;;;;;;;OAOG;IACH,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,CAAA;KAAE,CAAM;IAEhE;;;;;OAKG;IACH,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,GAAG,UAAU,CAEtC;IAED,SAAS,CAAC,SAAS,IAAI,IAAI;cAMX,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;cAO1B,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5C;;;;;;;;OAQG;cACa,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAUhD;;;;;;;;;OASG;cACa,qBAAqB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB3E;;;;;;;OAOG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IAalC;;;;;;;OAOG;IACH,SAAS,CAAC,eAAe,IAAI,IAAI;IAcjC;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAOnD,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3D;;;;;OAKG;IACH,SAAS,CAAC,wBAAwB,IAAI,IAAI;CAgB3C"}
@@ -1,9 +1,10 @@
1
1
  import { recursiveIterate } from '@ibiz-template/core';
2
- import { getGridColumnProvider } from '../../../register';
3
- import { MDControlController } from '../../common';
2
+ import { getTreeGridExColumnProvider } from '../../../register';
4
3
  import { TreeGridExService } from './tree-grid-ex.service';
4
+ import { TreeController } from '../tree/tree.controller';
5
+ import { TreeGridExRowState } from './tree-grid-ex-row.state';
5
6
  /**
6
- * 树表格部件控制器
7
+ * 树表格(增强)部件控制器
7
8
  *
8
9
  * @author zk
9
10
  * @date 2023-09-21 06:09:46
@@ -12,62 +13,81 @@ import { TreeGridExService } from './tree-grid-ex.service';
12
13
  * @extends {MDControlController<IDETree, ITreeGridState, ITreeGridEvent>}
13
14
  * @implements {ITreeGridExController}
14
15
  */
15
- export class TreeGridExController extends MDControlController {
16
+ export class TreeGridExController extends TreeController {
16
17
  constructor() {
17
18
  super(...arguments);
18
19
  /**
19
- * 表格列的适配器
20
+ * 树表格(增强)列的适配器
20
21
  *
21
22
  * @author zk
22
23
  * @date 2023-09-21 06:09:04
23
- * @type {{ [key: string]: IGridColumnProvider }}
24
+ * @type {{ [key: string]: ITreeGridExColumnProvider }}
24
25
  * @memberof TreeGridExController
25
26
  */
26
27
  this.providers = {};
27
28
  /**
28
- * 所有表格列控制器集合
29
+ * 所有树表格(增强)列控制器集合
29
30
  *
30
31
  * @author zk
31
32
  * @date 2023-09-21 06:09:10
32
- * @type {{ [key: string]: GridColumnController }}
33
+ * @type {{ [key: string]: TreeGridExColumnController }}
33
34
  * @memberof TreeGridExController
34
35
  */
35
36
  this.columns = {};
36
37
  /**
37
- * 所有表格属性列的控制器
38
+ * 所有树表格(增强)属性列的控制器
38
39
  *
39
40
  * @author zk
40
41
  * @date 2023-09-21 06:09:16
41
- * @type {{ [key: string]: GridFieldColumnController }}
42
+ * @type {{ [key: string]: TreeGridExFieldColumnController }}
42
43
  * @memberof TreeGridExController
43
44
  */
44
45
  this.fieldColumns = {};
45
46
  /**
46
- * 所有表格操作列的控制器
47
+ * 所有树表格(增强)操作列的控制器
47
48
  *
48
49
  * @author zk
49
50
  * @date 2023-09-21 06:09:21
50
- * @type {{ [key: string]: GridUAColumnController }}
51
+ * @type {{ [key: string]: TreeGridExUAColumnController }}
51
52
  * @memberof TreeGridExController
52
53
  */
53
54
  this.uaColumns = {};
54
55
  }
56
+ /**
57
+ * 是否有配置宽度自适应列
58
+ *
59
+ * @type {boolean}
60
+ * @memberof GridController
61
+ */
62
+ get hasAdaptiveColumn() {
63
+ return !!Object.values(this.columns).find(item => item.isAdaptiveColumn);
64
+ }
65
+ /**
66
+ * 单元格超出呈现模式
67
+ * @author lxm
68
+ * @date 2023-11-17 01:56:26
69
+ * @readonly
70
+ * @type {('wrap' | 'ellipsis')}
71
+ */
72
+ get overflowMode() {
73
+ return ibiz.config.grid.overflowMode;
74
+ }
55
75
  initState() {
56
76
  super.initState();
57
- // 根节点初始化
58
- this.state.size = 0;
59
77
  this.state.columnStates = [];
60
- this.state.defaultExpandedKeys = [];
78
+ this.state.rows = {};
61
79
  }
62
80
  async onCreated() {
63
81
  await super.onCreated();
64
- this.service = new TreeGridExService(this.model);
65
- await this.service.init(this.context);
66
82
  this.initColumnStates();
67
83
  await this.initGridColumns();
68
84
  }
85
+ async initService() {
86
+ this.service = new TreeGridExService(this.model);
87
+ await this.service.init(this.context);
88
+ }
69
89
  /**
70
- * 初始化表格属性列,操作列,编辑项控制器
90
+ * 初始化树表格(增强)属性列,操作列,编辑项控制器
71
91
  *
72
92
  * @author zk
73
93
  * @date 2023-09-21 06:09:28
@@ -81,7 +101,7 @@ export class TreeGridExController extends MDControlController {
81
101
  }
82
102
  }
83
103
  /**
84
- * 初始化表格属性列,操作列,编辑项控制器
104
+ * 初始化树表格(增强)属性列,操作列,编辑项控制器
85
105
  *
86
106
  * @author zk
87
107
  * @date 2023-09-21 06:09:37
@@ -92,26 +112,26 @@ export class TreeGridExController extends MDControlController {
92
112
  */
93
113
  async initColumnsController(column) {
94
114
  // 初始化适配器
95
- const provider = await getGridColumnProvider(column);
115
+ const provider = await getTreeGridExColumnProvider(column);
96
116
  if (!provider) {
97
117
  return;
98
118
  }
99
119
  this.providers[column.codeName] = provider;
100
- // 初始化表格列控制器
101
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
120
+ // 初始化树表格(增强)列控制器
102
121
  const controller = await provider.createController(column, this);
103
- this.columns[column.codeName] = controller;
104
122
  // 分类存放控制器
123
+ this.columns[column.codeName] = controller;
105
124
  if (column.columnType === 'DEFGRIDCOLUMN') {
106
125
  this.fieldColumns[column.codeName] =
107
126
  controller;
108
127
  }
109
128
  else if (column.columnType === 'UAGRIDCOLUMN') {
110
- this.uaColumns[column.codeName] = controller;
129
+ this.uaColumns[column.codeName] =
130
+ controller;
111
131
  }
112
132
  }
113
133
  /**
114
- * 初始化表格列状态
134
+ * 初始化树表格(增强)列状态
115
135
  *
116
136
  * @author zk
117
137
  * @date 2023-09-21 06:09:43
@@ -119,16 +139,15 @@ export class TreeGridExController extends MDControlController {
119
139
  * @memberof TreeGridExController
120
140
  */
121
141
  initColumnStates() {
122
- recursiveIterate(this.model, (column) => {
123
- if (column.columnType !== 'GROUPGRIDCOLUMN') {
124
- this.state.columnStates.push({
125
- key: column.codeName,
126
- caption: column.caption,
127
- hidden: !!column.hideDefault,
128
- uaColumn: column.columnType === 'UAGRIDCOLUMN',
129
- });
130
- }
131
- }, { childrenFields: ['detreeColumns'] });
142
+ var _a;
143
+ (_a = this.model.detreeColumns) === null || _a === void 0 ? void 0 : _a.forEach(column => {
144
+ this.state.columnStates.push({
145
+ key: column.codeName,
146
+ caption: column.caption,
147
+ hidden: !!column.hideDefault,
148
+ uaColumn: column.columnType === 'UAGRIDCOLUMN',
149
+ });
150
+ });
132
151
  this.calcColumnFixed();
133
152
  }
134
153
  /**
@@ -140,102 +159,53 @@ export class TreeGridExController extends MDControlController {
140
159
  * @memberof TreeGridExController
141
160
  */
142
161
  calcColumnFixed() {
162
+ // 过滤出当前显示的列
143
163
  const showColumns = this.state.columnStates.filter(column => !column.hidden);
144
164
  const allNum = showColumns.length;
145
165
  showColumns.forEach((column, index) => {
146
166
  if (column.uaColumn) {
167
+ // 操作列根据在中间列的那一侧,固定在最左侧或最右侧
147
168
  column.fixed = index + 1 <= Math.floor(allNum / 2) ? 'left' : 'right';
148
169
  }
149
- else {
150
- column.fixed = 'right';
151
- }
152
170
  });
153
171
  }
154
172
  /**
155
- * 树部件加载,从根节点开始重新加载
156
- *
157
- * @author zk
158
- * @date 2023-09-21 06:09:56
159
- * @param {MDCtrlLoadParams} [args={}]
160
- * @return {*} {Promise<ITreeNodeData[]>}
161
- * @memberof TreeGridExController
162
- */
163
- async load(args = {}) {
164
- const isInitialLoad = args.isInitialLoad === true;
165
- const nodes = await this.loadNodes();
166
- this.state.expandedKeys = this.calcExpandedKeys(nodes);
167
- await this.afterLoad(args, nodes);
168
- this.state.isLoaded = true;
169
- await this.evt.emit('onLoadSuccess', {
170
- isInitialLoad,
171
- });
172
- return nodes;
173
- }
174
- /**
175
- * 加载子节点数据
176
- *
177
- * @author zk
178
- * @date 2023-09-21 06:09:02
179
- * @param {ITreeNodeData} [parentNode]
180
- * @return {*} {Promise<ITreeNodeData[]>}
181
- * @memberof TreeGridExController
173
+ * 获取树表格行数据
174
+ * @author lxm
175
+ * @date 2023-12-22 02:23:44
176
+ * @param {string} key 可以是节点id也可以是_uuid
177
+ * @return {*} {(ITreeGridExRowState | undefined)}
182
178
  */
183
- async loadNodes(parentNode) {
184
- const params = await this.getFetchParams();
185
- const hasQuery = !!params.query;
186
- const defaultExpandedKeys = !parentNode
187
- ? this.state.defaultExpandedKeys
188
- : undefined;
189
- // 请求服务获取子节点数据
190
- await this.startLoading();
191
- let nodes;
192
- try {
193
- nodes =
194
- (await this.service.fetchChildNodes(parentNode, {
195
- context: this.context.clone(),
196
- params,
197
- hasQuery,
198
- defaultExpandedKeys,
199
- })) || [];
200
- }
201
- finally {
202
- await this.endLoading();
203
- }
204
- // 有父节点绑定到父节点数据上,无父节点替换rootNodes
205
- if (parentNode) {
206
- parentNode.children = nodes;
179
+ getRowState(key) {
180
+ const nodeData = this.getNodeData(key);
181
+ if (nodeData) {
182
+ return this.state.rows[nodeData._uuid];
207
183
  }
208
- else {
209
- this.state.rootNodes = nodes;
210
- }
211
- // 更新items
212
- this.state.items = [];
213
- recursiveIterate({ children: this.state.rootNodes }, (node) => {
214
- this.state.items.push(node);
184
+ }
185
+ async afterLoadNodes(nodes) {
186
+ await super.afterLoadNodes(nodes);
187
+ // 封装更新树表格行数据
188
+ recursiveIterate({ children: nodes }, (node) => {
189
+ this.state.rows[node._uuid] = new TreeGridExRowState(node, this);
215
190
  });
216
- return nodes;
217
191
  }
218
192
  /**
219
- * 计算展开节点集合
193
+ * 转换各类多语言
220
194
  *
221
- * @author zk
222
- * @date 2023-09-21 06:09:07
223
- * @param {ITreeNodeData[]} nodes
224
- * @return {*} {string[]}
225
- * @memberof TreeGridExController
195
+ * @date 2023-05-18 02:57:00
196
+ * @protected
226
197
  */
227
- calcExpandedKeys(nodes) {
228
- let expandedKeys = [];
229
- recursiveIterate({ children: nodes }, (node) => {
230
- var _a;
231
- if ((_a = node.children) === null || _a === void 0 ? void 0 : _a.length) {
232
- expandedKeys.push(node.id);
233
- }
234
- });
235
- if (this.state.defaultExpandedKeys.length) {
236
- expandedKeys.push(...this.state.defaultExpandedKeys);
237
- expandedKeys = Array.from(new Set(expandedKeys));
198
+ convertMultipleLanguages() {
199
+ // *转换列标题的多语言
200
+ const convertColumnCaption = (columns) => {
201
+ columns.forEach((column) => {
202
+ if (column.capLanguageRes && column.capLanguageRes.lanResTag) {
203
+ column.caption = ibiz.i18n.t(column.capLanguageRes.lanResTag, column.caption);
204
+ }
205
+ });
206
+ };
207
+ if (this.model.detreeColumns && this.model.detreeColumns.length > 0) {
208
+ convertColumnCaption(this.model.detreeColumns);
238
209
  }
239
- return expandedKeys;
240
210
  }
241
211
  }
@@ -1,65 +1,15 @@
1
- import { IHttpResponse } from '@ibiz-template/core';
2
- import { IDETreeDataSetNode, IDETreeNodeRS } from '@ibiz/model-core';
3
- import { ITreeNodeData } from '../../../interface';
4
- import { ControlVO, TreeDataSetNodeData, UIMapField } from '../../../service';
5
- import { TreeFetchOpts, TreeService } from '../tree/tree.service';
1
+ import { IDETreeGridEx } from '@ibiz/model-core';
2
+ import { TreeService } from '../tree/tree.service';
6
3
  /**
7
4
  * 树表格增强部件服务
8
5
  *
9
- * @author zk
10
- * @date 2023-09-25 05:09:52
6
+ * @author lxm
7
+ * @date 2023-12-21 10:50:35
11
8
  * @export
12
- * @class TreeGridService
13
- * @extends {TreeService}
9
+ * @class TreeGridExService
10
+ * @extends {TreeService<T>}
11
+ * @template T
14
12
  */
15
- export declare class TreeGridExService extends TreeService {
16
- /**
17
- * 表格列映射关系
18
- *
19
- * @author zk
20
- * @date 2023-09-25 05:09:11
21
- * @type {Map<string, Map<string, UIMapField>>}
22
- * @memberof TreeGridService
23
- */
24
- multipleUiMap: Map<string, Map<string, UIMapField>>;
25
- /**
26
- * 初始化节点属性映射
27
- *
28
- * @author lxm
29
- * @date 2022-08-31 18:08:37
30
- */
31
- initUIDataMap(): void;
32
- /**
33
- * 获取实体数据集数据
34
- *
35
- * @protected
36
- * @param {TreeNodeRSModel} nodeRS
37
- * @param {TreeFetchOpts} opts
38
- * @returns {*}
39
- * @memberof TreeService
40
- */
41
- protected getDENodeDatas(nodeModel: IDETreeDataSetNode, nodeRS: IDETreeNodeRS | undefined, parentNodeData: ITreeNodeData | undefined, opts: TreeFetchOpts): Promise<TreeDataSetNodeData[]>;
42
- /**
43
- * 处理多数据源响应
44
- *
45
- * @author zk
46
- * @date 2023-09-21 04:09:06
47
- * @param {IHttpResponse} response
48
- * @param {string} tag 多数据源dataUIMap标识
49
- * @return {*} {IHttpResponse}
50
- * @memberof TreeGridService
51
- */
52
- handleResponseForMultiple(response: IHttpResponse, tag: string): IHttpResponse;
53
- /**
54
- * 实体数据转ui数据
55
- *
56
- * @author zk
57
- * @date 2023-09-21 06:09:06
58
- * @param {IData} entityData 实体数据
59
- * @param {string} tag 多数据源dataUIMap标识
60
- * @return {*} {ControlVO}
61
- * @memberof TreeGridService
62
- */
63
- toUIDataForMultiple(entityData: IData, tag: string): ControlVO;
13
+ export declare class TreeGridExService<T extends IDETreeGridEx = IDETreeGridEx> extends TreeService<T> {
64
14
  }
65
15
  //# sourceMappingURL=tree-grid-ex.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tree-grid-ex.service.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree-grid-ex/tree-grid-ex.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,kBAAkB,EAElB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElE;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;IAChD;;;;;;;OAOG;IACH,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAa;IAEhE;;;;;OAKG;IACH,aAAa,IAAI,IAAI;IAmBrB;;;;;;;;OAQG;cACa,cAAc,CAC5B,SAAS,EAAE,kBAAkB,EAC7B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,cAAc,EAAE,aAAa,GAAG,SAAS,EACzC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA6CjC;;;;;;;;;OASG;IACH,yBAAyB,CACvB,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,GACV,aAAa;IA2BhB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS;CAI/D"}
1
+ {"version":3,"file":"tree-grid-ex.service.d.ts","sourceRoot":"","sources":["../../../../src/controller/control/tree-grid-ex/tree-grid-ex.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB,CAC5B,CAAC,SAAS,aAAa,GAAG,aAAa,CACvC,SAAQ,WAAW,CAAC,CAAC,CAAC;CAAG"}