@firestitch/filter 13.1.2 → 13.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/app/classes/actions-controller.d.ts +41 -41
  2. package/app/components/action-button/action-button.component.d.ts +9 -9
  3. package/app/components/action-kebab-actions/action-kebab-actions.component.d.ts +7 -7
  4. package/app/components/actions/actions.component.d.ts +12 -12
  5. package/app/components/filter/filter.component.d.ts +198 -197
  6. package/app/components/filter-chip/filter-chip.component.d.ts +26 -26
  7. package/app/components/filter-chip-content/filter-chip-content.component.d.ts +18 -18
  8. package/app/components/filter-chips/filter-chips.component.d.ts +10 -10
  9. package/app/components/filter-drawer/filter-drawer.component.d.ts +30 -30
  10. package/app/components/filter-drawer-actions/filter-drawer-actions.component.d.ts +15 -15
  11. package/app/components/filters-item/autocomplete/autocomplete.component.d.ts +14 -14
  12. package/app/components/filters-item/autocompletechips/autocompletechips.component.d.ts +16 -16
  13. package/app/components/filters-item/base-item/base-item.component.d.ts +25 -25
  14. package/app/components/filters-item/checkbox/checkbox.component.d.ts +11 -11
  15. package/app/components/filters-item/chips/chips.component.d.ts +13 -13
  16. package/app/components/filters-item/date/date.component.d.ts +20 -20
  17. package/app/components/filters-item/date-range/date-range.component.d.ts +15 -15
  18. package/app/components/filters-item/filter-item.component.d.ts +39 -39
  19. package/app/components/filters-item/range/range.component.d.ts +15 -15
  20. package/app/components/filters-item/select/backdrop/backdrop.component.d.ts +6 -6
  21. package/app/components/filters-item/select/groups/groups.component.d.ts +12 -12
  22. package/app/components/filters-item/select/multiple/multiple.component.d.ts +15 -15
  23. package/app/components/filters-item/select/select.component.d.ts +23 -23
  24. package/app/components/filters-item/select/simple/simple.component.d.ts +14 -14
  25. package/app/components/filters-item/text/text.component.d.ts +19 -19
  26. package/app/components/filters-item/week/week.component.d.ts +12 -12
  27. package/app/components/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
  28. package/app/components/saved-filters-menu/saved-filters-menu.component.d.ts +23 -23
  29. package/app/consts/query-param-delimiter.d.ts +1 -1
  30. package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
  31. package/app/directives/status-bar/status-bar.directive.d.ts +8 -8
  32. package/app/enums/action-mode.enum.d.ts +6 -6
  33. package/app/enums/action-type.enum.d.ts +9 -9
  34. package/app/enums/button-style.d.ts +9 -9
  35. package/app/enums/index.d.ts +6 -6
  36. package/app/enums/item-date-mode.enum.d.ts +5 -5
  37. package/app/enums/item-type.enum.d.ts +15 -15
  38. package/app/enums/picker-view-type.enum.d.ts +7 -7
  39. package/app/fs-filter.module.d.ts +68 -68
  40. package/app/helpers/build-query-params.d.ts +3 -3
  41. package/app/helpers/compare.d.ts +2 -2
  42. package/app/helpers/create-filter-item.d.ts +14 -14
  43. package/app/helpers/find-value.d.ts +1 -1
  44. package/app/helpers/get-range-name.d.ts +1 -1
  45. package/app/helpers/parse-date.d.ts +1 -1
  46. package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
  47. package/app/helpers/query-param-transformers.d.ts +2 -2
  48. package/app/helpers/restore-items.d.ts +12 -12
  49. package/app/injectors/filter-config.d.ts +2 -2
  50. package/app/injectors/filter-drawer-data.d.ts +2 -2
  51. package/app/injectors/filter-drawer-overlay.d.ts +2 -2
  52. package/app/interfaces/action.interface.d.ts +80 -80
  53. package/app/interfaces/config.interface.d.ts +66 -66
  54. package/app/interfaces/external-params.interface.d.ts +3 -3
  55. package/app/interfaces/filter.interface.d.ts +4 -4
  56. package/app/interfaces/index.d.ts +6 -6
  57. package/app/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
  58. package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
  59. package/app/interfaces/items/base.interface.d.ts +29 -29
  60. package/app/interfaces/items/checkbox.interface.d.ts +7 -7
  61. package/app/interfaces/items/chips.interface.d.ts +6 -6
  62. package/app/interfaces/items/date-range.interface.d.ts +8 -8
  63. package/app/interfaces/items/date.interface.d.ts +7 -7
  64. package/app/interfaces/items/range.interface.d.ts +13 -13
  65. package/app/interfaces/items/select.interface.d.ts +20 -20
  66. package/app/interfaces/items/text.interface.d.ts +9 -9
  67. package/app/interfaces/items/week.interface.d.ts +7 -7
  68. package/app/interfaces/saved-filters.interface.d.ts +18 -18
  69. package/app/interfaces/update-filter-item.interface.d.ts +4 -4
  70. package/app/models/action-menu-item.model.d.ts +23 -23
  71. package/app/models/action.model.d.ts +50 -50
  72. package/app/models/filter-config.d.ts +31 -31
  73. package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  74. package/app/models/items/autocomplete-chips-item.d.ts +20 -20
  75. package/app/models/items/autocomplete-item.d.ts +11 -11
  76. package/app/models/items/base-item.d.ts +80 -80
  77. package/app/models/items/checkbox-item.d.ts +17 -17
  78. package/app/models/items/chips-item.d.ts +18 -18
  79. package/app/models/items/date/base-date-item.d.ts +14 -14
  80. package/app/models/items/date-item.d.ts +8 -8
  81. package/app/models/items/date-range/base-date-range-item.d.ts +21 -21
  82. package/app/models/items/date-range-item.d.ts +6 -6
  83. package/app/models/items/date-time-item.d.ts +7 -7
  84. package/app/models/items/date-time-range-item.d.ts +6 -6
  85. package/app/models/items/range-item.d.ts +23 -23
  86. package/app/models/items/select/base-select-item.d.ts +13 -13
  87. package/app/models/items/select/multiple-select-item.d.ts +14 -14
  88. package/app/models/items/select/simple-select-item.d.ts +14 -14
  89. package/app/models/items/select-item.d.ts +8 -8
  90. package/app/models/items/text-item.d.ts +15 -15
  91. package/app/models/items/week-item.d.ts +18 -18
  92. package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
  93. package/app/providers/filter-meta.d.ts +5 -5
  94. package/app/services/external-params/persistance-params-controller.service.d.ts +22 -22
  95. package/app/services/external-params/query-params-controller.service.d.ts +22 -22
  96. package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
  97. package/app/services/external-params-controller.service.d.ts +42 -42
  98. package/app/services/filter-overlay.service.d.ts +36 -36
  99. package/app/services/focus-controller.service.d.ts +18 -18
  100. package/app/services/items-store.service.d.ts +68 -67
  101. package/esm2020/app/classes/actions-controller.mjs +126 -126
  102. package/esm2020/app/components/action-button/action-button.component.mjs +23 -23
  103. package/esm2020/app/components/action-kebab-actions/action-kebab-actions.component.mjs +16 -16
  104. package/esm2020/app/components/actions/actions.component.mjs +38 -38
  105. package/esm2020/app/components/filter/filter.component.mjs +602 -599
  106. package/esm2020/app/components/filter-chip/filter-chip.component.mjs +85 -85
  107. package/esm2020/app/components/filter-chip-content/filter-chip-content.component.mjs +78 -78
  108. package/esm2020/app/components/filter-chips/filter-chips.component.mjs +22 -22
  109. package/esm2020/app/components/filter-drawer/filter-drawer.component.mjs +70 -70
  110. package/esm2020/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +40 -40
  111. package/esm2020/app/components/filters-item/autocomplete/autocomplete.component.mjs +26 -26
  112. package/esm2020/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +41 -41
  113. package/esm2020/app/components/filters-item/base-item/base-item.component.mjs +62 -62
  114. package/esm2020/app/components/filters-item/checkbox/checkbox.component.mjs +20 -20
  115. package/esm2020/app/components/filters-item/chips/chips.component.mjs +27 -27
  116. package/esm2020/app/components/filters-item/date/date.component.mjs +42 -42
  117. package/esm2020/app/components/filters-item/date-range/date-range.component.mjs +33 -33
  118. package/esm2020/app/components/filters-item/filter-item.component.mjs +79 -79
  119. package/esm2020/app/components/filters-item/range/range.component.mjs +44 -44
  120. package/esm2020/app/components/filters-item/select/backdrop/backdrop.component.mjs +11 -11
  121. package/esm2020/app/components/filters-item/select/groups/groups.component.mjs +29 -29
  122. package/esm2020/app/components/filters-item/select/multiple/multiple.component.mjs +56 -56
  123. package/esm2020/app/components/filters-item/select/select.component.mjs +50 -50
  124. package/esm2020/app/components/filters-item/select/simple/simple.component.mjs +42 -42
  125. package/esm2020/app/components/filters-item/text/text.component.mjs +48 -48
  126. package/esm2020/app/components/filters-item/week/week.component.mjs +24 -24
  127. package/esm2020/app/components/saved-filter-edit/saved-filter-edit.component.mjs +54 -54
  128. package/esm2020/app/components/saved-filters-menu/saved-filters-menu.component.mjs +50 -50
  129. package/esm2020/app/consts/query-param-delimiter.mjs +1 -1
  130. package/esm2020/app/directives/focus-to-item/focus-to-item.directive.mjs +129 -129
  131. package/esm2020/app/directives/status-bar/status-bar.directive.mjs +15 -15
  132. package/esm2020/app/enums/action-mode.enum.mjs +7 -7
  133. package/esm2020/app/enums/action-type.enum.mjs +10 -10
  134. package/esm2020/app/enums/button-style.mjs +10 -10
  135. package/esm2020/app/enums/index.mjs +6 -6
  136. package/esm2020/app/enums/item-date-mode.enum.mjs +6 -6
  137. package/esm2020/app/enums/item-type.enum.mjs +16 -16
  138. package/esm2020/app/enums/picker-view-type.enum.mjs +8 -8
  139. package/esm2020/app/fs-filter.module.mjs +255 -255
  140. package/esm2020/app/helpers/build-query-params.mjs +32 -32
  141. package/esm2020/app/helpers/compare.mjs +37 -37
  142. package/esm2020/app/helpers/create-filter-item.mjs +54 -54
  143. package/esm2020/app/helpers/find-value.mjs +12 -12
  144. package/esm2020/app/helpers/get-range-name.mjs +8 -8
  145. package/esm2020/app/helpers/parse-date.mjs +7 -7
  146. package/esm2020/app/helpers/parse-item-value-from-stored.mjs +80 -80
  147. package/esm2020/app/helpers/query-param-transformers.mjs +8 -8
  148. package/esm2020/app/helpers/restore-items.mjs +48 -48
  149. package/esm2020/app/injectors/filter-config.mjs +2 -2
  150. package/esm2020/app/injectors/filter-drawer-data.mjs +2 -2
  151. package/esm2020/app/injectors/filter-drawer-overlay.mjs +2 -2
  152. package/esm2020/app/interfaces/action.interface.mjs +1 -1
  153. package/esm2020/app/interfaces/config.interface.mjs +1 -1
  154. package/esm2020/app/interfaces/external-params.interface.mjs +1 -1
  155. package/esm2020/app/interfaces/filter.interface.mjs +1 -1
  156. package/esm2020/app/interfaces/index.mjs +6 -6
  157. package/esm2020/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
  158. package/esm2020/app/interfaces/items/autocomplete.interface.mjs +1 -1
  159. package/esm2020/app/interfaces/items/base.interface.mjs +1 -1
  160. package/esm2020/app/interfaces/items/checkbox.interface.mjs +1 -1
  161. package/esm2020/app/interfaces/items/chips.interface.mjs +1 -1
  162. package/esm2020/app/interfaces/items/date-range.interface.mjs +1 -1
  163. package/esm2020/app/interfaces/items/date.interface.mjs +1 -1
  164. package/esm2020/app/interfaces/items/range.interface.mjs +1 -1
  165. package/esm2020/app/interfaces/items/select.interface.mjs +1 -1
  166. package/esm2020/app/interfaces/items/text.interface.mjs +1 -1
  167. package/esm2020/app/interfaces/items/week.interface.mjs +1 -1
  168. package/esm2020/app/interfaces/saved-filters.interface.mjs +1 -1
  169. package/esm2020/app/interfaces/update-filter-item.interface.mjs +1 -1
  170. package/esm2020/app/models/action-menu-item.model.mjs +66 -66
  171. package/esm2020/app/models/action.model.mjs +114 -114
  172. package/esm2020/app/models/filter-config.mjs +66 -66
  173. package/esm2020/app/models/items/autocomplete/base-autocomplete-item.mjs +13 -13
  174. package/esm2020/app/models/items/autocomplete-chips-item.mjs +60 -60
  175. package/esm2020/app/models/items/autocomplete-item.mjs +32 -32
  176. package/esm2020/app/models/items/base-item.mjs +233 -233
  177. package/esm2020/app/models/items/checkbox-item.mjs +49 -49
  178. package/esm2020/app/models/items/chips-item.mjs +88 -88
  179. package/esm2020/app/models/items/date/base-date-item.mjs +47 -47
  180. package/esm2020/app/models/items/date-item.mjs +18 -18
  181. package/esm2020/app/models/items/date-range/base-date-range-item.mjs +134 -134
  182. package/esm2020/app/models/items/date-range-item.mjs +6 -6
  183. package/esm2020/app/models/items/date-time-item.mjs +9 -9
  184. package/esm2020/app/models/items/date-time-range-item.mjs +6 -6
  185. package/esm2020/app/models/items/range-item.mjs +82 -82
  186. package/esm2020/app/models/items/select/base-select-item.mjs +36 -36
  187. package/esm2020/app/models/items/select/multiple-select-item.mjs +87 -87
  188. package/esm2020/app/models/items/select/simple-select-item.mjs +65 -65
  189. package/esm2020/app/models/items/select-item.mjs +10 -10
  190. package/esm2020/app/models/items/text-item.mjs +33 -33
  191. package/esm2020/app/models/items/week-item.mjs +93 -93
  192. package/esm2020/app/pipes/remove-isolate-value.pipe.mjs +20 -20
  193. package/esm2020/app/providers/filter-meta.mjs +9 -9
  194. package/esm2020/app/services/external-params/persistance-params-controller.service.mjs +57 -57
  195. package/esm2020/app/services/external-params/query-params-controller.service.mjs +61 -61
  196. package/esm2020/app/services/external-params/saved-filters-controller.service.mjs +163 -163
  197. package/esm2020/app/services/external-params-controller.service.mjs +161 -161
  198. package/esm2020/app/services/filter-overlay.service.mjs +121 -121
  199. package/esm2020/app/services/focus-controller.service.mjs +29 -29
  200. package/esm2020/app/services/items-store.service.mjs +342 -339
  201. package/esm2020/firestitch-filter.mjs +4 -4
  202. package/esm2020/public_api.mjs +35 -35
  203. package/fesm2015/firestitch-filter.mjs +4287 -4281
  204. package/fesm2015/firestitch-filter.mjs.map +1 -1
  205. package/fesm2020/firestitch-filter.mjs +4267 -4261
  206. package/fesm2020/firestitch-filter.mjs.map +1 -1
  207. package/firestitch-filter.d.ts +5 -5
  208. package/package.json +1 -1
  209. package/public_api.d.ts +40 -40
