@firestitch/filter 13.4.1 → 14.0.1
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/classes/actions-controller.d.ts +41 -41
- package/app/components/action-button/action-button.component.d.ts +9 -9
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/app/components/actions/actions.component.d.ts +13 -13
- package/app/components/filter/filter.component.d.ts +204 -204
- package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
- package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
- package/app/components/filter-chips/filter-chips.component.d.ts +9 -9
- package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
- package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
- package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
- package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
- package/app/components/filters-item/chips/chips.component.d.ts +13 -13
- package/app/components/filters-item/date/date.component.d.ts +20 -20
- package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
- package/app/components/filters-item/filter-item.component.d.ts +39 -39
- package/app/components/filters-item/range/range.component.d.ts +15 -15
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
- package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
- package/app/components/filters-item/select/select.component.d.ts +23 -23
- package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
- package/app/components/filters-item/text/text.component.d.ts +19 -19
- package/app/components/filters-item/week/week.component.d.ts +12 -12
- package/app/components/saved-filter/index.d.ts +3 -3
- package/app/components/saved-filter/saved-filter-edit/index.d.ts +1 -1
- package/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
- package/app/components/saved-filter/saved-filter-manage/index.d.ts +1 -1
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +16 -16
- package/app/components/saved-filter/saved-filters-menu/index.d.ts +1 -1
- package/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
- package/app/consts/query-param-delimiter.d.ts +1 -1
- package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
- package/app/directives/status-bar/status-bar.directive.d.ts +8 -8
- package/app/enums/action-mode.enum.d.ts +6 -6
- package/app/enums/action-type.enum.d.ts +9 -9
- package/app/enums/button-style.d.ts +9 -9
- package/app/enums/index.d.ts +6 -6
- package/app/enums/item-date-mode.enum.d.ts +5 -5
- package/app/enums/item-type.enum.d.ts +15 -15
- package/app/enums/picker-view-type.enum.d.ts +7 -7
- package/app/fs-filter.module.d.ts +70 -70
- package/app/helpers/build-query-params.d.ts +3 -3
- package/app/helpers/compare.d.ts +2 -2
- package/app/helpers/create-filter-item.d.ts +14 -14
- package/app/helpers/find-value.d.ts +1 -1
- package/app/helpers/get-range-name.d.ts +1 -1
- package/app/helpers/parse-date.d.ts +1 -1
- package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
- package/app/helpers/query-param-transformers.d.ts +2 -2
- package/app/helpers/restore-items.d.ts +12 -12
- package/app/injectors/filter-config.d.ts +2 -2
- package/app/injectors/filter-drawer-data.d.ts +2 -2
- package/app/injectors/filter-drawer-overlay.d.ts +2 -2
- package/app/interfaces/action.interface.d.ts +81 -81
- package/app/interfaces/config.interface.d.ts +66 -66
- package/app/interfaces/external-params.interface.d.ts +3 -3
- package/app/interfaces/filter.interface.d.ts +4 -4
- package/app/interfaces/index.d.ts +6 -6
- package/app/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
- package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
- package/app/interfaces/items/base.interface.d.ts +29 -29
- package/app/interfaces/items/checkbox.interface.d.ts +7 -7
- package/app/interfaces/items/chips.interface.d.ts +6 -6
- package/app/interfaces/items/date-range.interface.d.ts +8 -8
- package/app/interfaces/items/date.interface.d.ts +7 -7
- package/app/interfaces/items/range.interface.d.ts +13 -13
- package/app/interfaces/items/select.interface.d.ts +20 -20
- package/app/interfaces/items/text.interface.d.ts +9 -9
- package/app/interfaces/items/week.interface.d.ts +7 -7
- package/app/interfaces/saved-filters.interface.d.ts +18 -18
- package/app/interfaces/update-filter-item.interface.d.ts +4 -4
- package/app/models/action-menu-item.model.d.ts +23 -23
- package/app/models/action.model.d.ts +54 -54
- package/app/models/filter-config.d.ts +31 -31
- package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
- package/app/models/items/autocomplete-chips-item.d.ts +20 -20
- package/app/models/items/autocomplete-item.d.ts +11 -11
- package/app/models/items/base-item.d.ts +80 -80
- package/app/models/items/checkbox-item.d.ts +17 -17
- package/app/models/items/chips-item.d.ts +18 -18
- package/app/models/items/date/base-date-item.d.ts +14 -14
- package/app/models/items/date-item.d.ts +8 -8
- package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
- package/app/models/items/date-range-item.d.ts +6 -6
- package/app/models/items/date-time-item.d.ts +7 -7
- package/app/models/items/date-time-range-item.d.ts +6 -6
- package/app/models/items/range-item.d.ts +23 -23
- package/app/models/items/select/base-select-item.d.ts +13 -13
- package/app/models/items/select/multiple-select-item.d.ts +14 -14
- package/app/models/items/select/simple-select-item.d.ts +14 -14
- package/app/models/items/select-item.d.ts +8 -8
- package/app/models/items/text-item.d.ts +15 -15
- package/app/models/items/week-item.d.ts +18 -18
- package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
- package/app/providers/filter-meta.d.ts +5 -5
- package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
- package/app/services/external-params/query-params-controller.service.d.ts +22 -22
- package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
- package/app/services/external-params-controller.service.d.ts +42 -42
- package/app/services/filter-overlay.service.d.ts +36 -36
- package/app/services/focus-controller.service.d.ts +18 -18
- package/app/services/items-store.service.d.ts +69 -69
- package/esm2020/app/classes/actions-controller.mjs +126 -126
- package/esm2020/app/components/action-button/action-button.component.mjs +21 -21
- package/esm2020/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
- package/esm2020/app/components/actions/actions.component.mjs +41 -41
- package/esm2020/app/components/filter/filter.component.mjs +613 -613
- package/esm2020/app/components/filter-chip/filter-chip.component.mjs +85 -85
- package/esm2020/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
- package/esm2020/app/components/filter-chips/filter-chips.component.mjs +18 -18
- package/esm2020/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
- package/esm2020/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
- package/esm2020/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
- package/esm2020/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
- package/esm2020/app/components/filters-item/base-item/base-item.component.mjs +62 -62
- package/esm2020/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
- package/esm2020/app/components/filters-item/chips/chips.component.mjs +27 -27
- package/esm2020/app/components/filters-item/date/date.component.mjs +42 -42
- package/esm2020/app/components/filters-item/date-range/date-range.component.mjs +33 -33
- package/esm2020/app/components/filters-item/filter-item.component.mjs +79 -79
- package/esm2020/app/components/filters-item/range/range.component.mjs +44 -44
- package/esm2020/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
- package/esm2020/app/components/filters-item/select/groups/groups.component.mjs +29 -29
- package/esm2020/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
- package/esm2020/app/components/filters-item/select/select.component.mjs +50 -50
- package/esm2020/app/components/filters-item/select/simple/simple.component.mjs +42 -42
- package/esm2020/app/components/filters-item/text/text.component.mjs +49 -49
- package/esm2020/app/components/filters-item/week/week.component.mjs +24 -24
- package/esm2020/app/components/saved-filter/index.mjs +3 -3
- package/esm2020/app/components/saved-filter/saved-filter-edit/index.mjs +1 -1
- package/esm2020/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +49 -49
- package/esm2020/app/components/saved-filter/saved-filter-manage/index.mjs +1 -1
- package/esm2020/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +39 -39
- package/esm2020/app/components/saved-filter/saved-filters-menu/index.mjs +1 -1
- package/esm2020/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +51 -51
- package/esm2020/app/consts/query-param-delimiter.mjs +1 -1
- package/esm2020/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
- package/esm2020/app/directives/status-bar/status-bar.directive.mjs +15 -15
- package/esm2020/app/enums/action-mode.enum.mjs +7 -7
- package/esm2020/app/enums/action-type.enum.mjs +11 -11
- package/esm2020/app/enums/button-style.mjs +10 -10
- package/esm2020/app/enums/index.mjs +6 -6
- package/esm2020/app/enums/item-date-mode.enum.mjs +6 -6
- package/esm2020/app/enums/item-type.enum.mjs +16 -16
- package/esm2020/app/enums/picker-view-type.enum.mjs +8 -8
- package/esm2020/app/fs-filter.module.mjs +261 -263
- package/esm2020/app/helpers/build-query-params.mjs +32 -32
- package/esm2020/app/helpers/compare.mjs +37 -37
- package/esm2020/app/helpers/create-filter-item.mjs +54 -54
- package/esm2020/app/helpers/find-value.mjs +12 -12
- package/esm2020/app/helpers/get-range-name.mjs +8 -8
- package/esm2020/app/helpers/parse-date.mjs +7 -7
- package/esm2020/app/helpers/parse-item-value-from-stored.mjs +80 -80
- package/esm2020/app/helpers/query-param-transformers.mjs +8 -8
- package/esm2020/app/helpers/restore-items.mjs +48 -48
- package/esm2020/app/injectors/filter-config.mjs +2 -2
- package/esm2020/app/injectors/filter-drawer-data.mjs +2 -2
- package/esm2020/app/injectors/filter-drawer-overlay.mjs +2 -2
- package/esm2020/app/interfaces/action.interface.mjs +1 -1
- package/esm2020/app/interfaces/config.interface.mjs +1 -1
- package/esm2020/app/interfaces/external-params.interface.mjs +1 -1
- package/esm2020/app/interfaces/filter.interface.mjs +1 -1
- package/esm2020/app/interfaces/index.mjs +6 -6
- package/esm2020/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/autocomplete.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/base.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/checkbox.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/chips.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/date-range.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/range.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/select.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/text.interface.mjs +1 -1
- package/esm2020/app/interfaces/items/week.interface.mjs +1 -1
- package/esm2020/app/interfaces/saved-filters.interface.mjs +1 -1
- package/esm2020/app/interfaces/update-filter-item.interface.mjs +1 -1
- package/esm2020/app/models/action-menu-item.model.mjs +66 -66
- package/esm2020/app/models/action.model.mjs +129 -129
- package/esm2020/app/models/filter-config.mjs +66 -66
- package/esm2020/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
- package/esm2020/app/models/items/autocomplete-chips-item.mjs +60 -60
- package/esm2020/app/models/items/autocomplete-item.mjs +32 -32
- package/esm2020/app/models/items/base-item.mjs +233 -233
- package/esm2020/app/models/items/checkbox-item.mjs +49 -49
- package/esm2020/app/models/items/chips-item.mjs +88 -88
- package/esm2020/app/models/items/date/base-date-item.mjs +47 -47
- package/esm2020/app/models/items/date-item.mjs +18 -18
- package/esm2020/app/models/items/date-range/base-date-range-item.mjs +134 -134
- package/esm2020/app/models/items/date-range-item.mjs +6 -6
- package/esm2020/app/models/items/date-time-item.mjs +9 -9
- package/esm2020/app/models/items/date-time-range-item.mjs +6 -6
- package/esm2020/app/models/items/range-item.mjs +82 -82
- package/esm2020/app/models/items/select/base-select-item.mjs +36 -36
- package/esm2020/app/models/items/select/multiple-select-item.mjs +87 -87
- package/esm2020/app/models/items/select/simple-select-item.mjs +65 -65
- package/esm2020/app/models/items/select-item.mjs +10 -10
- package/esm2020/app/models/items/text-item.mjs +33 -33
- package/esm2020/app/models/items/week-item.mjs +93 -93
- package/esm2020/app/pipes/remove-isolate-value.pipe.mjs +20 -20
- package/esm2020/app/providers/filter-meta.mjs +9 -9
- package/esm2020/app/services/external-params/persistance-params-controller.service.mjs +57 -57
- package/esm2020/app/services/external-params/query-params-controller.service.mjs +61 -61
- package/esm2020/app/services/external-params/saved-filters-controller.service.mjs +162 -162
- package/esm2020/app/services/external-params-controller.service.mjs +178 -178
- package/esm2020/app/services/filter-overlay.service.mjs +121 -121
- package/esm2020/app/services/focus-controller.service.mjs +29 -29
- package/esm2020/app/services/items-store.service.mjs +344 -344
- package/esm2020/firestitch-filter.mjs +4 -4
- package/esm2020/public_api.mjs +35 -35
- package/fesm2015/firestitch-filter.mjs +4383 -4385
- package/fesm2015/firestitch-filter.mjs.map +1 -1
- package/fesm2020/firestitch-filter.mjs +4372 -4374
- package/fesm2020/firestitch-filter.mjs.map +1 -1
- package/{firestitch-filter.d.ts → index.d.ts} +5 -5
- package/package.json +4 -4
- package/public_api.d.ts +40 -40
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { Pipe } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class FsFilterIsolateValues {
|
|
4
|
-
transform(values, isolate) {
|
|
5
|
-
if (!isolate) {
|
|
6
|
-
return values;
|
|
7
|
-
}
|
|
8
|
-
return values.filter((value) => {
|
|
9
|
-
return value.value !== isolate.value;
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
FsFilterIsolateValues.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
14
|
-
FsFilterIsolateValues.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
16
|
-
type: Pipe,
|
|
17
|
-
args: [{
|
|
18
|
-
name: 'fsFilterIsolateValues',
|
|
19
|
-
}]
|
|
20
|
-
}] });
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class FsFilterIsolateValues {
|
|
4
|
+
transform(values, isolate) {
|
|
5
|
+
if (!isolate) {
|
|
6
|
+
return values;
|
|
7
|
+
}
|
|
8
|
+
return values.filter((value) => {
|
|
9
|
+
return value.value !== isolate.value;
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
FsFilterIsolateValues.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterIsolateValues, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
14
|
+
FsFilterIsolateValues.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FsFilterIsolateValues, name: "fsFilterIsolateValues" });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FsFilterIsolateValues, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'fsFilterIsolateValues',
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
21
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvcGlwZXMvcmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFRcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxTQUFTLENBQUMsTUFBdUIsRUFBRSxPQUFPO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDOztrSEFWVSxxQkFBcUI7Z0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSx1QkFBdUI7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzRmlsdGVySXNvbGF0ZVZhbHVlcycsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVySXNvbGF0ZVZhbHVlcyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWVzOiBCYXNlSXRlbTxhbnk+W10sIGlzb2xhdGUpIHtcbiAgICBpZiAoIWlzb2xhdGUpIHtcbiAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUudmFsdWUgIT09IGlzb2xhdGUudmFsdWU7XG4gICAgfSk7XG5cbiAgfVxufVxuIl19
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const FS_FILTER_META = new InjectionToken('fs.filter.meta', {
|
|
3
|
-
providedIn: 'root',
|
|
4
|
-
factory: () => {
|
|
5
|
-
return {
|
|
6
|
-
openedFilters: 0,
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
});
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const FS_FILTER_META = new InjectionToken('fs.filter.meta', {
|
|
3
|
+
providedIn: 'root',
|
|
4
|
+
factory: () => {
|
|
5
|
+
return {
|
|
6
|
+
openedFilters: 0,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
10
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3Byb3ZpZGVycy9maWx0ZXItbWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDekIsSUFBSSxjQUFjLENBQWUsZ0JBQWdCLEVBQy9DO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU87WUFDTCxhQUFhLEVBQUUsQ0FBQztTQUNqQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNGaWx0ZXJNZXRhIHtcbiAgb3BlbmVkRmlsdGVyczogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgRlNfRklMVEVSX01FVEEgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48RnNGaWx0ZXJNZXRhPignZnMuZmlsdGVyLm1ldGEnLFxuICAgIHtcbiAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBvcGVuZWRGaWx0ZXJzOiAwLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgKTtcbiJdfQ==
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
import { Injectable, Optional } from '@angular/core';
|
|
2
|
-
import { Location } from '@angular/common';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
5
|
-
import { DrawerRef } from '@firestitch/drawer';
|
|
6
|
-
import { FsPersistanceStore } from '@firestitch/store';
|
|
7
|
-
import { getNormalizedPath } from '@firestitch/common';
|
|
8
|
-
import { FsStore } from '@firestitch/store';
|
|
9
|
-
import { restoreItems } from '../../helpers/restore-items';
|
|
10
|
-
import { FsFilterItemsStore } from '../items-store.service';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@firestitch/store";
|
|
13
|
-
import * as i2 from "@angular/router";
|
|
14
|
-
import * as i3 from "@angular/common";
|
|
15
|
-
import * as i4 from "../items-store.service";
|
|
16
|
-
import * as i5 from "@angular/material/dialog";
|
|
17
|
-
import * as i6 from "@firestitch/drawer";
|
|
18
|
-
const FILTER_STORE_KEY = 'fs-filter-persist';
|
|
19
|
-
export class PersistanceParamsController extends FsPersistanceStore {
|
|
20
|
-
constructor(_store, _route, _location, _itemsStore, _dialogRef, _drawerRef) {
|
|
21
|
-
super(_store, _route);
|
|
22
|
-
this._location = _location;
|
|
23
|
-
this._itemsStore = _itemsStore;
|
|
24
|
-
this._dialogRef = _dialogRef;
|
|
25
|
-
this._drawerRef = _drawerRef;
|
|
26
|
-
this.STORE_KEY = FILTER_STORE_KEY;
|
|
27
|
-
}
|
|
28
|
-
init(persistanceConfig, namespace, paramsCase) {
|
|
29
|
-
this._paramsCase = paramsCase;
|
|
30
|
-
namespace = namespace ?? getNormalizedPath(this._location);
|
|
31
|
-
const persistanceDisabled = !!this._dialogRef || !!this._drawerRef;
|
|
32
|
-
this.setConfig(persistanceConfig, namespace, persistanceDisabled);
|
|
33
|
-
}
|
|
34
|
-
restore() {
|
|
35
|
-
if (!this.enabled) {
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
super.restore();
|
|
39
|
-
const items = [
|
|
40
|
-
...this._itemsStore.items,
|
|
41
|
-
this._itemsStore.sortByItem,
|
|
42
|
-
this._itemsStore.sortDirectionItem,
|
|
43
|
-
].filter((item) => !!item);
|
|
44
|
-
if (this._value) {
|
|
45
|
-
this._value.data = restoreItems(this._value.data, items, this._paramsCase);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
PersistanceParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
50
|
-
PersistanceParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
52
|
-
type: Injectable
|
|
53
|
-
}], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i2.ActivatedRoute }, { type: i3.Location }, { type: i4.FsFilterItemsStore }, { type: i5.MatDialogRef, decorators: [{
|
|
54
|
-
type: Optional
|
|
55
|
-
}] }, { type: i6.DrawerRef, decorators: [{
|
|
56
|
-
type: Optional
|
|
57
|
-
}] }]; } });
|
|
1
|
+
import { Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { Location } from '@angular/common';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
5
|
+
import { DrawerRef } from '@firestitch/drawer';
|
|
6
|
+
import { FsPersistanceStore } from '@firestitch/store';
|
|
7
|
+
import { getNormalizedPath } from '@firestitch/common';
|
|
8
|
+
import { FsStore } from '@firestitch/store';
|
|
9
|
+
import { restoreItems } from '../../helpers/restore-items';
|
|
10
|
+
import { FsFilterItemsStore } from '../items-store.service';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@firestitch/store";
|
|
13
|
+
import * as i2 from "@angular/router";
|
|
14
|
+
import * as i3 from "@angular/common";
|
|
15
|
+
import * as i4 from "../items-store.service";
|
|
16
|
+
import * as i5 from "@angular/material/dialog";
|
|
17
|
+
import * as i6 from "@firestitch/drawer";
|
|
18
|
+
const FILTER_STORE_KEY = 'fs-filter-persist';
|
|
19
|
+
export class PersistanceParamsController extends FsPersistanceStore {
|
|
20
|
+
constructor(_store, _route, _location, _itemsStore, _dialogRef, _drawerRef) {
|
|
21
|
+
super(_store, _route);
|
|
22
|
+
this._location = _location;
|
|
23
|
+
this._itemsStore = _itemsStore;
|
|
24
|
+
this._dialogRef = _dialogRef;
|
|
25
|
+
this._drawerRef = _drawerRef;
|
|
26
|
+
this.STORE_KEY = FILTER_STORE_KEY;
|
|
27
|
+
}
|
|
28
|
+
init(persistanceConfig, namespace, paramsCase) {
|
|
29
|
+
this._paramsCase = paramsCase;
|
|
30
|
+
namespace = namespace ?? getNormalizedPath(this._location);
|
|
31
|
+
const persistanceDisabled = !!this._dialogRef || !!this._drawerRef;
|
|
32
|
+
this.setConfig(persistanceConfig, namespace, persistanceDisabled);
|
|
33
|
+
}
|
|
34
|
+
restore() {
|
|
35
|
+
if (!this.enabled) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
super.restore();
|
|
39
|
+
const items = [
|
|
40
|
+
...this._itemsStore.items,
|
|
41
|
+
this._itemsStore.sortByItem,
|
|
42
|
+
this._itemsStore.sortDirectionItem,
|
|
43
|
+
].filter((item) => !!item);
|
|
44
|
+
if (this._value) {
|
|
45
|
+
this._value.data = restoreItems(this._value.data, items, this._paramsCase);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
PersistanceParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PersistanceParamsController, deps: [{ token: i1.FsStore }, { token: i2.ActivatedRoute }, { token: i3.Location }, { token: i4.FsFilterItemsStore }, { token: i5.MatDialogRef, optional: true }, { token: i6.DrawerRef, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
50
|
+
PersistanceParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PersistanceParamsController });
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: PersistanceParamsController, decorators: [{
|
|
52
|
+
type: Injectable
|
|
53
|
+
}], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i2.ActivatedRoute }, { type: i3.Location }, { type: i4.FsFilterItemsStore }, { type: i5.MatDialogRef, decorators: [{
|
|
54
|
+
type: Optional
|
|
55
|
+
}] }, { type: i6.DrawerRef, decorators: [{
|
|
56
|
+
type: Optional
|
|
57
|
+
}] }]; } });
|
|
58
58
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGFuY2UtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3BlcnNpc3RhbmNlLXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBRTVELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUM7QUFJN0MsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGtCQUF1QztJQUt0RixZQUNFLE1BQWUsRUFDZixNQUFzQixFQUNkLFNBQW1CLEVBQ25CLFdBQStCLEVBQ25CLFVBQWlDLEVBQ2pDLFVBQThCO1FBRWxELEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFMZCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQVQxQyxjQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFZdkMsQ0FBQztJQUVNLElBQUksQ0FDVCxpQkFBc0MsRUFDdEMsU0FBaUIsRUFDakIsVUFBNkI7UUFFN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFFOUIsU0FBUyxHQUFHLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0QsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVuRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLE1BQU0sS0FBSyxHQUFHO1lBQ1osR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCO1NBQ25DLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFDaEIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7U0FDSDtJQUNILENBQUM7O3dIQWpEVSwyQkFBMkI7NEhBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOzswQkFXTixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IERyYXdlclJlZiB9IGZyb20gJ0BmaXJlc3RpdGNoL2RyYXdlcic7XG5pbXBvcnQgeyBGc1BlcnNpc3RhbmNlU3RvcmUgfSBmcm9tICdAZmlyZXN0aXRjaC9zdG9yZSc7XG5pbXBvcnQgeyBnZXROb3JtYWxpemVkUGF0aCB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5pbXBvcnQgeyBGc1N0b3JlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc3RvcmUnO1xuXG5pbXBvcnQgeyBGc0ZpbHRlclBlcnNpc3RhbmNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IHJlc3RvcmVJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcmVzdG9yZS1pdGVtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuLi9pdGVtcy1zdG9yZS5zZXJ2aWNlJztcblxuY29uc3QgRklMVEVSX1NUT1JFX0tFWSA9ICdmcy1maWx0ZXItcGVyc2lzdCc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcnNpc3RhbmNlUGFyYW1zQ29udHJvbGxlciBleHRlbmRzIEZzUGVyc2lzdGFuY2VTdG9yZTxGc0ZpbHRlclBlcnNpc3RhbmNlPiB7XG5cbiAgcHJvdGVjdGVkIFNUT1JFX0tFWSA9IEZJTFRFUl9TVE9SRV9LRVk7XG4gIHByb3RlY3RlZCBfcGFyYW1zQ2FzZTogJ3NuYWtlJyB8ICdjYW1lbCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX3N0b3JlOiBGc1N0b3JlLFxuICAgIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgX2l0ZW1zU3RvcmU6IEZzRmlsdGVySXRlbXNTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kcmF3ZXJSZWY6IERyYXdlclJlZjx1bmtub3duPixcbiAgKSB7XG4gICAgc3VwZXIoX3N0b3JlLCBfcm91dGUpO1xuICB9XG5cbiAgcHVibGljIGluaXQoXG4gICAgcGVyc2lzdGFuY2VDb25maWc6IEZzRmlsdGVyUGVyc2lzdGFuY2UsXG4gICAgbmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgcGFyYW1zQ2FzZTogJ3NuYWtlJyB8ICdjYW1lbCcsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX3BhcmFtc0Nhc2UgPSBwYXJhbXNDYXNlO1xuXG4gICAgbmFtZXNwYWNlID0gbmFtZXNwYWNlID8/IGdldE5vcm1hbGl6ZWRQYXRoKHRoaXMuX2xvY2F0aW9uKTtcbiAgICBjb25zdCBwZXJzaXN0YW5jZURpc2FibGVkID0gISF0aGlzLl9kaWFsb2dSZWYgfHwgISF0aGlzLl9kcmF3ZXJSZWY7XG5cbiAgICB0aGlzLnNldENvbmZpZyhwZXJzaXN0YW5jZUNvbmZpZywgbmFtZXNwYWNlLCBwZXJzaXN0YW5jZURpc2FibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyByZXN0b3JlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VwZXIucmVzdG9yZSgpO1xuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAuLi50aGlzLl9pdGVtc1N0b3JlLml0ZW1zLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0QnlJdGVtLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0RGlyZWN0aW9uSXRlbSxcbiAgICBdLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKTtcblxuICAgIGlmICh0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUuZGF0YSA9IHJlc3RvcmVJdGVtcyhcbiAgICAgICAgdGhpcy5fdmFsdWUuZGF0YSxcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIHRoaXMuX3BhcmFtc0Nhc2VcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
|
3
|
-
import { restoreItems } from '../../helpers/restore-items';
|
|
4
|
-
import { FsFilterItemsStore } from '../items-store.service';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/router";
|
|
7
|
-
import * as i2 from "../items-store.service";
|
|
8
|
-
export class QueryParamsController {
|
|
9
|
-
constructor(_route, _itemsStore) {
|
|
10
|
-
this._route = _route;
|
|
11
|
-
this._itemsStore = _itemsStore;
|
|
12
|
-
this._enabled = false;
|
|
13
|
-
}
|
|
14
|
-
get enabled() {
|
|
15
|
-
return this._enabled;
|
|
16
|
-
}
|
|
17
|
-
get fetchedParams() {
|
|
18
|
-
return this._fetchedParams;
|
|
19
|
-
}
|
|
20
|
-
init(enabled, paramsCase) {
|
|
21
|
-
this._enabled = enabled;
|
|
22
|
-
this._paramsCase = paramsCase;
|
|
23
|
-
if (this.enabled) {
|
|
24
|
-
this.fetchFromQueryParams();
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
writeStateToQueryParams(params) {
|
|
28
|
-
if (this._enabled) {
|
|
29
|
-
this._replaceState(params);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Parse query and update filter values
|
|
34
|
-
*/
|
|
35
|
-
fetchFromQueryParams() {
|
|
36
|
-
const items = [
|
|
37
|
-
...this._itemsStore.items,
|
|
38
|
-
this._itemsStore.sortByItem,
|
|
39
|
-
this._itemsStore.sortDirectionItem,
|
|
40
|
-
].filter((item) => !!item);
|
|
41
|
-
this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items, this._paramsCase);
|
|
42
|
-
}
|
|
43
|
-
_replaceState(data) {
|
|
44
|
-
const url = new URL(window.location.href);
|
|
45
|
-
Object.keys(data)
|
|
46
|
-
.forEach((name) => {
|
|
47
|
-
if (data[name] === undefined || data[name] === null) {
|
|
48
|
-
url.searchParams.delete(name);
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
url.searchParams.set(name, data[name]);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
history.replaceState({}, null, url.pathname + url.search);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
QueryParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
58
|
-
QueryParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
60
|
-
type: Injectable
|
|
61
|
-
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FsFilterItemsStore }]; } });
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ActivatedRoute } from '@angular/router';
|
|
3
|
+
import { restoreItems } from '../../helpers/restore-items';
|
|
4
|
+
import { FsFilterItemsStore } from '../items-store.service';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/router";
|
|
7
|
+
import * as i2 from "../items-store.service";
|
|
8
|
+
export class QueryParamsController {
|
|
9
|
+
constructor(_route, _itemsStore) {
|
|
10
|
+
this._route = _route;
|
|
11
|
+
this._itemsStore = _itemsStore;
|
|
12
|
+
this._enabled = false;
|
|
13
|
+
}
|
|
14
|
+
get enabled() {
|
|
15
|
+
return this._enabled;
|
|
16
|
+
}
|
|
17
|
+
get fetchedParams() {
|
|
18
|
+
return this._fetchedParams;
|
|
19
|
+
}
|
|
20
|
+
init(enabled, paramsCase) {
|
|
21
|
+
this._enabled = enabled;
|
|
22
|
+
this._paramsCase = paramsCase;
|
|
23
|
+
if (this.enabled) {
|
|
24
|
+
this.fetchFromQueryParams();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
writeStateToQueryParams(params) {
|
|
28
|
+
if (this._enabled) {
|
|
29
|
+
this._replaceState(params);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Parse query and update filter values
|
|
34
|
+
*/
|
|
35
|
+
fetchFromQueryParams() {
|
|
36
|
+
const items = [
|
|
37
|
+
...this._itemsStore.items,
|
|
38
|
+
this._itemsStore.sortByItem,
|
|
39
|
+
this._itemsStore.sortDirectionItem,
|
|
40
|
+
].filter((item) => !!item);
|
|
41
|
+
this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items, this._paramsCase);
|
|
42
|
+
}
|
|
43
|
+
_replaceState(data) {
|
|
44
|
+
const url = new URL(window.location.href);
|
|
45
|
+
Object.keys(data)
|
|
46
|
+
.forEach((name) => {
|
|
47
|
+
if (data[name] === undefined || data[name] === null) {
|
|
48
|
+
url.searchParams.delete(name);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
url.searchParams.set(name, data[name]);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
history.replaceState({}, null, url.pathname + url.search);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
QueryParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: QueryParamsController, deps: [{ token: i1.ActivatedRoute }, { token: i2.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
58
|
+
QueryParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: QueryParamsController });
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: QueryParamsController, decorators: [{
|
|
60
|
+
type: Injectable
|
|
61
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FsFilterItemsStore }]; } });
|
|
62
62
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3F1ZXJ5LXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSTVELE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsWUFDVSxNQUFzQixFQUN0QixXQUErQjtRQUQvQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFOakMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQU90QixDQUFDO0lBRUosSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQWdCLEVBQUUsVUFBNkI7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE1BQU07UUFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxvQkFBb0I7UUFDekIsTUFBTSxLQUFLLEdBQUc7WUFDWixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztZQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUI7U0FDbkMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUNoQyxLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBSTtRQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEIsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2xELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9CO2lCQUFNO2dCQUNMLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7O2tIQWhFVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyByZXN0b3JlSXRlbXMgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3Jlc3RvcmUtaXRlbXMnO1xuaW1wb3J0IHsgRnNGaWx0ZXJJdGVtc1N0b3JlIH0gZnJvbSAnLi4vaXRlbXMtc3RvcmUuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1zQ29udHJvbGxlciB7XG5cbiAgcHJpdmF0ZSBfZW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9wYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJztcbiAgcHJpdmF0ZSBfZmV0Y2hlZFBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfaXRlbXNTdG9yZTogRnNGaWx0ZXJJdGVtc1N0b3JlXG4gICkge31cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZldGNoZWRQYXJhbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZldGNoZWRQYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgaW5pdChlbmFibGVkOiBib29sZWFuLCBwYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJykge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBlbmFibGVkO1xuICAgIHRoaXMuX3BhcmFtc0Nhc2UgPSBwYXJhbXNDYXNlO1xuXG4gICAgaWYgKHRoaXMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5mZXRjaEZyb21RdWVyeVBhcmFtcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVN0YXRlVG9RdWVyeVBhcmFtcyhwYXJhbXMpIHtcbiAgICBpZiAodGhpcy5fZW5hYmxlZCkgeyBcbiAgICAgIHRoaXMuX3JlcGxhY2VTdGF0ZShwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBxdWVyeSBhbmQgdXBkYXRlIGZpbHRlciB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBmZXRjaEZyb21RdWVyeVBhcmFtcygpIHtcbiAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgIC4uLnRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnRCeUl0ZW0sXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnREaXJlY3Rpb25JdGVtLFxuICAgIF0uZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuXG4gICAgdGhpcy5fZmV0Y2hlZFBhcmFtcyA9IHJlc3RvcmVJdGVtcyhcbiAgICAgIHRoaXMuX3JvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLFxuICAgICAgaXRlbXMsXG4gICAgICB0aGlzLl9wYXJhbXNDYXNlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VTdGF0ZShkYXRhKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG5cbiAgICBPYmplY3Qua2V5cyhkYXRhKVxuICAgICAgLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgaWYoZGF0YVtuYW1lXSA9PT0gdW5kZWZpbmVkIHx8IGRhdGFbbmFtZV0gPT09IG51bGwpIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldChuYW1lLGRhdGFbbmFtZV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBudWxsLCB1cmwucGF0aG5hbWUgKyB1cmwuc2VhcmNoKTtcbiAgfVxufVxuIl19
|