@ebuilding/abc 2.0.0

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 (219) hide show
  1. package/LICENSE +0 -0
  2. package/README.md +0 -0
  3. package/button/index.d.ts +1 -0
  4. package/button/src/default/index.d.ts +15 -0
  5. package/button/src/index.module.d.ts +9 -0
  6. package/button/src/inner/index.d.ts +10 -0
  7. package/button/src/main/index.d.ts +16 -0
  8. package/button/src/public_api.d.ts +4 -0
  9. package/card/index.d.ts +1 -0
  10. package/card/src/card.service.d.ts +19 -0
  11. package/card/src/column-default/index.d.ts +22 -0
  12. package/card/src/column-img/index.d.ts +22 -0
  13. package/card/src/column-img1/index.d.ts +13 -0
  14. package/card/src/column-img2/index.d.ts +13 -0
  15. package/card/src/column-img3/index.d.ts +13 -0
  16. package/card/src/default/index.d.ts +45 -0
  17. package/card/src/design/index.d.ts +10 -0
  18. package/card/src/design-text/index.d.ts +10 -0
  19. package/card/src/index.module.d.ts +11 -0
  20. package/card/src/item-group/index.d.ts +16 -0
  21. package/card/src/item-text/index.d.ts +15 -0
  22. package/card/src/item.service.d.ts +20 -0
  23. package/card/src/public_api.d.ts +6 -0
  24. package/card-assess/index.d.ts +1 -0
  25. package/card-assess/src/default/index.d.ts +19 -0
  26. package/card-assess/src/index.module.d.ts +7 -0
  27. package/card-assess/src/public_api.d.ts +2 -0
  28. package/card-emp/index.d.ts +1 -0
  29. package/card-emp/src/default/index.d.ts +10 -0
  30. package/card-emp/src/emp-okr/index.d.ts +12 -0
  31. package/card-emp/src/index.module.d.ts +8 -0
  32. package/card-emp/src/public_api.d.ts +3 -0
  33. package/card-list/index.d.ts +1 -0
  34. package/card-list/src/default/index.d.ts +14 -0
  35. package/card-list/src/index.module.d.ts +7 -0
  36. package/card-list/src/public_api.d.ts +2 -0
  37. package/card-okr/index.d.ts +1 -0
  38. package/card-okr/src/default/index.d.ts +22 -0
  39. package/card-okr/src/index.module.d.ts +17 -0
  40. package/card-okr/src/kpi-stats1/index.d.ts +15 -0
  41. package/card-okr/src/kpi-stats2/index.d.ts +14 -0
  42. package/card-okr/src/kpi-stats3/index.d.ts +16 -0
  43. package/card-okr/src/objective/index.d.ts +14 -0
  44. package/card-okr/src/objective-dl/index.d.ts +16 -0
  45. package/card-okr/src/objective-dx/index.d.ts +16 -0
  46. package/card-okr/src/public_api.d.ts +11 -0
  47. package/card-okr/src/stats-default/index.d.ts +14 -0
  48. package/card-okr/src/stats-objective/index.d.ts +14 -0
  49. package/card-okr/src/stats-progress/index.d.ts +12 -0
  50. package/card-plan-kpi/index.d.ts +1 -0
  51. package/card-plan-kpi/src/default/index.d.ts +22 -0
  52. package/card-plan-kpi/src/index.module.d.ts +7 -0
  53. package/card-plan-kpi/src/public_api.d.ts +2 -0
  54. package/card-result/index.d.ts +1 -0
  55. package/card-result/src/default/index.d.ts +45 -0
  56. package/card-result/src/index.module.d.ts +8 -0
  57. package/card-result/src/public_api.d.ts +2 -0
  58. package/card-score/index.d.ts +1 -0
  59. package/card-score/src/default/index.d.ts +9 -0
  60. package/card-score/src/index.module.d.ts +8 -0
  61. package/card-score/src/public_api.d.ts +2 -0
  62. package/card-user/index.d.ts +1 -0
  63. package/card-user/src/default/index.d.ts +11 -0
  64. package/card-user/src/index.module.d.ts +7 -0
  65. package/card-user/src/public_api.d.ts +2 -0
  66. package/card2/index.d.ts +1 -0
  67. package/card2/src/default/index.d.ts +90 -0
  68. package/card2/src/index.module.d.ts +7 -0
  69. package/card2/src/public_api.d.ts +2 -0
  70. package/codemirror/index.d.ts +1 -0
  71. package/codemirror/src/default/index.d.ts +10 -0
  72. package/codemirror/src/index.module.d.ts +7 -0
  73. package/codemirror/src/public_api.d.ts +5 -0
  74. package/collect/index.d.ts +1 -0
  75. package/collect/src/default/index.d.ts +11 -0
  76. package/collect/src/index.module.d.ts +7 -0
  77. package/collect/src/public_api.d.ts +2 -0
  78. package/developing/index.d.ts +1 -0
  79. package/developing/src/default/index.d.ts +8 -0
  80. package/developing/src/index.module.d.ts +10 -0
  81. package/developing/src/public_api.d.ts +2 -0
  82. package/empty/index.d.ts +1 -0
  83. package/empty/src/default/index.d.ts +13 -0
  84. package/empty/src/index.module.d.ts +7 -0
  85. package/empty/src/public_api.d.ts +2 -0
  86. package/fesm2022/codemirror.mjs +806 -0
  87. package/fesm2022/codemirror.mjs.map +1 -0
  88. package/fesm2022/components.button.mjs +121 -0
  89. package/fesm2022/components.button.mjs.map +1 -0
  90. package/fesm2022/components.card-assess.mjs +68 -0
  91. package/fesm2022/components.card-assess.mjs.map +1 -0
  92. package/fesm2022/components.card-emp.mjs +65 -0
  93. package/fesm2022/components.card-emp.mjs.map +1 -0
  94. package/fesm2022/components.card-list.mjs +53 -0
  95. package/fesm2022/components.card-list.mjs.map +1 -0
  96. package/fesm2022/components.card-okr.mjs +370 -0
  97. package/fesm2022/components.card-okr.mjs.map +1 -0
  98. package/fesm2022/components.card-plan-kpi.mjs +68 -0
  99. package/fesm2022/components.card-plan-kpi.mjs.map +1 -0
  100. package/fesm2022/components.card-result.mjs +137 -0
  101. package/fesm2022/components.card-result.mjs.map +1 -0
  102. package/fesm2022/components.card-score.mjs +47 -0
  103. package/fesm2022/components.card-score.mjs.map +1 -0
  104. package/fesm2022/components.card-user.mjs +56 -0
  105. package/fesm2022/components.card-user.mjs.map +1 -0
  106. package/fesm2022/components.card.mjs +670 -0
  107. package/fesm2022/components.card.mjs.map +1 -0
  108. package/fesm2022/components.card2.mjs +463 -0
  109. package/fesm2022/components.card2.mjs.map +1 -0
  110. package/fesm2022/components.collect.mjs +57 -0
  111. package/fesm2022/components.collect.mjs.map +1 -0
  112. package/fesm2022/components.developing.mjs +38 -0
  113. package/fesm2022/components.developing.mjs.map +1 -0
  114. package/fesm2022/components.empty.mjs +54 -0
  115. package/fesm2022/components.empty.mjs.map +1 -0
  116. package/fesm2022/components.flow-button.mjs +89 -0
  117. package/fesm2022/components.flow-button.mjs.map +1 -0
  118. package/fesm2022/components.header-user.mjs +261 -0
  119. package/fesm2022/components.header-user.mjs.map +1 -0
  120. package/fesm2022/components.header.mjs +81 -0
  121. package/fesm2022/components.header.mjs.map +1 -0
  122. package/fesm2022/components.line.mjs +44 -0
  123. package/fesm2022/components.line.mjs.map +1 -0
  124. package/fesm2022/components.no-role.mjs +37 -0
  125. package/fesm2022/components.no-role.mjs.map +1 -0
  126. package/fesm2022/components.nz-table-tree.mjs +407 -0
  127. package/fesm2022/components.nz-table-tree.mjs.map +1 -0
  128. package/fesm2022/components.nz-table.mjs +463 -0
  129. package/fesm2022/components.nz-table.mjs.map +1 -0
  130. package/fesm2022/components.plan-item.mjs +249 -0
  131. package/fesm2022/components.plan-item.mjs.map +1 -0
  132. package/fesm2022/components.principal.mjs +59 -0
  133. package/fesm2022/components.principal.mjs.map +1 -0
  134. package/fesm2022/components.python.mjs +140 -0
  135. package/fesm2022/components.python.mjs.map +1 -0
  136. package/fesm2022/components.quick.mjs +158 -0
  137. package/fesm2022/components.quick.mjs.map +1 -0
  138. package/fesm2022/components.record.mjs +106 -0
  139. package/fesm2022/components.record.mjs.map +1 -0
  140. package/fesm2022/components.step-entry.mjs +50 -0
  141. package/fesm2022/components.step-entry.mjs.map +1 -0
  142. package/fesm2022/components.target-value.mjs +83 -0
  143. package/fesm2022/components.target-value.mjs.map +1 -0
  144. package/fesm2022/components.text.mjs +444 -0
  145. package/fesm2022/components.text.mjs.map +1 -0
  146. package/fesm2022/components.tree.mjs +203 -0
  147. package/fesm2022/components.tree.mjs.map +1 -0
  148. package/fesm2022/ebuilding-abc.mjs +121 -0
  149. package/fesm2022/ebuilding-abc.mjs.map +1 -0
  150. package/flow-button/index.d.ts +1 -0
  151. package/flow-button/src/default/index.d.ts +14 -0
  152. package/flow-button/src/index.module.d.ts +7 -0
  153. package/flow-button/src/public_api.d.ts +2 -0
  154. package/header/index.d.ts +1 -0
  155. package/header/src/default/index.d.ts +16 -0
  156. package/header/src/index.module.d.ts +10 -0
  157. package/header/src/public_api.d.ts +2 -0
  158. package/header-user/index.d.ts +1 -0
  159. package/header-user/src/default/index.d.ts +57 -0
  160. package/header-user/src/index.module.d.ts +7 -0
  161. package/header-user/src/public_api.d.ts +2 -0
  162. package/index.d.ts +1 -0
  163. package/line/index.d.ts +1 -0
  164. package/line/src/default/index.d.ts +9 -0
  165. package/line/src/index.module.d.ts +10 -0
  166. package/line/src/public_api.d.ts +2 -0
  167. package/no-role/index.d.ts +1 -0
  168. package/no-role/src/default/index.d.ts +9 -0
  169. package/no-role/src/index.module.d.ts +8 -0
  170. package/no-role/src/public_api.d.ts +2 -0
  171. package/nz-table/index.d.ts +1 -0
  172. package/nz-table/src/default/index.d.ts +90 -0
  173. package/nz-table/src/index.module.d.ts +7 -0
  174. package/nz-table/src/public_api.d.ts +2 -0
  175. package/nz-table-tree/index.d.ts +1 -0
  176. package/nz-table-tree/src/default/index.d.ts +98 -0
  177. package/nz-table-tree/src/index.module.d.ts +8 -0
  178. package/nz-table-tree/src/operation/index.d.ts +12 -0
  179. package/nz-table-tree/src/public_api.d.ts +2 -0
  180. package/package.json +144 -0
  181. package/plan-item/index.d.ts +1 -0
  182. package/plan-item/src/default/index.d.ts +45 -0
  183. package/plan-item/src/index.module.d.ts +7 -0
  184. package/plan-item/src/public_api.d.ts +2 -0
  185. package/principal/index.d.ts +1 -0
  186. package/principal/src/default/index.d.ts +15 -0
  187. package/principal/src/index.module.d.ts +7 -0
  188. package/principal/src/public_api.d.ts +2 -0
  189. package/python/index.d.ts +1 -0
  190. package/python/src/default/index.d.ts +8 -0
  191. package/python/src/index.module.d.ts +8 -0
  192. package/python/src/public_api.d.ts +2 -0
  193. package/quick/index.d.ts +1 -0
  194. package/quick/src/datetime/index.d.ts +12 -0
  195. package/quick/src/default/index.d.ts +14 -0
  196. package/quick/src/index.module.d.ts +10 -0
  197. package/quick/src/public_api.d.ts +2 -0
  198. package/record/index.d.ts +1 -0
  199. package/record/src/default/index.d.ts +12 -0
  200. package/record/src/index.module.d.ts +8 -0
  201. package/record/src/main/index.d.ts +12 -0
  202. package/record/src/public_api.d.ts +3 -0
  203. package/step-entry/index.d.ts +1 -0
  204. package/step-entry/src/default/index.d.ts +12 -0
  205. package/step-entry/src/index.module.d.ts +9 -0
  206. package/step-entry/src/public_api.d.ts +2 -0
  207. package/target-value/index.d.ts +1 -0
  208. package/target-value/src/default/index.d.ts +17 -0
  209. package/target-value/src/index.module.d.ts +8 -0
  210. package/target-value/src/public_api.d.ts +2 -0
  211. package/text/index.d.ts +1 -0
  212. package/text/src/default/index.d.ts +25 -0
  213. package/text/src/index.module.d.ts +9 -0
  214. package/text/src/public_api.d.ts +2 -0
  215. package/text/src/text.service.d.ts +57 -0
  216. package/tree/index.d.ts +1 -0
  217. package/tree/src/default/index.d.ts +39 -0
  218. package/tree/src/index.module.d.ts +9 -0
  219. package/tree/src/public_api.d.ts +2 -0
