@updevs/components 1.0.0-alpha.95 → 1.0.0-alpha.97
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/esm2022/table/abstractions/base-column.model.mjs +1 -1
- package/esm2022/table/abstractions/filters-operands.service.mjs +1 -1
- package/esm2022/table/components/filter-row/filter-row.component.mjs +47 -27
- package/esm2022/table/components/search-section/search-section.component.mjs +17 -29
- package/esm2022/table/models/filter-field.config.mjs +2 -0
- package/esm2022/table/models/operands-lists/select-filter-operands-list.model.mjs +12 -0
- package/esm2022/table/models/table-config.model.mjs +11 -1
- package/esm2022/table/models/table.config.mjs +1 -1
- package/esm2022/table/services/current-search-request.service.mjs +254 -0
- package/esm2022/table/services/default-filters-operands.service.mjs +21 -17
- package/esm2022/table/services/stores/filters-operands.store.mjs +1 -1
- package/esm2022/table/table.component.mjs +25 -34
- package/esm2022/table/tools/filters.tools.mjs +32 -16
- package/fesm2022/updevs-components-table.mjs +399 -113
- package/fesm2022/updevs-components-table.mjs.map +1 -1
- package/package.json +25 -25
- package/table/abstractions/base-column.model.d.ts +2 -4
- package/table/abstractions/filters-operands.service.d.ts +2 -2
- package/table/components/filter-row/filter-row.component.d.ts +8 -5
- package/table/components/search-section/search-section.component.d.ts +4 -8
- package/table/models/filter-field.config.d.ts +11 -0
- package/table/models/operands-lists/select-filter-operands-list.model.d.ts +6 -0
- package/table/models/table-config.model.d.ts +11 -0
- package/table/models/table.config.d.ts +11 -0
- package/table/services/current-search-request.service.d.ts +164 -0
- package/table/services/default-filters-operands.service.d.ts +2 -2
- package/table/services/stores/filters-operands.store.d.ts +2 -2
- package/table/table.component.d.ts +4 -9
- package/table/tools/filters.tools.d.ts +2 -1
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { Injectable, signal, computed } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Service to manage the current search request state across table components.
|
|
6
|
+
* Uses Angular signals for reactive state management, eliminating the need for prop drilling.
|
|
7
|
+
* Should be provided at the table component level so each table instance has its own state.
|
|
8
|
+
*/
|
|
9
|
+
export class CurrentSearchRequestService {
|
|
10
|
+
constructor() {
|
|
11
|
+
this._searchRequest = signal({});
|
|
12
|
+
this._isSearching = signal(false);
|
|
13
|
+
this._hasChanges = signal(false);
|
|
14
|
+
/**
|
|
15
|
+
* Read-only signal for the current search request
|
|
16
|
+
*/
|
|
17
|
+
this.searchRequest = this._searchRequest.asReadonly();
|
|
18
|
+
/**
|
|
19
|
+
* Read-only signal for the searching state
|
|
20
|
+
*/
|
|
21
|
+
this.isSearching = this._isSearching.asReadonly();
|
|
22
|
+
/**
|
|
23
|
+
* Read-only signal indicating if the search request has changed from default
|
|
24
|
+
*/
|
|
25
|
+
this.hasChanges = this._hasChanges.asReadonly();
|
|
26
|
+
/**
|
|
27
|
+
* Subject to trigger search operations
|
|
28
|
+
*/
|
|
29
|
+
this.searchRequestSubject = new Subject();
|
|
30
|
+
/**
|
|
31
|
+
* Count of active filters (non-hidden)
|
|
32
|
+
*/
|
|
33
|
+
this.activeFilterCount = computed(() => this.searchRequest().filters?.filter(f => !f.isHidden).length || 0);
|
|
34
|
+
/**
|
|
35
|
+
* Whether there are any active filters
|
|
36
|
+
*/
|
|
37
|
+
this.hasFilters = computed(() => (this.searchRequest().filters?.length || 0) > 0);
|
|
38
|
+
/**
|
|
39
|
+
* Count of visible (non-hidden) filters
|
|
40
|
+
*/
|
|
41
|
+
this.visibleFilterCount = computed(() => this.searchRequest().filters?.filter(f => !f.isHidden).length || 0);
|
|
42
|
+
/**
|
|
43
|
+
* Whether there's a search description/text query
|
|
44
|
+
*/
|
|
45
|
+
this.hasDescription = computed(() => !!this.searchRequest().description && this.searchRequest().description.length > 0);
|
|
46
|
+
/**
|
|
47
|
+
* Whether there are any sortings applied
|
|
48
|
+
*/
|
|
49
|
+
this.hasSorting = computed(() => (this.searchRequest().sortings?.length || 0) > 0);
|
|
50
|
+
/**
|
|
51
|
+
* The current sorting (first one if multiple exist)
|
|
52
|
+
*/
|
|
53
|
+
this.currentSorting = computed(() => this.hasSorting() ? this.searchRequest().sortings[0] : undefined);
|
|
54
|
+
/**
|
|
55
|
+
* Whether any search criteria is active (filters, description, or sorting)
|
|
56
|
+
*/
|
|
57
|
+
this.hasAnySearchCriteria = computed(() => this.hasFilters() || this.hasDescription() || this.hasSorting());
|
|
58
|
+
/**
|
|
59
|
+
* Current page number (1-indexed for display)
|
|
60
|
+
*/
|
|
61
|
+
this.currentPageNumber = computed(() => (this.searchRequest().pageIndex || 0) + 1);
|
|
62
|
+
/**
|
|
63
|
+
* Whether pagination is configured
|
|
64
|
+
*/
|
|
65
|
+
this.hasPagination = computed(() => !!this.searchRequest().pageSize && this.searchRequest().pageSize > 0);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Updates the entire search request
|
|
69
|
+
* @param request The new search request
|
|
70
|
+
*/
|
|
71
|
+
updateSearchRequest(request) {
|
|
72
|
+
const previousRequest = this._searchRequest();
|
|
73
|
+
this._searchRequest.set(request);
|
|
74
|
+
// Only mark as changed if the new request is actually different from previous
|
|
75
|
+
if (!this.areSearchRequestsEqual(previousRequest, request)) {
|
|
76
|
+
this._hasChanges.set(true);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Partially updates the search request
|
|
81
|
+
* @param partial Partial search request properties to update
|
|
82
|
+
*/
|
|
83
|
+
patchSearchRequest(partial) {
|
|
84
|
+
const previousRequest = this._searchRequest();
|
|
85
|
+
const newRequest = { ...previousRequest, ...partial };
|
|
86
|
+
this._searchRequest.set(newRequest);
|
|
87
|
+
// Only mark as changed if the patch actually changed something
|
|
88
|
+
if (!this.areSearchRequestsEqual(previousRequest, newRequest)) {
|
|
89
|
+
this._hasChanges.set(true);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Sets the searching state
|
|
94
|
+
* @param isSearching Whether a search is in progress
|
|
95
|
+
*/
|
|
96
|
+
setSearching(isSearching) {
|
|
97
|
+
this._isSearching.set(isSearching);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Resets the search request to default state
|
|
101
|
+
*/
|
|
102
|
+
reset() {
|
|
103
|
+
this._searchRequest.set({});
|
|
104
|
+
this._isSearching.set(false);
|
|
105
|
+
this._hasChanges.set(false);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Triggers a search operation by emitting on the searchRequestSubject
|
|
109
|
+
*/
|
|
110
|
+
triggerSearch() {
|
|
111
|
+
this.searchRequestSubject.next(this._searchRequest());
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Manually sets the hasChanges flag
|
|
115
|
+
* Useful for changes that aren't part of the search request but should enable Save View
|
|
116
|
+
* (e.g., column visibility changes)
|
|
117
|
+
* @param hasChanges Whether there are changes
|
|
118
|
+
*/
|
|
119
|
+
setHasChanges(hasChanges) {
|
|
120
|
+
this._hasChanges.set(hasChanges);
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Adds a filter to the search request
|
|
124
|
+
* @param filter The filter to add
|
|
125
|
+
*/
|
|
126
|
+
addFilter(filter) {
|
|
127
|
+
const currentFilters = this.searchRequest().filters || [];
|
|
128
|
+
this.patchSearchRequest({ filters: [...currentFilters, filter] });
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Removes a filter by name
|
|
132
|
+
* @param filterName The name of the filter column to remove
|
|
133
|
+
*/
|
|
134
|
+
removeFilter(filterName) {
|
|
135
|
+
const currentFilters = this.searchRequest().filters || [];
|
|
136
|
+
this.patchSearchRequest({ filters: currentFilters.filter(f => f.column !== filterName) });
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Removes a filter by index
|
|
140
|
+
* @param index The index of the filter to remove
|
|
141
|
+
*/
|
|
142
|
+
removeFilterByIndex(index) {
|
|
143
|
+
const currentFilters = this.searchRequest().filters || [];
|
|
144
|
+
this.patchSearchRequest({ filters: currentFilters.filter((_, i) => i !== index) });
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Updates a specific filter by column name
|
|
148
|
+
* @param columnName The column name of the filter to update
|
|
149
|
+
* @param newData Partial filter properties to update
|
|
150
|
+
*/
|
|
151
|
+
updateFilter(columnName, newData) {
|
|
152
|
+
const currentFilters = this.searchRequest().filters || [];
|
|
153
|
+
this.patchSearchRequest({ filters: currentFilters.map(f => f.column === columnName ? { ...f, ...newData } : f) });
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Updates a filter by its index position
|
|
157
|
+
* @param index The index of the filter to update
|
|
158
|
+
* @param newData Partial filter properties to update
|
|
159
|
+
*/
|
|
160
|
+
updateFilterByIndex(index, newData) {
|
|
161
|
+
const currentFilters = this.searchRequest().filters || [];
|
|
162
|
+
if (index >= 0 && index < currentFilters.length) {
|
|
163
|
+
this.patchSearchRequest({ filters: currentFilters.map((f, i) => i === index ? { ...f, ...newData } : f) });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Clears all filters
|
|
168
|
+
*/
|
|
169
|
+
clearFilters() {
|
|
170
|
+
this.patchSearchRequest({ filters: [] });
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Sets the sorting (replaces existing sortings)
|
|
174
|
+
* @param column The column name to sort by
|
|
175
|
+
* @param direction The sort direction
|
|
176
|
+
*/
|
|
177
|
+
setSorting(column, direction) {
|
|
178
|
+
this.patchSearchRequest({ sortings: [{ column, direction }] });
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Clears all sorting
|
|
182
|
+
*/
|
|
183
|
+
clearSorting() {
|
|
184
|
+
this.patchSearchRequest({ sortings: [] });
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Sets the search description/text query
|
|
188
|
+
* @param description The search text
|
|
189
|
+
*/
|
|
190
|
+
setDescription(description) {
|
|
191
|
+
this.patchSearchRequest({ description });
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Clears the search description
|
|
195
|
+
*/
|
|
196
|
+
clearDescription() {
|
|
197
|
+
this.patchSearchRequest({ description: '' });
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Clears ALL search criteria (filters, description, sorting)
|
|
201
|
+
* Note: Does not reset pagination - use reset() for that
|
|
202
|
+
*/
|
|
203
|
+
clearAll() {
|
|
204
|
+
this.patchSearchRequest({ filters: [], description: '', sortings: [] });
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Clears all search criteria except pagination
|
|
208
|
+
* Useful when you want to reset search but maintain current page
|
|
209
|
+
*/
|
|
210
|
+
clearAllExceptPagination() {
|
|
211
|
+
this.clearAll();
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Deep comparison of two search requests
|
|
215
|
+
* @param a First search request
|
|
216
|
+
* @param b Second search request
|
|
217
|
+
* @returns true if they are equal, false otherwise
|
|
218
|
+
*/
|
|
219
|
+
areSearchRequestsEqual(a, b) {
|
|
220
|
+
if ((a.description || '') !== (b.description || '')) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
const aFilters = a.filters || [];
|
|
224
|
+
const bFilters = b.filters || [];
|
|
225
|
+
if (aFilters.length !== bFilters.length) {
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
for (let i = 0; i < aFilters.length; i++) {
|
|
229
|
+
if (JSON.stringify(aFilters[i]) !== JSON.stringify(bFilters[i])) {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
const aSortings = a.sortings || [];
|
|
234
|
+
const bSortings = b.sortings || [];
|
|
235
|
+
if (aSortings.length !== bSortings.length) {
|
|
236
|
+
return false;
|
|
237
|
+
}
|
|
238
|
+
for (let i = 0; i < aSortings.length; i++) {
|
|
239
|
+
if (JSON.stringify(aSortings[i]) !== JSON.stringify(bSortings[i])) {
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
if (a.pageSize !== b.pageSize || a.pageIndex !== b.pageIndex) {
|
|
244
|
+
return false;
|
|
245
|
+
}
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CurrentSearchRequestService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
249
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CurrentSearchRequestService }); }
|
|
250
|
+
}
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CurrentSearchRequestService, decorators: [{
|
|
252
|
+
type: Injectable
|
|
253
|
+
}] });
|
|
254
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVudC1zZWFyY2gtcmVxdWVzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3RhYmxlL3NyYy9zZXJ2aWNlcy9jdXJyZW50LXNlYXJjaC1yZXF1ZXN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRS9COzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sMkJBQTJCO0lBRHhDO1FBRXFCLG1CQUFjLEdBQUcsTUFBTSxDQUFxQixFQUFFLENBQUMsQ0FBQztRQUNoRCxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU3Qzs7V0FFRztRQUNNLGtCQUFhLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUUxRDs7V0FFRztRQUNNLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV0RDs7V0FFRztRQUNNLGVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRXBEOztXQUVHO1FBQ00seUJBQW9CLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7UUFFbEU7O1dBRUc7UUFDTSxzQkFBaUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFaEg7O1dBRUc7UUFDTSxlQUFV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S0FBSyxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxDQUFDLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7OEdBdlJRLDJCQUEyQjtrSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmFzZUZpbHRlciwgU2VhcmNoUmVxdWVzdE1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIG1hbmFnZSB0aGUgY3VycmVudCBzZWFyY2ggcmVxdWVzdCBzdGF0ZSBhY3Jvc3MgdGFibGUgY29tcG9uZW50cy5cbiAqIFVzZXMgQW5ndWxhciBzaWduYWxzIGZvciByZWFjdGl2ZSBzdGF0ZSBtYW5hZ2VtZW50LCBlbGltaW5hdGluZyB0aGUgbmVlZCBmb3IgcHJvcCBkcmlsbGluZy5cbiAqIFNob3VsZCBiZSBwcm92aWRlZCBhdCB0aGUgdGFibGUgY29tcG9uZW50IGxldmVsIHNvIGVhY2ggdGFibGUgaW5zdGFuY2UgaGFzIGl0cyBvd24gc3RhdGUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDdXJyZW50U2VhcmNoUmVxdWVzdFNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaFJlcXVlc3QgPSBzaWduYWw8U2VhcmNoUmVxdWVzdE1vZGVsPih7fSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfaXNTZWFyY2hpbmcgPSBzaWduYWwoZmFsc2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2hhc0NoYW5nZXMgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgLyoqXG4gICAgICogUmVhZC1vbmx5IHNpZ25hbCBmb3IgdGhlIGN1cnJlbnQgc2VhcmNoIHJlcXVlc3RcbiAgICAgKi9cbiAgICByZWFkb25seSBzZWFyY2hSZXF1ZXN0ID0gdGhpcy5fc2VhcmNoUmVxdWVzdC5hc1JlYWRvbmx5KCk7XG5cbiAgICAvKipcbiAgICAgKiBSZWFkLW9ubHkgc2lnbmFsIGZvciB0aGUgc2VhcmNoaW5nIHN0YXRlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaXNTZWFyY2hpbmcgPSB0aGlzLl9pc1NlYXJjaGluZy5hc1JlYWRvbmx5KCk7XG5cbiAgICAvKipcbiAgICAgKiBSZWFkLW9ubHkgc2lnbmFsIGluZGljYXRpbmcgaWYgdGhlIHNlYXJjaCByZXF1ZXN0IGhhcyBjaGFuZ2VkIGZyb20gZGVmYXVsdFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhhc0NoYW5nZXMgPSB0aGlzLl9oYXNDaGFuZ2VzLmFzUmVhZG9ubHkoKTtcblxuICAgIC8qKlxuICAgICAqIFN1YmplY3QgdG8gdHJpZ2dlciBzZWFyY2ggb3BlcmF0aW9uc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaFJlcXVlc3RTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U2VhcmNoUmVxdWVzdE1vZGVsPigpO1xuXG4gICAgLyoqXG4gICAgICogQ291bnQgb2YgYWN0aXZlIGZpbHRlcnMgKG5vbi1oaWRkZW4pXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWN0aXZlRmlsdGVyQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5maWx0ZXIoZiA9PiAhZi5pc0hpZGRlbikubGVuZ3RoIHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSBhcmUgYW55IGFjdGl2ZSBmaWx0ZXJzXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzRmlsdGVycyA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5sZW5ndGggfHwgMCkgPiAwKTtcblxuICAgIC8qKlxuICAgICAqIENvdW50IG9mIHZpc2libGUgKG5vbi1oaWRkZW4pIGZpbHRlcnNcbiAgICAgKi9cbiAgICByZWFkb25seSB2aXNpYmxlRmlsdGVyQ291bnQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzPy5maWx0ZXIoZiA9PiAhZi5pc0hpZGRlbikubGVuZ3RoIHx8IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSdzIGEgc2VhcmNoIGRlc2NyaXB0aW9uL3RleHQgcXVlcnlcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNEZXNjcmlwdGlvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5zZWFyY2hSZXF1ZXN0KCkuZGVzY3JpcHRpb24gJiYgdGhpcy5zZWFyY2hSZXF1ZXN0KCkuZGVzY3JpcHRpb24hLmxlbmd0aCA+IDApO1xuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGVyZSBhcmUgYW55IHNvcnRpbmdzIGFwcGxpZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNTb3J0aW5nID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuc2VhcmNoUmVxdWVzdCgpLnNvcnRpbmdzPy5sZW5ndGggfHwgMCkgPiAwKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjdXJyZW50IHNvcnRpbmcgKGZpcnN0IG9uZSBpZiBtdWx0aXBsZSBleGlzdClcbiAgICAgKi9cbiAgICByZWFkb25seSBjdXJyZW50U29ydGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaGFzU29ydGluZygpID8gdGhpcy5zZWFyY2hSZXF1ZXN0KCkuc29ydGluZ3MhWzBdIDogdW5kZWZpbmVkKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgYW55IHNlYXJjaCBjcml0ZXJpYSBpcyBhY3RpdmUgKGZpbHRlcnMsIGRlc2NyaXB0aW9uLCBvciBzb3J0aW5nKVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhhc0FueVNlYXJjaENyaXRlcmlhID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5oYXNGaWx0ZXJzKCkgfHwgdGhpcy5oYXNEZXNjcmlwdGlvbigpIHx8IHRoaXMuaGFzU29ydGluZygpKTtcblxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgcGFnZSBudW1iZXIgKDEtaW5kZXhlZCBmb3IgZGlzcGxheSlcbiAgICAgKi9cbiAgICByZWFkb25seSBjdXJyZW50UGFnZU51bWJlciA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnNlYXJjaFJlcXVlc3QoKS5wYWdlSW5kZXggfHwgMCkgKyAxKTtcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgcGFnaW5hdGlvbiBpcyBjb25maWd1cmVkXG4gICAgICovXG4gICAgcmVhZG9ubHkgaGFzUGFnaW5hdGlvbiA9IGNvbXB1dGVkKCgpID0+ICEhdGhpcy5zZWFyY2hSZXF1ZXN0KCkucGFnZVNpemUgJiYgdGhpcy5zZWFyY2hSZXF1ZXN0KCkucGFnZVNpemUhID4gMCk7XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIHRoZSBlbnRpcmUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcmVxdWVzdCBUaGUgbmV3IHNlYXJjaCByZXF1ZXN0XG4gICAgICovXG4gICAgdXBkYXRlU2VhcmNoUmVxdWVzdChyZXF1ZXN0OiBTZWFyY2hSZXF1ZXN0TW9kZWwpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgcHJldmlvdXNSZXF1ZXN0ID0gdGhpcy5fc2VhcmNoUmVxdWVzdCgpO1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldChyZXF1ZXN0KTtcblxuICAgICAgICAvLyBPbmx5IG1hcmsgYXMgY2hhbmdlZCBpZiB0aGUgbmV3IHJlcXVlc3QgaXMgYWN0dWFsbHkgZGlmZmVyZW50IGZyb20gcHJldmlvdXNcbiAgICAgICAgaWYgKCF0aGlzLmFyZVNlYXJjaFJlcXVlc3RzRXF1YWwocHJldmlvdXNSZXF1ZXN0LCByZXF1ZXN0KSkge1xuICAgICAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXJ0aWFsbHkgdXBkYXRlcyB0aGUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gcGFydGlhbCBQYXJ0aWFsIHNlYXJjaCByZXF1ZXN0IHByb3BlcnRpZXMgdG8gdXBkYXRlXG4gICAgICovXG4gICAgcGF0Y2hTZWFyY2hSZXF1ZXN0KHBhcnRpYWw6IFBhcnRpYWw8U2VhcmNoUmVxdWVzdE1vZGVsPik6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2aW91c1JlcXVlc3QgPSB0aGlzLl9zZWFyY2hSZXF1ZXN0KCk7XG4gICAgICAgIGNvbnN0IG5ld1JlcXVlc3QgPSB7IC4uLnByZXZpb3VzUmVxdWVzdCwgLi4ucGFydGlhbCB9O1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldChuZXdSZXF1ZXN0KTtcblxuICAgICAgICAvLyBPbmx5IG1hcmsgYXMgY2hhbmdlZCBpZiB0aGUgcGF0Y2ggYWN0dWFsbHkgY2hhbmdlZCBzb21ldGhpbmdcbiAgICAgICAgaWYgKCF0aGlzLmFyZVNlYXJjaFJlcXVlc3RzRXF1YWwocHJldmlvdXNSZXF1ZXN0LCBuZXdSZXF1ZXN0KSkge1xuICAgICAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzZWFyY2hpbmcgc3RhdGVcbiAgICAgKiBAcGFyYW0gaXNTZWFyY2hpbmcgV2hldGhlciBhIHNlYXJjaCBpcyBpbiBwcm9ncmVzc1xuICAgICAqL1xuICAgIHNldFNlYXJjaGluZyhpc1NlYXJjaGluZzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9pc1NlYXJjaGluZy5zZXQoaXNTZWFyY2hpbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0cyB0aGUgc2VhcmNoIHJlcXVlc3QgdG8gZGVmYXVsdCBzdGF0ZVxuICAgICAqL1xuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWFyY2hSZXF1ZXN0LnNldCh7fSk7XG4gICAgICAgIHRoaXMuX2lzU2VhcmNoaW5nLnNldChmYWxzZSk7XG4gICAgICAgIHRoaXMuX2hhc0NoYW5nZXMuc2V0KGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VycyBhIHNlYXJjaCBvcGVyYXRpb24gYnkgZW1pdHRpbmcgb24gdGhlIHNlYXJjaFJlcXVlc3RTdWJqZWN0XG4gICAgICovXG4gICAgdHJpZ2dlclNlYXJjaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWFyY2hSZXF1ZXN0U3ViamVjdC5uZXh0KHRoaXMuX3NlYXJjaFJlcXVlc3QoKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTWFudWFsbHkgc2V0cyB0aGUgaGFzQ2hhbmdlcyBmbGFnXG4gICAgICogVXNlZnVsIGZvciBjaGFuZ2VzIHRoYXQgYXJlbid0IHBhcnQgb2YgdGhlIHNlYXJjaCByZXF1ZXN0IGJ1dCBzaG91bGQgZW5hYmxlIFNhdmUgVmlld1xuICAgICAqIChlLmcuLCBjb2x1bW4gdmlzaWJpbGl0eSBjaGFuZ2VzKVxuICAgICAqIEBwYXJhbSBoYXNDaGFuZ2VzIFdoZXRoZXIgdGhlcmUgYXJlIGNoYW5nZXNcbiAgICAgKi9cbiAgICBzZXRIYXNDaGFuZ2VzKGhhc0NoYW5nZXM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFzQ2hhbmdlcy5zZXQoaGFzQ2hhbmdlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBhIGZpbHRlciB0byB0aGUgc2VhcmNoIHJlcXVlc3RcbiAgICAgKiBAcGFyYW0gZmlsdGVyIFRoZSBmaWx0ZXIgdG8gYWRkXG4gICAgICovXG4gICAgYWRkRmlsdGVyKGZpbHRlcjogQmFzZUZpbHRlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogWy4uLmN1cnJlbnRGaWx0ZXJzLCBmaWx0ZXJdIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSBmaWx0ZXIgYnkgbmFtZVxuICAgICAqIEBwYXJhbSBmaWx0ZXJOYW1lIFRoZSBuYW1lIG9mIHRoZSBmaWx0ZXIgY29sdW1uIHRvIHJlbW92ZVxuICAgICAqL1xuICAgIHJlbW92ZUZpbHRlcihmaWx0ZXJOYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudEZpbHRlcnMgPSB0aGlzLnNlYXJjaFJlcXVlc3QoKS5maWx0ZXJzIHx8IFtdO1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IGN1cnJlbnRGaWx0ZXJzLmZpbHRlcihmID0+IGYuY29sdW1uICE9PSBmaWx0ZXJOYW1lKSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgZmlsdGVyIGJ5IGluZGV4XG4gICAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZmlsdGVyIHRvIHJlbW92ZVxuICAgICAqL1xuICAgIHJlbW92ZUZpbHRlckJ5SW5kZXgoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogY3VycmVudEZpbHRlcnMuZmlsdGVyKChfLCBpKSA9PiBpICE9PSBpbmRleCkgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBhIHNwZWNpZmljIGZpbHRlciBieSBjb2x1bW4gbmFtZVxuICAgICAqIEBwYXJhbSBjb2x1bW5OYW1lIFRoZSBjb2x1bW4gbmFtZSBvZiB0aGUgZmlsdGVyIHRvIHVwZGF0ZVxuICAgICAqIEBwYXJhbSBuZXdEYXRhIFBhcnRpYWwgZmlsdGVyIHByb3BlcnRpZXMgdG8gdXBkYXRlXG4gICAgICovXG4gICAgdXBkYXRlRmlsdGVyKGNvbHVtbk5hbWU6IHN0cmluZywgbmV3RGF0YTogUGFydGlhbDxCYXNlRmlsdGVyPik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogY3VycmVudEZpbHRlcnMubWFwKGYgPT4gZi5jb2x1bW4gPT09IGNvbHVtbk5hbWUgPyB7IC4uLmYsIC4uLm5ld0RhdGEgfSBhcyBhbnkgOiBmKSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGEgZmlsdGVyIGJ5IGl0cyBpbmRleCBwb3NpdGlvblxuICAgICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGZpbHRlciB0byB1cGRhdGVcbiAgICAgKiBAcGFyYW0gbmV3RGF0YSBQYXJ0aWFsIGZpbHRlciBwcm9wZXJ0aWVzIHRvIHVwZGF0ZVxuICAgICAqL1xuICAgIHVwZGF0ZUZpbHRlckJ5SW5kZXgoaW5kZXg6IG51bWJlciwgbmV3RGF0YTogUGFydGlhbDxCYXNlRmlsdGVyPik6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50RmlsdGVycyA9IHRoaXMuc2VhcmNoUmVxdWVzdCgpLmZpbHRlcnMgfHwgW107XG5cbiAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPCBjdXJyZW50RmlsdGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgZmlsdGVyczogY3VycmVudEZpbHRlcnMubWFwKChmLCBpKSA9PiBpID09PSBpbmRleCA/IHsgLi4uZiwgLi4ubmV3RGF0YSB9IGFzIGFueSA6IGYpIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIGFsbCBmaWx0ZXJzXG4gICAgICovXG4gICAgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IFtdIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHNvcnRpbmcgKHJlcGxhY2VzIGV4aXN0aW5nIHNvcnRpbmdzKVxuICAgICAqIEBwYXJhbSBjb2x1bW4gVGhlIGNvbHVtbiBuYW1lIHRvIHNvcnQgYnlcbiAgICAgKiBAcGFyYW0gZGlyZWN0aW9uIFRoZSBzb3J0IGRpcmVjdGlvblxuICAgICAqL1xuICAgIHNldFNvcnRpbmcoY29sdW1uOiBzdHJpbmcsIGRpcmVjdGlvbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMucGF0Y2hTZWFyY2hSZXF1ZXN0KHsgc29ydGluZ3M6IFt7IGNvbHVtbiwgZGlyZWN0aW9uIH1dIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyBhbGwgc29ydGluZ1xuICAgICAqL1xuICAgIGNsZWFyU29ydGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXRjaFNlYXJjaFJlcXVlc3QoeyBzb3J0aW5nczogW10gfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgc2VhcmNoIGRlc2NyaXB0aW9uL3RleHQgcXVlcnlcbiAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gVGhlIHNlYXJjaCB0ZXh0XG4gICAgICovXG4gICAgc2V0RGVzY3JpcHRpb24oZGVzY3JpcHRpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGRlc2NyaXB0aW9uIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENsZWFycyB0aGUgc2VhcmNoIGRlc2NyaXB0aW9uXG4gICAgICovXG4gICAgY2xlYXJEZXNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYXRjaFNlYXJjaFJlcXVlc3QoeyBkZXNjcmlwdGlvbjogJycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2xlYXJzIEFMTCBzZWFyY2ggY3JpdGVyaWEgKGZpbHRlcnMsIGRlc2NyaXB0aW9uLCBzb3J0aW5nKVxuICAgICAqIE5vdGU6IERvZXMgbm90IHJlc2V0IHBhZ2luYXRpb24gLSB1c2UgcmVzZXQoKSBmb3IgdGhhdFxuICAgICAqL1xuICAgIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhdGNoU2VhcmNoUmVxdWVzdCh7IGZpbHRlcnM6IFtdLCBkZXNjcmlwdGlvbjogJycsIHNvcnRpbmdzOiBbXSB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDbGVhcnMgYWxsIHNlYXJjaCBjcml0ZXJpYSBleGNlcHQgcGFnaW5hdGlvblxuICAgICAqIFVzZWZ1bCB3aGVuIHlvdSB3YW50IHRvIHJlc2V0IHNlYXJjaCBidXQgbWFpbnRhaW4gY3VycmVudCBwYWdlXG4gICAgICovXG4gICAgY2xlYXJBbGxFeGNlcHRQYWdpbmF0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyQWxsKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVlcCBjb21wYXJpc29uIG9mIHR3byBzZWFyY2ggcmVxdWVzdHNcbiAgICAgKiBAcGFyYW0gYSBGaXJzdCBzZWFyY2ggcmVxdWVzdFxuICAgICAqIEBwYXJhbSBiIFNlY29uZCBzZWFyY2ggcmVxdWVzdFxuICAgICAqIEByZXR1cm5zIHRydWUgaWYgdGhleSBhcmUgZXF1YWwsIGZhbHNlIG90aGVyd2lzZVxuICAgICAqL1xuICAgIHByaXZhdGUgYXJlU2VhcmNoUmVxdWVzdHNFcXVhbChhOiBTZWFyY2hSZXF1ZXN0TW9kZWwsIGI6IFNlYXJjaFJlcXVlc3RNb2RlbCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoKGEuZGVzY3JpcHRpb24gfHwgJycpICE9PSAoYi5kZXNjcmlwdGlvbiB8fCAnJykpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFGaWx0ZXJzID0gYS5maWx0ZXJzIHx8IFtdO1xuICAgICAgICBjb25zdCBiRmlsdGVycyA9IGIuZmlsdGVycyB8fCBbXTtcblxuICAgICAgICBpZiAoYUZpbHRlcnMubGVuZ3RoICE9PSBiRmlsdGVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYUZpbHRlcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChKU09OLnN0cmluZ2lmeShhRmlsdGVyc1tpXSkgIT09IEpTT04uc3RyaW5naWZ5KGJGaWx0ZXJzW2ldKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFTb3J0aW5ncyA9IGEuc29ydGluZ3MgfHwgW107XG4gICAgICAgIGNvbnN0IGJTb3J0aW5ncyA9IGIuc29ydGluZ3MgfHwgW107XG5cbiAgICAgICAgaWYgKGFTb3J0aW5ncy5sZW5ndGggIT09IGJTb3J0aW5ncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYVNvcnRpbmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoSlNPTi5zdHJpbmdpZnkoYVNvcnRpbmdzW2ldKSAhPT0gSlNPTi5zdHJpbmdpZnkoYlNvcnRpbmdzW2ldKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhLnBhZ2VTaXplICE9PSBiLnBhZ2VTaXplIHx8IGEucGFnZUluZGV4ICE9PSBiLnBhZ2VJbmRleCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { FilterTypeEnum } from '@updevs/sdk/stores';
|
|
3
3
|
import { forkJoin } from 'rxjs';
|
|
4
4
|
import { FiltersOperandsService } from '../abstractions/filters-operands.service';
|
|
5
5
|
import { UpdTableConfigService } from './upd-table-config.service';
|
|
@@ -9,6 +9,7 @@ import { NumberFilterOperandsListModel } from '../models/operands-lists/number-f
|
|
|
9
9
|
import { BooleanFilterOperandsListModel } from '../models/operands-lists/boolean-filter-operands-list.model';
|
|
10
10
|
import { DateFilterOperandsListModel } from '../models/operands-lists/date-filter-operands-list.model';
|
|
11
11
|
import { GuidFilterOperandsListModel } from '../models/operands-lists/guid-filter-operands-list.model';
|
|
12
|
+
import { SelectFilterOperandsListModel } from '../models/operands-lists/select-filter-operands-list.model';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
export class DefaultFiltersOperandsService extends FiltersOperandsService {
|
|
14
15
|
get isLoaded() {
|
|
@@ -22,26 +23,29 @@ export class DefaultFiltersOperandsService extends FiltersOperandsService {
|
|
|
22
23
|
this.cachedData = {};
|
|
23
24
|
if (!!this.configService.config.urlToLoadOperandsFromServer) {
|
|
24
25
|
forkJoin({
|
|
25
|
-
guidOps: this.filterOperandsStore.load(
|
|
26
|
-
stringOps: this.filterOperandsStore.load(
|
|
27
|
-
numberOps: this.filterOperandsStore.load(
|
|
28
|
-
dateOps: this.filterOperandsStore.load(
|
|
29
|
-
booleanOps: this.filterOperandsStore.load(
|
|
26
|
+
guidOps: this.filterOperandsStore.load(FilterTypeEnum.Guid),
|
|
27
|
+
stringOps: this.filterOperandsStore.load(FilterTypeEnum.Text),
|
|
28
|
+
numberOps: this.filterOperandsStore.load(FilterTypeEnum.Number),
|
|
29
|
+
dateOps: this.filterOperandsStore.load(FilterTypeEnum.Date),
|
|
30
|
+
booleanOps: this.filterOperandsStore.load(FilterTypeEnum.Boolean),
|
|
31
|
+
selectOps: this.filterOperandsStore.load(FilterTypeEnum.Select)
|
|
30
32
|
}).subscribe(resp => {
|
|
31
|
-
this.cachedData[
|
|
32
|
-
this.cachedData[
|
|
33
|
-
this.cachedData[
|
|
34
|
-
this.cachedData[
|
|
35
|
-
this.cachedData[
|
|
33
|
+
this.cachedData[FilterTypeEnum.Guid] = resp.guidOps;
|
|
34
|
+
this.cachedData[FilterTypeEnum.Text] = resp.stringOps;
|
|
35
|
+
this.cachedData[FilterTypeEnum.Number] = resp.numberOps;
|
|
36
|
+
this.cachedData[FilterTypeEnum.Date] = resp.dateOps;
|
|
37
|
+
this.cachedData[FilterTypeEnum.Boolean] = resp.booleanOps;
|
|
38
|
+
this.cachedData[FilterTypeEnum.Select] = resp.selectOps;
|
|
36
39
|
this._isLoaded = true;
|
|
37
40
|
});
|
|
38
41
|
}
|
|
39
42
|
else {
|
|
40
|
-
this.cachedData[
|
|
41
|
-
this.cachedData[
|
|
42
|
-
this.cachedData[
|
|
43
|
-
this.cachedData[
|
|
44
|
-
this.cachedData[
|
|
43
|
+
this.cachedData[FilterTypeEnum.Guid] = GuidFilterOperandsListModel.optionsAsList;
|
|
44
|
+
this.cachedData[FilterTypeEnum.Text] = StringFilterOperandsListModel.optionsAsList;
|
|
45
|
+
this.cachedData[FilterTypeEnum.Number] = NumberFilterOperandsListModel.optionsAsList;
|
|
46
|
+
this.cachedData[FilterTypeEnum.Date] = DateFilterOperandsListModel.optionsAsList;
|
|
47
|
+
this.cachedData[FilterTypeEnum.Boolean] = BooleanFilterOperandsListModel.optionsAsList;
|
|
48
|
+
this.cachedData[FilterTypeEnum.Select] = SelectFilterOperandsListModel.optionsAsList;
|
|
45
49
|
this._isLoaded = true;
|
|
46
50
|
}
|
|
47
51
|
}
|
|
@@ -57,4 +61,4 @@ export class DefaultFiltersOperandsService extends FiltersOperandsService {
|
|
|
57
61
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: DefaultFiltersOperandsService, decorators: [{
|
|
58
62
|
type: Injectable
|
|
59
63
|
}], ctorParameters: () => [] });
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1maWx0ZXJzLW9wZXJhbmRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL3NlcnZpY2VzL2RlZmF1bHQtZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDOztBQUczRyxNQUFNLE9BQU8sNkJBQThCLFNBQVEsc0JBQXNCO0lBQ3JFLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBT0Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQU5KLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDVCxrQkFBYSxHQUFHLE1B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QVUsQ0FBQztJQUMzQixDQUFDOzhHQS9DUSw2QkFBNkI7a0hBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFEekMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyVHlwZUVudW0gfSBmcm9tICdAdXBkZXZzL3Nkay9zdG9yZXMnO1xuaW1wb3J0IHsgTm9uTnVsbGFibGVEaWN0aW9uYXJ5VHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgfSBmcm9tICcuLi9hYnN0cmFjdGlvbnMvZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVwZFRhYmxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vdXBkLXRhYmxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlck9wZXJhbmRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLW9wZXJhbmQuY29uZmlnJztcbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1N0b3JlIH0gZnJvbSAnLi9zdG9yZXMvZmlsdGVycy1vcGVyYW5kcy5zdG9yZSc7XG5pbXBvcnQgeyBTdHJpbmdGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9zdHJpbmctZmlsdGVyLW9wZXJhbmRzLWxpc3QubW9kZWwnO1xuaW1wb3J0IHsgTnVtYmVyRmlsdGVyT3BlcmFuZHNMaXN0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvb3BlcmFuZHMtbGlzdHMvbnVtYmVyLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IEJvb2xlYW5GaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9ib29sZWFuLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IERhdGVGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9kYXRlLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IEd1aWRGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9ndWlkLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IFNlbGVjdEZpbHRlck9wZXJhbmRzTGlzdE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL29wZXJhbmRzLWxpc3RzL3NlbGVjdC1maWx0ZXItb3BlcmFuZHMtbGlzdC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWZhdWx0RmlsdGVyc09wZXJhbmRzU2VydmljZSBleHRlbmRzIEZpbHRlcnNPcGVyYW5kc1NlcnZpY2Uge1xuICAgIGdldCBpc0xvYWRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzTG9hZGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2lzTG9hZGVkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFVwZFRhYmxlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJPcGVyYW5kc1N0b3JlID0gaW5qZWN0KEZpbHRlcnNPcGVyYW5kc1N0b3JlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlZERhdGE6IE5vbk51bGxhYmxlRGljdGlvbmFyeVR5cGU8RmlsdGVyT3BlcmFuZENvbmZpZ1tdPiA9IHt9O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKCEhdGhpcy5jb25maWdTZXJ2aWNlLmNvbmZpZy51cmxUb0xvYWRPcGVyYW5kc0Zyb21TZXJ2ZXIpIHtcbiAgICAgICAgICAgIGZvcmtKb2luKHtcbiAgICAgICAgICAgICAgICBndWlkT3BzOiB0aGlzLmZpbHRlck9wZXJhbmRzU3RvcmUubG9hZChGaWx0ZXJUeXBlRW51bS5HdWlkKSxcbiAgICAgICAgICAgICAgICBzdHJpbmdPcHM6IHRoaXMuZmlsdGVyT3BlcmFuZHNTdG9yZS5sb2FkKEZpbHRlclR5cGVFbnVtLlRleHQpLFxuICAgICAgICAgICAgICAgIG51bWJlck9wczogdGhpcy5maWx0ZXJPcGVyYW5kc1N0b3JlLmxvYWQoRmlsdGVyVHlwZUVudW0uTnVtYmVyKSxcbiAgICAgICAgICAgICAgICBkYXRlT3BzOiB0aGlzLmZpbHRlck9wZXJhbmRzU3RvcmUubG9hZChGaWx0ZXJUeXBlRW51bS5EYXRlKSxcbiAgICAgICAgICAgICAgICBib29sZWFuT3BzOiB0aGlzLmZpbHRlck9wZXJhbmRzU3RvcmUubG9hZChGaWx0ZXJUeXBlRW51bS5Cb29sZWFuKSxcbiAgICAgICAgICAgICAgICBzZWxlY3RPcHM6IHRoaXMuZmlsdGVyT3BlcmFuZHNTdG9yZS5sb2FkKEZpbHRlclR5cGVFbnVtLlNlbGVjdClcbiAgICAgICAgICAgIH0pLnN1YnNjcmliZShyZXNwID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRmlsdGVyVHlwZUVudW0uR3VpZF0gPSByZXNwLmd1aWRPcHM7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0ZpbHRlclR5cGVFbnVtLlRleHRdID0gcmVzcC5zdHJpbmdPcHM7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0ZpbHRlclR5cGVFbnVtLk51bWJlcl0gPSByZXNwLm51bWJlck9wcztcbiAgICAgICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRmlsdGVyVHlwZUVudW0uRGF0ZV0gPSByZXNwLmRhdGVPcHM7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0ZpbHRlclR5cGVFbnVtLkJvb2xlYW5dID0gcmVzcC5ib29sZWFuT3BzO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVkRGF0YVtGaWx0ZXJUeXBlRW51bS5TZWxlY3RdID0gcmVzcC5zZWxlY3RPcHM7XG4gICAgICAgICAgICAgICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRmlsdGVyVHlwZUVudW0uR3VpZF0gPSBHdWlkRmlsdGVyT3BlcmFuZHNMaXN0TW9kZWwub3B0aW9uc0FzTGlzdDtcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkRGF0YVtGaWx0ZXJUeXBlRW51bS5UZXh0XSA9IFN0cmluZ0ZpbHRlck9wZXJhbmRzTGlzdE1vZGVsLm9wdGlvbnNBc0xpc3Q7XG4gICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRmlsdGVyVHlwZUVudW0uTnVtYmVyXSA9IE51bWJlckZpbHRlck9wZXJhbmRzTGlzdE1vZGVsLm9wdGlvbnNBc0xpc3Q7XG4gICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRmlsdGVyVHlwZUVudW0uRGF0ZV0gPSBEYXRlRmlsdGVyT3BlcmFuZHNMaXN0TW9kZWwub3B0aW9uc0FzTGlzdDtcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkRGF0YVtGaWx0ZXJUeXBlRW51bS5Cb29sZWFuXSA9IEJvb2xlYW5GaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbC5vcHRpb25zQXNMaXN0O1xuICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0ZpbHRlclR5cGVFbnVtLlNlbGVjdF0gPSBTZWxlY3RGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbC5vcHRpb25zQXNMaXN0O1xuICAgICAgICAgICAgdGhpcy5faXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3ZlcnJpZGUgZ2V0T3BlcmFuZHModHlwZTogRmlsdGVyVHlwZUVudW0pOiBGaWx0ZXJPcGVyYW5kQ29uZmlnW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2FkZWQgPyB0aGlzLmNhY2hlZERhdGFbdHlwZV0gOiBbXTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXRBbGxPcGVyYW5kcygpOiBOb25OdWxsYWJsZURpY3Rpb25hcnlUeXBlPEZpbHRlck9wZXJhbmRDb25maWdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZWREYXRhO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -16,4 +16,4 @@ export class FiltersOperandsStore extends BaseStore {
|
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: FiltersOperandsStore, decorators: [{
|
|
17
17
|
type: Injectable
|
|
18
18
|
}], ctorParameters: () => [{ type: i1.UpdTableConfigService }] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1vcGVyYW5kcy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvc2VydmljZXMvc3RvcmVzL2ZpbHRlcnMtb3BlcmFuZHMuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFJcEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFDL0MsWUFBWSxhQUFvQztRQUM1QyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBeUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBd0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7OEdBUFEsb0JBQW9CO2tIQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3RvcmUsIEZpbHRlclR5cGVFbnVtIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVXBkVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vdXBkLXRhYmxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlck9wZXJhbmRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLW9wZXJhbmQuY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpbHRlcnNPcGVyYW5kc1N0b3JlIGV4dGVuZHMgQmFzZVN0b3JlIHtcbiAgICBjb25zdHJ1Y3Rvcihjb25maWdTZXJ2aWNlOiBVcGRUYWJsZUNvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoeyBiYXNlVXJsOiBjb25maWdTZXJ2aWNlLmNvbmZpZy51cmxUb0xvYWRPcGVyYW5kc0Zyb21TZXJ2ZXIgfHwgJycgfSk7XG4gICAgfVxuXG4gICAgbG9hZChmaWVsZFR5cGU6IEZpbHRlclR5cGVFbnVtKTogT2JzZXJ2YWJsZTxGaWx0ZXJPcGVyYW5kQ29uZmlnW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3RTZXJ2aWNlLm1ha2VHZXQ8RmlsdGVyT3BlcmFuZENvbmZpZ1tdPih0aGlzLmdldFJlcXVlc3RNb2RlbChmaWVsZFR5cGUudG9TdHJpbmcoKSkpO1xuICAgIH1cbn1cbiJdfQ==
|