@firestitch/filter 18.2.3 → 18.2.5
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/app/helpers/create-filter-item.d.ts +1 -1
- package/app/services/param-controller.service.d.ts +2 -2
- package/app/services/saved-filter-controller.service.d.ts +1 -2
- package/esm2022/app/components/filter/filter.component.mjs +2 -2
- package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +3 -3
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +2 -2
- package/esm2022/app/services/param-controller.service.mjs +15 -13
- package/esm2022/app/services/saved-filter-controller.service.mjs +18 -14
- package/fesm2022/firestitch-filter.mjs +35 -29
- package/fesm2022/firestitch-filter.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { FsPrompt } from '@firestitch/prompt';
|
|
3
|
-
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, of, Subject } from 'rxjs';
|
|
4
4
|
import { distinctUntilChanged, switchMap, tap, } from 'rxjs/operators';
|
|
5
5
|
import { ItemStore } from './item-store.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -66,13 +66,21 @@ export class SavedFilterController {
|
|
|
66
66
|
this._setEnabledStatus(true);
|
|
67
67
|
this._config = filterSavedFiltersConfig;
|
|
68
68
|
}
|
|
69
|
-
initSavedFilters(
|
|
70
|
-
this.savedFilters =
|
|
69
|
+
initSavedFilters(savedFilters) {
|
|
70
|
+
this.savedFilters = savedFilters;
|
|
71
|
+
const acitveFilter = this.savedFilters
|
|
72
|
+
.find((f) => f.active);
|
|
73
|
+
if (acitveFilter) {
|
|
74
|
+
this._activeFilter$.next(acitveFilter);
|
|
75
|
+
}
|
|
71
76
|
}
|
|
72
77
|
load() {
|
|
78
|
+
if (!this.enabled) {
|
|
79
|
+
return of([]);
|
|
80
|
+
}
|
|
73
81
|
return this._config.load()
|
|
74
|
-
.pipe(tap((
|
|
75
|
-
this.initSavedFilters(
|
|
82
|
+
.pipe(tap((savedFilters) => {
|
|
83
|
+
this.initSavedFilters(savedFilters);
|
|
76
84
|
}));
|
|
77
85
|
}
|
|
78
86
|
create() {
|
|
@@ -96,7 +104,7 @@ export class SavedFilterController {
|
|
|
96
104
|
}));
|
|
97
105
|
}
|
|
98
106
|
save(savedFilter) {
|
|
99
|
-
const exists = !!
|
|
107
|
+
const exists = !!this.activeFilter.id;
|
|
100
108
|
savedFilter = {
|
|
101
109
|
...this.activeFilter,
|
|
102
110
|
...savedFilter,
|
|
@@ -135,6 +143,9 @@ export class SavedFilterController {
|
|
|
135
143
|
.pipe(tap(() => {
|
|
136
144
|
this.savedFilters = this.savedFilters
|
|
137
145
|
.filter((f) => f.id !== savedFilter.id);
|
|
146
|
+
if (this.activeFilter?.id === savedFilter.id) {
|
|
147
|
+
this.setActiveFilter(null);
|
|
148
|
+
}
|
|
138
149
|
}));
|
|
139
150
|
}
|
|
140
151
|
setActiveFilter(savedFilter) {
|
|
@@ -150,13 +161,6 @@ export class SavedFilterController {
|
|
|
150
161
|
this._activeFilter$.next(null);
|
|
151
162
|
}
|
|
152
163
|
}
|
|
153
|
-
updateActiveFilter() {
|
|
154
|
-
const acitveFilter = this.savedFilters
|
|
155
|
-
.find((f) => f.active);
|
|
156
|
-
if (acitveFilter) {
|
|
157
|
-
this.setActiveFilter(acitveFilter);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
164
|
_setEnabledStatus(value) {
|
|
161
165
|
this._enabled$.next(value);
|
|
162
166
|
}
|
|
@@ -166,4 +170,4 @@ export class SavedFilterController {
|
|
|
166
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SavedFilterController, decorators: [{
|
|
167
171
|
type: Injectable
|
|
168
172
|
}] });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvc2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sZ0JBQWdCLENBQUM7QUFReEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUlqRCxNQUFNLE9BQU8scUJBQXFCO0lBRXhCLE9BQU8sQ0FBNEI7SUFDbkMsY0FBYyxHQUFHLElBQUksZUFBZSxDQUF1QixFQUFFLENBQUMsQ0FBQztJQUMvRCxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQXFCLElBQUksQ0FBQyxDQUFDO0lBQy9ELFNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUNoRCxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUNoQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbkMsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxJQUFJLGNBQWMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksTUFBTSxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksZUFBZSxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTO2FBQ2xCLElBQUksQ0FDSCxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsWUFBWSxDQUFDLE9BQTZCO1FBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYzthQUN2QixJQUFJLENBQ0gsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYzthQUN2QixJQUFJLENBQ0gsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxDQUFDO0lBQ2pELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLElBQUksQ0FDVCx3QkFBbUQ7UUFFbkQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTlCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTdCLElBQUksQ0FBQyxPQUFPLEdBQUcsd0JBQXdCLENBQUM7SUFDMUMsQ0FBQztJQUVNLGdCQUFnQixDQUFDLE9BQTZCO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDO0lBQzlCLENBQUM7SUFFTSxJQUFJO1FBQ1QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRTthQUN2QixJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDZixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUN4QixLQUFLLEVBQUUsVUFBVSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JDLEtBQUssRUFBRSxNQUFNO1lBQ2IsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsUUFBUTtZQUNyQixZQUFZLEVBQUU7Z0JBQ1osWUFBWSxFQUFFLEtBQUs7YUFDcEI7U0FDRixDQUFDO2FBQ0MsSUFBSSxDQUNILFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2pCLE1BQU0sSUFBSSxHQUF1QjtnQkFDL0IsSUFBSTtnQkFDSixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUU7YUFDdkMsQ0FBQztZQUVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0sSUFBSSxDQUFDLFdBQStCO1FBQ3pDLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBRWhDLFdBQVcsR0FBRztZQUNaLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsR0FBRyxXQUFXO1lBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztpQkFDM0IsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO2lCQUMvQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUU7Z0JBQ3RCLE9BQU87b0JBQ0wsR0FBRyxLQUFLO29CQUNSLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLO2lCQUN4QixDQUFDO1lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQztTQUNULENBQUM7UUFFRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUNsQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZO2lCQUMzQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELEdBQUcsSUFBSSxDQUFDLFlBQVk7Z0JBQ3BCLFlBQVk7YUFDYixDQUFDO1lBRUYsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRU0sS0FBSyxDQUFDLFlBQWtDO1FBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2FBQ3BDLElBQUksQ0FDSCxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRztnQkFDbEIsR0FBRyxZQUFZO2FBQ2hCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUErQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUNwQyxJQUFJLENBQ0gsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVk7aUJBQ2xDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7SUFFTSxlQUFlLENBQUMsV0FBK0I7UUFDcEQsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWTtpQkFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV4QyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkVBQTZFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pILENBQUM7WUFFRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZO2FBQ25DLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXpCLElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzt3R0FoTlUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IEZzUHJvbXB0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvcHJvbXB0JztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dGVybmFsLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgSUZpbHRlclNhdmVkRmlsdGVyLFxuICBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgSXRlbVN0b3JlIH0gZnJvbSAnLi9pdGVtLXN0b3JlLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTYXZlZEZpbHRlckNvbnRyb2xsZXIgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2NvbmZpZzogSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZztcbiAgcHJpdmF0ZSBfc2F2ZWRGaWx0ZXJzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZpbHRlclNhdmVkRmlsdGVyW10+KFtdKTtcbiAgcHJpdmF0ZSBfYWN0aXZlRmlsdGVyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUZpbHRlclNhdmVkRmlsdGVyPihudWxsKTtcbiAgcHJpdmF0ZSBfZW5hYmxlZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9pdGVtU3RvcmUgPSBpbmplY3QoSXRlbVN0b3JlKTtcbiAgcHJpdmF0ZSBfcHJvbXB0ID0gaW5qZWN0KEZzUHJvbXB0KTtcblxuICBwdWJsaWMgZ2V0IHNpbmd1bGFyTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnPy5sYWJlbD8uc2luZ3VsYXIgfHwgJ1NhdmVkIGZpbHRlcic7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNpbmd1bGFyTGFiZWxMb3dlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNpbmd1bGFyTGFiZWwudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbGFiZWxJY29uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZz8ubGFiZWw/Lmljb24gfHwgJ3NhdmUnO1xuICB9XG5cbiAgcHVibGljIGdldCBwbHVyYWxMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc/LmxhYmVsPy5wbHVyYWwgfHwgJ1NhdmVkIGZpbHRlcnMnO1xuICB9XG5cbiAgcHVibGljIGdldCBwbHVyYWxMYWJlbExvd2VyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGx1cmFsTGFiZWwudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQkXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNhdmVkRmlsdGVycygpOiBJRmlsdGVyU2F2ZWRGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3NhdmVkRmlsdGVycyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgc2F2ZWRGaWx0ZXJzKGZpbHRlcnM6IElGaWx0ZXJTYXZlZEZpbHRlcltdKSB7XG4gICAgdGhpcy5fc2F2ZWRGaWx0ZXJzJC5uZXh0KGZpbHRlcnMpO1xuICB9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnMkKCk6IE9ic2VydmFibGU8SUZpbHRlclNhdmVkRmlsdGVyW10+IHtcbiAgICByZXR1cm4gdGhpcy5fc2F2ZWRGaWx0ZXJzJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVGaWx0ZXIoKTogSUZpbHRlclNhdmVkRmlsdGVyIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlRmlsdGVyJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVGaWx0ZXIkKCk6IE9ic2VydmFibGU8SUZpbHRlclNhdmVkRmlsdGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUZpbHRlciRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyRGF0YSgpOiBLZXlWYWx1ZSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUZpbHRlciQuZ2V0VmFsdWUoKT8uZmlsdGVycztcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KG51bGwpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgaW5pdChcbiAgICBmaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc6IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcsXG4gICk6IHZvaWQge1xuICAgIGlmICghZmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnKSB7XG4gICAgICB0aGlzLl9zZXRFbmFibGVkU3RhdHVzKGZhbHNlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zZXRFbmFibGVkU3RhdHVzKHRydWUpO1xuXG4gICAgdGhpcy5fY29uZmlnID0gZmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnO1xuICB9XG5cbiAgcHVibGljIGluaXRTYXZlZEZpbHRlcnMoZmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVkRmlsdGVycyA9IGZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgbG9hZCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5sb2FkKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0U2F2ZWRGaWx0ZXJzKHJlc3BvbnNlKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9wcm9tcHQuaW5wdXQoe1xuICAgICAgdGl0bGU6IGBDcmVhdGUgJHt0aGlzLnNpbmd1bGFyTGFiZWx9YCxcbiAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIGNvbW1pdExhYmVsOiAnQ3JlYXRlJyxcbiAgICAgIGRpYWxvZ0NvbmZpZzoge1xuICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgobmFtZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGE6IElGaWx0ZXJTYXZlZEZpbHRlciA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBmaWx0ZXJzOiB0aGlzLl9pdGVtU3RvcmUucXVlcnlQYXJhbXMoKSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZShkYXRhKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoc2F2ZWRGaWx0ZXIpID0+IHtcbiAgICAgICAgICB0aGlzLnNldEFjdGl2ZUZpbHRlcihzYXZlZEZpbHRlcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIGNvbnN0IGV4aXN0cyA9ICEhc2F2ZWRGaWx0ZXIuaWQ7XG5cbiAgICBzYXZlZEZpbHRlciA9IHtcbiAgICAgIC4uLnRoaXMuYWN0aXZlRmlsdGVyLFxuICAgICAgLi4uc2F2ZWRGaWx0ZXIsXG4gICAgICBmaWx0ZXJzOiB0aGlzLl9pdGVtU3RvcmUuaXRlbXNcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5oYXNWYWx1ZSlcbiAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICBbaXRlbS5uYW1lXTogaXRlbS5tb2RlbCxcbiAgICAgICAgICB9O1xuICAgICAgICB9LCB7fSksXG4gICAgfTsgIFxuXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5zYXZlKHNhdmVkRmlsdGVyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoX3NhdmVkRmlsdGVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMgPSBleGlzdHMgPyB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgICAgICAgLm1hcCgoZikgPT4gZi5pZCA9PT0gc2F2ZWRGaWx0ZXIuaWQgPyBfc2F2ZWRGaWx0ZXIgOiBmKSA6IFtcbiAgICAgICAgICAgIC4uLnRoaXMuc2F2ZWRGaWx0ZXJzLFxuICAgICAgICAgICAgX3NhdmVkRmlsdGVyLFxuICAgICAgICAgIF07XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5zZXRBY3RpdmVGaWx0ZXIoX3NhdmVkRmlsdGVyKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBvcmRlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fY29uZmlnLm9yZGVyO1xuICB9XG5cbiAgcHVibGljIG9yZGVyKHNhdmVkRmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyW10pOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5vcmRlcihzYXZlZEZpbHRlcnMpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNhdmVkRmlsdGVycyA9IFtcbiAgICAgICAgICAgIC4uLnNhdmVkRmlsdGVycyxcbiAgICAgICAgICBdO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcuZGVsZXRlKHNhdmVkRmlsdGVyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMgPSB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgICAgICAgLmZpbHRlcigoZikgPT4gZi5pZCAhPT0gc2F2ZWRGaWx0ZXIuaWQpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlRmlsdGVyKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpOiB2b2lkIHtcbiAgICBpZiAoc2F2ZWRGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nRmlsdGVyID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgICAgLmZpbmQoKGYpID0+IGYuaWQgPT09IHNhdmVkRmlsdGVyLmlkKTtcblxuICAgICAgaWYgKCFleGlzdGluZ0ZpbHRlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNhdmVkIGZpbHRlciBjYW5ub3QgYmUgYWN0aXZhdGVkLCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0cy4gRmlsdGVyIElEID0gJHtzYXZlZEZpbHRlci5pZH1gKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyJC5uZXh0KGV4aXN0aW5nRmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyJC5uZXh0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVBY3RpdmVGaWx0ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgYWNpdHZlRmlsdGVyID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgIC5maW5kKChmKSA9PiBmLmFjdGl2ZSk7XG5cbiAgICBpZiAoYWNpdHZlRmlsdGVyKSB7XG4gICAgICB0aGlzLnNldEFjdGl2ZUZpbHRlcihhY2l0dmVGaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldEVuYWJsZWRTdGF0dXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9lbmFibGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvc2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBUXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJakQsTUFBTSxPQUFPLHFCQUFxQjtJQUV4QixPQUFPLENBQTRCO0lBQ25DLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBdUIsRUFBRSxDQUFDLENBQUM7SUFDL0QsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFxQixJQUFJLENBQUMsQ0FBQztJQUMvRCxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEQsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDaEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRW5DLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxjQUFjLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lB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QUM7WUFFMUMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDO0lBRU0sZUFBZSxDQUFDLFdBQStCO1FBQ3BELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVk7aUJBQ3JDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFeEMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLDZFQUE2RSxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNqSCxDQUFDO1lBRUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQWM7UUFDdEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQzt3R0FyTlUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5cbmltcG9ydCB7IEZzUHJvbXB0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvcHJvbXB0JztcblxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRlcm5hbC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIElGaWx0ZXJTYXZlZEZpbHRlcixcbiAgSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZyxcbn0gZnJvbSAnLi4vaW50ZXJmYWNlcy9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEl0ZW1TdG9yZSB9IGZyb20gJy4vaXRlbS1zdG9yZS5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2F2ZWRGaWx0ZXJDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9jb25maWc6IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc7XG4gIHByaXZhdGUgX3NhdmVkRmlsdGVycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElGaWx0ZXJTYXZlZEZpbHRlcltdPihbXSk7XG4gIHByaXZhdGUgX2FjdGl2ZUZpbHRlciQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PElGaWx0ZXJTYXZlZEZpbHRlcj4obnVsbCk7XG4gIHByaXZhdGUgX2VuYWJsZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSBfaXRlbVN0b3JlID0gaW5qZWN0KEl0ZW1TdG9yZSk7XG4gIHByaXZhdGUgX3Byb21wdCA9IGluamVjdChGc1Byb21wdCk7XG5cbiAgcHVibGljIGdldCBzaW5ndWxhckxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZz8ubGFiZWw/LnNpbmd1bGFyIHx8ICdTYXZlZCBmaWx0ZXInO1xuICB9XG5cbiAgcHVibGljIGdldCBzaW5ndWxhckxhYmVsTG93ZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zaW5ndWxhckxhYmVsLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc/LmxhYmVsPy5pY29uIHx8ICdzYXZlJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGx1cmFsTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnPy5sYWJlbD8ucGx1cmFsIHx8ICdTYXZlZCBmaWx0ZXJzJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGx1cmFsTGFiZWxMb3dlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBsdXJhbExhYmVsLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnMoKTogSUZpbHRlclNhdmVkRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNhdmVkRmlsdGVycyhmaWx0ZXJzOiBJRmlsdGVyU2F2ZWRGaWx0ZXJbXSkge1xuICAgIHRoaXMuX3NhdmVkRmlsdGVycyQubmV4dChmaWx0ZXJzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2F2ZWRGaWx0ZXJzJCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NhdmVkRmlsdGVycyRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyKCk6IElGaWx0ZXJTYXZlZEZpbHRlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUZpbHRlciQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyJCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVGaWx0ZXIkXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUZpbHRlckRhdGEoKTogS2V5VmFsdWUge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVGaWx0ZXIkLmdldFZhbHVlKCk/LmZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXQoXG4gICAgZmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnOiBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnLFxuICApOiB2b2lkIHtcbiAgICBpZiAoIWZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZykge1xuICAgICAgdGhpcy5fc2V0RW5hYmxlZFN0YXR1cyhmYWxzZSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc2V0RW5hYmxlZFN0YXR1cyh0cnVlKTtcblxuICAgIHRoaXMuX2NvbmZpZyA9IGZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZztcbiAgfVxuXG4gIHB1YmxpYyBpbml0U2F2ZWRGaWx0ZXJzKHNhdmVkRmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLnNhdmVkRmlsdGVycyA9IHNhdmVkRmlsdGVycztcbiAgICBjb25zdCBhY2l0dmVGaWx0ZXIgPSB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgLmZpbmQoKGYpID0+IGYuYWN0aXZlKTtcblxuICAgIGlmIChhY2l0dmVGaWx0ZXIpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlciQubmV4dChhY2l0dmVGaWx0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBsb2FkKCk6IE9ic2VydmFibGU8SUZpbHRlclNhdmVkRmlsdGVyW10+IHtcbiAgICBpZiAoIXRoaXMuZW5hYmxlZCkge1xuICAgICAgcmV0dXJuIG9mKFtdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmxvYWQoKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoc2F2ZWRGaWx0ZXJzKSA9PiB7XG4gICAgICAgICAgdGhpcy5pbml0U2F2ZWRGaWx0ZXJzKHNhdmVkRmlsdGVycyk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGUoKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvbXB0LmlucHV0KHtcbiAgICAgIHRpdGxlOiBgQ3JlYXRlICR7dGhpcy5zaW5ndWxhckxhYmVsfWAsXG4gICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICBjb21taXRMYWJlbDogJ0NyZWF0ZScsXG4gICAgICBkaWFsb2dDb25maWc6IHtcbiAgICAgICAgcmVzdG9yZUZvY3VzOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKG5hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBkYXRhOiBJRmlsdGVyU2F2ZWRGaWx0ZXIgPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgZmlsdGVyczogdGhpcy5faXRlbVN0b3JlLnF1ZXJ5UGFyYW1zKCksXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLnNhdmUoZGF0YSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKHNhdmVkRmlsdGVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRBY3RpdmVGaWx0ZXIoc2F2ZWRGaWx0ZXIpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZShzYXZlZEZpbHRlcjogSUZpbHRlclNhdmVkRmlsdGVyKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXI+IHtcbiAgICBjb25zdCBleGlzdHMgPSAhIXRoaXMuYWN0aXZlRmlsdGVyLmlkO1xuXG4gICAgc2F2ZWRGaWx0ZXIgPSB7XG4gICAgICAuLi50aGlzLmFjdGl2ZUZpbHRlcixcbiAgICAgIC4uLnNhdmVkRmlsdGVyLFxuICAgICAgZmlsdGVyczogdGhpcy5faXRlbVN0b3JlLml0ZW1zXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaGFzVmFsdWUpXG4gICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgW2l0ZW0ubmFtZV06IGl0ZW0ubW9kZWwsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSwge30pLFxuICAgIH07ICBcblxuICAgIHJldHVybiB0aGlzLl9jb25maWcuc2F2ZShzYXZlZEZpbHRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKF9zYXZlZEZpbHRlcikgPT4ge1xuICAgICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gZXhpc3RzID8gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgICAgICAgIC5tYXAoKGYpID0+IGYuaWQgPT09IHNhdmVkRmlsdGVyLmlkID8gX3NhdmVkRmlsdGVyIDogZikgOiBbXG4gICAgICAgICAgICAuLi50aGlzLnNhdmVkRmlsdGVycyxcbiAgICAgICAgICAgIF9zYXZlZEZpbHRlcixcbiAgICAgICAgICBdO1xuICAgICAgICAgIFxuICAgICAgICAgIHRoaXMuc2V0QWN0aXZlRmlsdGVyKF9zYXZlZEZpbHRlcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3JkZXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbmZpZy5vcmRlcjtcbiAgfVxuXG4gIHB1YmxpYyBvcmRlcihzYXZlZEZpbHRlcnM6IElGaWx0ZXJTYXZlZEZpbHRlcltdKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcub3JkZXIoc2F2ZWRGaWx0ZXJzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMgPSBbXG4gICAgICAgICAgICAuLi5zYXZlZEZpbHRlcnMsXG4gICAgICAgICAgXTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZShzYXZlZEZpbHRlcjogSUZpbHRlclNhdmVkRmlsdGVyKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmRlbGV0ZShzYXZlZEZpbHRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgICAgICAgIC5maWx0ZXIoKGYpID0+IGYuaWQgIT09IHNhdmVkRmlsdGVyLmlkKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXI/LmlkID09PSBzYXZlZEZpbHRlci5pZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVGaWx0ZXIobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlRmlsdGVyKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpOiB2b2lkIHtcbiAgICBpZiAoc2F2ZWRGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nRmlsdGVyID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgICAgLmZpbmQoKGYpID0+IGYuaWQgPT09IHNhdmVkRmlsdGVyLmlkKTtcblxuICAgICAgaWYgKCFleGlzdGluZ0ZpbHRlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNhdmVkIGZpbHRlciBjYW5ub3QgYmUgYWN0aXZhdGVkLCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0cy4gRmlsdGVyIElEID0gJHtzYXZlZEZpbHRlci5pZH1gKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyJC5uZXh0KGV4aXN0aW5nRmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyJC5uZXh0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldEVuYWJsZWRTdGF0dXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9lbmFibGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, inject, Component, ChangeDetectionStrategy, Input, ChangeDetectorRef, HostBinding, EventEmitter, Output, InjectionToken, Injector, Directive, Optional, Self, Pipe, ViewChild, DestroyRef, HostListener, NgZone, ElementRef, ContentChild, NgModule } from '@angular/core';
|
|
3
3
|
import { FsPrompt } from '@firestitch/prompt';
|
|
4
|
-
import { BehaviorSubject, Subject, isObservable, forkJoin, timer, combineLatest, tap as tap$1,
|
|
4
|
+
import { BehaviorSubject, Subject, isObservable, forkJoin, of, timer, combineLatest, tap as tap$1, fromEvent, merge, switchMap as switchMap$1, map as map$1, interval } from 'rxjs';
|
|
5
5
|
import { tap, finalize, take, takeUntil, debounceTime, filter as filter$1, distinctUntilChanged, switchMap, mapTo, startWith, map, delay, skip } from 'rxjs/operators';
|
|
6
6
|
import { isFunction, clone, toString, isObject, isString, pickBy } from 'lodash-es';
|
|
7
7
|
import { isEmpty, filter, isArrayEqual, list, getNormalizedPath, remove } from '@firestitch/common';
|
|
@@ -1886,13 +1886,21 @@ class SavedFilterController {
|
|
|
1886
1886
|
this._setEnabledStatus(true);
|
|
1887
1887
|
this._config = filterSavedFiltersConfig;
|
|
1888
1888
|
}
|
|
1889
|
-
initSavedFilters(
|
|
1890
|
-
this.savedFilters =
|
|
1889
|
+
initSavedFilters(savedFilters) {
|
|
1890
|
+
this.savedFilters = savedFilters;
|
|
1891
|
+
const acitveFilter = this.savedFilters
|
|
1892
|
+
.find((f) => f.active);
|
|
1893
|
+
if (acitveFilter) {
|
|
1894
|
+
this._activeFilter$.next(acitveFilter);
|
|
1895
|
+
}
|
|
1891
1896
|
}
|
|
1892
1897
|
load() {
|
|
1898
|
+
if (!this.enabled) {
|
|
1899
|
+
return of([]);
|
|
1900
|
+
}
|
|
1893
1901
|
return this._config.load()
|
|
1894
|
-
.pipe(tap((
|
|
1895
|
-
this.initSavedFilters(
|
|
1902
|
+
.pipe(tap((savedFilters) => {
|
|
1903
|
+
this.initSavedFilters(savedFilters);
|
|
1896
1904
|
}));
|
|
1897
1905
|
}
|
|
1898
1906
|
create() {
|
|
@@ -1916,7 +1924,7 @@ class SavedFilterController {
|
|
|
1916
1924
|
}));
|
|
1917
1925
|
}
|
|
1918
1926
|
save(savedFilter) {
|
|
1919
|
-
const exists = !!
|
|
1927
|
+
const exists = !!this.activeFilter.id;
|
|
1920
1928
|
savedFilter = {
|
|
1921
1929
|
...this.activeFilter,
|
|
1922
1930
|
...savedFilter,
|
|
@@ -1955,6 +1963,9 @@ class SavedFilterController {
|
|
|
1955
1963
|
.pipe(tap(() => {
|
|
1956
1964
|
this.savedFilters = this.savedFilters
|
|
1957
1965
|
.filter((f) => f.id !== savedFilter.id);
|
|
1966
|
+
if (this.activeFilter?.id === savedFilter.id) {
|
|
1967
|
+
this.setActiveFilter(null);
|
|
1968
|
+
}
|
|
1958
1969
|
}));
|
|
1959
1970
|
}
|
|
1960
1971
|
setActiveFilter(savedFilter) {
|
|
@@ -1970,13 +1981,6 @@ class SavedFilterController {
|
|
|
1970
1981
|
this._activeFilter$.next(null);
|
|
1971
1982
|
}
|
|
1972
1983
|
}
|
|
1973
|
-
updateActiveFilter() {
|
|
1974
|
-
const acitveFilter = this.savedFilters
|
|
1975
|
-
.find((f) => f.active);
|
|
1976
|
-
if (acitveFilter) {
|
|
1977
|
-
this.setActiveFilter(acitveFilter);
|
|
1978
|
-
}
|
|
1979
|
-
}
|
|
1980
1984
|
_setEnabledStatus(value) {
|
|
1981
1985
|
this._enabled$.next(value);
|
|
1982
1986
|
}
|
|
@@ -2967,12 +2971,6 @@ class ParamController {
|
|
|
2967
2971
|
this._initSavedFilters();
|
|
2968
2972
|
this.initItems();
|
|
2969
2973
|
}
|
|
2970
|
-
setActiveSavedFilter(savedFilter) {
|
|
2971
|
-
this._savedFilterController.setActiveFilter(savedFilter);
|
|
2972
|
-
if (savedFilter) {
|
|
2973
|
-
this.reloadFiltersWithValues(savedFilter.filters);
|
|
2974
|
-
}
|
|
2975
|
-
}
|
|
2976
2974
|
reloadFiltersWithValues(params) {
|
|
2977
2975
|
this._itemStore.updateItemsWithValues(params);
|
|
2978
2976
|
this._saveQueryParams();
|
|
@@ -2980,16 +2978,12 @@ class ParamController {
|
|
|
2980
2978
|
}
|
|
2981
2979
|
initItems() {
|
|
2982
2980
|
of(null)
|
|
2983
|
-
.pipe(tap(() => this._pending$.next(true)), switchMap(() =>
|
|
2984
|
-
return this._savedFilterController.enabled ?
|
|
2985
|
-
this._savedFilterController.load()
|
|
2986
|
-
.pipe(tap(() => this._savedFilterController.updateActiveFilter())) :
|
|
2987
|
-
of(null);
|
|
2988
|
-
}), takeUntil(this._destroy$))
|
|
2981
|
+
.pipe(tap(() => this._pending$.next(true)), switchMap(() => this._savedFilterController.load()), takeUntil(this._destroy$))
|
|
2989
2982
|
.subscribe(() => {
|
|
2990
2983
|
this._initItemsValues();
|
|
2991
2984
|
this._pending$.next(false);
|
|
2992
2985
|
this._listenItemsChange();
|
|
2986
|
+
this._listenSavedFilterChange();
|
|
2993
2987
|
});
|
|
2994
2988
|
}
|
|
2995
2989
|
_initItemsValues() {
|
|
@@ -3007,6 +3001,18 @@ class ParamController {
|
|
|
3007
3001
|
_initSavedFilters() {
|
|
3008
3002
|
this._savedFilterController.init(this._config.savedFilters);
|
|
3009
3003
|
}
|
|
3004
|
+
_listenSavedFilterChange() {
|
|
3005
|
+
this._savedFilterController.activeFilter$
|
|
3006
|
+
.pipe(takeUntil(this._destroy$))
|
|
3007
|
+
.subscribe((savedFilter) => {
|
|
3008
|
+
if (savedFilter) {
|
|
3009
|
+
this.reloadFiltersWithValues(savedFilter.filters);
|
|
3010
|
+
}
|
|
3011
|
+
else {
|
|
3012
|
+
this._itemStore.filtersClear();
|
|
3013
|
+
}
|
|
3014
|
+
});
|
|
3015
|
+
}
|
|
3010
3016
|
_listenItemsChange() {
|
|
3011
3017
|
this._itemStore.ready$
|
|
3012
3018
|
.pipe(filter$1((v) => v), take(1), takeUntil(this._destroy$))
|
|
@@ -4092,7 +4098,7 @@ class FsFilterSavedFilterManageComponent {
|
|
|
4092
4098
|
return this._savedFilterController.orderable;
|
|
4093
4099
|
}
|
|
4094
4100
|
selectFilter(savedFilter) {
|
|
4095
|
-
this.
|
|
4101
|
+
this._savedFilterController.setActiveFilter(savedFilter);
|
|
4096
4102
|
this._filterOverlayService.open();
|
|
4097
4103
|
this._dialogRef.close();
|
|
4098
4104
|
}
|
|
@@ -4150,10 +4156,10 @@ class FsSavedFilterAutocompleteChipsComponent {
|
|
|
4150
4156
|
return o1?.id === o2?.id;
|
|
4151
4157
|
};
|
|
4152
4158
|
selectFilter(savedFilter) {
|
|
4153
|
-
this.
|
|
4159
|
+
this.savedFiltersController.setActiveFilter(savedFilter);
|
|
4154
4160
|
}
|
|
4155
4161
|
selectedFilterChange(savedFilter) {
|
|
4156
|
-
this.
|
|
4162
|
+
this.savedFiltersController.setActiveFilter(savedFilter);
|
|
4157
4163
|
if (!savedFilter) {
|
|
4158
4164
|
this._itemStore.filtersClear();
|
|
4159
4165
|
}
|
|
@@ -4362,7 +4368,7 @@ class FilterComponent {
|
|
|
4362
4368
|
return this._actions.menuActions$;
|
|
4363
4369
|
}
|
|
4364
4370
|
set activeSavedFilter(savedFilter) {
|
|
4365
|
-
this.
|
|
4371
|
+
this._savedFilterController.setActiveFilter(savedFilter);
|
|
4366
4372
|
}
|
|
4367
4373
|
get activeSavedFilter() {
|
|
4368
4374
|
return this._savedFilterController.activeFilter;
|