cps-ui-kit 18.10.0 → 19.1.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/fesm2022/cps-ui-kit.mjs +281 -319
- package/fesm2022/cps-ui-kit.mjs.map +1 -1
- package/lib/components/cps-autocomplete/cps-autocomplete.component.d.ts +3 -3
- package/lib/components/cps-menu/cps-menu.component.d.ts +4 -3
- package/lib/components/cps-select/cps-select.component.d.ts +2 -2
- package/lib/services/cps-dialog/internal/components/cps-dialog/cps-dialog.component.d.ts +3 -3
- package/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.d.ts +3 -3
- package/package.json +6 -8
- package/styles/styles.scss +9 -0
- package/esm2022/cps-ui-kit.mjs +0 -5
- package/esm2022/lib/components/cps-autocomplete/cps-autocomplete.component.mjs +0 -948
- package/esm2022/lib/components/cps-button/cps-button.component.mjs +0 -205
- package/esm2022/lib/components/cps-button-toggle/cps-button-toggle.component.mjs +0 -239
- package/esm2022/lib/components/cps-checkbox/cps-checkbox.component.mjs +0 -154
- package/esm2022/lib/components/cps-chip/cps-chip.component.mjs +0 -94
- package/esm2022/lib/components/cps-datepicker/cps-datepicker.component.mjs +0 -382
- package/esm2022/lib/components/cps-divider/cps-divider.component.mjs +0 -60
- package/esm2022/lib/components/cps-expansion-panel/cps-expansion-panel.component.mjs +0 -213
- package/esm2022/lib/components/cps-file-upload/cps-file-upload.component.mjs +0 -182
- package/esm2022/lib/components/cps-icon/cps-icon.component.mjs +0 -203
- package/esm2022/lib/components/cps-info-circle/cps-info-circle.component.mjs +0 -61
- package/esm2022/lib/components/cps-input/cps-input.component.mjs +0 -385
- package/esm2022/lib/components/cps-loader/cps-loader.component.mjs +0 -58
- package/esm2022/lib/components/cps-menu/cps-menu.component.mjs +0 -572
- package/esm2022/lib/components/cps-paginator/cps-paginator.component.mjs +0 -118
- package/esm2022/lib/components/cps-paginator/pipes/cps-paginate.pipe.mjs +0 -30
- package/esm2022/lib/components/cps-progress-circular/cps-progress-circular.component.mjs +0 -51
- package/esm2022/lib/components/cps-progress-linear/cps-progress-linear.component.mjs +0 -75
- package/esm2022/lib/components/cps-radio-group/cps-radio/cps-radio.component.mjs +0 -42
- package/esm2022/lib/components/cps-radio-group/cps-radio-button/cps-radio-button.component.mjs +0 -77
- package/esm2022/lib/components/cps-radio-group/cps-radio-group.component.mjs +0 -225
- package/esm2022/lib/components/cps-scheduler/cps-scheduler.component.mjs +0 -682
- package/esm2022/lib/components/cps-scheduler/cps-scheduler.utils.mjs +0 -604
- package/esm2022/lib/components/cps-select/cps-select.component.mjs +0 -654
- package/esm2022/lib/components/cps-sidebar-menu/cps-sidebar-menu.component.mjs +0 -110
- package/esm2022/lib/components/cps-switch/cps-switch.component.mjs +0 -131
- package/esm2022/lib/components/cps-tab-group/cps-tab/cps-tab.component.mjs +0 -86
- package/esm2022/lib/components/cps-tab-group/cps-tab-group.component.mjs +0 -308
- package/esm2022/lib/components/cps-table/components/internal/cps-sort-icon/cps-sort-icon.component.mjs +0 -79
- package/esm2022/lib/components/cps-table/components/internal/table-column-filter/table-column-filter.component.mjs +0 -407
- package/esm2022/lib/components/cps-table/components/internal/table-column-filter-constraint/table-column-filter-constraint.component.mjs +0 -147
- package/esm2022/lib/components/cps-table/components/internal/table-row-menu/table-row-menu.component.mjs +0 -105
- package/esm2022/lib/components/cps-table/cps-column-filter-types.mjs +0 -29
- package/esm2022/lib/components/cps-table/cps-table.component.mjs +0 -1022
- package/esm2022/lib/components/cps-table/directives/cps-table-column-filter.directive.mjs +0 -181
- package/esm2022/lib/components/cps-table/directives/cps-table-column-resizable.directive.mjs +0 -22
- package/esm2022/lib/components/cps-table/directives/cps-table-column-sortable.directive.mjs +0 -47
- package/esm2022/lib/components/cps-table/directives/cps-table-header-selectable.directive.mjs +0 -32
- package/esm2022/lib/components/cps-table/directives/cps-table-row-selectable.directive.mjs +0 -35
- package/esm2022/lib/components/cps-table/directives/internal/table-unsort.directive.mjs +0 -212
- package/esm2022/lib/components/cps-table/pipes/cps-table-detect-filter-type.pipe.mjs +0 -29
- package/esm2022/lib/components/cps-tag/cps-tag.component.mjs +0 -121
- package/esm2022/lib/components/cps-textarea/cps-textarea.component.mjs +0 -290
- package/esm2022/lib/components/cps-timepicker/cps-timepicker.component.mjs +0 -370
- package/esm2022/lib/components/cps-tree-autocomplete/cps-tree-autocomplete.component.mjs +0 -273
- package/esm2022/lib/components/cps-tree-select/cps-tree-select.component.mjs +0 -87
- package/esm2022/lib/components/cps-tree-table/cps-tree-table.component.mjs +0 -1279
- package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-column-filter.directive.mjs +0 -174
- package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-column-resizable.directive.mjs +0 -22
- package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-column-sortable.directive.mjs +0 -47
- package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-header-selectable.directive.mjs +0 -33
- package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-row-selectable.directive.mjs +0 -36
- package/esm2022/lib/components/cps-tree-table/directives/cps-tree-table-row-toggler.directive.mjs +0 -48
- package/esm2022/lib/components/cps-tree-table/directives/internal/tree-table-unsort.directive.mjs +0 -352
- package/esm2022/lib/components/cps-tree-table/pipes/cps-tree-table-detect-filter-type.pipe.mjs +0 -30
- package/esm2022/lib/components/internal/cps-base-tree-dropdown/cps-base-tree-dropdown.component.mjs +0 -656
- package/esm2022/lib/directives/cps-tooltip/cps-tooltip.directive.mjs +0 -275
- package/esm2022/lib/pipes/internal/check-option-selected.pipe.mjs +0 -24
- package/esm2022/lib/pipes/internal/combine-labels.pipe.mjs +0 -25
- package/esm2022/lib/pipes/internal/label-by-value.pipe.mjs +0 -16
- package/esm2022/lib/services/cps-dialog/cps-dialog.service.mjs +0 -146
- package/esm2022/lib/services/cps-dialog/internal/components/cps-confirmation/cps-confirmation.component.mjs +0 -25
- package/esm2022/lib/services/cps-dialog/internal/components/cps-dialog/cps-dialog.component.mjs +0 -470
- package/esm2022/lib/services/cps-dialog/internal/directives/cps-dialog-content.directive.mjs +0 -18
- package/esm2022/lib/services/cps-dialog/utils/cps-dialog-config.mjs +0 -3
- package/esm2022/lib/services/cps-dialog/utils/cps-dialog-ref.mjs +0 -128
- package/esm2022/lib/services/cps-notification/cps-notification.service.mjs +0 -122
- package/esm2022/lib/services/cps-notification/internal/components/cps-notification-container/cps-notification-container.component.mjs +0 -95
- package/esm2022/lib/services/cps-notification/internal/components/cps-toast/cps-toast.component.mjs +0 -106
- package/esm2022/lib/services/cps-notification/utils/cps-notification-config.mjs +0 -27
- package/esm2022/lib/services/cps-notification/utils/internal/cps-notification-data.mjs +0 -12
- package/esm2022/lib/utils/colors-utils.mjs +0 -59
- package/esm2022/lib/utils/internal/size-utils.mjs +0 -24
- package/esm2022/public-api.mjs +0 -58
package/esm2022/lib/components/cps-tree-table/directives/internal/tree-table-unsort.directive.mjs
DELETED
|
@@ -1,352 +0,0 @@
|
|
|
1
|
-
import { Directive, Host, Self, Optional } from '@angular/core';
|
|
2
|
-
import { ObjectUtils } from 'primeng/utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "primeng/treetable";
|
|
5
|
-
export class TreeTableUnsortDirective {
|
|
6
|
-
constructor(pTreeTable) {
|
|
7
|
-
this.pTreeTable = pTreeTable;
|
|
8
|
-
this.sort(pTreeTable);
|
|
9
|
-
this.sortNodes(pTreeTable);
|
|
10
|
-
this.sortMultipleNodes(pTreeTable);
|
|
11
|
-
this.multisortField(pTreeTable);
|
|
12
|
-
this.filter(pTreeTable);
|
|
13
|
-
this.findFilteredNodes(pTreeTable);
|
|
14
|
-
}
|
|
15
|
-
sort(pTreeTable) {
|
|
16
|
-
pTreeTable.sort = (event) => {
|
|
17
|
-
if (pTreeTable.sortMode === 'single') {
|
|
18
|
-
if (pTreeTable.sortField === event.field &&
|
|
19
|
-
pTreeTable.sortOrder === -1) {
|
|
20
|
-
event.field = '_defaultSortOrder';
|
|
21
|
-
}
|
|
22
|
-
pTreeTable._sortOrder =
|
|
23
|
-
pTreeTable.sortField === event.field
|
|
24
|
-
? pTreeTable.sortOrder * -1
|
|
25
|
-
: pTreeTable.defaultSortOrder;
|
|
26
|
-
pTreeTable._sortField = event.field;
|
|
27
|
-
pTreeTable.sortSingle();
|
|
28
|
-
}
|
|
29
|
-
if (pTreeTable.sortMode === 'multiple') {
|
|
30
|
-
let resetIndex = false;
|
|
31
|
-
const sortMeta = pTreeTable.getSortMeta(event.field);
|
|
32
|
-
if (sortMeta && pTreeTable.multiSortMeta) {
|
|
33
|
-
for (let i = 0; i < pTreeTable.multiSortMeta.length; i++) {
|
|
34
|
-
if (pTreeTable.multiSortMeta[i].field === sortMeta.field) {
|
|
35
|
-
pTreeTable.multiSortMeta.splice(i, 1);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (sortMeta.order === 1) {
|
|
39
|
-
sortMeta.order = sortMeta.order * -1;
|
|
40
|
-
pTreeTable.multiSortMeta.push(sortMeta);
|
|
41
|
-
}
|
|
42
|
-
if (pTreeTable.multiSortMeta.length === 0) {
|
|
43
|
-
pTreeTable.multiSortMeta.push({
|
|
44
|
-
field: '_defaultSortOrder',
|
|
45
|
-
order: pTreeTable.defaultSortOrder
|
|
46
|
-
});
|
|
47
|
-
resetIndex = true;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
if (!pTreeTable.multiSortMeta) {
|
|
52
|
-
pTreeTable.multiSortMeta = [];
|
|
53
|
-
}
|
|
54
|
-
pTreeTable.multiSortMeta.push({
|
|
55
|
-
field: event.field,
|
|
56
|
-
order: pTreeTable.defaultSortOrder
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
pTreeTable.sortMultiple();
|
|
60
|
-
if (resetIndex)
|
|
61
|
-
pTreeTable.multiSortMeta = [];
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
sortNodes(pTreeTable) {
|
|
66
|
-
pTreeTable.sortNodes = (nodes) => {
|
|
67
|
-
if (!nodes || nodes.length === 0) {
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
this._syncNodesParams(pTreeTable.filteredNodes, nodes);
|
|
71
|
-
if (pTreeTable.customSort) {
|
|
72
|
-
pTreeTable.sortFunction.emit({
|
|
73
|
-
data: nodes,
|
|
74
|
-
mode: pTreeTable.sortMode,
|
|
75
|
-
field: pTreeTable.sortField || undefined,
|
|
76
|
-
order: pTreeTable.sortOrder
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
const isUnsort = pTreeTable.sortField === '_defaultSortOrder';
|
|
81
|
-
nodes.sort((node1, node2) => {
|
|
82
|
-
const value1 = isUnsort
|
|
83
|
-
? node1._defaultSortOrder
|
|
84
|
-
: ObjectUtils.resolveFieldData(node1.data, pTreeTable.sortField);
|
|
85
|
-
const value2 = isUnsort
|
|
86
|
-
? node2._defaultSortOrder
|
|
87
|
-
: ObjectUtils.resolveFieldData(node2.data, pTreeTable.sortField);
|
|
88
|
-
let result = null;
|
|
89
|
-
if (value1 == null && value2 != null)
|
|
90
|
-
result = -1;
|
|
91
|
-
else if (value1 != null && value2 == null)
|
|
92
|
-
result = 1;
|
|
93
|
-
else if (value1 == null && value2 == null)
|
|
94
|
-
result = 0;
|
|
95
|
-
else if (typeof value1 === 'string' && typeof value2 === 'string')
|
|
96
|
-
result = value1.localeCompare(value2, undefined, { numeric: true });
|
|
97
|
-
else
|
|
98
|
-
result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;
|
|
99
|
-
return pTreeTable.sortOrder * result;
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
for (const node of nodes) {
|
|
103
|
-
if (node.children)
|
|
104
|
-
pTreeTable.sortNodes(node.children);
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
sortMultipleNodes(pTreeTable) {
|
|
109
|
-
pTreeTable.sortMultipleNodes = (nodes) => {
|
|
110
|
-
if (!nodes || nodes.length === 0) {
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
this._syncNodesParams(pTreeTable.filteredNodes, nodes);
|
|
114
|
-
if (pTreeTable.customSort) {
|
|
115
|
-
pTreeTable.sortFunction.emit({
|
|
116
|
-
data: pTreeTable.value,
|
|
117
|
-
mode: pTreeTable.sortMode,
|
|
118
|
-
multiSortMeta: pTreeTable.multiSortMeta
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
nodes.sort((node1, node2) => {
|
|
123
|
-
return pTreeTable.multisortField(node1, node2, pTreeTable.multiSortMeta || [], 0);
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
for (const node of nodes) {
|
|
127
|
-
if (node.children)
|
|
128
|
-
pTreeTable.sortMultipleNodes(node.children);
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
multisortField(pTreeTable) {
|
|
133
|
-
pTreeTable.multisortField = (node1, node2, multiSortMeta, index) => {
|
|
134
|
-
if (ObjectUtils.isEmpty(pTreeTable.multiSortMeta) ||
|
|
135
|
-
ObjectUtils.isEmpty(multiSortMeta[index])) {
|
|
136
|
-
return 0;
|
|
137
|
-
}
|
|
138
|
-
const isUnsort = multiSortMeta[index].field === '_defaultSortOrder';
|
|
139
|
-
const value1 = isUnsort
|
|
140
|
-
? node1._defaultSortOrder
|
|
141
|
-
: ObjectUtils.resolveFieldData(node1.data, multiSortMeta[index].field);
|
|
142
|
-
const value2 = isUnsort
|
|
143
|
-
? node2._defaultSortOrder
|
|
144
|
-
: ObjectUtils.resolveFieldData(node2.data, multiSortMeta[index].field);
|
|
145
|
-
let result = 0;
|
|
146
|
-
if (value1 == null && value2 != null)
|
|
147
|
-
result = -1;
|
|
148
|
-
else if (value1 != null && value2 == null)
|
|
149
|
-
result = 1;
|
|
150
|
-
else if (value1 == null && value2 == null)
|
|
151
|
-
result = 0;
|
|
152
|
-
if (typeof value1 === 'string' || value1 instanceof String) {
|
|
153
|
-
if (value1.localeCompare && value1 !== value2) {
|
|
154
|
-
return (multiSortMeta[index].order *
|
|
155
|
-
value1.localeCompare(value2, undefined, { numeric: true }));
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
result = value1 < value2 ? -1 : 1;
|
|
160
|
-
}
|
|
161
|
-
if (value1 === value2) {
|
|
162
|
-
return multiSortMeta.length - 1 > index
|
|
163
|
-
? pTreeTable.multisortField(node1, node2, multiSortMeta, index + 1)
|
|
164
|
-
: 0;
|
|
165
|
-
}
|
|
166
|
-
return multiSortMeta[index].order * result;
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
filter(pTreeTable) {
|
|
170
|
-
pTreeTable._filter = () => {
|
|
171
|
-
if (pTreeTable.lazy) {
|
|
172
|
-
pTreeTable.onLazyLoad.emit(pTreeTable.createLazyLoadMetadata());
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
if (!pTreeTable.value) {
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
if (!pTreeTable.hasFilter()) {
|
|
179
|
-
pTreeTable.filteredNodes = null;
|
|
180
|
-
if (pTreeTable.paginator) {
|
|
181
|
-
pTreeTable.totalRecords = pTreeTable.value
|
|
182
|
-
? pTreeTable.value.length
|
|
183
|
-
: 0;
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
else {
|
|
187
|
-
let globalFilterFieldsArray;
|
|
188
|
-
if (pTreeTable.filters.global) {
|
|
189
|
-
if (!pTreeTable.columns && !pTreeTable.globalFilterFields)
|
|
190
|
-
throw new Error('Global filtering requires dynamic columns or globalFilterFields to be defined.');
|
|
191
|
-
else
|
|
192
|
-
globalFilterFieldsArray =
|
|
193
|
-
pTreeTable.globalFilterFields || pTreeTable.columns;
|
|
194
|
-
}
|
|
195
|
-
this._syncNodesParams(pTreeTable.filteredNodes, pTreeTable.value);
|
|
196
|
-
pTreeTable.filteredNodes = [];
|
|
197
|
-
const isStrictMode = pTreeTable.filterMode === 'strict';
|
|
198
|
-
let isValueChanged = false;
|
|
199
|
-
for (const [idx, node] of pTreeTable.value.entries()) {
|
|
200
|
-
let copyNode = { ...node };
|
|
201
|
-
let localMatch = true;
|
|
202
|
-
let globalMatch = false;
|
|
203
|
-
let paramsWithoutNode;
|
|
204
|
-
for (const prop in pTreeTable.filters) {
|
|
205
|
-
if (
|
|
206
|
-
// eslint-disable-next-line no-prototype-builtins
|
|
207
|
-
pTreeTable.filters.hasOwnProperty(prop) &&
|
|
208
|
-
prop !== 'global') {
|
|
209
|
-
const filterMeta = pTreeTable.filters[prop];
|
|
210
|
-
const filterField = prop;
|
|
211
|
-
const filterValue = filterMeta?.value;
|
|
212
|
-
const filterMatchMode = filterMeta?.matchMode || 'startsWith';
|
|
213
|
-
const filterConstraint = pTreeTable.filterService.filters[filterMatchMode];
|
|
214
|
-
paramsWithoutNode = {
|
|
215
|
-
filterField,
|
|
216
|
-
filterValue,
|
|
217
|
-
filterConstraint,
|
|
218
|
-
isStrictMode
|
|
219
|
-
};
|
|
220
|
-
if ((isStrictMode &&
|
|
221
|
-
!(pTreeTable.findFilteredNodes(copyNode, paramsWithoutNode) ||
|
|
222
|
-
pTreeTable.isFilterMatched(copyNode, paramsWithoutNode))) ||
|
|
223
|
-
(!isStrictMode &&
|
|
224
|
-
!(pTreeTable.isFilterMatched(copyNode, paramsWithoutNode) ||
|
|
225
|
-
pTreeTable.findFilteredNodes(copyNode, paramsWithoutNode)))) {
|
|
226
|
-
localMatch = false;
|
|
227
|
-
}
|
|
228
|
-
if (!localMatch) {
|
|
229
|
-
break;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
if (pTreeTable.filters.global &&
|
|
234
|
-
!globalMatch &&
|
|
235
|
-
globalFilterFieldsArray) {
|
|
236
|
-
const copyNodeForGlobal = { ...copyNode };
|
|
237
|
-
const filterField = undefined;
|
|
238
|
-
const filterValue = pTreeTable.filters.global.value;
|
|
239
|
-
const filterConstraint = pTreeTable.filterService.filters[pTreeTable.filters.global
|
|
240
|
-
.matchMode];
|
|
241
|
-
paramsWithoutNode = {
|
|
242
|
-
filterField,
|
|
243
|
-
filterValue,
|
|
244
|
-
filterConstraint,
|
|
245
|
-
isStrictMode,
|
|
246
|
-
globalFilterFieldsArray
|
|
247
|
-
};
|
|
248
|
-
if ((isStrictMode &&
|
|
249
|
-
(pTreeTable.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) ||
|
|
250
|
-
pTreeTable.isFilterMatched(copyNodeForGlobal, paramsWithoutNode))) ||
|
|
251
|
-
(!isStrictMode &&
|
|
252
|
-
(pTreeTable.isFilterMatched(copyNodeForGlobal, paramsWithoutNode) ||
|
|
253
|
-
pTreeTable.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode)))) {
|
|
254
|
-
globalMatch = true;
|
|
255
|
-
copyNode = copyNodeForGlobal;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
let matches = localMatch;
|
|
259
|
-
if (pTreeTable.filters.global) {
|
|
260
|
-
matches = localMatch && globalMatch;
|
|
261
|
-
}
|
|
262
|
-
if (matches) {
|
|
263
|
-
copyNode._idx = idx;
|
|
264
|
-
pTreeTable.filteredNodes.push(copyNode);
|
|
265
|
-
}
|
|
266
|
-
isValueChanged =
|
|
267
|
-
isValueChanged ||
|
|
268
|
-
!localMatch ||
|
|
269
|
-
globalMatch ||
|
|
270
|
-
(localMatch && pTreeTable.filteredNodes.length > 0) ||
|
|
271
|
-
(!globalMatch && pTreeTable.filteredNodes.length === 0);
|
|
272
|
-
}
|
|
273
|
-
if (!isValueChanged) {
|
|
274
|
-
pTreeTable.filteredNodes = null;
|
|
275
|
-
}
|
|
276
|
-
if (pTreeTable.paginator) {
|
|
277
|
-
pTreeTable.totalRecords = pTreeTable.filteredNodes
|
|
278
|
-
? pTreeTable.filteredNodes.length
|
|
279
|
-
: pTreeTable.value
|
|
280
|
-
? pTreeTable.value.length
|
|
281
|
-
: 0;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
pTreeTable.first = 0;
|
|
286
|
-
const filteredValue = pTreeTable.filteredNodes || pTreeTable.value;
|
|
287
|
-
pTreeTable.onFilter.emit({
|
|
288
|
-
filters: pTreeTable.filters,
|
|
289
|
-
filteredValue
|
|
290
|
-
});
|
|
291
|
-
pTreeTable.tableService.onUIUpdate(filteredValue);
|
|
292
|
-
pTreeTable.updateSerializedValue();
|
|
293
|
-
if (pTreeTable.scrollable) {
|
|
294
|
-
pTreeTable.resetScrollTop();
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
}
|
|
298
|
-
findFilteredNodes(pTreeTable) {
|
|
299
|
-
pTreeTable.findFilteredNodes = (node, paramsWithoutNode) => {
|
|
300
|
-
if (node) {
|
|
301
|
-
let matched = false;
|
|
302
|
-
if (node.children) {
|
|
303
|
-
const childNodes = [...node.children];
|
|
304
|
-
node.children = [];
|
|
305
|
-
for (const [idx, childNode] of childNodes.entries()) {
|
|
306
|
-
const copyChildNode = { ...childNode };
|
|
307
|
-
if (pTreeTable.isFilterMatched(copyChildNode, paramsWithoutNode)) {
|
|
308
|
-
matched = true;
|
|
309
|
-
copyChildNode._idx = idx;
|
|
310
|
-
node.children.push(copyChildNode);
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
if (matched) {
|
|
315
|
-
return true;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
};
|
|
319
|
-
}
|
|
320
|
-
_syncNodesParams(from, to) {
|
|
321
|
-
if (!from || !to)
|
|
322
|
-
return;
|
|
323
|
-
from.forEach((source) => {
|
|
324
|
-
const idx = source._idx;
|
|
325
|
-
if (typeof idx === 'number') {
|
|
326
|
-
const target = to[idx];
|
|
327
|
-
delete source._idx;
|
|
328
|
-
if (target) {
|
|
329
|
-
target.expanded = source.expanded;
|
|
330
|
-
target.partialSelected = source.partialSelected;
|
|
331
|
-
this._syncNodesParams(source.children, target.children);
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
});
|
|
335
|
-
}
|
|
336
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: TreeTableUnsortDirective, deps: [{ token: i1.TreeTable, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
337
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.3", type: TreeTableUnsortDirective, isStandalone: true, selector: "[ttWithUnsort]", ngImport: i0 }); }
|
|
338
|
-
}
|
|
339
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: TreeTableUnsortDirective, decorators: [{
|
|
340
|
-
type: Directive,
|
|
341
|
-
args: [{
|
|
342
|
-
standalone: true,
|
|
343
|
-
selector: '[ttWithUnsort]'
|
|
344
|
-
}]
|
|
345
|
-
}], ctorParameters: () => [{ type: i1.TreeTable, decorators: [{
|
|
346
|
-
type: Host
|
|
347
|
-
}, {
|
|
348
|
-
type: Self
|
|
349
|
-
}, {
|
|
350
|
-
type: Optional
|
|
351
|
-
}] }] });
|
|
352
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS10YWJsZS11bnNvcnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3BzLXVpLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY3BzLXRyZWUtdGFibGUvZGlyZWN0aXZlcy9pbnRlcm5hbC90cmVlLXRhYmxlLXVuc29ydC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFNNUMsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUErQyxVQUFxQjtRQUFyQixlQUFVLEdBQVYsVUFBVSxDQUFXO1FBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBSSxDQUFDLFVBQXFCO1FBQ3hCLFVBQVUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUMvQixJQUFJLFVBQVUsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3JDLElBQ0UsVUFBVSxDQUFDLFNBQVMsS0FBSyxLQUFLLENBQUMsS0FBSztvQkFDcEMsVUFBVSxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsRUFDM0IsQ0FBQztvQkFDRCxLQUFLLENBQUMs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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBTZWxmLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJlZVRhYmxlIH0gZnJvbSAncHJpbWVuZy90cmVldGFibGUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdwcmltZW5nL3V0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW3R0V2l0aFVuc29ydF0nXG59KVxuZXhwb3J0IGNsYXNzIFRyZWVUYWJsZVVuc29ydERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgQFNlbGYoKSBAT3B0aW9uYWwoKSBwdWJsaWMgcFRyZWVUYWJsZTogVHJlZVRhYmxlKSB7XG4gICAgdGhpcy5zb3J0KHBUcmVlVGFibGUpO1xuICAgIHRoaXMuc29ydE5vZGVzKHBUcmVlVGFibGUpO1xuICAgIHRoaXMuc29ydE11bHRpcGxlTm9kZXMocFRyZWVUYWJsZSk7XG4gICAgdGhpcy5tdWx0aXNvcnRGaWVsZChwVHJlZVRhYmxlKTtcbiAgICB0aGlzLmZpbHRlcihwVHJlZVRhYmxlKTtcbiAgICB0aGlzLmZpbmRGaWx0ZXJlZE5vZGVzKHBUcmVlVGFibGUpO1xuICB9XG5cbiAgc29ydChwVHJlZVRhYmxlOiBUcmVlVGFibGUpIHtcbiAgICBwVHJlZVRhYmxlLnNvcnQgPSAoZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKHBUcmVlVGFibGUuc29ydE1vZGUgPT09ICdzaW5nbGUnKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwVHJlZVRhYmxlLnNvcnRGaWVsZCA9PT0gZXZlbnQuZmllbGQgJiZcbiAgICAgICAgICBwVHJlZVRhYmxlLnNvcnRPcmRlciA9PT0gLTFcbiAgICAgICAgKSB7XG4gICAgICAgICAgZXZlbnQuZmllbGQgPSAnX2RlZmF1bHRTb3J0T3JkZXInO1xuICAgICAgICB9XG5cbiAgICAgICAgcFRyZWVUYWJsZS5fc29ydE9yZGVyID1cbiAgICAgICAgICBwVHJlZVRhYmxlLnNvcnRGaWVsZCA9PT0gZXZlbnQuZmllbGRcbiAgICAgICAgICAgID8gcFRyZWVUYWJsZS5zb3J0T3JkZXIgKiAtMVxuICAgICAgICAgICAgOiBwVHJlZVRhYmxlLmRlZmF1bHRTb3J0T3JkZXI7XG4gICAgICAgIHBUcmVlVGFibGUuX3NvcnRGaWVsZCA9IGV2ZW50LmZpZWxkO1xuICAgICAgICBwVHJlZVRhYmxlLnNvcnRTaW5nbGUoKTtcbiAgICAgIH1cbiAgICAgIGlmIChwVHJlZVRhYmxlLnNvcnRNb2RlID09PSAnbXVsdGlwbGUnKSB7XG4gICAgICAgIGxldCByZXNldEluZGV4ID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHNvcnRNZXRhID0gcFRyZWVUYWJsZS5nZXRTb3J0TWV0YShldmVudC5maWVsZCk7XG5cbiAgICAgICAgaWYgKHNvcnRNZXRhICYmIHBUcmVlVGFibGUubXVsdGlTb3J0TWV0YSkge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcFRyZWVUYWJsZS5tdWx0aVNvcnRNZXRhLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAocFRyZWVUYWJsZS5tdWx0aVNvcnRNZXRhW2ldLmZpZWxkID09PSBzb3J0TWV0YS5maWVsZCkge1xuICAgICAgICAgICAgICBwVHJlZVRhYmxlLm11bHRpU29ydE1ldGEuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc29ydE1ldGEub3JkZXIgPT09IDEpIHtcbiAgICAgICAgICAgIHNvcnRNZXRhLm9yZGVyID0gc29ydE1ldGEub3JkZXIgKiAtMTtcbiAgICAgICAgICAgIHBUcmVlVGFibGUubXVsdGlTb3J0TWV0YS5wdXNoKHNvcnRNZXRhKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHBUcmVlVGFibGUubXVsdGlTb3J0TWV0YS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHBUcmVlVGFibGUubXVsdGlTb3J0TWV0YS5wdXNoKHtcbiAgICAgICAgICAgICAgZmllbGQ6ICdfZGVmYXVsdFNvcnRPcmRlcicsXG4gICAgICAgICAgICAgIG9yZGVyOiBwVHJlZVRhYmxlLmRlZmF1bHRTb3J0T3JkZXJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmVzZXRJbmRleCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghcFRyZWVUYWJsZS5tdWx0aVNvcnRNZXRhKSB7XG4gICAgICAgICAgICBwVHJlZVRhYmxlLm11bHRpU29ydE1ldGEgPSBbXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcFRyZWVUYWJsZS5tdWx0aVNvcnRNZXRhLnB1c2goe1xuICAgICAgICAgICAgZmllbGQ6IGV2ZW50LmZpZWxkLFxuICAgICAgICAgICAgb3JkZXI6IHBUcmVlVGFibGUuZGVmYXVsdFNvcnRPcmRlclxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcFRyZWVUYWJsZS5zb3J0TXVsdGlwbGUoKTtcbiAgICAgICAgaWYgKHJlc2V0SW5kZXgpIHBUcmVlVGFibGUubXVsdGlTb3J0TWV0YSA9IFtdO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzb3J0Tm9kZXMocFRyZWVUYWJsZTogVHJlZVRhYmxlKSB7XG4gICAgcFRyZWVUYWJsZS5zb3J0Tm9kZXMgPSAobm9kZXMpID0+IHtcbiAgICAgIGlmICghbm9kZXMgfHwgbm9kZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fc3luY05vZGVzUGFyYW1zKHBUcmVlVGFibGUuZmlsdGVyZWROb2Rlcywgbm9kZXMpO1xuXG4gICAgICBpZiAocFRyZWVUYWJsZS5jdXN0b21Tb3J0KSB7XG4gICAgICAgIHBUcmVlVGFibGUuc29ydEZ1bmN0aW9uLmVtaXQoe1xuICAgICAgICAgIGRhdGE6IG5vZGVzLFxuICAgICAgICAgIG1vZGU6IHBUcmVlVGFibGUuc29ydE1vZGUsXG4gICAgICAgICAgZmllbGQ6IHBUcmVlVGFibGUuc29ydEZpZWxkIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICBvcmRlcjogcFRyZWVUYWJsZS5zb3J0T3JkZXJcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpc1Vuc29ydCA9IHBUcmVlVGFibGUuc29ydEZpZWxkID09PSAnX2RlZmF1bHRTb3J0T3JkZXInO1xuICAgICAgICBub2Rlcy5zb3J0KChub2RlMTogYW55LCBub2RlMjogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUxID0gaXNVbnNvcnRcbiAgICAgICAgICAgID8gbm9kZTEuX2RlZmF1bHRTb3J0T3JkZXJcbiAgICAgICAgICAgIDogT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShub2RlMS5kYXRhLCBwVHJlZVRhYmxlLnNvcnRGaWVsZCk7XG4gICAgICAgICAgY29uc3QgdmFsdWUyID0gaXNVbnNvcnRcbiAgICAgICAgICAgID8gbm9kZTIuX2RlZmF1bHRTb3J0T3JkZXJcbiAgICAgICAgICAgIDogT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShub2RlMi5kYXRhLCBwVHJlZVRhYmxlLnNvcnRGaWVsZCk7XG4gICAgICAgICAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgICAgICAgICBpZiAodmFsdWUxID09IG51bGwgJiYgdmFsdWUyICE9IG51bGwpIHJlc3VsdCA9IC0xO1xuICAgICAgICAgIGVsc2UgaWYgKHZhbHVlMSAhPSBudWxsICYmIHZhbHVlMiA9PSBudWxsKSByZXN1bHQgPSAxO1xuICAgICAgICAgIGVsc2UgaWYgKHZhbHVlMSA9PSBudWxsICYmIHZhbHVlMiA9PSBudWxsKSByZXN1bHQgPSAwO1xuICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZTEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZTIgPT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgcmVzdWx0ID0gdmFsdWUxLmxvY2FsZUNvbXBhcmUodmFsdWUyLCB1bmRlZmluZWQsIHsgbnVtZXJpYzogdHJ1ZSB9KTtcbiAgICAgICAgICBlbHNlIHJlc3VsdCA9IHZhbHVlMSA8IHZhbHVlMiA/IC0xIDogdmFsdWUxID4gdmFsdWUyID8gMSA6IDA7XG5cbiAgICAgICAgICByZXR1cm4gcFRyZWVUYWJsZS5zb3J0T3JkZXIgKiByZXN1bHQ7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IG5vZGUgb2Ygbm9kZXMpIHtcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHBUcmVlVGFibGUuc29ydE5vZGVzKG5vZGUuY2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBzb3J0TXVsdGlwbGVOb2RlcyhwVHJlZVRhYmxlOiBUcmVlVGFibGUpIHtcbiAgICBwVHJlZVRhYmxlLnNvcnRNdWx0aXBsZU5vZGVzID0gKG5vZGVzKSA9PiB7XG4gICAgICBpZiAoIW5vZGVzIHx8IG5vZGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3N5bmNOb2Rlc1BhcmFtcyhwVHJlZVRhYmxlLmZpbHRlcmVkTm9kZXMsIG5vZGVzKTtcblxuICAgICAgaWYgKHBUcmVlVGFibGUuY3VzdG9tU29ydCkge1xuICAgICAgICBwVHJlZVRhYmxlLnNvcnRGdW5jdGlvbi5lbWl0KHtcbiAgICAgICAgICBkYXRhOiBwVHJlZVRhYmxlLnZhbHVlLFxuICAgICAgICAgIG1vZGU6IHBUcmVlVGFibGUuc29ydE1vZGUsXG4gICAgICAgICAgbXVsdGlTb3J0TWV0YTogcFRyZWVUYWJsZS5tdWx0aVNvcnRNZXRhXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZXMuc29ydCgobm9kZTE6IGFueSwgbm9kZTI6IGFueSkgPT4ge1xuICAgICAgICAgIHJldHVybiBwVHJlZVRhYmxlLm11bHRpc29ydEZpZWxkKFxuICAgICAgICAgICAgbm9kZTEsXG4gICAgICAgICAgICBub2RlMixcbiAgICAgICAgICAgIHBUcmVlVGFibGUubXVsdGlTb3J0TWV0YSB8fCBbXSxcbiAgICAgICAgICAgIDBcbiAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICAgIGlmIChub2RlLmNoaWxkcmVuKSBwVHJlZVRhYmxlLnNvcnRNdWx0aXBsZU5vZGVzKG5vZGUuY2hpbGRyZW4pO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBtdWx0aXNvcnRGaWVsZChwVHJlZVRhYmxlOiBUcmVlVGFibGUpIHtcbiAgICBwVHJlZVRhYmxlLm11bHRpc29ydEZpZWxkID0gKG5vZGUxLCBub2RlMiwgbXVsdGlTb3J0TWV0YSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgT2JqZWN0VXRpbHMuaXNFbXB0eShwVHJlZVRhYmxlLm11bHRpU29ydE1ldGEpIHx8XG4gICAgICAgIE9iamVjdFV0aWxzLmlzRW1wdHkobXVsdGlTb3J0TWV0YVtpbmRleF0pXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG4gICAgICBjb25zdCBpc1Vuc29ydCA9IG11bHRpU29ydE1ldGFbaW5kZXhdLmZpZWxkID09PSAnX2RlZmF1bHRTb3J0T3JkZXInO1xuICAgICAgY29uc3QgdmFsdWUxID0gaXNVbnNvcnRcbiAgICAgICAgPyAobm9kZTEgYXMgYW55KS5fZGVmYXVsdFNvcnRPcmRlclxuICAgICAgICA6IE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEobm9kZTEuZGF0YSwgbXVsdGlTb3J0TWV0YVtpbmRleF0uZmllbGQpO1xuICAgICAgY29uc3QgdmFsdWUyID0gaXNVbnNvcnRcbiAgICAgICAgPyAobm9kZTIgYXMgYW55KS5fZGVmYXVsdFNvcnRPcmRlclxuICAgICAgICA6IE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEobm9kZTIuZGF0YSwgbXVsdGlTb3J0TWV0YVtpbmRleF0uZmllbGQpO1xuICAgICAgbGV0IHJlc3VsdCA9IDA7XG5cbiAgICAgIGlmICh2YWx1ZTEgPT0gbnVsbCAmJiB2YWx1ZTIgIT0gbnVsbCkgcmVzdWx0ID0gLTE7XG4gICAgICBlbHNlIGlmICh2YWx1ZTEgIT0gbnVsbCAmJiB2YWx1ZTIgPT0gbnVsbCkgcmVzdWx0ID0gMTtcbiAgICAgIGVsc2UgaWYgKHZhbHVlMSA9PSBudWxsICYmIHZhbHVlMiA9PSBudWxsKSByZXN1bHQgPSAwO1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZTEgPT09ICdzdHJpbmcnIHx8IHZhbHVlMSBpbnN0YW5jZW9mIFN0cmluZykge1xuICAgICAgICBpZiAodmFsdWUxLmxvY2FsZUNvbXBhcmUgJiYgdmFsdWUxICE9PSB2YWx1ZTIpIHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgbXVsdGlTb3J0TWV0YVtpbmRleF0ub3JkZXIgKlxuICAgICAgICAgICAgdmFsdWUxLmxvY2FsZUNvbXBhcmUodmFsdWUyLCB1bmRlZmluZWQsIHsgbnVtZXJpYzogdHJ1ZSB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IHZhbHVlMSA8IHZhbHVlMiA/IC0xIDogMTtcbiAgICAgIH1cblxuICAgICAgaWYgKHZhbHVlMSA9PT0gdmFsdWUyKSB7XG4gICAgICAgIHJldHVybiBtdWx0aVNvcnRNZXRhLmxlbmd0aCAtIDEgPiBpbmRleFxuICAgICAgICAgID8gcFRyZWVUYWJsZS5tdWx0aXNvcnRGaWVsZChub2RlMSwgbm9kZTIsIG11bHRpU29ydE1ldGEsIGluZGV4ICsgMSlcbiAgICAgICAgICA6IDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBtdWx0aVNvcnRNZXRhW2luZGV4XS5vcmRlciAqIHJlc3VsdDtcbiAgICB9O1xuICB9XG5cbiAgZmlsdGVyKHBUcmVlVGFibGU6IFRyZWVUYWJsZSkge1xuICAgIHBUcmVlVGFibGUuX2ZpbHRlciA9ICgpID0+IHtcbiAgICAgIGlmIChwVHJlZVRhYmxlLmxhenkpIHtcbiAgICAgICAgcFRyZWVUYWJsZS5vbkxhenlMb2FkLmVtaXQocFRyZWVUYWJsZS5jcmVhdGVMYXp5TG9hZE1ldGFkYXRhKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFwVHJlZVRhYmxlLnZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFwVHJlZVRhYmxlLmhhc0ZpbHRlcigpKSB7XG4gICAgICAgICAgKHBUcmVlVGFibGUuZmlsdGVyZWROb2RlcyBhcyBhbnkpID0gbnVsbDtcbiAgICAgICAgICBpZiAocFRyZWVUYWJsZS5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgIHBUcmVlVGFibGUudG90YWxSZWNvcmRzID0gcFRyZWVUYWJsZS52YWx1ZVxuICAgICAgICAgICAgICA/IHBUcmVlVGFibGUudmFsdWUubGVuZ3RoXG4gICAgICAgICAgICAgIDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGdsb2JhbEZpbHRlckZpZWxkc0FycmF5OiBhbnlbXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAocFRyZWVUYWJsZS5maWx0ZXJzLmdsb2JhbCkge1xuICAgICAgICAgICAgaWYgKCFwVHJlZVRhYmxlLmNvbHVtbnMgJiYgIXBUcmVlVGFibGUuZ2xvYmFsRmlsdGVyRmllbGRzKVxuICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgICAgJ0dsb2JhbCBmaWx0ZXJpbmcgcmVxdWlyZXMgZHluYW1pYyBjb2x1bW5zIG9yIGdsb2JhbEZpbHRlckZpZWxkcyB0byBiZSBkZWZpbmVkLidcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgZ2xvYmFsRmlsdGVyRmllbGRzQXJyYXkgPVxuICAgICAgICAgICAgICAgIHBUcmVlVGFibGUuZ2xvYmFsRmlsdGVyRmllbGRzIHx8IHBUcmVlVGFibGUuY29sdW1ucztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLl9zeW5jTm9kZXNQYXJhbXMocFRyZWVUYWJsZS5maWx0ZXJlZE5vZGVzLCBwVHJlZVRhYmxlLnZhbHVlKTtcblxuICAgICAgICAgIHBUcmVlVGFibGUuZmlsdGVyZWROb2RlcyA9IFtdO1xuICAgICAgICAgIGNvbnN0IGlzU3RyaWN0TW9kZSA9IHBUcmVlVGFibGUuZmlsdGVyTW9kZSA9PT0gJ3N0cmljdCc7XG4gICAgICAgICAgbGV0IGlzVmFsdWVDaGFuZ2VkID0gZmFsc2U7XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IFtpZHgsIG5vZGVdIG9mIHBUcmVlVGFibGUudmFsdWUuZW50cmllcygpKSB7XG4gICAgICAgICAgICBsZXQgY29weU5vZGUgPSB7IC4uLm5vZGUgfTtcbiAgICAgICAgICAgIGxldCBsb2NhbE1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIGxldCBnbG9iYWxNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgbGV0IHBhcmFtc1dpdGhvdXROb2RlO1xuXG4gICAgICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gcFRyZWVUYWJsZS5maWx0ZXJzKSB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcHJvdG90eXBlLWJ1aWx0aW5zXG4gICAgICAgICAgICAgICAgcFRyZWVUYWJsZS5maWx0ZXJzLmhhc093blByb3BlcnR5KHByb3ApICYmXG4gICAgICAgICAgICAgICAgcHJvcCAhPT0gJ2dsb2JhbCdcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyTWV0YSA9IHBUcmVlVGFibGUuZmlsdGVyc1twcm9wXTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJGaWVsZCA9IHByb3A7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSBmaWx0ZXJNZXRhPy52YWx1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJNYXRjaE1vZGUgPSBmaWx0ZXJNZXRhPy5tYXRjaE1vZGUgfHwgJ3N0YXJ0c1dpdGgnO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlckNvbnN0cmFpbnQgPVxuICAgICAgICAgICAgICAgICAgcFRyZWVUYWJsZS5maWx0ZXJTZXJ2aWNlLmZpbHRlcnNbXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlck1hdGNoTW9kZSBhcyBrZXlvZiB0eXBlb2YgcFRyZWVUYWJsZS5maWx0ZXJTZXJ2aWNlLmZpbHRlcnNcbiAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgcGFyYW1zV2l0aG91dE5vZGUgPSB7XG4gICAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZCxcbiAgICAgICAgICAgICAgICAgIGZpbHRlclZhbHVlLFxuICAgICAgICAgICAgICAgICAgZmlsdGVyQ29uc3RyYWludCxcbiAgICAgICAgICAgICAgICAgIGlzU3RyaWN0TW9kZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgKGlzU3RyaWN0TW9kZSAmJlxuICAgICAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICAgIHBUcmVlVGFibGUuZmluZEZpbHRlcmVkTm9kZXMoXG4gICAgICAgICAgICAgICAgICAgICAgICBjb3B5Tm9kZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1dpdGhvdXROb2RlXG4gICAgICAgICAgICAgICAgICAgICAgKSB8fFxuICAgICAgICAgICAgICAgICAgICAgIHBUcmVlVGFibGUuaXNGaWx0ZXJNYXRjaGVkKFxuICAgICAgICAgICAgICAgICAgICAgICAgY29weU5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNXaXRob3V0Tm9kZSBhcyBhbnlcbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICkpIHx8XG4gICAgICAgICAgICAgICAgICAoIWlzU3RyaWN0TW9kZSAmJlxuICAgICAgICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgICAgICAgIHBUcmVlVGFibGUuaXNGaWx0ZXJNYXRjaGVkKFxuICAgICAgICAgICAgICAgICAgICAgICAgY29weU5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXNXaXRob3V0Tm9kZSBhcyBhbnlcbiAgICAgICAgICAgICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgICAgICAgICAgcFRyZWVUYWJsZS5maW5kRmlsdGVyZWROb2Rlcyhjb3B5Tm9kZSwgcGFyYW1zV2l0aG91dE5vZGUpXG4gICAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICBsb2NhbE1hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCFsb2NhbE1hdGNoKSB7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBwVHJlZVRhYmxlLmZpbHRlcnMuZ2xvYmFsICYmXG4gICAgICAgICAgICAgICFnbG9iYWxNYXRjaCAmJlxuICAgICAgICAgICAgICBnbG9iYWxGaWx0ZXJGaWVsZHNBcnJheVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvcHlOb2RlRm9yR2xvYmFsID0geyAuLi5jb3B5Tm9kZSB9O1xuICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJGaWVsZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgY29uc3QgZmlsdGVyVmFsdWUgPSBwVHJlZVRhYmxlLmZpbHRlcnMuZ2xvYmFsLnZhbHVlO1xuICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJDb25zdHJhaW50ID1cbiAgICAgICAgICAgICAgICBwVHJlZVRhYmxlLmZpbHRlclNlcnZpY2UuZmlsdGVyc1tcbiAgICAgICAgICAgICAgICAgIHBUcmVlVGFibGUuZmlsdGVycy5nbG9iYWxcbiAgICAgICAgICAgICAgICAgICAgLm1hdGNoTW9kZSBhcyBrZXlvZiB0eXBlb2YgcFRyZWVUYWJsZS5maWx0ZXJTZXJ2aWNlLmZpbHRlcnNcbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICBwYXJhbXNXaXRob3V0Tm9kZSA9IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJGaWVsZCxcbiAgICAgICAgICAgICAgICBmaWx0ZXJWYWx1ZSxcbiAgICAgICAgICAgICAgICBmaWx0ZXJDb25zdHJhaW50LFxuICAgICAgICAgICAgICAgIGlzU3RyaWN0TW9kZSxcbiAgICAgICAgICAgICAgICBnbG9iYWxGaWx0ZXJGaWVsZHNBcnJheVxuICAgICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoaXNTdHJpY3RNb2RlICYmXG4gICAgICAgICAgICAgICAgICAocFRyZWVUYWJsZS5maW5kRmlsdGVyZWROb2RlcyhcbiAgICAgICAgICAgICAgICAgICAgY29weU5vZGVGb3JHbG9iYWwsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtc1dpdGhvdXROb2RlXG4gICAgICAgICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgICAgICAgIHBUcmVlVGFibGUuaXNGaWx0ZXJNYXRjaGVkKFxuICAgICAgICAgICAgICAgICAgICAgIGNvcHlOb2RlRm9yR2xvYmFsLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtc1dpdGhvdXROb2RlIGFzIGFueVxuICAgICAgICAgICAgICAgICAgICApKSkgfHxcbiAgICAgICAgICAgICAgICAoIWlzU3RyaWN0TW9kZSAmJlxuICAgICAgICAgICAgICAgICAgKHBUcmVlVGFibGUuaXNGaWx0ZXJNYXRjaGVkKFxuICAgICAgICAgICAgICAgICAgICBjb3B5Tm9kZUZvckdsb2JhbCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zV2l0aG91dE5vZGUgYXMgYW55XG4gICAgICAgICAgICAgICAgICApIHx8XG4gICAgICAgICAgICAgICAgICAgIHBUcmVlVGFibGUuZmluZEZpbHRlcmVkTm9kZXMoXG4gICAgICAgICAgICAgICAgICAgICAgY29weU5vZGVGb3JHbG9iYWwsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1zV2l0aG91dE5vZGVcbiAgICAgICAgICAgICAgICAgICAgKSkpXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGdsb2JhbE1hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb3B5Tm9kZSA9IGNvcHlOb2RlRm9yR2xvYmFsO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBtYXRjaGVzID0gbG9jYWxNYXRjaDtcbiAgICAgICAgICAgIGlmIChwVHJlZVRhYmxlLmZpbHRlcnMuZ2xvYmFsKSB7XG4gICAgICAgICAgICAgIG1hdGNoZXMgPSBsb2NhbE1hdGNoICYmIGdsb2JhbE1hdGNoO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobWF0Y2hlcykge1xuICAgICAgICAgICAgICAoY29weU5vZGUgYXMgYW55KS5faWR4ID0gaWR4O1xuICAgICAgICAgICAgICBwVHJlZVRhYmxlLmZpbHRlcmVkTm9kZXMucHVzaChjb3B5Tm9kZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlzVmFsdWVDaGFuZ2VkID1cbiAgICAgICAgICAgICAgaXNWYWx1ZUNoYW5nZWQgfHxcbiAgICAgICAgICAgICAgIWxvY2FsTWF0Y2ggfHxcbiAgICAgICAgICAgICAgZ2xvYmFsTWF0Y2ggfHxcbiAgICAgICAgICAgICAgKGxvY2FsTWF0Y2ggJiYgcFRyZWVUYWJsZS5maWx0ZXJlZE5vZGVzLmxlbmd0aCA+IDApIHx8XG4gICAgICAgICAgICAgICghZ2xvYmFsTWF0Y2ggJiYgcFRyZWVUYWJsZS5maWx0ZXJlZE5vZGVzLmxlbmd0aCA9PT0gMCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFpc1ZhbHVlQ2hhbmdlZCkge1xuICAgICAgICAgICAgKHBUcmVlVGFibGUuZmlsdGVyZWROb2RlcyBhcyBhbnkpID0gbnVsbDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocFRyZWVUYWJsZS5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgIHBUcmVlVGFibGUudG90YWxSZWNvcmRzID0gcFRyZWVUYWJsZS5maWx0ZXJlZE5vZGVzXG4gICAgICAgICAgICAgID8gcFRyZWVUYWJsZS5maWx0ZXJlZE5vZGVzLmxlbmd0aFxuICAgICAgICAgICAgICA6IHBUcmVlVGFibGUudmFsdWVcbiAgICAgICAgICAgICAgICA/IHBUcmVlVGFibGUudmFsdWUubGVuZ3RoXG4gICAgICAgICAgICAgICAgOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwVHJlZVRhYmxlLmZpcnN0ID0gMDtcblxuICAgICAgY29uc3QgZmlsdGVyZWRWYWx1ZSA9IHBUcmVlVGFibGUuZmlsdGVyZWROb2RlcyB8fCBwVHJlZVRhYmxlLnZhbHVlO1xuXG4gICAgICBwVHJlZVRhYmxlLm9uRmlsdGVyLmVtaXQoe1xuICAgICAgICBmaWx0ZXJzOiBwVHJlZVRhYmxlLmZpbHRlcnMsXG4gICAgICAgIGZpbHRlcmVkVmFsdWVcbiAgICAgIH0pO1xuXG4gICAgICBwVHJlZVRhYmxlLnRhYmxlU2VydmljZS5vblVJVXBkYXRlKGZpbHRlcmVkVmFsdWUpO1xuICAgICAgcFRyZWVUYWJsZS51cGRhdGVTZXJpYWxpemVkVmFsdWUoKTtcblxuICAgICAgaWYgKHBUcmVlVGFibGUuc2Nyb2xsYWJsZSkge1xuICAgICAgICBwVHJlZVRhYmxlLnJlc2V0U2Nyb2xsVG9wKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGZpbmRGaWx0ZXJlZE5vZGVzKHBUcmVlVGFibGU6IFRyZWVUYWJsZSkge1xuICAgIHBUcmVlVGFibGUuZmluZEZpbHRlcmVkTm9kZXMgPSAobm9kZSwgcGFyYW1zV2l0aG91dE5vZGUpOiBhbnkgPT4ge1xuICAgICAgaWYgKG5vZGUpIHtcbiAgICAgICAgbGV0IG1hdGNoZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgICAgICBjb25zdCBjaGlsZE5vZGVzID0gWy4uLm5vZGUuY2hpbGRyZW5dO1xuICAgICAgICAgIG5vZGUuY2hpbGRyZW4gPSBbXTtcbiAgICAgICAgICBmb3IgKGNvbnN0IFtpZHgsIGNoaWxkTm9kZV0gb2YgY2hpbGROb2Rlcy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvcHlDaGlsZE5vZGUgPSB7IC4uLmNoaWxkTm9kZSB9O1xuICAgICAgICAgICAgaWYgKHBUcmVlVGFibGUuaXNGaWx0ZXJNYXRjaGVkKGNvcHlDaGlsZE5vZGUsIHBhcmFtc1dpdGhvdXROb2RlKSkge1xuICAgICAgICAgICAgICBtYXRjaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgKGNvcHlDaGlsZE5vZGUgYXMgYW55KS5faWR4ID0gaWR4O1xuICAgICAgICAgICAgICBub2RlLmNoaWxkcmVuLnB1c2goY29weUNoaWxkTm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIF9zeW5jTm9kZXNQYXJhbXMoXG4gICAgZnJvbTogYW55W10gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgIHRvOiBhbnlbXSB8IHVuZGVmaW5lZFxuICApIHtcbiAgICBpZiAoIWZyb20gfHwgIXRvKSByZXR1cm47XG5cbiAgICBmcm9tLmZvckVhY2goKHNvdXJjZSkgPT4ge1xuICAgICAgY29uc3QgaWR4ID0gc291cmNlLl9pZHg7XG4gICAgICBpZiAodHlwZW9mIGlkeCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdG9baWR4XTtcbiAgICAgICAgZGVsZXRlIHNvdXJjZS5faWR4O1xuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgdGFyZ2V0LmV4cGFuZGVkID0gc291cmNlLmV4cGFuZGVkO1xuICAgICAgICAgIHRhcmdldC5wYXJ0aWFsU2VsZWN0ZWQgPSBzb3VyY2UucGFydGlhbFNlbGVjdGVkO1xuICAgICAgICAgIHRoaXMuX3N5bmNOb2Rlc1BhcmFtcyhzb3VyY2UuY2hpbGRyZW4sIHRhcmdldC5jaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
package/esm2022/lib/components/cps-tree-table/pipes/cps-tree-table-detect-filter-type.pipe.mjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class CpsTreeTableDetectFilterTypePipe {
|
|
4
|
-
transform(nodes, column) {
|
|
5
|
-
if (nodes.every((item) => typeof item.data[column] === 'boolean')) {
|
|
6
|
-
return 'boolean';
|
|
7
|
-
}
|
|
8
|
-
else if (nodes.every((item) => typeof item.data[column] === 'number')) {
|
|
9
|
-
return 'number';
|
|
10
|
-
}
|
|
11
|
-
else if (nodes.every((item) => item.data[column] instanceof Date)) {
|
|
12
|
-
return 'date';
|
|
13
|
-
}
|
|
14
|
-
else if (nodes.reduce((acc, item) => acc.add(item.data[column]), new Set()).size <
|
|
15
|
-
6) {
|
|
16
|
-
return 'category';
|
|
17
|
-
}
|
|
18
|
-
return 'text';
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CpsTreeTableDetectFilterTypePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
21
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.1.3", ngImport: i0, type: CpsTreeTableDetectFilterTypePipe, isStandalone: true, name: "cpsTTDetectFilterType" }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.3", ngImport: i0, type: CpsTreeTableDetectFilterTypePipe, decorators: [{
|
|
24
|
-
type: Pipe,
|
|
25
|
-
args: [{
|
|
26
|
-
name: 'cpsTTDetectFilterType',
|
|
27
|
-
standalone: true
|
|
28
|
-
}]
|
|
29
|
-
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3BzLXRyZWUtdGFibGUtZGV0ZWN0LWZpbHRlci10eXBlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcHMtdWkta2l0L3NyYy9saWIvY29tcG9uZW50cy9jcHMtdHJlZS10YWJsZS9waXBlcy9jcHMtdHJlZS10YWJsZS1kZXRlY3QtZmlsdGVyLXR5cGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFPcEQsTUFBTSxPQUFPLGdDQUFnQztJQUMzQyxTQUFTLENBQ1AsS0FBNkMsRUFDN0MsTUFBYztRQUVkLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbEUsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDeEUsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3BFLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxJQUNMLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSTtZQUN2RSxDQUFDLEVBQ0QsQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOzhHQWxCVSxnQ0FBZ0M7NEdBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFKNUMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsdUJBQXVCO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcHNDb2x1bW5GaWx0ZXJUeXBlIH0gZnJvbSAnLi4vLi4vY3BzLXRhYmxlL2Nwcy1jb2x1bW4tZmlsdGVyLXR5cGVzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnY3BzVFREZXRlY3RGaWx0ZXJUeXBlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDcHNUcmVlVGFibGVEZXRlY3RGaWx0ZXJUeXBlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oXG4gICAgbm9kZXM6IHsgZGF0YTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0gfVtdLFxuICAgIGNvbHVtbjogc3RyaW5nXG4gICk6IENwc0NvbHVtbkZpbHRlclR5cGUge1xuICAgIGlmIChub2Rlcy5ldmVyeSgoaXRlbSkgPT4gdHlwZW9mIGl0ZW0uZGF0YVtjb2x1bW5dID09PSAnYm9vbGVhbicpKSB7XG4gICAgICByZXR1cm4gJ2Jvb2xlYW4nO1xuICAgIH0gZWxzZSBpZiAobm9kZXMuZXZlcnkoKGl0ZW0pID0+IHR5cGVvZiBpdGVtLmRhdGFbY29sdW1uXSA9PT0gJ251bWJlcicpKSB7XG4gICAgICByZXR1cm4gJ251bWJlcic7XG4gICAgfSBlbHNlIGlmIChub2Rlcy5ldmVyeSgoaXRlbSkgPT4gaXRlbS5kYXRhW2NvbHVtbl0gaW5zdGFuY2VvZiBEYXRlKSkge1xuICAgICAgcmV0dXJuICdkYXRlJztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbm9kZXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IGFjYy5hZGQoaXRlbS5kYXRhW2NvbHVtbl0pLCBuZXcgU2V0KCkpLnNpemUgPFxuICAgICAgNlxuICAgICkge1xuICAgICAgcmV0dXJuICdjYXRlZ29yeSc7XG4gICAgfVxuICAgIHJldHVybiAndGV4dCc7XG4gIH1cbn1cbiJdfQ==
|