@firestitch/filter 16.0.0 → 16.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/classes/actions-controller.d.ts +41 -41
- package/app/components/action-button/action-button.component.d.ts +9 -9
- package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
- package/app/components/actions/actions.component.d.ts +13 -13
- package/app/components/filter/filter.component.d.ts +204 -204
- package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
- package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
- package/app/components/filter-chips/filter-chips.component.d.ts +9 -9
- package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
- package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +9 -9
- package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
- package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
- package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
- package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
- package/app/components/filters-item/chips/chips.component.d.ts +13 -13
- package/app/components/filters-item/date/date.component.d.ts +20 -20
- package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
- package/app/components/filters-item/filter-item.component.d.ts +39 -39
- package/app/components/filters-item/range/range.component.d.ts +15 -15
- package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
- package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
- package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
- package/app/components/filters-item/select/select.component.d.ts +23 -23
- package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
- package/app/components/filters-item/text/text.component.d.ts +19 -19
- package/app/components/filters-item/week/week.component.d.ts +12 -12
- package/app/components/saved-filter/index.d.ts +3 -3
- package/app/components/saved-filter/saved-filter-edit/index.d.ts +1 -1
- package/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
- package/app/components/saved-filter/saved-filter-manage/index.d.ts +1 -1
- package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +16 -16
- package/app/components/saved-filter/saved-filters-menu/index.d.ts +1 -1
- package/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.d.ts +24 -24
- package/app/consts/query-param-delimiter.d.ts +1 -1
- package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
- package/app/directives/status-bar/status-bar.directive.d.ts +8 -8
- package/app/enums/action-mode.enum.d.ts +6 -6
- package/app/enums/action-type.enum.d.ts +9 -9
- package/app/enums/button-style.d.ts +9 -9
- package/app/enums/index.d.ts +6 -6
- package/app/enums/item-date-mode.enum.d.ts +5 -5
- package/app/enums/item-type.enum.d.ts +15 -15
- package/app/enums/picker-view-type.enum.d.ts +7 -7
- package/app/fs-filter.module.d.ts +70 -70
- package/app/helpers/build-query-params.d.ts +3 -3
- package/app/helpers/compare.d.ts +2 -2
- package/app/helpers/create-filter-item.d.ts +14 -14
- package/app/helpers/find-value.d.ts +1 -1
- package/app/helpers/get-range-name.d.ts +1 -1
- package/app/helpers/parse-date.d.ts +1 -1
- package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
- package/app/helpers/query-param-transformers.d.ts +2 -2
- package/app/helpers/restore-items.d.ts +12 -12
- package/app/injectors/filter-config.d.ts +2 -2
- package/app/injectors/filter-drawer-data.d.ts +2 -2
- package/app/injectors/filter-drawer-overlay.d.ts +2 -2
- package/app/interfaces/action.interface.d.ts +81 -81
- package/app/interfaces/config.interface.d.ts +66 -66
- package/app/interfaces/external-params.interface.d.ts +3 -3
- package/app/interfaces/filter.interface.d.ts +4 -4
- package/app/interfaces/index.d.ts +6 -6
- package/app/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
- package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
- package/app/interfaces/items/base.interface.d.ts +29 -29
- package/app/interfaces/items/checkbox.interface.d.ts +7 -7
- package/app/interfaces/items/chips.interface.d.ts +6 -6
- package/app/interfaces/items/date-range.interface.d.ts +8 -8
- package/app/interfaces/items/date.interface.d.ts +7 -7
- package/app/interfaces/items/range.interface.d.ts +13 -13
- package/app/interfaces/items/select.interface.d.ts +20 -20
- package/app/interfaces/items/text.interface.d.ts +9 -9
- package/app/interfaces/items/week.interface.d.ts +7 -7
- package/app/interfaces/saved-filters.interface.d.ts +18 -18
- package/app/interfaces/update-filter-item.interface.d.ts +4 -4
- package/app/models/action-menu-item.model.d.ts +23 -23
- package/app/models/action.model.d.ts +54 -54
- package/app/models/filter-config.d.ts +31 -31
- package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
- package/app/models/items/autocomplete-chips-item.d.ts +20 -20
- package/app/models/items/autocomplete-item.d.ts +11 -11
- package/app/models/items/base-item.d.ts +80 -80
- package/app/models/items/checkbox-item.d.ts +17 -17
- package/app/models/items/chips-item.d.ts +18 -18
- package/app/models/items/date/base-date-item.d.ts +14 -14
- package/app/models/items/date-item.d.ts +8 -8
- package/app/models/items/date-range/base-date-range-item.d.ts +17 -17
- package/app/models/items/date-range-item.d.ts +6 -6
- package/app/models/items/date-time-item.d.ts +7 -7
- package/app/models/items/date-time-range-item.d.ts +6 -6
- package/app/models/items/range-item.d.ts +19 -19
- package/app/models/items/select/base-select-item.d.ts +13 -13
- package/app/models/items/select/multiple-select-item.d.ts +14 -14
- package/app/models/items/select/simple-select-item.d.ts +14 -14
- package/app/models/items/select-item.d.ts +8 -8
- package/app/models/items/text-item.d.ts +15 -15
- package/app/models/items/week-item.d.ts +18 -18
- package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
- package/app/providers/filter-meta.d.ts +5 -5
- package/app/services/external-params/persistance-params-controller.service.d.ts +21 -21
- package/app/services/external-params/query-params-controller.service.d.ts +22 -22
- package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
- package/app/services/external-params-controller.service.d.ts +42 -42
- package/app/services/filter-overlay.service.d.ts +36 -36
- package/app/services/focus-controller.service.d.ts +18 -18
- package/app/services/items-store.service.d.ts +69 -69
- package/esm2022/app/classes/actions-controller.mjs +129 -129
- package/esm2022/app/components/action-button/action-button.component.mjs +20 -20
- package/esm2022/app/components/action-kebab-actions/action-kebab-actions.component.mjs +17 -17
- package/esm2022/app/components/actions/actions.component.mjs +39 -39
- package/esm2022/app/components/filter/filter.component.mjs +625 -625
- package/esm2022/app/components/filter-chip/filter-chip.component.mjs +91 -91
- package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +82 -82
- package/esm2022/app/components/filter-chips/filter-chips.component.mjs +17 -17
- package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +77 -77
- package/esm2022/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +26 -26
- package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +28 -28
- package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +43 -43
- package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +67 -67
- package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -22
- package/esm2022/app/components/filters-item/chips/chips.component.mjs +29 -29
- package/esm2022/app/components/filters-item/date/date.component.mjs +44 -44
- package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +35 -35
- package/esm2022/app/components/filters-item/filter-item.component.mjs +81 -81
- package/esm2022/app/components/filters-item/range/range.component.mjs +48 -48
- package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
- package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +32 -32
- package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +59 -59
- package/esm2022/app/components/filters-item/select/select.component.mjs +54 -54
- package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +45 -45
- package/esm2022/app/components/filters-item/text/text.component.mjs +50 -50
- package/esm2022/app/components/filters-item/week/week.component.mjs +25 -25
- package/esm2022/app/components/saved-filter/index.mjs +3 -3
- package/esm2022/app/components/saved-filter/saved-filter-edit/index.mjs +1 -1
- package/esm2022/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +54 -54
- package/esm2022/app/components/saved-filter/saved-filter-manage/index.mjs +1 -1
- package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +44 -44
- package/esm2022/app/components/saved-filter/saved-filters-menu/index.mjs +1 -1
- package/esm2022/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +60 -60
- package/esm2022/app/consts/query-param-delimiter.mjs +1 -1
- package/esm2022/app/directives/focus-to-item/focus-to-item.directive.mjs +140 -140
- package/esm2022/app/directives/status-bar/status-bar.directive.mjs +16 -16
- package/esm2022/app/enums/action-mode.enum.mjs +7 -7
- package/esm2022/app/enums/action-type.enum.mjs +10 -10
- package/esm2022/app/enums/button-style.mjs +10 -10
- package/esm2022/app/enums/index.mjs +6 -6
- package/esm2022/app/enums/item-date-mode.enum.mjs +6 -6
- package/esm2022/app/enums/item-type.enum.mjs +16 -16
- package/esm2022/app/enums/picker-view-type.enum.mjs +8 -8
- package/esm2022/app/fs-filter.module.mjs +260 -260
- package/esm2022/app/helpers/build-query-params.mjs +32 -32
- package/esm2022/app/helpers/compare.mjs +37 -37
- package/esm2022/app/helpers/create-filter-item.mjs +54 -54
- package/esm2022/app/helpers/find-value.mjs +12 -12
- package/esm2022/app/helpers/get-range-name.mjs +3 -3
- package/esm2022/app/helpers/parse-date.mjs +7 -7
- package/esm2022/app/helpers/parse-item-value-from-stored.mjs +76 -76
- package/esm2022/app/helpers/query-param-transformers.mjs +8 -8
- package/esm2022/app/helpers/restore-items.mjs +48 -48
- package/esm2022/app/injectors/filter-config.mjs +2 -2
- package/esm2022/app/injectors/filter-drawer-data.mjs +2 -2
- package/esm2022/app/injectors/filter-drawer-overlay.mjs +2 -2
- package/esm2022/app/interfaces/action.interface.mjs +1 -1
- package/esm2022/app/interfaces/config.interface.mjs +1 -1
- package/esm2022/app/interfaces/external-params.interface.mjs +1 -1
- package/esm2022/app/interfaces/filter.interface.mjs +1 -1
- package/esm2022/app/interfaces/index.mjs +6 -6
- package/esm2022/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/autocomplete.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/base.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/checkbox.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/chips.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/date-range.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/range.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/select.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/text.interface.mjs +1 -1
- package/esm2022/app/interfaces/items/week.interface.mjs +1 -1
- package/esm2022/app/interfaces/saved-filters.interface.mjs +1 -1
- package/esm2022/app/interfaces/update-filter-item.interface.mjs +1 -1
- package/esm2022/app/models/action-menu-item.model.mjs +72 -72
- package/esm2022/app/models/action.model.mjs +155 -155
- package/esm2022/app/models/filter-config.mjs +78 -78
- package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +15 -15
- package/esm2022/app/models/items/autocomplete-chips-item.mjs +66 -66
- package/esm2022/app/models/items/autocomplete-item.mjs +32 -32
- package/esm2022/app/models/items/base-item.mjs +250 -250
- package/esm2022/app/models/items/checkbox-item.mjs +51 -51
- package/esm2022/app/models/items/chips-item.mjs +89 -89
- package/esm2022/app/models/items/date/base-date-item.mjs +49 -49
- package/esm2022/app/models/items/date-item.mjs +18 -18
- package/esm2022/app/models/items/date-range/base-date-range-item.mjs +123 -123
- package/esm2022/app/models/items/date-range-item.mjs +6 -6
- package/esm2022/app/models/items/date-time-item.mjs +9 -9
- package/esm2022/app/models/items/date-time-range-item.mjs +6 -6
- package/esm2022/app/models/items/range-item.mjs +84 -84
- package/esm2022/app/models/items/select/base-select-item.mjs +39 -39
- package/esm2022/app/models/items/select/multiple-select-item.mjs +87 -87
- package/esm2022/app/models/items/select/simple-select-item.mjs +65 -65
- package/esm2022/app/models/items/select-item.mjs +11 -11
- package/esm2022/app/models/items/text-item.mjs +35 -35
- package/esm2022/app/models/items/week-item.mjs +94 -94
- package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +20 -20
- package/esm2022/app/providers/filter-meta.mjs +9 -9
- package/esm2022/app/services/external-params/persistance-params-controller.service.mjs +61 -61
- package/esm2022/app/services/external-params/query-params-controller.service.mjs +65 -65
- package/esm2022/app/services/external-params/saved-filters-controller.service.mjs +166 -166
- package/esm2022/app/services/external-params-controller.service.mjs +184 -184
- package/esm2022/app/services/filter-overlay.service.mjs +129 -129
- package/esm2022/app/services/focus-controller.service.mjs +28 -28
- package/esm2022/app/services/items-store.service.mjs +346 -346
- package/esm2022/firestitch-filter.mjs +4 -4
- package/esm2022/public_api.mjs +35 -35
- package/fesm2022/firestitch-filter.mjs +4516 -4516
- package/index.d.ts +5 -5
- package/package.json +1 -1
- package/public_api.d.ts +40 -40
|
@@ -1,92 +1,92 @@
|
|
|
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 "@angular/common";
|
|
12
|
-
import * as i3 from "@firestitch/chip";
|
|
13
|
-
import * as i4 from "../filter-chip-content/filter-chip-content.component";
|
|
14
|
-
export class FsFilterChipComponent {
|
|
15
|
-
_cdRef;
|
|
16
|
-
_focusController;
|
|
17
|
-
item;
|
|
18
|
-
itemVisible;
|
|
19
|
-
rangeItem;
|
|
20
|
-
chipDelayedRender$;
|
|
21
|
-
_chipRenderTimer$ = timer(500)
|
|
22
|
-
.pipe(mapTo(true));
|
|
23
|
-
_destroy$ = new Subject();
|
|
24
|
-
constructor(_cdRef, _focusController) {
|
|
25
|
-
this._cdRef = _cdRef;
|
|
26
|
-
this._focusController = _focusController;
|
|
27
|
-
}
|
|
28
|
-
ngOnInit() {
|
|
29
|
-
this.rangeItem = this.item.isTypeDateRange
|
|
30
|
-
|| this.item.isTypeRange
|
|
31
|
-
|| this.item.isTypeDateTimeRange;
|
|
32
|
-
this.listenValueChangesForRanges();
|
|
33
|
-
this._updateVisibility();
|
|
34
|
-
if (this.item.hasPendingValues) {
|
|
35
|
-
this.item.loadAsyncValues(false);
|
|
36
|
-
this.item.values$
|
|
37
|
-
.pipe(take(2), takeUntil(this._destroy$))
|
|
38
|
-
.subscribe(() => {
|
|
39
|
-
this._updateVisibility();
|
|
40
|
-
this._cdRef.markForCheck();
|
|
41
|
-
});
|
|
42
|
-
this._initDelayRender();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
ngOnDestroy() {
|
|
46
|
-
this._destroy$.next();
|
|
47
|
-
this._destroy$.complete();
|
|
48
|
-
}
|
|
49
|
-
focusOnItem(type = null) {
|
|
50
|
-
this._focusController.click(this.item, type);
|
|
51
|
-
}
|
|
52
|
-
removeItem(event, type = null) {
|
|
53
|
-
if (this.item instanceof RangeItem) {
|
|
54
|
-
this.item.clearRange(type);
|
|
55
|
-
}
|
|
56
|
-
else if (this.item instanceof DateRangeItem || this.item instanceof DateTimeRangeItem) {
|
|
57
|
-
this.item.clearDateRange(type);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
this.item.clear();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
listenValueChangesForRanges() {
|
|
64
|
-
this.item.value$
|
|
65
|
-
.pipe(distinctUntilChanged(), takeUntil(this._destroy$))
|
|
66
|
-
.subscribe(() => {
|
|
67
|
-
this._updateVisibility();
|
|
68
|
-
this._cdRef.markForCheck();
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
_updateVisibility() {
|
|
72
|
-
this.itemVisible = this.item.isChipVisible;
|
|
73
|
-
}
|
|
74
|
-
_initDelayRender() {
|
|
75
|
-
this.chipDelayedRender$ = combineLatest([
|
|
76
|
-
this.item.values$,
|
|
77
|
-
this._chipRenderTimer$.pipe(startWith(false)),
|
|
78
|
-
])
|
|
79
|
-
.pipe(map(([values, timerValue]) => {
|
|
80
|
-
return !!values || timerValue;
|
|
81
|
-
}));
|
|
82
|
-
}
|
|
83
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FocusControllerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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;margin-right:4px;margin-bottom:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "value", "icon", "image", "selected", "size", "backgroundColor", "borderColor", "color", "outlined"], outputs: ["selectedToggled", "removed"] }, { kind: "component", type: i4.FsFilterChipContentComponent, selector: "fs-filter-chip-content", inputs: ["item", "type"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
85
|
-
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipComponent, decorators: [{
|
|
87
|
-
type: Component,
|
|
88
|
-
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;margin-right:4px;margin-bottom:4px}\n"] }]
|
|
89
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FocusControllerService }]; }, propDecorators: { item: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}] } });
|
|
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 "@angular/common";
|
|
12
|
+
import * as i3 from "@firestitch/chip";
|
|
13
|
+
import * as i4 from "../filter-chip-content/filter-chip-content.component";
|
|
14
|
+
export class FsFilterChipComponent {
|
|
15
|
+
_cdRef;
|
|
16
|
+
_focusController;
|
|
17
|
+
item;
|
|
18
|
+
itemVisible;
|
|
19
|
+
rangeItem;
|
|
20
|
+
chipDelayedRender$;
|
|
21
|
+
_chipRenderTimer$ = timer(500)
|
|
22
|
+
.pipe(mapTo(true));
|
|
23
|
+
_destroy$ = new Subject();
|
|
24
|
+
constructor(_cdRef, _focusController) {
|
|
25
|
+
this._cdRef = _cdRef;
|
|
26
|
+
this._focusController = _focusController;
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.rangeItem = this.item.isTypeDateRange
|
|
30
|
+
|| this.item.isTypeRange
|
|
31
|
+
|| this.item.isTypeDateTimeRange;
|
|
32
|
+
this.listenValueChangesForRanges();
|
|
33
|
+
this._updateVisibility();
|
|
34
|
+
if (this.item.hasPendingValues) {
|
|
35
|
+
this.item.loadAsyncValues(false);
|
|
36
|
+
this.item.values$
|
|
37
|
+
.pipe(take(2), takeUntil(this._destroy$))
|
|
38
|
+
.subscribe(() => {
|
|
39
|
+
this._updateVisibility();
|
|
40
|
+
this._cdRef.markForCheck();
|
|
41
|
+
});
|
|
42
|
+
this._initDelayRender();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
this._destroy$.next();
|
|
47
|
+
this._destroy$.complete();
|
|
48
|
+
}
|
|
49
|
+
focusOnItem(type = null) {
|
|
50
|
+
this._focusController.click(this.item, type);
|
|
51
|
+
}
|
|
52
|
+
removeItem(event, type = null) {
|
|
53
|
+
if (this.item instanceof RangeItem) {
|
|
54
|
+
this.item.clearRange(type);
|
|
55
|
+
}
|
|
56
|
+
else if (this.item instanceof DateRangeItem || this.item instanceof DateTimeRangeItem) {
|
|
57
|
+
this.item.clearDateRange(type);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.item.clear();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
listenValueChangesForRanges() {
|
|
64
|
+
this.item.value$
|
|
65
|
+
.pipe(distinctUntilChanged(), takeUntil(this._destroy$))
|
|
66
|
+
.subscribe(() => {
|
|
67
|
+
this._updateVisibility();
|
|
68
|
+
this._cdRef.markForCheck();
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
_updateVisibility() {
|
|
72
|
+
this.itemVisible = this.item.isChipVisible;
|
|
73
|
+
}
|
|
74
|
+
_initDelayRender() {
|
|
75
|
+
this.chipDelayedRender$ = combineLatest([
|
|
76
|
+
this.item.values$,
|
|
77
|
+
this._chipRenderTimer$.pipe(startWith(false)),
|
|
78
|
+
])
|
|
79
|
+
.pipe(map(([values, timerValue]) => {
|
|
80
|
+
return !!values || timerValue;
|
|
81
|
+
}));
|
|
82
|
+
}
|
|
83
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.FocusControllerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
84
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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;margin-right:4px;margin-bottom:4px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "value", "icon", "image", "selected", "size", "backgroundColor", "borderColor", "color", "outlined"], outputs: ["selectedToggled", "removed"] }, { kind: "component", type: i4.FsFilterChipContentComponent, selector: "fs-filter-chip-content", inputs: ["item", "type"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
85
|
+
}
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipComponent, decorators: [{
|
|
87
|
+
type: Component,
|
|
88
|
+
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;margin-right:4px;margin-bottom:4px}\n"] }]
|
|
89
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.FocusControllerService }]; }, propDecorators: { item: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}] } });
|
|
92
92
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlci1jaGlwL2ZpbHRlci1jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC9maWx0ZXItY2hpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVNqRixNQUFNLE9BQU8scUJBQXFCO0lBaUJ0QjtJQUNBO0lBaEJNLElBQUksQ0FBOEI7SUFFM0MsV0FBVyxDQUFVO0lBQ3JCLFNBQVMsQ0FBVTtJQUVuQixrQkFBa0IsQ0FBc0I7SUFFdkMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztTQUNuQyxJQUFJLENBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUNaLENBQUM7SUFFSSxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUVsQyxZQUNVLE1BQXlCLEVBQ3pCLGdCQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO0lBRWxELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWU7ZUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO2VBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFFbkMsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWpDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztpQkFDZCxJQUFJLENBQ0gsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2lCQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDN0IsQ0FBQyxDQUFDLENBQUM7WUFFTCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sV0FBVyxDQUFDLElBQUksR0FBRyxJQUFJO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWlCLEVBQUUsSUFBSSxHQUFHLElBQUk7UUFDOUMsSUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLFNBQVMsRUFBRTtZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjthQUFNLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxhQUFhLElBQUksSUFBSSxDQUFDLElBQUksWUFBWSxpQkFBaUIsRUFBRTtZQUN2RixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTSwyQkFBMkI7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2FBQ2IsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQzFCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDN0MsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsYUFBYSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QyxDQUFDO2FBQ0MsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLFVBQVUsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQzt3R0E1RlUscUJBQXFCOzRGQUFyQixxQkFBcUIsZ0ZDeEJsQywyekRBMkRBOzs0RkRuQ2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGdCQUFnQixtQkFHVCx1QkFBdUIsQ0FBQyxNQUFNOzZJQUkvQixJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBtYXBUbywgc3RhcnRXaXRoLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IElGaWx0ZXJDb25maWdJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5pbXBvcnQgeyBEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBEYXRlVGltZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZm9jdXMtY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItY2hpcCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItY2hpcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1jaGlwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckNoaXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCkgcHVibGljIGl0ZW06IEJhc2VJdGVtPElGaWx0ZXJDb25maWdJdGVtPjtcblxuICBwdWJsaWMgaXRlbVZpc2libGU6IGJvb2xlYW47XG4gIHB1YmxpYyByYW5nZUl0ZW06IGJvb2xlYW47XG5cbiAgcHVibGljIGNoaXBEZWxheWVkUmVuZGVyJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcml2YXRlIF9jaGlwUmVuZGVyVGltZXIkID0gdGltZXIoNTAwKVxuICAgIC5waXBlKFxuICAgICAgbWFwVG8odHJ1ZSksXG4gICAgKTtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgX2ZvY3VzQ29udHJvbGxlcjogRm9jdXNDb250cm9sbGVyU2VydmljZSxcbiAgKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yYW5nZUl0ZW0gPSB0aGlzLml0ZW0uaXNUeXBlRGF0ZVJhbmdlXG4gICAgICB8fCB0aGlzLml0ZW0uaXNUeXBlUmFuZ2VcbiAgICAgIHx8IHRoaXMuaXRlbS5pc1R5cGVEYXRlVGltZVJhbmdlO1xuXG4gICAgdGhpcy5saXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKTtcbiAgICB0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCk7XG5cbiAgICBpZiAodGhpcy5pdGVtLmhhc1BlbmRpbmdWYWx1ZXMpIHtcbiAgICAgIHRoaXMuaXRlbS5sb2FkQXN5bmNWYWx1ZXMoZmFsc2UpO1xuXG4gICAgICB0aGlzLml0ZW0udmFsdWVzJFxuICAgICAgICAucGlwZShcbiAgICAgICAgICB0YWtlKDIpLFxuICAgICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICAgIClcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fdXBkYXRlVmlzaWJpbGl0eSgpO1xuICAgICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5faW5pdERlbGF5UmVuZGVyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzT25JdGVtKHR5cGUgPSBudWxsKSB7XG4gICAgdGhpcy5fZm9jdXNDb250cm9sbGVyLmNsaWNrKHRoaXMuaXRlbSwgdHlwZSk7XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlSXRlbShldmVudDogTW91c2VFdmVudCwgdHlwZSA9IG51bGwpIHtcbiAgICBpZiAodGhpcy5pdGVtIGluc3RhbmNlb2YgUmFuZ2VJdGVtKSB7XG4gICAgICB0aGlzLml0ZW0uY2xlYXJSYW5nZSh0eXBlKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbSBpbnN0YW5jZW9mIERhdGVSYW5nZUl0ZW0gfHwgdGhpcy5pdGVtIGluc3RhbmNlb2YgRGF0ZVRpbWVSYW5nZUl0ZW0pIHtcbiAgICAgIHRoaXMuaXRlbS5jbGVhckRhdGVSYW5nZSh0eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pdGVtLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxpc3RlblZhbHVlQ2hhbmdlc0ZvclJhbmdlcygpIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCk7XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWaXNpYmlsaXR5KCkge1xuICAgIHRoaXMuaXRlbVZpc2libGUgPSB0aGlzLml0ZW0uaXNDaGlwVmlzaWJsZTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXREZWxheVJlbmRlcigpIHtcbiAgICB0aGlzLmNoaXBEZWxheWVkUmVuZGVyJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5pdGVtLnZhbHVlcyQsXG4gICAgICB0aGlzLl9jaGlwUmVuZGVyVGltZXIkLnBpcGUoc3RhcnRXaXRoKGZhbHNlKSksXG4gICAgXSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKFt2YWx1ZXMsIHRpbWVyVmFsdWVdKSA9PiB7XG4gICAgICAgICAgcmV0dXJuICEhdmFsdWVzIHx8IHRpbWVyVmFsdWU7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmhhc1BlbmRpbmdWYWx1ZXMgfHwgKGNoaXBEZWxheWVkUmVuZGVyJCB8IGFzeW5jKVwiPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicmFuZ2VJdGVtOyBlbHNlIGRlZmF1bHRDaGlwXCI+XG4gICAgPGZzLWNoaXBcbiAgICAgICpuZ0lmPVwiaXRlbS5tb2RlbD8ubWluIHx8IGl0ZW0ubW9kZWw/LmZyb21cIlxuICAgICAgW3ZhbHVlXT1cIml0ZW1cIlxuICAgICAgW3NlbGVjdGFibGVdPVwiZmFsc2VcIlxuICAgICAgW3JlbW92YWJsZV09XCJpdGVtLnNob3dDbGVhclwiXG4gICAgICBzaXplPVwic21hbGxcIlxuICAgICAgKGNsaWNrKT1cImZvY3VzT25JdGVtKCdmcm9tJylcIlxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlSXRlbSgkZXZlbnQsICdmcm9tJylcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwQ29udGVudFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIHR5cGU6ICdmcm9tJyB9XCI+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZnMtY2hpcD5cblxuICAgIDxmcy1jaGlwXG4gICAgICAqbmdJZj1cIml0ZW0ubW9kZWw/Lm1heCB8fCBpdGVtLm1vZGVsPy50b1wiXG4gICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICBbcmVtb3ZhYmxlXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAoY2xpY2spPVwiZm9jdXNPbkl0ZW0oJ3RvJylcIlxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlSXRlbSgkZXZlbnQsICd0bycpXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpcENvbnRlbnRcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLCB0eXBlOiAndG8nIH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1jaGlwPlxuXG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdENoaXA+XG4gICAgPGZzLWNoaXBcbiAgICAgICpuZ0lmPVwiaXRlbVZpc2libGVcIlxuICAgICAgW3ZhbHVlXT1cIml0ZW1cIlxuICAgICAgW3NlbGVjdGFibGVdPVwiZmFsc2VcIlxuICAgICAgW3JlbW92YWJsZV09XCJpdGVtLnNob3dDbGVhclwiXG4gICAgICBzaXplPVwic21hbGxcIlxuICAgICAgKGNsaWNrKT1cImZvY3VzT25JdGVtKClcIlxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlSXRlbSgkZXZlbnQpXCI+XG4gICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2hpcENvbnRlbnRcIlxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1jaGlwPlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjY2hpcENvbnRlbnQgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LXR5cGU9XCJ0eXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLmhhc1BlbmRpbmdWYWx1ZXMgJiYgIWl0ZW0ubG9hZGluZzsgZWxzZSBsb2RhaW5nVmFsdWVzXCI+XG4gICAgICA8ZnMtZmlsdGVyLWNoaXAtY29udGVudCBbaXRlbV09XCJpdGVtXCIgW3R5cGVdPVwidHlwZVwiPjwvZnMtZmlsdGVyLWNoaXAtY29udGVudD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy10ZW1wbGF0ZSAjbG9kYWluZ1ZhbHVlcz5cbiAgICAgIExvYWRpbmcuLi5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbiJdfQ==
|
|
@@ -1,83 +1,83 @@
|
|
|
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
|
-
_cdRef;
|
|
8
|
-
item;
|
|
9
|
-
type;
|
|
10
|
-
content;
|
|
11
|
-
_destroy$ = new Subject();
|
|
12
|
-
constructor(_cdRef) {
|
|
13
|
-
this._cdRef = _cdRef;
|
|
14
|
-
}
|
|
15
|
-
ngOnInit() {
|
|
16
|
-
this.listenValueChangesForRanges();
|
|
17
|
-
}
|
|
18
|
-
ngOnDestroy() {
|
|
19
|
-
this._destroy$.next();
|
|
20
|
-
this._destroy$.complete();
|
|
21
|
-
}
|
|
22
|
-
listenValueChangesForRanges() {
|
|
23
|
-
this.item.value$
|
|
24
|
-
.pipe(takeUntil(this._destroy$))
|
|
25
|
-
.subscribe(() => {
|
|
26
|
-
this.content = this._getContent();
|
|
27
|
-
this._cdRef.detectChanges();
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
_getContent() {
|
|
31
|
-
const result = this.item.getChipsContent(this.type);
|
|
32
|
-
if (this.item.chipLabel !== undefined) {
|
|
33
|
-
if (this.item.chipLabel === '') {
|
|
34
|
-
return `${result}`;
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
if (Array.isArray(this.item.chipLabel)) {
|
|
38
|
-
const label = getLabelFromArray(this.item.chipLabel, this.type);
|
|
39
|
-
return `${label}: ${result}`;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
return `${this.item.chipLabel}: ${result}`;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
if (Array.isArray(this.item.label)) {
|
|
48
|
-
const label = getLabelFromArray(this.item.label, this.type);
|
|
49
|
-
return `${label}: ${result}`;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
if (this.item.isTypeCheckbox) {
|
|
53
|
-
return result;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
return `${this.item.label}: ${result}`;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipContentComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFilterChipContentComponent, selector: "fs-filter-chip-content", inputs: { item: "item", type: "type" }, ngImport: i0, template: "{{ content }}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
-
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipContentComponent, decorators: [{
|
|
65
|
-
type: Component,
|
|
66
|
-
args: [{ selector: 'fs-filter-chip-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "{{ content }}\n" }]
|
|
67
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], type: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}] } });
|
|
72
|
-
function getLabelFromArray(labelArr, type) {
|
|
73
|
-
if (type === 'from' && labelArr[0]) {
|
|
74
|
-
return `${labelArr[0]}`;
|
|
75
|
-
}
|
|
76
|
-
else if (type === 'to' && labelArr[1]) {
|
|
77
|
-
return `${labelArr[1]}`;
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
return '';
|
|
81
|
-
}
|
|
82
|
-
}
|
|
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
|
+
_cdRef;
|
|
8
|
+
item;
|
|
9
|
+
type;
|
|
10
|
+
content;
|
|
11
|
+
_destroy$ = new Subject();
|
|
12
|
+
constructor(_cdRef) {
|
|
13
|
+
this._cdRef = _cdRef;
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.listenValueChangesForRanges();
|
|
17
|
+
}
|
|
18
|
+
ngOnDestroy() {
|
|
19
|
+
this._destroy$.next();
|
|
20
|
+
this._destroy$.complete();
|
|
21
|
+
}
|
|
22
|
+
listenValueChangesForRanges() {
|
|
23
|
+
this.item.value$
|
|
24
|
+
.pipe(takeUntil(this._destroy$))
|
|
25
|
+
.subscribe(() => {
|
|
26
|
+
this.content = this._getContent();
|
|
27
|
+
this._cdRef.detectChanges();
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
_getContent() {
|
|
31
|
+
const result = this.item.getChipsContent(this.type);
|
|
32
|
+
if (this.item.chipLabel !== undefined) {
|
|
33
|
+
if (this.item.chipLabel === '') {
|
|
34
|
+
return `${result}`;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
if (Array.isArray(this.item.chipLabel)) {
|
|
38
|
+
const label = getLabelFromArray(this.item.chipLabel, this.type);
|
|
39
|
+
return `${label}: ${result}`;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return `${this.item.chipLabel}: ${result}`;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
if (Array.isArray(this.item.label)) {
|
|
48
|
+
const label = getLabelFromArray(this.item.label, this.type);
|
|
49
|
+
return `${label}: ${result}`;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
if (this.item.isTypeCheckbox) {
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return `${this.item.label}: ${result}`;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipContentComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFilterChipContentComponent, selector: "fs-filter-chip-content", inputs: { item: "item", type: "type" }, ngImport: i0, template: "{{ content }}\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipContentComponent, decorators: [{
|
|
65
|
+
type: Component,
|
|
66
|
+
args: [{ selector: 'fs-filter-chip-content', changeDetection: ChangeDetectionStrategy.OnPush, template: "{{ content }}\n" }]
|
|
67
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], type: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
function getLabelFromArray(labelArr, type) {
|
|
73
|
+
if (type === 'from' && labelArr[0]) {
|
|
74
|
+
return `${labelArr[0]}`;
|
|
75
|
+
}
|
|
76
|
+
else if (type === 'to' && labelArr[1]) {
|
|
77
|
+
return `${labelArr[1]}`;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
83
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWNoaXAtY29udGVudC9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC1jb250ZW50L2ZpbHRlci1jaGlwLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVXhELE1BQU0sT0FBTyw0QkFBNEI7SUFTbkI7SUFQSixJQUFJLENBQThCO0lBQ2xDLElBQUksQ0FBZ0I7SUFFN0IsT0FBTyxDQUFDO0lBRVAsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFbEMsWUFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7SUFDN0MsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUN0QyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sR0FBRyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDNUM7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RCxPQUFPLEdBQUcsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQzVCLE9BQU8sTUFBTSxDQUFDO2lCQUNmO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO0lBQ0gsQ0FBQzt3R0ExRFUsNEJBQTRCOzRGQUE1Qiw0QkFBNEIsc0dDdEJ6QyxpQkFDQTs7NEZEcUJhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07d0dBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSzs7QUEwRFIsU0FBUyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSTtJQUN2QyxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2xDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUN6QjtTQUFNLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDdkMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxPQUFPLEVBQUUsQ0FBQztLQUNYO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnSXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtZmlsdGVyLWNoaXAtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJDaGlwQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+O1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogJ2Zyb20nIHwgJ3RvJztcblxuICBwdWJsaWMgY29udGVudDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5saXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKSB7XG4gICAgdGhpcy5pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5fZ2V0Q29udGVudCgpO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvbnRlbnQoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5pdGVtLmdldENoaXBzQ29udGVudCh0aGlzLnR5cGUpO1xuXG4gICAgaWYgKHRoaXMuaXRlbS5jaGlwTGFiZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMuaXRlbS5jaGlwTGFiZWwgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBgJHtyZXN1bHR9YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbS5jaGlwTGFiZWwpKSB7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbEZyb21BcnJheSh0aGlzLml0ZW0uY2hpcExhYmVsLCB0aGlzLnR5cGUpO1xuICAgICAgICAgIHJldHVybiBgJHtsYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGAke3RoaXMuaXRlbS5jaGlwTGFiZWx9OiAke3Jlc3VsdH1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbS5sYWJlbCkpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbEZyb21BcnJheSh0aGlzLml0ZW0ubGFiZWwsIHRoaXMudHlwZSk7XG4gICAgICAgIHJldHVybiBgJHtsYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pdGVtLmlzVHlwZUNoZWNrYm94KSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5pdGVtLmxhYmVsfTogJHtyZXN1bHR9YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRMYWJlbEZyb21BcnJheShsYWJlbEFyciwgdHlwZSkge1xuICBpZiAodHlwZSA9PT0gJ2Zyb20nICYmIGxhYmVsQXJyWzBdKSB7XG4gICAgcmV0dXJuIGAke2xhYmVsQXJyWzBdfWA7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RvJyAmJiBsYWJlbEFyclsxXSkge1xuICAgIHJldHVybiBgJHtsYWJlbEFyclsxXX1gO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwie3sgY29udGVudCB9fVxuIl19
|
|
@@ -1,18 +1,18 @@
|
|
|
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 "@angular/common";
|
|
5
|
-
import * as i2 from "../filter-chip/filter-chip.component";
|
|
6
|
-
export class FsFilterChipsComponent {
|
|
7
|
-
filters;
|
|
8
|
-
ItemType = ItemType;
|
|
9
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: { filters: "filters" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FsFilterChipComponent, selector: "fs-filter-chip", inputs: ["item"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
|
-
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipsComponent, decorators: [{
|
|
13
|
-
type: Component,
|
|
14
|
-
args: [{ selector: 'fs-filter-chips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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" }]
|
|
15
|
-
}], propDecorators: { filters: [{
|
|
16
|
-
type: Input
|
|
17
|
-
}] } });
|
|
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 "@angular/common";
|
|
5
|
+
import * as i2 from "../filter-chip/filter-chip.component";
|
|
6
|
+
export class FsFilterChipsComponent {
|
|
7
|
+
filters;
|
|
8
|
+
ItemType = ItemType;
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: { filters: "filters" }, ngImport: i0, template: "<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", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FsFilterChipComponent, selector: "fs-filter-chip", inputs: ["item"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterChipsComponent, decorators: [{
|
|
13
|
+
type: Component,
|
|
14
|
+
args: [{ selector: 'fs-filter-chips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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" }]
|
|
15
|
+
}], propDecorators: { filters: [{
|
|
16
|
+
type: Input
|
|
17
|
+
}] } });
|
|
18
18
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcHMvZmlsdGVyLWNoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcHMvZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7QUFVdkMsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQixPQUFPLENBQWtCO0lBRWxDLFFBQVEsR0FBRyxRQUFRLENBQUM7d0dBSmhCLHNCQUFzQjs0RkFBdEIsc0JBQXNCLHVGQ1puQyw4T0FLQTs7NEZET2Esc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkvQixPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcyc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1jaGlwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItY2hpcHMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVyQ2hpcHNDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBmaWx0ZXJzOiBCYXNlSXRlbTxhbnk+W107XG5cbiAgcHVibGljIEl0ZW1UeXBlID0gSXRlbVR5cGU7XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGZpbHRlcnNcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihpdGVtLnZhbHVlJCB8IGFzeW5jKSAhPT0gdW5kZWZpbmVkICYmIGl0ZW0udHlwZSAhPT0gSXRlbVR5cGUuS2V5d29yZFwiPlxuICAgIDxmcy1maWx0ZXItY2hpcCBbaXRlbV09XCJpdGVtXCI+PC9mcy1maWx0ZXItY2hpcD5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|