@firestitch/filter 12.3.2 → 12.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/app/classes/actions-controller.d.ts +38 -38
  2. package/app/components/action-button/action-button.component.d.ts +7 -7
  3. package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
  4. package/app/components/actions/actions.component.d.ts +8 -8
  5. package/app/components/filter/filter.component.d.ts +192 -192
  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 +8 -8
  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 +13 -13
  12. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +20 -20
  13. package/app/components/filters-item/base-item/base-item.component.d.ts +23 -23
  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 +19 -19
  17. package/app/components/filters-item/date-range/date-range.component.d.ts +14 -14
  18. package/app/components/filters-item/filter-item.component.d.ts +15 -15
  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 +14 -14
  23. package/app/components/filters-item/select/select.component.d.ts +16 -16
  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 +5 -5
  32. package/app/enums/action-mode.enum.d.ts +5 -5
  33. package/app/enums/action-type.enum.d.ts +7 -7
  34. package/app/enums/item-date-mode.enum.d.ts +5 -5
  35. package/app/enums/item-type.enum.d.ts +15 -15
  36. package/app/fs-filter.module.d.ts +64 -65
  37. package/app/helpers/build-query-params.d.ts +3 -3
  38. package/app/helpers/compare.d.ts +2 -2
  39. package/app/helpers/create-filter-item.d.ts +13 -13
  40. package/app/helpers/find-value.d.ts +1 -1
  41. package/app/helpers/get-range-name.d.ts +1 -1
  42. package/app/helpers/parse-date.d.ts +1 -1
  43. package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
  44. package/app/helpers/query-param-transformers.d.ts +2 -2
  45. package/app/helpers/restore-items.d.ts +12 -12
  46. package/app/helpers/try-convert-to-number.d.ts +1 -1
  47. package/app/injectors/filter-config.d.ts +2 -2
  48. package/app/injectors/filter-drawer-data.d.ts +2 -2
  49. package/app/injectors/filter-drawer-overlay.d.ts +2 -2
  50. package/app/interfaces/action.interface.d.ts +69 -69
  51. package/app/interfaces/config.interface.d.ts +61 -61
  52. package/app/interfaces/external-params.interface.d.ts +3 -3
  53. package/app/interfaces/filter.interface.d.ts +4 -4
  54. package/app/interfaces/items/autocomplete-chips.interface.d.ts +12 -12
  55. package/app/interfaces/items/autocomplete.interface.d.ts +6 -6
  56. package/app/interfaces/items/base.interface.d.ts +27 -27
  57. package/app/interfaces/items/checkbox.interface.d.ts +7 -7
  58. package/app/interfaces/items/chips.interface.d.ts +6 -6
  59. package/app/interfaces/items/date-range.interface.d.ts +8 -8
  60. package/app/interfaces/items/date.interface.d.ts +7 -7
  61. package/app/interfaces/items/range.interface.d.ts +13 -13
  62. package/app/interfaces/items/select.interface.d.ts +20 -20
  63. package/app/interfaces/items/text.interface.d.ts +9 -9
  64. package/app/interfaces/items/week.interface.d.ts +7 -7
  65. package/app/interfaces/saved-filters.interface.d.ts +18 -18
  66. package/app/interfaces/update-filter-item.interface.d.ts +4 -4
  67. package/app/models/action-menu-item.model.d.ts +23 -23
  68. package/app/models/action.model.d.ts +45 -45
  69. package/app/models/filter-config.d.ts +30 -30
  70. package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  71. package/app/models/items/autocomplete-chips-item.d.ts +19 -19
  72. package/app/models/items/autocomplete-item.d.ts +10 -10
  73. package/app/models/items/base-item.d.ts +75 -75
  74. package/app/models/items/checkbox-item.d.ts +16 -16
  75. package/app/models/items/chips-item.d.ts +17 -17
  76. package/app/models/items/date/base-date-item.d.ts +14 -14
  77. package/app/models/items/date-item.d.ts +7 -7
  78. package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
  79. package/app/models/items/date-range-item.d.ts +5 -5
  80. package/app/models/items/date-time-item.d.ts +6 -6
  81. package/app/models/items/date-time-range-item.d.ts +5 -5
  82. package/app/models/items/range-item.d.ts +22 -22
  83. package/app/models/items/select/base-select-item.d.ts +13 -13
  84. package/app/models/items/select/multiple-select-item.d.ts +12 -12
  85. package/app/models/items/select/simple-select-item.d.ts +12 -12
  86. package/app/models/items/select-item.d.ts +7 -7
  87. package/app/models/items/text-item.d.ts +14 -14
  88. package/app/models/items/week-item.d.ts +17 -17
  89. package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
  90. package/app/providers/filter-meta.d.ts +5 -5
  91. package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
  92. package/app/services/external-params/query-params-controller.service.d.ts +22 -22
  93. package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
  94. package/app/services/external-params-controller.service.d.ts +44 -44
  95. package/app/services/filter-overlay.service.d.ts +34 -34
  96. package/app/services/focus-controller.service.d.ts +18 -18
  97. package/app/services/items-store.service.d.ts +65 -65
  98. package/bundles/firestitch-filter.umd.js +5343 -5346
  99. package/bundles/firestitch-filter.umd.js.map +1 -1
  100. package/esm2015/app/classes/actions-controller.js +122 -123
  101. package/esm2015/app/components/action-button/action-button.component.js +23 -25
  102. package/esm2015/app/components/action-kebab-actions/action-kebab-actions.component.js +22 -22
  103. package/esm2015/app/components/actions/actions.component.js +31 -31
  104. package/esm2015/app/components/filter/filter.component.js +617 -615
  105. package/esm2015/app/components/filter-chip/filter-chip.component.js +89 -91
  106. package/esm2015/app/components/filter-chip-content/filter-chip-content.component.js +83 -84
  107. package/esm2015/app/components/filter-chips/filter-chips.component.js +24 -24
  108. package/esm2015/app/components/filter-drawer/filter-drawer.component.js +73 -76
  109. package/esm2015/app/components/filter-drawer-actions/filter-drawer-actions.component.js +42 -43
  110. package/esm2015/app/components/filters-item/autocomplete/autocomplete.component.js +30 -30
  111. package/esm2015/app/components/filters-item/autocompletechips/autocompletechips.component.js +52 -52
  112. package/esm2015/app/components/filters-item/base-item/base-item.component.js +59 -59
  113. package/esm2015/app/components/filters-item/checkbox/checkbox.component.js +25 -25
  114. package/esm2015/app/components/filters-item/chips/chips.component.js +32 -32
  115. package/esm2015/app/components/filters-item/date/date.component.js +45 -45
  116. package/esm2015/app/components/filters-item/date-range/date-range.component.js +36 -36
  117. package/esm2015/app/components/filters-item/filter-item.component.js +47 -48
  118. package/esm2015/app/components/filters-item/range/range.component.js +49 -51
  119. package/esm2015/app/components/filters-item/select/backdrop/backdrop.component.js +16 -16
  120. package/esm2015/app/components/filters-item/select/groups/groups.component.js +32 -34
  121. package/esm2015/app/components/filters-item/select/multiple/multiple.component.js +59 -61
  122. package/esm2015/app/components/filters-item/select/select.component.js +44 -44
  123. package/esm2015/app/components/filters-item/select/simple/simple.component.js +45 -48
  124. package/esm2015/app/components/filters-item/text/text.component.js +54 -54
  125. package/esm2015/app/components/filters-item/week/week.component.js +28 -28
  126. package/esm2015/app/components/saved-filter-edit/saved-filter-edit.component.js +55 -55
  127. package/esm2015/app/components/saved-filters-menu/saved-filters-menu.component.js +55 -58
  128. package/esm2015/app/consts/query-param-delimiter.js +1 -1
  129. package/esm2015/app/directives/focus-to-item/focus-to-item.directive.js +125 -130
  130. package/esm2015/app/directives/status-bar/status-bar.directive.js +12 -12
  131. package/esm2015/app/enums/action-mode.enum.js +6 -6
  132. package/esm2015/app/enums/action-type.enum.js +8 -8
  133. package/esm2015/app/enums/item-date-mode.enum.js +6 -6
  134. package/esm2015/app/enums/item-type.enum.js +16 -16
  135. package/esm2015/app/fs-filter.module.js +235 -239
  136. package/esm2015/app/helpers/build-query-params.js +31 -31
  137. package/esm2015/app/helpers/compare.js +37 -37
  138. package/esm2015/app/helpers/create-filter-item.js +54 -54
  139. package/esm2015/app/helpers/find-value.js +12 -12
  140. package/esm2015/app/helpers/get-range-name.js +8 -8
  141. package/esm2015/app/helpers/parse-date.js +7 -7
  142. package/esm2015/app/helpers/parse-item-value-from-stored.js +81 -81
  143. package/esm2015/app/helpers/query-param-transformers.js +8 -8
  144. package/esm2015/app/helpers/restore-items.js +48 -48
  145. package/esm2015/app/helpers/try-convert-to-number.js +5 -5
  146. package/esm2015/app/injectors/filter-config.js +2 -2
  147. package/esm2015/app/injectors/filter-drawer-data.js +2 -2
  148. package/esm2015/app/injectors/filter-drawer-overlay.js +2 -2
  149. package/esm2015/app/interfaces/action.interface.js +1 -1
  150. package/esm2015/app/interfaces/config.interface.js +1 -1
  151. package/esm2015/app/interfaces/external-params.interface.js +1 -1
  152. package/esm2015/app/interfaces/filter.interface.js +1 -1
  153. package/esm2015/app/interfaces/items/autocomplete-chips.interface.js +1 -1
  154. package/esm2015/app/interfaces/items/autocomplete.interface.js +1 -1
  155. package/esm2015/app/interfaces/items/base.interface.js +1 -1
  156. package/esm2015/app/interfaces/items/checkbox.interface.js +1 -1
  157. package/esm2015/app/interfaces/items/chips.interface.js +1 -1
  158. package/esm2015/app/interfaces/items/date-range.interface.js +1 -1
  159. package/esm2015/app/interfaces/items/date.interface.js +1 -1
  160. package/esm2015/app/interfaces/items/range.interface.js +1 -1
  161. package/esm2015/app/interfaces/items/select.interface.js +1 -1
  162. package/esm2015/app/interfaces/items/text.interface.js +1 -1
  163. package/esm2015/app/interfaces/items/week.interface.js +1 -1
  164. package/esm2015/app/interfaces/saved-filters.interface.js +1 -1
  165. package/esm2015/app/interfaces/update-filter-item.interface.js +1 -1
  166. package/esm2015/app/models/action-menu-item.model.js +66 -66
  167. package/esm2015/app/models/action.model.js +102 -102
  168. package/esm2015/app/models/filter-config.js +65 -65
  169. package/esm2015/app/models/items/autocomplete/base-autocomplete-item.js +13 -13
  170. package/esm2015/app/models/items/autocomplete-chips-item.js +61 -61
  171. package/esm2015/app/models/items/autocomplete-item.js +31 -31
  172. package/esm2015/app/models/items/base-item.js +233 -233
  173. package/esm2015/app/models/items/checkbox-item.js +47 -47
  174. package/esm2015/app/models/items/chips-item.js +83 -83
  175. package/esm2015/app/models/items/date/base-date-item.js +47 -47
  176. package/esm2015/app/models/items/date-item.js +18 -18
  177. package/esm2015/app/models/items/date-range/base-date-range-item.js +136 -136
  178. package/esm2015/app/models/items/date-range-item.js +6 -6
  179. package/esm2015/app/models/items/date-time-item.js +9 -9
  180. package/esm2015/app/models/items/date-time-range-item.js +6 -6
  181. package/esm2015/app/models/items/range-item.js +88 -88
  182. package/esm2015/app/models/items/select/base-select-item.js +33 -33
  183. package/esm2015/app/models/items/select/multiple-select-item.js +68 -68
  184. package/esm2015/app/models/items/select/simple-select-item.js +62 -62
  185. package/esm2015/app/models/items/select-item.js +12 -12
  186. package/esm2015/app/models/items/text-item.js +29 -29
  187. package/esm2015/app/models/items/week-item.js +96 -96
  188. package/esm2015/app/pipes/remove-isolate-value.pipe.js +22 -22
  189. package/esm2015/app/providers/filter-meta.js +9 -9
  190. package/esm2015/app/services/external-params/persistance-params-controller.service.js +52 -58
  191. package/esm2015/app/services/external-params/query-params-controller.service.js +55 -57
  192. package/esm2015/app/services/external-params/saved-filters-controller.service.js +163 -165
  193. package/esm2015/app/services/external-params-controller.service.js +161 -166
  194. package/esm2015/app/services/filter-overlay.service.js +115 -116
  195. package/esm2015/app/services/focus-controller.service.js +29 -29
  196. package/esm2015/app/services/items-store.service.js +323 -323
  197. package/esm2015/firestitch-filter.js +4 -4
  198. package/esm2015/public_api.js +36 -36
  199. package/fesm2015/firestitch-filter.js +4268 -4272
  200. package/fesm2015/firestitch-filter.js.map +1 -1
  201. package/firestitch-filter.d.ts +5 -5
  202. package/package.json +3 -2
  203. package/public_api.d.ts +40 -40
