@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
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
|
+
import { combineLatest, Subject, timer } from 'rxjs';
|
|
3
|
+
import { distinctUntilChanged, map, mapTo, startWith, take, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { BaseItem } from '../../models/items/base-item';
|
|
5
|
+
import { DateRangeItem } from '../../models/items/date-range-item';
|
|
6
|
+
import { DateTimeRangeItem } from '../../models/items/date-time-range-item';
|
|
7
|
+
import { RangeItem } from '../../models/items/range-item';
|
|
8
|
+
import { FocusControllerService } from '../../services/focus-controller.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "../../services/focus-controller.service";
|
|
11
|
+
import * as i2 from "@firestitch/chip";
|
|
12
|
+
import * as i3 from "../filter-chip-content/filter-chip-content.component";
|
|
13
|
+
import * as i4 from "@angular/common";
|
|
14
|
+
export class FsFilterChipComponent {
|
|
15
|
+
constructor(_cdRef, _focusController) {
|
|
16
|
+
this._cdRef = _cdRef;
|
|
17
|
+
this._focusController = _focusController;
|
|
18
|
+
this._chipRenderTimer$ = timer(500)
|
|
19
|
+
.pipe(mapTo(true));
|
|
20
|
+
this._destroy$ = new Subject();
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
this.rangeItem = this.item.isTypeDateRange
|
|
24
|
+
|| this.item.isTypeRange
|
|
25
|
+
|| this.item.isTypeDateTimeRange;
|
|
26
|
+
this.listenValueChangesForRanges();
|
|
27
|
+
this._updateVisibility();
|
|
28
|
+
if (this.item.hasPendingValues) {
|
|
29
|
+
this.item.loadAsyncValues(false);
|
|
30
|
+
this.item.values$
|
|
31
|
+
.pipe(take(2), takeUntil(this._destroy$))
|
|
32
|
+
.subscribe(() => {
|
|
33
|
+
this._updateVisibility();
|
|
34
|
+
this._cdRef.markForCheck();
|
|
35
|
+
});
|
|
36
|
+
this._initDelayRender();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
ngOnDestroy() {
|
|
40
|
+
this._destroy$.next();
|
|
41
|
+
this._destroy$.complete();
|
|
42
|
+
}
|
|
43
|
+
focusOnItem(type = null) {
|
|
44
|
+
this._focusController.click(this.item, type);
|
|
45
|
+
}
|
|
46
|
+
removeItem(event, type = null) {
|
|
47
|
+
if (this.item instanceof RangeItem) {
|
|
48
|
+
this.item.clearRange(type);
|
|
49
|
+
}
|
|
50
|
+
else if (this.item instanceof DateRangeItem || this.item instanceof DateTimeRangeItem) {
|
|
51
|
+
this.item.clearDateRange(type);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
this.item.clear();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
listenValueChangesForRanges() {
|
|
58
|
+
this.item.value$
|
|
59
|
+
.pipe(distinctUntilChanged(), takeUntil(this._destroy$))
|
|
60
|
+
.subscribe(() => {
|
|
61
|
+
this._updateVisibility();
|
|
62
|
+
this._cdRef.markForCheck();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
_updateVisibility() {
|
|
66
|
+
this.itemVisible = this.item.isChipVisible;
|
|
67
|
+
}
|
|
68
|
+
_initDelayRender() {
|
|
69
|
+
this.chipDelayedRender$ = combineLatest([
|
|
70
|
+
this.item.values$,
|
|
71
|
+
this._chipRenderTimer$.pipe(startWith(false)),
|
|
72
|
+
])
|
|
73
|
+
.pipe(map(([values, timerValue]) => {
|
|
74
|
+
return !!values || timerValue;
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
FsFilterChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterChipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FocusControllerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
FsFilterChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterChipComponent, selector: "fs-filter-chip", inputs: { item: "item" }, ngImport: i0, template: "<ng-container *ngIf=\"!item.hasPendingValues || (chipDelayedRender$ | async)\">\n <ng-container *ngIf=\"rangeItem; else defaultChip\">\n <fs-chip\n *ngIf=\"item.model?.min || item.model?.from\"\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n (click)=\"focusOnItem('from')\"\n (removed)=\"removeItem($event, 'from')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'from' }\"\n ></ng-template>\n </fs-chip>\n\n <fs-chip\n *ngIf=\"item.model?.max || item.model?.to\"\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n (click)=\"focusOnItem('to')\"\n (removed)=\"removeItem($event, 'to')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'to' }\"\n ></ng-template>\n </fs-chip>\n\n </ng-container>\n\n <ng-template #defaultChip>\n <fs-chip\n *ngIf=\"itemVisible\"\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n (click)=\"focusOnItem()\"\n (removed)=\"removeItem($event)\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fs-chip>\n </ng-template>\n\n <ng-template #chipContent let-item=\"item\" let-type=\"type\">\n <ng-container *ngIf=\"!item.hasPendingValues && !item.loading; else lodaingValues\">\n <fs-filter-chip-content [item]=\"item\" [type]=\"type\"></fs-filter-chip-content>\n </ng-container>\n\n <ng-template #lodaingValues>\n Loading...\n </ng-template>\n </ng-template>\n</ng-container>\n\n", styles: ["fs-chip{cursor:pointer;color:#6f6f6f}\n"], components: [{ type: i2.FsChipComponent, selector: "fs-chip", inputs: ["size", "value", "backgroundColor", "borderColor", "color", "outlined", "removable", "selectable", "selected", "image"], outputs: ["selectedToggled", "removed"] }, { type: i3.FsFilterChipContentComponent, selector: "fs-filter-chip-content", inputs: ["item", "type"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterChipComponent, decorators: [{
|
|
81
|
+
type: Component,
|
|
82
|
+
args: [{ selector: 'fs-filter-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"!item.hasPendingValues || (chipDelayedRender$ | async)\">\n <ng-container *ngIf=\"rangeItem; else defaultChip\">\n <fs-chip\n *ngIf=\"item.model?.min || item.model?.from\"\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n (click)=\"focusOnItem('from')\"\n (removed)=\"removeItem($event, 'from')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'from' }\"\n ></ng-template>\n </fs-chip>\n\n <fs-chip\n *ngIf=\"item.model?.max || item.model?.to\"\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n (click)=\"focusOnItem('to')\"\n (removed)=\"removeItem($event, 'to')\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item, type: 'to' }\"\n ></ng-template>\n </fs-chip>\n\n </ng-container>\n\n <ng-template #defaultChip>\n <fs-chip\n *ngIf=\"itemVisible\"\n [value]=\"item\"\n [selectable]=\"false\"\n [removable]=\"item.showClear\"\n size=\"small\"\n (click)=\"focusOnItem()\"\n (removed)=\"removeItem($event)\">\n <ng-template\n [ngTemplateOutlet]=\"chipContent\"\n [ngTemplateOutletContext]=\"{ item: item }\"\n ></ng-template>\n </fs-chip>\n </ng-template>\n\n <ng-template #chipContent let-item=\"item\" let-type=\"type\">\n <ng-container *ngIf=\"!item.hasPendingValues && !item.loading; else lodaingValues\">\n <fs-filter-chip-content [item]=\"item\" [type]=\"type\"></fs-filter-chip-content>\n </ng-container>\n\n <ng-template #lodaingValues>\n Loading...\n </ng-template>\n </ng-template>\n</ng-container>\n\n", styles: ["fs-chip{cursor:pointer;color:#6f6f6f}\n"] }]
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FocusControllerService }]; }, propDecorators: { item: [{
|
|
84
|
+
type: Input
|
|
85
|
+
}] } });
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlci1jaGlwL2ZpbHRlci1jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC9maWx0ZXItY2hpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVNqRixNQUFNLE9BQU8scUJBQXFCO0lBZ0JoQyxZQUNVLE1BQXlCLEVBQ3pCLGdCQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBVDFDLHNCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDbkMsSUFBSSxDQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDWixDQUFDO1FBRUksY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtlQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7ZUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUVuQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFakMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2lCQUNkLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUk7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBaUIsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUM5QyxJQUFJLElBQUksQ0FBQyxJQUFJLFlBQVksU0FBUyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLGlCQUFpQixFQUFFO1lBQ3ZGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDLENBQUM7YUFDQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOztrSEE1RlUscUJBQXFCO3NHQUFyQixxQkFBcUIsZ0ZDeEJsQywyekRBMkRBOzJGRG5DYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07NklBSS9CLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG1hcFRvLCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0l0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB7IERhdGVUaW1lUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1yYW5nZS1pdGVtJztcbmltcG9ydCB7IFJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9yYW5nZS1pdGVtJztcbmltcG9ydCB7IEZvY3VzQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1jaGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVyQ2hpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+O1xuXG4gIHB1YmxpYyBpdGVtVmlzaWJsZTogYm9vbGVhbjtcbiAgcHVibGljIHJhbmdlSXRlbTogYm9vbGVhbjtcblxuICBwdWJsaWMgY2hpcERlbGF5ZWRSZW5kZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgX2NoaXBSZW5kZXJUaW1lciQgPSB0aW1lcig1MDApXG4gICAgLnBpcGUoXG4gICAgICBtYXBUbyh0cnVlKSxcbiAgICApO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZm9jdXNDb250cm9sbGVyOiBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJhbmdlSXRlbSA9IHRoaXMuaXRlbS5pc1R5cGVEYXRlUmFuZ2VcbiAgICAgIHx8IHRoaXMuaXRlbS5pc1R5cGVSYW5nZVxuICAgICAgfHwgdGhpcy5pdGVtLmlzVHlwZURhdGVUaW1lUmFuZ2U7XG5cbiAgICB0aGlzLmxpc3RlblZhbHVlQ2hhbmdlc0ZvclJhbmdlcygpO1xuICAgIHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKTtcblxuICAgIGlmICh0aGlzLml0ZW0uaGFzUGVuZGluZ1ZhbHVlcykge1xuICAgICAgdGhpcy5pdGVtLmxvYWRBc3luY1ZhbHVlcyhmYWxzZSk7XG5cbiAgICAgIHRoaXMuaXRlbS52YWx1ZXMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2UoMiksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCk7XG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9pbml0RGVsYXlSZW5kZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNPbkl0ZW0odHlwZSA9IG51bGwpIHtcbiAgICB0aGlzLl9mb2N1c0NvbnRyb2xsZXIuY2xpY2sodGhpcy5pdGVtLCB0eXBlKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGV2ZW50OiBNb3VzZUV2ZW50LCB0eXBlID0gbnVsbCkge1xuICAgIGlmICh0aGlzLml0ZW0gaW5zdGFuY2VvZiBSYW5nZUl0ZW0pIHtcbiAgICAgIHRoaXMuaXRlbS5jbGVhclJhbmdlKHR5cGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtIGluc3RhbmNlb2YgRGF0ZVJhbmdlSXRlbSB8fCB0aGlzLml0ZW0gaW5zdGFuY2VvZiBEYXRlVGltZVJhbmdlSXRlbSkge1xuICAgICAgdGhpcy5pdGVtLmNsZWFyRGF0ZVJhbmdlKHR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLml0ZW0uY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuVmFsdWVDaGFuZ2VzRm9yUmFuZ2VzKCkge1xuICAgIHRoaXMuaXRlbS52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKTtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZpc2liaWxpdHkoKSB7XG4gICAgdGhpcy5pdGVtVmlzaWJsZSA9IHRoaXMuaXRlbS5pc0NoaXBWaXNpYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdERlbGF5UmVuZGVyKCkge1xuICAgIHRoaXMuY2hpcERlbGF5ZWRSZW5kZXIkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLml0ZW0udmFsdWVzJCxcbiAgICAgIHRoaXMuX2NoaXBSZW5kZXJUaW1lciQucGlwZShzdGFydFdpdGgoZmFsc2UpKSxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW3ZhbHVlcywgdGltZXJWYWx1ZV0pID0+IHtcbiAgICAgICAgICByZXR1cm4gISF2YWx1ZXMgfHwgdGltZXJWYWx1ZTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGFzUGVuZGluZ1ZhbHVlcyB8fCAoY2hpcERlbGF5ZWRSZW5kZXIkIHwgYXN5bmMpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJyYW5nZUl0ZW07IGVsc2UgZGVmYXVsdENoaXBcIj5cbiAgICA8ZnMtY2hpcFxuICAgICAgKm5nSWY9XCJpdGVtLm1vZGVsPy5taW4gfHwgaXRlbS5tb2RlbD8uZnJvbVwiXG4gICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICBbcmVtb3ZhYmxlXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAoY2xpY2spPVwiZm9jdXNPbkl0ZW0oJ2Zyb20nKVwiXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVJdGVtKCRldmVudCwgJ2Zyb20nKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaXBDb250ZW50XCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgdHlwZTogJ2Zyb20nIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1jaGlwPlxuXG4gICAgPGZzLWNoaXBcbiAgICAgICpuZ0lmPVwiaXRlbS5tb2RlbD8ubWF4IHx8IGl0ZW0ubW9kZWw/LnRvXCJcbiAgICAgIFt2YWx1ZV09XCJpdGVtXCJcbiAgICAgIFtzZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgIFtyZW1vdmFibGVdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgIChjbGljayk9XCJmb2N1c09uSXRlbSgndG8nKVwiXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVJdGVtKCRldmVudCwgJ3RvJylcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwQ29udGVudFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIHR5cGU6ICd0bycgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZzLWNoaXA+XG5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2hpcD5cbiAgICA8ZnMtY2hpcFxuICAgICAgKm5nSWY9XCJpdGVtVmlzaWJsZVwiXG4gICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICBbcmVtb3ZhYmxlXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAoY2xpY2spPVwiZm9jdXNPbkl0ZW0oKVwiXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVJdGVtKCRldmVudClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwQ29udGVudFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZzLWNoaXA+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNjaGlwQ29udGVudCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtdHlwZT1cInR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGFzUGVuZGluZ1ZhbHVlcyAmJiAhaXRlbS5sb2FkaW5nOyBlbHNlIGxvZGFpbmdWYWx1ZXNcIj5cbiAgICAgIDxmcy1maWx0ZXItY2hpcC1jb250ZW50IFtpdGVtXT1cIml0ZW1cIiBbdHlwZV09XCJ0eXBlXCI+PC9mcy1maWx0ZXItY2hpcC1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNsb2RhaW5nVmFsdWVzPlxuICAgICAgTG9hZGluZy4uLlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuIl19
|
|
@@ -1,84 +1,79 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { BaseItem } from '../../models/items/base-item';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class FsFilterChipContentComponent {
|
|
7
|
-
constructor(_cdRef) {
|
|
8
|
-
this._cdRef = _cdRef;
|
|
9
|
-
this._destroy$ = new Subject();
|
|
10
|
-
}
|
|
11
|
-
ngOnInit() {
|
|
12
|
-
this.listenValueChangesForRanges();
|
|
13
|
-
}
|
|
14
|
-
ngOnDestroy() {
|
|
15
|
-
this._destroy$.next();
|
|
16
|
-
this._destroy$.complete();
|
|
17
|
-
}
|
|
18
|
-
listenValueChangesForRanges() {
|
|
19
|
-
this.item.value$
|
|
20
|
-
.pipe(takeUntil(this._destroy$))
|
|
21
|
-
.subscribe(() => {
|
|
22
|
-
this.content = this._getContent();
|
|
23
|
-
this._cdRef.detectChanges();
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
_getContent() {
|
|
27
|
-
const result = this.item.getChipsContent(this.type);
|
|
28
|
-
if (this.item.chipLabel !== undefined) {
|
|
29
|
-
if (this.item.chipLabel === '') {
|
|
30
|
-
return `${result}`;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
if (Array.isArray(this.item.chipLabel)) {
|
|
34
|
-
const label = getLabelFromArray(this.item.chipLabel, this.type);
|
|
35
|
-
return `${label}: ${result}`;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
return `${this.item.chipLabel}: ${result}`;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
if (Array.isArray(this.item.label)) {
|
|
44
|
-
const label = getLabelFromArray(this.item.label, this.type);
|
|
45
|
-
return `${label}: ${result}`;
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
if (this.item.isTypeCheckbox) {
|
|
49
|
-
return result;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
return `${this.item.label}: ${result}`;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
FsFilterChipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
FsFilterChipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
else {
|
|
81
|
-
return '';
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWNoaXAtY29udGVudC9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC1jb250ZW50L2ZpbHRlci1jaGlwLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVXhELE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsWUFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFGckMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFHbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUN0QyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sR0FBRyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDNUM7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RCxPQUFPLEdBQUcsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQzVCLE9BQU8sTUFBTSxDQUFDO2lCQUNmO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7MEhBMURVLDRCQUE0Qjs4R0FBNUIsNEJBQTRCLHNHQ3RCekMsaUJBQ0E7NEZEcUJhLDRCQUE0QjtrQkFOeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxXQUFXLEVBQUUsc0NBQXNDO29CQUNuRCxTQUFTLEVBQUUsQ0FBQyxzQ0FBc0MsQ0FBQztvQkFDbkQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEO3dHQUdpQixJQUFJO3NCQUFuQixLQUFLO2dCQUNVLElBQUk7c0JBQW5CLEtBQUs7O0FBMERSLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLElBQUk7SUFDdkMsSUFBSSxJQUFJLEtBQUssTUFBTSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNsQyxPQUFPLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDekI7U0FBTSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3ZDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUN6QjtTQUFNO1FBQ0wsT0FBTyxFQUFFLENBQUM7S0FDWDtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0l0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1jaGlwLWNvbnRlbnQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1jaGlwLWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVyQ2hpcENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIGl0ZW06IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPjtcbiAgQElucHV0KCkgcHVibGljIHR5cGU6ICdmcm9tJyB8ICd0byc7XG5cbiAgcHVibGljIGNvbnRlbnQ7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMubGlzdGVuVmFsdWVDaGFuZ2VzRm9yUmFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuVmFsdWVDaGFuZ2VzRm9yUmFuZ2VzKCkge1xuICAgIHRoaXMuaXRlbS52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY29udGVudCA9IHRoaXMuX2dldENvbnRlbnQoKTtcbiAgICAgICAgdGhpcy5fY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9nZXRDb250ZW50KCkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuaXRlbS5nZXRDaGlwc0NvbnRlbnQodGhpcy50eXBlKTtcblxuICAgIGlmICh0aGlzLml0ZW0uY2hpcExhYmVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0aGlzLml0ZW0uY2hpcExhYmVsID09PSAnJykge1xuICAgICAgICByZXR1cm4gYCR7cmVzdWx0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW0uY2hpcExhYmVsKSkge1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gZ2V0TGFiZWxGcm9tQXJyYXkodGhpcy5pdGVtLmNoaXBMYWJlbCwgdGhpcy50eXBlKTtcbiAgICAgICAgICByZXR1cm4gYCR7bGFiZWx9OiAke3Jlc3VsdH1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBgJHt0aGlzLml0ZW0uY2hpcExhYmVsfTogJHtyZXN1bHR9YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW0ubGFiZWwpKSB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gZ2V0TGFiZWxGcm9tQXJyYXkodGhpcy5pdGVtLmxhYmVsLCB0aGlzLnR5cGUpO1xuICAgICAgICByZXR1cm4gYCR7bGFiZWx9OiAke3Jlc3VsdH1gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbS5pc1R5cGVDaGVja2JveCkge1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGAke3RoaXMuaXRlbS5sYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0TGFiZWxGcm9tQXJyYXkobGFiZWxBcnIsIHR5cGUpIHtcbiAgaWYgKHR5cGUgPT09ICdmcm9tJyAmJiBsYWJlbEFyclswXSkge1xuICAgIHJldHVybiBgJHtsYWJlbEFyclswXX1gO1xuICB9IGVsc2UgaWYgKHR5cGUgPT09ICd0bycgJiYgbGFiZWxBcnJbMV0pIHtcbiAgICByZXR1cm4gYCR7bGFiZWxBcnJbMV19YDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbn1cbiIsInt7IGNvbnRlbnQgfX1cbiJdfQ==
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { BaseItem } from '../../models/items/base-item';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FsFilterChipContentComponent {
|
|
7
|
+
constructor(_cdRef) {
|
|
8
|
+
this._cdRef = _cdRef;
|
|
9
|
+
this._destroy$ = new Subject();
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
this.listenValueChangesForRanges();
|
|
13
|
+
}
|
|
14
|
+
ngOnDestroy() {
|
|
15
|
+
this._destroy$.next();
|
|
16
|
+
this._destroy$.complete();
|
|
17
|
+
}
|
|
18
|
+
listenValueChangesForRanges() {
|
|
19
|
+
this.item.value$
|
|
20
|
+
.pipe(takeUntil(this._destroy$))
|
|
21
|
+
.subscribe(() => {
|
|
22
|
+
this.content = this._getContent();
|
|
23
|
+
this._cdRef.detectChanges();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
_getContent() {
|
|
27
|
+
const result = this.item.getChipsContent(this.type);
|
|
28
|
+
if (this.item.chipLabel !== undefined) {
|
|
29
|
+
if (this.item.chipLabel === '') {
|
|
30
|
+
return `${result}`;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
if (Array.isArray(this.item.chipLabel)) {
|
|
34
|
+
const label = getLabelFromArray(this.item.chipLabel, this.type);
|
|
35
|
+
return `${label}: ${result}`;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return `${this.item.chipLabel}: ${result}`;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
if (Array.isArray(this.item.label)) {
|
|
44
|
+
const label = getLabelFromArray(this.item.label, this.type);
|
|
45
|
+
return `${label}: ${result}`;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
if (this.item.isTypeCheckbox) {
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
return `${this.item.label}: ${result}`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
FsFilterChipContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterChipContentComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
+
FsFilterChipContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterChipContentComponent, selector: "fs-filter-chip-content", inputs: { item: "item", type: "type" }, ngImport: i0, template: "{{ content }}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterChipContentComponent, decorators: [{
|
|
61
|
+
type: Component,
|
|
62
|
+
args: [{ selector: 'fs-filter-chip-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "{{ content }}\n", styles: [""] }]
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], type: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}] } });
|
|
68
|
+
function getLabelFromArray(labelArr, type) {
|
|
69
|
+
if (type === 'from' && labelArr[0]) {
|
|
70
|
+
return `${labelArr[0]}`;
|
|
71
|
+
}
|
|
72
|
+
else if (type === 'to' && labelArr[1]) {
|
|
73
|
+
return `${labelArr[1]}`;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
return '';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWNoaXAtY29udGVudC9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC1jb250ZW50L2ZpbHRlci1jaGlwLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVXhELE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsWUFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFGckMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFHbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUN0QyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sR0FBRyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDNUM7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RCxPQUFPLEdBQUcsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQzVCLE9BQU8sTUFBTSxDQUFDO2lCQUNmO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7eUhBMURVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHNHQ3RCekMsaUJBQ0E7MkZEcUJhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07d0dBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSzs7QUEwRFIsU0FBUyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSTtJQUN2QyxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2xDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUN6QjtTQUFNLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDdkMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxPQUFPLEVBQUUsQ0FBQztLQUNYO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnSXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtZmlsdGVyLWNoaXAtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJDaGlwQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+O1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogJ2Zyb20nIHwgJ3RvJztcblxuICBwdWJsaWMgY29udGVudDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5saXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKSB7XG4gICAgdGhpcy5pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5fZ2V0Q29udGVudCgpO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvbnRlbnQoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5pdGVtLmdldENoaXBzQ29udGVudCh0aGlzLnR5cGUpO1xuXG4gICAgaWYgKHRoaXMuaXRlbS5jaGlwTGFiZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMuaXRlbS5jaGlwTGFiZWwgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBgJHtyZXN1bHR9YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbS5jaGlwTGFiZWwpKSB7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbEZyb21BcnJheSh0aGlzLml0ZW0uY2hpcExhYmVsLCB0aGlzLnR5cGUpO1xuICAgICAgICAgIHJldHVybiBgJHtsYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGAke3RoaXMuaXRlbS5jaGlwTGFiZWx9OiAke3Jlc3VsdH1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbS5sYWJlbCkpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbEZyb21BcnJheSh0aGlzLml0ZW0ubGFiZWwsIHRoaXMudHlwZSk7XG4gICAgICAgIHJldHVybiBgJHtsYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pdGVtLmlzVHlwZUNoZWNrYm94KSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5pdGVtLmxhYmVsfTogJHtyZXN1bHR9YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRMYWJlbEZyb21BcnJheShsYWJlbEFyciwgdHlwZSkge1xuICBpZiAodHlwZSA9PT0gJ2Zyb20nICYmIGxhYmVsQXJyWzBdKSB7XG4gICAgcmV0dXJuIGAke2xhYmVsQXJyWzBdfWA7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RvJyAmJiBsYWJlbEFyclsxXSkge1xuICAgIHJldHVybiBgJHtsYWJlbEFyclsxXX1gO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwie3sgY29udGVudCB9fVxuIl19
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ItemType } from '../../enums';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@firestitch/chip";
|
|
5
|
+
import * as i2 from "../filter-chip/filter-chip.component";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@firestitch/form";
|
|
8
|
+
import * as i5 from "@angular/common";
|
|
9
|
+
export class FsFilterChipsComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.ItemType = ItemType;
|
|
12
|
+
this.chips = [];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
FsFilterChipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
+
FsFilterChipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: { filters: "filters" }, ngImport: i0, template: "<fs-chips [(ngModel)]=\"chips\">\n <ng-container *ngFor=\"let item of filters\">\n <ng-container *ngIf=\"(item.value$ | async) !== undefined && item.type !== ItemType.Keyword\">\n <fs-filter-chip [item]=\"item\"></fs-filter-chip>\n </ng-container>\n </ng-container>\n</fs-chips>\n", styles: [""], components: [{ type: i1.FsChipsComponent, selector: "fs-chips", inputs: ["compare", "multiple"] }, { type: i2.FsFilterChipComponent, selector: "fs-filter-chip", inputs: ["item"] }], directives: [{ type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterChipsComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'fs-filter-chips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-chips [(ngModel)]=\"chips\">\n <ng-container *ngFor=\"let item of filters\">\n <ng-container *ngIf=\"(item.value$ | async) !== undefined && item.type !== ItemType.Keyword\">\n <fs-filter-chip [item]=\"item\"></fs-filter-chip>\n </ng-container>\n </ng-container>\n</fs-chips>\n", styles: [""] }]
|
|
20
|
+
}], propDecorators: { filters: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}] } });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcHMvZmlsdGVyLWNoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcHMvZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFVdkMsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVVTLGFBQVEsR0FBRyxRQUFRLENBQUM7UUFDcEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztLQUNuQjs7bUhBTlksc0JBQXNCO3VHQUF0QixzQkFBc0IsdUZDWm5DLHVTQU9BOzJGREthLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0IsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckNoaXBzQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyczogQmFzZUl0ZW08YW55PltdO1xuXG4gIHB1YmxpYyBJdGVtVHlwZSA9IEl0ZW1UeXBlO1xuICBwdWJsaWMgY2hpcHMgPSBbXTtcbn1cbiIsIjxmcy1jaGlwcyBbKG5nTW9kZWwpXT1cImNoaXBzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaXRlbS52YWx1ZSQgfCBhc3luYykgIT09IHVuZGVmaW5lZCAmJiBpdGVtLnR5cGUgIT09IEl0ZW1UeXBlLktleXdvcmRcIj5cbiAgICAgIDxmcy1maWx0ZXItY2hpcCBbaXRlbV09XCJpdGVtXCI+PC9mcy1maWx0ZXItY2hpcD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2ZzLWNoaXBzPlxuIl19
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostListener, Inject, Input, } from '@angular/core';
|
|
2
|
+
import { OverlayRef } from '@angular/cdk/overlay';
|
|
3
|
+
import { FILTER_DRAWER_DATA } from '../../injectors/filter-drawer-data';
|
|
4
|
+
import { FILTER_DRAWER_OVERLAY } from '../../injectors/filter-drawer-overlay';
|
|
5
|
+
import { ExternalParamsController } from '../../services/external-params-controller.service';
|
|
6
|
+
import { FsFilterItemsStore } from '../../services/items-store.service';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../services/external-params-controller.service";
|
|
9
|
+
import * as i2 from "../../services/items-store.service";
|
|
10
|
+
import * as i3 from "@angular/material/icon";
|
|
11
|
+
import * as i4 from "../filters-item/filter-item.component";
|
|
12
|
+
import * as i5 from "../filter-drawer-actions/filter-drawer-actions.component";
|
|
13
|
+
import * as i6 from "@firestitch/skeleton";
|
|
14
|
+
import * as i7 from "@angular/common";
|
|
15
|
+
import * as i8 from "@angular/cdk/overlay";
|
|
16
|
+
export class FilterDrawerComponent {
|
|
17
|
+
constructor(_overlayRef, _data, externalParams, _cd, _itemsStore) {
|
|
18
|
+
this._overlayRef = _overlayRef;
|
|
19
|
+
this._data = _data;
|
|
20
|
+
this.externalParams = externalParams;
|
|
21
|
+
this._cd = _cd;
|
|
22
|
+
this._itemsStore = _itemsStore;
|
|
23
|
+
this.inline = false;
|
|
24
|
+
this.windowDesktop = false;
|
|
25
|
+
this._itemsStore.prepareItems();
|
|
26
|
+
this._clear = this._data.clear;
|
|
27
|
+
this._done = this._data.done;
|
|
28
|
+
this.updateWindowWidth();
|
|
29
|
+
}
|
|
30
|
+
updateWindowWidth() {
|
|
31
|
+
this.windowDesktop = window.innerWidth > 1200;
|
|
32
|
+
}
|
|
33
|
+
get items$() {
|
|
34
|
+
return this._itemsStore.visibleItems$;
|
|
35
|
+
}
|
|
36
|
+
get sortItem() {
|
|
37
|
+
return this._itemsStore.sortByItem;
|
|
38
|
+
}
|
|
39
|
+
get sortDirectionItem() {
|
|
40
|
+
return this._itemsStore.sortDirectionItem;
|
|
41
|
+
}
|
|
42
|
+
clear() {
|
|
43
|
+
this._clear();
|
|
44
|
+
// this.overlayRef.detach();
|
|
45
|
+
}
|
|
46
|
+
done() {
|
|
47
|
+
this._done();
|
|
48
|
+
this._overlayRef.detach();
|
|
49
|
+
}
|
|
50
|
+
backdropClick() {
|
|
51
|
+
this.done();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
FilterDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FilterDrawerComponent, deps: [{ token: FILTER_DRAWER_OVERLAY }, { token: FILTER_DRAWER_DATA }, { token: i1.ExternalParamsController }, { token: i0.ChangeDetectorRef }, { token: i2.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
FilterDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FilterDrawerComponent, selector: "ng-component", inputs: { inline: "inline" }, host: { listeners: { "window:resize": "updateWindowWidth()" } }, ngImport: i0, template: "<div class=\"filters\">\n <div class=\"filters-wrap\">\n\n <div class=\"filter-by\">\n <mat-icon>tune</mat-icon>\n <span class=\"text\">Filters</span>\n </div>\n\n <div class=\"overflow-shadow filter-items\">\n <div class=\"overflow-shadow-content\">\n <ng-container *fsSkeleton=\"(externalParams.pending$ | async) !== true\">\n <filter-item \n *ngFor=\"let filterItem of items$ | async\"\n class=\"filter-group\"\n [item]=\"filterItem\">\n </filter-item>\n\n <ng-container *ngIf=\"sortItem && sortItem.values && sortItem.values.length > 0\">\n <filter-item \n class=\"filter-group sort\"\n [item]=\"sortItem\">\n </filter-item>\n <filter-item \n class=\"filter-group sort\"\n [item]=\"sortDirectionItem\">\n </filter-item>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <fs-filter-drawer-actions \n class=\"filter-actions\"\n *ngIf=\"(externalParams.pending$ | async) !== true\"\n (clear)=\"clear()\"\n (done)=\"done()\">\n </fs-filter-drawer-actions>\n </div>\n</div>\n<div class=\"backdrop\" *ngIf=\"!windowDesktop\" (click)=\"backdropClick()\"></div>\n", styles: [":host ::ng-deep mat-form-field{width:100%}.filter-by{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 25px}.filter-by mat-icon{margin-right:8px}.filter-by .text{font-weight:400;font-size:19px}.filter-actions{display:block;box-sizing:border-box;padding:13px}.filter-actions button{margin-right:6px}.filter-actions button:last-child{margin-right:0}.filters{position:fixed;display:block;top:0;right:0;z-index:1002;bottom:0}.filters .filters-wrap{background:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;width:85vw;max-width:350px;display:flex;flex-direction:column;height:100%;padding-top:env(safe-area-inset-top)}.filters .filters-wrap .filter-items{overflow-y:auto}.filters .filters-wrap .filter-items .overflow-shadow-content{padding:0 25px;box-sizing:border-box}.filters .filter-group{margin:10px 0 0}.filters .filter-group:first-child{margin:0}.filters .filter label{white-space:nowrap;color:#0000008a}.filters .filter .interface.interface-range input,.filters .filter .interface.interface-range .mat-input-wrapper,.filters .filter .interface.interface-range{text-align:center}.filters .filter .interface.interface-datetime fs-datetime.has-time .md-input{width:100%}.filters .filter .interface fs-datetime-range input{text-align:center}.filters .filter .filter-label{width:1%;white-space:nowrap;vertical-align:middle;padding-right:15px}.filters md-autocomplete-container md-input-container{margin:0}.filters .isolate{margin-top:-12px}.filters .isolate .interface{line-height:20px;padding-bottom:1.25em}.filters .isolate md-checkbox{margin:0 0 0 2px}.backdrop{position:fixed;inset:0;z-index:900;outline:none}\n"], components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.FilterItemComponent, selector: "filter-item", inputs: ["item"] }, { type: i5.FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: ["clear", "done"] }], directives: [{ type: i6.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FilterDrawerComponent, decorators: [{
|
|
57
|
+
type: Component,
|
|
58
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filters\">\n <div class=\"filters-wrap\">\n\n <div class=\"filter-by\">\n <mat-icon>tune</mat-icon>\n <span class=\"text\">Filters</span>\n </div>\n\n <div class=\"overflow-shadow filter-items\">\n <div class=\"overflow-shadow-content\">\n <ng-container *fsSkeleton=\"(externalParams.pending$ | async) !== true\">\n <filter-item \n *ngFor=\"let filterItem of items$ | async\"\n class=\"filter-group\"\n [item]=\"filterItem\">\n </filter-item>\n\n <ng-container *ngIf=\"sortItem && sortItem.values && sortItem.values.length > 0\">\n <filter-item \n class=\"filter-group sort\"\n [item]=\"sortItem\">\n </filter-item>\n <filter-item \n class=\"filter-group sort\"\n [item]=\"sortDirectionItem\">\n </filter-item>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <fs-filter-drawer-actions \n class=\"filter-actions\"\n *ngIf=\"(externalParams.pending$ | async) !== true\"\n (clear)=\"clear()\"\n (done)=\"done()\">\n </fs-filter-drawer-actions>\n </div>\n</div>\n<div class=\"backdrop\" *ngIf=\"!windowDesktop\" (click)=\"backdropClick()\"></div>\n", styles: [":host ::ng-deep mat-form-field{width:100%}.filter-by{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 25px}.filter-by mat-icon{margin-right:8px}.filter-by .text{font-weight:400;font-size:19px}.filter-actions{display:block;box-sizing:border-box;padding:13px}.filter-actions button{margin-right:6px}.filter-actions button:last-child{margin-right:0}.filters{position:fixed;display:block;top:0;right:0;z-index:1002;bottom:0}.filters .filters-wrap{background:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;width:85vw;max-width:350px;display:flex;flex-direction:column;height:100%;padding-top:env(safe-area-inset-top)}.filters .filters-wrap .filter-items{overflow-y:auto}.filters .filters-wrap .filter-items .overflow-shadow-content{padding:0 25px;box-sizing:border-box}.filters .filter-group{margin:10px 0 0}.filters .filter-group:first-child{margin:0}.filters .filter label{white-space:nowrap;color:#0000008a}.filters .filter .interface.interface-range input,.filters .filter .interface.interface-range .mat-input-wrapper,.filters .filter .interface.interface-range{text-align:center}.filters .filter .interface.interface-datetime fs-datetime.has-time .md-input{width:100%}.filters .filter .interface fs-datetime-range input{text-align:center}.filters .filter .filter-label{width:1%;white-space:nowrap;vertical-align:middle;padding-right:15px}.filters md-autocomplete-container md-input-container{margin:0}.filters .isolate{margin-top:-12px}.filters .isolate .interface{line-height:20px;padding-bottom:1.25em}.filters .isolate md-checkbox{margin:0 0 0 2px}.backdrop{position:fixed;inset:0;z-index:900;outline:none}\n"] }]
|
|
59
|
+
}], ctorParameters: function () { return [{ type: i8.OverlayRef, decorators: [{
|
|
60
|
+
type: Inject,
|
|
61
|
+
args: [FILTER_DRAWER_OVERLAY]
|
|
62
|
+
}] }, { type: undefined, decorators: [{
|
|
63
|
+
type: Inject,
|
|
64
|
+
args: [FILTER_DRAWER_DATA]
|
|
65
|
+
}] }, { type: i1.ExternalParamsController }, { type: i0.ChangeDetectorRef }, { type: i2.FsFilterItemsStore }]; }, propDecorators: { inline: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], updateWindowWidth: [{
|
|
68
|
+
type: HostListener,
|
|
69
|
+
args: ['window:resize']
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWRyYXdlci9maWx0ZXItZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7Ozs7Ozs7OztBQVV4RSxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLFlBQ3lDLFdBQXVCLEVBQzFCLEtBQUssRUFDbEMsY0FBd0MsRUFDckMsR0FBc0IsRUFDdEIsV0FBK0I7UUFKRixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUMxQixVQUFLLEdBQUwsS0FBSyxDQUFBO1FBQ2xDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUNyQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFaM0IsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUV4QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVkzQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUU3QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR00saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCw0QkFBNEI7SUFDOUIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7O2tIQXJEVSxxQkFBcUIsa0JBVXRCLHFCQUFxQixhQUNyQixrQkFBa0I7c0dBWGpCLHFCQUFxQixtSkMzQmxDLDR4Q0F3Q0E7MkZEYmEscUJBQXFCO2tCQU5qQyxTQUFTO3NDQUlTLHVCQUF1QixDQUFDLE1BQU07OzBCQVk1QyxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLE1BQU07MkJBQUMsa0JBQWtCO29KQVRaLE1BQU07c0JBQXJCLEtBQUs7Z0JBdUJDLGlCQUFpQjtzQkFEdkIsWUFBWTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgRklMVEVSX0RSQVdFUl9EQVRBIH0gZnJvbSAnLi4vLi4vaW5qZWN0b3JzL2ZpbHRlci1kcmF3ZXItZGF0YSc7XG5pbXBvcnQgeyBGSUxURVJfRFJBV0VSX09WRVJMQVkgfSBmcm9tICcuLi8uLi9pbmplY3RvcnMvZmlsdGVyLWRyYXdlci1vdmVybGF5JztcbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEZzRmlsdGVySXRlbXNTdG9yZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2l0ZW1zLXN0b3JlLnNlcnZpY2UnO1xuXG50eXBlIEl0ZW0gPSBCYXNlSXRlbTxhbnk+O1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZHJhd2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIENvbW1lbnRlZCBvdXQgYmVjYXVzZSBmaWx0ZXIgaXRlbXMgYXJlIG5vdCB1cGRhdGluZyB3aXRoIGEgZGVsYXllZCBvYnNlcnZhYmxlLiBOZWVkIHRvIGZpZ3VyZSB0aGlzIG91dC5cbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckRyYXdlckNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgcHVibGljIGlubGluZSA9IGZhbHNlO1xuXG4gIHB1YmxpYyB3aW5kb3dEZXNrdG9wID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIF9jbGVhcjogRnVuY3Rpb247XG4gIHByb3RlY3RlZCBfZG9uZTogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChGSUxURVJfRFJBV0VSX09WRVJMQVkpIHByaXZhdGUgX292ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgQEluamVjdChGSUxURVJfRFJBV0VSX0RBVEEpIHByaXZhdGUgX2RhdGEsXG4gICAgcHVibGljIGV4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIF9pdGVtc1N0b3JlOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICkge1xuICAgIHRoaXMuX2l0ZW1zU3RvcmUucHJlcGFyZUl0ZW1zKCk7XG5cbiAgICB0aGlzLl9jbGVhciA9IHRoaXMuX2RhdGEuY2xlYXI7XG4gICAgdGhpcy5fZG9uZSA9IHRoaXMuX2RhdGEuZG9uZTtcblxuICAgIHRoaXMudXBkYXRlV2luZG93V2lkdGgoKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnKVxuICBwdWJsaWMgdXBkYXRlV2luZG93V2lkdGgoKSB7XG4gICAgdGhpcy53aW5kb3dEZXNrdG9wID0gd2luZG93LmlubmVyV2lkdGggPiAxMjAwO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtcyQoKTogT2JzZXJ2YWJsZTxJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNTdG9yZS52aXNpYmxlSXRlbXMkO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0SXRlbSgpOiBJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNTdG9yZS5zb3J0QnlJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0RGlyZWN0aW9uSXRlbSgpOiBJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNTdG9yZS5zb3J0RGlyZWN0aW9uSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLl9jbGVhcigpO1xuICAgIC8vIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBkb25lKCkge1xuICAgIHRoaXMuX2RvbmUoKTtcbiAgICB0aGlzLl9vdmVybGF5UmVmLmRldGFjaCgpO1xuICB9XG5cbiAgcHVibGljIGJhY2tkcm9wQ2xpY2soKSB7XG4gICAgdGhpcy5kb25lKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXJzXCI+XG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXJzLXdyYXBcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItYnlcIj5cbiAgICAgIDxtYXQtaWNvbj50dW5lPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFwiPkZpbHRlcnM8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctc2hhZG93IGZpbHRlci1pdGVtc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93LXNoYWRvdy1jb250ZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKmZzU2tlbGV0b249XCIoZXh0ZXJuYWxQYXJhbXMucGVuZGluZyQgfCBhc3luYykgIT09IHRydWVcIj5cbiAgICAgICAgICA8ZmlsdGVyLWl0ZW0gXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmlsdGVySXRlbSBvZiBpdGVtcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBjbGFzcz1cImZpbHRlci1ncm91cFwiXG4gICAgICAgICAgICBbaXRlbV09XCJmaWx0ZXJJdGVtXCI+XG4gICAgICAgICAgPC9maWx0ZXItaXRlbT5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0SXRlbSAmJiBzb3J0SXRlbS52YWx1ZXMgJiYgc29ydEl0ZW0udmFsdWVzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxmaWx0ZXItaXRlbSBcbiAgICAgICAgICAgICAgY2xhc3M9XCJmaWx0ZXItZ3JvdXAgc29ydFwiXG4gICAgICAgICAgICAgIFtpdGVtXT1cInNvcnRJdGVtXCI+XG4gICAgICAgICAgICA8L2ZpbHRlci1pdGVtPlxuICAgICAgICAgICAgPGZpbHRlci1pdGVtIFxuICAgICAgICAgICAgICBjbGFzcz1cImZpbHRlci1ncm91cCBzb3J0XCJcbiAgICAgICAgICAgICAgW2l0ZW1dPVwic29ydERpcmVjdGlvbkl0ZW1cIj5cbiAgICAgICAgICAgIDwvZmlsdGVyLWl0ZW0+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZnMtZmlsdGVyLWRyYXdlci1hY3Rpb25zIFxuICAgICAgY2xhc3M9XCJmaWx0ZXItYWN0aW9uc1wiXG4gICAgICAqbmdJZj1cIihleHRlcm5hbFBhcmFtcy5wZW5kaW5nJCB8IGFzeW5jKSAhPT0gdHJ1ZVwiXG4gICAgICAoY2xlYXIpPVwiY2xlYXIoKVwiXG4gICAgICAoZG9uZSk9XCJkb25lKClcIj5cbiAgICA8L2ZzLWZpbHRlci1kcmF3ZXItYWN0aW9ucz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiICpuZ0lmPVwiIXdpbmRvd0Rlc2t0b3BcIiAoY2xpY2spPVwiYmFja2Ryb3BDbGljaygpXCI+PC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Output } from '@angular/core';
|
|
2
|
+
import { ExternalParamsController } from '../../services/external-params-controller.service';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../services/external-params-controller.service";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "@firestitch/form";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
export class FsFilterDrawerActionsComponent {
|
|
9
|
+
constructor(externalParams) {
|
|
10
|
+
this.externalParams = externalParams;
|
|
11
|
+
this._clear = new EventEmitter();
|
|
12
|
+
this._done = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
get savedFilters() {
|
|
15
|
+
return this.externalParams.savedFiltersController;
|
|
16
|
+
}
|
|
17
|
+
done() {
|
|
18
|
+
this._done.emit();
|
|
19
|
+
}
|
|
20
|
+
clear() {
|
|
21
|
+
this._clear.emit();
|
|
22
|
+
}
|
|
23
|
+
saveFilters() {
|
|
24
|
+
this.externalParams
|
|
25
|
+
.savedFiltersController
|
|
26
|
+
.openSavedFilterEditDialog();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
FsFilterDrawerActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterDrawerActionsComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
FsFilterDrawerActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: { _clear: "clear", _done: "done" }, ngImport: i0, template: "<button type=\"button\" mat-button color=\"primary\" (click)=\"done()\">Done</button>\n<button type=\"button\" mat-button (click)=\"clear()\">Clear</button>\n<ng-container *ngIf=\"savedFilters.enabled$ | async\">\n <button type=\"button\" mat-button (click)=\"saveFilters()\">Save</button>\n</ng-container>\n\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.FsButtonDirective, selector: "[mat-raised-button],[mat-button],[mat-flat-button],[mat-stroked-button]", inputs: ["name", "dirtySubmit", "form"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i4.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterDrawerActionsComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'fs-filter-drawer-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button type=\"button\" mat-button color=\"primary\" (click)=\"done()\">Done</button>\n<button type=\"button\" mat-button (click)=\"clear()\">Clear</button>\n<ng-container *ngIf=\"savedFilters.enabled$ | async\">\n <button type=\"button\" mat-button (click)=\"saveFilters()\">Save</button>\n</ng-container>\n\n" }]
|
|
34
|
+
}], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; }, propDecorators: { _clear: [{
|
|
35
|
+
type: Output,
|
|
36
|
+
args: ['clear']
|
|
37
|
+
}], _done: [{
|
|
38
|
+
type: Output,
|
|
39
|
+
args: ['done']
|
|
40
|
+
}] } });
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7O0FBUzdGLE1BQU0sT0FBTyw4QkFBOEI7SUFRekMsWUFBbUIsY0FBd0M7UUFBeEMsbUJBQWMsR0FBZCxjQUFjLENBQTBCO1FBTG5ELFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2xDLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBRXNCLENBQUM7SUFFaEUsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQztJQUNwRCxDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxjQUFjO2FBQ2hCLHNCQUFzQjthQUN0Qix5QkFBeUIsRUFBRSxDQUFDO0lBQ2pDLENBQUM7OzJIQTFCVSw4QkFBOEI7K0dBQTlCLDhCQUE4Qiw2R0NYM0MseVRBTUE7MkZES2EsOEJBQThCO2tCQUwxQyxTQUFTOytCQUNFLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTTsrR0FLdkMsTUFBTTtzQkFEYixNQUFNO3VCQUFDLE9BQU87Z0JBSVAsS0FBSztzQkFEWixNQUFNO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMvc2F2ZWQtZmlsdGVycy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1kcmF3ZXItYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZHJhd2VyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJEcmF3ZXJBY3Rpb25zQ29tcG9uZW50IHtcblxuICBAT3V0cHV0KCdjbGVhcicpXG4gIHByaXZhdGUgX2NsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoJ2RvbmUnKVxuICBwcml2YXRlIF9kb25lID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBleHRlcm5hbFBhcmFtczogRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyKSB7IH1cblxuICBwdWJsaWMgZ2V0IHNhdmVkRmlsdGVycygpOiBTYXZlZEZpbHRlcnNDb250cm9sbGVyIHtcbiAgICByZXR1cm4gdGhpcy5leHRlcm5hbFBhcmFtcy5zYXZlZEZpbHRlcnNDb250cm9sbGVyO1xuICB9XG5cbiAgcHVibGljIGRvbmUoKTogdm9pZCB7XG4gICAgdGhpcy5fZG9uZS5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXIoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIHNhdmVGaWx0ZXJzKCkge1xuICAgIHRoaXMuZXh0ZXJuYWxQYXJhbXNcbiAgICAgIC5zYXZlZEZpbHRlcnNDb250cm9sbGVyXG4gICAgICAub3BlblNhdmVkRmlsdGVyRWRpdERpYWxvZygpO1xuICB9XG59XG4iLCI8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJkb25lKClcIj5Eb25lPC9idXR0b24+XG48YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJjbGVhcigpXCI+Q2xlYXI8L2J1dHRvbj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJzYXZlZEZpbHRlcnMuZW5hYmxlZCQgfCBhc3luY1wiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtYnV0dG9uIChjbGljayk9XCJzYXZlRmlsdGVycygpXCI+U2F2ZTwvYnV0dG9uPlxuPC9uZy1jb250YWluZXI+XG5cbiJdfQ==
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers, } from '@angular/core';
|
|
2
|
+
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@firestitch/autocomplete";
|
|
5
|
+
import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
|
|
6
|
+
import * as i3 from "@angular/forms";
|
|
7
|
+
import * as i4 from "@firestitch/form";
|
|
8
|
+
export class AutocompleteComponent extends BaseItemComponent {
|
|
9
|
+
constructor(_kvDiffers, _cd) {
|
|
10
|
+
super(_kvDiffers, _cd);
|
|
11
|
+
this._kvDiffers = _kvDiffers;
|
|
12
|
+
this._cd = _cd;
|
|
13
|
+
this.displayWith = (data) => {
|
|
14
|
+
return data ? data.name : data;
|
|
15
|
+
};
|
|
16
|
+
this.fetch = (keyword) => {
|
|
17
|
+
return this.item.valuesFn(keyword, this.item.filter);
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
22
|
+
AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: AutocompleteComponent, selector: "filter-item-autocomplete", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [displayWith]=\"displayWith\"\n [(ngModel)]=\"item.model\"\n [placeholder]=\"label\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [showClear]=\"item.showClear\"\n name=\"item.name\">\n <ng-template fsAutocompleteTemplate let-data=\"data\">\n {{data.name}}\n </ng-template>\n</fs-autocomplete>\n", components: [{ type: i1.FsAutocompleteComponent, selector: "fs-autocomplete", inputs: ["fetch", "displayWith", "placeholder", "fetchOnFocus", "readonly", "required", "disabled", "formFieldClass", "appearance", "hint", "panelWidth", "panelClass", "showClear"], outputs: ["cleared", "opened", "closed"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i1.FsAutocompleteTemplateDirective, selector: "[fsAutocompleteTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
24
|
+
type: Component,
|
|
25
|
+
args: [{ selector: 'filter-item-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-autocomplete\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [displayWith]=\"displayWith\"\n [(ngModel)]=\"item.model\"\n [placeholder]=\"label\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [showClear]=\"item.showClear\"\n name=\"item.name\">\n <ng-template fsAutocompleteTemplate let-data=\"data\">\n {{data.name}}\n </ng-template>\n</fs-autocomplete>\n" }]
|
|
26
|
+
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQVNyRSxNQUFNLE9BQU8scUJBQXNCLFNBQVEsaUJBQW1DO0lBRTVFLFlBQ1ksVUFBMkIsRUFDM0IsR0FBc0I7UUFFaEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUhiLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBSzNCLGdCQUFXLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pDLENBQUMsQ0FBQztRQUVLLFVBQUssR0FBRyxDQUFDLE9BQU8sRUFBbUIsRUFBRTtZQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztJQVJGLENBQUM7O2tIQVBVLHFCQUFxQjtzR0FBckIscUJBQXFCLHVGQ2pCbEMsMFlBYUE7MkZESWEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBLZXlWYWx1ZURpZmZlcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB7IEJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1pdGVtL2Jhc2UtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8QXV0b2NvbXBsZXRlSXRlbT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICBwdWJsaWMgZGlzcGxheVdpdGggPSAoZGF0YSkgPT4ge1xuICAgIHJldHVybiBkYXRhID8gZGF0YS5uYW1lIDogZGF0YTtcbiAgfTtcblxuICBwdWJsaWMgZmV0Y2ggPSAoa2V5d29yZCk6IE9ic2VydmFibGU8YW55PiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbS52YWx1ZXNGbihrZXl3b3JkLCB0aGlzLml0ZW0uZmlsdGVyKTtcbiAgfTtcbn1cbiIsIjxmcy1hdXRvY29tcGxldGVcbiAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgW2ZldGNoXT1cImZldGNoXCJcbiAgICBbZGlzcGxheVdpdGhdPVwiZGlzcGxheVdpdGhcIlxuICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsXCJcbiAgICBbZmV0Y2hPbkZvY3VzXT1cIml0ZW0uZmV0Y2hPbkZvY3VzXCJcbiAgICBbc2hvd0NsZWFyXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICBuYW1lPVwiaXRlbS5uYW1lXCI+XG4gIDxuZy10ZW1wbGF0ZSBmc0F1dG9jb21wbGV0ZVRlbXBsYXRlIGxldC1kYXRhPVwiZGF0YVwiPlxuICAgIHt7ZGF0YS5uYW1lfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZnMtYXV0b2NvbXBsZXRlPlxuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers, } from '@angular/core';
|
|
2
|
+
import { remove as arrayRemove } from '@firestitch/common';
|
|
3
|
+
import { BaseItemComponent } from '../base-item/base-item.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@firestitch/autocomplete-chips";
|
|
6
|
+
import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
|
|
7
|
+
import * as i3 from "@angular/forms";
|
|
8
|
+
import * as i4 from "@firestitch/form";
|
|
9
|
+
export class AutocompletechipsComponent extends BaseItemComponent {
|
|
10
|
+
constructor(_kvDiffers, _cd) {
|
|
11
|
+
super(_kvDiffers, _cd);
|
|
12
|
+
this._kvDiffers = _kvDiffers;
|
|
13
|
+
this._cd = _cd;
|
|
14
|
+
this.fetch = (keyword) => {
|
|
15
|
+
return this.item.valuesFn(keyword, this.item.filter);
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
addAutocompleteChipItem(event) {
|
|
19
|
+
if (event.data && this.item.model.indexOf(event.data.value) === -1) {
|
|
20
|
+
this.item.model.push(event.data);
|
|
21
|
+
this.itemChange();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
removeAutocompleteChipItem(event) {
|
|
25
|
+
arrayRemove(this.item.model, { value: event.data.value });
|
|
26
|
+
this.itemChange();
|
|
27
|
+
}
|
|
28
|
+
clearAutocompleteChipItem() {
|
|
29
|
+
this.item.clear();
|
|
30
|
+
this.itemChange();
|
|
31
|
+
}
|
|
32
|
+
compareItems(item1, item2) {
|
|
33
|
+
return item1?.value === item2?.value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
AutocompletechipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AutocompletechipsComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
AutocompletechipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n [allowText]=\"false\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [placeholder]=\"label\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"item.chipColor\"\n [chipIconColor]=\"item.chipIcon\"\n [chipBackground]=\"item.chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.showClear\"\n [removable]=\"item.showClear\"\n [compareWith]=\"compareItems\"\n [panelWidth]=\"300\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>\n\n<!--<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-chip-list #chipList>\n <mat-chip *ngFor=\"let item of item.model\"\n (removed)=\"removeAutocompleteChipItem(item)\">\n {{ item.name }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input #chipsInput\n type=\"text\"\n matInput\n [(ngModel)]=\"item.selectedValue\"\n (ngModelChange)=\"onAutocompleteChipsChange(chipsInput)\"\n [name]=\"item.name\"\n [matChipInputFor]=\"chipList\"\n [matAutocomplete]=\"autocompleteChipsInput\">\n </mat-chip-list>\n\n <mat-autocomplete #autocompleteChipsInput=\"matAutocomplete\"\n (optionSelected)=\"addAutocompleteChipItem( $event)\"\n >\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">\n {{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>-->\n", components: [{ type: i1.FsAutocompleteChipsComponent, selector: "fs-autocomplete-chips", inputs: ["fetch", "appearance", "readonly", "size", "placeholder", "chipImage", "chipBackground", "chipColor", "chipIcon", "chipIconColor", "chipClass", "hint", "allowText", "allowObject", "delay", "validateText", "removable", "allowClear", "color", "background", "orderable", "limit", "initOnClick", "fetchOnFocus", "multiple", "confirm", "disabled", "panelWidth", "panelClass", "compareWith"], outputs: ["selected", "removed", "reordered", "clear"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { type: i1.FsAutocompleteObjectDirective, selector: "[fsAutocompleteObject],[fsAutocompleteChipsTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: AutocompletechipsComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'filter-item-autocompletechips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n [allowText]=\"false\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [placeholder]=\"label\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"item.chipColor\"\n [chipIconColor]=\"item.chipIcon\"\n [chipBackground]=\"item.chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.showClear\"\n [removable]=\"item.showClear\"\n [compareWith]=\"compareItems\"\n [panelWidth]=\"300\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>\n\n<!--<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-chip-list #chipList>\n <mat-chip *ngFor=\"let item of item.model\"\n (removed)=\"removeAutocompleteChipItem(item)\">\n {{ item.name }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input #chipsInput\n type=\"text\"\n matInput\n [(ngModel)]=\"item.selectedValue\"\n (ngModelChange)=\"onAutocompleteChipsChange(chipsInput)\"\n [name]=\"item.name\"\n [matChipInputFor]=\"chipList\"\n [matAutocomplete]=\"autocompleteChipsInput\">\n </mat-chip-list>\n\n <mat-autocomplete #autocompleteChipsInput=\"matAutocomplete\"\n (optionSelected)=\"addAutocompleteChipItem( $event)\"\n >\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">\n {{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>-->\n" }]
|
|
41
|
+
}], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9hdXRvY29tcGxldGVjaGlwcy9hdXRvY29tcGxldGVjaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZWNoaXBzL2F1dG9jb21wbGV0ZWNoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLElBQUksV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7OztBQVFyRSxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsaUJBQXdDO0lBRXRGLFlBQ1ksVUFBMkIsRUFDM0IsR0FBc0I7UUFFaEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUhiLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBc0IzQixVQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN6QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZELENBQUMsQ0FBQztJQXJCRixDQUFDO0lBRU0sdUJBQXVCLENBQUMsS0FBSztRQUNsQyxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDbkI7SUFDSCxDQUFDO0lBRU0sMEJBQTBCLENBQUMsS0FBSztRQUNyQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0seUJBQXlCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFNTSxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUs7UUFDOUIsT0FBTyxLQUFLLEVBQUUsS0FBSyxLQUFLLEtBQUssRUFBRSxLQUFLLENBQUM7SUFDdkMsQ0FBQzs7dUhBaENVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLDRGQ2xCdkMsdTFEQXNEQTsyRkRwQ2EsMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLCtCQUErQixtQkFFeEIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBLZXlWYWx1ZURpZmZlcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyByZW1vdmUgYXMgYXJyYXlSZW1vdmUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLWl0ZW0nO1xuaW1wb3J0IHsgQmFzZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWl0ZW0vYmFzZS1pdGVtLmNvbXBvbmVudCc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlY2hpcHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlSXRlbUNvbXBvbmVudDxBdXRvY29tcGxldGVDaGlwc0l0ZW0+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBzdXBlcihfa3ZEaWZmZXJzLCBfY2QpO1xuICB9XG5cbiAgcHVibGljIGFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmRhdGEgJiYgdGhpcy5pdGVtLm1vZGVsLmluZGV4T2YoZXZlbnQuZGF0YS52YWx1ZSkgPT09IC0xKSB7XG4gICAgICB0aGlzLml0ZW0ubW9kZWwucHVzaChldmVudC5kYXRhKTtcbiAgICAgIHRoaXMuaXRlbUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBdXRvY29tcGxldGVDaGlwSXRlbShldmVudCkge1xuICAgIGFycmF5UmVtb3ZlKHRoaXMuaXRlbS5tb2RlbCwgeyB2YWx1ZTogZXZlbnQuZGF0YS52YWx1ZSB9KTtcbiAgICB0aGlzLml0ZW1DaGFuZ2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhckF1dG9jb21wbGV0ZUNoaXBJdGVtKCkge1xuICAgIHRoaXMuaXRlbS5jbGVhcigpO1xuICAgIHRoaXMuaXRlbUNoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIGZldGNoID0gKGtleXdvcmQpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtLnZhbHVlc0ZuKGtleXdvcmQsIHRoaXMuaXRlbS5maWx0ZXIpO1xuICB9O1xuXG4gIHB1YmxpYyBjb21wYXJlSXRlbXMoaXRlbTEsIGl0ZW0yKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGl0ZW0xPy52YWx1ZSA9PT0gaXRlbTI/LnZhbHVlO1xuICB9XG59XG4iLCI8ZnMtYXV0b2NvbXBsZXRlLWNoaXBzXG4gIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgW2ZldGNoXT1cImZldGNoXCJcbiAgW25nTW9kZWxdPVwiaXRlbS5tb2RlbFwiXG4gIChzZWxlY3RlZCk9XCJhZGRBdXRvY29tcGxldGVDaGlwSXRlbSgkZXZlbnQpXCJcbiAgKHJlbW92ZWQpPVwicmVtb3ZlQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oJGV2ZW50KVwiXG4gIChjbGVhcik9XCJjbGVhckF1dG9jb21wbGV0ZUNoaXBJdGVtKClcIlxuICBbYWxsb3dUZXh0XT1cImZhbHNlXCJcbiAgW2ZldGNoT25Gb2N1c109XCJpdGVtLmZldGNoT25Gb2N1c1wiXG4gIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXG4gIFtjaGlwSW1hZ2VdPVwiaXRlbS5jaGlwSW1hZ2VcIlxuICBbY2hpcENvbG9yXT1cIml0ZW0uY2hpcENvbG9yXCJcbiAgW2NoaXBJY29uQ29sb3JdPVwiaXRlbS5jaGlwSWNvblwiXG4gIFtjaGlwQmFja2dyb3VuZF09XCJpdGVtLmNoaXBCYWNrZ3JvdW5kXCJcbiAgW2NoaXBJY29uXT1cIml0ZW0uY2hpcEljb25cIlxuICBbY2hpcENsYXNzXT1cIml0ZW0uY2hpcENsYXNzXCJcbiAgW2FsbG93Q2xlYXJdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICBbcmVtb3ZhYmxlXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgW2NvbXBhcmVXaXRoXT1cImNvbXBhcmVJdGVtc1wiXG4gIFtwYW5lbFdpZHRoXT1cIjMwMFwiXG4gIG5hbWU9XCJtb2RlbFwiPlxuICA8bmctdGVtcGxhdGUgZnNBdXRvY29tcGxldGVPYmplY3QgbGV0LW9iamVjdD1cIm9iamVjdFwiPlxuICAgIHt7IG9iamVjdC5uYW1lIH19XG4gIDwvbmctdGVtcGxhdGU+XG48L2ZzLWF1dG9jb21wbGV0ZS1jaGlwcz5cblxuPCEtLTxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwiYXV0b1wiPlxuICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxtYXQtY2hpcC1saXN0ICNjaGlwTGlzdD5cbiAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbS5tb2RlbFwiXG4gICAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZUF1dG9jb21wbGV0ZUNoaXBJdGVtKGl0ZW0pXCI+XG4gICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICAgIDxtYXQtaWNvbiBtYXRDaGlwUmVtb3ZlPmNhbmNlbDwvbWF0LWljb24+XG4gICAgPC9tYXQtY2hpcD5cblxuICAgIDxpbnB1dCAjY2hpcHNJbnB1dFxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5zZWxlY3RlZFZhbHVlXCJcbiAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25BdXRvY29tcGxldGVDaGlwc0NoYW5nZShjaGlwc0lucHV0KVwiXG4gICAgICAgICAgIFtuYW1lXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgICAgIFttYXRDaGlwSW5wdXRGb3JdPVwiY2hpcExpc3RcIlxuICAgICAgICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZUNoaXBzSW5wdXRcIj5cbiAgPC9tYXQtY2hpcC1saXN0PlxuXG4gIDxtYXQtYXV0b2NvbXBsZXRlICNhdXRvY29tcGxldGVDaGlwc0lucHV0PVwibWF0QXV0b2NvbXBsZXRlXCJcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKCAkZXZlbnQpXCJcbiAgPlxuICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW0udmFsdWVzJCB8IGFzeW5jXCIgW3ZhbHVlXT1cIml0ZW1cIj5cbiAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxuICA8bWF0LXBsYWNlaG9sZGVyICpuZ0lmPVwiaW5saW5lXCI+e3sgaXRlbS5sYWJlbCB9fTwvbWF0LXBsYWNlaG9sZGVyPlxuPC9tYXQtZm9ybS1maWVsZD4tLT5cbiJdfQ==
|