@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.
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/button/index.d.ts +1 -0
- package/button/src/default/index.d.ts +15 -0
- package/button/src/index.module.d.ts +9 -0
- package/button/src/inner/index.d.ts +10 -0
- package/button/src/main/index.d.ts +16 -0
- package/button/src/public_api.d.ts +4 -0
- package/card/index.d.ts +1 -0
- package/card/src/card.service.d.ts +19 -0
- package/card/src/column-default/index.d.ts +22 -0
- package/card/src/column-img/index.d.ts +22 -0
- package/card/src/column-img1/index.d.ts +13 -0
- package/card/src/column-img2/index.d.ts +13 -0
- package/card/src/column-img3/index.d.ts +13 -0
- package/card/src/default/index.d.ts +45 -0
- package/card/src/design/index.d.ts +10 -0
- package/card/src/design-text/index.d.ts +10 -0
- package/card/src/index.module.d.ts +11 -0
- package/card/src/item-group/index.d.ts +16 -0
- package/card/src/item-text/index.d.ts +15 -0
- package/card/src/item.service.d.ts +20 -0
- package/card/src/public_api.d.ts +6 -0
- package/card-assess/index.d.ts +1 -0
- package/card-assess/src/default/index.d.ts +19 -0
- package/card-assess/src/index.module.d.ts +7 -0
- package/card-assess/src/public_api.d.ts +2 -0
- package/card-emp/index.d.ts +1 -0
- package/card-emp/src/default/index.d.ts +10 -0
- package/card-emp/src/emp-okr/index.d.ts +12 -0
- package/card-emp/src/index.module.d.ts +8 -0
- package/card-emp/src/public_api.d.ts +3 -0
- package/card-list/index.d.ts +1 -0
- package/card-list/src/default/index.d.ts +14 -0
- package/card-list/src/index.module.d.ts +7 -0
- package/card-list/src/public_api.d.ts +2 -0
- package/card-okr/index.d.ts +1 -0
- package/card-okr/src/default/index.d.ts +22 -0
- package/card-okr/src/index.module.d.ts +17 -0
- package/card-okr/src/kpi-stats1/index.d.ts +15 -0
- package/card-okr/src/kpi-stats2/index.d.ts +14 -0
- package/card-okr/src/kpi-stats3/index.d.ts +16 -0
- package/card-okr/src/objective/index.d.ts +14 -0
- package/card-okr/src/objective-dl/index.d.ts +16 -0
- package/card-okr/src/objective-dx/index.d.ts +16 -0
- package/card-okr/src/public_api.d.ts +11 -0
- package/card-okr/src/stats-default/index.d.ts +14 -0
- package/card-okr/src/stats-objective/index.d.ts +14 -0
- package/card-okr/src/stats-progress/index.d.ts +12 -0
- package/card-plan-kpi/index.d.ts +1 -0
- package/card-plan-kpi/src/default/index.d.ts +22 -0
- package/card-plan-kpi/src/index.module.d.ts +7 -0
- package/card-plan-kpi/src/public_api.d.ts +2 -0
- package/card-result/index.d.ts +1 -0
- package/card-result/src/default/index.d.ts +45 -0
- package/card-result/src/index.module.d.ts +8 -0
- package/card-result/src/public_api.d.ts +2 -0
- package/card-score/index.d.ts +1 -0
- package/card-score/src/default/index.d.ts +9 -0
- package/card-score/src/index.module.d.ts +8 -0
- package/card-score/src/public_api.d.ts +2 -0
- package/card-user/index.d.ts +1 -0
- package/card-user/src/default/index.d.ts +11 -0
- package/card-user/src/index.module.d.ts +7 -0
- package/card-user/src/public_api.d.ts +2 -0
- package/card2/index.d.ts +1 -0
- package/card2/src/default/index.d.ts +90 -0
- package/card2/src/index.module.d.ts +7 -0
- package/card2/src/public_api.d.ts +2 -0
- package/codemirror/index.d.ts +1 -0
- package/codemirror/src/default/index.d.ts +10 -0
- package/codemirror/src/index.module.d.ts +7 -0
- package/codemirror/src/public_api.d.ts +5 -0
- package/collect/index.d.ts +1 -0
- package/collect/src/default/index.d.ts +11 -0
- package/collect/src/index.module.d.ts +7 -0
- package/collect/src/public_api.d.ts +2 -0
- package/developing/index.d.ts +1 -0
- package/developing/src/default/index.d.ts +8 -0
- package/developing/src/index.module.d.ts +10 -0
- package/developing/src/public_api.d.ts +2 -0
- package/empty/index.d.ts +1 -0
- package/empty/src/default/index.d.ts +13 -0
- package/empty/src/index.module.d.ts +7 -0
- package/empty/src/public_api.d.ts +2 -0
- package/fesm2022/codemirror.mjs +806 -0
- package/fesm2022/codemirror.mjs.map +1 -0
- package/fesm2022/components.button.mjs +121 -0
- package/fesm2022/components.button.mjs.map +1 -0
- package/fesm2022/components.card-assess.mjs +68 -0
- package/fesm2022/components.card-assess.mjs.map +1 -0
- package/fesm2022/components.card-emp.mjs +65 -0
- package/fesm2022/components.card-emp.mjs.map +1 -0
- package/fesm2022/components.card-list.mjs +53 -0
- package/fesm2022/components.card-list.mjs.map +1 -0
- package/fesm2022/components.card-okr.mjs +370 -0
- package/fesm2022/components.card-okr.mjs.map +1 -0
- package/fesm2022/components.card-plan-kpi.mjs +68 -0
- package/fesm2022/components.card-plan-kpi.mjs.map +1 -0
- package/fesm2022/components.card-result.mjs +137 -0
- package/fesm2022/components.card-result.mjs.map +1 -0
- package/fesm2022/components.card-score.mjs +47 -0
- package/fesm2022/components.card-score.mjs.map +1 -0
- package/fesm2022/components.card-user.mjs +56 -0
- package/fesm2022/components.card-user.mjs.map +1 -0
- package/fesm2022/components.card.mjs +670 -0
- package/fesm2022/components.card.mjs.map +1 -0
- package/fesm2022/components.card2.mjs +463 -0
- package/fesm2022/components.card2.mjs.map +1 -0
- package/fesm2022/components.collect.mjs +57 -0
- package/fesm2022/components.collect.mjs.map +1 -0
- package/fesm2022/components.developing.mjs +38 -0
- package/fesm2022/components.developing.mjs.map +1 -0
- package/fesm2022/components.empty.mjs +54 -0
- package/fesm2022/components.empty.mjs.map +1 -0
- package/fesm2022/components.flow-button.mjs +89 -0
- package/fesm2022/components.flow-button.mjs.map +1 -0
- package/fesm2022/components.header-user.mjs +261 -0
- package/fesm2022/components.header-user.mjs.map +1 -0
- package/fesm2022/components.header.mjs +81 -0
- package/fesm2022/components.header.mjs.map +1 -0
- package/fesm2022/components.line.mjs +44 -0
- package/fesm2022/components.line.mjs.map +1 -0
- package/fesm2022/components.no-role.mjs +37 -0
- package/fesm2022/components.no-role.mjs.map +1 -0
- package/fesm2022/components.nz-table-tree.mjs +407 -0
- package/fesm2022/components.nz-table-tree.mjs.map +1 -0
- package/fesm2022/components.nz-table.mjs +463 -0
- package/fesm2022/components.nz-table.mjs.map +1 -0
- package/fesm2022/components.plan-item.mjs +249 -0
- package/fesm2022/components.plan-item.mjs.map +1 -0
- package/fesm2022/components.principal.mjs +59 -0
- package/fesm2022/components.principal.mjs.map +1 -0
- package/fesm2022/components.python.mjs +140 -0
- package/fesm2022/components.python.mjs.map +1 -0
- package/fesm2022/components.quick.mjs +158 -0
- package/fesm2022/components.quick.mjs.map +1 -0
- package/fesm2022/components.record.mjs +106 -0
- package/fesm2022/components.record.mjs.map +1 -0
- package/fesm2022/components.step-entry.mjs +50 -0
- package/fesm2022/components.step-entry.mjs.map +1 -0
- package/fesm2022/components.target-value.mjs +83 -0
- package/fesm2022/components.target-value.mjs.map +1 -0
- package/fesm2022/components.text.mjs +444 -0
- package/fesm2022/components.text.mjs.map +1 -0
- package/fesm2022/components.tree.mjs +203 -0
- package/fesm2022/components.tree.mjs.map +1 -0
- package/fesm2022/ebuilding-abc.mjs +121 -0
- package/fesm2022/ebuilding-abc.mjs.map +1 -0
- package/flow-button/index.d.ts +1 -0
- package/flow-button/src/default/index.d.ts +14 -0
- package/flow-button/src/index.module.d.ts +7 -0
- package/flow-button/src/public_api.d.ts +2 -0
- package/header/index.d.ts +1 -0
- package/header/src/default/index.d.ts +16 -0
- package/header/src/index.module.d.ts +10 -0
- package/header/src/public_api.d.ts +2 -0
- package/header-user/index.d.ts +1 -0
- package/header-user/src/default/index.d.ts +57 -0
- package/header-user/src/index.module.d.ts +7 -0
- package/header-user/src/public_api.d.ts +2 -0
- package/index.d.ts +1 -0
- package/line/index.d.ts +1 -0
- package/line/src/default/index.d.ts +9 -0
- package/line/src/index.module.d.ts +10 -0
- package/line/src/public_api.d.ts +2 -0
- package/no-role/index.d.ts +1 -0
- package/no-role/src/default/index.d.ts +9 -0
- package/no-role/src/index.module.d.ts +8 -0
- package/no-role/src/public_api.d.ts +2 -0
- package/nz-table/index.d.ts +1 -0
- package/nz-table/src/default/index.d.ts +90 -0
- package/nz-table/src/index.module.d.ts +7 -0
- package/nz-table/src/public_api.d.ts +2 -0
- package/nz-table-tree/index.d.ts +1 -0
- package/nz-table-tree/src/default/index.d.ts +98 -0
- package/nz-table-tree/src/index.module.d.ts +8 -0
- package/nz-table-tree/src/operation/index.d.ts +12 -0
- package/nz-table-tree/src/public_api.d.ts +2 -0
- package/package.json +144 -0
- package/plan-item/index.d.ts +1 -0
- package/plan-item/src/default/index.d.ts +45 -0
- package/plan-item/src/index.module.d.ts +7 -0
- package/plan-item/src/public_api.d.ts +2 -0
- package/principal/index.d.ts +1 -0
- package/principal/src/default/index.d.ts +15 -0
- package/principal/src/index.module.d.ts +7 -0
- package/principal/src/public_api.d.ts +2 -0
- package/python/index.d.ts +1 -0
- package/python/src/default/index.d.ts +8 -0
- package/python/src/index.module.d.ts +8 -0
- package/python/src/public_api.d.ts +2 -0
- package/quick/index.d.ts +1 -0
- package/quick/src/datetime/index.d.ts +12 -0
- package/quick/src/default/index.d.ts +14 -0
- package/quick/src/index.module.d.ts +10 -0
- package/quick/src/public_api.d.ts +2 -0
- package/record/index.d.ts +1 -0
- package/record/src/default/index.d.ts +12 -0
- package/record/src/index.module.d.ts +8 -0
- package/record/src/main/index.d.ts +12 -0
- package/record/src/public_api.d.ts +3 -0
- package/step-entry/index.d.ts +1 -0
- package/step-entry/src/default/index.d.ts +12 -0
- package/step-entry/src/index.module.d.ts +9 -0
- package/step-entry/src/public_api.d.ts +2 -0
- package/target-value/index.d.ts +1 -0
- package/target-value/src/default/index.d.ts +17 -0
- package/target-value/src/index.module.d.ts +8 -0
- package/target-value/src/public_api.d.ts +2 -0
- package/text/index.d.ts +1 -0
- package/text/src/default/index.d.ts +25 -0
- package/text/src/index.module.d.ts +9 -0
- package/text/src/public_api.d.ts +2 -0
- package/text/src/text.service.d.ts +57 -0
- package/tree/index.d.ts +1 -0
- package/tree/src/default/index.d.ts +39 -0
- package/tree/src/index.module.d.ts +9 -0
- 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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"}
|