@@ -1,76 +1,73 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Inject, HostListener } from '@angular/core';
2
- import { OverlayRef } from '@angular/cdk/overlay';
3
- import { FILTER_DRAWER_DATA } from '../../injectors/filter-drawer-data';
4
- import { FILTER_DRAWER_OVERLAY } from '../../injectors/filter-drawer-overlay';
5
- import { FsFilterItemsStore } from '../../services/items-store.service';
6
- import { ExternalParamsController } from '../../services/external-params-controller.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../services/external-params-controller.service";
9
- import * as i2 from "../../services/items-store.service";
10
- import * as i3 from "@angular/material/icon";
11
- import * as i4 from "../filters-item/filter-item.component";
12
- import * as i5 from "../filter-drawer-actions/filter-drawer-actions.component";
13
- import * as i6 from "@firestitch/skeleton";
14
- import * as i7 from "@angular/common";
15
- import * as i8 from "@angular/cdk/overlay";
16
- export class FilterDrawerComponent {
17
- constructor(externalParams, _cd, _itemsStore, overlayRef, data) {
18
- this.externalParams = externalParams;
19
- this._cd = _cd;
20
- this._itemsStore = _itemsStore;
21
- this.overlayRef = overlayRef;
22
- this.data = data;
23
- this.inline = false;
24
- this.windowDesktop = false;
25
- this._itemsStore.prepareItems();
26
- this._clear = data.clear;
27
- this._done = data.done;
28
- this.updateWindowWidth();
29
- }
30
- updateWindowWidth() {
31
- this.windowDesktop = window.innerWidth > 1200;
32
- }
33
- get items$() {
34
- return this._itemsStore.visibleItems$;
35
- }
36
- get sortItem() {
37
- return this._itemsStore.sortByItem;
38
- }
39
- get sortDirectionItem() {
40
- return this._itemsStore.sortDirectionItem;
41
- }
42
- clear() {
43
- this._clear();
44
- // this.overlayRef.detach();
45
- }
46
- done() {
47
- this._done();
48
- this.overlayRef.detach();
49
- }
50
- backdropClick() {
51
- this.done();
52
- }
53
- }
54
- FilterDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, deps: [{ token: i1.ExternalParamsController }, { token: i0.ChangeDetectorRef }, { token: i2.FsFilterItemsStore }, { token: FILTER_DRAWER_OVERLAY }, { token: FILTER_DRAWER_DATA }], target: i0.ɵɵFactoryTarget.Component });
55
- FilterDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterDrawerComponent, selector: "ng-component", inputs: { inline: "inline" }, host: { listeners: { "window:resize": "updateWindowWidth()" } }, ngImport: i0, template: "<div class=\"filters\">\n <div class=\"filters-wrap\">\n\n <div class=\"filter-by\">\n <mat-icon>tune</mat-icon>\n <span class=\"text\">Filters</span>\n </div>\n\n <div class=\"overflow-shadow filter-items\">\n <div class=\"overflow-shadow-content\">\n <ng-container *fsSkeleton=\"(externalParams.pending$ | async) !== true\">\n <filter-item *ngFor=\"let filterItem of items$ | async\"\n class=\"filter-group\"\n [item]=\"filterItem\">\n </filter-item>\n\n <ng-container *ngIf=\"sortItem && sortItem.values && sortItem.values.length > 0\">\n <filter-item class=\"filter-group sort\"\n [item]=\"sortItem\">\n </filter-item>\n <filter-item class=\"filter-group sort\"\n [item]=\"sortDirectionItem\">\n </filter-item>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <fs-filter-drawer-actions class=\"filter-actions\"\n *ngIf=\"(externalParams.pending$ | async) !== true\"\n (clear)=\"clear()\"\n (done)=\"done()\">\n </fs-filter-drawer-actions>\n </div>\n</div>\n<div class=\"backdrop\" *ngIf=\"!windowDesktop\" (click)=\"backdropClick()\"></div>\n", styles: [":host ::ng-deep mat-form-field{width:100%}.filter-by{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 25px}.filter-by mat-icon{margin-right:8px}.filter-by .text{font-weight:400;font-size:19px}.filter-actions{display:block;box-sizing:border-box;padding:13px}.filter-actions button{margin-right:6px}.filter-actions button:last-child{margin-right:0}.filters{position:fixed;display:block;top:0;right:0;z-index:1002;bottom:0}.filters .filters-wrap{background:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;width:85vw;max-width:350px;display:flex;flex-direction:column;height:100%}.filters .filters-wrap .filter-items{overflow-y:auto}.filters .filters-wrap .filter-items .overflow-shadow-content{padding:0 25px;box-sizing:border-box}.filters .filter-group{margin:10px 0 0}.filters .filter-group:first-child{margin:0}.filters .filter label{white-space:nowrap;color:#0000008a}.filters .filter .interface.interface-range input,.filters .filter .interface.interface-range .mat-input-wrapper{text-align:center}.filters .filter .interface.interface-range{text-align:center}.filters .filter .interface.interface-datetime fs-datetime.has-time .md-input{width:100%}.filters .filter .interface fs-datetime-range input{text-align:center}.filters .filter .filter-label{width:1%;white-space:nowrap;vertical-align:middle;padding-right:15px}.filters md-autocomplete-container md-input-container{margin:0}.filters .isolate{margin-top:-12px}.filters .isolate .interface{line-height:20px;padding-bottom:1.25em}.filters .isolate md-checkbox{margin:0 0 0 2px}.backdrop{position:fixed;top:0;bottom:0;left:0;right:0;z-index:900;outline:none}\n"], components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.FilterItemComponent, selector: "filter-item", inputs: ["item"] }, { type: i5.FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: ["clear", "done"] }], directives: [{ type: i6.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, decorators: [{
57
- type: Component,
58
- args: [{
59
- templateUrl: './filter-drawer.component.html',
60
- styleUrls: ['filter-drawer.component.scss'],
61
- // Commented out because filter items are not updating with a delayed observable. Need to figure this out.
62
- changeDetection: ChangeDetectionStrategy.OnPush,
63
- }]
64
- }], ctorParameters: function () { return [{ type: i1.ExternalParamsController }, { type: i0.ChangeDetectorRef }, { type: i2.FsFilterItemsStore }, { type: i8.OverlayRef, decorators: [{
65
- type: Inject,
66
- args: [FILTER_DRAWER_OVERLAY]
67
- }] }, { type: undefined, decorators: [{
68
- type: Inject,
69
- args: [FILTER_DRAWER_DATA]
70
- }] }]; }, propDecorators: { updateWindowWidth: [{
71
- type: HostListener,
72
- args: ['window:resize']
73
- }], inline: [{
74
- type: Input
75
- }] } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWRyYXdlci9maWx0ZXItZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7Ozs7OztBQVU3RixNQUFNLE9BQU8scUJBQXFCO0lBY2hDLFlBQ1MsY0FBd0MsRUFDckMsR0FBc0IsRUFDdEIsV0FBK0IsRUFDRixVQUFzQixFQUN6QixJQUFJO1FBSmpDLG1CQUFjLEdBQWQsY0FBYyxDQUEwQjtRQUNyQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDRixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3pCLFNBQUksR0FBSixJQUFJLENBQUE7UUFaMUIsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUt4QixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRWhDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQXhCRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUF3QkQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztJQUM1QyxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLDRCQUE0QjtJQUM5QixDQUFDO0lBRU0sSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQzs7bUhBckRVLHFCQUFxQiw2SEFrQnRCLHFCQUFxQixhQUNyQixrQkFBa0I7dUdBbkJqQixxQkFBcUIsbUpDM0JsQywwMUNBb0NBOzRGRFRhLHFCQUFxQjtrQkFOakMsU0FBUzttQkFBQztvQkFDVCxXQUFXLEVBQUUsZ0NBQWdDO29CQUM3QyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsMEdBQTBHO29CQUMxRyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OzBCQW1CSSxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLE1BQU07MkJBQUMsa0JBQWtCOzRDQWhCNUIsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLGVBQWU7Z0JBS2IsTUFBTTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBJbnB1dCxcbiAgSW5qZWN0LFxuICBIb3N0TGlzdGVuZXJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfREFUQSB9IGZyb20gJy4uLy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLWRhdGEnO1xuaW1wb3J0IHsgRklMVEVSX0RSQVdFUl9PVkVSTEFZIH0gZnJvbSAnLi4vLi4vaW5qZWN0b3JzL2ZpbHRlci1kcmF3ZXItb3ZlcmxheSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgRnNGaWx0ZXJJdGVtc1N0b3JlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaXRlbXMtc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcblxudHlwZSBJdGVtID0gQmFzZUl0ZW08YW55PjtcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZHJhd2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgLy8gQ29tbWVudGVkIG91dCBiZWNhdXNlIGZpbHRlciBpdGVtcyBhcmUgbm90IHVwZGF0aW5nIHdpdGggYSBkZWxheWVkIG9ic2VydmFibGUuIE5lZWQgdG8gZmlndXJlIHRoaXMgb3V0LlxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyRHJhd2VyQ29tcG9uZW50IHtcblxuICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJylcbiAgdXBkYXRlV2luZG93V2lkdGgoKSB7XG4gICAgdGhpcy53aW5kb3dEZXNrdG9wID0gd2luZG93LmlubmVyV2lkdGggPiAxMjAwO1xuICB9XG5cbiAgQElucHV0KCkgcHVibGljIGlubGluZSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBfY2xlYXI6IEZ1bmN0aW9uO1xuICBwcm90ZWN0ZWQgX2RvbmU6IEZ1bmN0aW9uO1xuXG4gIHB1YmxpYyB3aW5kb3dEZXNrdG9wID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGV4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIF9pdGVtc1N0b3JlOiBGc0ZpbHRlckl0ZW1zU3RvcmUsXG4gICAgQEluamVjdChGSUxURVJfRFJBV0VSX09WRVJMQVkpIHByaXZhdGUgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICBASW5qZWN0KEZJTFRFUl9EUkFXRVJfREFUQSkgcHJpdmF0ZSBkYXRhLFxuICApIHtcbiAgICB0aGlzLl9pdGVtc1N0b3JlLnByZXBhcmVJdGVtcygpO1xuXG4gICAgdGhpcy5fY2xlYXIgPSBkYXRhLmNsZWFyO1xuICAgIHRoaXMuX2RvbmUgPSBkYXRhLmRvbmU7XG5cbiAgICB0aGlzLnVwZGF0ZVdpbmRvd1dpZHRoKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1zJCgpOiBPYnNlcnZhYmxlPEl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc1N0b3JlLnZpc2libGVJdGVtcyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRJdGVtKCk6IEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc1N0b3JlLnNvcnRCeUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnREaXJlY3Rpb25JdGVtKCk6IEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLl9pdGVtc1N0b3JlLnNvcnREaXJlY3Rpb25JdGVtO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMuX2NsZWFyKCk7XG4gICAgLy8gdGhpcy5vdmVybGF5UmVmLmRldGFjaCgpO1xuICB9XG5cbiAgcHVibGljIGRvbmUoKSB7XG4gICAgdGhpcy5fZG9uZSgpO1xuICAgIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBiYWNrZHJvcENsaWNrKCkge1xuICAgIHRoaXMuZG9uZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmlsdGVyc1wiPlxuICA8ZGl2IGNsYXNzPVwiZmlsdGVycy13cmFwXCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWJ5XCI+XG4gICAgICA8bWF0LWljb24+dHVuZTwvbWF0LWljb24+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHRcIj5GaWx0ZXJzPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm92ZXJmbG93LXNoYWRvdyBmaWx0ZXItaXRlbXNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1zaGFkb3ctY29udGVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpmc1NrZWxldG9uPVwiKGV4dGVybmFsUGFyYW1zLnBlbmRpbmckIHwgYXN5bmMpICE9PSB0cnVlXCI+XG4gICAgICAgICAgPGZpbHRlci1pdGVtICpuZ0Zvcj1cImxldCBmaWx0ZXJJdGVtIG9mIGl0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmaWx0ZXItZ3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJmaWx0ZXJJdGVtXCI+XG4gICAgICAgICAgPC9maWx0ZXItaXRlbT5cblxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0SXRlbSAmJiBzb3J0SXRlbS52YWx1ZXMgJiYgc29ydEl0ZW0udmFsdWVzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDxmaWx0ZXItaXRlbSBjbGFzcz1cImZpbHRlci1ncm91cCBzb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJzb3J0SXRlbVwiPlxuICAgICAgICAgICAgPC9maWx0ZXItaXRlbT5cbiAgICAgICAgICAgIDxmaWx0ZXItaXRlbSBjbGFzcz1cImZpbHRlci1ncm91cCBzb3J0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbaXRlbV09XCJzb3J0RGlyZWN0aW9uSXRlbVwiPlxuICAgICAgICAgICAgPC9maWx0ZXItaXRlbT5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxmcy1maWx0ZXItZHJhd2VyLWFjdGlvbnMgY2xhc3M9XCJmaWx0ZXItYWN0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIihleHRlcm5hbFBhcmFtcy5wZW5kaW5nJCB8IGFzeW5jKSAhPT0gdHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xlYXIpPVwiY2xlYXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZG9uZSk9XCJkb25lKClcIj5cbiAgICA8L2ZzLWZpbHRlci1kcmF3ZXItYWN0aW9ucz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJiYWNrZHJvcFwiICpuZ0lmPVwiIXdpbmRvd0Rlc2t0b3BcIiAoY2xpY2spPVwiYmFja2Ryb3BDbGljaygpXCI+PC9kaXY+XG4iXX0=
1
+ import { ChangeDetectionStrategy, Component, Input, Inject, HostListener } from '@angular/core';
2
+ import { FILTER_DRAWER_DATA } from '../../injectors/filter-drawer-data';
3
+ import { FILTER_DRAWER_OVERLAY } from '../../injectors/filter-drawer-overlay';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/external-params-controller.service";
6
+ import * as i2 from "../../services/items-store.service";
7
+ import * as i3 from "@angular/material/icon";
8
+ import * as i4 from "../filters-item/filter-item.component";
9
+ import * as i5 from "../filter-drawer-actions/filter-drawer-actions.component";
10
+ import * as i6 from "@firestitch/skeleton";
11
+ import * as i7 from "@angular/common";
12
+ import * as i8 from "@angular/cdk/overlay";
13
+ export class FilterDrawerComponent {
14
+ constructor(externalParams, _cd, _itemsStore, overlayRef, data) {
15
+ this.externalParams = externalParams;
16
+ this._cd = _cd;
17
+ this._itemsStore = _itemsStore;
18
+ this.overlayRef = overlayRef;
19
+ this.data = data;
20
+ this.inline = false;
21
+ this.windowDesktop = false;
22
+ this._itemsStore.prepareItems();
23
+ this._clear = data.clear;
24
+ this._done = data.done;
25
+ this.updateWindowWidth();
26
+ }
27
+ updateWindowWidth() {
28
+ this.windowDesktop = window.innerWidth > 1200;
29
+ }
30
+ get items$() {
31
+ return this._itemsStore.visibleItems$;
32
+ }
33
+ get sortItem() {
34
+ return this._itemsStore.sortByItem;
35
+ }
36
+ get sortDirectionItem() {
37
+ return this._itemsStore.sortDirectionItem;
38
+ }
39
+ clear() {
40
+ this._clear();
41
+ // this.overlayRef.detach();
42
+ }
43
+ done() {
44
+ this._done();
45
+ this.overlayRef.detach();
46
+ }
47
+ backdropClick() {
48
+ this.done();
49
+ }
50
+ }
51
+ FilterDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, deps: [{ token: i1.ExternalParamsController }, { token: i0.ChangeDetectorRef }, { token: i2.FsFilterItemsStore }, { token: FILTER_DRAWER_OVERLAY }, { token: FILTER_DRAWER_DATA }], target: i0.ɵɵFactoryTarget.Component });
52
+ FilterDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterDrawerComponent, selector: "ng-component", inputs: { inline: "inline" }, host: { listeners: { "window:resize": "updateWindowWidth()" } }, ngImport: i0, template: "<div class=\"filters\">\n <div class=\"filters-wrap\">\n\n <div class=\"filter-by\">\n <mat-icon>tune</mat-icon>\n <span class=\"text\">Filters</span>\n </div>\n\n <div class=\"overflow-shadow filter-items\">\n <div class=\"overflow-shadow-content\">\n <ng-container *fsSkeleton=\"(externalParams.pending$ | async) !== true\">\n <filter-item *ngFor=\"let filterItem of items$ | async\"\n class=\"filter-group\"\n [item]=\"filterItem\">\n </filter-item>\n\n <ng-container *ngIf=\"sortItem && sortItem.values && sortItem.values.length > 0\">\n <filter-item class=\"filter-group sort\"\n [item]=\"sortItem\">\n </filter-item>\n <filter-item class=\"filter-group sort\"\n [item]=\"sortDirectionItem\">\n </filter-item>\n </ng-container>\n </ng-container>\n </div>\n </div>\n\n <fs-filter-drawer-actions class=\"filter-actions\"\n *ngIf=\"(externalParams.pending$ | async) !== true\"\n (clear)=\"clear()\"\n (done)=\"done()\">\n </fs-filter-drawer-actions>\n </div>\n</div>\n<div class=\"backdrop\" *ngIf=\"!windowDesktop\" (click)=\"backdropClick()\"></div>\n", styles: [":host ::ng-deep mat-form-field{width:100%}.filter-by{display:flex;flex-direction:row;align-items:center;box-sizing:border-box;padding:20px 25px}.filter-by mat-icon{margin-right:8px}.filter-by .text{font-weight:400;font-size:19px}.filter-actions{display:block;box-sizing:border-box;padding:13px}.filter-actions button{margin-right:6px}.filter-actions button:last-child{margin-right:0}.filters{position:fixed;display:block;top:0;right:0;z-index:1002;bottom:0}.filters .filters-wrap{background:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f;width:85vw;max-width:350px;display:flex;flex-direction:column;height:100%}.filters .filters-wrap .filter-items{overflow-y:auto}.filters .filters-wrap .filter-items .overflow-shadow-content{padding:0 25px;box-sizing:border-box}.filters .filter-group{margin:10px 0 0}.filters .filter-group:first-child{margin:0}.filters .filter label{white-space:nowrap;color:#0000008a}.filters .filter .interface.interface-range input,.filters .filter .interface.interface-range .mat-input-wrapper{text-align:center}.filters .filter .interface.interface-range{text-align:center}.filters .filter .interface.interface-datetime fs-datetime.has-time .md-input{width:100%}.filters .filter .interface fs-datetime-range input{text-align:center}.filters .filter .filter-label{width:1%;white-space:nowrap;vertical-align:middle;padding-right:15px}.filters md-autocomplete-container md-input-container{margin:0}.filters .isolate{margin-top:-12px}.filters .isolate .interface{line-height:20px;padding-bottom:1.25em}.filters .isolate md-checkbox{margin:0 0 0 2px}.backdrop{position:fixed;top:0;bottom:0;left:0;right:0;z-index:900;outline:none}\n"], components: [{ type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i4.FilterItemComponent, selector: "filter-item", inputs: ["item"] }, { type: i5.FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: ["clear", "done"] }], directives: [{ type: i6.FsSkeletonContentDirective, selector: "[fsSkeleton]", inputs: ["fsSkeleton", "fsSkeletonPattern"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i7.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FilterDrawerComponent, decorators: [{
54
+ type: Component,
55
+ args: [{
56
+ templateUrl: './filter-drawer.component.html',
57
+ styleUrls: ['filter-drawer.component.scss'],
58
+ // Commented out because filter items are not updating with a delayed observable. Need to figure this out.
59
+ changeDetection: ChangeDetectionStrategy.OnPush,
60
+ }]
61
+ }], ctorParameters: function () { return [{ type: i1.ExternalParamsController }, { type: i0.ChangeDetectorRef }, { type: i2.FsFilterItemsStore }, { type: i8.OverlayRef, decorators: [{
62
+ type: Inject,
63
+ args: [FILTER_DRAWER_OVERLAY]
64
+ }] }, { type: undefined, decorators: [{
65
+ type: Inject,
66
+ args: [FILTER_DRAWER_DATA]
67
+ }] }]; }, propDecorators: { updateWindowWidth: [{
68
+ type: HostListener,
69
+ args: ['window:resize']
70
+ }], inline: [{
71
+ type: Input
72
+ }] } });
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVyLWRyYXdlci9maWx0ZXItZHJhd2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyL2ZpbHRlci1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7QUFhOUUsTUFBTSxPQUFPLHFCQUFxQjtJQWNoQyxZQUNTLGNBQXdDLEVBQ3JDLEdBQXNCLEVBQ3RCLFdBQStCLEVBQ0YsVUFBc0IsRUFDekIsSUFBSTtRQUpqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFDckMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQ0YsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN6QixTQUFJLEdBQUosSUFBSSxDQUFBO1FBWjFCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFLeEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFTM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUF4QkQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUNoRCxDQUFDO0lBd0JELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUM7SUFDNUMsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDZCw0QkFBNEI7SUFDOUIsQ0FBQztJQUVNLElBQUk7UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxhQUFhO1FBQ2xCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7O21IQXJEVSxxQkFBcUIsNkhBa0J0QixxQkFBcUIsYUFDckIsa0JBQWtCO3VHQW5CakIscUJBQXFCLG1KQzNCbEMsMDFDQW9DQTs0RkRUYSxxQkFBcUI7a0JBTmpDLFNBQVM7bUJBQUM7b0JBQ1QsV0FBVyxFQUFFLGdDQUFnQztvQkFDN0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzNDLDBHQUEwRztvQkFDMUcsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFtQkksTUFBTTsyQkFBQyxxQkFBcUI7OzBCQUM1QixNQUFNOzJCQUFDLGtCQUFrQjs0Q0FoQjVCLGlCQUFpQjtzQkFEaEIsWUFBWTt1QkFBQyxlQUFlO2dCQUtiLE1BQU07c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRG9DaGVjayxcbiAgSW5wdXQsXG4gIEluamVjdCxcbiAgSG9zdExpc3RlbmVyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBGSUxURVJfRFJBV0VSX0RBVEEgfSBmcm9tICcuLi8uLi9pbmplY3RvcnMvZmlsdGVyLWRyYXdlci1kYXRhJztcbmltcG9ydCB7IEZJTFRFUl9EUkFXRVJfT1ZFUkxBWSB9IGZyb20gJy4uLy4uL2luamVjdG9ycy9maWx0ZXItZHJhd2VyLW92ZXJsYXknO1xuaW1wb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmltcG9ydCB7IEZzRmlsdGVySXRlbXNTdG9yZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2l0ZW1zLXN0b3JlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZSc7XG5cbnR5cGUgSXRlbSA9IEJhc2VJdGVtPGFueT47XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWydmaWx0ZXItZHJhd2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIC8vIENvbW1lbnRlZCBvdXQgYmVjYXVzZSBmaWx0ZXIgaXRlbXMgYXJlIG5vdCB1cGRhdGluZyB3aXRoIGEgZGVsYXllZCBvYnNlcnZhYmxlLiBOZWVkIHRvIGZpZ3VyZSB0aGlzIG91dC5cbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckRyYXdlckNvbXBvbmVudCB7XG5cbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gIHVwZGF0ZVdpbmRvd1dpZHRoKCkge1xuICAgIHRoaXMud2luZG93RGVza3RvcCA9IHdpbmRvdy5pbm5lcldpZHRoID4gMTIwMDtcbiAgfVxuXG4gIEBJbnB1dCgpIHB1YmxpYyBpbmxpbmUgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgX2NsZWFyOiBGdW5jdGlvbjtcbiAgcHJvdGVjdGVkIF9kb25lOiBGdW5jdGlvbjtcblxuICBwdWJsaWMgd2luZG93RGVza3RvcCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBleHRlcm5hbFBhcmFtczogRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByb3RlY3RlZCBfaXRlbXNTdG9yZTogRnNGaWx0ZXJJdGVtc1N0b3JlLFxuICAgIEBJbmplY3QoRklMVEVSX0RSQVdFUl9PVkVSTEFZKSBwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYsXG4gICAgQEluamVjdChGSUxURVJfRFJBV0VSX0RBVEEpIHByaXZhdGUgZGF0YSxcbiAgKSB7XG4gICAgdGhpcy5faXRlbXNTdG9yZS5wcmVwYXJlSXRlbXMoKTtcblxuICAgIHRoaXMuX2NsZWFyID0gZGF0YS5jbGVhcjtcbiAgICB0aGlzLl9kb25lID0gZGF0YS5kb25lO1xuXG4gICAgdGhpcy51cGRhdGVXaW5kb3dXaWR0aCgpO1xuICB9XG5cbiAgcHVibGljIGdldCBpdGVtcyQoKTogT2JzZXJ2YWJsZTxJdGVtW10+IHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNTdG9yZS52aXNpYmxlSXRlbXMkO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0SXRlbSgpOiBJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNTdG9yZS5zb3J0QnlJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0RGlyZWN0aW9uSXRlbSgpOiBJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5faXRlbXNTdG9yZS5zb3J0RGlyZWN0aW9uSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpIHtcbiAgICB0aGlzLl9jbGVhcigpO1xuICAgIC8vIHRoaXMub3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgfVxuXG4gIHB1YmxpYyBkb25lKCkge1xuICAgIHRoaXMuX2RvbmUoKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGV0YWNoKCk7XG4gIH1cblxuICBwdWJsaWMgYmFja2Ryb3BDbGljaygpIHtcbiAgICB0aGlzLmRvbmUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpbHRlcnNcIj5cbiAgPGRpdiBjbGFzcz1cImZpbHRlcnMtd3JhcFwiPlxuXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci1ieVwiPlxuICAgICAgPG1hdC1pY29uPnR1bmU8L21hdC1pY29uPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+RmlsdGVyczwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJvdmVyZmxvdy1zaGFkb3cgZmlsdGVyLWl0ZW1zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwib3ZlcmZsb3ctc2hhZG93LWNvbnRlbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqZnNTa2VsZXRvbj1cIihleHRlcm5hbFBhcmFtcy5wZW5kaW5nJCB8IGFzeW5jKSAhPT0gdHJ1ZVwiPlxuICAgICAgICAgIDxmaWx0ZXItaXRlbSAqbmdGb3I9XCJsZXQgZmlsdGVySXRlbSBvZiBpdGVtcyQgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLWdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwiZmlsdGVySXRlbVwiPlxuICAgICAgICAgIDwvZmlsdGVyLWl0ZW0+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydEl0ZW0gJiYgc29ydEl0ZW0udmFsdWVzICYmIHNvcnRJdGVtLnZhbHVlcy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICA8ZmlsdGVyLWl0ZW0gY2xhc3M9XCJmaWx0ZXItZ3JvdXAgc29ydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwic29ydEl0ZW1cIj5cbiAgICAgICAgICAgIDwvZmlsdGVyLWl0ZW0+XG4gICAgICAgICAgICA8ZmlsdGVyLWl0ZW0gY2xhc3M9XCJmaWx0ZXItZ3JvdXAgc29ydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2l0ZW1dPVwic29ydERpcmVjdGlvbkl0ZW1cIj5cbiAgICAgICAgICAgIDwvZmlsdGVyLWl0ZW0+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZnMtZmlsdGVyLWRyYXdlci1hY3Rpb25zIGNsYXNzPVwiZmlsdGVyLWFjdGlvbnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIoZXh0ZXJuYWxQYXJhbXMucGVuZGluZyQgfCBhc3luYykgIT09IHRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsZWFyKT1cImNsZWFyKClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvbmUpPVwiZG9uZSgpXCI+XG4gICAgPC9mcy1maWx0ZXItZHJhd2VyLWFjdGlvbnM+XG4gIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiYmFja2Ryb3BcIiAqbmdJZj1cIiF3aW5kb3dEZXNrdG9wXCIgKGNsaWNrKT1cImJhY2tkcm9wQ2xpY2soKVwiPjwvZGl2PlxuIl19
@@ -1,43 +1,42 @@
1
- import { Component, EventEmitter, Output } from '@angular/core';
2
- import { ExternalParamsController } from '../../services/external-params-controller.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/external-params-controller.service";
5
- import * as i2 from "@angular/material/button";
6
- import * as i3 from "@angular/common";
7
- export class FsFilterDrawerActionsComponent {
8
- constructor(externalParams) {
9
- this.externalParams = externalParams;
10
- this._clear = new EventEmitter();
11
- this._done = new EventEmitter();
12
- }
13
- get savedFilters() {
14
- return this.externalParams.savedFiltersController;
15
- }
16
- done() {
17
- this._done.emit();
18
- }
19
- clear() {
20
- this._clear.emit();
21
- }
22
- saveFilters() {
23
- this.externalParams
24
- .savedFiltersController
25
- .openSavedFilterEditDialog();
26
- }
27
- }
28
- FsFilterDrawerActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
29
- FsFilterDrawerActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: { _clear: "clear", _done: "done" }, ngImport: i0, template: "<button type=\"button\" mat-button color=\"primary\" (click)=\"done()\">Done</button>\n<button type=\"button\" mat-button (click)=\"clear()\">Clear</button>\n<ng-container *ngIf=\"savedFilters.enabled$ | async\">\n <button type=\"button\" mat-button (click)=\"saveFilters()\">Save</button>\n</ng-container>\n\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, decorators: [{
31
- type: Component,
32
- args: [{
33
- selector: 'fs-filter-drawer-actions',
34
- templateUrl: './filter-drawer-actions.component.html',
35
- }]
36
- }], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; }, propDecorators: { _clear: [{
37
- type: Output,
38
- args: ['clear']
39
- }], _done: [{
40
- type: Output,
41
- args: ['done']
42
- }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQzs7Ozs7QUFRN0YsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxZQUFtQixjQUF3QztRQUF4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFMbkQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHbEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFcUIsQ0FBQztJQUUvRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDO0lBQ3BELENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsc0JBQXNCO2FBQ3RCLHlCQUF5QixFQUFFLENBQUM7SUFDakMsQ0FBQzs7NEhBMUJVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDZHQ1QzQyx5VEFNQTs0RkRHYSw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLHdDQUF3QztpQkFDdEQ7K0dBSVMsTUFBTTtzQkFEYixNQUFNO3VCQUFDLE9BQU87Z0JBSVAsS0FBSztzQkFEWixNQUFNO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMvc2F2ZWQtZmlsdGVycy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1kcmF3ZXItYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZHJhd2VyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckRyYXdlckFjdGlvbnNDb21wb25lbnQge1xuXG4gIEBPdXRwdXQoJ2NsZWFyJylcbiAgcHJpdmF0ZSBfY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgnZG9uZScpXG4gIHByaXZhdGUgX2RvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGV4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIpIHt9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnMoKTogU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxQYXJhbXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBkb25lKCk6IHZvaWQge1xuICAgIHRoaXMuX2RvbmUuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsZWFyLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlRmlsdGVycygpIHtcbiAgICB0aGlzLmV4dGVybmFsUGFyYW1zXG4gICAgICAuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlclxuICAgICAgLm9wZW5TYXZlZEZpbHRlckVkaXREaWFsb2coKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZG9uZSgpXCI+RG9uZTwvYnV0dG9uPlxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2xlYXIoKVwiPkNsZWFyPC9idXR0b24+XG48bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmVuYWJsZWQkIHwgYXN5bmNcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwic2F2ZUZpbHRlcnMoKVwiPlNhdmU8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
1
+ import { Component, EventEmitter, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../services/external-params-controller.service";
4
+ import * as i2 from "@angular/material/button";
5
+ import * as i3 from "@angular/common";
6
+ export class FsFilterDrawerActionsComponent {
7
+ constructor(externalParams) {
8
+ this.externalParams = externalParams;
9
+ this._clear = new EventEmitter();
10
+ this._done = new EventEmitter();
11
+ }
12
+ get savedFilters() {
13
+ return this.externalParams.savedFiltersController;
14
+ }
15
+ done() {
16
+ this._done.emit();
17
+ }
18
+ clear() {
19
+ this._clear.emit();
20
+ }
21
+ saveFilters() {
22
+ this.externalParams
23
+ .savedFiltersController
24
+ .openSavedFilterEditDialog();
25
+ }
26
+ }
27
+ FsFilterDrawerActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, deps: [{ token: i1.ExternalParamsController }], target: i0.ɵɵFactoryTarget.Component });
28
+ FsFilterDrawerActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsFilterDrawerActionsComponent, selector: "fs-filter-drawer-actions", outputs: { _clear: "clear", _done: "done" }, ngImport: i0, template: "<button type=\"button\" mat-button color=\"primary\" (click)=\"done()\">Done</button>\n<button type=\"button\" mat-button (click)=\"clear()\">Clear</button>\n<ng-container *ngIf=\"savedFilters.enabled$ | async\">\n <button type=\"button\" mat-button (click)=\"saveFilters()\">Save</button>\n</ng-container>\n\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe } });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: FsFilterDrawerActionsComponent, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'fs-filter-drawer-actions',
33
+ templateUrl: './filter-drawer-actions.component.html',
34
+ }]
35
+ }], ctorParameters: function () { return [{ type: i1.ExternalParamsController }]; }, propDecorators: { _clear: [{
36
+ type: Output,
37
+ args: ['clear']
38
+ }], _done: [{
39
+ type: Output,
40
+ args: ['done']
41
+ }] } });
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXItZHJhd2VyLWFjdGlvbnMvZmlsdGVyLWRyYXdlci1hY3Rpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTaEUsTUFBTSxPQUFPLDhCQUE4QjtJQVF6QyxZQUFtQixjQUF3QztRQUF4QyxtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFMbkQsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHbEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7SUFFcUIsQ0FBQztJQUUvRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLHNCQUFzQixDQUFDO0lBQ3BELENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGNBQWM7YUFDaEIsc0JBQXNCO2FBQ3RCLHlCQUF5QixFQUFFLENBQUM7SUFDakMsQ0FBQzs7NEhBMUJVLDhCQUE4QjtnSEFBOUIsOEJBQThCLDZHQ1QzQyx5VEFNQTs0RkRHYSw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsV0FBVyxFQUFFLHdDQUF3QztpQkFDdEQ7K0dBSVMsTUFBTTtzQkFEYixNQUFNO3VCQUFDLE9BQU87Z0JBSVAsS0FBSztzQkFEWixNQUFNO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMvc2F2ZWQtZmlsdGVycy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZzLWZpbHRlci1kcmF3ZXItYWN0aW9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItZHJhd2VyLWFjdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckRyYXdlckFjdGlvbnNDb21wb25lbnQge1xuXG4gIEBPdXRwdXQoJ2NsZWFyJylcbiAgcHJpdmF0ZSBfY2xlYXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgnZG9uZScpXG4gIHByaXZhdGUgX2RvbmUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGV4dGVybmFsUGFyYW1zOiBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIpIHt9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnMoKTogU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB7XG4gICAgcmV0dXJuIHRoaXMuZXh0ZXJuYWxQYXJhbXMuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlcjtcbiAgfVxuXG4gIHB1YmxpYyBkb25lKCk6IHZvaWQge1xuICAgIHRoaXMuX2RvbmUuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX2NsZWFyLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlRmlsdGVycygpIHtcbiAgICB0aGlzLmV4dGVybmFsUGFyYW1zXG4gICAgICAuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlclxuICAgICAgLm9wZW5TYXZlZEZpbHRlckVkaXREaWFsb2coKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZG9uZSgpXCI+RG9uZTwvYnV0dG9uPlxuPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwiY2xlYXIoKVwiPkNsZWFyPC9idXR0b24+XG48bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmVuYWJsZWQkIHwgYXN5bmNcIj5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWJ1dHRvbiAoY2xpY2spPVwic2F2ZUZpbHRlcnMoKVwiPlNhdmU8L2J1dHRvbj5cbjwvbmctY29udGFpbmVyPlxuXG4iXX0=
@@ -1,30 +1,30 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
2
- import { BaseItemComponent } from '../base-item/base-item.component';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@firestitch/autocomplete";
5
- import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
6
- import * as i3 from "@angular/forms";
7
- export class AutocompleteComponent extends BaseItemComponent {
8
- constructor(_kvDiffers, _cd) {
9
- super(_kvDiffers, _cd);
10
- this._kvDiffers = _kvDiffers;
11
- this._cd = _cd;
12
- this.displayWith = (data) => {
13
- return data ? data.name : data;
14
- };
15
- this.fetch = (keyword) => {
16
- return this.item.valuesFn(keyword);
17
- };
18
- }
19
- }
20
- AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
21
- AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompleteComponent, selector: "filter-item-autocomplete", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [displayWith]=\"displayWith\"\n [(ngModel)]=\"item.model\"\n [placeholder]=\"item.label\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [showClear]=\"item.clearAllowed\"\n name=\"item.name\">\n <ng-template fsAutocompleteTemplate let-data=\"data\">\n {{data.name}}\n </ng-template>\n</fs-autocomplete>\n", components: [{ type: i1.FsAutocompleteComponent, selector: "fs-autocomplete", inputs: ["fetch", "placeholder", "displayWith", "fetchOnFocus", "readonly", "required", "disabled", "hint", "panelWidth", "panelClass", "showClear"], outputs: ["cleared"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteTemplateDirective, selector: "[fsAutocompleteTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, decorators: [{
23
- type: Component,
24
- args: [{
25
- selector: 'filter-item-autocomplete',
26
- templateUrl: './autocomplete.component.html',
27
- changeDetection: ChangeDetectionStrategy.OnPush,
28
- }]
29
- }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGVBQWUsRUFDaEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBU3JFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxpQkFBbUM7SUFFNUUsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFLM0IsZ0JBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakMsQ0FBQyxDQUFDO1FBRUssVUFBSyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUE7SUFSRCxDQUFDOzttSEFQVSxxQkFBcUI7dUdBQXJCLHFCQUFxQix1RkNoQmxDLGtZQWFBOzRGREdhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgS2V5VmFsdWVEaWZmZXJzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8QXV0b2NvbXBsZXRlSXRlbT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoX2t2RGlmZmVycywgX2NkKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5V2l0aCA9IChkYXRhKSA9PiB7XG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhLm5hbWUgOiBkYXRhO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaCA9IChrZXl3b3JkKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbS52YWx1ZXNGbihrZXl3b3JkKTtcbiAgfVxufVxuIiwiPGZzLWF1dG9jb21wbGV0ZVxuICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gIFtmZXRjaF09XCJmZXRjaFwiXG4gIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5V2l0aFwiXG4gIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbFwiXG4gIFtwbGFjZWhvbGRlcl09XCJpdGVtLmxhYmVsXCJcbiAgW2ZldGNoT25Gb2N1c109XCJpdGVtLmZldGNoT25Gb2N1c1wiXG4gIFtzaG93Q2xlYXJdPVwiaXRlbS5jbGVhckFsbG93ZWRcIlxuICBuYW1lPVwiaXRlbS5uYW1lXCI+XG4gIDxuZy10ZW1wbGF0ZSBmc0F1dG9jb21wbGV0ZVRlbXBsYXRlIGxldC1kYXRhPVwiZGF0YVwiPlxuICAgIHt7ZGF0YS5uYW1lfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZnMtYXV0b2NvbXBsZXRlPlxuIl19
1
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { BaseItemComponent } from '../base-item/base-item.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@firestitch/autocomplete";
5
+ import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
6
+ import * as i3 from "@angular/forms";
7
+ export class AutocompleteComponent extends BaseItemComponent {
8
+ constructor(_kvDiffers, _cd) {
9
+ super(_kvDiffers, _cd);
10
+ this._kvDiffers = _kvDiffers;
11
+ this._cd = _cd;
12
+ this.displayWith = (data) => {
13
+ return data ? data.name : data;
14
+ };
15
+ this.fetch = (keyword) => {
16
+ return this.item.valuesFn(keyword);
17
+ };
18
+ }
19
+ }
20
+ AutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
21
+ AutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompleteComponent, selector: "filter-item-autocomplete", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [displayWith]=\"displayWith\"\n [(ngModel)]=\"item.model\"\n [placeholder]=\"item.label\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [showClear]=\"item.clearAllowed\"\n name=\"item.name\">\n <ng-template fsAutocompleteTemplate let-data=\"data\">\n {{data.name}}\n </ng-template>\n</fs-autocomplete>\n", components: [{ type: i1.FsAutocompleteComponent, selector: "fs-autocomplete", inputs: ["fetch", "placeholder", "displayWith", "fetchOnFocus", "readonly", "required", "disabled", "hint", "panelWidth", "panelClass", "showClear"], outputs: ["cleared"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteTemplateDirective, selector: "[fsAutocompleteTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompleteComponent, decorators: [{
23
+ type: Component,
24
+ args: [{
25
+ selector: 'filter-item-autocomplete',
26
+ templateUrl: './autocomplete.component.html',
27
+ changeDetection: ChangeDetectionStrategy.OnPush,
28
+ }]
29
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVYsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBU3JFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxpQkFBbUM7SUFFNUUsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFLM0IsZ0JBQVcsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakMsQ0FBQyxDQUFDO1FBRUssVUFBSyxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUE7SUFSRCxDQUFDOzttSEFQVSxxQkFBcUI7dUdBQXJCLHFCQUFxQix1RkNoQmxDLGtZQWFBOzRGREdhLHFCQUFxQjtrQkFMakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxXQUFXLEVBQUUsK0JBQStCO29CQUM1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgS2V5VmFsdWVEaWZmZXJzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLWF1dG9jb21wbGV0ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8QXV0b2NvbXBsZXRlSXRlbT4ge1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoX2t2RGlmZmVycywgX2NkKTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5V2l0aCA9IChkYXRhKSA9PiB7XG4gICAgcmV0dXJuIGRhdGEgPyBkYXRhLm5hbWUgOiBkYXRhO1xuICB9O1xuXG4gIHB1YmxpYyBmZXRjaCA9IChrZXl3b3JkKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbS52YWx1ZXNGbihrZXl3b3JkKTtcbiAgfVxufVxuIiwiPGZzLWF1dG9jb21wbGV0ZVxuICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gIFtmZXRjaF09XCJmZXRjaFwiXG4gIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5V2l0aFwiXG4gIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbFwiXG4gIFtwbGFjZWhvbGRlcl09XCJpdGVtLmxhYmVsXCJcbiAgW2ZldGNoT25Gb2N1c109XCJpdGVtLmZldGNoT25Gb2N1c1wiXG4gIFtzaG93Q2xlYXJdPVwiaXRlbS5jbGVhckFsbG93ZWRcIlxuICBuYW1lPVwiaXRlbS5uYW1lXCI+XG4gIDxuZy10ZW1wbGF0ZSBmc0F1dG9jb21wbGV0ZVRlbXBsYXRlIGxldC1kYXRhPVwiZGF0YVwiPlxuICAgIHt7ZGF0YS5uYW1lfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZnMtYXV0b2NvbXBsZXRlPlxuIl19
@@ -1,52 +1,52 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers, } from '@angular/core';
2
- import { remove as arrayRemove } from '@firestitch/common';
3
- import { BaseItemComponent } from '../base-item/base-item.component';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@firestitch/autocomplete-chips";
6
- import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
7
- import * as i3 from "@angular/forms";
8
- export class AutocompletechipsComponent extends BaseItemComponent {
9
- constructor(_kvDiffers, _cd) {
10
- super(_kvDiffers, _cd);
11
- this._kvDiffers = _kvDiffers;
12
- this._cd = _cd;
13
- this.fetch = (keyword) => {
14
- return this.item.valuesFn(keyword);
15
- };
16
- }
17
- // SP-T1747
18
- clicked() {
19
- this.chipBackground = this.item.chipBackground;
20
- this.chipColor = this.item.chipColor;
21
- this.chipIcon = this.item.chipIcon;
22
- this._cd.markForCheck();
23
- }
24
- addAutocompleteChipItem(event) {
25
- if (event.data && this.item.model.indexOf(event.data.value) === -1) {
26
- this.item.model.push(event.data);
27
- this.itemChange();
28
- }
29
- }
30
- removeAutocompleteChipItem(event) {
31
- arrayRemove(this.item.model, { value: event.data.value });
32
- this.itemChange();
33
- }
34
- clearAutocompleteChipItem() {
35
- this.item.clear();
36
- this.itemChange();
37
- }
38
- compareItems(item1, item2) {
39
- return (item1 === null || item1 === void 0 ? void 0 : item1.value) === (item2 === null || item2 === void 0 ? void 0 : item2.value);
40
- }
41
- }
42
- AutocompletechipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
- AutocompletechipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n (click)=\"clicked()\"\n [allowText]=\"false\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [placeholder]=\"item.label\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"chipColor\"\n [chipIconColor]=\"chipIcon\"\n [chipBackground]=\"chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.clearAllowed\"\n [removable]=\"item.clearAllowed\"\n [compareWith]=\"compareItems\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>\n\n<!--<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-chip-list #chipList>\n <mat-chip *ngFor=\"let item of item.model\"\n (removed)=\"removeAutocompleteChipItem(item)\">\n {{ item.name }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input #chipsInput\n type=\"text\"\n matInput\n [(ngModel)]=\"item.selectedValue\"\n (ngModelChange)=\"onAutocompleteChipsChange(chipsInput)\"\n [name]=\"item.name\"\n [matChipInputFor]=\"chipList\"\n [matAutocomplete]=\"autocompleteChipsInput\">\n </mat-chip-list>\n\n <mat-autocomplete #autocompleteChipsInput=\"matAutocomplete\"\n (optionSelected)=\"addAutocompleteChipItem( $event)\"\n >\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">\n {{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>-->\n", components: [{ type: i1.FsAutocompleteChipsComponent, selector: "fs-autocomplete-chips", inputs: ["fetch", "readonly", "size", "placeholder", "chipImage", "chipBackground", "chipColor", "chipIcon", "chipIconColor", "chipClass", "hint", "allowText", "allowObject", "delay", "validateText", "invalidTextMessage", "removable", "allowClear", "color", "background", "orderable", "limit", "initOnClick", "fetchOnFocus", "multiple", "panelClass", "compareWith", "disabled", "panelWidth"], outputs: ["selected", "removed", "reordered", "clear"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteObjectDirective, selector: "[fsAutocompleteObject],[fsAutocompleteChipsTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, decorators: [{
45
- type: Component,
46
- args: [{
47
- selector: 'filter-item-autocompletechips',
48
- templateUrl: './autocompletechips.component.html',
49
- changeDetection: ChangeDetectionStrategy.OnPush,
50
- }]
51
- }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9hdXRvY29tcGxldGVjaGlwcy9hdXRvY29tcGxldGVjaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZWNoaXBzL2F1dG9jb21wbGV0ZWNoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEdBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLElBQUksV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBU3JFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQkFBd0M7SUFNdEYsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE4QjNCLFVBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFBO0lBN0JELENBQUM7SUFFRCxXQUFXO0lBQ0osT0FBTztRQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQUs7UUFDbEMsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLDBCQUEwQixDQUFDLEtBQUs7UUFDckMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLHlCQUF5QjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBTU0sWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLO1FBQzlCLE9BQU8sQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsS0FBSyxPQUFLLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxLQUFLLENBQUEsQ0FBQztJQUN2QyxDQUFDOzt3SEE1Q1UsMEJBQTBCOzRHQUExQiwwQkFBMEIsNEZDakJ2QyxvMURBc0RBOzRGRHJDYSwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEtleVZhbHVlRGlmZmVycyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByZW1vdmUgYXMgYXJyYXlSZW1vdmUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNoaXBzSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMtaXRlbSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlY2hpcHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlSXRlbUNvbXBvbmVudDxBdXRvY29tcGxldGVDaGlwc0l0ZW0+IHtcblxuICBwdWJsaWMgY2hpcEJhY2tncm91bmQ6IHN0cmluZztcbiAgcHVibGljIGNoaXBDb2xvcjogc3RyaW5nO1xuICBwdWJsaWMgY2hpcEljb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICAvLyBTUC1UMTc0N1xuICBwdWJsaWMgY2xpY2tlZCgpIHtcbiAgICB0aGlzLmNoaXBCYWNrZ3JvdW5kID0gdGhpcy5pdGVtLmNoaXBCYWNrZ3JvdW5kO1xuICAgIHRoaXMuY2hpcENvbG9yID0gdGhpcy5pdGVtLmNoaXBDb2xvcjtcbiAgICB0aGlzLmNoaXBJY29uID0gdGhpcy5pdGVtLmNoaXBJY29uO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmRhdGEgJiYgdGhpcy5pdGVtLm1vZGVsLmluZGV4T2YoZXZlbnQuZGF0YS52YWx1ZSkgPT09IC0xKSB7XG4gICAgICB0aGlzLml0ZW0ubW9kZWwucHVzaChldmVudC5kYXRhKTtcbiAgICAgIHRoaXMuaXRlbUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBdXRvY29tcGxldGVDaGlwSXRlbShldmVudCkge1xuICAgIGFycmF5UmVtb3ZlKHRoaXMuaXRlbS5tb2RlbCwge3ZhbHVlOiBldmVudC5kYXRhLnZhbHVlfSk7XG4gICAgdGhpcy5pdGVtQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBdXRvY29tcGxldGVDaGlwSXRlbSgpIHtcbiAgICB0aGlzLml0ZW0uY2xlYXIoKTtcbiAgICB0aGlzLml0ZW1DaGFuZ2UoKVxuICB9XG5cbiAgcHVibGljIGZldGNoID0gKGtleXdvcmQpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtLnZhbHVlc0ZuKGtleXdvcmQpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmVJdGVtcyhpdGVtMSwgaXRlbTIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbTE/LnZhbHVlID09PSBpdGVtMj8udmFsdWU7XG4gIH1cbn1cbiIsIjxmcy1hdXRvY29tcGxldGUtY2hpcHNcbiAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICBbZmV0Y2hdPVwiZmV0Y2hcIlxuICBbbmdNb2RlbF09XCJpdGVtLm1vZGVsXCJcbiAgKHNlbGVjdGVkKT1cImFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKCRldmVudClcIlxuICAocmVtb3ZlZCk9XCJyZW1vdmVBdXRvY29tcGxldGVDaGlwSXRlbSgkZXZlbnQpXCJcbiAgKGNsZWFyKT1cImNsZWFyQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oKVwiXG4gIChjbGljayk9XCJjbGlja2VkKClcIlxuICBbYWxsb3dUZXh0XT1cImZhbHNlXCJcbiAgW2ZldGNoT25Gb2N1c109XCJpdGVtLmZldGNoT25Gb2N1c1wiXG4gIFtwbGFjZWhvbGRlcl09XCJpdGVtLmxhYmVsXCJcbiAgW2NoaXBJbWFnZV09XCJpdGVtLmNoaXBJbWFnZVwiXG4gIFtjaGlwQ29sb3JdPVwiY2hpcENvbG9yXCJcbiAgW2NoaXBJY29uQ29sb3JdPVwiY2hpcEljb25cIlxuICBbY2hpcEJhY2tncm91bmRdPVwiY2hpcEJhY2tncm91bmRcIlxuICBbY2hpcEljb25dPVwiaXRlbS5jaGlwSWNvblwiXG4gIFtjaGlwQ2xhc3NdPVwiaXRlbS5jaGlwQ2xhc3NcIlxuICBbYWxsb3dDbGVhcl09XCJpdGVtLmNsZWFyQWxsb3dlZFwiXG4gIFtyZW1vdmFibGVdPVwiaXRlbS5jbGVhckFsbG93ZWRcIlxuICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUl0ZW1zXCJcbiAgbmFtZT1cIm1vZGVsXCI+XG4gIDxuZy10ZW1wbGF0ZSBmc0F1dG9jb21wbGV0ZU9iamVjdCBsZXQtb2JqZWN0PVwib2JqZWN0XCI+XG4gICAge3sgb2JqZWN0Lm5hbWUgfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZnMtYXV0b2NvbXBsZXRlLWNoaXBzPlxuXG48IS0tPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gIDxtYXQtbGFiZWw+e3tpdGVtLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgPG1hdC1jaGlwLWxpc3QgI2NoaXBMaXN0PlxuICAgIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtLm1vZGVsXCJcbiAgICAgICAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oaXRlbSlcIj5cbiAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICA8L21hdC1jaGlwPlxuXG4gICAgPGlucHV0ICNjaGlwc0lucHV0XG4gICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkF1dG9jb21wbGV0ZUNoaXBzQ2hhbmdlKGNoaXBzSW5wdXQpXCJcbiAgICAgICAgICAgW25hbWVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiXG4gICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlQ2hpcHNJbnB1dFwiPlxuICA8L21hdC1jaGlwLWxpc3Q+XG5cbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9jb21wbGV0ZUNoaXBzSW5wdXQ9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiYWRkQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oICRldmVudClcIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbS52YWx1ZXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG4gIDxtYXQtcGxhY2Vob2xkZXIgKm5nSWY9XCJpbmxpbmVcIj57eyBpdGVtLmxhYmVsIH19PC9tYXQtcGxhY2Vob2xkZXI+XG48L21hdC1mb3JtLWZpZWxkPi0tPlxuIl19
1
+ import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
+ import { remove as arrayRemove } from '@firestitch/common';
3
+ import { BaseItemComponent } from '../base-item/base-item.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@firestitch/autocomplete-chips";
6
+ import * as i2 from "../../../directives/focus-to-item/focus-to-item.directive";
7
+ import * as i3 from "@angular/forms";
8
+ export class AutocompletechipsComponent extends BaseItemComponent {
9
+ constructor(_kvDiffers, _cd) {
10
+ super(_kvDiffers, _cd);
11
+ this._kvDiffers = _kvDiffers;
12
+ this._cd = _cd;
13
+ this.fetch = (keyword) => {
14
+ return this.item.valuesFn(keyword);
15
+ };
16
+ }
17
+ // SP-T1747
18
+ clicked() {
19
+ this.chipBackground = this.item.chipBackground;
20
+ this.chipColor = this.item.chipColor;
21
+ this.chipIcon = this.item.chipIcon;
22
+ this._cd.markForCheck();
23
+ }
24
+ addAutocompleteChipItem(event) {
25
+ if (event.data && this.item.model.indexOf(event.data.value) === -1) {
26
+ this.item.model.push(event.data);
27
+ this.itemChange();
28
+ }
29
+ }
30
+ removeAutocompleteChipItem(event) {
31
+ arrayRemove(this.item.model, { value: event.data.value });
32
+ this.itemChange();
33
+ }
34
+ clearAutocompleteChipItem() {
35
+ this.item.clear();
36
+ this.itemChange();
37
+ }
38
+ compareItems(item1, item2) {
39
+ return (item1 === null || item1 === void 0 ? void 0 : item1.value) === (item2 === null || item2 === void 0 ? void 0 : item2.value);
40
+ }
41
+ }
42
+ AutocompletechipsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
43
+ AutocompletechipsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: AutocompletechipsComponent, selector: "filter-item-autocompletechips", usesInheritance: true, ngImport: i0, template: "<fs-autocomplete-chips\n [fsFilterFocusTrigger]=\"item\"\n [fetch]=\"fetch\"\n [ngModel]=\"item.model\"\n (selected)=\"addAutocompleteChipItem($event)\"\n (removed)=\"removeAutocompleteChipItem($event)\"\n (clear)=\"clearAutocompleteChipItem()\"\n (click)=\"clicked()\"\n [allowText]=\"false\"\n [fetchOnFocus]=\"item.fetchOnFocus\"\n [placeholder]=\"item.label\"\n [chipImage]=\"item.chipImage\"\n [chipColor]=\"chipColor\"\n [chipIconColor]=\"chipIcon\"\n [chipBackground]=\"chipBackground\"\n [chipIcon]=\"item.chipIcon\"\n [chipClass]=\"item.chipClass\"\n [allowClear]=\"item.clearAllowed\"\n [removable]=\"item.clearAllowed\"\n [compareWith]=\"compareItems\"\n name=\"model\">\n <ng-template fsAutocompleteObject let-object=\"object\">\n {{ object.name }}\n </ng-template>\n</fs-autocomplete-chips>\n\n<!--<mat-form-field floatLabel=\"auto\">\n <mat-label>{{item.label}}</mat-label>\n <mat-chip-list #chipList>\n <mat-chip *ngFor=\"let item of item.model\"\n (removed)=\"removeAutocompleteChipItem(item)\">\n {{ item.name }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n\n <input #chipsInput\n type=\"text\"\n matInput\n [(ngModel)]=\"item.selectedValue\"\n (ngModelChange)=\"onAutocompleteChipsChange(chipsInput)\"\n [name]=\"item.name\"\n [matChipInputFor]=\"chipList\"\n [matAutocomplete]=\"autocompleteChipsInput\">\n </mat-chip-list>\n\n <mat-autocomplete #autocompleteChipsInput=\"matAutocomplete\"\n (optionSelected)=\"addAutocompleteChipItem( $event)\"\n >\n <mat-option *ngFor=\"let item of item.values$ | async\" [value]=\"item\">\n {{ item.name }}\n </mat-option>\n </mat-autocomplete>\n <mat-placeholder *ngIf=\"inline\">{{ item.label }}</mat-placeholder>\n</mat-form-field>-->\n", components: [{ type: i1.FsAutocompleteChipsComponent, selector: "fs-autocomplete-chips", inputs: ["fetch", "readonly", "size", "placeholder", "chipImage", "chipBackground", "chipColor", "chipIcon", "chipIconColor", "chipClass", "hint", "allowText", "allowObject", "delay", "validateText", "invalidTextMessage", "removable", "allowClear", "color", "background", "orderable", "limit", "initOnClick", "fetchOnFocus", "multiple", "panelClass", "compareWith", "disabled", "panelWidth"], outputs: ["selected", "removed", "reordered", "clear"] }], directives: [{ type: i2.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1.FsAutocompleteObjectDirective, selector: "[fsAutocompleteObject],[fsAutocompleteChipsTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: AutocompletechipsComponent, decorators: [{
45
+ type: Component,
46
+ args: [{
47
+ selector: 'filter-item-autocompletechips',
48
+ templateUrl: './autocompletechips.component.html',
49
+ changeDetection: ChangeDetectionStrategy.OnPush,
50
+ }]
51
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9hdXRvY29tcGxldGVjaGlwcy9hdXRvY29tcGxldGVjaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2F1dG9jb21wbGV0ZWNoaXBzL2F1dG9jb21wbGV0ZWNoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLElBQUksV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7O0FBU3JFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQkFBd0M7SUFNdEYsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE4QjNCLFVBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFBO0lBN0JELENBQUM7SUFFRCxXQUFXO0lBQ0osT0FBTztRQUNaLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNyQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQ25DLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHVCQUF1QixDQUFDLEtBQUs7UUFDbEMsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQ2xFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVNLDBCQUEwQixDQUFDLEtBQUs7UUFDckMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLHlCQUF5QjtRQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUNuQixDQUFDO0lBTU0sWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLO1FBQzlCLE9BQU8sQ0FBQSxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsS0FBSyxPQUFLLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxLQUFLLENBQUEsQ0FBQztJQUN2QyxDQUFDOzt3SEE1Q1UsMEJBQTBCOzRHQUExQiwwQkFBMEIsNEZDakJ2QyxvMURBc0RBOzRGRHJDYSwwQkFBMEI7a0JBTHRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtCQUErQjtvQkFDekMsV0FBVyxFQUFFLG9DQUFvQztvQkFDakQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEtleVZhbHVlRGlmZmVycyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyByZW1vdmUgYXMgYXJyYXlSZW1vdmUgfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNoaXBzSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtY2hpcHMtaXRlbSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlY2hpcHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXV0b2NvbXBsZXRlY2hpcHMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQXV0b2NvbXBsZXRlY2hpcHNDb21wb25lbnQgZXh0ZW5kcyBCYXNlSXRlbUNvbXBvbmVudDxBdXRvY29tcGxldGVDaGlwc0l0ZW0+IHtcblxuICBwdWJsaWMgY2hpcEJhY2tncm91bmQ6IHN0cmluZztcbiAgcHVibGljIGNoaXBDb2xvcjogc3RyaW5nO1xuICBwdWJsaWMgY2hpcEljb246IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICAvLyBTUC1UMTc0N1xuICBwdWJsaWMgY2xpY2tlZCgpIHtcbiAgICB0aGlzLmNoaXBCYWNrZ3JvdW5kID0gdGhpcy5pdGVtLmNoaXBCYWNrZ3JvdW5kO1xuICAgIHRoaXMuY2hpcENvbG9yID0gdGhpcy5pdGVtLmNoaXBDb2xvcjtcbiAgICB0aGlzLmNoaXBJY29uID0gdGhpcy5pdGVtLmNoaXBJY29uO1xuICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKGV2ZW50KSB7XG4gICAgaWYgKGV2ZW50LmRhdGEgJiYgdGhpcy5pdGVtLm1vZGVsLmluZGV4T2YoZXZlbnQuZGF0YS52YWx1ZSkgPT09IC0xKSB7XG4gICAgICB0aGlzLml0ZW0ubW9kZWwucHVzaChldmVudC5kYXRhKTtcbiAgICAgIHRoaXMuaXRlbUNoYW5nZSgpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBdXRvY29tcGxldGVDaGlwSXRlbShldmVudCkge1xuICAgIGFycmF5UmVtb3ZlKHRoaXMuaXRlbS5tb2RlbCwge3ZhbHVlOiBldmVudC5kYXRhLnZhbHVlfSk7XG4gICAgdGhpcy5pdGVtQ2hhbmdlKCk7XG4gIH1cblxuICBwdWJsaWMgY2xlYXJBdXRvY29tcGxldGVDaGlwSXRlbSgpIHtcbiAgICB0aGlzLml0ZW0uY2xlYXIoKTtcbiAgICB0aGlzLml0ZW1DaGFuZ2UoKVxuICB9XG5cbiAgcHVibGljIGZldGNoID0gKGtleXdvcmQpID0+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtLnZhbHVlc0ZuKGtleXdvcmQpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmVJdGVtcyhpdGVtMSwgaXRlbTIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXRlbTE/LnZhbHVlID09PSBpdGVtMj8udmFsdWU7XG4gIH1cbn1cbiIsIjxmcy1hdXRvY29tcGxldGUtY2hpcHNcbiAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICBbZmV0Y2hdPVwiZmV0Y2hcIlxuICBbbmdNb2RlbF09XCJpdGVtLm1vZGVsXCJcbiAgKHNlbGVjdGVkKT1cImFkZEF1dG9jb21wbGV0ZUNoaXBJdGVtKCRldmVudClcIlxuICAocmVtb3ZlZCk9XCJyZW1vdmVBdXRvY29tcGxldGVDaGlwSXRlbSgkZXZlbnQpXCJcbiAgKGNsZWFyKT1cImNsZWFyQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oKVwiXG4gIChjbGljayk9XCJjbGlja2VkKClcIlxuICBbYWxsb3dUZXh0XT1cImZhbHNlXCJcbiAgW2ZldGNoT25Gb2N1c109XCJpdGVtLmZldGNoT25Gb2N1c1wiXG4gIFtwbGFjZWhvbGRlcl09XCJpdGVtLmxhYmVsXCJcbiAgW2NoaXBJbWFnZV09XCJpdGVtLmNoaXBJbWFnZVwiXG4gIFtjaGlwQ29sb3JdPVwiY2hpcENvbG9yXCJcbiAgW2NoaXBJY29uQ29sb3JdPVwiY2hpcEljb25cIlxuICBbY2hpcEJhY2tncm91bmRdPVwiY2hpcEJhY2tncm91bmRcIlxuICBbY2hpcEljb25dPVwiaXRlbS5jaGlwSWNvblwiXG4gIFtjaGlwQ2xhc3NdPVwiaXRlbS5jaGlwQ2xhc3NcIlxuICBbYWxsb3dDbGVhcl09XCJpdGVtLmNsZWFyQWxsb3dlZFwiXG4gIFtyZW1vdmFibGVdPVwiaXRlbS5jbGVhckFsbG93ZWRcIlxuICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZUl0ZW1zXCJcbiAgbmFtZT1cIm1vZGVsXCI+XG4gIDxuZy10ZW1wbGF0ZSBmc0F1dG9jb21wbGV0ZU9iamVjdCBsZXQtb2JqZWN0PVwib2JqZWN0XCI+XG4gICAge3sgb2JqZWN0Lm5hbWUgfX1cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZnMtYXV0b2NvbXBsZXRlLWNoaXBzPlxuXG48IS0tPG1hdC1mb3JtLWZpZWxkIGZsb2F0TGFiZWw9XCJhdXRvXCI+XG4gIDxtYXQtbGFiZWw+e3tpdGVtLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgPG1hdC1jaGlwLWxpc3QgI2NoaXBMaXN0PlxuICAgIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtLm1vZGVsXCJcbiAgICAgICAgICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oaXRlbSlcIj5cbiAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgICAgPG1hdC1pY29uIG1hdENoaXBSZW1vdmU+Y2FuY2VsPC9tYXQtaWNvbj5cbiAgICA8L21hdC1jaGlwPlxuXG4gICAgPGlucHV0ICNjaGlwc0lucHV0XG4gICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnNlbGVjdGVkVmFsdWVcIlxuICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkF1dG9jb21wbGV0ZUNoaXBzQ2hhbmdlKGNoaXBzSW5wdXQpXCJcbiAgICAgICAgICAgW25hbWVdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgICAgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiXG4gICAgICAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b2NvbXBsZXRlQ2hpcHNJbnB1dFwiPlxuICA8L21hdC1jaGlwLWxpc3Q+XG5cbiAgPG1hdC1hdXRvY29tcGxldGUgI2F1dG9jb21wbGV0ZUNoaXBzSW5wdXQ9XCJtYXRBdXRvY29tcGxldGVcIlxuICAgICAgICAgICAgICAgICAgICAob3B0aW9uU2VsZWN0ZWQpPVwiYWRkQXV0b2NvbXBsZXRlQ2hpcEl0ZW0oICRldmVudClcIlxuICA+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbS52YWx1ZXMkIHwgYXN5bmNcIiBbdmFsdWVdPVwiaXRlbVwiPlxuICAgICAge3sgaXRlbS5uYW1lIH19XG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG4gIDxtYXQtcGxhY2Vob2xkZXIgKm5nSWY9XCJpbmxpbmVcIj57eyBpdGVtLmxhYmVsIH19PC9tYXQtcGxhY2Vob2xkZXI+XG48L21hdC1mb3JtLWZpZWxkPi0tPlxuIl19