@firestitch/filter 13.1.2 → 13.1.3

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.
Files changed (209) hide show
  1. package/app/classes/actions-controller.d.ts +41 -41
  2. package/app/components/action-button/action-button.component.d.ts +9 -9
  3. package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
  4. package/app/components/actions/actions.component.d.ts +12 -12
  5. package/app/components/filter/filter.component.d.ts +198 -197
  6. package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
  7. package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
  8. package/app/components/filter-chips/filter-chips.component.d.ts +10 -10
  9. package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
  10. package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
  11. package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
  12. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
  13. package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
  14. package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
  15. package/app/components/filters-item/chips/chips.component.d.ts +13 -13
  16. package/app/components/filters-item/date/date.component.d.ts +20 -20
  17. package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
  18. package/app/components/filters-item/filter-item.component.d.ts +39 -39
  19. package/app/components/filters-item/range/range.component.d.ts +15 -15
  20. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
  21. package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
  22. package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
  23. package/app/components/filters-item/select/select.component.d.ts +23 -23
  24. package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
  25. package/app/components/filters-item/text/text.component.d.ts +19 -19
  26. package/app/components/filters-item/week/week.component.d.ts +12 -12
  27. package/app/components/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
  28. package/app/components/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
  29. package/app/consts/query-param-delimiter.d.ts +1 -1
  30. package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
  31. package/app/directives/status-bar/status-bar.directive.d.ts +8 -8
  32. package/app/enums/action-mode.enum.d.ts +6 -6
  33. package/app/enums/action-type.enum.d.ts +9 -9
  34. package/app/enums/button-style.d.ts +9 -9
  35. package/app/enums/index.d.ts +6 -6
  36. package/app/enums/item-date-mode.enum.d.ts +5 -5
  37. package/app/enums/item-type.enum.d.ts +15 -15
  38. package/app/enums/picker-view-type.enum.d.ts +7 -7
  39. package/app/fs-filter.module.d.ts +68 -68
  40. package/app/helpers/build-query-params.d.ts +3 -3
  41. package/app/helpers/compare.d.ts +2 -2
  42. package/app/helpers/create-filter-item.d.ts +14 -14
  43. package/app/helpers/find-value.d.ts +1 -1
  44. package/app/helpers/get-range-name.d.ts +1 -1
  45. package/app/helpers/parse-date.d.ts +1 -1
  46. package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
  47. package/app/helpers/query-param-transformers.d.ts +2 -2
  48. package/app/helpers/restore-items.d.ts +12 -12
  49. package/app/injectors/filter-config.d.ts +2 -2
  50. package/app/injectors/filter-drawer-data.d.ts +2 -2
  51. package/app/injectors/filter-drawer-overlay.d.ts +2 -2
  52. package/app/interfaces/action.interface.d.ts +80 -80
  53. package/app/interfaces/config.interface.d.ts +66 -66
  54. package/app/interfaces/external-params.interface.d.ts +3 -3
  55. package/app/interfaces/filter.interface.d.ts +4 -4
  56. package/app/interfaces/index.d.ts +6 -6
  57. package/app/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
  58. package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
  59. package/app/interfaces/items/base.interface.d.ts +29 -29
  60. package/app/interfaces/items/checkbox.interface.d.ts +7 -7
  61. package/app/interfaces/items/chips.interface.d.ts +6 -6
  62. package/app/interfaces/items/date-range.interface.d.ts +8 -8
  63. package/app/interfaces/items/date.interface.d.ts +7 -7
  64. package/app/interfaces/items/range.interface.d.ts +13 -13
  65. package/app/interfaces/items/select.interface.d.ts +20 -20
  66. package/app/interfaces/items/text.interface.d.ts +9 -9
  67. package/app/interfaces/items/week.interface.d.ts +7 -7
  68. package/app/interfaces/saved-filters.interface.d.ts +18 -18
  69. package/app/interfaces/update-filter-item.interface.d.ts +4 -4
  70. package/app/models/action-menu-item.model.d.ts +23 -23
  71. package/app/models/action.model.d.ts +50 -50
  72. package/app/models/filter-config.d.ts +31 -31
  73. package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  74. package/app/models/items/autocomplete-chips-item.d.ts +20 -20
  75. package/app/models/items/autocomplete-item.d.ts +11 -11
  76. package/app/models/items/base-item.d.ts +80 -80
  77. package/app/models/items/checkbox-item.d.ts +17 -17
  78. package/app/models/items/chips-item.d.ts +18 -18
  79. package/app/models/items/date/base-date-item.d.ts +14 -14
  80. package/app/models/items/date-item.d.ts +8 -8
  81. package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
  82. package/app/models/items/date-range-item.d.ts +6 -6
  83. package/app/models/items/date-time-item.d.ts +7 -7
  84. package/app/models/items/date-time-range-item.d.ts +6 -6
  85. package/app/models/items/range-item.d.ts +23 -23
  86. package/app/models/items/select/base-select-item.d.ts +13 -13
  87. package/app/models/items/select/multiple-select-item.d.ts +14 -14
  88. package/app/models/items/select/simple-select-item.d.ts +14 -14
  89. package/app/models/items/select-item.d.ts +8 -8
  90. package/app/models/items/text-item.d.ts +15 -15
  91. package/app/models/items/week-item.d.ts +18 -18
  92. package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
  93. package/app/providers/filter-meta.d.ts +5 -5
  94. package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
  95. package/app/services/external-params/query-params-controller.service.d.ts +22 -22
  96. package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
  97. package/app/services/external-params-controller.service.d.ts +42 -42
  98. package/app/services/filter-overlay.service.d.ts +36 -36
  99. package/app/services/focus-controller.service.d.ts +18 -18
  100. package/app/services/items-store.service.d.ts +68 -67
  101. package/esm2020/app/classes/actions-controller.mjs +126 -126
  102. package/esm2020/app/components/action-button/action-button.component.mjs +23 -23
  103. package/esm2020/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
  104. package/esm2020/app/components/actions/actions.component.mjs +38 -38
  105. package/esm2020/app/components/filter/filter.component.mjs +602 -599
  106. package/esm2020/app/components/filter-chip/filter-chip.component.mjs +85 -85
  107. package/esm2020/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
  108. package/esm2020/app/components/filter-chips/filter-chips.component.mjs +22 -22
  109. package/esm2020/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
  110. package/esm2020/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
  111. package/esm2020/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
  112. package/esm2020/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
  113. package/esm2020/app/components/filters-item/base-item/base-item.component.mjs +62 -62
  114. package/esm2020/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
  115. package/esm2020/app/components/filters-item/chips/chips.component.mjs +27 -27
  116. package/esm2020/app/components/filters-item/date/date.component.mjs +42 -42
  117. package/esm2020/app/components/filters-item/date-range/date-range.component.mjs +33 -33
  118. package/esm2020/app/components/filters-item/filter-item.component.mjs +79 -79
  119. package/esm2020/app/components/filters-item/range/range.component.mjs +44 -44
  120. package/esm2020/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
  121. package/esm2020/app/components/filters-item/select/groups/groups.component.mjs +29 -29
  122. package/esm2020/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
  123. package/esm2020/app/components/filters-item/select/select.component.mjs +50 -50
  124. package/esm2020/app/components/filters-item/select/simple/simple.component.mjs +42 -42
  125. package/esm2020/app/components/filters-item/text/text.component.mjs +48 -48
  126. package/esm2020/app/components/filters-item/week/week.component.mjs +24 -24
  127. package/esm2020/app/components/saved-filter-edit/saved-filter-edit.component.mjs +54 -54
  128. package/esm2020/app/components/saved-filters-menu/saved-filters-menu.component.mjs +50 -50
  129. package/esm2020/app/consts/query-param-delimiter.mjs +1 -1
  130. package/esm2020/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
  131. package/esm2020/app/directives/status-bar/status-bar.directive.mjs +15 -15
  132. package/esm2020/app/enums/action-mode.enum.mjs +7 -7
  133. package/esm2020/app/enums/action-type.enum.mjs +10 -10
  134. package/esm2020/app/enums/button-style.mjs +10 -10
  135. package/esm2020/app/enums/index.mjs +6 -6
  136. package/esm2020/app/enums/item-date-mode.enum.mjs +6 -6
  137. package/esm2020/app/enums/item-type.enum.mjs +16 -16
  138. package/esm2020/app/enums/picker-view-type.enum.mjs +8 -8
  139. package/esm2020/app/fs-filter.module.mjs +255 -255
  140. package/esm2020/app/helpers/build-query-params.mjs +32 -32
  141. package/esm2020/app/helpers/compare.mjs +37 -37
  142. package/esm2020/app/helpers/create-filter-item.mjs +54 -54
  143. package/esm2020/app/helpers/find-value.mjs +12 -12
  144. package/esm2020/app/helpers/get-range-name.mjs +8 -8
  145. package/esm2020/app/helpers/parse-date.mjs +7 -7
  146. package/esm2020/app/helpers/parse-item-value-from-stored.mjs +80 -80
  147. package/esm2020/app/helpers/query-param-transformers.mjs +8 -8
  148. package/esm2020/app/helpers/restore-items.mjs +48 -48
  149. package/esm2020/app/injectors/filter-config.mjs +2 -2
  150. package/esm2020/app/injectors/filter-drawer-data.mjs +2 -2
  151. package/esm2020/app/injectors/filter-drawer-overlay.mjs +2 -2
  152. package/esm2020/app/interfaces/action.interface.mjs +1 -1
  153. package/esm2020/app/interfaces/config.interface.mjs +1 -1
  154. package/esm2020/app/interfaces/external-params.interface.mjs +1 -1
  155. package/esm2020/app/interfaces/filter.interface.mjs +1 -1
  156. package/esm2020/app/interfaces/index.mjs +6 -6
  157. package/esm2020/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
  158. package/esm2020/app/interfaces/items/autocomplete.interface.mjs +1 -1
  159. package/esm2020/app/interfaces/items/base.interface.mjs +1 -1
  160. package/esm2020/app/interfaces/items/checkbox.interface.mjs +1 -1
  161. package/esm2020/app/interfaces/items/chips.interface.mjs +1 -1
  162. package/esm2020/app/interfaces/items/date-range.interface.mjs +1 -1
  163. package/esm2020/app/interfaces/items/date.interface.mjs +1 -1
  164. package/esm2020/app/interfaces/items/range.interface.mjs +1 -1
  165. package/esm2020/app/interfaces/items/select.interface.mjs +1 -1
  166. package/esm2020/app/interfaces/items/text.interface.mjs +1 -1
  167. package/esm2020/app/interfaces/items/week.interface.mjs +1 -1
  168. package/esm2020/app/interfaces/saved-filters.interface.mjs +1 -1
  169. package/esm2020/app/interfaces/update-filter-item.interface.mjs +1 -1
  170. package/esm2020/app/models/action-menu-item.model.mjs +66 -66
  171. package/esm2020/app/models/action.model.mjs +114 -114
  172. package/esm2020/app/models/filter-config.mjs +66 -66
  173. package/esm2020/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
  174. package/esm2020/app/models/items/autocomplete-chips-item.mjs +60 -60
  175. package/esm2020/app/models/items/autocomplete-item.mjs +32 -32
  176. package/esm2020/app/models/items/base-item.mjs +233 -233
  177. package/esm2020/app/models/items/checkbox-item.mjs +49 -49
  178. package/esm2020/app/models/items/chips-item.mjs +88 -88
  179. package/esm2020/app/models/items/date/base-date-item.mjs +47 -47
  180. package/esm2020/app/models/items/date-item.mjs +18 -18
  181. package/esm2020/app/models/items/date-range/base-date-range-item.mjs +134 -134
  182. package/esm2020/app/models/items/date-range-item.mjs +6 -6
  183. package/esm2020/app/models/items/date-time-item.mjs +9 -9
  184. package/esm2020/app/models/items/date-time-range-item.mjs +6 -6
  185. package/esm2020/app/models/items/range-item.mjs +82 -82
  186. package/esm2020/app/models/items/select/base-select-item.mjs +36 -36
  187. package/esm2020/app/models/items/select/multiple-select-item.mjs +87 -87
  188. package/esm2020/app/models/items/select/simple-select-item.mjs +65 -65
  189. package/esm2020/app/models/items/select-item.mjs +10 -10
  190. package/esm2020/app/models/items/text-item.mjs +33 -33
  191. package/esm2020/app/models/items/week-item.mjs +93 -93
  192. package/esm2020/app/pipes/remove-isolate-value.pipe.mjs +20 -20
  193. package/esm2020/app/providers/filter-meta.mjs +9 -9
  194. package/esm2020/app/services/external-params/persistance-params-controller.service.mjs +57 -57
  195. package/esm2020/app/services/external-params/query-params-controller.service.mjs +61 -61
  196. package/esm2020/app/services/external-params/saved-filters-controller.service.mjs +163 -163
  197. package/esm2020/app/services/external-params-controller.service.mjs +161 -161
  198. package/esm2020/app/services/filter-overlay.service.mjs +121 -121
  199. package/esm2020/app/services/focus-controller.service.mjs +29 -29
  200. package/esm2020/app/services/items-store.service.mjs +342 -339
  201. package/esm2020/firestitch-filter.mjs +4 -4
  202. package/esm2020/public_api.mjs +35 -35
  203. package/fesm2015/firestitch-filter.mjs +4287 -4281
  204. package/fesm2015/firestitch-filter.mjs.map +1 -1
  205. package/fesm2020/firestitch-filter.mjs +4267 -4261
  206. package/fesm2020/firestitch-filter.mjs.map +1 -1
  207. package/firestitch-filter.d.ts +5 -5
  208. package/package.json +1 -1
  209. package/public_api.d.ts +40 -40
