@firestitch/filter 18.2.11 → 18.2.13

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 (147) hide show
  1. package/app/components/filter/filter.component.d.ts +40 -64
  2. package/app/components/filter-chip/filter-chip.component.d.ts +16 -3
  3. package/app/components/filter-chips/filter-chips.component.d.ts +14 -2
  4. package/app/components/filter-drawer/filter-drawer.component.d.ts +2 -5
  5. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +8 -8
  6. package/app/components/filters-item/base-item/base-item.component.d.ts +3 -9
  7. package/app/components/filters-item/checkbox/checkbox.component.d.ts +6 -5
  8. package/app/components/filters-item/chips/chips.component.d.ts +6 -5
  9. package/app/components/filters-item/date/date.component.d.ts +4 -4
  10. package/app/components/filters-item/date-range/date-range.component.d.ts +7 -6
  11. package/app/components/filters-item/filter-item.component.d.ts +2 -2
  12. package/app/components/filters-item/range/range.component.d.ts +6 -7
  13. package/app/components/filters-item/select/select.component.d.ts +17 -20
  14. package/app/components/filters-item/text/text.component.d.ts +6 -7
  15. package/app/components/filters-item/week/week.component.d.ts +5 -5
  16. package/app/components/keyword-input/keyword-input.component.d.ts +29 -0
  17. package/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.d.ts +2 -3
  18. package/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.d.ts +1 -1
  19. package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +1 -2
  20. package/app/fs-filter.module.d.ts +20 -24
  21. package/app/helpers/create-filter-item.d.ts +2 -1
  22. package/app/interfaces/items/date.interface.d.ts +1 -1
  23. package/app/models/filter-config.d.ts +2 -2
  24. package/app/models/items/autocomplete-chips-item.d.ts +11 -8
  25. package/app/models/items/autocomplete-item.d.ts +7 -5
  26. package/app/models/items/{autocomplete/base-autocomplete-item.d.ts → base-autocomplete-item.d.ts} +4 -5
  27. package/app/models/items/base-date-item.d.ts +13 -0
  28. package/app/models/items/base-date-range-item.d.ts +17 -0
  29. package/app/models/items/base-item.d.ts +26 -40
  30. package/app/models/items/checkbox-item.d.ts +10 -9
  31. package/app/models/items/chips-item.d.ts +12 -9
  32. package/app/models/items/date-item.d.ts +7 -3
  33. package/app/models/items/date-range-item.d.ts +1 -1
  34. package/app/models/items/date-time-item.d.ts +6 -3
  35. package/app/models/items/date-time-range-item.d.ts +1 -1
  36. package/app/models/items/index.d.ts +0 -4
  37. package/app/models/items/range-item.d.ts +19 -8
  38. package/app/models/items/select-item.d.ts +29 -6
  39. package/app/models/items/text-item.d.ts +7 -6
  40. package/app/models/items/week-item.d.ts +7 -7
  41. package/app/services/filter-controller.service.d.ts +47 -0
  42. package/app/services/focus-controller.service.d.ts +4 -4
  43. package/app/services/index.d.ts +4 -2
  44. package/app/services/keyword-controller.service.d.ts +20 -0
  45. package/app/services/persistance-controller.service.d.ts +10 -4
  46. package/app/services/query-param-controller.service.d.ts +10 -12
  47. package/app/services/root-filter-overlay.service.d.ts +6 -0
  48. package/app/services/saved-filter-controller.service.d.ts +4 -4
  49. package/app/services/sort-controller.service.d.ts +21 -0
  50. package/esm2022/app/components/filter/filter.component.mjs +150 -294
  51. package/esm2022/app/components/filter-chip/filter-chip.component.mjs +24 -32
  52. package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +2 -2
  53. package/esm2022/app/components/filter-chips/filter-chips.component.mjs +22 -8
  54. package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +7 -14
  55. package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +6 -6
  56. package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +26 -22
  57. package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +2 -30
  58. package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +22 -15
  59. package/esm2022/app/components/filters-item/chips/chips.component.mjs +22 -15
  60. package/esm2022/app/components/filters-item/date/date.component.mjs +24 -20
  61. package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +29 -24
  62. package/esm2022/app/components/filters-item/filter-item.component.mjs +5 -5
  63. package/esm2022/app/components/filters-item/range/range.component.mjs +31 -35
  64. package/esm2022/app/components/filters-item/select/select.component.mjs +57 -45
  65. package/esm2022/app/components/filters-item/text/text.component.mjs +24 -24
  66. package/esm2022/app/components/filters-item/week/week.component.mjs +22 -16
  67. package/esm2022/app/components/keyword-input/keyword-input.component.mjs +104 -0
  68. package/esm2022/app/components/saved-filter/saved-filter-autocomplete-chips/saved-filter-autocomplete-chips.component.mjs +4 -6
  69. package/esm2022/app/components/saved-filter/saved-filter-manage/components/saved-filter-chips/saved-filter-chips.component.mjs +6 -6
  70. package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +5 -6
  71. package/esm2022/app/fs-filter.module.mjs +1 -16
  72. package/esm2022/app/helpers/parse-item-value-from-stored.mjs +17 -16
  73. package/esm2022/app/interfaces/items/date.interface.mjs +1 -1
  74. package/esm2022/app/models/action.model.mjs +2 -2
  75. package/esm2022/app/models/filter-config.mjs +2 -3
  76. package/esm2022/app/models/items/autocomplete-chips-item.mjs +32 -27
  77. package/esm2022/app/models/items/autocomplete-item.mjs +13 -15
  78. package/esm2022/app/models/items/base-autocomplete-item.mjs +16 -0
  79. package/esm2022/app/models/items/base-date-item.mjs +28 -0
  80. package/esm2022/app/models/items/base-date-range-item.mjs +101 -0
  81. package/esm2022/app/models/items/base-item.mjs +58 -138
  82. package/esm2022/app/models/items/checkbox-item.mjs +35 -26
  83. package/esm2022/app/models/items/chips-item.mjs +50 -59
  84. package/esm2022/app/models/items/date-item.mjs +21 -8
  85. package/esm2022/app/models/items/date-range-item.mjs +2 -2
  86. package/esm2022/app/models/items/date-time-item.mjs +4 -7
  87. package/esm2022/app/models/items/date-time-range-item.mjs +2 -2
  88. package/esm2022/app/models/items/index.mjs +1 -5
  89. package/esm2022/app/models/items/range-item.mjs +48 -44
  90. package/esm2022/app/models/items/select-item.mjs +104 -9
  91. package/esm2022/app/models/items/text-item.mjs +17 -15
  92. package/esm2022/app/models/items/week-item.mjs +22 -38
  93. package/esm2022/app/pipes/remove-isolate-value.pipe.mjs +1 -1
  94. package/esm2022/app/services/filter-controller.service.mjs +209 -0
  95. package/esm2022/app/services/filter-overlay.service.mjs +3 -3
  96. package/esm2022/app/services/focus-controller.service.mjs +3 -3
  97. package/esm2022/app/services/index.mjs +5 -3
  98. package/esm2022/app/services/keyword-controller.service.mjs +49 -0
  99. package/esm2022/app/services/persistance-controller.service.mjs +24 -6
  100. package/esm2022/app/services/query-param-controller.service.mjs +44 -34
  101. package/esm2022/app/services/root-filter-overlay.service.mjs +14 -0
  102. package/esm2022/app/services/saved-filter-controller.service.mjs +20 -18
  103. package/esm2022/app/services/sort-controller.service.mjs +60 -0
  104. package/esm2022/public_api.mjs +1 -2
  105. package/fesm2022/firestitch-filter.mjs +2593 -3243
  106. package/fesm2022/firestitch-filter.mjs.map +1 -1
  107. package/package.json +1 -1
  108. package/public_api.d.ts +0 -1
  109. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +0 -6
  110. package/app/components/filters-item/select/groups/groups.component.d.ts +0 -13
  111. package/app/components/filters-item/select/multiple/multiple.component.d.ts +0 -16
  112. package/app/components/filters-item/select/simple/simple.component.d.ts +0 -15
  113. package/app/helpers/build-query-params.d.ts +0 -4
  114. package/app/helpers/compare.d.ts +0 -2
  115. package/app/helpers/find-value.d.ts +0 -1
  116. package/app/models/items/autocomplete/index.d.ts +0 -1
  117. package/app/models/items/date/base-date-item.d.ts +0 -17
  118. package/app/models/items/date/index.d.ts +0 -1
  119. package/app/models/items/date-range/base-date-range-item.d.ts +0 -17
  120. package/app/models/items/date-range/index.d.ts +0 -1
  121. package/app/models/items/select/base-select-item.d.ts +0 -16
  122. package/app/models/items/select/index.d.ts +0 -3
  123. package/app/models/items/select/multiple-select-item.d.ts +0 -14
  124. package/app/models/items/select/simple-select-item.d.ts +0 -14
  125. package/app/providers/filter-meta.d.ts +0 -5
  126. package/app/services/item-store.service.d.ts +0 -63
  127. package/app/services/param-controller.service.d.ts +0 -30
  128. package/esm2022/app/components/filters-item/select/backdrop/backdrop.component.mjs +0 -12
  129. package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +0 -47
  130. package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +0 -76
  131. package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +0 -56
  132. package/esm2022/app/helpers/build-query-params.mjs +0 -38
  133. package/esm2022/app/helpers/compare.mjs +0 -38
  134. package/esm2022/app/helpers/find-value.mjs +0 -13
  135. package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -19
  136. package/esm2022/app/models/items/autocomplete/index.mjs +0 -2
  137. package/esm2022/app/models/items/date/base-date-item.mjs +0 -55
  138. package/esm2022/app/models/items/date/index.mjs +0 -2
  139. package/esm2022/app/models/items/date-range/base-date-range-item.mjs +0 -124
  140. package/esm2022/app/models/items/date-range/index.mjs +0 -2
  141. package/esm2022/app/models/items/select/base-select-item.mjs +0 -38
  142. package/esm2022/app/models/items/select/index.mjs +0 -4
  143. package/esm2022/app/models/items/select/multiple-select-item.mjs +0 -92
  144. package/esm2022/app/models/items/select/simple-select-item.mjs +0 -66
  145. package/esm2022/app/providers/filter-meta.mjs +0 -10
  146. package/esm2022/app/services/item-store.service.mjs +0 -333
  147. package/esm2022/app/services/param-controller.service.mjs +0 -151