@@ -0,0 +1,407 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, HostListener, Output, Input, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';
3
+ import * as i4 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
5
+ import { FormsModule } from '@angular/forms';
6
+ import * as i6 from 'ng-zorro-antd/dropdown';
7
+ import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
8
+ import * as i7 from 'ng-zorro-antd/checkbox';
9
+ import { NzCheckboxModule } from 'ng-zorro-antd/checkbox';
10
+ import * as i8 from 'ng-zorro-antd/table';
11
+ import { NzTableModule } from 'ng-zorro-antd/table';
12
+ import * as i9 from '@ebuilding/base/components/empty';
13
+ import { GramDeonEmptyModule } from '@ebuilding/base/components/empty';
14
+ import * as i10 from '@ebuilding/abc/text';
15
+ import { GramDeonTextModule } from '@ebuilding/abc/text';
16
+ import * as i3 from '@ebuilding/base/shared.pipe';
17
+ import { GramPipeModule } from '@ebuilding/base/shared.pipe';
18
+ import { DATEFORMAT } from '@ebuilding/base/shared.var/shared.constant';
19
+ import moment from 'moment';
20
+ import * as i1 from 'ng-zorro-antd/message';
21
+ import * as i2 from 'ng-zorro-antd/modal';
22
+ import * as i5 from 'ng-zorro-antd/menu';
23
+
24
+ class GramDeonNZTableTreeComponent {
25
+ elementRef;
26
+ renderer;
27
+ drf;
28
+ msg;
29
+ modal;
30
+ disabledPipe;
31
+ dataTypePipe;
32
+ itemTypePipe;
33
+ builtinPipe;
34
+ templateTypePipe;
35
+ _data = [];
36
+ id = '';
37
+ pageConfig = {};
38
+ /**
39
+ * 当前数据列头
40
+ */
41
+ header = [];
42
+ /**
43
+ * 当前总数据
44
+ */
45
+ total = 0;
46
+ /**
47
+ * 当前数据数组
48
+ */
49
+ set nzData(value) {
50
+ this._data = value;
51
+ if (value && value.length > 0) {
52
+ value.forEach((item) => {
53
+ this.mapOfExpandedData[item.id] = this.convertTreeToList(item);
54
+ });
55
+ }
56
+ }
57
+ get nzData() {
58
+ return this._data;
59
+ }
60
+ set selectData(value) {
61
+ if (value && value !== undefined && value != null && value.length > 0) {
62
+ this._listSelectData = value;
63
+ value.forEach((item) => {
64
+ this.setOfCheckedId.add(item);
65
+ });
66
+ }
67
+ else {
68
+ this._listSelectData = [];
69
+ }
70
+ }
71
+ get selectData() {
72
+ return this._listSelectData;
73
+ }
74
+ /**
75
+ * 操作列事件回调
76
+ */
77
+ operationClick = new EventEmitter();
78
+ /**
79
+ *
80
+ */
81
+ componentClick = new EventEmitter();
82
+ /**
83
+ * 当服务端分页、筛选、排序时,用于获得参数
84
+ */
85
+ queryParamsChange = new EventEmitter();
86
+ /**
87
+ * 当选中项变化时的回调函数
88
+ */
89
+ selectChange = new EventEmitter();
90
+ /**
91
+ * 行排序事件回调
92
+ */
93
+ rowDataChange = new EventEmitter();
94
+ checkIds = [];
95
+ _headerData = [];
96
+ isAllChecked = false;
97
+ isIndeterminate = false;
98
+ listData = [];
99
+ listDataCheckedId = {};
100
+ listDataCheckedNumber = 0;
101
+ listDataCheckedList = [];
102
+ _listSelectData = [];
103
+ setOfCheckedId = new Set();
104
+ constructor(elementRef, renderer, drf, msg, modal, disabledPipe, dataTypePipe, itemTypePipe, builtinPipe, templateTypePipe) {
105
+ this.elementRef = elementRef;
106
+ this.renderer = renderer;
107
+ this.drf = drf;
108
+ this.msg = msg;
109
+ this.modal = modal;
110
+ this.disabledPipe = disabledPipe;
111
+ this.dataTypePipe = dataTypePipe;
112
+ this.itemTypePipe = itemTypePipe;
113
+ this.builtinPipe = builtinPipe;
114
+ this.templateTypePipe = templateTypePipe;
115
+ }
116
+ ngOnInit() { }
117
+ ngAfterViewInit() { }
118
+ ngOnChanges(change) {
119
+ if (change['nzData']) {
120
+ this.resizeTable();
121
+ }
122
+ }
123
+ onItemChecked(id, checked) {
124
+ if (checked) {
125
+ this.setOfCheckedId.add(id);
126
+ }
127
+ else {
128
+ this.setOfCheckedId.delete(id);
129
+ }
130
+ let selectedId = [];
131
+ for (let key of this.setOfCheckedId.keys()) {
132
+ selectedId.push(key);
133
+ }
134
+ this.selectData = selectedId;
135
+ this.selectChange.emit(selectedId);
136
+ }
137
+ cellDescription(item, headerDef) {
138
+ let result = null;
139
+ let value = item[headerDef.key];
140
+ if (headerDef && headerDef.type != undefined && headerDef.type && value != undefined) {
141
+ switch (headerDef.type) {
142
+ case 'primary_name':
143
+ if (this.pageConfig?.primary && this.pageConfig?.primary != null && this.pageConfig?.primary != '') {
144
+ result = `<a>${value}</a>`;
145
+ }
146
+ else {
147
+ result = `<a>${value}</a>`;
148
+ }
149
+ break;
150
+ case 'date':
151
+ result = moment(value).format(DATEFORMAT).toString();
152
+ break;
153
+ case 'employee':
154
+ result = `<a>${value['emp_name']}</a>`;
155
+ break;
156
+ case 'link':
157
+ let linkObj = this.getLinkData(value);
158
+ if (linkObj.key) {
159
+ result = `<a>${value[linkObj.key]}</a>`;
160
+ }
161
+ break;
162
+ case 'disabled':
163
+ result = this.disabledPipe.transform(value);
164
+ break;
165
+ case 'dataType':
166
+ result = this.dataTypePipe.transform(value);
167
+ break;
168
+ case 'itemType':
169
+ result = this.itemTypePipe.transform(value);
170
+ break;
171
+ case 'builtin':
172
+ result = this.builtinPipe.transform(value);
173
+ break;
174
+ case 'templateType':
175
+ result = this.templateTypePipe.transform(value);
176
+ break;
177
+ default:
178
+ result = value;
179
+ break;
180
+ }
181
+ }
182
+ else {
183
+ result = value == undefined ? '' : value;
184
+ }
185
+ return result;
186
+ }
187
+ cellClick(item, headerDef) {
188
+ if (headerDef.type == undefined || headerDef.type == null) {
189
+ return;
190
+ }
191
+ switch (headerDef.type) {
192
+ case 'primary_name':
193
+ this.componentClick.emit({
194
+ rowCode: item[this.pageConfig?.primary?.key],
195
+ rowData: item,
196
+ columnKey: this.pageConfig?.primary?.name,
197
+ });
198
+ break;
199
+ case 'employee':
200
+ break;
201
+ case 'link':
202
+ let linkObj = this.getLinkData(item);
203
+ if (linkObj.key) {
204
+ this.componentClick.emit({
205
+ rowCode: item[this.pageConfig?.primary?.key],
206
+ rowData: item,
207
+ columnKey: linkObj.collKey,
208
+ });
209
+ }
210
+ break;
211
+ default:
212
+ break;
213
+ }
214
+ }
215
+ trClick(item) {
216
+ if (this.pageConfig?.list?.selectType == 'single') {
217
+ let obj = {};
218
+ obj[this.pageConfig.primary.key] = item[this.pageConfig.primary.key];
219
+ obj[this.pageConfig.primary.name] = item[this.pageConfig.primary.name];
220
+ this.selectData = [obj];
221
+ this.selectChange.emit(this.selectData);
222
+ }
223
+ }
224
+ buttonEvent(type, e) {
225
+ this.operationClick.emit({
226
+ rowCode: e[this.pageConfig?.primary?.key],
227
+ rowData: e,
228
+ columnKey: type,
229
+ });
230
+ }
231
+ getLinkData(data) {
232
+ let result = {};
233
+ if (this.pageConfig?.list?.linkItem != undefined && this.pageConfig?.list?.linkItem != null && data != undefined && data != null) {
234
+ let keys = Object.keys(data);
235
+ if (keys && Array.isArray(keys)) {
236
+ result = this.pageConfig?.list?.linkItem[keys[0]];
237
+ result.collKey = keys[0];
238
+ }
239
+ }
240
+ return result;
241
+ }
242
+ deonTableContentHG = null;
243
+ resize() {
244
+ this.resizeTable();
245
+ }
246
+ resizeTable() {
247
+ if (this.pageConfig?.list?.height == 'auto') {
248
+ }
249
+ else {
250
+ let content = this.pageConfig?.list?.height != undefined ? this.pageConfig?.list.height : this.elementRef.nativeElement.clientHeight;
251
+ let tableHeader = 0;
252
+ if (this.elementRef.nativeElement.querySelector('.ant-table-thead')) {
253
+ tableHeader = this.elementRef.nativeElement.querySelector('.ant-table-thead').clientHeight;
254
+ }
255
+ this.calceWidth();
256
+ if (tableHeader == 0 || tableHeader <= 50) {
257
+ tableHeader = 50;
258
+ }
259
+ this.deonTableContentHG = {
260
+ y: content - tableHeader + 'px',
261
+ };
262
+ }
263
+ }
264
+ mapOfExpandedData = {};
265
+ collapse(array, data, $event) {
266
+ if (!$event) {
267
+ if (data.children) {
268
+ data.children.forEach((d) => {
269
+ const target = array.find((a) => a.id === d.id);
270
+ target["expand"] = false;
271
+ this.collapse(array, target, false);
272
+ });
273
+ }
274
+ else {
275
+ return;
276
+ }
277
+ }
278
+ }
279
+ convertTreeToList(root) {
280
+ const stack = [];
281
+ const array = [];
282
+ const hashMap = {};
283
+ stack.push({ ...root, level: 0, expand: true });
284
+ while (stack.length !== 0) {
285
+ const node = stack.pop();
286
+ this.visitNode(node, hashMap, array);
287
+ if (node.children) {
288
+ for (let i = node.children.length - 1; i >= 0; i--) {
289
+ stack.push({ ...node.children[i], level: node["level"] + 1, expand: true, parent: node });
290
+ }
291
+ }
292
+ }
293
+ return array;
294
+ }
295
+ visitNode(node, hashMap, array) {
296
+ if (!hashMap[node.id]) {
297
+ hashMap[node.id] = true;
298
+ array.push(node);
299
+ }
300
+ }
301
+ calceWidth() {
302
+ const items = this.header.filter((el) => el.key !== 'rowNo' && el.hide !== true);
303
+ let tableWidth = 0;
304
+ items.forEach((el) => {
305
+ el.width = (el.width + '').replace('px', '');
306
+ tableWidth += Number(el.width || 120);
307
+ el.width = `${el.width || 120}px`;
308
+ });
309
+ this.header.forEach((item) => {
310
+ if (item.auto != undefined && item.auto != null && item.auto == true) {
311
+ item.width = this.elementRef.nativeElement.clientWidth - tableWidth - 140 + 'px';
312
+ }
313
+ });
314
+ }
315
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramDeonNZTableTreeComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.NzMessageService }, { token: i2.NzModalService }, { token: i3.DisabledPipe }, { token: i3.DataTypePipe }, { token: i3.ItemPipe }, { token: i3.BuiltinPipe }, { token: i3.TemplateTypePipe }], target: i0.ɵɵFactoryTarget.Component });
316
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: GramDeonNZTableTreeComponent, isStandalone: true, selector: "gram-nz-table-tree", inputs: { id: "id", pageConfig: "pageConfig", header: "header", total: "total", nzData: "nzData", selectData: "selectData" }, outputs: { operationClick: "operationClick", componentClick: "componentClick", queryParamsChange: "queryParamsChange", selectChange: "selectChange", rowDataChange: "rowDataChange" }, host: { listeners: { "window:resize": "resize($event)" } }, usesOnChanges: true, ngImport: i0, template: "<nz-table #expandTable [nzData]=\"nzData\" [nzFrontPagination]=\"false\" [nzShowPagination]=\"false\"\n [nzScroll]=\"deonTableContentHG\" class=\"default-table\"\n [ngClass]=\"{ 'table-single': pageConfig?.list?.selectType=='single','table-empty':nzData.length==0 }\"\n [nzNoResult]=\"noResult\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let item of header\">\n <th *ngIf=\"item.hide!=true && item.type !='operation'\" [nzWidth]=\"item.width\">{{item.label}}</th>\n </ng-container>\n <th nzWidth=\"80px\" *ngIf=\"pageConfig?.operation?.show===true\">\u64CD\u4F5C</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let tableData of expandTable.data\">\n <ng-container *ngFor=\"let data of mapOfExpandedData[tableData.id];let i=index;\">\n <tr *ngIf=\"(data.parent && data.parent['expand']) || !data.parent\" (click)=\"trClick(data)\">\n <ng-container *ngFor=\"let item of header\">\n <ng-container *ngIf=\"item.key==pageConfig?.primary?.name;else otherTd\">\n <td [nzIndentSize]=\"data['level'] * 20\" [nzShowExpand]=\"data.children!! && data.children.length>0\"\n [(nzExpand)]=\"data['expand']\" (nzExpandChange)=\"collapse(mapOfExpandedData[data.id], data, $event)\">\n <label nz-checkbox [nzChecked]=\"setOfCheckedId.has(data.id)\"\n (nzCheckedChange)=\"onItemChecked(data.id, $event)\" *ngIf=\"pageConfig?.list?.selectType=='multiple'\">\n </label>\n <gram-text [data]=\"{item:data,header:item,config:this.pageConfig}\"\n (click)=\"cellClick(data,item)\"></gram-text>\n </td>\n </ng-container>\n <ng-template #otherTd>\n <ng-container *ngIf=\"item.hide!=true && item.type !='operation'\">\n <td>\n <gram-text [data]=\"{item:data,header:item,config:this.pageConfig}\"\n (click)=\"cellClick(data,item)\"></gram-text>\n </td>\n </ng-container>\n </ng-template>\n </ng-container>\n <td nzAlign=\"center\" *ngIf=\"pageConfig?.operation?.show===true\">\n <a nz-dropdown [nzDropdownMenu]=\"menu\"> <i class=\"table-action\" nz-icon nzType=\"ellipsis\"></i> </a>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <ng-container *ngFor=\"let button of data['operation']\">\n <li nz-menu-item (click)=\"buttonEvent(button,data)\">{{button | operation}}</li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n</nz-table>\n\n<ng-template #noResult>\n <gram-empty></gram-empty>\n</ng-template>", styles: [":host ::ng-deep{display:flex;flex:1;height:100%;background-color:#fff}:host ::ng-deep nz-table{width:100%}:host ::ng-deep .ant-table-wrapper{border:1px solid #f5f7fa}:host ::ng-deep .ant-table-wrapper .ant-table-thead tr th{padding:10px 15px;background-color:#fff;border-right:1px solid #f5f7fa}:host ::ng-deep .ant-table-wrapper .ant-table-thead tr th:nth-last-child(1){border-right:0!important}:host ::ng-deep .ant-table-wrapper .ant-table-thead tr th.ant-table-column-has-actions.ant-table-column-has-sorters:hover{background:#fff}:host ::ng-deep .ant-table-wrapper .ant-table-tbody tr td{padding:10px 15px;border:0}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .linkname{color:#1177fb;text-decoration:underline}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .employee{display:flex;flex-direction:row;align-items:center}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .employee nz-avatar{margin-right:3px}:host ::ng-deep .ant-table-wrapper .ant-table-tbody tr:nth-child(odd){background-color:#f6f8fd}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .ant-checkbox-wrapper{margin-right:5px;cursor:pointer}:host ::ng-deep .ant-table-body{overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .ant-table-body::-webkit-scrollbar{width:8px}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .ant-table-header{margin-bottom:0!important;overflow:hidden!important;background:#fff}:host ::ng-deep .table-action{padding:3px 8px;color:#fff;font-size:15px;background:#1177fb;border-radius:12px;cursor:pointer}:host ::ng-deep table-single a{color:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i5.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i5.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i6.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "directive", type: i6.NzDropDownADirective, selector: "a[nz-dropdown]" }, { kind: "component", type: i6.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: NzCheckboxModule }, { kind: "component", type: i7.NzCheckboxComponent, selector: "[nz-checkbox]", inputs: ["nzValue", "nzAutoFocus", "nzDisabled", "nzIndeterminate", "nzChecked", "nzId", "nzName"], outputs: ["nzCheckedChange"], exportAs: ["nzCheckbox"] }, { kind: "ngmodule", type: NzTableModule }, { kind: "component", type: i8.NzTableComponent, selector: "nz-table", inputs: ["nzTableLayout", "nzShowTotal", "nzItemRender", "nzTitle", "nzFooter", "nzNoResult", "nzPageSizeOptions", "nzVirtualItemSize", "nzVirtualMaxBufferPx", "nzVirtualMinBufferPx", "nzVirtualForTrackBy", "nzLoadingDelay", "nzPageIndex", "nzPageSize", "nzTotal", "nzWidthConfig", "nzData", "nzCustomColumn", "nzPaginationPosition", "nzScroll", "noDataVirtualHeight", "nzPaginationType", "nzFrontPagination", "nzTemplateMode", "nzShowPagination", "nzLoading", "nzOuterBordered", "nzLoadingIndicator", "nzBordered", "nzSize", "nzShowSizeChanger", "nzHideOnSinglePage", "nzShowQuickJumper", "nzSimple"], outputs: ["nzPageSizeChange", "nzPageIndexChange", "nzQueryParams", "nzCurrentPageDataChange", "nzCustomColumnChange"], exportAs: ["nzTable"] }, { kind: "directive", type: i8.NzTableCellDirective, selector: "th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])" }, { kind: "directive", type: i8.NzThMeasureDirective, selector: "th", inputs: ["nzWidth", "colspan", "colSpan", "rowspan", "rowSpan"] }, { kind: "component", type: i8.NzTdAddOnComponent, selector: "td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]", inputs: ["nzChecked", "nzDisabled", "nzIndeterminate", "nzLabel", "nzIndentSize", "nzShowExpand", "nzShowCheckbox", "nzExpand", "nzExpandIcon"], outputs: ["nzCheckedChange", "nzExpandChange"] }, { kind: "component", type: i8.NzTheadComponent, selector: "thead:not(.ant-table-thead)", outputs: ["nzSortOrderChange"] }, { kind: "component", type: i8.NzTbodyComponent, selector: "tbody" }, { kind: "directive", type: i8.NzTrDirective, selector: "tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])" }, { kind: "directive", type: i8.NzCellAlignDirective, selector: "th[nzAlign],td[nzAlign]", inputs: ["nzAlign"] }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.OperationPipe, name: "operation" }, { kind: "ngmodule", type: GramDeonEmptyModule }, { kind: "component", type: i9.BaseEmptyComponent, selector: "gram-empty", inputs: ["desc", "state"], outputs: ["emptyClick"] }, { kind: "ngmodule", type: GramDeonTextModule }, { kind: "component", type: i10.GramDeonTextComponent, selector: "gram-text", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
317
+ }
318
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramDeonNZTableTreeComponent, decorators: [{
319
+ type: Component,
320
+ args: [{ selector: 'gram-nz-table-tree', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
321
+ CommonModule,
322
+ FormsModule,
323
+ NzDropDownModule,
324
+ NzCheckboxModule,
325
+ NzTableModule,
326
+ GramPipeModule,
327
+ GramDeonEmptyModule,
328
+ GramDeonTextModule
329
+ ], template: "<nz-table #expandTable [nzData]=\"nzData\" [nzFrontPagination]=\"false\" [nzShowPagination]=\"false\"\n [nzScroll]=\"deonTableContentHG\" class=\"default-table\"\n [ngClass]=\"{ 'table-single': pageConfig?.list?.selectType=='single','table-empty':nzData.length==0 }\"\n [nzNoResult]=\"noResult\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let item of header\">\n <th *ngIf=\"item.hide!=true && item.type !='operation'\" [nzWidth]=\"item.width\">{{item.label}}</th>\n </ng-container>\n <th nzWidth=\"80px\" *ngIf=\"pageConfig?.operation?.show===true\">\u64CD\u4F5C</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let tableData of expandTable.data\">\n <ng-container *ngFor=\"let data of mapOfExpandedData[tableData.id];let i=index;\">\n <tr *ngIf=\"(data.parent && data.parent['expand']) || !data.parent\" (click)=\"trClick(data)\">\n <ng-container *ngFor=\"let item of header\">\n <ng-container *ngIf=\"item.key==pageConfig?.primary?.name;else otherTd\">\n <td [nzIndentSize]=\"data['level'] * 20\" [nzShowExpand]=\"data.children!! && data.children.length>0\"\n [(nzExpand)]=\"data['expand']\" (nzExpandChange)=\"collapse(mapOfExpandedData[data.id], data, $event)\">\n <label nz-checkbox [nzChecked]=\"setOfCheckedId.has(data.id)\"\n (nzCheckedChange)=\"onItemChecked(data.id, $event)\" *ngIf=\"pageConfig?.list?.selectType=='multiple'\">\n </label>\n <gram-text [data]=\"{item:data,header:item,config:this.pageConfig}\"\n (click)=\"cellClick(data,item)\"></gram-text>\n </td>\n </ng-container>\n <ng-template #otherTd>\n <ng-container *ngIf=\"item.hide!=true && item.type !='operation'\">\n <td>\n <gram-text [data]=\"{item:data,header:item,config:this.pageConfig}\"\n (click)=\"cellClick(data,item)\"></gram-text>\n </td>\n </ng-container>\n </ng-template>\n </ng-container>\n <td nzAlign=\"center\" *ngIf=\"pageConfig?.operation?.show===true\">\n <a nz-dropdown [nzDropdownMenu]=\"menu\"> <i class=\"table-action\" nz-icon nzType=\"ellipsis\"></i> </a>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <ng-container *ngFor=\"let button of data['operation']\">\n <li nz-menu-item (click)=\"buttonEvent(button,data)\">{{button | operation}}</li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n</nz-table>\n\n<ng-template #noResult>\n <gram-empty></gram-empty>\n</ng-template>", styles: [":host ::ng-deep{display:flex;flex:1;height:100%;background-color:#fff}:host ::ng-deep nz-table{width:100%}:host ::ng-deep .ant-table-wrapper{border:1px solid #f5f7fa}:host ::ng-deep .ant-table-wrapper .ant-table-thead tr th{padding:10px 15px;background-color:#fff;border-right:1px solid #f5f7fa}:host ::ng-deep .ant-table-wrapper .ant-table-thead tr th:nth-last-child(1){border-right:0!important}:host ::ng-deep .ant-table-wrapper .ant-table-thead tr th.ant-table-column-has-actions.ant-table-column-has-sorters:hover{background:#fff}:host ::ng-deep .ant-table-wrapper .ant-table-tbody tr td{padding:10px 15px;border:0}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .linkname{color:#1177fb;text-decoration:underline}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .employee{display:flex;flex-direction:row;align-items:center}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .employee nz-avatar{margin-right:3px}:host ::ng-deep .ant-table-wrapper .ant-table-tbody tr:nth-child(odd){background-color:#f6f8fd}:host ::ng-deep .ant-table-wrapper .ant-table-tbody .ant-checkbox-wrapper{margin-right:5px;cursor:pointer}:host ::ng-deep .ant-table-body{overflow-x:overlay;overflow-y:overlay}:host ::ng-deep .ant-table-body::-webkit-scrollbar{width:8px}:host ::ng-deep .ant-table-body::-webkit-scrollbar-thumb{background-color:#94949475;border-radius:7px}:host ::ng-deep .ant-table-body::-webkit-scrollbar-track{background-color:#fff}:host ::ng-deep .ant-table-header{margin-bottom:0!important;overflow:hidden!important;background:#fff}:host ::ng-deep .table-action{padding:3px 8px;color:#fff;font-size:15px;background:#1177fb;border-radius:12px;cursor:pointer}:host ::ng-deep table-single a{color:inherit}\n"] }]
330
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.NzMessageService }, { type: i2.NzModalService }, { type: i3.DisabledPipe }, { type: i3.DataTypePipe }, { type: i3.ItemPipe }, { type: i3.BuiltinPipe }, { type: i3.TemplateTypePipe }], propDecorators: { id: [{
331
+ type: Input
332
+ }], pageConfig: [{
333
+ type: Input
334
+ }], header: [{
335
+ type: Input
336
+ }], total: [{
337
+ type: Input
338
+ }], nzData: [{
339
+ type: Input
340
+ }], selectData: [{
341
+ type: Input
342
+ }], operationClick: [{
343
+ type: Output
344
+ }], componentClick: [{
345
+ type: Output
346
+ }], queryParamsChange: [{
347
+ type: Output
348
+ }], selectChange: [{
349
+ type: Output
350
+ }], rowDataChange: [{
351
+ type: Output
352
+ }], resize: [{
353
+ type: HostListener,
354
+ args: ['window:resize', ['$event']]
355
+ }] } });
356
+
357
+ class DeonTableOperationComponent {
358
+ params;
359
+ constructor() { }
360
+ ngOnInit() { }
361
+ agInit(params) {
362
+ this.params = params;
363
+ }
364
+ refresh(params) {
365
+ return false;
366
+ }
367
+ buttonClick(e, item) {
368
+ e.stopPropagation();
369
+ this.params.context.componentParent.methodFromParent({
370
+ type: item,
371
+ row: this.params.data,
372
+ });
373
+ }
374
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DeonTableOperationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
375
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: DeonTableOperationComponent, isStandalone: true, selector: "deon-table-operation", ngImport: i0, template: "<ng-container *ngIf=\"params.value && params.value!! && params.value.length>1;else btnTemplate\">\n <a nz-dropdown [nzDropdownMenu]=\"menu\" nzTrigger=\"click\" class=\"a-menu\">\n <i class=\"table-action\" nz-icon nzType=\"ellipsis\"></i>\n </a>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu nzSelectable>\n <ng-container *ngFor=\"let item of params.value\">\n <li nz-menu-item (click)=\"buttonClick($event,item)\">{{item | operation}}</li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n</ng-container>\n<ng-template #btnTemplate>\n <ng-container *ngFor=\"let item of params.value\">\n <a (click)=\"buttonClick($event,item)\"> {{item | operation}} </a>\n </ng-container>\n</ng-template>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: NzDropDownModule }, { kind: "directive", type: i5.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { kind: "component", type: i5.NzMenuItemComponent, selector: "[nz-menu-item]", inputs: ["nzPaddingLeft", "nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter"], exportAs: ["nzMenuItem"] }, { kind: "directive", type: i6.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { kind: "directive", type: i6.NzDropDownADirective, selector: "a[nz-dropdown]" }, { kind: "component", type: i6.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }, { kind: "ngmodule", type: GramPipeModule }, { kind: "pipe", type: i3.OperationPipe, name: "operation" }] });
376
+ }
377
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: DeonTableOperationComponent, decorators: [{
378
+ type: Component,
379
+ args: [{ selector: 'deon-table-operation', imports: [
380
+ CommonModule,
381
+ FormsModule,
382
+ NzDropDownModule,
383
+ GramPipeModule
384
+ ], template: "<ng-container *ngIf=\"params.value && params.value!! && params.value.length>1;else btnTemplate\">\n <a nz-dropdown [nzDropdownMenu]=\"menu\" nzTrigger=\"click\" class=\"a-menu\">\n <i class=\"table-action\" nz-icon nzType=\"ellipsis\"></i>\n </a>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu nzSelectable>\n <ng-container *ngFor=\"let item of params.value\">\n <li nz-menu-item (click)=\"buttonClick($event,item)\">{{item | operation}}</li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n</ng-container>\n<ng-template #btnTemplate>\n <ng-container *ngFor=\"let item of params.value\">\n <a (click)=\"buttonClick($event,item)\"> {{item | operation}} </a>\n </ng-container>\n</ng-template>" }]
385
+ }], ctorParameters: () => [] });
386
+
387
+ const COMPONENTS = [GramDeonNZTableTreeComponent];
388
+ const COMPONENTS_NOROUNT = [DeonTableOperationComponent];
389
+ class GramDeonNZTableTreeModule {
390
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramDeonNZTableTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
391
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: GramDeonNZTableTreeModule, imports: [GramDeonNZTableTreeComponent, DeonTableOperationComponent], exports: [GramDeonNZTableTreeComponent] });
392
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramDeonNZTableTreeModule, imports: [COMPONENTS, COMPONENTS_NOROUNT] });
393
+ }
394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: GramDeonNZTableTreeModule, decorators: [{
395
+ type: NgModule,
396
+ args: [{
397
+ imports: [...COMPONENTS, ...COMPONENTS_NOROUNT],
398
+ exports: [...COMPONENTS]
399
+ }]
400
+ }] });
401
+
402
+ /**
403
+ * Generated bundle index. Do not edit.
404
+ */
405
+
406
+ export { GramDeonNZTableTreeComponent, GramDeonNZTableTreeModule };
407
+ //# sourceMappingURL=components.nz-table-tree.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.nz-table-tree.mjs","sources":["../../../../packages/abc/nz-table-tree/src/default/index.ts","../../../../packages/abc/nz-table-tree/src/default/index.html","../../../../packages/abc/nz-table-tree/src/operation/index.ts","../../../../packages/abc/nz-table-tree/src/operation/index.html","../../../../packages/abc/nz-table-tree/src/index.module.ts","../../../../packages/abc/nz-table-tree/components.nz-table-tree.ts"],"sourcesContent":["import {\n Component,\n Input,\n Output,\n EventEmitter,\n OnInit,\n AfterViewInit,\n OnChanges,\n ElementRef,\n HostListener,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Renderer2,\n} from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from \"@angular/forms\";\nimport { NzMessageService } from 'ng-zorro-antd/message';\nimport { NzModalService } from 'ng-zorro-antd/modal';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { NzCheckboxModule } from 'ng-zorro-antd/checkbox';\nimport { NzTableModule } from 'ng-zorro-antd/table';\n\nimport { GramDeonEmptyModule } from \"@ebuilding/base/components/empty\";\nimport { GramDeonTextModule } from \"@ebuilding/abc/text\";\nimport { DisabledPipe, DataTypePipe, ItemPipe, BuiltinPipe, TemplateTypePipe, GramPipeModule } from '@ebuilding/base/shared.pipe';\nimport { DATEFORMAT } from '@ebuilding/base/shared.var/shared.constant';\n\nimport moment from 'moment';\n\nexport interface TreeNodeInterface {\n id: string;\n name: string;\n [additionalProperties: string]: any;\n children?: TreeNodeInterface[];\n parent?: TreeNodeInterface;\n}\n\n@Component({\n selector: 'gram-nz-table-tree',\n templateUrl: './index.html',\n styleUrls: ['./index.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n FormsModule,\n NzDropDownModule,\n NzCheckboxModule,\n\n NzTableModule,\n GramPipeModule,\n GramDeonEmptyModule,\n GramDeonTextModule\n ]\n})\nexport class GramDeonNZTableTreeComponent implements OnInit, AfterViewInit, OnChanges {\n _data: any[] = [];\n @Input() id: string = '';\n\n @Input() pageConfig: any = {};\n\n /**\n * 当前数据列头\n */\n @Input() header: any[] = [];\n\n /**\n * 当前总数据\n */\n @Input() total: number = 0;\n\n /**\n * 当前数据数组\n */\n @Input()\n set nzData(value: any[]) {\n this._data = value;\n if (value!! && value.length > 0) {\n value.forEach((item) => {\n this.mapOfExpandedData[item.id] = this.convertTreeToList(item);\n });\n }\n }\n get nzData() {\n return this._data;\n }\n\n @Input()\n set selectData(value: any[]) {\n if (value && value !== undefined && value != null && value.length > 0) {\n this._listSelectData = value;\n value.forEach((item: any) => {\n this.setOfCheckedId.add(item);\n });\n } else {\n this._listSelectData = [];\n }\n }\n get selectData() {\n return this._listSelectData;\n }\n\n /**\n * 操作列事件回调\n */\n @Output() operationClick: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n *\n */\n @Output() componentClick: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * 当服务端分页、筛选、排序时,用于获得参数\n */\n @Output() queryParamsChange: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * 当选中项变化时的回调函数\n */\n @Output() selectChange: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * 行排序事件回调\n */\n @Output() rowDataChange: EventEmitter<any> = new EventEmitter<any>();\n\n checkIds: string[] = [];\n _headerData: any[] = [];\n\n isAllChecked = false;\n isIndeterminate = false;\n\n listData: any[] = [];\n listDataCheckedId: { [key: string]: boolean } = {};\n listDataCheckedNumber = 0;\n listDataCheckedList: string[] = [];\n _listSelectData: any[] = [];\n\n setOfCheckedId = new Set<Object>();\n\n constructor(\n public elementRef: ElementRef,\n public renderer: Renderer2,\n public drf: ChangeDetectorRef,\n public msg: NzMessageService,\n public modal: NzModalService,\n private disabledPipe: DisabledPipe,\n private dataTypePipe: DataTypePipe,\n private itemTypePipe: ItemPipe,\n private builtinPipe: BuiltinPipe,\n private templateTypePipe: TemplateTypePipe,\n ) { }\n\n ngOnInit() { }\n\n ngAfterViewInit() { }\n\n ngOnChanges(change: any) {\n if (change['nzData']) {\n this.resizeTable();\n }\n }\n\n onItemChecked(id: string, checked: boolean): void {\n if (checked) {\n this.setOfCheckedId.add(id);\n } else {\n this.setOfCheckedId.delete(id);\n }\n let selectedId: any[] = [];\n for (let key of this.setOfCheckedId.keys()) {\n selectedId.push(key);\n }\n this.selectData = selectedId;\n this.selectChange.emit(selectedId);\n }\n\n cellDescription(item: any, headerDef: any) {\n let result: any = null;\n let value: any = item[headerDef.key];\n\n if (headerDef && headerDef.type != undefined && headerDef.type!! && value != undefined) {\n switch (headerDef.type) {\n case 'primary_name':\n if (this.pageConfig?.primary && this.pageConfig?.primary != null && this.pageConfig?.primary != '') {\n result = `<a>${value}</a>`;\n } else {\n result = `<a>${value}</a>`;\n }\n break;\n case 'date':\n result = moment(value).format(DATEFORMAT).toString();\n break;\n case 'employee':\n result = `<a>${value['emp_name']}</a>`;\n break;\n case 'link':\n let linkObj: any = this.getLinkData(value);\n if (linkObj.key) {\n result = `<a>${value[linkObj.key]}</a>`;\n }\n break;\n case 'disabled':\n result = this.disabledPipe.transform(value);\n break;\n case 'dataType':\n result = this.dataTypePipe.transform(value);\n break;\n case 'itemType':\n result = this.itemTypePipe.transform(value);\n break;\n case 'builtin':\n result = this.builtinPipe.transform(value);\n break;\n case 'templateType':\n result = this.templateTypePipe.transform(value);\n break;\n\n default:\n result = value;\n break;\n }\n } else {\n result = value == undefined ? '' : value;\n }\n return result;\n }\n\n cellClick(item: any, headerDef: any) {\n if (headerDef.type == undefined || headerDef.type == null) {\n return;\n }\n switch (headerDef.type) {\n case 'primary_name':\n this.componentClick.emit({\n rowCode: item[this.pageConfig?.primary?.key],\n rowData: item,\n columnKey: this.pageConfig?.primary?.name,\n });\n break;\n case 'employee':\n break;\n case 'link':\n let linkObj: any = this.getLinkData(item);\n if (linkObj.key) {\n this.componentClick.emit({\n rowCode: item[this.pageConfig?.primary?.key],\n rowData: item,\n columnKey: linkObj.collKey,\n });\n }\n break;\n default:\n break;\n }\n }\n\n trClick(item: any) {\n if (this.pageConfig?.list?.selectType == 'single') {\n let obj: any = {};\n obj[this.pageConfig.primary.key] = item[this.pageConfig.primary.key];\n obj[this.pageConfig.primary.name] = item[this.pageConfig.primary.name];\n this.selectData = [obj];\n this.selectChange.emit(this.selectData);\n }\n }\n\n buttonEvent(type: any, e: any) {\n this.operationClick.emit({\n rowCode: e[this.pageConfig?.primary?.key],\n rowData: e,\n columnKey: type,\n });\n }\n\n private getLinkData(data: any) {\n let result: any = {};\n if (this.pageConfig?.list?.linkItem != undefined && this.pageConfig?.list?.linkItem != null && data != undefined && data != null) {\n let keys: any = Object.keys(data);\n if (keys && Array.isArray(keys)) {\n result = this.pageConfig?.list?.linkItem[keys[0]];\n result.collKey = keys[0];\n }\n }\n return result;\n }\n\n deonTableContentHG: any = null;\n @HostListener('window:resize', ['$event'])\n resize() {\n this.resizeTable();\n }\n resizeTable() {\n if (this.pageConfig?.list?.height == 'auto') {\n } else {\n\n let content =\n this.pageConfig?.list?.height != undefined ? this.pageConfig?.list.height : this.elementRef.nativeElement.clientHeight;\n\n let tableHeader = 0;\n\n if (this.elementRef.nativeElement.querySelector('.ant-table-thead')) {\n tableHeader = this.elementRef.nativeElement.querySelector('.ant-table-thead').clientHeight;\n }\n this.calceWidth();\n if (tableHeader == 0 || tableHeader <= 50) {\n tableHeader = 50;\n }\n this.deonTableContentHG = {\n y: content - tableHeader + 'px',\n };\n }\n }\n\n mapOfExpandedData: { [key: string]: TreeNodeInterface[] } = {};\n\n collapse(array: TreeNodeInterface[], data: TreeNodeInterface, $event: boolean): void {\n if (!$event) {\n if (data.children) {\n data.children.forEach((d) => {\n const target = array.find((a) => a.id === d.id)!;\n target[\"expand\"] = false;\n this.collapse(array, target, false);\n });\n } else {\n return;\n }\n }\n }\n\n convertTreeToList(root: TreeNodeInterface): TreeNodeInterface[] {\n const stack: TreeNodeInterface[] = [];\n const array: TreeNodeInterface[] = [];\n const hashMap = {};\n stack.push({ ...root, level: 0, expand: true });\n\n while (stack.length !== 0) {\n const node = stack.pop()!;\n this.visitNode(node, hashMap, array);\n if (node.children) {\n for (let i = node.children.length - 1; i >= 0; i--) {\n stack.push({ ...node.children[i], level: node[\"level\"] + 1, expand: true, parent: node });\n }\n }\n }\n\n return array;\n }\n\n visitNode(node: TreeNodeInterface, hashMap: { [key: string]: boolean }, array: TreeNodeInterface[]): void {\n if (!hashMap[node.id]) {\n hashMap[node.id] = true;\n array.push(node);\n }\n }\n\n private calceWidth() {\n const items = this.header.filter((el) => el.key !== 'rowNo' && el.hide !== true);\n let tableWidth: number = 0;\n items.forEach((el) => {\n el.width = (el.width + '').replace('px', '');\n tableWidth += Number(el.width || 120);\n el.width = `${el.width || 120}px`;\n });\n\n this.header.forEach((item: any) => {\n if (item.auto != undefined && item.auto != null && item.auto == true) {\n item.width = this.elementRef.nativeElement.clientWidth - tableWidth - 140 + 'px';\n }\n });\n }\n}\n","<nz-table #expandTable [nzData]=\"nzData\" [nzFrontPagination]=\"false\" [nzShowPagination]=\"false\"\n [nzScroll]=\"deonTableContentHG\" class=\"default-table\"\n [ngClass]=\"{ 'table-single': pageConfig?.list?.selectType=='single','table-empty':nzData.length==0 }\"\n [nzNoResult]=\"noResult\">\n <thead>\n <tr>\n <ng-container *ngFor=\"let item of header\">\n <th *ngIf=\"item.hide!=true && item.type !='operation'\" [nzWidth]=\"item.width\">{{item.label}}</th>\n </ng-container>\n <th nzWidth=\"80px\" *ngIf=\"pageConfig?.operation?.show===true\">操作</th>\n </tr>\n </thead>\n <tbody>\n <ng-container *ngFor=\"let tableData of expandTable.data\">\n <ng-container *ngFor=\"let data of mapOfExpandedData[tableData.id];let i=index;\">\n <tr *ngIf=\"(data.parent && data.parent['expand']) || !data.parent\" (click)=\"trClick(data)\">\n <ng-container *ngFor=\"let item of header\">\n <ng-container *ngIf=\"item.key==pageConfig?.primary?.name;else otherTd\">\n <td [nzIndentSize]=\"data['level'] * 20\" [nzShowExpand]=\"data.children!! && data.children.length>0\"\n [(nzExpand)]=\"data['expand']\" (nzExpandChange)=\"collapse(mapOfExpandedData[data.id], data, $event)\">\n <label nz-checkbox [nzChecked]=\"setOfCheckedId.has(data.id)\"\n (nzCheckedChange)=\"onItemChecked(data.id, $event)\" *ngIf=\"pageConfig?.list?.selectType=='multiple'\">\n </label>\n <gram-text [data]=\"{item:data,header:item,config:this.pageConfig}\"\n (click)=\"cellClick(data,item)\"></gram-text>\n </td>\n </ng-container>\n <ng-template #otherTd>\n <ng-container *ngIf=\"item.hide!=true && item.type !='operation'\">\n <td>\n <gram-text [data]=\"{item:data,header:item,config:this.pageConfig}\"\n (click)=\"cellClick(data,item)\"></gram-text>\n </td>\n </ng-container>\n </ng-template>\n </ng-container>\n <td nzAlign=\"center\" *ngIf=\"pageConfig?.operation?.show===true\">\n <a nz-dropdown [nzDropdownMenu]=\"menu\"> <i class=\"table-action\" nz-icon nzType=\"ellipsis\"></i> </a>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu>\n <ng-container *ngFor=\"let button of data['operation']\">\n <li nz-menu-item (click)=\"buttonEvent(button,data)\">{{button | operation}}</li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n </td>\n </tr>\n </ng-container>\n </ng-container>\n </tbody>\n</nz-table>\n\n<ng-template #noResult>\n <gram-empty></gram-empty>\n</ng-template>","import { Component, OnInit } from '@angular/core';\nimport { CommonModule } from \"@angular/common\";\nimport { FormsModule } from '@angular/forms';\nimport { NzDropDownModule } from 'ng-zorro-antd/dropdown';\nimport { GramPipeModule } from \"@ebuilding/base/shared.pipe\"\n\n@Component({\n selector: 'deon-table-operation',\n templateUrl: './index.html',\n imports: [\n CommonModule,\n FormsModule,\n NzDropDownModule,\n GramPipeModule\n ]\n})\nexport class DeonTableOperationComponent implements OnInit {\n params: any;\n constructor() { }\n\n ngOnInit() { }\n\n agInit(params: any): void {\n this.params = params;\n }\n refresh(params: any): boolean {\n return false;\n }\n\n buttonClick(e: any, item: any) {\n e.stopPropagation();\n this.params.context.componentParent.methodFromParent({\n type: item,\n row: this.params.data,\n });\n }\n}\n","<ng-container *ngIf=\"params.value && params.value!! && params.value.length>1;else btnTemplate\">\n <a nz-dropdown [nzDropdownMenu]=\"menu\" nzTrigger=\"click\" class=\"a-menu\">\n <i class=\"table-action\" nz-icon nzType=\"ellipsis\"></i>\n </a>\n <nz-dropdown-menu #menu=\"nzDropdownMenu\">\n <ul nz-menu nzSelectable>\n <ng-container *ngFor=\"let item of params.value\">\n <li nz-menu-item (click)=\"buttonClick($event,item)\">{{item | operation}}</li>\n </ng-container>\n </ul>\n </nz-dropdown-menu>\n</ng-container>\n<ng-template #btnTemplate>\n <ng-container *ngFor=\"let item of params.value\">\n <a (click)=\"buttonClick($event,item)\"> {{item | operation}} </a>\n </ng-container>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { GramDeonNZTableTreeComponent } from './default/index';\nimport { DeonTableOperationComponent } from './operation/index';\nconst COMPONENTS: any[] = [GramDeonNZTableTreeComponent];\n\nconst COMPONENTS_NOROUNT: any = [DeonTableOperationComponent];\n\n@NgModule({\n imports: [...COMPONENTS, ...COMPONENTS_NOROUNT],\n exports: [...COMPONENTS]\n})\nexport class GramDeonNZTableTreeModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4"],"mappings":"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"}