@@ -1,86 +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
- }] } });
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
86
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlci1jaGlwL2ZpbHRlci1jaGlwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC9maWx0ZXItY2hpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQzFDLFNBQVMsRUFDVCxLQUFLLEdBRU4sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGFBQWEsRUFBYyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVNqRixNQUFNLE9BQU8scUJBQXFCO0lBZ0JoQyxZQUNVLE1BQXlCLEVBQ3pCLGdCQUF3QztRQUR4QyxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUN6QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO1FBVDFDLHNCQUFpQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDbkMsSUFBSSxDQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDWixDQUFDO1FBRUksY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtlQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7ZUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUVuQyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFakMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2lCQUNkLElBQUksQ0FDSCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7aUJBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztZQUVMLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUk7UUFDNUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBaUIsRUFBRSxJQUFJLEdBQUcsSUFBSTtRQUM5QyxJQUFJLElBQUksQ0FBQyxJQUFJLFlBQVksU0FBUyxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzVCO2FBQU0sSUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLGFBQWEsSUFBSSxJQUFJLENBQUMsSUFBSSxZQUFZLGlCQUFpQixFQUFFO1lBQ3ZGLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ2hDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsb0JBQW9CLEVBQUUsRUFDdEIsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO1lBQ2pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDLENBQUM7YUFDQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDTixDQUFDOztrSEE1RlUscUJBQXFCO3NHQUFyQixxQkFBcUIsZ0ZDeEJsQywyekRBMkRBOzJGRG5DYSxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07NklBSS9CLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsIE9uRGVzdHJveSxcbiAgT25Jbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgdGltZXIgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG1hcFRvLCBzdGFydFdpdGgsIHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ0l0ZW0gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB7IERhdGVUaW1lUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1yYW5nZS1pdGVtJztcbmltcG9ydCB7IFJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9yYW5nZS1pdGVtJztcbmltcG9ydCB7IEZvY3VzQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1jaGlwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1jaGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXAuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVyQ2hpcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+O1xuXG4gIHB1YmxpYyBpdGVtVmlzaWJsZTogYm9vbGVhbjtcbiAgcHVibGljIHJhbmdlSXRlbTogYm9vbGVhbjtcblxuICBwdWJsaWMgY2hpcERlbGF5ZWRSZW5kZXIkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHByaXZhdGUgX2NoaXBSZW5kZXJUaW1lciQgPSB0aW1lcig1MDApXG4gICAgLnBpcGUoXG4gICAgICBtYXBUbyh0cnVlKSxcbiAgICApO1xuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBfZm9jdXNDb250cm9sbGVyOiBGb2N1c0NvbnRyb2xsZXJTZXJ2aWNlLFxuICApIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJhbmdlSXRlbSA9IHRoaXMuaXRlbS5pc1R5cGVEYXRlUmFuZ2VcbiAgICAgIHx8IHRoaXMuaXRlbS5pc1R5cGVSYW5nZVxuICAgICAgfHwgdGhpcy5pdGVtLmlzVHlwZURhdGVUaW1lUmFuZ2U7XG5cbiAgICB0aGlzLmxpc3RlblZhbHVlQ2hhbmdlc0ZvclJhbmdlcygpO1xuICAgIHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKTtcblxuICAgIGlmICh0aGlzLml0ZW0uaGFzUGVuZGluZ1ZhbHVlcykge1xuICAgICAgdGhpcy5pdGVtLmxvYWRBc3luY1ZhbHVlcyhmYWxzZSk7XG5cbiAgICAgIHRoaXMuaXRlbS52YWx1ZXMkXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHRha2UoMiksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLl91cGRhdGVWaXNpYmlsaXR5KCk7XG4gICAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9pbml0RGVsYXlSZW5kZXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNPbkl0ZW0odHlwZSA9IG51bGwpIHtcbiAgICB0aGlzLl9mb2N1c0NvbnRyb2xsZXIuY2xpY2sodGhpcy5pdGVtLCB0eXBlKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVJdGVtKGV2ZW50OiBNb3VzZUV2ZW50LCB0eXBlID0gbnVsbCkge1xuICAgIGlmICh0aGlzLml0ZW0gaW5zdGFuY2VvZiBSYW5nZUl0ZW0pIHtcbiAgICAgIHRoaXMuaXRlbS5jbGVhclJhbmdlKHR5cGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pdGVtIGluc3RhbmNlb2YgRGF0ZVJhbmdlSXRlbSB8fCB0aGlzLml0ZW0gaW5zdGFuY2VvZiBEYXRlVGltZVJhbmdlSXRlbSkge1xuICAgICAgdGhpcy5pdGVtLmNsZWFyRGF0ZVJhbmdlKHR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLml0ZW0uY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuVmFsdWVDaGFuZ2VzRm9yUmFuZ2VzKCkge1xuICAgIHRoaXMuaXRlbS52YWx1ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3VwZGF0ZVZpc2liaWxpdHkoKTtcbiAgICAgICAgdGhpcy5fY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVZpc2liaWxpdHkoKSB7XG4gICAgdGhpcy5pdGVtVmlzaWJsZSA9IHRoaXMuaXRlbS5pc0NoaXBWaXNpYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdERlbGF5UmVuZGVyKCkge1xuICAgIHRoaXMuY2hpcERlbGF5ZWRSZW5kZXIkID0gY29tYmluZUxhdGVzdChbXG4gICAgICB0aGlzLml0ZW0udmFsdWVzJCxcbiAgICAgIHRoaXMuX2NoaXBSZW5kZXJUaW1lciQucGlwZShzdGFydFdpdGgoZmFsc2UpKSxcbiAgICBdKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoW3ZhbHVlcywgdGltZXJWYWx1ZV0pID0+IHtcbiAgICAgICAgICByZXR1cm4gISF2YWx1ZXMgfHwgdGltZXJWYWx1ZTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGFzUGVuZGluZ1ZhbHVlcyB8fCAoY2hpcERlbGF5ZWRSZW5kZXIkIHwgYXN5bmMpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJyYW5nZUl0ZW07IGVsc2UgZGVmYXVsdENoaXBcIj5cbiAgICA8ZnMtY2hpcFxuICAgICAgKm5nSWY9XCJpdGVtLm1vZGVsPy5taW4gfHwgaXRlbS5tb2RlbD8uZnJvbVwiXG4gICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICBbcmVtb3ZhYmxlXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAoY2xpY2spPVwiZm9jdXNPbkl0ZW0oJ2Zyb20nKVwiXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVJdGVtKCRldmVudCwgJ2Zyb20nKVwiPlxuICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaXBDb250ZW50XCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgdHlwZTogJ2Zyb20nIH1cIlxuICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgPC9mcy1jaGlwPlxuXG4gICAgPGZzLWNoaXBcbiAgICAgICpuZ0lmPVwiaXRlbS5tb2RlbD8ubWF4IHx8IGl0ZW0ubW9kZWw/LnRvXCJcbiAgICAgIFt2YWx1ZV09XCJpdGVtXCJcbiAgICAgIFtzZWxlY3RhYmxlXT1cImZhbHNlXCJcbiAgICAgIFtyZW1vdmFibGVdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgIChjbGljayk9XCJmb2N1c09uSXRlbSgndG8nKVwiXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVJdGVtKCRldmVudCwgJ3RvJylcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwQ29udGVudFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIHR5cGU6ICd0bycgfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZzLWNoaXA+XG5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Q2hpcD5cbiAgICA8ZnMtY2hpcFxuICAgICAgKm5nSWY9XCJpdGVtVmlzaWJsZVwiXG4gICAgICBbdmFsdWVdPVwiaXRlbVwiXG4gICAgICBbc2VsZWN0YWJsZV09XCJmYWxzZVwiXG4gICAgICBbcmVtb3ZhYmxlXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAoY2xpY2spPVwiZm9jdXNPbkl0ZW0oKVwiXG4gICAgICAocmVtb3ZlZCk9XCJyZW1vdmVJdGVtKCRldmVudClcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJjaGlwQ29udGVudFwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICA8L2ZzLWNoaXA+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNjaGlwQ29udGVudCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtdHlwZT1cInR5cGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW0uaGFzUGVuZGluZ1ZhbHVlcyAmJiAhaXRlbS5sb2FkaW5nOyBlbHNlIGxvZGFpbmdWYWx1ZXNcIj5cbiAgICAgIDxmcy1maWx0ZXItY2hpcC1jb250ZW50IFtpdGVtXT1cIml0ZW1cIiBbdHlwZV09XCJ0eXBlXCI+PC9mcy1maWx0ZXItY2hpcC1jb250ZW50PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNsb2RhaW5nVmFsdWVzPlxuICAgICAgTG9hZGluZy4uLlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cblxuIl19
@@ -1,79 +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: "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
- }
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
79
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWNoaXAtY29udGVudC9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcC1jb250ZW50L2ZpbHRlci1jaGlwLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVXhELE1BQU0sT0FBTyw0QkFBNEI7SUFTdkMsWUFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFGckMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFHbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLDJCQUEyQjtRQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxLQUFLLEVBQUUsRUFBRTtnQkFDOUIsT0FBTyxHQUFHLE1BQU0sRUFBRSxDQUFDO2FBQ3BCO2lCQUFNO2dCQUNMLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO29CQUN0QyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hFLE9BQU8sR0FBRyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDNUM7YUFDRjtTQUNGO2FBQU07WUFDTCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RCxPQUFPLEdBQUcsS0FBSyxLQUFLLE1BQU0sRUFBRSxDQUFDO2FBQzlCO2lCQUFNO2dCQUNMLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7b0JBQzVCLE9BQU8sTUFBTSxDQUFDO2lCQUNmO3FCQUFNO29CQUNMLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztpQkFDeEM7YUFDRjtTQUNGO0lBQ0gsQ0FBQzs7eUhBMURVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLHNHQ3RCekMsaUJBQ0E7MkZEcUJhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07d0dBSS9CLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsSUFBSTtzQkFBbkIsS0FBSzs7QUEwRFIsU0FBUyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsSUFBSTtJQUN2QyxJQUFJLElBQUksS0FBSyxNQUFNLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ2xDLE9BQU8sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUN6QjtTQUFNLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDdkMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ3pCO1NBQU07UUFDTCxPQUFPLEVBQUUsQ0FBQztLQUNYO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2Jhc2UtaXRlbSc7XG5pbXBvcnQgeyBJRmlsdGVyQ29uZmlnSXRlbSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnMtZmlsdGVyLWNoaXAtY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItY2hpcC1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXAtY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJDaGlwQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBASW5wdXQoKSBwdWJsaWMgaXRlbTogQmFzZUl0ZW08SUZpbHRlckNvbmZpZ0l0ZW0+O1xuICBASW5wdXQoKSBwdWJsaWMgdHlwZTogJ2Zyb20nIHwgJ3RvJztcblxuICBwdWJsaWMgY29udGVudDtcblxuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5saXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0ZW5WYWx1ZUNoYW5nZXNGb3JSYW5nZXMoKSB7XG4gICAgdGhpcy5pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jb250ZW50ID0gdGhpcy5fZ2V0Q29udGVudCgpO1xuICAgICAgICB0aGlzLl9jZFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvbnRlbnQoKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5pdGVtLmdldENoaXBzQ29udGVudCh0aGlzLnR5cGUpO1xuXG4gICAgaWYgKHRoaXMuaXRlbS5jaGlwTGFiZWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHRoaXMuaXRlbS5jaGlwTGFiZWwgPT09ICcnKSB7XG4gICAgICAgIHJldHVybiBgJHtyZXN1bHR9YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbS5jaGlwTGFiZWwpKSB7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbEZyb21BcnJheSh0aGlzLml0ZW0uY2hpcExhYmVsLCB0aGlzLnR5cGUpO1xuICAgICAgICAgIHJldHVybiBgJHtsYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGAke3RoaXMuaXRlbS5jaGlwTGFiZWx9OiAke3Jlc3VsdH1gO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbS5sYWJlbCkpIHtcbiAgICAgICAgY29uc3QgbGFiZWwgPSBnZXRMYWJlbEZyb21BcnJheSh0aGlzLml0ZW0ubGFiZWwsIHRoaXMudHlwZSk7XG4gICAgICAgIHJldHVybiBgJHtsYWJlbH06ICR7cmVzdWx0fWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pdGVtLmlzVHlwZUNoZWNrYm94KSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5pdGVtLmxhYmVsfTogJHtyZXN1bHR9YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRMYWJlbEZyb21BcnJheShsYWJlbEFyciwgdHlwZSkge1xuICBpZiAodHlwZSA9PT0gJ2Zyb20nICYmIGxhYmVsQXJyWzBdKSB7XG4gICAgcmV0dXJuIGAke2xhYmVsQXJyWzBdfWA7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3RvJyAmJiBsYWJlbEFyclsxXSkge1xuICAgIHJldHVybiBgJHtsYWJlbEFyclsxXX1gO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuIiwie3sgY29udGVudCB9fVxuIl19
@@ -1,23 +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
- }] } });
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
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcHMvZmlsdGVyLWNoaXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItY2hpcHMvZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFVdkMsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVVTLGFBQVEsR0FBRyxRQUFRLENBQUM7UUFDcEIsVUFBSyxHQUFHLEVBQUUsQ0FBQztLQUNuQjs7bUhBTlksc0JBQXNCO3VHQUF0QixzQkFBc0IsdUZDWm5DLHVTQU9BOzJGREthLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxpQkFBaUIsbUJBR1YsdUJBQXVCLENBQUMsTUFBTTs4QkFJL0IsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmlsdGVyLWNoaXBzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckNoaXBzQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyczogQmFzZUl0ZW08YW55PltdO1xuXG4gIHB1YmxpYyBJdGVtVHlwZSA9IEl0ZW1UeXBlO1xuICBwdWJsaWMgY2hpcHMgPSBbXTtcbn1cbiIsIjxmcy1jaGlwcyBbKG5nTW9kZWwpXT1cImNoaXBzXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZmlsdGVyc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoaXRlbS52YWx1ZSQgfCBhc3luYykgIT09IHVuZGVmaW5lZCAmJiBpdGVtLnR5cGUgIT09IEl0ZW1UeXBlLktleXdvcmRcIj5cbiAgICAgIDxmcy1maWx0ZXItY2hpcCBbaXRlbV09XCJpdGVtXCI+PC9mcy1maWx0ZXItY2hpcD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L2ZzLWNoaXBzPlxuIl19