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