@@ -1,22 +1,40 @@
1
1
  import { Location } from '@angular/common';
2
- import { inject, Injectable } from '@angular/core';
2
+ import { DestroyRef, inject, Injectable } from '@angular/core';
3
+ import { MatDialogRef } from '@angular/material/dialog';
3
4
  import { getNormalizedPath } from '@firestitch/common';
5
+ import { DrawerRef } from '@firestitch/drawer';
4
6
  import { FsStore } from '@firestitch/store';
7
+ import { of } from 'rxjs';
8
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
9
  import * as i0 from "@angular/core";
6
10
  export class PersistanceController {
7
- queryEnabled = false;
11
+ enabled = false;
8
12
  _store = inject(FsStore);
13
+ _filterController;
9
14
  _name;
10
15
  _data = {};
11
16
  _location = inject(Location);
12
17
  _storeKey = 'fs-filter-persist';
13
- setConfig(filterConfig, inDialog) {
14
- const config = this._initConfig(filterConfig.persist, inDialog);
18
+ _dialogRef = inject(MatDialogRef, { optional: true });
19
+ _drawerRef = inject(DrawerRef, { optional: true });
20
+ _destroyRef = inject(DestroyRef);
21
+ get inDialog() {
22
+ return !!this._dialogRef || !!this._drawerRef;
23
+ }
24
+ init(filterController) {
25
+ this._filterController = filterController;
26
+ const config = this._initConfig(filterController.config.persist, this.inDialog);
15
27
  if (config) {
16
- this.queryEnabled = config.persistQuery;
28
+ this.enabled = config.persistQuery;
17
29
  this._name = config.name;
18
30
  this._data = this._get() || {};
19
31
  }
32
+ this._filterController.change$
33
+ .pipe(takeUntilDestroyed(this._destroyRef))
34
+ .subscribe(() => {
35
+ this._set('query', this._filterController.values);
36
+ });
37
+ return of(null);
20
38
  }
21
39
  setQuery(value) {
22
40
  this._set('query', value);
@@ -62,4 +80,4 @@ export class PersistanceController {
62
80
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: PersistanceController, decorators: [{
63
81
  type: Injectable
64
82
  }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9wZXJzaXN0YW5jZS1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPNUMsTUFBTSxPQUFPLHFCQUFxQjtJQUV6QixZQUFZLEdBQUcsS0FBSyxDQUFDO0lBRXBCLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekIsS0FBSyxDQUFTO0lBQ2QsS0FBSyxHQUFRLEVBQUUsQ0FBQztJQUNoQixTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BCLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztJQUUxQyxTQUFTLENBQUMsWUFBNEIsRUFBRSxRQUFpQjtRQUM5RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFaEUsSUFBRyxNQUFNLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQztZQUN4QyxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQVU7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU8sSUFBSSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEQsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRW5DLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVPLElBQUk7UUFDVixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFbEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU8sV0FBVyxDQUFDLE1BQTJCLEVBQUUsUUFBaUI7UUFDaEUsSUFBSSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWhELElBQUcsaUJBQWlCLEVBQUUsQ0FBQztZQUNyQixpQkFBaUIsR0FBRztnQkFDbEIsSUFBSSxFQUFFLGlCQUFpQixDQUFDLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUNqRSxZQUFZLEVBQUUsQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUk7Z0JBQ25ELEdBQUcsaUJBQWlCO2FBQ3JCLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO0lBRU8sVUFBVSxDQUFDLE1BQTJCO1FBQzVDLElBQUcsTUFBTSxFQUFFLENBQUM7WUFDVixPQUFPO2dCQUNMLEdBQUcsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzthQUNuQyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0FwRVUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgZ2V0Tm9ybWFsaXplZFBhdGggfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuaW1wb3J0IHsgRnNTdG9yZSB9IGZyb20gJ0BmaXJlc3RpdGNoL3N0b3JlJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJQZXJzaXN0YW5jZSwgRnNGaWx0ZXJQZXJzaXN0YW5jZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgRnNGaWx0ZXJDb25maWcgfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLWNvbmZpZyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcnNpc3RhbmNlQ29udHJvbGxlciB7XG5cbiAgcHVibGljIHF1ZXJ5RW5hYmxlZCA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX3N0b3JlID0gaW5qZWN0KEZzU3RvcmUpO1xuICBwcml2YXRlIF9uYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgX2RhdGE6IGFueSA9IHt9O1xuICBwcml2YXRlIF9sb2NhdGlvbiA9IGluamVjdChMb2NhdGlvbik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlS2V5ID0gJ2ZzLWZpbHRlci1wZXJzaXN0JztcblxuICBwdWJsaWMgc2V0Q29uZmlnKGZpbHRlckNvbmZpZzogRnNGaWx0ZXJDb25maWcsIGluRGlhbG9nOiBib29sZWFuKSB7XG4gICAgY29uc3QgY29uZmlnID0gdGhpcy5faW5pdENvbmZpZyhmaWx0ZXJDb25maWcucGVyc2lzdCwgaW5EaWFsb2cpO1xuXG4gICAgaWYoY29uZmlnKSB7XG4gICAgICB0aGlzLnF1ZXJ5RW5hYmxlZCA9IGNvbmZpZy5wZXJzaXN0UXVlcnk7XG4gICAgICB0aGlzLl9uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgICB0aGlzLl9kYXRhID0gdGhpcy5fZ2V0KCkgfHwge307XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldFF1ZXJ5KHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9zZXQoJ3F1ZXJ5JywgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGdldFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLnF1ZXJ5IHx8IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fZGF0YVtrZXldID0gdmFsdWU7XG4gICAgY29uc3Qgc3RvcmVEYXRhID0gdGhpcy5fc3RvcmUuZ2V0KHRoaXMuX3N0b3JlS2V5KSB8fCB7fTtcbiAgICBzdG9yZURhdGFbdGhpcy5fbmFtZV0gPSB0aGlzLl9kYXRhO1xuXG4gICAgdGhpcy5fc3RvcmUuc2V0KHRoaXMuX3N0b3JlS2V5LCBzdG9yZURhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0KCkge1xuICAgIGNvbnN0IHN0b3JlRGF0YSA9IHRoaXMuX3N0b3JlLmdldCh0aGlzLl9zdG9yZUtleSk7XG5cbiAgICBpZiAoc3RvcmVEYXRhKSB7XG4gICAgICByZXR1cm4gc3RvcmVEYXRhW3RoaXMuX25hbWVdO1xuICAgIH1cbiBcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwcml2YXRlIF9pbml0Q29uZmlnKGNvbmZpZzogRnNGaWx0ZXJQZXJzaXN0YW5jZSwgaW5EaWFsb2c6IGJvb2xlYW4pOiBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnIHtcbiAgICBsZXQgcGVyc2lzdGFuY2VDb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcblxuICAgIGlmKHBlcnNpc3RhbmNlQ29uZmlnKSB7XG4gICAgICBwZXJzaXN0YW5jZUNvbmZpZyA9IHtcbiAgICAgICAgbmFtZTogcGVyc2lzdGFuY2VDb25maWcubmFtZSB8fCBnZXROb3JtYWxpemVkUGF0aCh0aGlzLl9sb2NhdGlvbiksXG4gICAgICAgIHBlcnNpc3RRdWVyeTogIWluRGlhbG9nIHx8ICEhcGVyc2lzdGFuY2VDb25maWcubmFtZSxcbiAgICAgICAgLi4ucGVyc2lzdGFuY2VDb25maWcsXG4gICAgICB9O1xuICAgIH1cbiAgXG4gICAgcmV0dXJuIHBlcnNpc3RhbmNlQ29uZmlnO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0Q29uZmlnKGNvbmZpZzogRnNGaWx0ZXJQZXJzaXN0YW5jZSk6IEZzRmlsdGVyUGVyc2lzdGFuY2VDb25maWcge1xuICAgIGlmKGNvbmZpZykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uKGNvbmZpZyA9PT0gdHJ1ZSA/IHt9IDogY29uZmlnKSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxufVxuXG4iXX0=
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGFuY2UtY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9wZXJzaXN0YW5jZS1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU1QyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVFoRSxNQUFNLE9BQU8scUJBQXFCO0lBRXpCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFZixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pCLGlCQUFpQixDQUFtQjtJQUNwQyxLQUFLLENBQVM7SUFDZCxLQUFLLEdBQVEsRUFBRSxDQUFDO0lBQ1AsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixTQUFTLEdBQUcsbUJBQW1CLENBQUM7SUFDaEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RCxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25E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Q0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQzthQUNuQyxDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0F4RlUscUJBQXFCOzRHQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgZ2V0Tm9ybWFsaXplZFBhdGggfSBmcm9tICdAZmlyZXN0aXRjaC9jb21tb24nO1xuaW1wb3J0IHsgRHJhd2VyUmVmIH0gZnJvbSAnQGZpcmVzdGl0Y2gvZHJhd2VyJztcbmltcG9ydCB7IEZzU3RvcmUgfSBmcm9tICdAZmlyZXN0aXRjaC9zdG9yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuaW1wb3J0IHsgRnNGaWx0ZXJQZXJzaXN0YW5jZSwgRnNGaWx0ZXJQZXJzaXN0YW5jZUNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBGaWx0ZXJDb250cm9sbGVyIH0gZnJvbSAnLi9maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVyc2lzdGFuY2VDb250cm9sbGVyIHtcbiAgXG4gIHB1YmxpYyBlbmFibGVkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfc3RvcmUgPSBpbmplY3QoRnNTdG9yZSk7XG4gIHByaXZhdGUgX2ZpbHRlckNvbnRyb2xsZXI6IEZpbHRlckNvbnRyb2xsZXI7XG4gIHByaXZhdGUgX25hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBfZGF0YTogYW55ID0ge307XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvY2F0aW9uID0gaW5qZWN0KExvY2F0aW9uKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmVLZXkgPSAnZnMtZmlsdGVyLXBlcnNpc3QnO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaWFsb2dSZWYgPSBpbmplY3QoTWF0RGlhbG9nUmVmLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kcmF3ZXJSZWYgPSBpbmplY3QoRHJhd2VyUmVmLCB7IG9wdGlvbmFsOiB0cnVlIH0pOyAgXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIFxuICBwdWJsaWMgZ2V0IGluRGlhbG9nKCkge1xuICAgIHJldHVybiAhIXRoaXMuX2RpYWxvZ1JlZiB8fCAhIXRoaXMuX2RyYXdlclJlZjtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGZpbHRlckNvbnRyb2xsZXI6IEZpbHRlckNvbnRyb2xsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xsZXIgPSBmaWx0ZXJDb250cm9sbGVyO1xuICAgIFxuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuX2luaXRDb25maWcoZmlsdGVyQ29udHJvbGxlci5jb25maWcucGVyc2lzdCwgdGhpcy5pbkRpYWxvZyk7XG5cbiAgICBpZihjb25maWcpIHtcbiAgICAgIHRoaXMuZW5hYmxlZCA9IGNvbmZpZy5wZXJzaXN0UXVlcnk7XG4gICAgICB0aGlzLl9uYW1lID0gY29uZmlnLm5hbWU7XG4gICAgICB0aGlzLl9kYXRhID0gdGhpcy5fZ2V0KCkgfHwge307XG4gICAgfVxuXG4gICAgdGhpcy5fZmlsdGVyQ29udHJvbGxlci5jaGFuZ2UkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3NldCgncXVlcnknLCB0aGlzLl9maWx0ZXJDb250cm9sbGVyLnZhbHVlcyk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBvZihudWxsKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRRdWVyeSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fc2V0KCdxdWVyeScsIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5xdWVyeSB8fCB7fTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldChrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIHRoaXMuX2RhdGFba2V5XSA9IHZhbHVlO1xuICAgIGNvbnN0IHN0b3JlRGF0YSA9IHRoaXMuX3N0b3JlLmdldCh0aGlzLl9zdG9yZUtleSkgfHwge307XG4gICAgc3RvcmVEYXRhW3RoaXMuX25hbWVdID0gdGhpcy5fZGF0YTtcblxuICAgIHRoaXMuX3N0b3JlLnNldCh0aGlzLl9zdG9yZUtleSwgc3RvcmVEYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldCgpIHtcbiAgICBjb25zdCBzdG9yZURhdGEgPSB0aGlzLl9zdG9yZS5nZXQodGhpcy5fc3RvcmVLZXkpO1xuXG4gICAgaWYgKHN0b3JlRGF0YSkge1xuICAgICAgcmV0dXJuIHN0b3JlRGF0YVt0aGlzLl9uYW1lXTtcbiAgICB9XG4gXG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdENvbmZpZyhjb25maWc6IEZzRmlsdGVyUGVyc2lzdGFuY2UsIGluRGlhbG9nOiBib29sZWFuKTogRnNGaWx0ZXJQZXJzaXN0YW5jZUNvbmZpZyB7XG4gICAgbGV0IHBlcnNpc3RhbmNlQ29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZyk7XG5cbiAgICBpZihwZXJzaXN0YW5jZUNvbmZpZykge1xuICAgICAgcGVyc2lzdGFuY2VDb25maWcgPSB7XG4gICAgICAgIG5hbWU6IHBlcnNpc3RhbmNlQ29uZmlnLm5hbWUgfHwgZ2V0Tm9ybWFsaXplZFBhdGgodGhpcy5fbG9jYXRpb24pLFxuICAgICAgICBwZXJzaXN0UXVlcnk6ICFpbkRpYWxvZyB8fCAhIXBlcnNpc3RhbmNlQ29uZmlnLm5hbWUsXG4gICAgICAgIC4uLnBlcnNpc3RhbmNlQ29uZmlnLFxuICAgICAgfTtcbiAgICB9XG4gIFxuICAgIHJldHVybiBwZXJzaXN0YW5jZUNvbmZpZztcbiAgfVxuXG4gIHByaXZhdGUgX2dldENvbmZpZyhjb25maWc6IEZzRmlsdGVyUGVyc2lzdGFuY2UpOiBGc0ZpbHRlclBlcnNpc3RhbmNlQ29uZmlnIHtcbiAgICBpZihjb25maWcpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLihjb25maWcgPT09IHRydWUgPyB7fSA6IGNvbmZpZyksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbn1cblxuIl19
@@ -1,47 +1,57 @@
1
- import { Injectable } from '@angular/core';
1
+ import { DestroyRef, inject, Injectable } from '@angular/core';
2
2
  import { ActivatedRoute } from '@angular/router';
3
+ import { filter, merge, of, tap } from 'rxjs';
4
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
5
  import { restoreItems } from '../helpers/restore-items';
4
- import { ItemStore } from './item-store.service';
6
+ import { SortController } from './sort-controller.service';
5
7
  import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "./item-store.service";
8
8
  export class QueryParamController {
9
- _route;
10
- _itemStore;
9
+ _destroyRef = inject(DestroyRef);
11
10
  _enabled = false;
12
- _params;
13
- constructor(_route, _itemStore) {
14
- this._route = _route;
15
- this._itemStore = _itemStore;
16
- }
11
+ _sortController = inject(SortController);
12
+ _route = inject(ActivatedRoute);
13
+ _filterController;
17
14
  get enabled() {
18
15
  return this._enabled;
19
16
  }
20
17
  get params() {
21
- return this._params;
22
- }
23
- init(enabled) {
24
- this._enabled = enabled;
25
- if (this.enabled) {
26
- this.fetchFromQueryParams();
18
+ if (!this.enabled) {
19
+ return {};
27
20
  }
28
- }
29
- writeStateToQueryParams(params) {
30
- if (this._enabled) {
31
- this._replaceState(params);
32
- }
33
- }
34
- /**
35
- * Parse query and update filter values
36
- */
37
- fetchFromQueryParams() {
38
21
  const items = [
39
- ...this._itemStore.items,
40
- this._itemStore.sortByItem,
41
- this._itemStore.sortDirectionItem,
22
+ ...this._filterController.items,
42
23
  ]
43
24
  .filter((item) => !!item);
44
- this._params = restoreItems(this._route.snapshot.queryParams, items);
25
+ return restoreItems(this._route.snapshot.queryParams, items);
26
+ }
27
+ init(filterController) {
28
+ this._filterController = filterController;
29
+ this._enabled = this._filterController.config.queryParam;
30
+ merge(this._filterController.change$, this._filterController.init$)
31
+ .pipe(filter(() => this.enabled), tap(() => this.updateQueryParams()), takeUntilDestroyed(this._destroyRef))
32
+ .subscribe();
33
+ return of(null);
34
+ }
35
+ queryParams() {
36
+ if (!this.enabled) {
37
+ return {};
38
+ }
39
+ return {
40
+ ...this._filterController.queryParam,
41
+ ...this._sortController.queryParam,
42
+ };
43
+ }
44
+ updateQueryParams() {
45
+ const queryParams = {
46
+ ...this._filterController.items.reduce((acc, item) => {
47
+ return {
48
+ ...acc,
49
+ [item.name]: undefined,
50
+ };
51
+ }, {}),
52
+ ...this.queryParams(),
53
+ };
54
+ this._replaceState(queryParams);
45
55
  }
46
56
  _replaceState(data) {
47
57
  const url = new URL(window.location.href);
@@ -56,10 +66,10 @@ export class QueryParamController {
56
66
  });
57
67
  history.replaceState({}, null, url.pathname + url.search);
58
68
  }
59
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryParamController, deps: [{ token: i1.ActivatedRoute }, { token: i2.ItemStore }], target: i0.ɵɵFactoryTarget.Injectable });
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryParamController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
60
70
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryParamController });
61
71
  }
62
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: QueryParamController, decorators: [{
63
73
  type: Injectable
64
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.ItemStore }] });
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW0tY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9xdWVyeS1wYXJhbS1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXhELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQUlqRCxNQUFNLE9BQU8sb0JBQW9CO0lBTXJCO0lBQ0E7SUFMRixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLE9BQU8sQ0FBc0I7SUFFckMsWUFDVSxNQUFzQixFQUN0QixVQUFxQjtRQURyQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFXO0lBQzVCLENBQUM7SUFFSixJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLElBQUksQ0FBQyxPQUFnQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE1BQU07UUFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksb0JBQW9CO1FBQ3pCLE1BQU0sS0FBSyxHQUFHO1lBQ1osR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVO1lBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCO1NBQ2xDO2FBQ0UsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFDaEMsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRU8sYUFBYSxDQUFDLElBQUk7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ25ELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBOURVLG9CQUFvQjs0R0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyByZXN0b3JlSXRlbXMgfSBmcm9tICcuLi9oZWxwZXJzL3Jlc3RvcmUtaXRlbXMnO1xuXG5pbXBvcnQgeyBJdGVtU3RvcmUgfSBmcm9tICcuL2l0ZW0tc3RvcmUuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1Db250cm9sbGVyIHtcblxuICBwcml2YXRlIF9lbmFibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgX3BhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfaXRlbVN0b3JlOiBJdGVtU3RvcmUsXG4gICkge31cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBhcmFtcygpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyYW1zO1xuICB9XG5cbiAgcHVibGljIGluaXQoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBlbmFibGVkO1xuXG4gICAgaWYgKHRoaXMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5mZXRjaEZyb21RdWVyeVBhcmFtcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVN0YXRlVG9RdWVyeVBhcmFtcyhwYXJhbXMpIHtcbiAgICBpZiAodGhpcy5fZW5hYmxlZCkgeyBcbiAgICAgIHRoaXMuX3JlcGxhY2VTdGF0ZShwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBxdWVyeSBhbmQgdXBkYXRlIGZpbHRlciB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBmZXRjaEZyb21RdWVyeVBhcmFtcygpIHtcbiAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgIC4uLnRoaXMuX2l0ZW1TdG9yZS5pdGVtcyxcbiAgICAgIHRoaXMuX2l0ZW1TdG9yZS5zb3J0QnlJdGVtLFxuICAgICAgdGhpcy5faXRlbVN0b3JlLnNvcnREaXJlY3Rpb25JdGVtLFxuICAgIF1cbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICEhaXRlbSk7XG5cbiAgICB0aGlzLl9wYXJhbXMgPSByZXN0b3JlSXRlbXMoXG4gICAgICB0aGlzLl9yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcyxcbiAgICAgIGl0ZW1zLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIF9yZXBsYWNlU3RhdGUoZGF0YSkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuXG4gICAgT2JqZWN0LmtleXMoZGF0YSlcbiAgICAgIC5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgIGlmKGRhdGFbbmFtZV0gPT09IHVuZGVmaW5lZCB8fCBkYXRhW25hbWVdID09PSBudWxsKSB7XG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5kZWxldGUobmFtZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdXJsLnNlYXJjaFBhcmFtcy5zZXQobmFtZSxkYXRhW25hbWVdKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSwgbnVsbCwgdXJsLnBhdGhuYW1lICsgdXJsLnNlYXJjaCk7XG4gIH1cbn1cbiJdfQ==
74
+ }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW0tY29udHJvbGxlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9xdWVyeS1wYXJhbS1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUl4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBSTNELE1BQU0sT0FBTyxvQkFBb0I7SUFDdkIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNqQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGVBQWUsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDekMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoQyxpQkFBaUIsQ0FBbUI7SUFFNUMsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsSUFBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRztZQUNaLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7U0FDaEM7YUFDRSxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QixPQUFPLFlBQVksQ0FDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUNoQyxLQUFLLENBQ04sQ0FBQztJQUNKLENBQUM7SUFFTSxJQUFJLENBQUMsZ0JBQWtDO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBRXpELEtBQUssQ0FDSCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUM5QixJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUM3QjthQUNFLElBQUksQ0FDSCxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUMxQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFDbkMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNyQzthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWYsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxPQUFPO1lBQ0wsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVTtZQUNwQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVTtTQUNuQyxDQUFDO0lBQ0osQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixNQUFNLFdBQVcsR0FBRztZQUNsQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO2dCQUNuRCxPQUFPO29CQUNMLEdBQUcsR0FBRztvQkFDTixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxTQUFTO2lCQUN2QixDQUFDO1lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNOLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRTtTQUN0QixDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sYUFBYSxDQUFDLElBQUk7UUFDeEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNkLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hCLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQ25ELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixHQUFHLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDeEMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBbkZVLG9CQUFvQjs0R0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IGZpbHRlciwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5pbXBvcnQgeyByZXN0b3JlSXRlbXMgfSBmcm9tICcuLi9oZWxwZXJzL3Jlc3RvcmUtaXRlbXMnO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgRmlsdGVyQ29udHJvbGxlciB9IGZyb20gJy4vZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0Q29udHJvbGxlciB9IGZyb20gJy4vc29ydC1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBRdWVyeVBhcmFtQ29udHJvbGxlciB7XG4gIHByaXZhdGUgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHByaXZhdGUgX2VuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc29ydENvbnRyb2xsZXIgPSBpbmplY3QoU29ydENvbnRyb2xsZXIpO1xuICBwcml2YXRlIF9yb3V0ZSA9IGluamVjdChBY3RpdmF0ZWRSb3V0ZSk7XG4gIHByaXZhdGUgX2ZpbHRlckNvbnRyb2xsZXI6IEZpbHRlckNvbnRyb2xsZXI7XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgcHVibGljIGdldCBwYXJhbXMoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgaWYoIXRoaXMuZW5hYmxlZCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgLi4udGhpcy5fZmlsdGVyQ29udHJvbGxlci5pdGVtcyxcbiAgICBdXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuICAgICAgXG4gICAgcmV0dXJuIHJlc3RvcmVJdGVtcyhcbiAgICAgIHRoaXMuX3JvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLFxuICAgICAgaXRlbXMsXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGZpbHRlckNvbnRyb2xsZXI6IEZpbHRlckNvbnRyb2xsZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHRoaXMuX2ZpbHRlckNvbnRyb2xsZXIgPSBmaWx0ZXJDb250cm9sbGVyO1xuICAgIHRoaXMuX2VuYWJsZWQgPSB0aGlzLl9maWx0ZXJDb250cm9sbGVyLmNvbmZpZy5xdWVyeVBhcmFtO1xuXG4gICAgbWVyZ2UoXG4gICAgICB0aGlzLl9maWx0ZXJDb250cm9sbGVyLmNoYW5nZSQsIFxuICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbGxlci5pbml0JCxcbiAgICApXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZW5hYmxlZCksXG4gICAgICAgIHRhcCgoKSA9PiB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKCkpLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZiksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG5cbiAgICByZXR1cm4gb2YobnVsbCk7XG4gIH1cblxuICBwdWJsaWMgcXVlcnlQYXJhbXMoKTogS2V5VmFsdWUge1xuICAgIGlmKCF0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHJldHVybiB7fTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5fZmlsdGVyQ29udHJvbGxlci5xdWVyeVBhcmFtLFxuICAgICAgLi4udGhpcy5fc29ydENvbnRyb2xsZXIucXVlcnlQYXJhbSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVF1ZXJ5UGFyYW1zKCkge1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge1xuICAgICAgLi4udGhpcy5fZmlsdGVyQ29udHJvbGxlci5pdGVtcy5yZWR1Y2UoKGFjYywgaXRlbSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmFjYyxcbiAgICAgICAgICBbaXRlbS5uYW1lXTogdW5kZWZpbmVkLFxuICAgICAgICB9O1xuICAgICAgfSwge30pLFxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtcygpLFxuICAgIH07XG5cbiAgICB0aGlzLl9yZXBsYWNlU3RhdGUocXVlcnlQYXJhbXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVwbGFjZVN0YXRlKGRhdGEpIHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcblxuICAgIE9iamVjdC5rZXlzKGRhdGEpXG4gICAgICAuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICBpZihkYXRhW25hbWVdID09PSB1bmRlZmluZWQgfHwgZGF0YVtuYW1lXSA9PT0gbnVsbCkge1xuICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuZGVsZXRlKG5hbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KG5hbWUsZGF0YVtuYW1lXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgaGlzdG9yeS5yZXBsYWNlU3RhdGUoe30sIG51bGwsIHVybC5wYXRobmFtZSArIHVybC5zZWFyY2gpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,14 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsRootFilterOverlayService {
4
+ openedFilters = 0;
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsRootFilterOverlayService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
6
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsRootFilterOverlayService, providedIn: 'root' });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FsRootFilterOverlayService, decorators: [{
9
+ type: Injectable,
10
+ args: [{
11
+ providedIn: 'root',
12
+ }]
13
+ }] });
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC1maWx0ZXItb3ZlcmxheS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlcy9yb290LWZpbHRlci1vdmVybGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLDBCQUEwQjtJQUU5QixhQUFhLEdBQUcsQ0FBQyxDQUFDO3dHQUZkLDBCQUEwQjs0R0FBMUIsMEJBQTBCLGNBRnpCLE1BQU07OzRGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZzUm9vdEZpbHRlck92ZXJsYXlTZXJ2aWNlIHtcbiAgXG4gIHB1YmxpYyBvcGVuZWRGaWx0ZXJzID0gMDtcbiAgXG59XG4iXX0=
@@ -2,27 +2,25 @@ import { inject, Injectable } from '@angular/core';
2
2
  import { FsPrompt } from '@firestitch/prompt';
