@firestitch/filter 12.3.2 → 12.5.0
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 +38 -38
- package/app/components/action-button/action-button.component.d.ts +7 -7
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/app/components/actions/actions.component.d.ts +8 -8
- package/app/components/filter/filter.component.d.ts +192 -192
- 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 +8 -8
- 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 +13 -13
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +20 -20
- package/app/components/filters-item/base-item/base-item.component.d.ts +23 -23
- 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 +19 -19
- package/app/components/filters-item/date-range/date-range.component.d.ts +14 -14
- package/app/components/filters-item/filter-item.component.d.ts +15 -15
- 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 +14 -14
- package/app/components/filters-item/select/select.component.d.ts +16 -16
- 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-edit/saved-filter-edit.component.d.ts +18 -18
- package/app/components/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 +5 -5
- package/app/enums/action-mode.enum.d.ts +5 -5
- package/app/enums/action-type.enum.d.ts +7 -7
- package/app/enums/item-date-mode.enum.d.ts +5 -5
- package/app/enums/item-type.enum.d.ts +15 -15
- package/app/fs-filter.module.d.ts +64 -65
- 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 +13 -13
- 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/helpers/try-convert-to-number.d.ts +1 -1
- 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 +69 -69
- package/app/interfaces/config.interface.d.ts +61 -61
- package/app/interfaces/external-params.interface.d.ts +3 -3
- package/app/interfaces/filter.interface.d.ts +4 -4
- package/app/interfaces/items/autocomplete-chips.interface.d.ts +12 -12
- package/app/interfaces/items/autocomplete.interface.d.ts +6 -6
- package/app/interfaces/items/base.interface.d.ts +27 -27
- 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 +45 -45
- package/app/models/filter-config.d.ts +30 -30
- package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
- package/app/models/items/autocomplete-chips-item.d.ts +19 -19
- package/app/models/items/autocomplete-item.d.ts +10 -10
- package/app/models/items/base-item.d.ts +75 -75
- package/app/models/items/checkbox-item.d.ts +16 -16
- package/app/models/items/chips-item.d.ts +17 -17
- package/app/models/items/date/base-date-item.d.ts +14 -14
- package/app/models/items/date-item.d.ts +7 -7
- package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
- package/app/models/items/date-range-item.d.ts +5 -5
- package/app/models/items/date-time-item.d.ts +6 -6
- package/app/models/items/date-time-range-item.d.ts +5 -5
- package/app/models/items/range-item.d.ts +22 -22
- package/app/models/items/select/base-select-item.d.ts +13 -13
- package/app/models/items/select/multiple-select-item.d.ts +12 -12
- package/app/models/items/select/simple-select-item.d.ts +12 -12
- package/app/models/items/select-item.d.ts +7 -7
- package/app/models/items/text-item.d.ts +14 -14
- package/app/models/items/week-item.d.ts +17 -17
- 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 +44 -44
- package/app/services/filter-overlay.service.d.ts +34 -34
- package/app/services/focus-controller.service.d.ts +18 -18
- package/app/services/items-store.service.d.ts +65 -65
- package/bundles/firestitch-filter.umd.js +5343 -5346
- package/bundles/firestitch-filter.umd.js.map +1 -1
- package/esm2015/app/classes/actions-controller.js +122 -123
- package/esm2015/app/components/action-button/action-button.component.js +23 -25
- package/esm2015/app/components/action-kebab-actions/action-kebab-actions.component.js +22 -22
- package/esm2015/app/components/actions/actions.component.js +31 -31
- package/esm2015/app/components/filter/filter.component.js +617 -615
- package/esm2015/app/components/filter-chip/filter-chip.component.js +89 -91
- package/esm2015/app/components/filter-chip-content/filter-chip-content.component.js +83 -84
- package/esm2015/app/components/filter-chips/filter-chips.component.js +24 -24
- package/esm2015/app/components/filter-drawer/filter-drawer.component.js +73 -76
- package/esm2015/app/components/filter-drawer-actions/filter-drawer-actions.component.js +42 -43
- package/esm2015/app/components/filters-item/autocomplete/autocomplete.component.js +30 -30
- package/esm2015/app/components/filters-item/autocompletechips/autocompletechips.component.js +52 -52
- package/esm2015/app/components/filters-item/base-item/base-item.component.js +59 -59
- package/esm2015/app/components/filters-item/checkbox/checkbox.component.js +25 -25
- package/esm2015/app/components/filters-item/chips/chips.component.js +32 -32
- package/esm2015/app/components/filters-item/date/date.component.js +45 -45
- package/esm2015/app/components/filters-item/date-range/date-range.component.js +36 -36
- package/esm2015/app/components/filters-item/filter-item.component.js +47 -48
- package/esm2015/app/components/filters-item/range/range.component.js +49 -51
- package/esm2015/app/components/filters-item/select/backdrop/backdrop.component.js +16 -16
- package/esm2015/app/components/filters-item/select/groups/groups.component.js +32 -34
- package/esm2015/app/components/filters-item/select/multiple/multiple.component.js +59 -61
- package/esm2015/app/components/filters-item/select/select.component.js +44 -44
- package/esm2015/app/components/filters-item/select/simple/simple.component.js +45 -48
- package/esm2015/app/components/filters-item/text/text.component.js +54 -54
- package/esm2015/app/components/filters-item/week/week.component.js +28 -28
- package/esm2015/app/components/saved-filter-edit/saved-filter-edit.component.js +55 -55
- package/esm2015/app/components/saved-filters-menu/saved-filters-menu.component.js +55 -58
- package/esm2015/app/consts/query-param-delimiter.js +1 -1
- package/esm2015/app/directives/focus-to-item/focus-to-item.directive.js +125 -130
- package/esm2015/app/directives/status-bar/status-bar.directive.js +12 -12
- package/esm2015/app/enums/action-mode.enum.js +6 -6
- package/esm2015/app/enums/action-type.enum.js +8 -8
- package/esm2015/app/enums/item-date-mode.enum.js +6 -6
- package/esm2015/app/enums/item-type.enum.js +16 -16
- package/esm2015/app/fs-filter.module.js +235 -239
- package/esm2015/app/helpers/build-query-params.js +31 -31
- package/esm2015/app/helpers/compare.js +37 -37
- package/esm2015/app/helpers/create-filter-item.js +54 -54
- package/esm2015/app/helpers/find-value.js +12 -12
- package/esm2015/app/helpers/get-range-name.js +8 -8
- package/esm2015/app/helpers/parse-date.js +7 -7
- package/esm2015/app/helpers/parse-item-value-from-stored.js +81 -81
- package/esm2015/app/helpers/query-param-transformers.js +8 -8
- package/esm2015/app/helpers/restore-items.js +48 -48
- package/esm2015/app/helpers/try-convert-to-number.js +5 -5
- package/esm2015/app/injectors/filter-config.js +2 -2
- package/esm2015/app/injectors/filter-drawer-data.js +2 -2
- package/esm2015/app/injectors/filter-drawer-overlay.js +2 -2
- package/esm2015/app/interfaces/action.interface.js +1 -1
- package/esm2015/app/interfaces/config.interface.js +1 -1
- package/esm2015/app/interfaces/external-params.interface.js +1 -1
- package/esm2015/app/interfaces/filter.interface.js +1 -1
- package/esm2015/app/interfaces/items/autocomplete-chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/autocomplete.interface.js +1 -1
- package/esm2015/app/interfaces/items/base.interface.js +1 -1
- package/esm2015/app/interfaces/items/checkbox.interface.js +1 -1
- package/esm2015/app/interfaces/items/chips.interface.js +1 -1
- package/esm2015/app/interfaces/items/date-range.interface.js +1 -1
- package/esm2015/app/interfaces/items/date.interface.js +1 -1
- package/esm2015/app/interfaces/items/range.interface.js +1 -1
- package/esm2015/app/interfaces/items/select.interface.js +1 -1
- package/esm2015/app/interfaces/items/text.interface.js +1 -1
- package/esm2015/app/interfaces/items/week.interface.js +1 -1
- package/esm2015/app/interfaces/saved-filters.interface.js +1 -1
- package/esm2015/app/interfaces/update-filter-item.interface.js +1 -1
- package/esm2015/app/models/action-menu-item.model.js +66 -66
- package/esm2015/app/models/action.model.js +102 -102
- package/esm2015/app/models/filter-config.js +65 -65
- package/esm2015/app/models/items/autocomplete/base-autocomplete-item.js +13 -13
- package/esm2015/app/models/items/autocomplete-chips-item.js +61 -61
- package/esm2015/app/models/items/autocomplete-item.js +31 -31
- package/esm2015/app/models/items/base-item.js +233 -233
- package/esm2015/app/models/items/checkbox-item.js +47 -47
- package/esm2015/app/models/items/chips-item.js +83 -83
- package/esm2015/app/models/items/date/base-date-item.js +47 -47
- package/esm2015/app/models/items/date-item.js +18 -18
- package/esm2015/app/models/items/date-range/base-date-range-item.js +136 -136
- package/esm2015/app/models/items/date-range-item.js +6 -6
- package/esm2015/app/models/items/date-time-item.js +9 -9
- package/esm2015/app/models/items/date-time-range-item.js +6 -6
- package/esm2015/app/models/items/range-item.js +88 -88
- package/esm2015/app/models/items/select/base-select-item.js +33 -33
- package/esm2015/app/models/items/select/multiple-select-item.js +68 -68
- package/esm2015/app/models/items/select/simple-select-item.js +62 -62
- package/esm2015/app/models/items/select-item.js +12 -12
- package/esm2015/app/models/items/text-item.js +29 -29
- package/esm2015/app/models/items/week-item.js +96 -96
- package/esm2015/app/pipes/remove-isolate-value.pipe.js +22 -22
- package/esm2015/app/providers/filter-meta.js +9 -9
- package/esm2015/app/services/external-params/persistance-params-controller.service.js +52 -58
- package/esm2015/app/services/external-params/query-params-controller.service.js +55 -57
- package/esm2015/app/services/external-params/saved-filters-controller.service.js +163 -165
- package/esm2015/app/services/external-params-controller.service.js +161 -166
- package/esm2015/app/services/filter-overlay.service.js +115 -116
- package/esm2015/app/services/focus-controller.service.js +29 -29
- package/esm2015/app/services/items-store.service.js +323 -323
- package/esm2015/firestitch-filter.js +4 -4
- package/esm2015/public_api.js +36 -36
- package/fesm2015/firestitch-filter.js +4268 -4272
- package/fesm2015/firestitch-filter.js.map +1 -1
- package/firestitch-filter.d.ts +5 -5
- package/package.json +3 -2
- package/public_api.d.ts +40 -40
|
@@ -1,116 +1,115 @@
|
|
|
1
|
-
import { Inject, Injectable
|
|
2
|
-
import {
|
|
3
|
-
import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { filter, takeUntil } from 'rxjs/operators';
|
|
6
|
-
import { FILTER_DRAWER_DATA } from '../injectors/filter-drawer-data';
|
|
7
|
-
import { FilterDrawerComponent } from '../components/filter-drawer/filter-drawer.component';
|
|
8
|
-
import { FILTER_DRAWER_OVERLAY } from '../injectors/filter-drawer-overlay';
|
|
9
|
-
import { FS_FILTER_META } from '../providers/filter-meta';
|
|
10
|
-
import
|
|
11
|
-
import * as
|
|
12
|
-
import * as
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
22
|
-
this.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this._overlayRef
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
this._overlayRef
|
|
43
|
-
|
|
44
|
-
.
|
|
45
|
-
.
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
.
|
|
50
|
-
.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
.
|
|
55
|
-
.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
this.
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
this._destroy$.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const
|
|
74
|
-
const
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
[
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
this._filterMeta.openedFilters
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
this._filterMeta.openedFilters
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
.
|
|
101
|
-
.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
108
|
-
FsFilterOverlayService.ɵ
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}] }, { type: i1.Overlay }, { type: i2.FocusControllerService }]; } });
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW92ZXJsYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLW92ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM1RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFnQixNQUFNLDBCQUEwQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBSXBFLE1BQU0sT0FBTyxzQkFBc0I7SUFXakMsWUFDVSxTQUFtQixFQUNLLFdBQXlCLEVBQ2pELFFBQWlCLEVBQ2pCLGdCQUF3QztRQUh4QyxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ0ssZ0JBQVcsR0FBWCxXQUFXLENBQWM7UUFDakQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBYjNDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFD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QXNCO2tCQURsQyxVQUFVOzswQkFjTixNQUFNOzJCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIFBvcnRhbEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBGSUxURVJfRFJBV0VSX0RBVEEgfSBmcm9tICcuLi9pbmplY3RvcnMvZmlsdGVyLWRyYXdlci1kYXRhJztcbmltcG9ydCB7IEZpbHRlckRyYXdlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvZmlsdGVyLWRyYXdlci9maWx0ZXItZHJhd2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGSUxURVJfRFJBV0VSX09WRVJMQVkgfSBmcm9tICcuLi9pbmplY3RvcnMvZmlsdGVyLWRyYXdlci1vdmVybGF5JztcbmltcG9ydCB7IEZTX0ZJTFRFUl9NRVRBLCBGc0ZpbHRlck1ldGEgfSBmcm9tICcuLi9wcm92aWRlcnMvZmlsdGVyLW1ldGEnO1xuaW1wb3J0IHsgRm9jdXNDb250cm9sbGVyU2VydmljZSB9IGZyb20gJy4vZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJPdmVybGF5U2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHVibGljIGRldGFjaCQgPSBuZXcgU3ViamVjdCgpO1xuICBwdWJsaWMgYXR0YWNoJCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgcHJpdmF0ZSBfY2xlYXJGbjogRnVuY3Rpb247XG4gIHByaXZhdGUgX2RvbmVGbjogRnVuY3Rpb247XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuICBwcml2YXRlIF9vdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2luamVjdG9yOiBJbmplY3RvcixcbiAgICBASW5qZWN0KEZTX0ZJTFRFUl9NRVRBKSBwcml2YXRlIF9maWx0ZXJNZXRhOiBGc0ZpbHRlck1ldGEsXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9mb2N1c0NvbnRyb2xsZXI6IEZvY3VzQ29udHJvbGxlclNlcnZpY2UsXG4gICkge1xuICAgIHRoaXMuX29wZW5XaGVuQ2hpcENsaWNrZWQoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNPcGVuZWQoKSB7XG4gICAgcmV0dXJuICEhdGhpcy5fb3ZlcmxheVJlZjtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDbGVhckZuKGZuOiBGdW5jdGlvbikge1xuICAgIHRoaXMuX2NsZWFyRm4gPSBmblxuICB9XG5cbiAgcHVibGljIHNldERvbmVGbihmbjogRnVuY3Rpb24pIHtcbiAgICB0aGlzLl9kb25lRm4gPSBmblxuICB9XG5cbiAgcHVibGljIGNsb3NlKCkge1xuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgICAgdGhpcy5fb3ZlcmxheVJlZiA9IG51bGw7XG5cbiAgICAgIHRoaXMucmVtb3ZlRmlsdGVyQ2xhc3MoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3BlbigpIHtcbiAgICB0aGlzLl9vdmVybGF5UmVmID0gdGhpcy5fY3JlYXRlT3ZlcmxheSgpO1xuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5iYWNrZHJvcENsaWNrKClcbiAgICAucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICApXG4gICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5kZXRhY2htZW50cygpXG4gICAgLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kZXRhY2gkLm5leHQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNobWVudHMoKVxuICAgIC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgIClcbiAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuYXR0YWNoJC5uZXh0KCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEZpbHRlckNsYXNzKCk7XG5cbiAgICByZXR1cm4gdGhpcy5vcGVuUG9ydGFsUHJldmlldygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVPdmVybGF5KCkge1xuICAgIGNvbnN0IG92ZXJsYXlDb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdmcy1maWx0ZXItYmFja2Ryb3AnXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5jcmVhdGUob3ZlcmxheUNvbmZpZyk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5Qb3J0YWxQcmV2aWV3KCkge1xuICAgIGNvbnN0IGRhdGEgPSB7IGRvbmU6IHRoaXMuX2RvbmVGbiwgY2xlYXI6IHRoaXMuX2NsZWFyRm4gfTtcbiAgICBjb25zdCBpbmplY3RvciA9IHRoaXMuX2NyZWF0ZUluamVjdG9yKHRoaXMuX2luamVjdG9yLCBkYXRhLCB0aGlzLl9vdmVybGF5UmVmKTtcbiAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKEZpbHRlckRyYXdlckNvbXBvbmVudCwgdW5kZWZpbmVkLCBpbmplY3Rvcik7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2g8RmlsdGVyRHJhd2VyQ29tcG9uZW50Pihjb250YWluZXJQb3J0YWwpO1xuXG4gICAgcmV0dXJuIGNvbnRhaW5lclJlZi5pbnN0YW5jZTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUluamVjdG9yKHBhcmVudEluamVjdG9yLCBkYXRhLCBvdmVybGF5UmVmKSB7XG4gICAgY29uc3QgaW5qZWN0aW9uVG9rZW5zID0gbmV3IFdlYWtNYXA8YW55LCBhbnk+KFtcbiAgICAgIFtGSUxURVJfRFJBV0VSX0RBVEEsIGRhdGFdLFxuICAgICAgW0ZJTFRFUl9EUkFXRVJfT1ZFUkxBWSwgb3ZlcmxheVJlZl0sXG4gICAgXSk7XG5cbiAgICByZXR1cm4gbmV3IFBvcnRhbEluamVjdG9yKHBhcmVudEluamVjdG9yLCBpbmplY3Rpb25Ub2tlbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVGaWx0ZXJDbGFzcygpIHtcbiAgICB0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMtLTtcblxuICAgIGlmICh0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMgPT09IDApIHtcbiAgICAgIHdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5yZW1vdmUoJ2ZzLWZpbHRlci1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRGaWx0ZXJDbGFzcygpIHtcbiAgICB0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMrKztcblxuICAgIGlmICh0aGlzLl9maWx0ZXJNZXRhLm9wZW5lZEZpbHRlcnMgPT09IDEpIHtcbiAgICAgIHdpbmRvdy5kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ2ZzLWZpbHRlci1vcGVuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbldoZW5DaGlwQ2xpY2tlZCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c0NvbnRyb2xsZXIuZm9jdXNPbiRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoKHYpID0+ICEhdiksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XG4gICAgICAgICAgdGhpcy5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
1
|
+
import { Inject, Injectable } from '@angular/core';
|
|
2
|
+
import { OverlayConfig } from '@angular/cdk/overlay';
|
|
3
|
+
import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { filter, takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { FILTER_DRAWER_DATA } from '../injectors/filter-drawer-data';
|
|
7
|
+
import { FilterDrawerComponent } from '../components/filter-drawer/filter-drawer.component';
|
|
8
|
+
import { FILTER_DRAWER_OVERLAY } from '../injectors/filter-drawer-overlay';
|
|
9
|
+
import { FS_FILTER_META } from '../providers/filter-meta';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
12
|
+
import * as i2 from "./focus-controller.service";
|
|
13
|
+
export class FsFilterOverlayService {
|
|
14
|
+
constructor(_injector, _filterMeta, _overlay, _focusController) {
|
|
15
|
+
this._injector = _injector;
|
|
16
|
+
this._filterMeta = _filterMeta;
|
|
17
|
+
this._overlay = _overlay;
|
|
18
|
+
this._focusController = _focusController;
|
|
19
|
+
this.detach$ = new Subject();
|
|
20
|
+
this.attach$ = new Subject();
|
|
21
|
+
this._destroy$ = new Subject();
|
|
22
|
+
this._openWhenChipClicked();
|
|
23
|
+
}
|
|
24
|
+
get isOpened() {
|
|
25
|
+
return !!this._overlayRef;
|
|
26
|
+
}
|
|
27
|
+
setClearFn(fn) {
|
|
28
|
+
this._clearFn = fn;
|
|
29
|
+
}
|
|
30
|
+
setDoneFn(fn) {
|
|
31
|
+
this._doneFn = fn;
|
|
32
|
+
}
|
|
33
|
+
close() {
|
|
34
|
+
if (this._overlayRef) {
|
|
35
|
+
this._overlayRef.detach();
|
|
36
|
+
this._overlayRef = null;
|
|
37
|
+
this.removeFilterClass();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
open() {
|
|
41
|
+
this._overlayRef = this._createOverlay();
|
|
42
|
+
this._overlayRef.backdropClick()
|
|
43
|
+
.pipe(takeUntil(this._destroy$))
|
|
44
|
+
.subscribe(() => {
|
|
45
|
+
this._overlayRef.detach();
|
|
46
|
+
});
|
|
47
|
+
this._overlayRef.detachments()
|
|
48
|
+
.pipe(takeUntil(this._destroy$))
|
|
49
|
+
.subscribe(() => {
|
|
50
|
+
this.detach$.next();
|
|
51
|
+
});
|
|
52
|
+
this._overlayRef.attachments()
|
|
53
|
+
.pipe(takeUntil(this._destroy$))
|
|
54
|
+
.subscribe(() => {
|
|
55
|
+
this.attach$.next();
|
|
56
|
+
});
|
|
57
|
+
this.addFilterClass();
|
|
58
|
+
return this.openPortalPreview();
|
|
59
|
+
}
|
|
60
|
+
ngOnDestroy() {
|
|
61
|
+
this._destroy$.next();
|
|
62
|
+
this._destroy$.complete();
|
|
63
|
+
}
|
|
64
|
+
_createOverlay() {
|
|
65
|
+
const overlayConfig = new OverlayConfig({
|
|
66
|
+
hasBackdrop: true,
|
|
67
|
+
backdropClass: 'fs-filter-backdrop'
|
|
68
|
+
});
|
|
69
|
+
return this._overlay.create(overlayConfig);
|
|
70
|
+
}
|
|
71
|
+
openPortalPreview() {
|
|
72
|
+
const data = { done: this._doneFn, clear: this._clearFn };
|
|
73
|
+
const injector = this._createInjector(this._injector, data, this._overlayRef);
|
|
74
|
+
const containerPortal = new ComponentPortal(FilterDrawerComponent, undefined, injector);
|
|
75
|
+
const containerRef = this._overlayRef.attach(containerPortal);
|
|
76
|
+
return containerRef.instance;
|
|
77
|
+
}
|
|
78
|
+
_createInjector(parentInjector, data, overlayRef) {
|
|
79
|
+
const injectionTokens = new WeakMap([
|
|
80
|
+
[FILTER_DRAWER_DATA, data],
|
|
81
|
+
[FILTER_DRAWER_OVERLAY, overlayRef],
|
|
82
|
+
]);
|
|
83
|
+
return new PortalInjector(parentInjector, injectionTokens);
|
|
84
|
+
}
|
|
85
|
+
removeFilterClass() {
|
|
86
|
+
this._filterMeta.openedFilters--;
|
|
87
|
+
if (this._filterMeta.openedFilters === 0) {
|
|
88
|
+
window.document.body.classList.remove('fs-filter-open');
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
addFilterClass() {
|
|
92
|
+
this._filterMeta.openedFilters++;
|
|
93
|
+
if (this._filterMeta.openedFilters === 1) {
|
|
94
|
+
window.document.body.classList.add('fs-filter-open');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
_openWhenChipClicked() {
|
|
98
|
+
this._focusController.focusOn$
|
|
99
|
+
.pipe(filter((v) => !!v), takeUntil(this._destroy$))
|
|
100
|
+
.subscribe(() => {
|
|
101
|
+
if (!this.isOpened) {
|
|
102
|
+
this.open();
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
FsFilterOverlayService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterOverlayService, deps: [{ token: i0.Injector }, { token: FS_FILTER_META }, { token: i1.Overlay }, { token: i2.FocusControllerService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
108
|
+
FsFilterOverlayService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterOverlayService });
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterOverlayService, decorators: [{
|
|
110
|
+
type: Injectable
|
|
111
|
+
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: undefined, decorators: [{
|
|
112
|
+
type: Inject,
|
|
113
|
+
args: [FS_FILTER_META]
|
|
114
|
+
}] }, { type: i1.Overlay }, { type: i2.FocusControllerService }]; } });
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW92ZXJsYXkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZmlsdGVyLW92ZXJsYXkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxjQUFjLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFLeEUsTUFBTSxPQUFPLHNCQUFzQjtJQVdqQyxZQUNVLFNBQW1CLEVBQ0ssV0FBeUIsRUFDakQsUUFBaUIsRUFDakIsZ0JBQXdDO1FBSHhDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDSyxnQkFBVyxHQUFYLFdBQVcsQ0FBYztRQUNqRCxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFiM0MsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDeEIsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFLdkIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFTaEMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7SUFFTSxVQUFVLENBQUMsRUFBWTtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQTtJQUNwQixDQUFDO0lBRU0sU0FBUyxDQUFDLEVBQVk7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUV4QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUU7YUFDL0IsSUFBSSxDQUNILFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTthQUM3QixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFO2FBQzdCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXRCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDdEMsV0FBVyxFQUFFLElBQUk7WUFDakIsYUFBYSxFQUFFLG9CQUFvQjtTQUNwQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsTUFBTSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzFELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlFLE1BQU0sZUFBZSxHQUFHLElBQUksZUFBZSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN4RixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBd0IsZUFBZSxDQUFDLENBQUM7UUFFckYsT0FBTyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQy9CLENBQUM7SUFFTyxlQUFlLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxVQUFVO1FBQ3RELE1BQU0sZUFBZSxHQUFHLElBQUksT0FBTyxDQUFXO1lBQzVDLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDO1lBQzFCLENBQUMscUJBQXFCLEVBQUUsVUFBVSxDQUFDO1NBQ3BDLENBQUMsQ0FBQztRQUVILE9BQU8sSUFBSSxjQUFjLENBQUMsY0FBYyxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVqQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxLQUFLLENBQUMsRUFBRTtZQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDekQ7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRWpDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUN0RDtJQUNILENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVE7YUFDM0IsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNsQixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7O29IQXBJVSxzQkFBc0IsMENBYXZCLGNBQWM7d0hBYmIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVU7OzBCQWNOLE1BQU07MkJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfREFUQSB9IGZyb20gJy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLWRhdGEnO1xuaW1wb3J0IHsgRmlsdGVyRHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9maWx0ZXItZHJhd2VyL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfT1ZFUkxBWSB9IGZyb20gJy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLW92ZXJsYXknO1xuaW1wb3J0IHsgRlNfRklMVEVSX01FVEEsIEZzRmlsdGVyTWV0YSB9IGZyb20gJy4uL3Byb3ZpZGVycy9maWx0ZXItbWV0YSc7XG5pbXBvcnQgeyBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlck92ZXJsYXlTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwdWJsaWMgZGV0YWNoJCA9IG5ldyBTdWJqZWN0KCk7XG4gIHB1YmxpYyBhdHRhY2gkID0gbmV3IFN1YmplY3QoKTtcblxuICBwcml2YXRlIF9jbGVhckZuOiBGdW5jdGlvbjtcbiAgcHJpdmF0ZSBfZG9uZUZuOiBGdW5jdGlvbjtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG4gIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIEBJbmplY3QoRlNfRklMVEVSX01FVEEpIHByaXZhdGUgX2ZpbHRlck1ldGE6IEZzRmlsdGVyTWV0YSxcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgX2ZvY3VzQ29udHJvbGxlcjogRm9jdXNDb250cm9sbGVyU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy5fb3BlbldoZW5DaGlwQ2xpY2tlZCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpc09wZW5lZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLl9vdmVybGF5UmVmO1xuICB9XG5cbiAgcHVibGljIHNldENsZWFyRm4oZm46IEZ1bmN0aW9uKSB7XG4gICAgdGhpcy5fY2xlYXJGbiA9IGZuXG4gIH1cblxuICBwdWJsaWMgc2V0RG9uZUZuKGZuOiBGdW5jdGlvbikge1xuICAgIHRoaXMuX2RvbmVGbiA9IGZuXG4gIH1cblxuICBwdWJsaWMgY2xvc2UoKSB7XG4gICAgaWYgKHRoaXMuX292ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgICB0aGlzLl9vdmVybGF5UmVmID0gbnVsbDtcblxuICAgICAgdGhpcy5yZW1vdmVGaWx0ZXJDbGFzcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvcGVuKCkge1xuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5KCk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKVxuICAgIC5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKVxuICAgIClcbiAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGV0YWNoKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaG1lbnRzKClcbiAgICAucGlwZShcbiAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JClcbiAgICApXG4gICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmRldGFjaCQubmV4dCgpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5fb3ZlcmxheVJlZi5hdHRhY2htZW50cygpXG4gICAgLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpXG4gICAgKVxuICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5hdHRhY2gkLm5leHQoKTtcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRmlsdGVyQ2xhc3MoKTtcblxuICAgIHJldHVybiB0aGlzLm9wZW5Qb3J0YWxQcmV2aWV3KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZU92ZXJsYXkoKSB7XG4gICAgY29uc3Qgb3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgYmFja2Ryb3BDbGFzczogJ2ZzLWZpbHRlci1iYWNrZHJvcCdcbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLl9vdmVybGF5LmNyZWF0ZShvdmVybGF5Q29uZmlnKTtcbiAgfVxuXG4gIHByaXZhdGUgb3BlblBvcnRhbFByZXZpZXcoKSB7XG4gICAgY29uc3QgZGF0YSA9IHsgZG9uZTogdGhpcy5fZG9uZUZuLCBjbGVhcjogdGhpcy5fY2xlYXJGbiB9O1xuICAgIGNvbnN0IGluamVjdG9yID0gdGhpcy5fY3JlYXRlSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIGRhdGEsIHRoaXMuX292ZXJsYXlSZWYpO1xuICAgIGNvbnN0IGNvbnRhaW5lclBvcnRhbCA9IG5ldyBDb21wb25lbnRQb3J0YWwoRmlsdGVyRHJhd2VyQ29tcG9uZW50LCB1bmRlZmluZWQsIGluamVjdG9yKTtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB0aGlzLl9vdmVybGF5UmVmLmF0dGFjaDxGaWx0ZXJEcmF3ZXJDb21wb25lbnQ+KGNvbnRhaW5lclBvcnRhbCk7XG5cbiAgICByZXR1cm4gY29udGFpbmVyUmVmLmluc3RhbmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IocGFyZW50SW5qZWN0b3IsIGRhdGEsIG92ZXJsYXlSZWYpIHtcbiAgICBjb25zdCBpbmplY3Rpb25Ub2tlbnMgPSBuZXcgV2Vha01hcDxhbnksIGFueT4oW1xuICAgICAgW0ZJTFRFUl9EUkFXRVJfREFUQSwgZGF0YV0sXG4gICAgICBbRklMVEVSX0RSQVdFUl9PVkVSTEFZLCBvdmVybGF5UmVmXSxcbiAgICBdKTtcblxuICAgIHJldHVybiBuZXcgUG9ydGFsSW5qZWN0b3IocGFyZW50SW5qZWN0b3IsIGluamVjdGlvblRva2Vucyk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUZpbHRlckNsYXNzKCkge1xuICAgIHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycy0tO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycyA9PT0gMCkge1xuICAgICAgd2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnJlbW92ZSgnZnMtZmlsdGVyLW9wZW4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEZpbHRlckNsYXNzKCkge1xuICAgIHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycysrO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlck1ldGEub3BlbmVkRmlsdGVycyA9PT0gMSkge1xuICAgICAgd2luZG93LmRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmFkZCgnZnMtZmlsdGVyLW9wZW4nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vcGVuV2hlbkNoaXBDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzQ29udHJvbGxlci5mb2N1c09uJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigodikgPT4gISF2KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcbiAgICAgICAgICB0aGlzLm9wZW4oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import { filter, tap } from 'rxjs/operators';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class FocusControllerService {
|
|
6
|
-
constructor() {
|
|
7
|
-
this._focusOn = new BehaviorSubject(null);
|
|
8
|
-
}
|
|
9
|
-
get focusOn$() {
|
|
10
|
-
return this._focusOn.asObservable();
|
|
11
|
-
}
|
|
12
|
-
click(item, type = null) {
|
|
13
|
-
this._focusOn.next({ item, type });
|
|
14
|
-
}
|
|
15
|
-
listenFocusFor$(targetItem, targetType = null) {
|
|
16
|
-
return this._focusOn
|
|
17
|
-
.pipe(filter((event) => !!event), filter(({ item, type }) => {
|
|
18
|
-
return targetItem === item && targetType === type;
|
|
19
|
-
}), tap(() => this.clearFocus()));
|
|
20
|
-
}
|
|
21
|
-
clearFocus() {
|
|
22
|
-
this._focusOn.next(null);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
FocusControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FocusControllerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
-
FocusControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FocusControllerService });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FocusControllerService, decorators: [{
|
|
28
|
-
type: Injectable
|
|
29
|
-
}], ctorParameters: function () { return []; } });
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import { filter, tap } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class FocusControllerService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this._focusOn = new BehaviorSubject(null);
|
|
8
|
+
}
|
|
9
|
+
get focusOn$() {
|
|
10
|
+
return this._focusOn.asObservable();
|
|
11
|
+
}
|
|
12
|
+
click(item, type = null) {
|
|
13
|
+
this._focusOn.next({ item, type });
|
|
14
|
+
}
|
|
15
|
+
listenFocusFor$(targetItem, targetType = null) {
|
|
16
|
+
return this._focusOn
|
|
17
|
+
.pipe(filter((event) => !!event), filter(({ item, type }) => {
|
|
18
|
+
return targetItem === item && targetType === type;
|
|
19
|
+
}), tap(() => this.clearFocus()));
|
|
20
|
+
}
|
|
21
|
+
clearFocus() {
|
|
22
|
+
this._focusOn.next(null);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
FocusControllerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FocusControllerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
26
|
+
FocusControllerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FocusControllerService });
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FocusControllerService, decorators: [{
|
|
28
|
+
type: Injectable
|
|
29
|
+
}], ctorParameters: function () { return []; } });
|
|
30
30
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTTdDLE1BQU0sT0FBTyxzQkFBc0I7SUFJakM7UUFGUSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQThDLElBQUksQ0FBQyxDQUFDO0lBRTNFLENBQUM7SUFFaEIsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQW1CLEVBQUUsT0FBc0IsSUFBSTtRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO0lBQ3BDLENBQUM7SUFFTSxlQUFlLENBQUMsVUFBeUIsRUFBRSxhQUE0QixJQUFJO1FBQ2hGLE9BQU8sSUFBSSxDQUFDLFFBQVE7YUFDakIsSUFBSSxDQUNILE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUMxQixNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3hCLE9BQU8sVUFBVSxLQUFLLElBQUksSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FDN0IsQ0FBQTtJQUNMLENBQUM7SUFFTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzs7b0hBM0JVLHNCQUFzQjt3SEFBdEIsc0JBQXNCOzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIF9mb2N1c09uID0gbmV3IEJlaGF2aW9yU3ViamVjdDx7IGl0ZW06IEJhc2VJdGVtPGFueT4sIHR5cGU6ICdmcm9tJyB8ICd0byd9PihudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgcHVibGljIGdldCBmb2N1c09uJCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPbi5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGljayhpdGVtOiBCYXNlSXRlbTxhbnk+LCB0eXBlOiAnZnJvbScgfCAndG8nID0gbnVsbCkge1xuICAgIHRoaXMuX2ZvY3VzT24ubmV4dCh7IGl0ZW0sIHR5cGUgfSlcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5Gb2N1c0ZvciQodGFyZ2V0SXRlbTogQmFzZUl0ZW08YW55PiwgdGFyZ2V0VHlwZTogJ2Zyb20nIHwgJ3RvJyA9IG51bGwpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9jdXNPblxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+ICEhZXZlbnQpLFxuICAgICAgICBmaWx0ZXIoKHsgaXRlbSwgdHlwZSB9KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRhcmdldEl0ZW0gPT09IGl0ZW0gJiYgdGFyZ2V0VHlwZSA9PT0gdHlwZTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLmNsZWFyRm9jdXMoKSksXG4gICAgICApXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGb2N1cygpIHtcbiAgICB0aGlzLl9mb2N1c09uLm5leHQobnVsbCk7XG4gIH1cbn1cbiJdfQ==
|