@@ -1,11 +1,11 @@
1
- import { MultipleSelectItem } from './select/multiple-select-item';
2
- import { SimpleSelectItem } from './select/simple-select-item';
3
- export class SelectItem {
4
- static create(config, filter) {
5
- if (config.multiple) {
6
- return new MultipleSelectItem(config, null, filter);
7
- }
8
- return new SimpleSelectItem(config, null, filter);
9
- }
10
- }
1
+ import { MultipleSelectItem } from './select/multiple-select-item';
2
+ import { SimpleSelectItem } from './select/simple-select-item';
3
+ export class SelectItem {
4
+ static create(config, filter) {
5
+ if (config.multiple) {
6
+ return new MultipleSelectItem(config, null, filter);
7
+ }
8
+ return new SimpleSelectItem(config, null, filter);
9
+ }
10
+ }
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL21vZGVscy9pdGVtcy9zZWxlY3QtaXRlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcvRCxNQUFNLE9BQU8sVUFBVTtJQUlkLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQXVCO1FBQ2xELElBQUksTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUNuQixPQUFPLElBQUksa0JBQWtCLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNyRDtRQUVELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXBELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuXG5pbXBvcnQgeyBNdWx0aXBsZVNlbGVjdEl0ZW0gfSBmcm9tICcuL3NlbGVjdC9tdWx0aXBsZS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBTaW1wbGVTZWxlY3RJdGVtIH0gZnJvbSAnLi9zZWxlY3Qvc2ltcGxlLXNlbGVjdC1pdGVtJztcblxuXG5leHBvcnQgY2xhc3MgU2VsZWN0SXRlbSB7XG5cbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IEl0ZW1UeXBlLlNlbGVjdDtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWcsIGZpbHRlcjogRmlsdGVyQ29tcG9uZW50KTogU2ltcGxlU2VsZWN0SXRlbSB8IE11bHRpcGxlU2VsZWN0SXRlbSB7XG4gICAgaWYgKGNvbmZpZy5tdWx0aXBsZSkge1xuICAgICAgcmV0dXJuIG5ldyBNdWx0aXBsZVNlbGVjdEl0ZW0oY29uZmlnLCBudWxsLCBmaWx0ZXIpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgU2ltcGxlU2VsZWN0SXRlbShjb25maWcsIG51bGwsIGZpbHRlcik7XG5cbiAgfVxufVxuIl19
@@ -1,34 +1,34 @@
1
- import { BaseItem } from './base-item';
2
- export class TextItem extends BaseItem {
3
- static create(config, filter) {
4
- return new TextItem(config, null, filter);
5
- }
6
- get value() {
7
- return !!this.model ? this.model : undefined;
8
- }
9
- get queryObject() {
10
- const value = this.value;
11
- const name = this.name;
12
- const params = {};
13
- params[name] = value;
14
- return params;
15
- }
16
- getChipsContent() {
17
- return this.model;
18
- }
19
- _validateModel() {
20
- //
21
- }
22
- _parseConfig(item) {
23
- this.prefix = item.prefix;
24
- this.suffix = item.suffix;
25
- super._parseConfig(item);
26
- }
27
- _init() {
28
- //
29
- }
30
- _clearValue(defaultValue = undefined) {
31
- this.model = defaultValue ?? '';
32
- }
33
- }
1
+ import { BaseItem } from './base-item';
2
+ export class TextItem extends BaseItem {
3
+ static create(config, filter) {
4
+ return new TextItem(config, null, filter);
5
+ }
6
+ get value() {
7
+ return !!this.model ? this.model : undefined;
8
+ }
9
+ get queryObject() {
10
+ const value = this.value;
11
+ const name = this.name;
12
+ const params = {};
13
+ params[name] = value;
14
+ return params;
15
+ }
16
+ getChipsContent() {
17
+ return this.model;
18
+ }
19
+ _validateModel() {
20
+ //
21
+ }
22
+ _parseConfig(item) {
23
+ this.prefix = item.prefix;
24
+ this.suffix = item.suffix;
25
+ super._parseConfig(item);
26
+ }
27
+ _init() {
28
+ //
29
+ }
30
+ _clearValue(defaultValue = undefined) {
31
+ this.model = defaultValue ?? '';
32
+ }
33
+ }
34
34
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQUtwRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQTZCLEVBQUUsTUFBdUI7UUFDekUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQVcsV0FBVztRQUNwQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdkIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUM7UUFFckIsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFUyxjQUFjO1FBQ3RCLEVBQUU7SUFDSixDQUFDO0lBRVMsWUFBWSxDQUFDLElBQTJCO1FBQ2hELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFFMUIsS0FBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRVMsS0FBSztRQUNiLEVBQUU7SUFDSixDQUFDO0lBRVMsV0FBVyxDQUFDLGVBQXdCLFNBQVM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHR5cGUgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElGaWx0ZXJDb25maWdUZXh0SXRlbSxcbn0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBUZXh0SXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdUZXh0SXRlbT4ge1xuXG4gIHB1YmxpYyBwcmVmaXg6IHN0cmluZztcbiAgcHVibGljIHN1ZmZpeDogc3RyaW5nO1xuXG4gIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGNvbmZpZzogSUZpbHRlckNvbmZpZ1RleHRJdGVtLCBmaWx0ZXI6IEZpbHRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiBuZXcgVGV4dEl0ZW0oY29uZmlnLCBudWxsLCBmaWx0ZXIpO1xuICB9XG5cbiAgcHVibGljIGdldCB2YWx1ZSgpIHtcbiAgICByZXR1cm4gISF0aGlzLm1vZGVsID8gdGhpcy5tb2RlbCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcXVlcnlPYmplY3QoKSB7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgIGNvbnN0IG5hbWUgPSB0aGlzLm5hbWU7XG4gICAgY29uc3QgcGFyYW1zID0ge307XG5cbiAgICBwYXJhbXNbbmFtZV0gPSB2YWx1ZTtcblxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KCkge1xuICAgIHJldHVybiB0aGlzLm1vZGVsO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkge1xuICAgIC8vXG4gIH1cblxuICBwcm90ZWN0ZWQgX3BhcnNlQ29uZmlnKGl0ZW06IElGaWx0ZXJDb25maWdUZXh0SXRlbSkge1xuICAgIHRoaXMucHJlZml4ID0gaXRlbS5wcmVmaXg7XG4gICAgdGhpcy5zdWZmaXggPSBpdGVtLnN1ZmZpeDtcblxuICAgIHN1cGVyLl9wYXJzZUNvbmZpZyhpdGVtKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHtcbiAgICAvL1xuICB9XG5cbiAgcHJvdGVjdGVkIF9jbGVhclZhbHVlKGRlZmF1bHRWYWx1ZTogdW5rbm93biA9IHVuZGVmaW5lZCkge1xuICAgIHRoaXMubW9kZWwgPSBkZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cbn1cbiJdfQ==
@@ -1,94 +1,94 @@
1
- import { isEmpty } from '@firestitch/common';
2
- import { simpleFormat } from '@firestitch/date';
3
- import { formatPeriodObject } from '@firestitch/datepicker';
4
- import { isDate, isValid, parseISO } from 'date-fns';
5
- import { clone, isObject, isString } from 'lodash-es';
6
- import { getRangeName } from '../../helpers/get-range-name';
7
- import { parseDate } from '../../helpers/parse-date';
8
- import { BaseItem } from './base-item';
9
- export class WeekItem extends BaseItem {
10
- static create(config, filter) {
11
- return new WeekItem(config, null, filter);
12
- }
13
- get value() {
14
- let value = clone(this.model);
15
- if (!isObject(this.model) ||
16
- (isEmpty(this.model.from, { zero: true }) && isEmpty(this.model.to, { zero: true }))) {
17
- value = undefined;
18
- }
19
- if (isEmpty(value, { zero: true })) {
20
- return undefined;
21
- }
22
- let from = value.from;
23
- let to = value.to;
24
- const period = value.period;
25
- value = {};
26
- if (from) {
27
- if (isString(from)) {
28
- from = parseISO(from);
29
- }
30
- if (isValid(from) && isDate(from)) {
31
- value.from = from;
32
- }
33
- }
34
- if (to) {
35
- if (isString(to)) {
36
- to = parseISO(to);
37
- }
38
- if (isValid(to) && isDate(to)) {
39
- value.to = to;
40
- }
41
- }
42
- if (period) {
43
- value.period = isString(period) ? parseInt(period, 10) : period;
44
- }
45
- return value;
46
- }
47
- get queryObject() {
48
- const value = this.value;
49
- const name = this.name;
50
- const paramFromName = getRangeName('camel', name, 'from');
51
- const paramToName = getRangeName('camel', name, 'to');
52
- const paramPeriodName = `${name}Period`;
53
- return {
54
- [paramFromName]: value?.from || undefined,
55
- [paramToName]: value?.to || undefined,
56
- [paramPeriodName]: value?.period || undefined,
57
- };
58
- }
59
- get persistanceObject() {
60
- const query = this.queryObject;
61
- const name = this.name;
62
- const paramFromName = getRangeName('camel', name, 'from');
63
- const paramFromValue = query[paramFromName] && simpleFormat(query[paramFromName]) || query[paramFromName];
64
- const paramToName = getRangeName('camel', name, 'to');
65
- const paramToValue = query[paramToName] && simpleFormat(query[paramToName]) || query[paramToName];
66
- const paramPeriodName = `${name}Period`;
67
- return {
68
- [paramFromName]: paramFromValue,
69
- [paramToName]: paramToValue,
70
- [paramPeriodName]: query[paramPeriodName],
71
- };
72
- }
73
- getChipsContent(type = null) {
74
- return formatPeriodObject(this.value);
75
- }
76
- _validateModel() { }
77
- _setModel(value) {
78
- if (value) {
79
- value.from = parseDate(value.from);
80
- value.to = parseDate(value.to);
81
- value.period = parseInt(value.period, 10) || undefined;
82
- }
83
- super._setModel(value);
84
- }
85
- _parseConfig(item) {
86
- super._parseConfig(item);
87
- this.seedDate = item.seedDate;
88
- }
89
- _init() { }
90
- _clearValue(defaultValue = undefined) {
91
- this.model = defaultValue ?? undefined;
92
- }
93
- }
1
+ import { isEmpty } from '@firestitch/common';
2
+ import { simpleFormat } from '@firestitch/date';
3
+ import { formatPeriodObject } from '@firestitch/datepicker';
4
+ import { isDate, isValid, parseISO } from 'date-fns';
5
+ import { clone, isObject, isString } from 'lodash-es';
6
+ import { getRangeName } from '../../helpers/get-range-name';
7
+ import { parseDate } from '../../helpers/parse-date';
8
+ import { BaseItem } from './base-item';
9
+ export class WeekItem extends BaseItem {
10
+ static create(config, filter) {
11
+ return new WeekItem(config, null, filter);
12
+ }
13
+ get value() {
14
+ let value = clone(this.model);
15
+ if (!isObject(this.model) ||
16
+ (isEmpty(this.model.from, { zero: true }) && isEmpty(this.model.to, { zero: true }))) {
17
+ value = undefined;
18
+ }
19
+ if (isEmpty(value, { zero: true })) {
20
+ return undefined;
21
+ }
22
+ let from = value.from;
23
+ let to = value.to;
24
+ const period = value.period;
25
+ value = {};
26
+ if (from) {
27
+ if (isString(from)) {
28
+ from = parseISO(from);
29
+ }
30
+ if (isValid(from) && isDate(from)) {
31
+ value.from = from;
32
+ }
33
+ }
34
+ if (to) {
35
+ if (isString(to)) {
36
+ to = parseISO(to);
37
+ }
38
+ if (isValid(to) && isDate(to)) {
39
+ value.to = to;
40
+ }
41
+ }
42
+ if (period) {
43
+ value.period = isString(period) ? parseInt(period, 10) : period;
44
+ }
45
+ return value;
46
+ }
47
+ get queryObject() {
48
+ const value = this.value;
49
+ const name = this.name;
50
+ const paramFromName = getRangeName('camel', name, 'from');
51
+ const paramToName = getRangeName('camel', name, 'to');
52
+ const paramPeriodName = `${name}Period`;
53
+ return {
54
+ [paramFromName]: value?.from || undefined,
55
+ [paramToName]: value?.to || undefined,
56
+ [paramPeriodName]: value?.period || undefined,
57
+ };
58
+ }
59
+ get persistanceObject() {
60
+ const query = this.queryObject;
61
+ const name = this.name;
62
+ const paramFromName = getRangeName('camel', name, 'from');
63
+ const paramFromValue = query[paramFromName] && simpleFormat(query[paramFromName]) || query[paramFromName];
64
+ const paramToName = getRangeName('camel', name, 'to');
65
+ const paramToValue = query[paramToName] && simpleFormat(query[paramToName]) || query[paramToName];
66
+ const paramPeriodName = `${name}Period`;
67
+ return {
68
+ [paramFromName]: paramFromValue,
69
+ [paramToName]: paramToValue,
70
+ [paramPeriodName]: query[paramPeriodName],
71
+ };
72
+ }
73
+ getChipsContent(type = null) {
74
+ return formatPeriodObject(this.value);
75
+ }
76
+ _validateModel() { }
77
+ _setModel(value) {
78
+ if (value) {
79
+ value.from = parseDate(value.from);
80
+ value.to = parseDate(value.to);
81
+ value.period = parseInt(value.period, 10) || undefined;
82
+ }
83
+ super._setModel(value);
84
+ }
85
+ _parseConfig(item) {
86
+ super._parseConfig(item);
87
+ this.seedDate = item.seedDate;
88
+ }
89
+ _init() { }
90
+ _clearValue(defaultValue = undefined) {
91
+ this.model = defaultValue ?? undefined;
92
+ }
93
+ }
94
94
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUd0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3JELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkMsTUFBTSxPQUFPLFFBQVMsU0FBUSxRQUErQjtJQUlwRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQTZCLEVBQUUsTUFBdUI7UUFDekUsT0FBTyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTlCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN2QixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUs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aW1wb3J0IHsgc2ltcGxlRm9ybWF0IH0gZnJvbSAnQGZpcmVzdGl0Y2gvZGF0ZSc7XG5pbXBvcnQgeyBmb3JtYXRQZXJpb2RPYmplY3QgfSBmcm9tICdAZmlyZXN0aXRjaC9kYXRlcGlja2VyJztcblxuaW1wb3J0IHsgaXNEYXRlLCBpc1ZhbGlkLCBwYXJzZUlTTyB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGNsb25lLCBpc09iamVjdCwgaXNTdHJpbmcgfSBmcm9tICdsb2Rhc2gtZXMnO1xuXG5pbXBvcnQgdHlwZSB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZmlsdGVyL2ZpbHRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZ2V0UmFuZ2VOYW1lIH0gZnJvbSAnLi4vLi4vaGVscGVycy9nZXQtcmFuZ2UtbmFtZSc7XG5pbXBvcnQgeyBwYXJzZURhdGUgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3BhcnNlLWRhdGUnO1xuaW1wb3J0IHsgSUZpbHRlckNvbmZpZ1dlZWtJdGVtIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9pdGVtcy93ZWVrLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IEJhc2VJdGVtIH0gZnJvbSAnLi9iYXNlLWl0ZW0nO1xuXG5cbmV4cG9ydCBjbGFzcyBXZWVrSXRlbSBleHRlbmRzIEJhc2VJdGVtPElGaWx0ZXJDb25maWdXZWVrSXRlbT4ge1xuXG4gIHB1YmxpYyBzZWVkRGF0ZTogRGF0ZTtcblxuICBwdWJsaWMgc3RhdGljIGNyZWF0ZShjb25maWc6IElGaWx0ZXJDb25maWdXZWVrSXRlbSwgZmlsdGVyOiBGaWx0ZXJDb21wb25lbnQpIHtcbiAgICByZXR1cm4gbmV3IFdlZWtJdGVtKGNvbmZpZywgbnVsbCwgZmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmFsdWUoKSB7XG4gICAgbGV0IHZhbHVlID0gY2xvbmUodGhpcy5tb2RlbCk7XG5cbiAgICBpZiAoIWlzT2JqZWN0KHRoaXMubW9kZWwpIHx8XG4gICAgICAoaXNFbXB0eSh0aGlzLm1vZGVsLmZyb20sIHsgemVybzogdHJ1ZSB9KSAmJiBpc0VtcHR5KHRoaXMubW9kZWwudG8sIHsgemVybzogdHJ1ZSB9KSkpIHtcbiAgICAgIHZhbHVlID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5KHZhbHVlLCB7IHplcm86IHRydWUgfSkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IGZyb20gPSB2YWx1ZS5mcm9tO1xuICAgIGxldCB0byA9IHZhbHVlLnRvO1xuICAgIGNvbnN0IHBlcmlvZCA9IHZhbHVlLnBlcmlvZDtcblxuICAgIHZhbHVlID0ge307XG5cbiAgICBpZiAoZnJvbSkge1xuICAgICAgaWYgKGlzU3RyaW5nKGZyb20pKSB7XG4gICAgICAgIGZyb20gPSBwYXJzZUlTTyhmcm9tKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzVmFsaWQoZnJvbSkgJiYgaXNEYXRlKGZyb20pKSB7XG4gICAgICAgIHZhbHVlLmZyb20gPSBmcm9tO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0bykge1xuICAgICAgaWYgKGlzU3RyaW5nKHRvKSkge1xuICAgICAgICB0byA9IHBhcnNlSVNPKHRvKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzVmFsaWQodG8pICYmIGlzRGF0ZSh0bykpIHtcbiAgICAgICAgdmFsdWUudG8gPSB0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGVyaW9kKSB7XG4gICAgICB2YWx1ZS5wZXJpb2QgPSBpc1N0cmluZyhwZXJpb2QpID8gcGFyc2VJbnQocGVyaW9kLCAxMCkgOiBwZXJpb2Q7XG4gICAgfVxuXG5cbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHF1ZXJ5T2JqZWN0KCkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy52YWx1ZTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtRnJvbU5hbWUgPSBnZXRSYW5nZU5hbWUoJ2NhbWVsJywgbmFtZSwgJ2Zyb20nKTtcbiAgICBjb25zdCBwYXJhbVRvTmFtZSA9IGdldFJhbmdlTmFtZSgnY2FtZWwnLCBuYW1lLCAndG8nKTtcbiAgICBjb25zdCBwYXJhbVBlcmlvZE5hbWUgPSBgJHtuYW1lfVBlcmlvZGA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3BhcmFtRnJvbU5hbWVdOiB2YWx1ZT8uZnJvbSB8fCB1bmRlZmluZWQsXG4gICAgICBbcGFyYW1Ub05hbWVdOiB2YWx1ZT8udG8gfHwgdW5kZWZpbmVkLFxuICAgICAgW3BhcmFtUGVyaW9kTmFtZV06IHZhbHVlPy5wZXJpb2QgfHwgdW5kZWZpbmVkLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHBlcnNpc3RhbmNlT2JqZWN0KCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5xdWVyeU9iamVjdDtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lO1xuICAgIGNvbnN0IHBhcmFtRnJvbU5hbWUgPSBnZXRSYW5nZU5hbWUoJ2NhbWVsJywgbmFtZSwgJ2Zyb20nKTtcbiAgICBjb25zdCBwYXJhbUZyb21WYWx1ZSA9IHF1ZXJ5W3BhcmFtRnJvbU5hbWVdICYmIHNpbXBsZUZvcm1hdChxdWVyeVtwYXJhbUZyb21OYW1lXSkgfHwgcXVlcnlbcGFyYW1Gcm9tTmFtZV07XG4gICAgY29uc3QgcGFyYW1Ub05hbWUgPSBnZXRSYW5nZU5hbWUoJ2NhbWVsJywgbmFtZSwgJ3RvJyk7XG4gICAgY29uc3QgcGFyYW1Ub1ZhbHVlID0gcXVlcnlbcGFyYW1Ub05hbWVdICYmIHNpbXBsZUZvcm1hdChxdWVyeVtwYXJhbVRvTmFtZV0pIHx8IHF1ZXJ5W3BhcmFtVG9OYW1lXTtcbiAgICBjb25zdCBwYXJhbVBlcmlvZE5hbWUgPSBgJHtuYW1lfVBlcmlvZGA7XG5cbiAgICByZXR1cm4ge1xuICAgICAgW3BhcmFtRnJvbU5hbWVdOiBwYXJhbUZyb21WYWx1ZSxcbiAgICAgIFtwYXJhbVRvTmFtZV06IHBhcmFtVG9WYWx1ZSxcbiAgICAgIFtwYXJhbVBlcmlvZE5hbWVdOiBxdWVyeVtwYXJhbVBlcmlvZE5hbWVdLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0Q2hpcHNDb250ZW50KHR5cGUgPSBudWxsKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZm9ybWF0UGVyaW9kT2JqZWN0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF92YWxpZGF0ZU1vZGVsKCkgeyB9XG5cbiAgcHJvdGVjdGVkIF9zZXRNb2RlbCh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgdmFsdWUuZnJvbSA9IHBhcnNlRGF0ZSh2YWx1ZS5mcm9tKTtcbiAgICAgIHZhbHVlLnRvID0gcGFyc2VEYXRlKHZhbHVlLnRvKTtcbiAgICAgIHZhbHVlLnBlcmlvZCA9IHBhcnNlSW50KHZhbHVlLnBlcmlvZCwgMTApIHx8IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBzdXBlci5fc2V0TW9kZWwodmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9wYXJzZUNvbmZpZyhpdGVtOiBJRmlsdGVyQ29uZmlnV2Vla0l0ZW0pIHtcbiAgICBzdXBlci5fcGFyc2VDb25maWcoaXRlbSk7XG5cbiAgICB0aGlzLnNlZWREYXRlID0gaXRlbS5zZWVkRGF0ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfaW5pdCgpIHsgfVxuXG4gIHByb3RlY3RlZCBfY2xlYXJWYWx1ZShkZWZhdWx0VmFsdWU6IHVua25vd24gPSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLm1vZGVsID0gZGVmYXVsdFZhbHVlID8/IHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
@@ -1,21 +1,21 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FsFilterIsolateValues {
4
- transform(values, isolate) {
5
- if (!isolate) {
6
- return values;
7
- }
8
- return values.filter((value) => {
9
- return value.value !== isolate.value;
10
- });
11
- }
12
- }
13
- FsFilterIsolateValues.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterIsolateValues, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
- FsFilterIsolateValues.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterIsolateValues, name: "fsFilterIsolateValues" });
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterIsolateValues, decorators: [{
16
- type: Pipe,
17
- args: [{
18
- name: 'fsFilterIsolateValues',
19
- }]
20
- }] });
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FsFilterIsolateValues {
4
+ transform(values, isolate) {
5
+ if (!isolate) {
6
+ return values;
7
+ }
8
+ return values.filter((value) => {
9
+ return value.value !== isolate.value;
10
+ });
11
+ }
12
+ }
13
+ FsFilterIsolateValues.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterIsolateValues, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ FsFilterIsolateValues.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterIsolateValues, name: "fsFilterIsolateValues" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FsFilterIsolateValues, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: 'fsFilterIsolateValues',
19
+ }]
20
+ }] });
21
21
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvcGlwZXMvcmVtb3ZlLWlzb2xhdGUtdmFsdWUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFRcEQsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxTQUFTLENBQUMsTUFBdUIsRUFBRSxPQUFPO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDWixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0IsT0FBTyxLQUFLLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDOztrSEFWVSxxQkFBcUI7Z0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQUhqQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSx1QkFBdUI7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuXG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZzRmlsdGVySXNvbGF0ZVZhbHVlcycsXG59KVxuZXhwb3J0IGNsYXNzIEZzRmlsdGVySXNvbGF0ZVZhbHVlcyBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odmFsdWVzOiBCYXNlSXRlbTxhbnk+W10sIGlzb2xhdGUpIHtcbiAgICBpZiAoIWlzb2xhdGUpIHtcbiAgICAgIHJldHVybiB2YWx1ZXM7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKHZhbHVlKSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUudmFsdWUgIT09IGlzb2xhdGUudmFsdWU7XG4gICAgfSk7XG5cbiAgfVxufVxuIl19
@@ -1,10 +1,10 @@
1
- import { InjectionToken } from '@angular/core';
2
- export const FS_FILTER_META = new InjectionToken('fs.filter.meta', {
3
- providedIn: 'root',
4
- factory: () => {
5
- return {
6
- openedFilters: 0,
7
- };
8
- }
9
- });
1
+ import { InjectionToken } from '@angular/core';
2
+ export const FS_FILTER_META = new InjectionToken('fs.filter.meta', {
3
+ providedIn: 'root',
4
+ factory: () => {
5
+ return {
6
+ openedFilters: 0,
7
+ };
8
+ }
9
+ });
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW1ldGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3Byb3ZpZGVycy9maWx0ZXItbWV0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FDekIsSUFBSSxjQUFjLENBQWUsZ0JBQWdCLEVBQy9DO0lBQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUNaLE9BQU87WUFDTCxhQUFhLEVBQUUsQ0FBQztTQUNqQixDQUFDO0lBQ0osQ0FBQztDQUNGLENBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnNGaWx0ZXJNZXRhIHtcbiAgb3BlbmVkRmlsdGVyczogbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3QgRlNfRklMVEVSX01FVEEgPVxuICBuZXcgSW5qZWN0aW9uVG9rZW48RnNGaWx0ZXJNZXRhPignZnMuZmlsdGVyLm1ldGEnLFxuICAgIHtcbiAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgIGZhY3Rvcnk6ICgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBvcGVuZWRGaWx0ZXJzOiAwLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgKTtcbiJdfQ==
@@ -1,58 +1,58 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import { Location } from '@angular/common';
3
- import { ActivatedRoute } from '@angular/router';
4
- import { MatDialogRef } from '@angular/material/dialog';
5
- import { DrawerRef } from '@firestitch/drawer';
6
- import { FsPersistanceStore } from '@firestitch/store';
7
- import { getNormalizedPath } from '@firestitch/common';
8
- import { FsStore } from '@firestitch/store';
9
- import { restoreItems } from '../../helpers/restore-items';
10
- import { FsFilterItemsStore } from '../items-store.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@firestitch/store";
13
- import * as i2 from "@angular/router";
14
- import * as i3 from "@angular/common";
15
- import * as i4 from "../items-store.service";
16
- import * as i5 from "@angular/material/dialog";
17
- import * as i6 from "@firestitch/drawer";
18
- const FILTER_STORE_KEY = 'fs-filter-persist';
19
- export class PersistanceParamsController extends FsPersistanceStore {
20
- constructor(_store, _route, _location, _itemsStore, _dialogRef, _drawerRef) {
21
- super(_store, _route);
22
- this._location = _location;
23
- this._itemsStore = _itemsStore;
24
- this._dialogRef = _dialogRef;
25
- this._drawerRef = _drawerRef;
26
- this.STORE_KEY = FILTER_STORE_KEY;
27
- }
28
- init(persistanceConfig, namespace, paramsCase) {
29
- this._paramsCase = paramsCase;
30
- namespace = namespace ?? getNormalizedPath(this._location);
31
- const persistanceDisabled = !!this._dialogRef || !!this._drawerRef;
32
- this.setConfig(persistanceConfig, namespace, persistanceDisabled);
33
- }
34
- restore() {
35
- if (!this.enabled) {
36
- return;
37
- }
38
- super.restore();
39
- const items = [
40
- ...this._itemsStore.items,
41
- this._itemsStore.sortByItem,
42
- this._itemsStore.sortDirectionItem,
43
- ].filter((item) => !!item);
44
- if (this._value) {
45
- this._value.data = restoreItems(this._value.data, items, this._paramsCase);
46
- }
47
- }
48
- }
49
- PersistanceParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PersistanceParamsController, deps: [{ token: i1.FsStore }, { token: i2.ActivatedRoute }, { token: i3.Location }, { token: i4.FsFilterItemsStore }, { token: i5.MatDialogRef, optional: true }, { token: i6.DrawerRef, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
50
- PersistanceParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PersistanceParamsController });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PersistanceParamsController, decorators: [{
52
- type: Injectable
53
- }], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i2.ActivatedRoute }, { type: i3.Location }, { type: i4.FsFilterItemsStore }, { type: i5.MatDialogRef, decorators: [{
54
- type: Optional
55
- }] }, { type: i6.DrawerRef, decorators: [{
56
- type: Optional
57
- }] }]; } });
1
+ import { Injectable, Optional } from '@angular/core';
2
+ import { Location } from '@angular/common';
3
+ import { ActivatedRoute } from '@angular/router';
4
+ import { MatDialogRef } from '@angular/material/dialog';
5
+ import { DrawerRef } from '@firestitch/drawer';
6
+ import { FsPersistanceStore } from '@firestitch/store';
7
+ import { getNormalizedPath } from '@firestitch/common';
8
+ import { FsStore } from '@firestitch/store';
9
+ import { restoreItems } from '../../helpers/restore-items';
10
+ import { FsFilterItemsStore } from '../items-store.service';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@firestitch/store";
13
+ import * as i2 from "@angular/router";
14
+ import * as i3 from "@angular/common";
15
+ import * as i4 from "../items-store.service";
16
+ import * as i5 from "@angular/material/dialog";
17
+ import * as i6 from "@firestitch/drawer";
18
+ const FILTER_STORE_KEY = 'fs-filter-persist';
19
+ export class PersistanceParamsController extends FsPersistanceStore {
20
+ constructor(_store, _route, _location, _itemsStore, _dialogRef, _drawerRef) {
21
+ super(_store, _route);
22
+ this._location = _location;
23
+ this._itemsStore = _itemsStore;
24
+ this._dialogRef = _dialogRef;
25
+ this._drawerRef = _drawerRef;
26
+ this.STORE_KEY = FILTER_STORE_KEY;
27
+ }
28
+ init(persistanceConfig, namespace, paramsCase) {
29
+ this._paramsCase = paramsCase;
30
+ namespace = namespace ?? getNormalizedPath(this._location);
31
+ const persistanceDisabled = !!this._dialogRef || !!this._drawerRef;
32
+ this.setConfig(persistanceConfig, namespace, persistanceDisabled);
33
+ }
34
+ restore() {
35
+ if (!this.enabled) {
36
+ return;
37
+ }
38
+ super.restore();
39
+ const items = [
40
+ ...this._itemsStore.items,
41
+ this._itemsStore.sortByItem,
42
+ this._itemsStore.sortDirectionItem,
43
+ ].filter((item) => !!item);
44
+ if (this._value) {
45
+ this._value.data = restoreItems(this._value.data, items, this._paramsCase);
46
+ }
47
+ }
48
+ }
49
+ PersistanceParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PersistanceParamsController, deps: [{ token: i1.FsStore }, { token: i2.ActivatedRoute }, { token: i3.Location }, { token: i4.FsFilterItemsStore }, { token: i5.MatDialogRef, optional: true }, { token: i6.DrawerRef, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
50
+ PersistanceParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PersistanceParamsController });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: PersistanceParamsController, decorators: [{
52
+ type: Injectable
53
+ }], ctorParameters: function () { return [{ type: i1.FsStore }, { type: i2.ActivatedRoute }, { type: i3.Location }, { type: i4.FsFilterItemsStore }, { type: i5.MatDialogRef, decorators: [{
54
+ type: Optional
55
+ }] }, { type: i6.DrawerRef, decorators: [{
56
+ type: Optional
57
+ }] }]; } });
58
58
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyc2lzdGFuY2UtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3BlcnNpc3RhbmNlLXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUc1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBRTVELE1BQU0sZ0JBQWdCLEdBQUcsbUJBQW1CLENBQUM7QUFJN0MsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGtCQUF1QztJQUt0RixZQUNFLE1BQWUsRUFDZixNQUFzQixFQUNkLFNBQW1CLEVBQ25CLFdBQStCLEVBQ25CLFVBQWlDLEVBQ2pDLFVBQThCO1FBRWxELEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFMZCxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBQ25CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUNuQixlQUFVLEdBQVYsVUFBVSxDQUF1QjtRQUNqQyxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQVQxQyxjQUFTLEdBQUcsZ0JBQWdCLENBQUM7SUFZdkMsQ0FBQztJQUVNLElBQUksQ0FDVCxpQkFBc0MsRUFDdEMsU0FBaUIsRUFDakIsVUFBNkI7UUFFN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFFOUIsU0FBUyxHQUFHLFNBQVMsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDM0QsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUVuRSxJQUFJLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakIsT0FBTztTQUNSO1FBRUQsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhCLE1BQU0sS0FBSyxHQUFHO1lBQ1osR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVO1lBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCO1NBQ25DLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0IsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFDaEIsS0FBSyxFQUNMLElBQUksQ0FBQyxXQUFXLENBQ2pCLENBQUM7U0FDSDtJQUNILENBQUM7O3dIQWpEVSwyQkFBMkI7NEhBQTNCLDJCQUEyQjsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOzswQkFXTixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbmltcG9ydCB7IERyYXdlclJlZiB9IGZyb20gJ0BmaXJlc3RpdGNoL2RyYXdlcic7XG5pbXBvcnQgeyBGc1BlcnNpc3RhbmNlU3RvcmUgfSBmcm9tICdAZmlyZXN0aXRjaC9zdG9yZSc7XG5pbXBvcnQgeyBnZXROb3JtYWxpemVkUGF0aCB9IGZyb20gJ0BmaXJlc3RpdGNoL2NvbW1vbic7XG5pbXBvcnQgeyBGc1N0b3JlIH0gZnJvbSAnQGZpcmVzdGl0Y2gvc3RvcmUnO1xuXG5pbXBvcnQgeyBGc0ZpbHRlclBlcnNpc3RhbmNlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IHJlc3RvcmVJdGVtcyB9IGZyb20gJy4uLy4uL2hlbHBlcnMvcmVzdG9yZS1pdGVtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuLi9pdGVtcy1zdG9yZS5zZXJ2aWNlJztcblxuY29uc3QgRklMVEVSX1NUT1JFX0tFWSA9ICdmcy1maWx0ZXItcGVyc2lzdCc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBlcnNpc3RhbmNlUGFyYW1zQ29udHJvbGxlciBleHRlbmRzIEZzUGVyc2lzdGFuY2VTdG9yZTxGc0ZpbHRlclBlcnNpc3RhbmNlPiB7XG5cbiAgcHJvdGVjdGVkIFNUT1JFX0tFWSA9IEZJTFRFUl9TVE9SRV9LRVk7XG4gIHByb3RlY3RlZCBfcGFyYW1zQ2FzZTogJ3NuYWtlJyB8ICdjYW1lbCc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgX3N0b3JlOiBGc1N0b3JlLFxuICAgIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbG9jYXRpb246IExvY2F0aW9uLFxuICAgIHByaXZhdGUgX2l0ZW1zU3RvcmU6IEZzRmlsdGVySXRlbXNTdG9yZSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjx1bmtub3duPixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kcmF3ZXJSZWY6IERyYXdlclJlZjx1bmtub3duPixcbiAgKSB7XG4gICAgc3VwZXIoX3N0b3JlLCBfcm91dGUpO1xuICB9XG5cbiAgcHVibGljIGluaXQoXG4gICAgcGVyc2lzdGFuY2VDb25maWc6IEZzRmlsdGVyUGVyc2lzdGFuY2UsXG4gICAgbmFtZXNwYWNlOiBzdHJpbmcsXG4gICAgcGFyYW1zQ2FzZTogJ3NuYWtlJyB8ICdjYW1lbCcsXG4gICk6IHZvaWQge1xuICAgIHRoaXMuX3BhcmFtc0Nhc2UgPSBwYXJhbXNDYXNlO1xuXG4gICAgbmFtZXNwYWNlID0gbmFtZXNwYWNlID8/IGdldE5vcm1hbGl6ZWRQYXRoKHRoaXMuX2xvY2F0aW9uKTtcbiAgICBjb25zdCBwZXJzaXN0YW5jZURpc2FibGVkID0gISF0aGlzLl9kaWFsb2dSZWYgfHwgISF0aGlzLl9kcmF3ZXJSZWY7XG5cbiAgICB0aGlzLnNldENvbmZpZyhwZXJzaXN0YW5jZUNvbmZpZywgbmFtZXNwYWNlLCBwZXJzaXN0YW5jZURpc2FibGVkKTtcbiAgfVxuXG4gIHB1YmxpYyByZXN0b3JlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lbmFibGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VwZXIucmVzdG9yZSgpO1xuXG4gICAgY29uc3QgaXRlbXMgPSBbXG4gICAgICAuLi50aGlzLl9pdGVtc1N0b3JlLml0ZW1zLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0QnlJdGVtLFxuICAgICAgdGhpcy5faXRlbXNTdG9yZS5zb3J0RGlyZWN0aW9uSXRlbSxcbiAgICBdLmZpbHRlcigoaXRlbSkgPT4gISFpdGVtKTtcblxuICAgIGlmICh0aGlzLl92YWx1ZSkge1xuICAgICAgdGhpcy5fdmFsdWUuZGF0YSA9IHJlc3RvcmVJdGVtcyhcbiAgICAgICAgdGhpcy5fdmFsdWUuZGF0YSxcbiAgICAgICAgaXRlbXMsXG4gICAgICAgIHRoaXMuX3BhcmFtc0Nhc2VcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
@@ -1,62 +1,62 @@
1
- import { Injectable } from '@angular/core';
2
- import { ActivatedRoute } from '@angular/router';
3
- import { restoreItems } from '../../helpers/restore-items';
4
- import { FsFilterItemsStore } from '../items-store.service';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/router";
7
- import * as i2 from "../items-store.service";
8
- export class QueryParamsController {
9
- constructor(_route, _itemsStore) {
10
- this._route = _route;
11
- this._itemsStore = _itemsStore;
12
- this._enabled = false;
13
- }
14
- get enabled() {
15
- return this._enabled;
16
- }
17
- get fetchedParams() {
18
- return this._fetchedParams;
19
- }
20
- init(enabled, paramsCase) {
21
- this._enabled = enabled;
22
- this._paramsCase = paramsCase;
23
- if (this.enabled) {
24
- this.fetchFromQueryParams();
25
- }
26
- }
27
- writeStateToQueryParams(params) {
28
- if (this._enabled) {
29
- this._replaceState(params);
30
- }
31
- }
32
- /**
33
- * Parse query and update filter values
34
- */
35
- fetchFromQueryParams() {
36
- const items = [
37
- ...this._itemsStore.items,
38
- this._itemsStore.sortByItem,
39
- this._itemsStore.sortDirectionItem,
40
- ].filter((item) => !!item);
41
- this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items, this._paramsCase);
42
- }
43
- _replaceState(data) {
44
- const url = new URL(window.location.href);
45
- Object.keys(data)
46
- .forEach((name) => {
47
- if (data[name] === undefined || data[name] === null) {
48
- url.searchParams.delete(name);
49
- }
50
- else {
51
- url.searchParams.set(name, data[name]);
52
- }
53
- });
54
- history.replaceState({}, null, url.pathname + url.search);
55
- }
56
- }
57
- QueryParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController, deps: [{ token: i1.ActivatedRoute }, { token: i2.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
58
- QueryParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController });
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController, decorators: [{
60
- type: Injectable
61
- }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FsFilterItemsStore }]; } });
1
+ import { Injectable } from '@angular/core';
2
+ import { ActivatedRoute } from '@angular/router';
3
+ import { restoreItems } from '../../helpers/restore-items';
4
+ import { FsFilterItemsStore } from '../items-store.service';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/router";
7
+ import * as i2 from "../items-store.service";
8
+ export class QueryParamsController {
9
+ constructor(_route, _itemsStore) {
10
+ this._route = _route;
11
+ this._itemsStore = _itemsStore;
12
+ this._enabled = false;
13
+ }
14
+ get enabled() {
15
+ return this._enabled;
16
+ }
17
+ get fetchedParams() {
18
+ return this._fetchedParams;
19
+ }
20
+ init(enabled, paramsCase) {
21
+ this._enabled = enabled;
22
+ this._paramsCase = paramsCase;
23
+ if (this.enabled) {
24
+ this.fetchFromQueryParams();
25
+ }
26
+ }
27
+ writeStateToQueryParams(params) {
28
+ if (this._enabled) {
29
+ this._replaceState(params);
30
+ }
31
+ }
32
+ /**
33
+ * Parse query and update filter values
34
+ */
35
+ fetchFromQueryParams() {
36
+ const items = [
37
+ ...this._itemsStore.items,
38
+ this._itemsStore.sortByItem,
39
+ this._itemsStore.sortDirectionItem,
40
+ ].filter((item) => !!item);
41
+ this._fetchedParams = restoreItems(this._route.snapshot.queryParams, items, this._paramsCase);
42
+ }
43
+ _replaceState(data) {
44
+ const url = new URL(window.location.href);
45
+ Object.keys(data)
46
+ .forEach((name) => {
47
+ if (data[name] === undefined || data[name] === null) {
48
+ url.searchParams.delete(name);
49
+ }
50
+ else {
51
+ url.searchParams.set(name, data[name]);
52
+ }
53
+ });
54
+ history.replaceState({}, null, url.pathname + url.search);
55
+ }
56
+ }
57
+ QueryParamsController.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController, deps: [{ token: i1.ActivatedRoute }, { token: i2.FsFilterItemsStore }], target: i0.ɵɵFactoryTarget.Injectable });
58
+ QueryParamsController.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: QueryParamsController, decorators: [{
60
+ type: Injectable
61
+ }], ctorParameters: function () { return [{ type: i1.ActivatedRoute }, { type: i2.FsFilterItemsStore }]; } });
62
62
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3F1ZXJ5LXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSTVELE1BQU0sT0FBTyxxQkFBcUI7SUFNaEMsWUFDVSxNQUFzQixFQUN0QixXQUErQjtRQUQvQixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUN0QixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFOakMsYUFBUSxHQUFHLEtBQUssQ0FBQztJQU90QixDQUFDO0lBRUosSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUM3QixDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQWdCLEVBQUUsVUFBNkI7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFFOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVNLHVCQUF1QixDQUFDLE1BQU07UUFDbkMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxvQkFBb0I7UUFDekIsTUFBTSxLQUFLLEdBQUc7WUFDWixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztZQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUI7U0FDbkMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUNoQyxLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztJQUNKLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBSTtRQUN4QixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2QsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEIsSUFBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ2xELEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQy9CO2lCQUFNO2dCQUNMLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUN2QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUwsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELENBQUM7O2tIQWhFVSxxQkFBcUI7c0hBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQURqQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyByZXN0b3JlSXRlbXMgfSBmcm9tICcuLi8uLi9oZWxwZXJzL3Jlc3RvcmUtaXRlbXMnO1xuaW1wb3J0IHsgRnNGaWx0ZXJJdGVtc1N0b3JlIH0gZnJvbSAnLi4vaXRlbXMtc3RvcmUuc2VydmljZSc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1zQ29udHJvbGxlciB7XG5cbiAgcHJpdmF0ZSBfZW5hYmxlZCA9IGZhbHNlO1xuICBwcml2YXRlIF9wYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJztcbiAgcHJpdmF0ZSBfZmV0Y2hlZFBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfaXRlbXNTdG9yZTogRnNGaWx0ZXJJdGVtc1N0b3JlXG4gICkge31cblxuICBwdWJsaWMgZ2V0IGVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGZldGNoZWRQYXJhbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2ZldGNoZWRQYXJhbXM7XG4gIH1cblxuICBwdWJsaWMgaW5pdChlbmFibGVkOiBib29sZWFuLCBwYXJhbXNDYXNlOiAnc25ha2UnIHwgJ2NhbWVsJykge1xuICAgIHRoaXMuX2VuYWJsZWQgPSBlbmFibGVkO1xuICAgIHRoaXMuX3BhcmFtc0Nhc2UgPSBwYXJhbXNDYXNlO1xuXG4gICAgaWYgKHRoaXMuZW5hYmxlZCkge1xuICAgICAgdGhpcy5mZXRjaEZyb21RdWVyeVBhcmFtcygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVN0YXRlVG9RdWVyeVBhcmFtcyhwYXJhbXMpIHtcbiAgICBpZiAodGhpcy5fZW5hYmxlZCkgeyBcbiAgICAgIHRoaXMuX3JlcGxhY2VTdGF0ZShwYXJhbXMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBxdWVyeSBhbmQgdXBkYXRlIGZpbHRlciB2YWx1ZXNcbiAgICovXG4gIHB1YmxpYyBmZXRjaEZyb21RdWVyeVBhcmFtcygpIHtcbiAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgIC4uLnRoaXMuX2l0ZW1zU3RvcmUuaXRlbXMsXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnRCeUl0ZW0sXG4gICAgICB0aGlzLl9pdGVtc1N0b3JlLnNvcnREaXJlY3Rpb25JdGVtLFxuICAgIF0uZmlsdGVyKChpdGVtKSA9PiAhIWl0ZW0pO1xuXG4gICAgdGhpcy5fZmV0Y2hlZFBhcmFtcyA9IHJlc3RvcmVJdGVtcyhcbiAgICAgIHRoaXMuX3JvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zLFxuICAgICAgaXRlbXMsXG4gICAgICB0aGlzLl9wYXJhbXNDYXNlXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgX3JlcGxhY2VTdGF0ZShkYXRhKSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG5cbiAgICBPYmplY3Qua2V5cyhkYXRhKVxuICAgICAgLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgaWYoZGF0YVtuYW1lXSA9PT0gdW5kZWZpbmVkIHx8IGRhdGFbbmFtZV0gPT09IG51bGwpIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLmRlbGV0ZShuYW1lKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cmwuc2VhcmNoUGFyYW1zLnNldChuYW1lLGRhdGFbbmFtZV0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIGhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LCBudWxsLCB1cmwucGF0aG5hbWUgKyB1cmwuc2VhcmNoKTtcbiAgfVxufVxuIl19