@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.
Files changed (29) hide show
  1. package/esm2022/table/abstractions/base-column.model.mjs +1 -1
  2. package/esm2022/table/abstractions/filters-operands.service.mjs +1 -1
  3. package/esm2022/table/components/filter-row/filter-row.component.mjs +47 -27
  4. package/esm2022/table/components/search-section/search-section.component.mjs +17 -29
  5. package/esm2022/table/models/filter-field.config.mjs +2 -0
  6. package/esm2022/table/models/operands-lists/select-filter-operands-list.model.mjs +12 -0
  7. package/esm2022/table/models/table-config.model.mjs +11 -1
  8. package/esm2022/table/models/table.config.mjs +1 -1
  9. package/esm2022/table/services/current-search-request.service.mjs +254 -0
  10. package/esm2022/table/services/default-filters-operands.service.mjs +21 -17
  11. package/esm2022/table/services/stores/filters-operands.store.mjs +1 -1
  12. package/esm2022/table/table.component.mjs +25 -34
  13. package/esm2022/table/tools/filters.tools.mjs +32 -16
  14. package/fesm2022/updevs-components-table.mjs +399 -113
  15. package/fesm2022/updevs-components-table.mjs.map +1 -1
  16. package/package.json +25 -25
  17. package/table/abstractions/base-column.model.d.ts +2 -4
  18. package/table/abstractions/filters-operands.service.d.ts +2 -2
  19. package/table/components/filter-row/filter-row.component.d.ts +8 -5
  20. package/table/components/search-section/search-section.component.d.ts +4 -8
  21. package/table/models/filter-field.config.d.ts +11 -0
  22. package/table/models/operands-lists/select-filter-operands-list.model.d.ts +6 -0
  23. package/table/models/table-config.model.d.ts +11 -0
  24. package/table/models/table.config.d.ts +11 -0
  25. package/table/services/current-search-request.service.d.ts +164 -0
  26. package/table/services/default-filters-operands.service.d.ts +2 -2
  27. package/table/services/stores/filters-operands.store.d.ts +2 -2
  28. package/table/table.component.d.ts +4 -9
  29. 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 { DataTypeEnum } from '@updevs/sdk/stores';
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(DataTypeEnum.Guid),
26
- stringOps: this.filterOperandsStore.load(DataTypeEnum.String),
27
- numberOps: this.filterOperandsStore.load(DataTypeEnum.Number),
28
- dateOps: this.filterOperandsStore.load(DataTypeEnum.Date),
29
- booleanOps: this.filterOperandsStore.load(DataTypeEnum.Boolean)
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[DataTypeEnum.Guid] = resp.guidOps;
32
- this.cachedData[DataTypeEnum.String] = resp.stringOps;
33
- this.cachedData[DataTypeEnum.Number] = resp.numberOps;
34
- this.cachedData[DataTypeEnum.Date] = resp.dateOps;
35
- this.cachedData[DataTypeEnum.Boolean] = resp.booleanOps;
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[DataTypeEnum.Guid] = GuidFilterOperandsListModel.optionsAsList;
41
- this.cachedData[DataTypeEnum.String] = StringFilterOperandsListModel.optionsAsList;
42
- this.cachedData[DataTypeEnum.Number] = NumberFilterOperandsListModel.optionsAsList;
43
- this.cachedData[DataTypeEnum.Date] = DateFilterOperandsListModel.optionsAsList;
44
- this.cachedData[DataTypeEnum.Boolean] = BooleanFilterOperandsListModel.optionsAsList;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1maWx0ZXJzLW9wZXJhbmRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvdGFibGUvc3JjL3NlcnZpY2VzL2RlZmF1bHQtZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDREQUE0RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQzdHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDOztBQUd2RyxNQUFNLE9BQU8sNkJBQThCLFNBQVEsc0JBQXNCO0lBQ3JFLElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBT0Q7UUFDSSxLQUFLLEVBQUUsQ0FBQztRQU5KLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDVCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlDLHdCQUFtQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ25ELGVBQVUsR0FBcUQsRUFBRSxDQUFDO1FBSy9FLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDMUQsUUFBUSxDQUFDO2dCQUNMLE9BQU8sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3pELFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQzdELFNBQVMsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUM7Z0JBQzdELE9BQU8sRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7Z0JBQ3pELFVBQVUsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUM7YUFDbEUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDaEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztnQkFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7WUFDMUIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLDJCQUEyQixDQUFDLGFBQWEsQ0FBQztZQUMvRSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyw2QkFBNkIsQ0FBQyxhQUFhLENBQUM7WUFDbkYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEdBQUcsNkJBQTZCLENBQUMsYUFBYSxDQUFDO1lBQ25GLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLDJCQUEyQixDQUFDLGFBQWEsQ0FBQztZQUMvRSxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyw4QkFBOEIsQ0FBQyxhQUFhLENBQUM7WUFDckYsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXLENBQUMsSUFBa0I7UUFDbkMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVRLGNBQWM7UUFDbkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7OEdBNUNRLDZCQUE2QjtrSEFBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXRhVHlwZUVudW0gfSBmcm9tICdAdXBkZXZzL3Nkay9zdG9yZXMnO1xuaW1wb3J0IHsgTm9uTnVsbGFibGVEaWN0aW9uYXJ5VHlwZSB9IGZyb20gJ0B1cGRldnMvc2RrL3R5cGVzJztcbmltcG9ydCB7IGZvcmtKb2luIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1NlcnZpY2UgfSBmcm9tICcuLi9hYnN0cmFjdGlvbnMvZmlsdGVycy1vcGVyYW5kcy5zZXJ2aWNlJztcbmltcG9ydCB7IFVwZFRhYmxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vdXBkLXRhYmxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlck9wZXJhbmRDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLW9wZXJhbmQuY29uZmlnJztcbmltcG9ydCB7IEZpbHRlcnNPcGVyYW5kc1N0b3JlIH0gZnJvbSAnLi9zdG9yZXMvZmlsdGVycy1vcGVyYW5kcy5zdG9yZSc7XG5pbXBvcnQgeyBTdHJpbmdGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9zdHJpbmctZmlsdGVyLW9wZXJhbmRzLWxpc3QubW9kZWwnO1xuaW1wb3J0IHsgTnVtYmVyRmlsdGVyT3BlcmFuZHNMaXN0TW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvb3BlcmFuZHMtbGlzdHMvbnVtYmVyLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IEJvb2xlYW5GaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9ib29sZWFuLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IERhdGVGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9kYXRlLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcbmltcG9ydCB7IEd1aWRGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbCB9IGZyb20gJy4uL21vZGVscy9vcGVyYW5kcy1saXN0cy9ndWlkLWZpbHRlci1vcGVyYW5kcy1saXN0Lm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERlZmF1bHRGaWx0ZXJzT3BlcmFuZHNTZXJ2aWNlIGV4dGVuZHMgRmlsdGVyc09wZXJhbmRzU2VydmljZSB7XG4gICAgZ2V0IGlzTG9hZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2FkZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfaXNMb2FkZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2UgPSBpbmplY3QoVXBkVGFibGVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlck9wZXJhbmRzU3RvcmUgPSBpbmplY3QoRmlsdGVyc09wZXJhbmRzU3RvcmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVkRGF0YTogTm9uTnVsbGFibGVEaWN0aW9uYXJ5VHlwZTxGaWx0ZXJPcGVyYW5kQ29uZmlnW10+ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBpZiAoISF0aGlzLmNvbmZpZ1NlcnZpY2UuY29uZmlnLnVybFRvTG9hZE9wZXJhbmRzRnJvbVNlcnZlcikge1xuICAgICAgICAgICAgZm9ya0pvaW4oe1xuICAgICAgICAgICAgICAgIGd1aWRPcHM6IHRoaXMuZmlsdGVyT3BlcmFuZHNTdG9yZS5sb2FkKERhdGFUeXBlRW51bS5HdWlkKSxcbiAgICAgICAgICAgICAgICBzdHJpbmdPcHM6IHRoaXMuZmlsdGVyT3BlcmFuZHNTdG9yZS5sb2FkKERhdGFUeXBlRW51bS5TdHJpbmcpLFxuICAgICAgICAgICAgICAgIG51bWJlck9wczogdGhpcy5maWx0ZXJPcGVyYW5kc1N0b3JlLmxvYWQoRGF0YVR5cGVFbnVtLk51bWJlciksXG4gICAgICAgICAgICAgICAgZGF0ZU9wczogdGhpcy5maWx0ZXJPcGVyYW5kc1N0b3JlLmxvYWQoRGF0YVR5cGVFbnVtLkRhdGUpLFxuICAgICAgICAgICAgICAgIGJvb2xlYW5PcHM6IHRoaXMuZmlsdGVyT3BlcmFuZHNTdG9yZS5sb2FkKERhdGFUeXBlRW51bS5Cb29sZWFuKVxuICAgICAgICAgICAgfSkuc3Vic2NyaWJlKHJlc3AgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FjaGVkRGF0YVtEYXRhVHlwZUVudW0uR3VpZF0gPSByZXNwLmd1aWRPcHM7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0RhdGFUeXBlRW51bS5TdHJpbmddID0gcmVzcC5zdHJpbmdPcHM7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0RhdGFUeXBlRW51bS5OdW1iZXJdID0gcmVzcC5udW1iZXJPcHM7XG4gICAgICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0RhdGFUeXBlRW51bS5EYXRlXSA9IHJlc3AuZGF0ZU9wcztcbiAgICAgICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRGF0YVR5cGVFbnVtLkJvb2xlYW5dID0gcmVzcC5ib29sZWFuT3BzO1xuICAgICAgICAgICAgICAgIHRoaXMuX2lzTG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0RhdGFUeXBlRW51bS5HdWlkXSA9IEd1aWRGaWx0ZXJPcGVyYW5kc0xpc3RNb2RlbC5vcHRpb25zQXNMaXN0O1xuICAgICAgICAgICAgdGhpcy5jYWNoZWREYXRhW0RhdGFUeXBlRW51bS5TdHJpbmddID0gU3RyaW5nRmlsdGVyT3BlcmFuZHNMaXN0TW9kZWwub3B0aW9uc0FzTGlzdDtcbiAgICAgICAgICAgIHRoaXMuY2FjaGVkRGF0YVtEYXRhVHlwZUVudW0uTnVtYmVyXSA9IE51bWJlckZpbHRlck9wZXJhbmRzTGlzdE1vZGVsLm9wdGlvbnNBc0xpc3Q7XG4gICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRGF0YVR5cGVFbnVtLkRhdGVdID0gRGF0ZUZpbHRlck9wZXJhbmRzTGlzdE1vZGVsLm9wdGlvbnNBc0xpc3Q7XG4gICAgICAgICAgICB0aGlzLmNhY2hlZERhdGFbRGF0YVR5cGVFbnVtLkJvb2xlYW5dID0gQm9vbGVhbkZpbHRlck9wZXJhbmRzTGlzdE1vZGVsLm9wdGlvbnNBc0xpc3Q7XG4gICAgICAgICAgICB0aGlzLl9pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXRPcGVyYW5kcyh0eXBlOiBEYXRhVHlwZUVudW0pOiBGaWx0ZXJPcGVyYW5kQ29uZmlnW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5faXNMb2FkZWQgPyB0aGlzLmNhY2hlZERhdGFbdHlwZV0gOiBbXTtcbiAgICB9XG5cbiAgICBvdmVycmlkZSBnZXRBbGxPcGVyYW5kcygpOiBOb25OdWxsYWJsZURpY3Rpb25hcnlUeXBlPEZpbHRlck9wZXJhbmRDb25maWdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jYWNoZWREYXRhO1xuICAgIH1cbn1cbiJdfQ==
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1vcGVyYW5kcy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvc2VydmljZXMvc3RvcmVzL2ZpbHRlcnMtb3BlcmFuZHMuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLG9CQUFvQixDQUFDO0FBRzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFJcEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFDL0MsWUFBWSxhQUFvQztRQUM1QyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBdUI7UUFDeEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBd0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7OEdBUFEsb0JBQW9CO2tIQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3RvcmUsIERhdGFUeXBlRW51bSB9IGZyb20gJ0B1cGRldnMvc2RrL3N0b3Jlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFVwZFRhYmxlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3VwZC10YWJsZS1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJPcGVyYW5kQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbHRlci1vcGVyYW5kLmNvbmZpZyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzT3BlcmFuZHNTdG9yZSBleHRlbmRzIEJhc2VTdG9yZSB7XG4gICAgY29uc3RydWN0b3IoY29uZmlnU2VydmljZTogVXBkVGFibGVDb25maWdTZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKHsgYmFzZVVybDogY29uZmlnU2VydmljZS5jb25maWcudXJsVG9Mb2FkT3BlcmFuZHNGcm9tU2VydmVyIHx8ICcnIH0pO1xuICAgIH1cblxuICAgIGxvYWQoZmllbGRUeXBlOiBEYXRhVHlwZUVudW0pOiBPYnNlcnZhYmxlPEZpbHRlck9wZXJhbmRDb25maWdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWVzdFNlcnZpY2UubWFrZUdldDxGaWx0ZXJPcGVyYW5kQ29uZmlnW10+KHRoaXMuZ2V0UmVxdWVzdE1vZGVsKGZpZWxkVHlwZS50b1N0cmluZygpKSk7XG4gICAgfVxufVxuIl19
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1vcGVyYW5kcy5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy90YWJsZS9zcmMvc2VydmljZXMvc3RvcmVzL2ZpbHRlcnMtb3BlcmFuZHMuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFrQixNQUFNLG9CQUFvQixDQUFDO0FBRy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7QUFJcEUsTUFBTSxPQUFPLG9CQUFxQixTQUFRLFNBQVM7SUFDL0MsWUFBWSxhQUFvQztRQUM1QyxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLENBQUMsU0FBeUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBd0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7OEdBUFEsb0JBQW9CO2tIQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlU3RvcmUsIEZpbHRlclR5cGVFbnVtIH0gZnJvbSAnQHVwZGV2cy9zZGsvc3RvcmVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgVXBkVGFibGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vdXBkLXRhYmxlLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IEZpbHRlck9wZXJhbmRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsdGVyLW9wZXJhbmQuY29uZmlnJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpbHRlcnNPcGVyYW5kc1N0b3JlIGV4dGVuZHMgQmFzZVN0b3JlIHtcbiAgICBjb25zdHJ1Y3Rvcihjb25maWdTZXJ2aWNlOiBVcGRUYWJsZUNvbmZpZ1NlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIoeyBiYXNlVXJsOiBjb25maWdTZXJ2aWNlLmNvbmZpZy51cmxUb0xvYWRPcGVyYW5kc0Zyb21TZXJ2ZXIgfHwgJycgfSk7XG4gICAgfVxuXG4gICAgbG9hZChmaWVsZFR5cGU6IEZpbHRlclR5cGVFbnVtKTogT2JzZXJ2YWJsZTxGaWx0ZXJPcGVyYW5kQ29uZmlnW10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVlc3RTZXJ2aWNlLm1ha2VHZXQ8RmlsdGVyT3BlcmFuZENvbmZpZ1tdPih0aGlzLmdldFJlcXVlc3RNb2RlbChmaWVsZFR5cGUudG9TdHJpbmcoKSkpO1xuICAgIH1cbn1cbiJdfQ==