@firestitch/filter 16.0.0 → 16.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 +9 -9
- 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 +24 -24
- 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 +17 -17
- 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 +19 -19
- 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 +21 -21
- 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/esm2022/app/classes/actions-controller.mjs +129 -129
- package/esm2022/app/components/action-button/action-button.component.mjs +20 -20
- package/esm2022/app/components/action-kebab-actions/action-kebab-actions.component.mjs +17 -17
- package/esm2022/app/components/actions/actions.component.mjs +39 -39
- package/esm2022/app/components/filter/filter.component.mjs +625 -625
- package/esm2022/app/components/filter-chip/filter-chip.component.mjs +91 -91
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +82 -82
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +17 -17
- package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +77 -77
- package/esm2022/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +26 -26
- package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +28 -28
- package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +43 -43
- package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +67 -67
- package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -22
- package/esm2022/app/components/filters-item/chips/chips.component.mjs +29 -29
- package/esm2022/app/components/filters-item/date/date.component.mjs +44 -44
- package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +35 -35
- package/esm2022/app/components/filters-item/filter-item.component.mjs +81 -81
- package/esm2022/app/components/filters-item/range/range.component.mjs +48 -48
- package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
- package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +32 -32
- package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +59 -59
- package/esm2022/app/components/filters-item/select/select.component.mjs +54 -54
- package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +45 -45
- package/esm2022/app/components/filters-item/text/text.component.mjs +50 -50
- package/esm2022/app/components/filters-item/week/week.component.mjs +25 -25
- package/esm2022/app/components/saved-filter/index.mjs +3 -3
- package/esm2022/app/components/saved-filter/saved-filter-edit/index.mjs +1 -1
- package/esm2022/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +54 -54
- package/esm2022/app/components/saved-filter/saved-filter-manage/index.mjs +1 -1
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +44 -44
- package/esm2022/app/components/saved-filter/saved-filters-menu/index.mjs +1 -1
- package/esm2022/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +60 -60
- package/esm2022/app/consts/query-param-delimiter.mjs +1 -1
- package/esm2022/app/directives/focus-to-item/focus-to-item.directive.mjs +140 -140
- package/esm2022/app/directives/status-bar/status-bar.directive.mjs +16 -16
- package/esm2022/app/enums/action-mode.enum.mjs +7 -7
- package/esm2022/app/enums/action-type.enum.mjs +10 -10
- package/esm2022/app/enums/button-style.mjs +10 -10
- package/esm2022/app/enums/index.mjs +6 -6
- package/esm2022/app/enums/item-date-mode.enum.mjs +6 -6
- package/esm2022/app/enums/item-type.enum.mjs +16 -16
- package/esm2022/app/enums/picker-view-type.enum.mjs +8 -8
- package/esm2022/app/fs-filter.module.mjs +260 -260
- package/esm2022/app/helpers/build-query-params.mjs +32 -32
- package/esm2022/app/helpers/compare.mjs +37 -37
- package/esm2022/app/helpers/create-filter-item.mjs +54 -54
- package/esm2022/app/helpers/find-value.mjs +12 -12
- package/esm2022/app/helpers/get-range-name.mjs +3 -3
- package/esm2022/app/helpers/parse-date.mjs +7 -7
- package/esm2022/app/helpers/parse-item-value-from-stored.mjs +76 -76
- package/esm2022/app/helpers/query-param-transformers.mjs +8 -8
- package/esm2022/app/helpers/restore-items.mjs +48 -48
- package/esm2022/app/injectors/filter-config.mjs +2 -2
- package/esm2022/app/injectors/filter-drawer-data.mjs +2 -2
- package/esm2022/app/injectors/filter-drawer-overlay.mjs +2 -2
- package/esm2022/app/interfaces/action.interface.mjs +1 -1
- package/esm2022/app/interfaces/config.interface.mjs +1 -1
- package/esm2022/app/interfaces/external-params.interface.mjs +1 -1
- package/esm2022/app/interfaces/filter.interface.mjs +1 -1
- package/esm2022/app/interfaces/index.mjs +6 -6
- package/esm2022/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/autocomplete.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/base.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/checkbox.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/chips.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/date-range.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/range.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/select.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/text.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/week.interface.mjs +1 -1
- package/esm2022/app/interfaces/saved-filters.interface.mjs +1 -1
- package/esm2022/app/interfaces/update-filter-item.interface.mjs +1 -1
- package/esm2022/app/models/action-menu-item.model.mjs +72 -72
- package/esm2022/app/models/action.model.mjs +155 -155
- package/esm2022/app/models/filter-config.mjs +78 -78
- package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +15 -15
- package/esm2022/app/models/items/autocomplete-chips-item.mjs +66 -66
- package/esm2022/app/models/items/autocomplete-item.mjs +32 -32
- package/esm2022/app/models/items/base-item.mjs +250 -250
- package/esm2022/app/models/items/checkbox-item.mjs +51 -51
- package/esm2022/app/models/items/chips-item.mjs +89 -89
- package/esm2022/app/models/items/date/base-date-item.mjs +49 -49
- package/esm2022/app/models/items/date-item.mjs +18 -18
- package/esm2022/app/models/items/date-range/base-date-range-item.mjs +123 -123
- package/esm2022/app/models/items/date-range-item.mjs +6 -6
- package/esm2022/app/models/items/date-time-item.mjs +9 -9
- package/esm2022/app/models/items/date-time-range-item.mjs +6 -6
- package/esm2022/app/models/items/range-item.mjs +84 -84
- package/esm2022/app/models/items/select/base-select-item.mjs +39 -39
- package/esm2022/app/models/items/select/multiple-select-item.mjs +87 -87
- package/esm2022/app/models/items/select/simple-select-item.mjs +65 -65
- package/esm2022/app/models/items/select-item.mjs +11 -11
- package/esm2022/app/models/items/text-item.mjs +35 -35
- package/esm2022/app/models/items/week-item.mjs +94 -94
- package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +20 -20
- package/esm2022/app/providers/filter-meta.mjs +9 -9
- package/esm2022/app/services/external-params/persistance-params-controller.service.mjs +61 -61
- package/esm2022/app/services/external-params/query-params-controller.service.mjs +65 -65
- package/esm2022/app/services/external-params/saved-filters-controller.service.mjs +166 -166
- package/esm2022/app/services/external-params-controller.service.mjs +184 -184
- package/esm2022/app/services/filter-overlay.service.mjs +129 -129
- package/esm2022/app/services/focus-controller.service.mjs +28 -28
- package/esm2022/app/services/items-store.service.mjs +346 -346
- package/esm2022/firestitch-filter.mjs +4 -4
- package/esm2022/public_api.mjs +35 -35
- package/fesm2022/firestitch-filter.mjs +4516 -4516
- package/index.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +40 -40
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import { BaseItem } from './base-item';
|
|
2
|
-
export class TextItem extends BaseItem {
|
|
3
|
-
prefix;
|
|
4
|
-
suffix;
|
|
5
|
-
static create(config, filter) {
|
|
6
|
-
return new TextItem(config, null, filter);
|
|
7
|
-
}
|
|
8
|
-
get value() {
|
|
9
|
-
return !!this.model ? this.model : undefined;
|
|
10
|
-
}
|
|
11
|
-
get queryObject() {
|
|
12
|
-
const value = this.value;
|
|
13
|
-
const name = this.name;
|
|
14
|
-
const params = {};
|
|
15
|
-
params[name] = value;
|
|
16
|
-
return params;
|
|
17
|
-
}
|
|
18
|
-
getChipsContent() {
|
|
19
|
-
return this.model;
|
|
20
|
-
}
|
|
21
|
-
_validateModel() {
|
|
22
|
-
//
|
|
23
|
-
}
|
|
24
|
-
_parseConfig(item) {
|
|
25
|
-
this.prefix = item.prefix;
|
|
26
|
-
this.suffix = item.suffix;
|
|
27
|
-
super._parseConfig(item);
|
|
28
|
-
}
|
|
29
|
-
_init() {
|
|
30
|
-
//
|
|
31
|
-
}
|
|
32
|
-
_clearValue(defaultValue = undefined) {
|
|
33
|
-
this.model = defaultValue ?? '';
|
|
34
|
-
}
|
|
35
|
-
}
|
|
1
|
+
import { BaseItem } from './base-item';
|
|
2
|
+
export class TextItem extends BaseItem {
|
|
3
|
+
prefix;
|
|
4
|
+
suffix;
|
|
5
|
+
static create(config, filter) {
|
|
6
|
+
return new TextItem(config, null, filter);
|
|
7
|
+
}
|
|
8
|
+
get value() {
|
|
9
|
+
return !!this.model ? this.model : undefined;
|
|
10
|
+
}
|
|
11
|
+
get queryObject() {
|
|
12
|
+
const value = this.value;
|
|
13
|
+
const name = this.name;
|
|
14
|
+
const params = {};
|
|
15
|
+
params[name] = value;
|
|
16
|
+
return params;
|
|
17
|
+
}
|
|
18
|
+
getChipsContent() {
|
|
19
|
+
return this.model;
|
|
20
|
+
}
|
|
21
|
+
_validateModel() {
|
|
22
|
+
//
|
|
23
|
+
}
|
|
24
|
+
_parseConfig(item) {
|
|
25
|
+
this.prefix = item.prefix;
|
|
26
|
+
this.suffix = item.suffix;
|
|
27
|
+
super._parseConfig(item);
|
|
28
|
+
}
|
|
29
|
+
_init() {
|
|
30
|
+
//
|
|
31
|
+
}
|
|
32
|
+
_clearValue(defaultValue = undefined) {
|
|
33
|
+
this.model = defaultValue ?? '';
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
36
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQUVwRCxNQUFNLENBQVM7SUFDZixNQUFNLENBQVM7SUFFZixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQTZCLEVBQUUsTUFBdUI7UUFDekUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFckIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLEVBQUU7SUFDSixDQUFDO0lBRVMsWUFBWSxDQUFDLElBQTJCO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFMUIsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSztRQUNiLEVBQUU7SUFDSixDQUFDO0lBRVMsV0FBVyxDQUFDLGVBQXdCLFNBQVM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdUZXh0SXRlbSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBUZXh0SXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdUZXh0SXRlbT4ge1xuXG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcbiAgcHVibGljIHN1ZmZpeDogc3RyaW5nO1xuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGNvbmZpZzogSUZpbHRlckNvbmZpZ1RleHRJdGVtLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVGV4dEl0ZW0oY29uZmlnLCBudWxsLCBmaWx0ZXIpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLm1vZGVsID8gdGhpcy5tb2RlbCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG5cbiAgICBwYXJhbXNbbmFtZV0gPSB2YWx1ZTtcblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICAgIC8vXG4gIH1cblxuICBwcm90ZWN0ZWQgX3BhcnNlQ29uZmlnKGl0ZW06IElGaWx0ZXJDb25maWdUZXh0SXRlbSkge1xuICAgIHRoaXMucHJlZml4ID0gaXRlbS5wcmVmaXg7XG4gICAgdGhpcy5zdWZmaXggPSBpdGVtLnN1ZmZpeDtcblxuICAgIHN1cGVyLl9wYXJzZUNvbmZpZyhpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICAvL1xuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
import { isEmpty } from '@firestitch/common';
|
|
2
|
-
import { simpleFormat } from '@firestitch/date';
|
|
3
|
-
import { formatPeriodObject } from '@firestitch/datepicker';
|
|
4
|
-
import { isDate, isValid, parseISO } from 'date-fns';
|
|
5
|
-
import { clone, isObject, isString } from 'lodash-es';
|
|
6
|
-
import { getRangeName } from '../../helpers/get-range-name';
|
|
7
|
-
import { parseDate } from '../../helpers/parse-date';
|
|
8
|
-
import { BaseItem } from './base-item';
|
|
9
|
-
export class WeekItem extends BaseItem {
|
|
10
|
-
seedDate;
|
|
11
|
-
static create(config, filter) {
|
|
12
|
-
return new WeekItem(config, null, filter);
|
|
13
|
-
}
|
|
14
|
-
get value() {
|
|
15
|
-
let value = clone(this.model);
|
|
16
|
-
if (!isObject(this.model) ||
|
|
17
|
-
(isEmpty(this.model.from, { zero: true }) && isEmpty(this.model.to, { zero: true }))) {
|
|
18
|
-
value = undefined;
|
|
19
|
-
}
|
|
20
|
-
if (isEmpty(value, { zero: true })) {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
let from = value.from;
|
|
24
|
-
let to = value.to;
|
|
25
|
-
const period = value.period;
|
|
26
|
-
value = {};
|
|
27
|
-
if (from) {
|
|
28
|
-
if (isString(from)) {
|
|
29
|
-
from = parseISO(from);
|
|
30
|
-
}
|
|
31
|
-
if (isValid(from) && isDate(from)) {
|
|
32
|
-
value.from = from;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
if (to) {
|
|
36
|
-
if (isString(to)) {
|
|
37
|
-
to = parseISO(to);
|
|
38
|
-
}
|
|
39
|
-
if (isValid(to) && isDate(to)) {
|
|
40
|
-
value.to = to;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
if (period) {
|
|
44
|
-
value.period = isString(period) ? parseInt(period, 10) : period;
|
|
45
|
-
}
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
get queryObject() {
|
|
49
|
-
const value = this.value;
|
|
50
|
-
const name = this.name;
|
|
51
|
-
const paramFromName = getRangeName(name, 'from');
|
|
52
|
-
const paramToName = getRangeName(name, 'to');
|
|
53
|
-
const paramPeriodName = `${name}Period`;
|
|
54
|
-
return {
|
|
55
|
-
[paramFromName]: value?.from || undefined,
|
|
56
|
-
[paramToName]: value?.to || undefined,
|
|
57
|
-
[paramPeriodName]: value?.period || undefined,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
get persistanceObject() {
|
|
61
|
-
const query = this.queryObject;
|
|
62
|
-
const name = this.name;
|
|
63
|
-
const paramFromName = getRangeName(name, 'from');
|
|
64
|
-
const paramFromValue = query[paramFromName] && simpleFormat(query[paramFromName]) || query[paramFromName];
|
|
65
|
-
const paramToName = getRangeName(name, 'to');
|
|
66
|
-
const paramToValue = query[paramToName] && simpleFormat(query[paramToName]) || query[paramToName];
|
|
67
|
-
const paramPeriodName = `${name}Period`;
|
|
68
|
-
return {
|
|
69
|
-
[paramFromName]: paramFromValue,
|
|
70
|
-
[paramToName]: paramToValue,
|
|
71
|
-
[paramPeriodName]: query[paramPeriodName],
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
getChipsContent(type = null) {
|
|
75
|
-
return formatPeriodObject(this.value);
|
|
76
|
-
}
|
|
77
|
-
_validateModel() { }
|
|
78
|
-
_setModel(value) {
|
|
79
|
-
if (value) {
|
|
80
|
-
value.from = parseDate(value.from);
|
|
81
|
-
value.to = parseDate(value.to);
|
|
82
|
-
value.period = parseInt(value.period, 10) || undefined;
|
|
83
|
-
}
|
|
84
|
-
super._setModel(value);
|
|
85
|
-
}
|
|
86
|
-
_parseConfig(item) {
|
|
87
|
-
super._parseConfig(item);
|
|
88
|
-
this.seedDate = item.seedDate;
|
|
89
|
-
}
|
|
90
|
-
_init() { }
|
|
91
|
-
_clearValue(defaultValue = undefined) {
|
|
92
|
-
this.model = defaultValue ?? undefined;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
1
|
+
import { isEmpty } from '@firestitch/common';
|
|
2
|
+
import { simpleFormat } from '@firestitch/date';
|
|
3
|
+
import { formatPeriodObject } from '@firestitch/datepicker';
|
|
4
|
+
import { isDate, isValid, parseISO } from 'date-fns';
|
|
5
|
+
import { clone, isObject, isString } from 'lodash-es';
|
|
6
|
+
import { getRangeName } from '../../helpers/get-range-name';
|
|
7
|
+
import { parseDate } from '../../helpers/parse-date';
|
|
8
|
+
import { BaseItem } from './base-item';
|
|
9
|
+
export class WeekItem extends BaseItem {
|
|
10
|
+
seedDate;
|
|
11
|
+
static create(config, filter) {
|
|
12
|
+
return new WeekItem(config, null, filter);
|
|
13
|
+
}
|
|
14
|
+
get value() {
|
|
15
|
+
let value = clone(this.model);
|
|
16
|
+
if (!isObject(this.model) ||
|
|
17
|
+
(isEmpty(this.model.from, { zero: true }) && isEmpty(this.model.to, { zero: true }))) {
|
|
18
|
+
value = undefined;
|
|
19
|
+
}
|
|
20
|
+
if (isEmpty(value, { zero: true })) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
let from = value.from;
|
|
24
|
+
let to = value.to;
|
|
25
|
+
const period = value.period;
|
|
26
|
+
value = {};
|
|
27
|
+
if (from) {
|
|
28
|
+
if (isString(from)) {
|
|
29
|
+
from = parseISO(from);
|
|
30
|
+
}
|
|
31
|
+
if (isValid(from) && isDate(from)) {
|
|
32
|
+
value.from = from;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (to) {
|
|
36
|
+
if (isString(to)) {
|
|
37
|
+
to = parseISO(to);
|
|
38
|
+
}
|
|
39
|
+
if (isValid(to) && isDate(to)) {
|
|
40
|
+
value.to = to;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (period) {
|
|
44
|
+
value.period = isString(period) ? parseInt(period, 10) : period;
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
get queryObject() {
|
|
49
|
+
const value = this.value;
|
|
50
|
+
const name = this.name;
|
|
51
|
+
const paramFromName = getRangeName(name, 'from');
|
|
52
|
+
const paramToName = getRangeName(name, 'to');
|
|
53
|
+
const paramPeriodName = `${name}Period`;
|
|
54
|
+
return {
|
|
55
|
+
[paramFromName]: value?.from || undefined,
|
|
56
|
+
[paramToName]: value?.to || undefined,
|
|
57
|
+
[paramPeriodName]: value?.period || undefined,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
get persistanceObject() {
|
|
61
|
+
const query = this.queryObject;
|
|
62
|
+
const name = this.name;
|
|
63
|
+
const paramFromName = getRangeName(name, 'from');
|
|
64
|
+
const paramFromValue = query[paramFromName] && simpleFormat(query[paramFromName]) || query[paramFromName];
|
|
65
|
+
const paramToName = getRangeName(name, 'to');
|
|
66
|
+
const paramToValue = query[paramToName] && simpleFormat(query[paramToName]) || query[paramToName];
|
|
67
|
+
const paramPeriodName = `${name}Period`;
|
|
68
|
+
return {
|
|
69
|
+
[paramFromName]: paramFromValue,
|
|
70
|
+
[paramToName]: paramToValue,
|
|
71
|
+
[paramPeriodName]: query[paramPeriodName],
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
getChipsContent(type = null) {
|
|
75
|
+
return formatPeriodObject(this.value);
|
|
76
|
+
}
|
|
77
|
+
_validateModel() { }
|
|
78
|
+
_setModel(value) {
|
|
79
|
+
if (value) {
|
|
80
|
+
value.from = parseDate(value.from);
|
|
81
|
+
value.to = parseDate(value.to);
|
|
82
|
+
value.period = parseInt(value.period, 10) || undefined;
|
|
83
|
+
}
|
|
84
|
+
super._setModel(value);
|
|
85
|
+
}
|
|
86
|
+
_parseConfig(item) {
|
|
87
|
+
super._parseConfig(item);
|
|
88
|
+
this.seedDate = item.seedDate;
|
|
89
|
+
}
|
|
90
|
+
_init() { }
|
|
91
|
+
_clearValue(defaultValue = undefined) {
|
|
92
|
+
this.model = defaultValue ?? undefined;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
95
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQUVwRCxRQUFRLENBQU87SUFFZixNQUFNLENBQUMsTUFBTSxDQUFDLE1BQTZCLEVBQUUsTUFBdUI7UUFDekUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDdEYsS0FBSyxHQUFHLFNBQVMsQ0FBQztTQUNuQjtRQUVELElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQ2xDLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN0QixJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFNUIsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2xCLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdkI7WUFFRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ2pDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO2FBQ25CO1NBQ0Y7UUFFRCxJQUFJLEVBQUUsRUFBRTtZQUNOLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUNoQixFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ25CO1lBRUQsSUFBSSxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUM3QixLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQzthQUNmO1NBQ0Y7UUFFRCxJQUFJLE1BQU0sRUFBRTtZQUNWLEtBQUssQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDakU7UUFHRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDakQsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM3QyxNQUFNLGVBQWUsR0FBRyxHQUFHLElBQUksUUFBUSxDQUFDO1FBRXhDLE9BQU87WUFDTCxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksU0FBUztZQUN6QyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksU0FBUztZQUNyQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLElBQUksU0FBUztTQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUN2QixNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsSUFBSSxZQUFZLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzFHLE1BQU0sV0FBVyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDN0MsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEcsTUFBTSxlQUFlLEdBQUcsR0FBRyxJQUFJLFFBQVEsQ0FBQztRQUV4QyxPQUFPO1lBQ0wsQ0FBQyxhQUFhLENBQUMsRUFBRSxjQUFjO1lBQy9CLENBQUMsV0FBVyxDQUFDLEVBQUUsWUFBWTtZQUMzQixDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxlQUFlLENBQUM7U0FDMUMsQ0FBQztJQUNKLENBQUM7SUFFTSxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUk7UUFDaEMsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVTLGNBQWMsS0FBSyxDQUFDO0lBRXBCLFNBQVMsQ0FBQyxLQUFLO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLEtBQUssQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMvQixLQUFLLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsQ0FBQztTQUN4RDtRQUVELEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVTLFlBQVksQ0FBQyxJQUEyQjtRQUNoRCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNoQyxDQUFDO0lBRVMsS0FBSyxLQUFLLENBQUM7SUFFWCxXQUFXLENBQUMsZUFBd0IsU0FBUztRQUNyRCxJQUFJLENBQUMsS0FBSyxHQUFHLFlBQVksSUFBSSxTQUFTLENBQUM7SUFDekMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5pbXBvcnQgeyBzaW1wbGVGb3JtYXQgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlJztcbmltcG9ydCB7IGZvcm1hdFBlcmlvZE9iamVjdCB9IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGVwaWNrZXInO1xuXG5pbXBvcnQgeyBpc0RhdGUsIGlzVmFsaWQsIHBhcnNlSVNPIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgY2xvbmUsIGlzT2JqZWN0LCBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnZXRSYW5nZU5hbWUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL2dldC1yYW5nZS1uYW1lJztcbmltcG9ydCB7IHBhcnNlRGF0ZSB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcGFyc2UtZGF0ZSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnV2Vla0l0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2l0ZW1zL3dlZWsuaW50ZXJmYWNlJztcblxuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2Jhc2UtaXRlbSc7XG5cblxuZXhwb3J0IGNsYXNzIFdlZWtJdGVtIGV4dGVuZHMgQmFzZUl0ZW08SUZpbHRlckNvbmZpZ1dlZWtJdGVtPiB7XG5cbiAgcHVibGljIHNlZWREYXRlOiBEYXRlO1xuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGNvbmZpZzogSUZpbHRlckNvbmZpZ1dlZWtJdGVtLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgV2Vla0l0ZW0oY29uZmlnLCBudWxsLCBmaWx0ZXIpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICBsZXQgdmFsdWUgPSBjbG9uZSh0aGlzLm1vZGVsKTtcblxuICAgIGlmICghaXNPYmplY3QodGhpcy5tb2RlbCkgfHxcbiAgICAgIChpc0VtcHR5KHRoaXMubW9kZWwuZnJvbSwgeyB6ZXJvOiB0cnVlIH0pICYmIGlzRW1wdHkodGhpcy5tb2RlbC50bywgeyB6ZXJvOiB0cnVlIH0pKSkge1xuICAgICAgdmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKGlzRW1wdHkodmFsdWUsIHsgemVybzogdHJ1ZSB9KSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgZnJvbSA9IHZhbHVlLmZyb207XG4gICAgbGV0IHRvID0gdmFsdWUudG87XG4gICAgY29uc3QgcGVyaW9kID0gdmFsdWUucGVyaW9kO1xuXG4gICAgdmFsdWUgPSB7fTtcblxuICAgIGlmIChmcm9tKSB7XG4gICAgICBpZiAoaXNTdHJpbmcoZnJvbSkpIHtcbiAgICAgICAgZnJvbSA9IHBhcnNlSVNPKGZyb20pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZChmcm9tKSAmJiBpc0RhdGUoZnJvbSkpIHtcbiAgICAgICAgdmFsdWUuZnJvbSA9IGZyb207XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRvKSB7XG4gICAgICBpZiAoaXNTdHJpbmcodG8pKSB7XG4gICAgICAgIHRvID0gcGFyc2VJU08odG8pO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNWYWxpZCh0bykgJiYgaXNEYXRlKHRvKSkge1xuICAgICAgICB2YWx1ZS50byA9IHRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwZXJpb2QpIHtcbiAgICAgIHZhbHVlLnBlcmlvZCA9IGlzU3RyaW5nKHBlcmlvZCkgPyBwYXJzZUludChwZXJpb2QsIDEwKSA6IHBlcmlvZDtcbiAgICB9XG5cblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1Gcm9tTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtVG9OYW1lID0gZ2V0UmFuZ2VOYW1lKG5hbWUsICd0bycpO1xuICAgIGNvbnN0IHBhcmFtUGVyaW9kTmFtZSA9IGAke25hbWV9UGVyaW9kYDtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHZhbHVlPy5mcm9tIHx8IHVuZGVmaW5lZCxcbiAgICAgIFtwYXJhbVRvTmFtZV06IHZhbHVlPy50byB8fCB1bmRlZmluZWQsXG4gICAgICBbcGFyYW1QZXJpb2ROYW1lXTogdmFsdWU/LnBlcmlvZCB8fCB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGVyc2lzdGFuY2VPYmplY3QoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgY29uc3QgcXVlcnkgPSB0aGlzLnF1ZXJ5T2JqZWN0O1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1Gcm9tTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAnZnJvbScpO1xuICAgIGNvbnN0IHBhcmFtRnJvbVZhbHVlID0gcXVlcnlbcGFyYW1Gcm9tTmFtZV0gJiYgc2ltcGxlRm9ybWF0KHF1ZXJ5W3BhcmFtRnJvbU5hbWVdKSB8fCBxdWVyeVtwYXJhbUZyb21OYW1lXTtcbiAgICBjb25zdCBwYXJhbVRvTmFtZSA9IGdldFJhbmdlTmFtZShuYW1lLCAndG8nKTtcbiAgICBjb25zdCBwYXJhbVRvVmFsdWUgPSBxdWVyeVtwYXJhbVRvTmFtZV0gJiYgc2ltcGxlRm9ybWF0KHF1ZXJ5W3BhcmFtVG9OYW1lXSkgfHwgcXVlcnlbcGFyYW1Ub05hbWVdO1xuICAgIGNvbnN0IHBhcmFtUGVyaW9kTmFtZSA9IGAke25hbWV9UGVyaW9kYDtcblxuICAgIHJldHVybiB7XG4gICAgICBbcGFyYW1Gcm9tTmFtZV06IHBhcmFtRnJvbVZhbHVlLFxuICAgICAgW3BhcmFtVG9OYW1lXTogcGFyYW1Ub1ZhbHVlLFxuICAgICAgW3BhcmFtUGVyaW9kTmFtZV06IHF1ZXJ5W3BhcmFtUGVyaW9kTmFtZV0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDaGlwc0NvbnRlbnQodHlwZSA9IG51bGwpOiBzdHJpbmcge1xuICAgIHJldHVybiBmb3JtYXRQZXJpb2RPYmplY3QodGhpcy52YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3ZhbGlkYXRlTW9kZWwoKSB7IH1cblxuICBwcm90ZWN0ZWQgX3NldE1vZGVsKHZhbHVlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB2YWx1ZS5mcm9tID0gcGFyc2VEYXRlKHZhbHVlLmZyb20pO1xuICAgICAgdmFsdWUudG8gPSBwYXJzZURhdGUodmFsdWUudG8pO1xuICAgICAgdmFsdWUucGVyaW9kID0gcGFyc2VJbnQodmFsdWUucGVyaW9kLCAxMCkgfHwgdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHN1cGVyLl9zZXRNb2RlbCh2YWx1ZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3BhcnNlQ29uZmlnKGl0ZW06IElGaWx0ZXJDb25maWdXZWVrSXRlbSkge1xuICAgIHN1cGVyLl9wYXJzZUNvbmZpZyhpdGVtKTtcblxuICAgIHRoaXMuc2VlZERhdGUgPSBpdGVtLnNlZWREYXRlO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9pbml0KCkgeyB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=
|
|
@@ -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
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterIsolateValues, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FsFilterIsolateValues, name: "fsFilterIsolateValues" });
|
|
14
|
-
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterIsolateValues, decorators: [{
|
|
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
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterIsolateValues, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FsFilterIsolateValues, name: "fsFilterIsolateValues" });
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterIsolateValues, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{
|
|
18
|
+
name: 'fsFilterIsolateValues',
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
21
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvcGlwZXMvcmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFRcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxTQUFTLENBQUMsTUFBdUIsRUFBRSxPQUFPO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO3dHQVZVLHFCQUFxQjtzR0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQUhqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSx1QkFBdUI7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzRmlsdGVySXNvbGF0ZVZhbHVlcycsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVySXNvbGF0ZVZhbHVlcyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWVzOiBCYXNlSXRlbTxhbnk+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,62 +1,62 @@
|
|
|
1
|
-
import { Location } from '@angular/common';
|
|
2
|
-
import { Injectable, Optional } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute } from '@angular/router';
|
|
4
|
-
import { MatDialogRef } from '@angular/material/dialog';
|
|
5
|
-
import { getNormalizedPath } from '@firestitch/common';
|
|
6
|
-
import { DrawerRef } from '@firestitch/drawer';
|
|
7
|
-
import { FsPersistanceStore, FsStore } from '@firestitch/store';
|
|
8
|
-
import { restoreItems } from '../../helpers/restore-items';
|
|
9
|
-
import { FsFilterItemsStore } from '../items-store.service';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@firestitch/store";
|
|
12
|
-
import * as i2 from "@angular/router";
|
|
13
|
-
import * as i3 from "@angular/common";
|
|
14
|
-
import * as i4 from "../items-store.service";
|
|
15
|
-
import * as i5 from "@angular/material/dialog";
|
|
16
|
-
import * as i6 from "@firestitch/drawer";
|
|
17
|
-
const FILTER_STORE_KEY = 'fs-filter-persist';
|
|
18
|
-
export class PersistanceParamsController extends FsPersistanceStore {
|
|
19
|
-
_location;
|
|
20
|
-
_itemsStore;
|
|
21
|
-
_dialogRef;
|
|
22
|
-
_drawerRef;
|
|
23
|
-
STORE_KEY = FILTER_STORE_KEY;
|
|
24
|
-
_paramsCase;
|
|
25
|
-
constructor(_store, _route, _location, _itemsStore, _dialogRef, _drawerRef) {
|
|
26
|
-
super(_store, _route);
|
|
27
|
-
this._location = _location;
|
|
28
|
-
this._itemsStore = _itemsStore;
|
|
29
|
-
this._dialogRef = _dialogRef;
|
|
30
|
-
this._drawerRef = _drawerRef;
|
|
31
|
-
}
|
|
32
|
-
init(persistanceConfig, namespace, paramsCase) {
|
|
33
|
-
this._paramsCase = paramsCase;
|
|
34
|
-
namespace = namespace ?? getNormalizedPath(this._location);
|
|
35
|
-
const persistanceDisabled = !!this._dialogRef || !!this._drawerRef;
|
|
36
|
-
this.setConfig(persistanceConfig, namespace, persistanceDisabled);
|
|
37
|
-
}
|
|
38
|
-
restore() {
|
|
39
|
-
if (!this.enabled) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
super.restore();
|
|
43
|
-
const items = [
|
|
44
|
-
...this._itemsStore.items,
|
|
45
|
-
this._itemsStore.sortByItem,
|
|
46
|
-
this._itemsStore.sortDirectionItem,
|
|
47
|
-
].filter((item) => !!item);
|
|
48
|
-
if (this._value) {
|
|
49
|
-
this._value.data = restoreItems(this._value.data, items);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", 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 });
|
|
53
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PersistanceParamsController });
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PersistanceParamsController, decorators: [{
|
|
56
|
-
type: Injectable
|
|
57
|
-
}], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i2.ActivatedRoute }, { type: i3.Location }, { type: i4.FsFilterItemsStore }, { type: i5.MatDialogRef, decorators: [{
|
|
58
|
-
type: Optional
|
|
59
|
-
}] }, { type: i6.DrawerRef, decorators: [{
|
|
60
|
-
type: Optional
|
|
61
|
-
}] }]; } });
|
|
1
|
+
import { Location } from '@angular/common';
|
|
2
|
+
import { Injectable, Optional } from '@angular/core';
|
|
3
|
+
import { ActivatedRoute } from '@angular/router';
|
|
4
|
+
import { MatDialogRef } from '@angular/material/dialog';
|
|
5
|
+
import { getNormalizedPath } from '@firestitch/common';
|
|
6
|
+
import { DrawerRef } from '@firestitch/drawer';
|
|
7
|
+
import { FsPersistanceStore, FsStore } from '@firestitch/store';
|
|
8
|
+
import { restoreItems } from '../../helpers/restore-items';
|
|
9
|
+
import { FsFilterItemsStore } from '../items-store.service';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@firestitch/store";
|
|
12
|
+
import * as i2 from "@angular/router";
|
|
13
|
+
import * as i3 from "@angular/common";
|
|
14
|
+
import * as i4 from "../items-store.service";
|
|
15
|
+
import * as i5 from "@angular/material/dialog";
|
|
16
|
+
import * as i6 from "@firestitch/drawer";
|
|
17
|
+
const FILTER_STORE_KEY = 'fs-filter-persist';
|
|
18
|
+
export class PersistanceParamsController extends FsPersistanceStore {
|
|
19
|
+
_location;
|
|
20
|
+
_itemsStore;
|
|
21
|
+
_dialogRef;
|
|
22
|
+
_drawerRef;
|
|
23
|
+
STORE_KEY = FILTER_STORE_KEY;
|
|
24
|
+
_paramsCase;
|
|
25
|
+
constructor(_store, _route, _location, _itemsStore, _dialogRef, _drawerRef) {
|
|
26
|
+
super(_store, _route);
|
|
27
|
+
this._location = _location;
|
|
28
|
+
this._itemsStore = _itemsStore;
|
|
29
|
+
this._dialogRef = _dialogRef;
|
|
30
|
+
this._drawerRef = _drawerRef;
|
|
31
|
+
}
|
|
32
|
+
init(persistanceConfig, namespace, paramsCase) {
|
|
33
|
+
this._paramsCase = paramsCase;
|
|
34
|
+
namespace = namespace ?? getNormalizedPath(this._location);
|
|
35
|
+
const persistanceDisabled = !!this._dialogRef || !!this._drawerRef;
|
|
36
|
+
this.setConfig(persistanceConfig, namespace, persistanceDisabled);
|
|
37
|
+
}
|
|
38
|
+
restore() {
|
|
39
|
+
if (!this.enabled) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
super.restore();
|
|
43
|
+
const items = [
|
|
44
|
+
...this._itemsStore.items,
|
|
45
|
+
this._itemsStore.sortByItem,
|
|
46
|
+
this._itemsStore.sortDirectionItem,
|
|
47
|
+
].filter((item) => !!item);
|
|
48
|
+
if (this._value) {
|
|
49
|
+
this._value.data = restoreItems(this._value.data, items);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", 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 });
|
|
53
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PersistanceParamsController });
|
|
54
|
+
}
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PersistanceParamsController, decorators: [{
|
|
56
|
+
type: Injectable
|
|
57
|
+
}], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i2.ActivatedRoute }, { type: i3.Location }, { type: i4.FsFilterItemsStore }, { type: i5.MatDialogRef, decorators: [{
|
|
58
|
+
type: Optional
|
|
59
|
+
}] }, { type: i6.DrawerRef, decorators: [{
|
|
60
|
+
type: Optional
|
|
61
|
+
}] }]; } });
|
|
62
62
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGFuY2UtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3BlcnNpc3RhbmNlLXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBRTVELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUM7QUFJN0MsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGtCQUF1QztJQVE1RTtJQUNBO0lBQ1k7SUFDQTtJQVRaLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztJQUM3QixXQUFXLENBQW9CO0lBRXpDLFlBQ0UsTUFBZSxFQUNmLE1BQXNCLEVBQ2QsU0FBbUIsRUFDbkIsV0FBK0IsRUFDbkIsVUFBaUMsRUFDakMsVUFBOEI7UUFFbEQsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUxkLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ25CLGVBQVUsR0FBVixVQUFVLENBQXVCO1FBQ2pDLGVBQVUsR0FBVixVQUFVLENBQW9CO0lBR3BELENBQUM7SUFFTSxJQUFJLENBQ1QsaUJBQXNDLEVBQ3RDLFNBQWlCLEVBQ2pCLFVBQTZCO1FBRTdCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBRTlCLFNBQVMsR0FBRyxTQUFTLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFbkUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sT0FBTztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUVELEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoQixNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTtZQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQjtTQUNuQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQ2hCLEtBQUssQ0FDTixDQUFDO1NBQ0g7SUFDSCxDQUFDO3dHQWhEVSwyQkFBMkI7NEdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVTs7MEJBV04sUUFBUTs7MEJBQ1IsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IGdldE5vcm1hbGl6ZWRQYXRoIH0gZnJvbSAnQGZpcmVzdGl0Y2gvY29tbW9uJztcbmltcG9ydCB7IERyYXdlclJlZiB9IGZyb20gJ0BmaXJlc3RpdGNoL2RyYXdlcic7XG5pbXBvcnQgeyBGc1BlcnNpc3RhbmNlU3RvcmUsIEZzU3RvcmUgfSBmcm9tICdAZmlyZXN0aXRjaC9zdG9yZSc7XG5cbmltcG9ydCB7IHJlc3RvcmVJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcmVzdG9yZS1pdGVtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlclBlcnNpc3RhbmNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZzRmlsdGVySXRlbXNTdG9yZSB9IGZyb20gJy4uL2l0ZW1zLXN0b3JlLnNlcnZpY2UnO1xuXG5jb25zdCBGSUxURVJfU1RPUkVfS0VZID0gJ2ZzLWZpbHRlci1wZXJzaXN0JztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVyc2lzdGFuY2VQYXJhbXNDb250cm9sbGVyIGV4dGVuZHMgRnNQZXJzaXN0YW5jZVN0b3JlPEZzRmlsdGVyUGVyc2lzdGFuY2U+IHtcblxuICBwcm90ZWN0ZWQgU1RPUkVfS0VZID0gRklMVEVSX1NUT1JFX0tFWTtcbiAgcHJvdGVjdGVkIF9wYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBfc3RvcmU6IEZzU3RvcmUsXG4gICAgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIF9sb2NhdGlvbjogTG9jYXRpb24sXG4gICAgcHJpdmF0ZSBfaXRlbXNTdG9yZTogRnNGaWx0ZXJJdGVtc1N0b3JlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPHVua25vd24+LFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RyYXdlclJlZjogRHJhd2VyUmVmPHVua25vd24+LFxuICApIHtcbiAgICBzdXBlcihfc3RvcmUsIF9yb3V0ZSk7XG4gIH1cblxuICBwdWJsaWMgaW5pdChcbiAgICBwZXJzaXN0YW5jZUNvbmZpZzogRnNGaWx0ZXJQZXJzaXN0YW5jZSxcbiAgICBuYW1lc3BhY2U6IHN0cmluZyxcbiAgICBwYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJyxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5fcGFyYW1zQ2FzZSA9IHBhcmFtc0Nhc2U7XG5cbiAgICBuYW1lc3BhY2UgPSBuYW1lc3BhY2UgPz8gZ2V0Tm9ybWFsaXplZFBhdGgodGhpcy5fbG9jYXRpb24pO1xuICAgIGNvbnN0IHBlcnNpc3RhbmNlRGlzYWJsZWQgPSAhIXRoaXMuX2RpYWxvZ1JlZiB8fCAhIXRoaXMuX2RyYXdlclJlZjtcblxuICAgIHRoaXMuc2V0Q29uZmlnKHBlcnNpc3RhbmNlQ29uZmlnLCBuYW1lc3BhY2UsIHBlcnNpc3RhbmNlRGlzYWJsZWQpO1xuICB9XG5cbiAgcHVibGljIHJlc3RvcmUoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBzdXBlci5yZXN0b3JlKCk7XG5cbiAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgIC4uLnRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnRCeUl0ZW0sXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnREaXJlY3Rpb25JdGVtLFxuICAgIF0uZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuXG4gICAgaWYgKHRoaXMuX3ZhbHVlKSB7XG4gICAgICB0aGlzLl92YWx1ZS5kYXRhID0gcmVzdG9yZUl0ZW1zKFxuICAgICAgICB0aGlzLl92YWx1ZS5kYXRhLFxuICAgICAgICBpdGVtcyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,66 +1,66 @@
|
|
|
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
|
-
_route;
|
|
10
|
-
_itemsStore;
|
|
11
|
-
_enabled = false;
|
|
12
|
-
_paramsCase;
|
|
13
|
-
_fetchedParams;
|
|
14
|
-
constructor(_route, _itemsStore) {
|
|
15
|
-
this._route = _route;
|
|
16
|
-
this._itemsStore = _itemsStore;
|
|
17
|
-
}
|
|
18
|
-
get enabled() {
|
|
19
|
-
return this._enabled;
|
|
20
|
-
}
|
|
21
|
-
get fetchedParams() {
|
|
22
|
-
return this._fetchedParams;
|
|
23
|
-
}
|
|
24
|
-
init(enabled, paramsCase) {
|
|
25
|
-
this._enabled = enabled;
|
|
26
|
-
this._paramsCase = paramsCase;
|
|
27
|
-
if (this.enabled) {
|
|
28
|
-
this.fetchFromQueryParams();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
writeStateToQueryParams(params) {
|
|
32
|
-
if (this._enabled) {
|
|
33
|
-
this._replaceState(params);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Parse query and update filter values
|
|
38
|
-
*/
|
|
39
|
-
fetchFromQueryParams() {
|
|
40
|
-
const items = [
|
|
41
|
-
...this._itemsStore.items,
|
|
42
|
-
this._itemsStore.sortByItem,
|
|
43
|
-
this._itemsStore.sortDirectionItem,
|
|
44
|
-
].filter((item) => !!item);
|
|
45
|
-
this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items);
|
|
46
|
-
}
|
|
47
|
-
_replaceState(data) {
|
|
48
|
-
const url = new URL(window.location.href);
|
|
49
|
-
Object.keys(data)
|
|
50
|
-
.forEach((name) => {
|
|
51
|
-
if (data[name] === undefined || data[name] === null) {
|
|
52
|
-
url.searchParams.delete(name);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
url.searchParams.set(name, data[name]);
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
history.replaceState({}, null, url.pathname + url.search);
|
|
59
|
-
}
|
|
60
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryParamsController, deps: [{ token: i1.ActivatedRoute }, { token: i2.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryParamsController });
|
|
62
|
-
}
|
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryParamsController, decorators: [{
|
|
64
|
-
type: Injectable
|
|
65
|
-
}], 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
|
+
_route;
|
|
10
|
+
_itemsStore;
|
|
11
|
+
_enabled = false;
|
|
12
|
+
_paramsCase;
|
|
13
|
+
_fetchedParams;
|
|
14
|
+
constructor(_route, _itemsStore) {
|
|
15
|
+
this._route = _route;
|
|
16
|
+
this._itemsStore = _itemsStore;
|
|
17
|
+
}
|
|
18
|
+
get enabled() {
|
|
19
|
+
return this._enabled;
|
|
20
|
+
}
|
|
21
|
+
get fetchedParams() {
|
|
22
|
+
return this._fetchedParams;
|
|
23
|
+
}
|
|
24
|
+
init(enabled, paramsCase) {
|
|
25
|
+
this._enabled = enabled;
|
|
26
|
+
this._paramsCase = paramsCase;
|
|
27
|
+
if (this.enabled) {
|
|
28
|
+
this.fetchFromQueryParams();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
writeStateToQueryParams(params) {
|
|
32
|
+
if (this._enabled) {
|
|
33
|
+
this._replaceState(params);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parse query and update filter values
|
|
38
|
+
*/
|
|
39
|
+
fetchFromQueryParams() {
|
|
40
|
+
const items = [
|
|
41
|
+
...this._itemsStore.items,
|
|
42
|
+
this._itemsStore.sortByItem,
|
|
43
|
+
this._itemsStore.sortDirectionItem,
|
|
44
|
+
].filter((item) => !!item);
|
|
45
|
+
this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items);
|
|
46
|
+
}
|
|
47
|
+
_replaceState(data) {
|
|
48
|
+
const url = new URL(window.location.href);
|
|
49
|
+
Object.keys(data)
|
|
50
|
+
.forEach((name) => {
|
|
51
|
+
if (data[name] === undefined || data[name] === null) {
|
|
52
|
+
url.searchParams.delete(name);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
url.searchParams.set(name, data[name]);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
history.replaceState({}, null, url.pathname + url.search);
|
|
59
|
+
}
|
|
60
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryParamsController, deps: [{ token: i1.ActivatedRoute }, { token: i2.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryParamsController });
|
|
62
|
+
}
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: QueryParamsController, decorators: [{
|
|
64
|
+
type: Injectable
|
|
65
|
+
}], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FsFilterItemsStore }]; } });
|
|
66
66
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3F1ZXJ5LXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSTVELE1BQU0sT0FBTyxxQkFBcUI7SUFPdEI7SUFDQTtJQU5GLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsV0FBVyxDQUFvQjtJQUMvQixjQUFjLENBQXNCO0lBRTVDLFlBQ1UsTUFBc0IsRUFDdEIsV0FBK0I7UUFEL0IsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO0lBQ3RDLENBQUM7SUFFSixJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFTSxJQUFJLENBQUMsT0FBZ0IsRUFBRSxVQUE2QjtRQUN6RCxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUU5QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU0sdUJBQXVCLENBQUMsTUFBTTtRQUNuQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRDs7T0FFRztJQUNJLG9CQUFvQjtRQUN6QixNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLO1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVTtZQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQjtTQUNuQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQ2hDLEtBQUssQ0FDTixDQUFDO0lBQ0osQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFJO1FBQ3hCLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFMUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNoQixJQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDbEQsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDL0I7aUJBQU07Z0JBQ0wsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ3ZDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFTCxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQzt3R0EvRFUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IHJlc3RvcmVJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcmVzdG9yZS1pdGVtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuLi9pdGVtcy1zdG9yZS5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUXVlcnlQYXJhbXNDb250cm9sbGVyIHtcblxuICBwcml2YXRlIF9lbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3BhcmFtc0Nhc2U6ICdzbmFrZScgfCAnY2FtZWwnO1xuICBwcml2YXRlIF9mZXRjaGVkUGFyYW1zOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3JvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIF9pdGVtc1N0b3JlOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICkge31cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZldGNoZWRQYXJhbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZldGNoZWRQYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgaW5pdChlbmFibGVkOiBib29sZWFuLCBwYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJykge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBlbmFibGVkO1xuICAgIHRoaXMuX3BhcmFtc0Nhc2UgPSBwYXJhbXNDYXNlO1xuXG4gICAgaWYgKHRoaXMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5mZXRjaEZyb21RdWVyeVBhcmFtcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVN0YXRlVG9RdWVyeVBhcmFtcyhwYXJhbXMpIHtcbiAgICBpZiAodGhpcy5fZW5hYmxlZCkgeyBcbiAgICAgIHRoaXMuX3JlcGxhY2VTdGF0ZShwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBxdWVyeSBhbmQgdXBkYXRlIGZpbHRlciB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBmZXRjaEZyb21RdWVyeVBhcmFtcygpIHtcbiAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgIC4uLnRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnRCeUl0ZW0sXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnREaXJlY3Rpb25JdGVtLFxuICAgIF0uZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuXG4gICAgdGhpcy5fZmV0Y2hlZFBhcmFtcyA9IHJlc3RvcmVJdGVtcyhcbiAgICAgIHRoaXMuX3JvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLFxuICAgICAgaXRlbXMsXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VTdGF0ZShkYXRhKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG5cbiAgICBPYmplY3Qua2V5cyhkYXRhKVxuICAgICAgLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgaWYoZGF0YVtuYW1lXSA9PT0gdW5kZWZpbmVkIHx8IGRhdGFbbmFtZV0gPT09IG51bGwpIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldChuYW1lLGRhdGFbbmFtZV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBudWxsLCB1cmwucGF0aG5hbWUgKyB1cmwuc2VhcmNoKTtcbiAgfVxufVxuIl19
|