3
3
  import { BehaviorSubject, of, Subject } from 'rxjs';
4
4
  import { distinctUntilChanged, switchMap, tap, } from 'rxjs/operators';
5
- import { ItemStore } from './item-store.service';
6
5
  import * as i0 from "@angular/core";
7
6
  export class SavedFilterController {
8
- _config;
7
+ _filterController;
9
8
  _savedFilters$ = new BehaviorSubject([]);
10
9
  _activeFilter$ = new BehaviorSubject(null);
11
10
  _enabled$ = new BehaviorSubject(false);
12
11
  _destroy$ = new Subject();
13
- _itemStore = inject(ItemStore);
14
12
  _prompt = inject(FsPrompt);
15
13
  get singularLabel() {
16
- return this._config?.label?.singular || 'Saved filter';
14
+ return this._filterController.config.savedFilters?.label?.singular || 'Saved filter';
17
15
  }
18
16
  get singularLabelLower() {
19
17
  return this.singularLabel.toLowerCase();
20
18
  }
21
19
  get labelIcon() {
22
- return this._config?.label?.icon || 'save';
20
+ return this._filterController.config.savedFilters?.label?.icon || 'save';
23
21
  }
24
22
  get pluralLabel() {
25
- return this._config?.label?.plural || 'Saved filters';
23
+ return this._filterController.config.savedFilters?.label?.plural || 'Saved filters';
26
24
  }
27
25
  get pluralLabelLower() {
28
26
  return this.pluralLabel.toLowerCase();
@@ -58,13 +56,14 @@ export class SavedFilterController {
58
56
  this._destroy$.next(null);
59
57
  this._destroy$.complete();
60
58
  }
61
- init(filterSavedFiltersConfig) {
62
- if (!filterSavedFiltersConfig) {
59
+ init(filterController) {
60
+ this._filterController = filterController;
61
+ if (!filterController.config.savedFilters) {
63
62
  this._setEnabledStatus(false);
64
- return;
63
+ return of(null);
65
64
  }
66
65
  this._setEnabledStatus(true);
67
- this._config = filterSavedFiltersConfig;
66
+ return this.load();
68
67
  }
69
68
  initSavedFilters(savedFilters) {
70
69
  this.savedFilters = savedFilters;
@@ -78,7 +77,7 @@ export class SavedFilterController {
78
77
  if (!this.enabled) {
79
78
  return of([]);
80
79
  }
81
- return this._config.load()
80
+ return this._filterController.config.savedFilters.load()
82
81
  .pipe(tap((savedFilters) => {
83
82
  this.initSavedFilters(savedFilters);
84
83
  }));
@@ -106,16 +105,16 @@ export class SavedFilterController {
106
105
  savedFilter = {
107
106
  ...(this.activeFilter || {}),
108
107
  ...savedFilter,
109
- filters: this._itemStore.items
108
+ filters: this._filterController.items
110
109
  .filter((item) => item.hasValue)
111
110
  .reduce((accum, item) => {
112
111
  return {
113
112
  ...accum,
114
- [item.name]: item.model,
113
+ [item.name]: item.value,
115
114
  };
116
115
  }, {}),
117
116
  };
118
- return this._config.save(savedFilter)
117
+ return this._filterController.config.savedFilters.save(savedFilter)
119
118
  .pipe(tap((_savedFilter) => {
120
119
  this.savedFilters = this.activeFilter?.id ? this.savedFilters
121
120
  .map((f) => f.id === savedFilter.id ? _savedFilter : f) : [
@@ -126,10 +125,10 @@ export class SavedFilterController {
126
125
  }));
127
126
  }
128
127
  get orderable() {
129
- return !!this._config.order;
128
+ return !!this._filterController.config.savedFilters.order;
130
129
  }
131
130
  order(savedFilters) {
132
- return this._config.order(savedFilters)
131
+ return this._filterController.config.savedFilters.order(savedFilters)
133
132
  .pipe(tap(() => {
134
133
  this.savedFilters = [
135
134
  ...savedFilters,
@@ -137,7 +136,7 @@ export class SavedFilterController {
137
136
  }));
138
137
  }
139
138
  delete(savedFilter) {
140
- return this._config.delete(savedFilter)
139
+ return this._filterController.config.savedFilters.delete(savedFilter)
141
140
  .pipe(tap(() => {
142
141
  this.savedFilters = this.savedFilters
143
142
  .filter((f) => f.id !== savedFilter.id);
@@ -153,6 +152,9 @@ export class SavedFilterController {
153
152
  if (!existingFilter) {
154
153
  throw new Error(`Saved filter cannot be activated, because it does not exists. Filter ID = ${savedFilter.id}`);
155
154
  }
155
+ this._filterController.changeTransaction(() => {
156
+ this._filterController.values = existingFilter.filters;
157
+ });
156
158
  this._activeFilter$.next(existingFilter);
157
159
  }
158
160
  else {
@@ -168,4 +170,4 @@ export class SavedFilterController {
168
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SavedFilterController, decorators: [{
169
171
  type: Injectable
170
172
  }] });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvc2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUc5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDO0FBUXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJakQsTUFBTSxPQUFPLHFCQUFxQjtJQUV4QixPQUFPLENBQTRCO0lBQ25DLGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBdUIsRUFBRSxDQUFDLENBQUM7SUFDL0QsY0FBYyxHQUFHLElBQUksZUFBZSxDQUFxQixJQUFJLENBQUMsQ0FBQztJQUMvRCxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDaEQsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFDaEMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQixPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRW5DLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxjQUFjLENBQUM7SUFDekQsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lB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O2dCQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ04sQ0FBQztJQUVNLGVBQWUsQ0FBQyxXQUErQjtRQUNwRCxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZO2lCQUNyQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXhDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsV0FBVyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDakgsQ0FBQztZQUVELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxLQUFjO1FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7d0dBbE5VLHFCQUFxQjs0R0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuXG5pbXBvcnQgeyBGc1Byb21wdCB9IGZyb20gJ0BmaXJlc3RpdGNoL3Byb21wdCc7XG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0ZXJuYWwtcGFyYW1zLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBJRmlsdGVyU2F2ZWRGaWx0ZXIsXG4gIElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcsXG59IGZyb20gJy4uL2ludGVyZmFjZXMvc2F2ZWQtZmlsdGVycy5pbnRlcmZhY2UnO1xuXG5pbXBvcnQgeyBJdGVtU3RvcmUgfSBmcm9tICcuL2l0ZW0tc3RvcmUuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNhdmVkRmlsdGVyQ29udHJvbGxlciBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfY29uZmlnOiBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnO1xuICBwcml2YXRlIF9zYXZlZEZpbHRlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4oW10pO1xuICBwcml2YXRlIF9hY3RpdmVGaWx0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRmlsdGVyU2F2ZWRGaWx0ZXI+KG51bGwpO1xuICBwcml2YXRlIF9lbmFibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX2l0ZW1TdG9yZSA9IGluamVjdChJdGVtU3RvcmUpO1xuICBwcml2YXRlIF9wcm9tcHQgPSBpbmplY3QoRnNQcm9tcHQpO1xuXG4gIHB1YmxpYyBnZXQgc2luZ3VsYXJMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc/LmxhYmVsPy5zaW5ndWxhciB8fCAnU2F2ZWQgZmlsdGVyJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2luZ3VsYXJMYWJlbExvd2VyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuc2luZ3VsYXJMYWJlbC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBsYWJlbEljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnPy5sYWJlbD8uaWNvbiB8fCAnc2F2ZSc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBsdXJhbExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZz8ubGFiZWw/LnBsdXJhbCB8fCAnU2F2ZWQgZmlsdGVycyc7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBsdXJhbExhYmVsTG93ZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wbHVyYWxMYWJlbC50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBlbmFibGVkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZCRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2F2ZWRGaWx0ZXJzKCk6IElGaWx0ZXJTYXZlZEZpbHRlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fc2F2ZWRGaWx0ZXJzJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIHNldCBzYXZlZEZpbHRlcnMoZmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyW10pIHtcbiAgICB0aGlzLl9zYXZlZEZpbHRlcnMkLm5leHQoZmlsdGVycyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNhdmVkRmlsdGVycyQoKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnMkXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUZpbHRlcigpOiBJRmlsdGVyU2F2ZWRGaWx0ZXIge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVGaWx0ZXIkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUZpbHRlciQoKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlRmlsdGVyJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBhY3RpdmVGaWx0ZXJEYXRhKCk6IEtleVZhbHVlIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlRmlsdGVyJC5nZXRWYWx1ZSgpPy5maWx0ZXJzO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQobnVsbCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KFxuICAgIGZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZzogSUZpbHRlclNhdmVkRmlsdGVyc0NvbmZpZyxcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFmaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcpIHtcbiAgICAgIHRoaXMuX3NldEVuYWJsZWRTdGF0dXMoZmFsc2UpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3NldEVuYWJsZWRTdGF0dXModHJ1ZSk7XG5cbiAgICB0aGlzLl9jb25maWcgPSBmaWx0ZXJTYXZlZEZpbHRlcnNDb25maWc7XG4gIH1cblxuICBwdWJsaWMgaW5pdFNhdmVkRmlsdGVycyhzYXZlZEZpbHRlcnM6IElGaWx0ZXJTYXZlZEZpbHRlcltdKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnMgPSBzYXZlZEZpbHRlcnM7XG4gICAgY29uc3QgYWNpdHZlRmlsdGVyID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgIC5maW5kKChmKSA9PiBmLmFjdGl2ZSk7XG5cbiAgICBpZiAoYWNpdHZlRmlsdGVyKSB7XG4gICAgICB0aGlzLl9hY3RpdmVGaWx0ZXIkLm5leHQoYWNpdHZlRmlsdGVyKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbG9hZCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcltdPiB7XG4gICAgaWYgKCF0aGlzLmVuYWJsZWQpIHtcbiAgICAgIHJldHVybiBvZihbXSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5sb2FkKClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHNhdmVkRmlsdGVycykgPT4ge1xuICAgICAgICAgIHRoaXMuaW5pdFNhdmVkRmlsdGVycyhzYXZlZEZpbHRlcnMpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgY3JlYXRlKCk6IE9ic2VydmFibGU8SUZpbHRlclNhdmVkRmlsdGVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX3Byb21wdC5pbnB1dCh7XG4gICAgICB0aXRsZTogYENyZWF0ZSAke3RoaXMuc2luZ3VsYXJMYWJlbH1gLFxuICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgY29tbWl0TGFiZWw6ICdDcmVhdGUnLFxuICAgICAgZGlhbG9nQ29uZmlnOiB7XG4gICAgICAgIHJlc3RvcmVGb2N1czogZmFsc2UsXG4gICAgICB9LFxuICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKChuYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgZGF0YTogSUZpbHRlclNhdmVkRmlsdGVyID0ge1xuICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZShkYXRhKTtcbiAgICAgICAgfSksXG4gICAgICAgIHRhcCgoc2F2ZWRGaWx0ZXIpID0+IHtcbiAgICAgICAgICB0aGlzLnNldEFjdGl2ZUZpbHRlcihzYXZlZEZpbHRlcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzYXZlKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHNhdmVkRmlsdGVyID0ge1xuICAgICAgLi4uKHRoaXMuYWN0aXZlRmlsdGVyIHx8IHt9KSxcbiAgICAgIC4uLnNhdmVkRmlsdGVyLFxuICAgICAgZmlsdGVyczogdGhpcy5faXRlbVN0b3JlLml0ZW1zXG4gICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0uaGFzVmFsdWUpXG4gICAgICAgIC5yZWR1Y2UoKGFjY3VtLCBpdGVtKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLmFjY3VtLFxuICAgICAgICAgICAgW2l0ZW0ubmFtZV06IGl0ZW0ubW9kZWwsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSwge30pLFxuICAgIH07ICBcblxuICAgIHJldHVybiB0aGlzLl9jb25maWcuc2F2ZShzYXZlZEZpbHRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKF9zYXZlZEZpbHRlcikgPT4ge1xuICAgICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gdGhpcy5hY3RpdmVGaWx0ZXI/LmlkID8gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgICAgICAgIC5tYXAoKGYpID0+IGYuaWQgPT09IHNhdmVkRmlsdGVyLmlkID8gX3NhdmVkRmlsdGVyIDogZikgOiBbXG4gICAgICAgICAgICAuLi50aGlzLnNhdmVkRmlsdGVycyxcbiAgICAgICAgICAgIF9zYXZlZEZpbHRlcixcbiAgICAgICAgICBdO1xuICAgICAgICAgIFxuICAgICAgICAgIHRoaXMuc2V0QWN0aXZlRmlsdGVyKF9zYXZlZEZpbHRlcik7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgb3JkZXJhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMuX2NvbmZpZy5vcmRlcjtcbiAgfVxuXG4gIHB1YmxpYyBvcmRlcihzYXZlZEZpbHRlcnM6IElGaWx0ZXJTYXZlZEZpbHRlcltdKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jb25maWcub3JkZXIoc2F2ZWRGaWx0ZXJzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMgPSBbXG4gICAgICAgICAgICAuLi5zYXZlZEZpbHRlcnMsXG4gICAgICAgICAgXTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGRlbGV0ZShzYXZlZEZpbHRlcjogSUZpbHRlclNhdmVkRmlsdGVyKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXI+IHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmRlbGV0ZShzYXZlZEZpbHRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgICAgICAgIC5maWx0ZXIoKGYpID0+IGYuaWQgIT09IHNhdmVkRmlsdGVyLmlkKTtcbiAgICAgICAgICBcbiAgICAgICAgICBpZiAodGhpcy5hY3RpdmVGaWx0ZXI/LmlkID09PSBzYXZlZEZpbHRlci5pZCkge1xuICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVGaWx0ZXIobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2V0QWN0aXZlRmlsdGVyKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpOiB2b2lkIHtcbiAgICBpZiAoc2F2ZWRGaWx0ZXIpIHtcbiAgICAgIGNvbnN0IGV4aXN0aW5nRmlsdGVyID0gdGhpcy5zYXZlZEZpbHRlcnNcbiAgICAgICAgLmZpbmQoKGYpID0+IGYuaWQgPT09IHNhdmVkRmlsdGVyLmlkKTtcblxuICAgICAgaWYgKCFleGlzdGluZ0ZpbHRlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNhdmVkIGZpbHRlciBjYW5ub3QgYmUgYWN0aXZhdGVkLCBiZWNhdXNlIGl0IGRvZXMgbm90IGV4aXN0cy4gRmlsdGVyIElEID0gJHtzYXZlZEZpbHRlci5pZH1gKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyJC5uZXh0KGV4aXN0aW5nRmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyJC5uZXh0KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3NldEVuYWJsZWRTdGF0dXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9lbmFibGVkJC5uZXh0KHZhbHVlKTtcbiAgfVxufVxuIl19
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvc2F2ZWQtZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hFLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsU0FBUyxFQUNULEdBQUcsR0FDSixNQUFNLGdCQUFnQixDQUFDOztBQVd4QixNQUFNLE9BQU8scUJBQXFCO0lBRXhCLGlCQUFpQixDQUFtQjtJQUNwQyxjQUFjLEdBQUcsSUFBSSxlQUFlLENBQXVCLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELGNBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBcUIsSUFBSSxDQUFDLENBQUM7SUFDL0QsU0FBUyxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2hELFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBQ2hDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFbkMsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsSUFBSSxjQUFjLENBQUM7SUFDdkYsQ0FBQztJQUVELElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxZQUFZ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d0dBeE5VLHFCQUFxQjs0R0FBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRnNQcm9tcHQgfSBmcm9tICdAZmlyZXN0aXRjaC9wcm9tcHQnO1xuXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgc3dpdGNoTWFwLFxuICB0YXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dGVybmFsLXBhcmFtcy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgSUZpbHRlclNhdmVkRmlsdGVyLFxufSBmcm9tICcuLi9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcblxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb250cm9sbGVyIH0gZnJvbSAnLi9maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2F2ZWRGaWx0ZXJDb250cm9sbGVyIGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9maWx0ZXJDb250cm9sbGVyOiBGaWx0ZXJDb250cm9sbGVyO1xuICBwcml2YXRlIF9zYXZlZEZpbHRlcnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4oW10pO1xuICBwcml2YXRlIF9hY3RpdmVGaWx0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxJRmlsdGVyU2F2ZWRGaWx0ZXI+KG51bGwpO1xuICBwcml2YXRlIF9lbmFibGVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIF9kZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIHByaXZhdGUgX3Byb21wdCA9IGluamVjdChGc1Byb21wdCk7XG5cbiAgcHVibGljIGdldCBzaW5ndWxhckxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbnRyb2xsZXIuY29uZmlnLnNhdmVkRmlsdGVycz8ubGFiZWw/LnNpbmd1bGFyIHx8ICdTYXZlZCBmaWx0ZXInO1xuICB9XG5cbiAgcHVibGljIGdldCBzaW5ndWxhckxhYmVsTG93ZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5zaW5ndWxhckxhYmVsLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxhYmVsSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250cm9sbGVyLmNvbmZpZy5zYXZlZEZpbHRlcnM/LmxhYmVsPy5pY29uIHx8ICdzYXZlJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGx1cmFsTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fZmlsdGVyQ29udHJvbGxlci5jb25maWcuc2F2ZWRGaWx0ZXJzPy5sYWJlbD8ucGx1cmFsIHx8ICdTYXZlZCBmaWx0ZXJzJztcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcGx1cmFsTGFiZWxMb3dlcigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBsdXJhbExhYmVsLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkJFxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBzYXZlZEZpbHRlcnMoKTogSUZpbHRlclNhdmVkRmlsdGVyW10ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnMkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNhdmVkRmlsdGVycyhmaWx0ZXJzOiBJRmlsdGVyU2F2ZWRGaWx0ZXJbXSkge1xuICAgIHRoaXMuX3NhdmVkRmlsdGVycyQubmV4dChmaWx0ZXJzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2F2ZWRGaWx0ZXJzJCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX3NhdmVkRmlsdGVycyRcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyKCk6IElGaWx0ZXJTYXZlZEZpbHRlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUZpbHRlciQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyJCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVGaWx0ZXIkXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGFjdGl2ZUZpbHRlckRhdGEoKTogS2V5VmFsdWUge1xuICAgIHJldHVybiB0aGlzLl9hY3RpdmVGaWx0ZXIkLmdldFZhbHVlKCk/LmZpbHRlcnM7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dChudWxsKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIGluaXQoXG4gICAgZmlsdGVyQ29udHJvbGxlcjogRmlsdGVyQ29udHJvbGxlcixcbiAgKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICB0aGlzLl9maWx0ZXJDb250cm9sbGVyID0gZmlsdGVyQ29udHJvbGxlcjtcbiAgICBcbiAgICBpZiAoIWZpbHRlckNvbnRyb2xsZXIuY29uZmlnLnNhdmVkRmlsdGVycykge1xuICAgICAgdGhpcy5fc2V0RW5hYmxlZFN0YXR1cyhmYWxzZSk7XG5cbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG5cbiAgICB0aGlzLl9zZXRFbmFibGVkU3RhdHVzKHRydWUpO1xuXG4gICAgcmV0dXJuIHRoaXMubG9hZCgpO1xuICB9XG5cbiAgcHVibGljIGluaXRTYXZlZEZpbHRlcnMoc2F2ZWRGaWx0ZXJzOiBJRmlsdGVyU2F2ZWRGaWx0ZXJbXSk6IHZvaWQge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gc2F2ZWRGaWx0ZXJzO1xuICAgIGNvbnN0IGFjaXR2ZUZpbHRlciA9IHRoaXMuc2F2ZWRGaWx0ZXJzXG4gICAgICAuZmluZCgoZikgPT4gZi5hY3RpdmUpO1xuXG4gICAgaWYgKGFjaXR2ZUZpbHRlcikge1xuICAgICAgdGhpcy5fYWN0aXZlRmlsdGVyJC5uZXh0KGFjaXR2ZUZpbHRlcik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvYWQoKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4ge1xuICAgIGlmICghdGhpcy5lbmFibGVkKSB7XG4gICAgICByZXR1cm4gb2YoW10pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250cm9sbGVyLmNvbmZpZy5zYXZlZEZpbHRlcnMubG9hZCgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKChzYXZlZEZpbHRlcnMpID0+IHtcbiAgICAgICAgICB0aGlzLmluaXRTYXZlZEZpbHRlcnMoc2F2ZWRGaWx0ZXJzKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZSgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9wcm9tcHQuaW5wdXQoe1xuICAgICAgdGl0bGU6IGBDcmVhdGUgJHt0aGlzLnNpbmd1bGFyTGFiZWx9YCxcbiAgICAgIGxhYmVsOiAnTmFtZScsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIGNvbW1pdExhYmVsOiAnQ3JlYXRlJyxcbiAgICAgIGRpYWxvZ0NvbmZpZzoge1xuICAgICAgICByZXN0b3JlRm9jdXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgobmFtZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGRhdGE6IElGaWx0ZXJTYXZlZEZpbHRlciA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLnNhdmUoZGF0YSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YXAoKHNhdmVkRmlsdGVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRBY3RpdmVGaWx0ZXIoc2F2ZWRGaWx0ZXIpO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZShzYXZlZEZpbHRlcjogSUZpbHRlclNhdmVkRmlsdGVyKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXI+IHtcbiAgICBzYXZlZEZpbHRlciA9IHtcbiAgICAgIC4uLih0aGlzLmFjdGl2ZUZpbHRlciB8fCB7fSksXG4gICAgICAuLi5zYXZlZEZpbHRlcixcbiAgICAgIGZpbHRlcnM6IHRoaXMuX2ZpbHRlckNvbnRyb2xsZXIuaXRlbXNcbiAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5oYXNWYWx1ZSlcbiAgICAgICAgLnJlZHVjZSgoYWNjdW0sIGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uYWNjdW0sXG4gICAgICAgICAgICBbaXRlbS5uYW1lXTogaXRlbS52YWx1ZSxcbiAgICAgICAgICB9O1xuICAgICAgICB9LCB7fSksXG4gICAgfTsgIFxuXG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbnRyb2xsZXIuY29uZmlnLnNhdmVkRmlsdGVycy5zYXZlKHNhdmVkRmlsdGVyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoX3NhdmVkRmlsdGVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMgPSB0aGlzLmFjdGl2ZUZpbHRlcj8uaWQgPyB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgICAgICAgLm1hcCgoZikgPT4gZi5pZCA9PT0gc2F2ZWRGaWx0ZXIuaWQgPyBfc2F2ZWRGaWx0ZXIgOiBmKSA6IFtcbiAgICAgICAgICAgIC4uLnRoaXMuc2F2ZWRGaWx0ZXJzLFxuICAgICAgICAgICAgX3NhdmVkRmlsdGVyLFxuICAgICAgICAgIF07XG4gICAgICAgICAgXG4gICAgICAgICAgdGhpcy5zZXRBY3RpdmVGaWx0ZXIoX3NhdmVkRmlsdGVyKTtcbiAgICAgICAgfSksXG4gICAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCBvcmRlcmFibGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5fZmlsdGVyQ29udHJvbGxlci5jb25maWcuc2F2ZWRGaWx0ZXJzLm9yZGVyO1xuICB9XG5cbiAgcHVibGljIG9yZGVyKHNhdmVkRmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyW10pOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcltdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2ZpbHRlckNvbnRyb2xsZXIuY29uZmlnLnNhdmVkRmlsdGVycy5vcmRlcihzYXZlZEZpbHRlcnMpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICB0aGlzLnNhdmVkRmlsdGVycyA9IFtcbiAgICAgICAgICAgIC4uLnNhdmVkRmlsdGVycyxcbiAgICAgICAgICBdO1xuICAgICAgICB9KSxcbiAgICAgICk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9maWx0ZXJDb250cm9sbGVyLmNvbmZpZy5zYXZlZEZpbHRlcnMuZGVsZXRlKHNhdmVkRmlsdGVyKVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zYXZlZEZpbHRlcnMgPSB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgICAgICAgLmZpbHRlcigoZikgPT4gZi5pZCAhPT0gc2F2ZWRGaWx0ZXIuaWQpO1xuICAgICAgICAgIFxuICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZUZpbHRlcj8uaWQgPT09IHNhdmVkRmlsdGVyLmlkKSB7XG4gICAgICAgICAgICB0aGlzLnNldEFjdGl2ZUZpbHRlcihudWxsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRBY3RpdmVGaWx0ZXIoc2F2ZWRGaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlcik6IHZvaWQge1xuICAgIGlmIChzYXZlZEZpbHRlcikge1xuICAgICAgY29uc3QgZXhpc3RpbmdGaWx0ZXIgPSB0aGlzLnNhdmVkRmlsdGVyc1xuICAgICAgICAuZmluZCgoZikgPT4gZi5pZCA9PT0gc2F2ZWRGaWx0ZXIuaWQpO1xuXG4gICAgICBpZiAoIWV4aXN0aW5nRmlsdGVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgU2F2ZWQgZmlsdGVyIGNhbm5vdCBiZSBhY3RpdmF0ZWQsIGJlY2F1c2UgaXQgZG9lcyBub3QgZXhpc3RzLiBGaWx0ZXIgSUQgPSAke3NhdmVkRmlsdGVyLmlkfWApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9maWx0ZXJDb250cm9sbGVyLmNoYW5nZVRyYW5zYWN0aW9uKCgpID0+IHtcbiAgICAgICAgdGhpcy5fZmlsdGVyQ29udHJvbGxlci52YWx1ZXMgPSBleGlzdGluZ0ZpbHRlci5maWx0ZXJzO1xuICAgICAgfSk7XG4gICAgICBcbiAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlciQubmV4dChleGlzdGluZ0ZpbHRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2FjdGl2ZUZpbHRlciQubmV4dChudWxsKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRFbmFibGVkU3RhdHVzKHZhbHVlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5fZW5hYmxlZCQubmV4dCh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ export class SortController {
5
+ _name = null;
6
+ _direction = null;
7
+ _filterController;
8
+ _route = inject(ActivatedRoute);
9
+ init(filterController) {
10
+ this._filterController = filterController;
11
+ if (this._filterController.config.queryParam) {
12
+ this._name = this._route.snapshot.queryParams.sortName;
13
+ this._direction = this._route.snapshot.queryParams.sortDirection;
14
+ }
15
+ }
16
+ clear() {
17
+ this._name = null;
18
+ this._direction = null;
19
+ }
20
+ queryParam() {
21
+ if (!this.name) {
22
+ return {};
23
+ }
24
+ return {
25
+ sortName: this.name,
26
+ sortDirection: this.direction,
27
+ };
28
+ }
29
+ query() {
30
+ if (!this.name) {
31
+ return {};
32
+ }
33
+ return {
34
+ order: `${this.name},${this.direction}`,
35
+ };
36
+ }
37
+ getSort() {
38
+ return {
39
+ value: this.name,
40
+ direction: this.direction,
41
+ };
42
+ }
43
+ get direction() {
44
+ return this._direction || 'asc';
45
+ }
46
+ get name() {
47
+ return this._name;
48
+ }
49
+ updateSort(sort) {
50
+ this._name = sort.sortBy;
51
+ this._direction = sort.sortDirection;
52
+ this._filterController.change();
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortController, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortController });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SortController, decorators: [{
58
+ type: Injectable
59
+ }] });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1jb250cm9sbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2VzL3NvcnQtY29udHJvbGxlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFZakQsTUFBTSxPQUFPLGNBQWM7SUFFakIsS0FBSyxHQUFHLElBQUksQ0FBQztJQUNiLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFFbEIsaUJBQWlCLENBQW1CO0lBQ3BDLE1BQU0sR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7SUFFakMsSUFBSSxDQUFDLGdCQUFrQztRQUM1QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFFMUMsSUFBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzVDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQztZQUN2RCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7UUFDbkUsQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDZixJQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNuQixhQUFhLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDOUIsQ0FBQztJQUVKLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNkLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQztRQUVELE9BQU87WUFDTCxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7U0FDeEMsQ0FBQztJQUNKLENBQUM7SUFFTSxPQUFPO1FBQ1osT0FBTztZQUNMLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNoQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBeUI7UUFDekMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbEMsQ0FBQzt3R0EvRFUsY0FBYzs0R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7IElTb3J0aW5nQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gIEZpbHRlclNvcnQsXG59IGZyb20gJy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gJy4uL2ludGVyZmFjZXMvZXh0ZXJuYWwtcGFyYW1zLmludGVyZmFjZSc7XG5cbmltcG9ydCB0eXBlIHsgRmlsdGVyQ29udHJvbGxlciB9IGZyb20gJy4vZmlsdGVyLWNvbnRyb2xsZXIuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNvcnRDb250cm9sbGVyIHsgXG5cbiAgcHJpdmF0ZSBfbmFtZSA9IG51bGw7XG4gIHByaXZhdGUgX2RpcmVjdGlvbiA9IG51bGw7XG5cbiAgcHJpdmF0ZSBfZmlsdGVyQ29udHJvbGxlcjogRmlsdGVyQ29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuXG4gIHB1YmxpYyBpbml0KGZpbHRlckNvbnRyb2xsZXI6IEZpbHRlckNvbnRyb2xsZXIpIHtcbiAgICB0aGlzLl9maWx0ZXJDb250cm9sbGVyID0gZmlsdGVyQ29udHJvbGxlcjtcblxuICAgIGlmKHRoaXMuX2ZpbHRlckNvbnRyb2xsZXIuY29uZmlnLnF1ZXJ5UGFyYW0pIHsgICBcbiAgICAgIHRoaXMuX25hbWUgPSB0aGlzLl9yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcy5zb3J0TmFtZTsgICBcbiAgICAgIHRoaXMuX2RpcmVjdGlvbiA9IHRoaXMuX3JvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLnNvcnREaXJlY3Rpb247XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsZWFyKCkge1xuICAgIHRoaXMuX25hbWUgPSBudWxsO1xuICAgIHRoaXMuX2RpcmVjdGlvbiA9IG51bGw7XG4gIH1cblxuICBwdWJsaWMgcXVlcnlQYXJhbSgpOiBLZXlWYWx1ZSB7XG4gICAgaWYoIXRoaXMubmFtZSkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBzb3J0TmFtZTogdGhpcy5uYW1lLFxuICAgICAgc29ydERpcmVjdGlvbjogdGhpcy5kaXJlY3Rpb24sXG4gICAgfTtcblxuICB9XG5cbiAgcHVibGljIHF1ZXJ5KCk6IEtleVZhbHVlIHtcbiAgICBpZighdGhpcy5uYW1lKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG9yZGVyOiBgJHt0aGlzLm5hbWV9LCR7dGhpcy5kaXJlY3Rpb259YCxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGdldFNvcnQoKTogRmlsdGVyU29ydCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHZhbHVlOiB0aGlzLm5hbWUsXG4gICAgICBkaXJlY3Rpb246IHRoaXMuZGlyZWN0aW9uLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpcmVjdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5fZGlyZWN0aW9uIHx8ICdhc2MnO1xuICB9XG5cbiAgcHVibGljIGdldCBuYW1lKCkge1xuICAgIHJldHVybiB0aGlzLl9uYW1lO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVNvcnQoc29ydDogSVNvcnRpbmdDaGFuZ2VFdmVudCkge1xuICAgIHRoaXMuX25hbWUgPSBzb3J0LnNvcnRCeTtcbiAgICB0aGlzLl9kaXJlY3Rpb24gPSBzb3J0LnNvcnREaXJlY3Rpb247XG4gICAgdGhpcy5fZmlsdGVyQ29udHJvbGxlci5jaGFuZ2UoKTtcbiAgfVxuXG59XG4iXX0=
@@ -28,8 +28,7 @@ export { TextItem } from './app/models/items/text-item';
28
28
  // Injectors
29
29
  export { FS_FILTER_CONFIG } from './app/injectors/filter-config';
30
30
  // Helpers
31
- export { buildQueryParams } from './app/helpers/build-query-params';
32
31
  export { filterFromQueryParam, filterToQueryParam } from './app/helpers/query-param-transformers';
33
32
  // Const
34
33
  export { QUERY_PARAM_DELIMITER } from './app/consts/query-param-delimiter';
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXZGLFVBQVU7QUFDVixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUxRixhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUF3QzVGLFFBQVE7QUFDUixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxTQUFTO0FBQ1QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEQsWUFBWTtBQUNaLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2pFLFVBQVU7QUFDVixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRyxRQUFRO0FBQ1IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTYXZlZEZpbHRlckNvbnRyb2xsZXIgfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9zYXZlZC1maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcblxuLy8gTW9kdWxlc1xuZXhwb3J0IHsgRnNGaWx0ZXJNb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1maWx0ZXIubW9kdWxlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGaWx0ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vZmlsdGVyLWl0ZW0uY29tcG9uZW50JztcblxuLy8gRGlyZWN0aXZlc1xuZXhwb3J0IHsgRmlsdGVyU3RhdHVzQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9zdGF0dXMtYmFyL3N0YXR1cy1iYXIuZGlyZWN0aXZlJztcblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgRnNGaWx0ZXJBY3Rpb24sXG4gIEZzRmlsdGVyQWN0aW9uQ2xpY2tGbixcbiAgRnNGaWx0ZXJBY3Rpb25EaXNhYmxlZEZuLFxuICBGc0ZpbHRlckFjdGlvblNob3dGbixcbiAgRnNGaWx0ZXJBdXRvUmVsb2FkLFxuICBGc0ZpbHRlckZpbGVBY3Rpb25FcnJvckZuLFxuICBGc0ZpbHRlckZpbGVBY3Rpb25TZWxlY3RGbixcbiAgSUZzRmlsdGVyQnV0dG9uQWN0aW9uLFxuICBJRnNGaWx0ZXJGaWxlQWN0aW9uLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uRmlsZUl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25Hcm91cEl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25JdGVtLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uTGluayxcbn0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9iYXNlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9jaGVja2JveC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0NoaXBzSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvY2hpcHMuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLCBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdEYXRlSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSwgSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3JhbmdlLmludGVyZmFjZSc7XG5leHBvcnQgeyBGaWx0ZXJWYWx1ZXNSZXR1cm5GbiwgSUZpbHRlckNvbmZpZ1NlbGVjdElzb2xhdGUsIElGaWx0ZXJDb25maWdTZWxlY3RJdGVtLCBJRmlsdGVyU2VsZWN0VmFsdWUgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ1RleHRJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gIENoYW5nZUZuLCBGaWx0ZXJDb25maWcsIEZpbHRlclNvcnQsIEZzRmlsdGVyUGVyc2lzdGFuY2UsIElGaWx0ZXJDb25maWdJdGVtLCBTb3J0LCBTb3J0SXRlbSxcbn0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgRmlsdGVyUmVtb3RlRGVsZXRlLCBGaWx0ZXJSZW1vdGVMb2FkLCBGaWx0ZXJSZW1vdGVPcmRlciwgRmlsdGVyUmVtb3RlU2F2ZSwgSUZpbHRlclNhdmVkRmlsdGVyLFxuICBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnLFxufSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcblxuLy8gRW51bXNcbmV4cG9ydCB7IEJ1dHRvblN0eWxlIH0gZnJvbSAnLi9hcHAvZW51bXMnO1xuZXhwb3J0IHsgQWN0aW9uTW9kZSB9IGZyb20gJy4vYXBwL2VudW1zL2FjdGlvbi1tb2RlLmVudW0nO1xuZXhwb3J0IHsgSXRlbURhdGVNb2RlIH0gZnJvbSAnLi9hcHAvZW51bXMvaXRlbS1kYXRlLW1vZGUuZW51bSc7XG5leHBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4vYXBwL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmV4cG9ydCB7IE1lbnVBY3Rpb25Nb2RlIH0gZnJvbSAnLi9hcHAvZW51bXMvbWVudS1hY3Rpb24tbW9kZS5lbnVtJztcbi8vIE1vZGVsc1xuZXhwb3J0IHsgQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy1pdGVtJztcbmV4cG9ydCB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuZXhwb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmV4cG9ydCB7IENoZWNrYm94SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9jaGVja2JveC1pdGVtJztcbmV4cG9ydCB7IENoaXBzSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9jaGlwcy1pdGVtJztcbmV4cG9ydCB7IERhdGVJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtaXRlbSc7XG5leHBvcnQgeyBEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtcmFuZ2UtaXRlbSc7XG5leHBvcnQgeyBEYXRlVGltZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLWl0ZW0nO1xuZXhwb3J0IHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuZXhwb3J0IHsgUmFuZ2VJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0nO1xuZXhwb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9zZWxlY3QtaXRlbSc7XG5leHBvcnQgeyBUZXh0SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy90ZXh0LWl0ZW0nO1xuXG4vLyBJbmplY3RvcnNcbmV4cG9ydCB7IEZTX0ZJTFRFUl9DT05GSUcgfSBmcm9tICcuL2FwcC9pbmplY3RvcnMvZmlsdGVyLWNvbmZpZyc7XG5cblxuLy8gSGVscGVyc1xuZXhwb3J0IHsgYnVpbGRRdWVyeVBhcmFtcyB9IGZyb20gJy4vYXBwL2hlbHBlcnMvYnVpbGQtcXVlcnktcGFyYW1zJztcbmV4cG9ydCB7IGZpbHRlckZyb21RdWVyeVBhcmFtLCBmaWx0ZXJUb1F1ZXJ5UGFyYW0gfSBmcm9tICcuL2FwcC9oZWxwZXJzL3F1ZXJ5LXBhcmFtLXRyYW5zZm9ybWVycyc7XG5cbi8vIENvbnN0XG5leHBvcnQgeyBRVUVSWV9QQVJBTV9ERUxJTUlURVIgfSBmcm9tICcuL2FwcC9jb25zdHMvcXVlcnktcGFyYW0tZGVsaW1pdGVyJztcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBRXZGLFVBQVU7QUFDVixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUUxRixhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUF3QzVGLFFBQVE7QUFDUixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxTQUFTO0FBQ1QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEQsWUFBWTtBQUNaLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2pFLFVBQVU7QUFDVixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRyxRQUFRO0FBQ1IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBTYXZlZEZpbHRlckNvbnRyb2xsZXIgfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9zYXZlZC1maWx0ZXItY29udHJvbGxlci5zZXJ2aWNlJztcblxuLy8gTW9kdWxlc1xuZXhwb3J0IHsgRnNGaWx0ZXJNb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1maWx0ZXIubW9kdWxlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGaWx0ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vZmlsdGVyLWl0ZW0uY29tcG9uZW50JztcblxuLy8gRGlyZWN0aXZlc1xuZXhwb3J0IHsgRmlsdGVyU3RhdHVzQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9zdGF0dXMtYmFyL3N0YXR1cy1iYXIuZGlyZWN0aXZlJztcblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgRnNGaWx0ZXJBY3Rpb24sXG4gIEZzRmlsdGVyQWN0aW9uQ2xpY2tGbixcbiAgRnNGaWx0ZXJBY3Rpb25EaXNhYmxlZEZuLFxuICBGc0ZpbHRlckFjdGlvblNob3dGbixcbiAgRnNGaWx0ZXJBdXRvUmVsb2FkLFxuICBGc0ZpbHRlckZpbGVBY3Rpb25FcnJvckZuLFxuICBGc0ZpbHRlckZpbGVBY3Rpb25TZWxlY3RGbixcbiAgSUZzRmlsdGVyQnV0dG9uQWN0aW9uLFxuICBJRnNGaWx0ZXJGaWxlQWN0aW9uLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uRmlsZUl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25Hcm91cEl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25JdGVtLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uTGluayxcbn0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9iYXNlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9jaGVja2JveC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0NoaXBzSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvY2hpcHMuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLCBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdEYXRlSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSwgSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3JhbmdlLmludGVyZmFjZSc7XG5leHBvcnQgeyBGaWx0ZXJWYWx1ZXNSZXR1cm5GbiwgSUZpbHRlckNvbmZpZ1NlbGVjdElzb2xhdGUsIElGaWx0ZXJDb25maWdTZWxlY3RJdGVtLCBJRmlsdGVyU2VsZWN0VmFsdWUgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ1RleHRJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gIENoYW5nZUZuLCBGaWx0ZXJDb25maWcsIEZpbHRlclNvcnQsIEZzRmlsdGVyUGVyc2lzdGFuY2UsIElGaWx0ZXJDb25maWdJdGVtLCBTb3J0LCBTb3J0SXRlbSxcbn0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgRmlsdGVyUmVtb3RlRGVsZXRlLCBGaWx0ZXJSZW1vdGVMb2FkLCBGaWx0ZXJSZW1vdGVPcmRlciwgRmlsdGVyUmVtb3RlU2F2ZSwgSUZpbHRlclNhdmVkRmlsdGVyLFxuICBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnLFxufSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcblxuLy8gRW51bXNcbmV4cG9ydCB7IEJ1dHRvblN0eWxlIH0gZnJvbSAnLi9hcHAvZW51bXMnO1xuZXhwb3J0IHsgQWN0aW9uTW9kZSB9IGZyb20gJy4vYXBwL2VudW1zL2FjdGlvbi1tb2RlLmVudW0nO1xuZXhwb3J0IHsgSXRlbURhdGVNb2RlIH0gZnJvbSAnLi9hcHAvZW51bXMvaXRlbS1kYXRlLW1vZGUuZW51bSc7XG5leHBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4vYXBwL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmV4cG9ydCB7IE1lbnVBY3Rpb25Nb2RlIH0gZnJvbSAnLi9hcHAvZW51bXMvbWVudS1hY3Rpb24tbW9kZS5lbnVtJztcbi8vIE1vZGVsc1xuZXhwb3J0IHsgQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy1pdGVtJztcbmV4cG9ydCB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuZXhwb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmV4cG9ydCB7IENoZWNrYm94SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9jaGVja2JveC1pdGVtJztcbmV4cG9ydCB7IENoaXBzSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9jaGlwcy1pdGVtJztcbmV4cG9ydCB7IERhdGVJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtaXRlbSc7XG5leHBvcnQgeyBEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtcmFuZ2UtaXRlbSc7XG5leHBvcnQgeyBEYXRlVGltZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLWl0ZW0nO1xuZXhwb3J0IHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuZXhwb3J0IHsgUmFuZ2VJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0nO1xuZXhwb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9zZWxlY3QtaXRlbSc7XG5leHBvcnQgeyBUZXh0SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy90ZXh0LWl0ZW0nO1xuXG4vLyBJbmplY3RvcnNcbmV4cG9ydCB7IEZTX0ZJTFRFUl9DT05GSUcgfSBmcm9tICcuL2FwcC9pbmplY3RvcnMvZmlsdGVyLWNvbmZpZyc7XG5cblxuLy8gSGVscGVyc1xuZXhwb3J0IHsgZmlsdGVyRnJvbVF1ZXJ5UGFyYW0sIGZpbHRlclRvUXVlcnlQYXJhbSB9IGZyb20gJy4vYXBwL2hlbHBlcnMvcXVlcnktcGFyYW0tdHJhbnNmb3JtZXJzJztcblxuLy8gQ29uc3RcbmV4cG9ydCB7IFFVRVJZX1BBUkFNX0RFTElNSVRFUiB9IGZyb20gJy4vYXBwL2NvbnN0cy9xdWVyeS1wYXJhbS1kZWxpbWl0ZXInO1xuIl19