@firestitch/filter 14.0.3 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (273) 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 +13 -13
  5. package/app/components/filter/filter.component.d.ts +204 -204
  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 +9 -9
  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 +9 -9
  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/index.d.ts +3 -3
  28. package/app/components/saved-filter/saved-filter-edit/index.d.ts +1 -1
  29. package/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.d.ts +18 -18
  30. package/app/components/saved-filter/saved-filter-manage/index.d.ts +1 -1
  31. package/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.d.ts +16 -16
  32. package/app/components/saved-filter/saved-filters-menu/index.d.ts +1 -1
  33. package/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.d.ts +24 -24
  34. package/app/consts/query-param-delimiter.d.ts +1 -1
  35. package/app/directives/focus-to-item/focus-to-item.directive.d.ts +27 -27
  36. package/app/directives/status-bar/status-bar.directive.d.ts +8 -8
  37. package/app/enums/action-mode.enum.d.ts +6 -6
  38. package/app/enums/action-type.enum.d.ts +9 -9
  39. package/app/enums/button-style.d.ts +9 -9
  40. package/app/enums/index.d.ts +6 -6
  41. package/app/enums/item-date-mode.enum.d.ts +5 -5
  42. package/app/enums/item-type.enum.d.ts +15 -15
  43. package/app/enums/picker-view-type.enum.d.ts +7 -7
  44. package/app/fs-filter.module.d.ts +70 -70
  45. package/app/helpers/build-query-params.d.ts +3 -3
  46. package/app/helpers/compare.d.ts +2 -2
  47. package/app/helpers/create-filter-item.d.ts +14 -14
  48. package/app/helpers/find-value.d.ts +1 -1
  49. package/app/helpers/get-range-name.d.ts +1 -1
  50. package/app/helpers/parse-date.d.ts +1 -1
  51. package/app/helpers/parse-item-value-from-stored.d.ts +1 -1
  52. package/app/helpers/query-param-transformers.d.ts +2 -2
  53. package/app/helpers/restore-items.d.ts +12 -12
  54. package/app/injectors/filter-config.d.ts +2 -2
  55. package/app/injectors/filter-drawer-data.d.ts +2 -2
  56. package/app/injectors/filter-drawer-overlay.d.ts +2 -2
  57. package/app/interfaces/action.interface.d.ts +81 -81
  58. package/app/interfaces/config.interface.d.ts +66 -66
  59. package/app/interfaces/external-params.interface.d.ts +3 -3
  60. package/app/interfaces/filter.interface.d.ts +4 -4
  61. package/app/interfaces/index.d.ts +6 -6
  62. package/app/interfaces/items/autocomplete-chips.interface.d.ts +15 -15
  63. package/app/interfaces/items/autocomplete.interface.d.ts +9 -9
  64. package/app/interfaces/items/base.interface.d.ts +29 -29
  65. package/app/interfaces/items/checkbox.interface.d.ts +7 -7
  66. package/app/interfaces/items/chips.interface.d.ts +6 -6
  67. package/app/interfaces/items/date-range.interface.d.ts +8 -8
  68. package/app/interfaces/items/date.interface.d.ts +7 -7
  69. package/app/interfaces/items/range.interface.d.ts +13 -13
  70. package/app/interfaces/items/select.interface.d.ts +20 -20
  71. package/app/interfaces/items/text.interface.d.ts +9 -9
  72. package/app/interfaces/items/week.interface.d.ts +7 -7
  73. package/app/interfaces/saved-filters.interface.d.ts +18 -18
  74. package/app/interfaces/update-filter-item.interface.d.ts +4 -4
  75. package/app/models/action-menu-item.model.d.ts +23 -23
  76. package/app/models/action.model.d.ts +54 -54
  77. package/app/models/filter-config.d.ts +31 -31
  78. package/app/models/items/autocomplete/base-autocomplete-item.d.ts +12 -12
  79. package/app/models/items/autocomplete-chips-item.d.ts +20 -20
  80. package/app/models/items/autocomplete-item.d.ts +11 -11
  81. package/app/models/items/base-item.d.ts +80 -80
  82. package/app/models/items/checkbox-item.d.ts +17 -17
  83. package/app/models/items/chips-item.d.ts +18 -18
  84. package/app/models/items/date/base-date-item.d.ts +14 -14
  85. package/app/models/items/date-item.d.ts +8 -8
  86. package/app/models/items/date-range/base-date-range-item.d.ts +17 -21
  87. package/app/models/items/date-range-item.d.ts +6 -6
  88. package/app/models/items/date-time-item.d.ts +7 -7
  89. package/app/models/items/date-time-range-item.d.ts +6 -6
  90. package/app/models/items/range-item.d.ts +19 -23
  91. package/app/models/items/select/base-select-item.d.ts +13 -13
  92. package/app/models/items/select/multiple-select-item.d.ts +14 -14
  93. package/app/models/items/select/simple-select-item.d.ts +14 -14
  94. package/app/models/items/select-item.d.ts +8 -8
  95. package/app/models/items/text-item.d.ts +15 -15
  96. package/app/models/items/week-item.d.ts +18 -18
  97. package/app/pipes/remove-isolate-value.pipe.d.ts +8 -8
  98. package/app/providers/filter-meta.d.ts +5 -5
  99. package/app/services/external-params/persistance-params-controller.service.d.ts +21 -22
  100. package/app/services/external-params/query-params-controller.service.d.ts +22 -22
  101. package/app/services/external-params/saved-filters-controller.service.d.ts +40 -40
  102. package/app/services/external-params-controller.service.d.ts +42 -42
  103. package/app/services/filter-overlay.service.d.ts +36 -36
  104. package/app/services/focus-controller.service.d.ts +18 -18
  105. package/app/services/items-store.service.d.ts +69 -69
  106. package/esm2022/app/classes/actions-controller.mjs +130 -0
  107. package/esm2022/app/components/action-button/action-button.component.mjs +21 -0
  108. package/esm2022/app/components/action-kebab-actions/action-kebab-actions.component.mjs +18 -0
  109. package/esm2022/app/components/actions/actions.component.mjs +40 -0
  110. package/esm2022/app/components/filter/filter.component.mjs +626 -0
  111. package/esm2022/app/components/filter-chip/filter-chip.component.mjs +92 -0
  112. package/esm2022/app/components/filter-chip-content/filter-chip-content.component.mjs +83 -0
  113. package/esm2022/app/components/filter-chips/filter-chips.component.mjs +18 -0
  114. package/esm2022/app/components/filter-drawer/filter-drawer.component.mjs +78 -0
  115. package/esm2022/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +27 -0
  116. package/esm2022/app/components/filters-item/autocomplete/autocomplete.component.mjs +29 -0
  117. package/esm2022/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +44 -0
  118. package/esm2022/app/components/filters-item/base-item/base-item.component.mjs +68 -0
  119. package/esm2022/app/components/filters-item/checkbox/checkbox.component.mjs +23 -0
  120. package/esm2022/app/components/filters-item/chips/chips.component.mjs +30 -0
  121. package/esm2022/app/components/filters-item/date/date.component.mjs +45 -0
  122. package/esm2022/app/components/filters-item/date-range/date-range.component.mjs +36 -0
  123. package/esm2022/app/components/filters-item/filter-item.component.mjs +82 -0
  124. package/esm2022/app/components/filters-item/range/range.component.mjs +49 -0
  125. package/{esm2020 → esm2022}/app/components/filters-item/select/backdrop/backdrop.component.mjs +12 -12
  126. package/esm2022/app/components/filters-item/select/groups/groups.component.mjs +33 -0
  127. package/esm2022/app/components/filters-item/select/multiple/multiple.component.mjs +60 -0
  128. package/esm2022/app/components/filters-item/select/select.component.mjs +55 -0
  129. package/esm2022/app/components/filters-item/select/simple/simple.component.mjs +46 -0
  130. package/esm2022/app/components/filters-item/text/text.component.mjs +51 -0
  131. package/esm2022/app/components/filters-item/week/week.component.mjs +26 -0
  132. package/{esm2020 → esm2022}/app/components/saved-filter/index.mjs +3 -3
  133. package/{esm2020 → esm2022}/app/components/saved-filter/saved-filter-edit/index.mjs +1 -1
  134. package/esm2022/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +55 -0
  135. package/{esm2020 → esm2022}/app/components/saved-filter/saved-filter-manage/index.mjs +1 -1
  136. package/esm2022/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +45 -0
  137. package/{esm2020 → esm2022}/app/components/saved-filter/saved-filters-menu/index.mjs +1 -1
  138. package/esm2022/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +61 -0
  139. package/{esm2020 → esm2022}/app/consts/query-param-delimiter.mjs +1 -1
  140. package/esm2022/app/directives/focus-to-item/focus-to-item.directive.mjs +141 -0
  141. package/esm2022/app/directives/status-bar/status-bar.directive.mjs +17 -0
  142. package/{esm2020 → esm2022}/app/enums/action-mode.enum.mjs +7 -7
  143. package/esm2022/app/enums/action-type.enum.mjs +11 -0
  144. package/{esm2020 → esm2022}/app/enums/button-style.mjs +10 -10
  145. package/{esm2020 → esm2022}/app/enums/index.mjs +6 -6
  146. package/{esm2020 → esm2022}/app/enums/item-date-mode.enum.mjs +6 -6
  147. package/{esm2020 → esm2022}/app/enums/item-type.enum.mjs +16 -16
  148. package/{esm2020 → esm2022}/app/enums/picker-view-type.enum.mjs +8 -8
  149. package/{esm2020 → esm2022}/app/fs-filter.module.mjs +261 -261
  150. package/{esm2020 → esm2022}/app/helpers/build-query-params.mjs +32 -32
  151. package/{esm2020 → esm2022}/app/helpers/compare.mjs +37 -37
  152. package/{esm2020 → esm2022}/app/helpers/create-filter-item.mjs +54 -54
  153. package/{esm2020 → esm2022}/app/helpers/find-value.mjs +12 -12
  154. package/esm2022/app/helpers/get-range-name.mjs +4 -0
  155. package/{esm2020 → esm2022}/app/helpers/parse-date.mjs +7 -7
  156. package/esm2022/app/helpers/parse-item-value-from-stored.mjs +77 -0
  157. package/{esm2020 → esm2022}/app/helpers/query-param-transformers.mjs +8 -8
  158. package/esm2022/app/helpers/restore-items.mjs +49 -0
  159. package/{esm2020 → esm2022}/app/injectors/filter-config.mjs +2 -2
  160. package/{esm2020 → esm2022}/app/injectors/filter-drawer-data.mjs +2 -2
  161. package/{esm2020 → esm2022}/app/injectors/filter-drawer-overlay.mjs +2 -2
  162. package/{esm2020 → esm2022}/app/interfaces/action.interface.mjs +1 -1
  163. package/{esm2020 → esm2022}/app/interfaces/config.interface.mjs +1 -1
  164. package/{esm2020 → esm2022}/app/interfaces/external-params.interface.mjs +1 -1
  165. package/{esm2020 → esm2022}/app/interfaces/filter.interface.mjs +1 -1
  166. package/{esm2020 → esm2022}/app/interfaces/index.mjs +6 -6
  167. package/{esm2020 → esm2022}/app/interfaces/items/autocomplete-chips.interface.mjs +1 -1
  168. package/{esm2020 → esm2022}/app/interfaces/items/autocomplete.interface.mjs +1 -1
  169. package/{esm2020 → esm2022}/app/interfaces/items/base.interface.mjs +1 -1
  170. package/{esm2020 → esm2022}/app/interfaces/items/checkbox.interface.mjs +1 -1
  171. package/{esm2020 → esm2022}/app/interfaces/items/chips.interface.mjs +1 -1
  172. package/{esm2020 → esm2022}/app/interfaces/items/date-range.interface.mjs +1 -1
  173. package/{esm2020 → esm2022}/app/interfaces/items/date.interface.mjs +1 -1
  174. package/{esm2020 → esm2022}/app/interfaces/items/range.interface.mjs +1 -1
  175. package/{esm2020 → esm2022}/app/interfaces/items/select.interface.mjs +1 -1
  176. package/{esm2020 → esm2022}/app/interfaces/items/text.interface.mjs +1 -1
  177. package/{esm2020 → esm2022}/app/interfaces/items/week.interface.mjs +1 -1
  178. package/{esm2020 → esm2022}/app/interfaces/saved-filters.interface.mjs +1 -1
  179. package/{esm2020 → esm2022}/app/interfaces/update-filter-item.interface.mjs +1 -1
  180. package/esm2022/app/models/action-menu-item.model.mjs +73 -0
  181. package/esm2022/app/models/action.model.mjs +156 -0
  182. package/esm2022/app/models/filter-config.mjs +79 -0
  183. package/esm2022/app/models/items/autocomplete/base-autocomplete-item.mjs +16 -0
  184. package/{esm2020 → esm2022}/app/models/items/autocomplete-chips-item.mjs +67 -61
  185. package/{esm2020 → esm2022}/app/models/items/autocomplete-item.mjs +32 -32
  186. package/{esm2020 → esm2022}/app/models/items/base-item.mjs +251 -234
  187. package/esm2022/app/models/items/checkbox-item.mjs +52 -0
  188. package/esm2022/app/models/items/chips-item.mjs +90 -0
  189. package/esm2022/app/models/items/date/base-date-item.mjs +50 -0
  190. package/{esm2020 → esm2022}/app/models/items/date-item.mjs +18 -18
  191. package/esm2022/app/models/items/date-range/base-date-range-item.mjs +124 -0
  192. package/{esm2020 → esm2022}/app/models/items/date-range-item.mjs +6 -6
  193. package/{esm2020 → esm2022}/app/models/items/date-time-item.mjs +9 -9
  194. package/{esm2020 → esm2022}/app/models/items/date-time-range-item.mjs +6 -6
  195. package/esm2022/app/models/items/range-item.mjs +85 -0
  196. package/esm2022/app/models/items/select/base-select-item.mjs +40 -0
  197. package/{esm2020 → esm2022}/app/models/items/select/multiple-select-item.mjs +87 -87
  198. package/{esm2020 → esm2022}/app/models/items/select/simple-select-item.mjs +65 -65
  199. package/esm2022/app/models/items/select-item.mjs +12 -0
  200. package/esm2022/app/models/items/text-item.mjs +36 -0
  201. package/esm2022/app/models/items/week-item.mjs +95 -0
  202. package/{esm2020 → esm2022}/app/pipes/remove-isolate-value.pipe.mjs +21 -21
  203. package/{esm2020 → esm2022}/app/providers/filter-meta.mjs +9 -9
  204. package/esm2022/app/services/external-params/persistance-params-controller.service.mjs +62 -0
  205. package/esm2022/app/services/external-params/query-params-controller.service.mjs +66 -0
  206. package/{esm2020 → esm2022}/app/services/external-params/saved-filters-controller.service.mjs +167 -163
  207. package/esm2022/app/services/external-params-controller.service.mjs +185 -0
  208. package/esm2022/app/services/filter-overlay.service.mjs +130 -0
  209. package/esm2022/app/services/focus-controller.service.mjs +29 -0
  210. package/esm2022/app/services/items-store.service.mjs +347 -0
  211. package/{esm2020 → esm2022}/firestitch-filter.mjs +4 -4
  212. package/{esm2020 → esm2022}/public_api.mjs +35 -35
  213. package/{fesm2020 → fesm2022}/firestitch-filter.mjs +4528 -4344
  214. package/fesm2022/firestitch-filter.mjs.map +1 -0
  215. package/index.d.ts +5 -5
  216. package/package.json +5 -11
  217. package/public_api.d.ts +40 -40
  218. package/esm2020/app/classes/actions-controller.mjs +0 -127
  219. package/esm2020/app/components/action-button/action-button.component.mjs +0 -22
  220. package/esm2020/app/components/action-kebab-actions/action-kebab-actions.component.mjs +0 -17
  221. package/esm2020/app/components/actions/actions.component.mjs +0 -42
  222. package/esm2020/app/components/filter/filter.component.mjs +0 -614
  223. package/esm2020/app/components/filter-chip/filter-chip.component.mjs +0 -86
  224. package/esm2020/app/components/filter-chip-content/filter-chip-content.component.mjs +0 -79
  225. package/esm2020/app/components/filter-chips/filter-chips.component.mjs +0 -19
  226. package/esm2020/app/components/filter-drawer/filter-drawer.component.mjs +0 -71
  227. package/esm2020/app/components/filter-drawer-actions/filter-drawer-actions.component.mjs +0 -29
  228. package/esm2020/app/components/filters-item/autocomplete/autocomplete.component.mjs +0 -27
  229. package/esm2020/app/components/filters-item/autocompletechips/autocompletechips.component.mjs +0 -42
  230. package/esm2020/app/components/filters-item/base-item/base-item.component.mjs +0 -63
  231. package/esm2020/app/components/filters-item/checkbox/checkbox.component.mjs +0 -21
  232. package/esm2020/app/components/filters-item/chips/chips.component.mjs +0 -28
  233. package/esm2020/app/components/filters-item/date/date.component.mjs +0 -43
  234. package/esm2020/app/components/filters-item/date-range/date-range.component.mjs +0 -34
  235. package/esm2020/app/components/filters-item/filter-item.component.mjs +0 -80
  236. package/esm2020/app/components/filters-item/range/range.component.mjs +0 -45
  237. package/esm2020/app/components/filters-item/select/groups/groups.component.mjs +0 -30
  238. package/esm2020/app/components/filters-item/select/multiple/multiple.component.mjs +0 -57
  239. package/esm2020/app/components/filters-item/select/select.component.mjs +0 -51
  240. package/esm2020/app/components/filters-item/select/simple/simple.component.mjs +0 -43
  241. package/esm2020/app/components/filters-item/text/text.component.mjs +0 -49
  242. package/esm2020/app/components/filters-item/week/week.component.mjs +0 -25
  243. package/esm2020/app/components/saved-filter/saved-filter-edit/saved-filter-edit.component.mjs +0 -50
  244. package/esm2020/app/components/saved-filter/saved-filter-manage/saved-filter-manage.component.mjs +0 -40
  245. package/esm2020/app/components/saved-filter/saved-filters-menu/saved-filters-menu.component.mjs +0 -57
  246. package/esm2020/app/directives/focus-to-item/focus-to-item.directive.mjs +0 -130
  247. package/esm2020/app/directives/status-bar/status-bar.directive.mjs +0 -16
  248. package/esm2020/app/enums/action-type.enum.mjs +0 -12
  249. package/esm2020/app/helpers/get-range-name.mjs +0 -9
  250. package/esm2020/app/helpers/parse-item-value-from-stored.mjs +0 -81
  251. package/esm2020/app/helpers/restore-items.mjs +0 -49
  252. package/esm2020/app/models/action-menu-item.model.mjs +0 -67
  253. package/esm2020/app/models/action.model.mjs +0 -130
  254. package/esm2020/app/models/filter-config.mjs +0 -67
  255. package/esm2020/app/models/items/autocomplete/base-autocomplete-item.mjs +0 -14
  256. package/esm2020/app/models/items/checkbox-item.mjs +0 -50
  257. package/esm2020/app/models/items/chips-item.mjs +0 -89
  258. package/esm2020/app/models/items/date/base-date-item.mjs +0 -48
  259. package/esm2020/app/models/items/date-range/base-date-range-item.mjs +0 -135
  260. package/esm2020/app/models/items/range-item.mjs +0 -83
  261. package/esm2020/app/models/items/select/base-select-item.mjs +0 -37
  262. package/esm2020/app/models/items/select-item.mjs +0 -11
  263. package/esm2020/app/models/items/text-item.mjs +0 -34
  264. package/esm2020/app/models/items/week-item.mjs +0 -94
  265. package/esm2020/app/services/external-params/persistance-params-controller.service.mjs +0 -58
  266. package/esm2020/app/services/external-params/query-params-controller.service.mjs +0 -62
  267. package/esm2020/app/services/external-params-controller.service.mjs +0 -179
  268. package/esm2020/app/services/filter-overlay.service.mjs +0 -122
  269. package/esm2020/app/services/focus-controller.service.mjs +0 -30
  270. package/esm2020/app/services/items-store.service.mjs +0 -345
  271. package/fesm2015/firestitch-filter.mjs +0 -4585
  272. package/fesm2015/firestitch-filter.mjs.map +0 -1
  273. package/fesm2020/firestitch-filter.mjs.map +0 -1
@@ -0,0 +1,46 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild, } from '@angular/core';
2
+ import { MatSelect } from '@angular/material/select';
3
+ import { SimpleSelectItem } from '../../../../models/items/select/simple-select-item';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/material/form-field";
8
+ import * as i4 from "@angular/material/select";
9
+ import * as i5 from "@angular/material/core";
10
+ import * as i6 from "@angular/material/checkbox";
11
+ import * as i7 from "@firestitch/form";
12
+ import * as i8 from "../../../../directives/focus-to-item/focus-to-item.directive";
13
+ import * as i9 from "../../../../pipes/remove-isolate-value.pipe";
14
+ export class SelectSimpleComponent {
15
+ cd;
16
+ item;
17
+ select;
18
+ constructor(cd) {
19
+ this.cd = cd;
20
+ }
21
+ changed() {
22
+ if (this.item.isolate) {
23
+ this.item.isolate.enabled = false;
24
+ }
25
+ }
26
+ isolateChange(filter) {
27
+ if (filter.isolate.enabled) {
28
+ filter.model = filter.isolate.value;
29
+ }
30
+ else {
31
+ filter.model = null;
32
+ }
33
+ }
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectSimpleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectSimpleComponent, selector: "filter-item-select-simple", inputs: { item: "item" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\">\n <mat-option *ngFor=\"let item of item.values | fsFilterIsolateValues: item.isolate\"\n [value]=\"item.value\"\n >\n {{ item.name }}\n </mat-option>\n </mat-select>\n\n <mat-hint>\n <div *ngIf=\"item.isolate\">\n <mat-checkbox (change)=\"isolateChange(item)\" [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">{{ item.isolate.label }}</span>\n </mat-checkbox>\n </div>\n </mat-hint>\n</mat-form-field>\n", styles: [".isolate{margin-bottom:25px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i7.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: i8.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }, { kind: "pipe", type: i9.FsFilterIsolateValues, name: "fsFilterIsolateValues" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectSimpleComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'filter-item-select-simple', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field [ngClass]=\"{ isolate: item.isolate }\">\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n (ngModelChange)=\"changed()\">\n <mat-option *ngFor=\"let item of item.values | fsFilterIsolateValues: item.isolate\"\n [value]=\"item.value\"\n >\n {{ item.name }}\n </mat-option>\n </mat-select>\n\n <mat-hint>\n <div *ngIf=\"item.isolate\">\n <mat-checkbox (change)=\"isolateChange(item)\" [(ngModel)]=\"item.isolate.enabled\">\n <span class=\"checkbox-label\">{{ item.isolate.label }}</span>\n </mat-checkbox>\n </div>\n </mat-hint>\n</mat-form-field>\n", styles: [".isolate{margin-bottom:25px}\n"] }]
40
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
41
+ type: Input
42
+ }], select: [{
43
+ type: ViewChild,
44
+ args: ['select', { static: true }]
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ltcGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L3NpbXBsZS9zaW1wbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3Qvc2ltcGxlL3NpbXBsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsS0FBSyxFQUNMLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7Ozs7Ozs7Ozs7O0FBU3RGLE1BQU0sT0FBTyxxQkFBcUI7SUFNYjtJQUpILElBQUksQ0FBbUI7SUFFQSxNQUFNLENBQVk7SUFFekQsWUFBbUIsRUFBcUI7UUFBckIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7SUFBRyxDQUFDO0lBRXJDLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRU0sYUFBYSxDQUFDLE1BQU07UUFFekIsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUMxQixNQUFNLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ3JDO2FBQU07WUFDTCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNILENBQUM7d0dBckJVLHFCQUFxQjs0RkFBckIscUJBQXFCLDJNQ2pCbEMseXNCQXNCQTs7NEZETGEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLDJCQUEyQixtQkFHcEIsdUJBQXVCLENBQUMsTUFBTTt3R0FJL0IsSUFBSTtzQkFBbkIsS0FBSztnQkFFaUMsTUFBTTtzQkFBNUMsU0FBUzt1QkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcbmltcG9ydCB7IFNpbXBsZVNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi8uLi9tb2RlbHMvaXRlbXMvc2VsZWN0L3NpbXBsZS1zZWxlY3QtaXRlbSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tc2VsZWN0LXNpbXBsZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaW1wbGUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaW1wbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdFNpbXBsZUNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgcHVibGljIGl0ZW06IFNpbXBsZVNlbGVjdEl0ZW07XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0JywgeyBzdGF0aWM6IHRydWUgfSkgc2VsZWN0OiBNYXRTZWxlY3Q7XG5cbiAgY29uc3RydWN0b3IocHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBwdWJsaWMgY2hhbmdlZCgpIHtcbiAgICBpZiAodGhpcy5pdGVtLmlzb2xhdGUpIHtcbiAgICAgIHRoaXMuaXRlbS5pc29sYXRlLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNvbGF0ZUNoYW5nZShmaWx0ZXIpIHtcblxuICAgIGlmIChmaWx0ZXIuaXNvbGF0ZS5lbmFibGVkKSB7XG4gICAgICBmaWx0ZXIubW9kZWwgPSBmaWx0ZXIuaXNvbGF0ZS52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmlsdGVyLm1vZGVsID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBbbmdDbGFzc109XCJ7IGlzb2xhdGU6IGl0ZW0uaXNvbGF0ZSB9XCI+XG4gIDxtYXQtbGFiZWw+e3tpdGVtLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgPG1hdC1zZWxlY3RcbiAgICAjc2VsZWN0XG4gICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgIFsobmdNb2RlbCldPVwiaXRlbS5tb2RlbFwiXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiY2hhbmdlZCgpXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbS52YWx1ZXMgfCBmc0ZpbHRlcklzb2xhdGVWYWx1ZXM6IGl0ZW0uaXNvbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIlxuICAgID5cbiAgICAgIHt7IGl0ZW0ubmFtZSB9fVxuICAgIDwvbWF0LW9wdGlvbj5cbiAgPC9tYXQtc2VsZWN0PlxuXG4gIDxtYXQtaGludD5cbiAgICA8ZGl2ICpuZ0lmPVwiaXRlbS5pc29sYXRlXCI+XG4gICAgICA8bWF0LWNoZWNrYm94IChjaGFuZ2UpPVwiaXNvbGF0ZUNoYW5nZShpdGVtKVwiIFsobmdNb2RlbCldPVwiaXRlbS5pc29sYXRlLmVuYWJsZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJjaGVja2JveC1sYWJlbFwiPnt7IGl0ZW0uaXNvbGF0ZS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuICA8L21hdC1oaW50PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -0,0 +1,51 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers, } from '@angular/core';
2
+ import { UntypedFormControl } from '@angular/forms';
3
+ import { Subject } from 'rxjs';
4
+ import { distinctUntilChanged, takeUntil, debounceTime } from 'rxjs/operators';
5
+ import { BaseItemComponent } from '../base-item/base-item.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "@angular/forms";
9
+ import * as i3 from "@angular/material/input";
10
+ import * as i4 from "@angular/material/form-field";
11
+ import * as i5 from "../../../directives/focus-to-item/focus-to-item.directive";
12
+ export class TextComponent extends BaseItemComponent {
13
+ _kvDiffers;
14
+ _cd;
15
+ textControl = new UntypedFormControl();
16
+ destroy$ = new Subject();
17
+ constructor(_kvDiffers, _cd) {
18
+ super(_kvDiffers, _cd);
19
+ this._kvDiffers = _kvDiffers;
20
+ this._cd = _cd;
21
+ }
22
+ ngOnInit() {
23
+ this._listenControlValueChanges();
24
+ this._listenModelChanges();
25
+ }
26
+ ngOnDestroy() {
27
+ this.destroy$.next();
28
+ this.destroy$.complete();
29
+ }
30
+ _listenControlValueChanges() {
31
+ this.textControl.valueChanges
32
+ .pipe(distinctUntilChanged(), debounceTime(200), takeUntil(this.destroy$))
33
+ .subscribe((value) => {
34
+ this.item.model = value;
35
+ });
36
+ }
37
+ _listenModelChanges() {
38
+ this._item.value$
39
+ .pipe(takeUntil(this.destroy$))
40
+ .subscribe(() => {
41
+ this.textControl.setValue(this.item.model, { emitEvent: false });
42
+ });
43
+ }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
45
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextComponent, selector: "filter-item-text", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <span matPrefix *ngIf=\"item.prefix\" [innerHtml]=\"item.prefix\"></span>\n <input matInput [formControl]=\"textControl\" [fsFilterFocusTrigger]=\"item\">\n <span matSuffix *ngIf=\"item.suffix\" [innerHtml]=\"item.suffix\"></span>\n</mat-form-field>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
+ }
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'filter-item-text', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <span matPrefix *ngIf=\"item.prefix\" [innerHtml]=\"item.prefix\"></span>\n <input matInput [formControl]=\"textControl\" [fsFilterFocusTrigger]=\"item\">\n <span matSuffix *ngIf=\"item.suffix\" [innerHtml]=\"item.suffix\"></span>\n</mat-form-field>\n" }]
50
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3RleHQvdGV4dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3RleHQvdGV4dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxHQUdoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7QUFVckUsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBMkI7SUFNaEQ7SUFDQTtJQUxMLFdBQVcsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7SUFDdkMsUUFBUSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFFaEMsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFHbEMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVk7YUFDMUIsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFDakIsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDMUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTthQUNkLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQzt3R0ExQ1UsYUFBYTs0RkFBYixhQUFhLCtFQ3ZCMUIsNFRBTUE7OzRGRGlCYSxhQUFhO2tCQU56QixTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEtleVZhbHVlRGlmZmVycyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsLCBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1pdGVtL2Jhc2UtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVGV4dEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvdGV4dC1pdGVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS10ZXh0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90ZXh0LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8VGV4dEl0ZW0+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyB0ZXh0Q29udHJvbCA9IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woKTtcbiAgcHVibGljIGRlc3Ryb3kkID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fbGlzdGVuQ29udHJvbFZhbHVlQ2hhbmdlcygpO1xuICAgIHRoaXMuX2xpc3Rlbk1vZGVsQ2hhbmdlcygpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3RlbkNvbnRyb2xWYWx1ZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50ZXh0Q29udHJvbC52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICBkZWJvdW5jZVRpbWUoMjAwKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtLm1vZGVsID0gdmFsdWU7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2xpc3Rlbk1vZGVsQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9pdGVtLnZhbHVlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRleHRDb250cm9sLnNldFZhbHVlKHRoaXMuaXRlbS5tb2RlbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgICAgfSlcbiAgfVxuXG59XG4iLCI8bWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtbGFiZWw+e3tpdGVtLmxhYmVsfX08L21hdC1sYWJlbD5cbiAgPHNwYW4gbWF0UHJlZml4ICpuZ0lmPVwiaXRlbS5wcmVmaXhcIiBbaW5uZXJIdG1sXT1cIml0ZW0ucHJlZml4XCI+PC9zcGFuPlxuICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cInRleHRDb250cm9sXCIgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIj5cbiAgPHNwYW4gbWF0U3VmZml4ICpuZ0lmPVwiaXRlbS5zdWZmaXhcIiBbaW5uZXJIdG1sXT1cIml0ZW0uc3VmZml4XCI+PC9zcGFuPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -0,0 +1,26 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
2
+ import { BaseItemComponent } from '../base-item/base-item.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "@angular/material/input";
6
+ import * as i3 from "@angular/material/form-field";
7
+ import * as i4 from "@firestitch/datepicker";
8
+ import * as i5 from "@firestitch/form";
9
+ import * as i6 from "../../../directives/focus-to-item/focus-to-item.directive";
10
+ export class WeekComponent extends BaseItemComponent {
11
+ _kvDiffers;
12
+ _cd;
13
+ constructor(_kvDiffers, _cd) {
14
+ super(_kvDiffers, _cd);
15
+ this._kvDiffers = _kvDiffers;
16
+ this._cd = _cd;
17
+ }
18
+ ngOnInit() { }
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WeekComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: WeekComponent, selector: "filter-item-week", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <input \n matInput\n fsDateWeekPicker\n [placeholder]=\"item.label\"\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [seedDate]=\"item.seedDate\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "component", type: i4.FsDateWeekPickerComponent, selector: "[fsDateWeekPicker]", inputs: ["minYear", "maxYear", "minDate", "maxDate", "seedDate", "period", "view"], outputs: ["change"] }, { kind: "directive", type: i5.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: i6.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
21
+ }
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: WeekComponent, decorators: [{
23
+ type: Component,
24
+ args: [{ selector: 'filter-item-week', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <input \n matInput\n fsDateWeekPicker\n [placeholder]=\"item.label\"\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [seedDate]=\"item.seedDate\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n</mat-form-field>\n" }]
25
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3dlZWsvd2Vlay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3dlZWsvd2Vlay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUVoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFTckUsTUFBTSxPQUFPLGFBQWMsU0FBUSxpQkFBMkI7SUFHaEQ7SUFDQTtJQUZaLFlBQ1ksVUFBMkIsRUFDM0IsR0FBc0I7UUFFaEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUhiLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBR2xDLENBQUM7SUFFTSxRQUFRLEtBQUksQ0FBQzt3R0FUVCxhQUFhOzRGQUFiLGFBQWEsK0VDaEIxQixtVUFZQTs7NEZESWEsYUFBYTtrQkFMekIsU0FBUzsrQkFDRSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJhc2VJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1pdGVtL2Jhc2UtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2Vla0l0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS13ZWVrJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dlZWsuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgV2Vla0NvbXBvbmVudCBleHRlbmRzIEJhc2VJdGVtQ29tcG9uZW50PFdlZWtJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9rdkRpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcbiAgICBwcm90ZWN0ZWQgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihfa3ZEaWZmZXJzLCBfY2QpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCkge31cbn1cbiIsIjxtYXQtZm9ybS1maWVsZD5cbiAgPG1hdC1sYWJlbD57e2l0ZW0ubGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgXG4gICAgbWF0SW5wdXRcbiAgICBmc0RhdGVXZWVrUGlja2VyXG4gICAgW3BsYWNlaG9sZGVyXT1cIml0ZW0ubGFiZWxcIlxuICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICBbKG5nTW9kZWwpXT1cIml0ZW0ubW9kZWxcIlxuICAgIFtzZWVkRGF0ZV09XCJpdGVtLnNlZWREYXRlXCJcbiAgICBbY2xlYXJdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICAgIFtuYW1lXT1cIml0ZW0ubmFtZVwiPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './saved-filter-edit';
2
- export * from './saved-filter-manage';
3
- export * from './saved-filters-menu';
1
+ export * from './saved-filter-edit';
2
+ export * from './saved-filter-manage';
3
+ export * from './saved-filters-menu';
4
4
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYXZlZC1maWx0ZXItZWRpdCc7XG5leHBvcnQgKiBmcm9tICcuL3NhdmVkLWZpbHRlci1tYW5hZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zYXZlZC1maWx0ZXJzLW1lbnUnO1xuIl19
@@ -1,2 +1,2 @@
1
- export * from './saved-filter-edit.component';
1
+ export * from './saved-filter-edit.component';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlci1lZGl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NhdmVkLWZpbHRlci1lZGl0LmNvbXBvbmVudCc7XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { ChangeDetectionStrategy, Component, Inject, } from '@angular/core';
2
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil, tap } from 'rxjs/operators';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/material/dialog";
7
+ import * as i2 from "@angular/common";
8
+ import * as i3 from "@angular/forms";
9
+ import * as i4 from "@angular/material/input";
10
+ import * as i5 from "@angular/material/form-field";
11
+ import * as i6 from "@angular/material/select";
12
+ import * as i7 from "@angular/material/core";
13
+ import * as i8 from "@angular/material/button";
14
+ import * as i9 from "@firestitch/form";
15
+ export class FsFilterSavedFilterEditComponent {
16
+ data;
17
+ _dialogRef;
18
+ filterParams;
19
+ saveAsFilter = 'new';
20
+ savedFilters;
21
+ savedFilterName = '';
22
+ _saveCallback;
23
+ _destroy$ = new Subject();
24
+ constructor(data, _dialogRef) {
25
+ this.data = data;
26
+ this._dialogRef = _dialogRef;
27
+ this.savedFilters = this.data.savedFilters;
28
+ this._saveCallback = this.data.saveCallback;
29
+ }
30
+ save = () => {
31
+ const savedFilter = this.saveAsFilter === 'new' ?
32
+ {
33
+ name: this.savedFilterName,
34
+ active: true,
35
+ filters: this.data.params,
36
+ } : {
37
+ ...this.saveAsFilter,
38
+ filters: this.data.params,
39
+ };
40
+ return this._saveCallback(savedFilter)
41
+ .pipe(tap((filter) => {
42
+ this._dialogRef.close(filter);
43
+ }), takeUntil(this._destroy$));
44
+ };
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterSavedFilterEditComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFilterSavedFilterEditComponent, selector: "ng-component", ngImport: i0, template: "<form fsForm [submit]=\"save\">\n <h1 mat-dialog-title>\n Save filter\n </h1>\n <div mat-dialog-content>\n <mat-form-field>\n <mat-label>Save as</mat-label>\n <mat-select [(ngModel)]=\"saveAsFilter\" name=\"saveAs\">\n <mat-option value=\"new\">New filter</mat-option>\n <ng-container *ngIf=\"savedFilters.length\">\n <mat-optgroup label=\"Saved filters\">\n <ng-container *ngFor=\"let filter of savedFilters\">\n <mat-option [value]=\"filter\">{{ filter.name }}</mat-option>\n </ng-container>\n </mat-optgroup>\n </ng-container>\n </mat-select>\n </mat-form-field>\n <br>\n <mat-form-field *ngIf=\"saveAsFilter === 'new'\">\n <mat-label>Name</mat-label>\n <input matInput name=\"filter-name\" [(ngModel)]=\"savedFilterName\" required>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button \n mat-button\n type=\"submit\"\n color=\"primary\">\n {{ saveAsFilter === 'new' ? 'Create' : 'Save' }}\n </button>\n\n <button \n mat-button\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </div>\n</form>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "component", type: i6.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i9.FsFormDirective, selector: "[fsForm]", inputs: ["wrapperSelector", "messageSelector", "hintSelector", "labelSelector", "autocomplete", "shortcuts", "confirm", "confirmDialog", "confirmDrawer", "confirmBrowser", "confirmTabs", "dirtySubmitButton", "submit", "successDelay", "errorDelay", "tabGroup", "deactivationGuard"], outputs: ["fsForm", "invalid", "valid", "submitted", "reseted", "cleared"], exportAs: ["fsForm"] }, { kind: "directive", type: i9.FsFormRequiredDirective, selector: "[fsFormRequired],[ngModel][required]", inputs: ["fsFormRequired", "required", "fsFormRequiredMessage"] }, { kind: "directive", type: i9.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "directive", type: i9.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterSavedFilterEditComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<form fsForm [submit]=\"save\">\n <h1 mat-dialog-title>\n Save filter\n </h1>\n <div mat-dialog-content>\n <mat-form-field>\n <mat-label>Save as</mat-label>\n <mat-select [(ngModel)]=\"saveAsFilter\" name=\"saveAs\">\n <mat-option value=\"new\">New filter</mat-option>\n <ng-container *ngIf=\"savedFilters.length\">\n <mat-optgroup label=\"Saved filters\">\n <ng-container *ngFor=\"let filter of savedFilters\">\n <mat-option [value]=\"filter\">{{ filter.name }}</mat-option>\n </ng-container>\n </mat-optgroup>\n </ng-container>\n </mat-select>\n </mat-form-field>\n <br>\n <mat-form-field *ngIf=\"saveAsFilter === 'new'\">\n <mat-label>Name</mat-label>\n <input matInput name=\"filter-name\" [(ngModel)]=\"savedFilterName\" required>\n </mat-form-field>\n </div>\n <div mat-dialog-actions>\n <button \n mat-button\n type=\"submit\"\n color=\"primary\">\n {{ saveAsFilter === 'new' ? 'Create' : 'Save' }}\n </button>\n\n <button \n mat-button\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Cancel\n </button>\n </div>\n</form>\n" }]
51
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
52
+ type: Inject,
53
+ args: [MAT_DIALOG_DATA]
54
+ }] }, { type: i1.MatDialogRef }]; } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVyLWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3NhdmVkLWZpbHRlci9zYXZlZC1maWx0ZXItZWRpdC9zYXZlZC1maWx0ZXItZWRpdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlci1lZGl0L3NhdmVkLWZpbHRlci1lZGl0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFhaEQsTUFBTSxPQUFPLGdDQUFnQztJQVdUO0lBQ3hCO0lBVkgsWUFBWSxDQUF3QjtJQUNwQyxZQUFZLEdBQStCLEtBQUssQ0FBQztJQUNqRCxZQUFZLENBQXVCO0lBQ25DLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFFcEIsYUFBYSxDQUFtQjtJQUNoQyxTQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUV4QyxZQUNrQyxJQUFJLEVBQzVCLFVBQTBEO1FBRGxDLFNBQUksR0FBSixJQUFJLENBQUE7UUFDNUIsZUFBVSxHQUFWLFVBQVUsQ0FBZ0Q7UUFFbEUsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzlDLENBQUM7SUFFTSxJQUFJLEdBQUcsR0FBRyxFQUFFO1FBQ2pCLE1BQU0sV0FBVyxHQUF1QixJQUFJLENBQUMsWUFBWSxLQUFLLEtBQUssQ0FBQyxDQUFDO1lBQ25FO2dCQUNFLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZTtnQkFDMUIsTUFBTSxFQUFFLElBQUk7Z0JBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTthQUMxQixDQUFDLENBQUMsQ0FBQztZQUNGLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTTtTQUMxQixDQUFDO1FBRUosT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQzthQUNuQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDO0lBQ04sQ0FBQyxDQUFDO3dHQXBDUyxnQ0FBZ0Msa0JBV2pDLGVBQWU7NEZBWGQsZ0NBQWdDLG9EQ3RCN0Msc3NDQXdDQTs7NEZEbEJhLGdDQUFnQztrQkFKNUMsU0FBUztzQ0FFUyx1QkFBdUIsQ0FBQyxNQUFNOzswQkFhNUMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSUZpbHRlckV4dGVybmFsUGFyYW1zIH0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9leHRlcm5hbC1wYXJhbXMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIEZpbHRlclJlbW90ZVNhdmUsXG4gIElGaWx0ZXJTYXZlZEZpbHRlcixcbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcy9zYXZlZC1maWx0ZXJzLmludGVyZmFjZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9zYXZlZC1maWx0ZXItZWRpdC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGc0ZpbHRlclNhdmVkRmlsdGVyRWRpdENvbXBvbmVudCB7XG5cbiAgcHVibGljIGZpbHRlclBhcmFtczogSUZpbHRlckV4dGVybmFsUGFyYW1zO1xuICBwdWJsaWMgc2F2ZUFzRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIgfCAnbmV3JyA9ICduZXcnO1xuICBwdWJsaWMgc2F2ZWRGaWx0ZXJzOiBJRmlsdGVyU2F2ZWRGaWx0ZXJbXTtcbiAgcHVibGljIHNhdmVkRmlsdGVyTmFtZSA9ICcnO1xuXG4gIHByaXZhdGUgX3NhdmVDYWxsYmFjazogRmlsdGVyUmVtb3RlU2F2ZTtcbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSxcbiAgICBwcml2YXRlIF9kaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxGc0ZpbHRlclNhdmVkRmlsdGVyRWRpdENvbXBvbmVudD4sXG4gICkge1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gdGhpcy5kYXRhLnNhdmVkRmlsdGVycztcbiAgICB0aGlzLl9zYXZlQ2FsbGJhY2sgPSB0aGlzLmRhdGEuc2F2ZUNhbGxiYWNrO1xuICB9XG5cbiAgcHVibGljIHNhdmUgPSAoKSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRGaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlciA9IHRoaXMuc2F2ZUFzRmlsdGVyID09PSAnbmV3JyA/IFxuICAgICAge1xuICAgICAgICBuYW1lOiB0aGlzLnNhdmVkRmlsdGVyTmFtZSxcbiAgICAgICAgYWN0aXZlOiB0cnVlLFxuICAgICAgICBmaWx0ZXJzOiB0aGlzLmRhdGEucGFyYW1zLFxuICAgICAgfSA6IHtcbiAgICAgICAgLi4udGhpcy5zYXZlQXNGaWx0ZXIsXG4gICAgICAgIGZpbHRlcnM6IHRoaXMuZGF0YS5wYXJhbXMsXG4gICAgICB9O1xuXG4gICAgcmV0dXJuIHRoaXMuX3NhdmVDYWxsYmFjayhzYXZlZEZpbHRlcilcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKGZpbHRlcikgPT4ge1xuICAgICAgICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZShmaWx0ZXIpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgICk7XG4gIH07XG5cbn1cbiIsIjxmb3JtIGZzRm9ybSBbc3VibWl0XT1cInNhdmVcIj5cbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+XG4gICAgU2F2ZSBmaWx0ZXJcbiAgPC9oMT5cbiAgPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC1mb3JtLWZpZWxkPlxuICAgICAgPG1hdC1sYWJlbD5TYXZlIGFzPC9tYXQtbGFiZWw+XG4gICAgICA8bWF0LXNlbGVjdCBbKG5nTW9kZWwpXT1cInNhdmVBc0ZpbHRlclwiIG5hbWU9XCJzYXZlQXNcIj5cbiAgICAgICAgPG1hdC1vcHRpb24gdmFsdWU9XCJuZXdcIj5OZXcgZmlsdGVyPC9tYXQtb3B0aW9uPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2F2ZWRGaWx0ZXJzLmxlbmd0aFwiPlxuICAgICAgICAgIDxtYXQtb3B0Z3JvdXAgbGFiZWw9XCJTYXZlZCBmaWx0ZXJzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBmaWx0ZXIgb2Ygc2F2ZWRGaWx0ZXJzXCI+XG4gICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJmaWx0ZXJcIj57eyBmaWx0ZXIubmFtZSB9fTwvbWF0LW9wdGlvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDxicj5cbiAgICA8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJzYXZlQXNGaWx0ZXIgPT09ICduZXcnXCI+XG4gICAgICA8bWF0LWxhYmVsPk5hbWU8L21hdC1sYWJlbD5cbiAgICAgIDxpbnB1dCBtYXRJbnB1dCBuYW1lPVwiZmlsdGVyLW5hbWVcIiBbKG5nTW9kZWwpXT1cInNhdmVkRmlsdGVyTmFtZVwiIHJlcXVpcmVkPlxuICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDwvZGl2PlxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICA8YnV0dG9uIFxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBjb2xvcj1cInByaW1hcnlcIj5cbiAgICAgIHt7IHNhdmVBc0ZpbHRlciA9PT0gJ25ldycgPyAnQ3JlYXRlJyA6ICdTYXZlJyB9fVxuICAgIDwvYnV0dG9uPlxuXG4gICAgPGJ1dHRvbiBcbiAgICAgICAgbWF0LWJ1dHRvblxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiPlxuICAgICAgQ2FuY2VsXG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
@@ -1,2 +1,2 @@
1
- export * from './saved-filter-manage.component';
1
+ export * from './saved-filter-manage.component';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlci1tYW5hZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2F2ZWQtZmlsdGVyLW1hbmFnZS5jb21wb25lbnQnO1xuIl19
@@ -0,0 +1,45 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, } from '@angular/core';
2
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
3
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/cdk/drag-drop";
7
+ import * as i3 from "@angular/material/button";
8
+ import * as i4 from "@angular/material/dialog";
9
+ import * as i5 from "@firestitch/chip";
10
+ import * as i6 from "@firestitch/form";
11
+ export class FsFilterSavedFilterManageComponent {
12
+ data;
13
+ _cdRef;
14
+ savedFilters;
15
+ _savedFiltersController;
16
+ _filterRemoteOrder;
17
+ constructor(data, _cdRef) {
18
+ this.data = data;
19
+ this._cdRef = _cdRef;
20
+ this._savedFiltersController = this.data.savedFiltersController;
21
+ this.savedFilters = [...this._savedFiltersController.savedFilters];
22
+ }
23
+ remove(savedFilter) {
24
+ this._savedFiltersController.delete(savedFilter)
25
+ .subscribe(() => {
26
+ this.savedFilters = [...this._savedFiltersController.savedFilters];
27
+ this._cdRef.markForCheck();
28
+ });
29
+ }
30
+ drop(event) {
31
+ moveItemInArray(this.savedFilters, event.previousIndex, event.currentIndex);
32
+ this._savedFiltersController.order(this.savedFilters)
33
+ .subscribe();
34
+ }
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterSavedFilterManageComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsFilterSavedFilterManageComponent, selector: "ng-component", ngImport: i0, template: "<h1 mat-dialog-title>\n Manage saved filters\n</h1>\n<div mat-dialog-content>\n <div\n cdkDropList \n [cdkDropListData]=\"savedFilters\"\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"> \n <ng-container \n *ngFor=\"let savedFilter of savedFilters\">\n <div class=\"chip-container\">\n <fs-chip \n class=\"saved-filter-manage-chip\"\n cdkDrag\n (removed)=\"remove(savedFilter)\">\n {{savedFilter.name}}\n </fs-chip>\n </div>\n </ng-container>\n </div>\n</div>\n<div mat-dialog-actions>\n <button \n mat-button\n color=\"primary\"\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n</div>\n", styles: [".chip-container{padding:5px 0}::ng-deep fs-chip.saved-filter-manage-chip{cursor:move;width:100%;box-sizing:border-box}::ng-deep fs-chip.saved-filter-manage-chip .fs-chip-content{flex:1}.cdk-drag-preview{box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i5.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "value", "icon", "image", "selected", "size", "backgroundColor", "borderColor", "color", "outlined"], outputs: ["selectedToggled", "removed"] }, { kind: "directive", type: i6.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsFilterSavedFilterManageComponent, decorators: [{
39
+ type: Component,
40
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, template: "<h1 mat-dialog-title>\n Manage saved filters\n</h1>\n<div mat-dialog-content>\n <div\n cdkDropList \n [cdkDropListData]=\"savedFilters\"\n cdkDropListOrientation=\"vertical\"\n (cdkDropListDropped)=\"drop($event)\"> \n <ng-container \n *ngFor=\"let savedFilter of savedFilters\">\n <div class=\"chip-container\">\n <fs-chip \n class=\"saved-filter-manage-chip\"\n cdkDrag\n (removed)=\"remove(savedFilter)\">\n {{savedFilter.name}}\n </fs-chip>\n </div>\n </ng-container>\n </div>\n</div>\n<div mat-dialog-actions>\n <button \n mat-button\n color=\"primary\"\n type=\"button\"\n [mat-dialog-close]=\"null\">\n Done\n </button>\n</div>\n", styles: [".chip-container{padding:5px 0}::ng-deep fs-chip.saved-filter-manage-chip{cursor:move;width:100%;box-sizing:border-box}::ng-deep fs-chip.saved-filter-manage-chip .fs-chip-content{flex:1}.cdk-drag-preview{box-sizing:border-box}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-box:last-child{border:none}.example-list.cdk-drop-list-dragging .example-box:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
41
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
42
+ type: Inject,
43
+ args: [MAT_DIALOG_DATA]
44
+ }] }, { type: i0.ChangeDetectorRef }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVyLW1hbmFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlci1tYW5hZ2Uvc2F2ZWQtZmlsdGVyLW1hbmFnZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlci1tYW5hZ2Uvc2F2ZWQtZmlsdGVyLW1hbmFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBVzNELE1BQU0sT0FBTyxrQ0FBa0M7SUFRWDtJQUN4QjtJQVBILFlBQVksQ0FBdUI7SUFFbEMsdUJBQXVCLENBQXlCO0lBQ2hELGtCQUFrQixDQUFvQjtJQUU5QyxZQUNrQyxJQUFJLEVBQzVCLE1BQXlCO1FBREQsU0FBSSxHQUFKLElBQUksQ0FBQTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUVqQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztRQUNoRSxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUErQjtRQUMzQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQzthQUM3QyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQXlCO1FBQ25DLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTVFLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUNsRCxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO3dHQTVCVSxrQ0FBa0Msa0JBUW5DLGVBQWU7NEZBUmQsa0NBQWtDLG9EQ25CL0MsOHZCQStCQTs7NEZEWmEsa0NBQWtDO2tCQUw5QyxTQUFTO3NDQUdTLHVCQUF1QixDQUFDLE1BQU07OzBCQVU1QyxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ2RrRHJhZ0Ryb3AsIG1vdmVJdGVtSW5BcnJheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgRmlsdGVyUmVtb3RlT3JkZXIsIElGaWx0ZXJTYXZlZEZpbHRlciB9IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMvc2F2ZWQtZmlsdGVycy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9zYXZlZC1maWx0ZXJzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnLi9zYXZlZC1maWx0ZXItbWFuYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2F2ZWQtZmlsdGVyLW1hbmFnZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNGaWx0ZXJTYXZlZEZpbHRlck1hbmFnZUNvbXBvbmVudCB7XG5cbiAgcHVibGljIHNhdmVkRmlsdGVyczogSUZpbHRlclNhdmVkRmlsdGVyW107XG5cbiAgcHJpdmF0ZSBfc2F2ZWRGaWx0ZXJzQ29udHJvbGxlcjogU2F2ZWRGaWx0ZXJzQ29udHJvbGxlcjtcbiAgcHJpdmF0ZSBfZmlsdGVyUmVtb3RlT3JkZXI6IEZpbHRlclJlbW90ZU9yZGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YSxcbiAgICBwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICAgIHRoaXMuX3NhdmVkRmlsdGVyc0NvbnRyb2xsZXIgPSB0aGlzLmRhdGEuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlcjtcbiAgICB0aGlzLnNhdmVkRmlsdGVycyA9IFsuLi50aGlzLl9zYXZlZEZpbHRlcnNDb250cm9sbGVyLnNhdmVkRmlsdGVyc107XG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKHNhdmVkRmlsdGVyOiBJRmlsdGVyU2F2ZWRGaWx0ZXIpIHtcbiAgICB0aGlzLl9zYXZlZEZpbHRlcnNDb250cm9sbGVyLmRlbGV0ZShzYXZlZEZpbHRlcilcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNhdmVkRmlsdGVycyA9IFsuLi50aGlzLl9zYXZlZEZpbHRlcnNDb250cm9sbGVyLnNhdmVkRmlsdGVyc107XG4gICAgICAgIHRoaXMuX2NkUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZHJvcChldmVudDogQ2RrRHJhZ0Ryb3A8YW55W10+KSB7XG4gICAgbW92ZUl0ZW1JbkFycmF5KHRoaXMuc2F2ZWRGaWx0ZXJzLCBldmVudC5wcmV2aW91c0luZGV4LCBldmVudC5jdXJyZW50SW5kZXgpO1xuXG4gICAgdGhpcy5fc2F2ZWRGaWx0ZXJzQ29udHJvbGxlci5vcmRlcih0aGlzLnNhdmVkRmlsdGVycylcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG59XG4iLCI8aDEgbWF0LWRpYWxvZy10aXRsZT5cbiAgTWFuYWdlIHNhdmVkIGZpbHRlcnNcbjwvaDE+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cbiAgPGRpdlxuICAgICAgY2RrRHJvcExpc3QgXG4gICAgICBbY2RrRHJvcExpc3REYXRhXT1cInNhdmVkRmlsdGVyc1wiXG4gICAgICBjZGtEcm9wTGlzdE9yaWVudGF0aW9uPVwidmVydGljYWxcIlxuICAgICAgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIj4gIFxuICAgIDxuZy1jb250YWluZXIgXG4gICAgICAgICpuZ0Zvcj1cImxldCBzYXZlZEZpbHRlciBvZiBzYXZlZEZpbHRlcnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjaGlwLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZnMtY2hpcCBcbiAgICAgICAgICAgIGNsYXNzPVwic2F2ZWQtZmlsdGVyLW1hbmFnZS1jaGlwXCJcbiAgICAgICAgICAgIGNka0RyYWdcbiAgICAgICAgICAgIChyZW1vdmVkKT1cInJlbW92ZShzYXZlZEZpbHRlcilcIj5cbiAgICAgICAgICB7e3NhdmVkRmlsdGVyLm5hbWV9fVxuICAgICAgICA8L2ZzLWNoaXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zPlxuICA8YnV0dG9uIFxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwibnVsbFwiPlxuICAgIERvbmVcbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export * from './saved-filters-menu.component';
1
+ export * from './saved-filters-menu.component';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlcnMtbWVudS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zYXZlZC1maWx0ZXJzLW1lbnUuY29tcG9uZW50JztcbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Output, } from '@angular/core';
2
+ import { MatDialog } from '@angular/material/dialog';
3
+ import { ExternalParamsController } from '../../../services/external-params-controller.service';
4
+ import { SavedFiltersController } from '../../../services/external-params/saved-filters-controller.service';
5
+ import { FsFilterItemsStore } from '../../../services/items-store.service';
6
+ import { FsFilterSavedFilterManageComponent } from '../saved-filter-manage';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../services/items-store.service";
9
+ import * as i2 from "../../../services/external-params-controller.service";
10
+ import * as i3 from "../../../services/external-params/saved-filters-controller.service";
11
+ import * as i4 from "@angular/material/dialog";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "@firestitch/menu";
14
+ export class FsSavedFiltersMenuComponent {
15
+ _itemsStore;
16
+ _externalParams;
17
+ _savedFilters;
18
+ _dialog;
19
+ clear = new EventEmitter();
20
+ constructor(_itemsStore, _externalParams, _savedFilters, _dialog) {
21
+ this._itemsStore = _itemsStore;
22
+ this._externalParams = _externalParams;
23
+ this._savedFilters = _savedFilters;
24
+ this._dialog = _dialog;
25
+ }
26
+ get filters$() {
27
+ return this._savedFilters.savedFilters$;
28
+ }
29
+ get activeFilter$() {
30
+ return this._savedFilters.activeFilter$;
31
+ }
32
+ selectFilter(savedFilter) {
33
+ this._externalParams.setActiveSavedFilter(savedFilter);
34
+ }
35
+ removeActiveFilter() {
36
+ this._itemsStore.filtersClear();
37
+ this._externalParams.setActiveSavedFilter(null);
38
+ this.clear.emit();
39
+ }
40
+ saveFilters() {
41
+ this._externalParams
42
+ .savedFiltersController
43
+ .openSavedFilterEditDialog();
44
+ }
45
+ manageFilters() {
46
+ this._dialog.open(FsFilterSavedFilterManageComponent, {
47
+ data: {
48
+ savedFiltersController: this._savedFilters,
49
+ },
50
+ });
51
+ }
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsSavedFiltersMenuComponent, deps: [{ token: i1.FsFilterItemsStore }, { token: i2.ExternalParamsController }, { token: i3.SavedFiltersController }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FsSavedFiltersMenuComponent, selector: "fs-filter-saved-filters-menu", outputs: { clear: "clear" }, ngImport: i0, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'None' }}</a>\n\n<fs-menu #menu>\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n <ng-container *ngIf=\"(filters$ | async).length !==0\">\n <ng-container *ngFor=\"let filter of filters$ | async\">\n <ng-template fs-menu-item (click)=\"selectFilter(filter)\">\n {{ filter.name }}\n </ng-template>\n </ng-container>\n <ng-template fs-menu-divider-item></ng-template>\n </ng-container>\n\n <ng-template \n fs-menu-item \n (click)=\"saveFilters()\">\n Save\n </ng-template>\n \n <ng-template \n fs-menu-item \n (click)=\"manageFilters()\">\n Manage\n </ng-template>\n</fs-menu>\n", styles: [":host ::ng-deep .selector{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i6.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i6.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i6.FsMenuDividerItemDirective, selector: "[fs-menu-divider-item]" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FsSavedFiltersMenuComponent, decorators: [{
56
+ type: Component,
57
+ args: [{ selector: 'fs-filter-saved-filters-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a [fsMenuTriggerFor]=\"menu\" class=\"selector\">{{ (activeFilter$ | async)?.name || 'None' }}</a>\n\n<fs-menu #menu>\n <ng-template fs-menu-item (click)=\"removeActiveFilter()\">\n None\n </ng-template>\n <ng-container *ngIf=\"(filters$ | async).length !==0\">\n <ng-container *ngFor=\"let filter of filters$ | async\">\n <ng-template fs-menu-item (click)=\"selectFilter(filter)\">\n {{ filter.name }}\n </ng-template>\n </ng-container>\n <ng-template fs-menu-divider-item></ng-template>\n </ng-container>\n\n <ng-template \n fs-menu-item \n (click)=\"saveFilters()\">\n Save\n </ng-template>\n \n <ng-template \n fs-menu-item \n (click)=\"manageFilters()\">\n Manage\n </ng-template>\n</fs-menu>\n", styles: [":host ::ng-deep .selector{cursor:pointer}\n"] }]
58
+ }], ctorParameters: function () { return [{ type: i1.FsFilterItemsStore }, { type: i2.ExternalParamsController }, { type: i3.SavedFiltersController }, { type: i4.MatDialog }]; }, propDecorators: { clear: [{
59
+ type: Output
60
+ }] } });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZWQtZmlsdGVycy1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9zYXZlZC1maWx0ZXIvc2F2ZWQtZmlsdGVycy1tZW51L3NhdmVkLWZpbHRlcnMtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlcnMtbWVudS9zYXZlZC1maWx0ZXJzLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFLckQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDaEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sb0VBQW9FLENBQUM7QUFDNUcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7Ozs7O0FBUzVFLE1BQU0sT0FBTywyQkFBMkI7SUFNNUI7SUFDQTtJQUNBO0lBQ0E7SUFOSCxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUV4QyxZQUNVLFdBQStCLEVBQy9CLGVBQXlDLEVBQ3pDLGFBQXFDLEVBQ3JDLE9BQWtCO1FBSGxCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixvQkFBZSxHQUFmLGVBQWUsQ0FBMEI7UUFDekMsa0JBQWEsR0FBYixhQUFhLENBQXdCO1FBQ3JDLFlBQU8sR0FBUCxPQUFPLENBQVc7SUFDekIsQ0FBQztJQUVKLElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQzFDLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxDQUFDO0lBRU0sWUFBWSxDQUFDLFdBQStCO1FBQ2pELElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxlQUFlLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZTthQUNqQixzQkFBc0I7YUFDdEIseUJBQXlCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBR00sYUFBYTtRQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRTtZQUNwRCxJQUFJLEVBQUU7Z0JBQ0osc0JBQXNCLEVBQUUsSUFBSSxDQUFDLGFBQWE7YUFDM0M7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQTVDVSwyQkFBMkI7NEZBQTNCLDJCQUEyQixpR0N4QnhDLDh2QkEyQkE7OzRGREhhLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSw4QkFBOEIsbUJBR3ZCLHVCQUF1QixDQUFDLE1BQU07Nk1BS3hDLEtBQUs7c0JBRFgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBJRmlsdGVyU2F2ZWRGaWx0ZXIgfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcbmltcG9ydCB7IEV4dGVybmFsUGFyYW1zQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2F2ZWRGaWx0ZXJzQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2V4dGVybmFsLXBhcmFtcy9zYXZlZC1maWx0ZXJzLWNvbnRyb2xsZXIuc2VydmljZSc7XG5pbXBvcnQgeyBGc0ZpbHRlckl0ZW1zU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9pdGVtcy1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IEZzRmlsdGVyU2F2ZWRGaWx0ZXJNYW5hZ2VDb21wb25lbnQgfSBmcm9tICcuLi9zYXZlZC1maWx0ZXItbWFuYWdlJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmcy1maWx0ZXItc2F2ZWQtZmlsdGVycy1tZW51JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NhdmVkLWZpbHRlcnMtbWVudS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NhdmVkLWZpbHRlcnMtbWVudS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRnNTYXZlZEZpbHRlcnNNZW51Q29tcG9uZW50IHtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsZWFyID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2l0ZW1zU3RvcmU6IEZzRmlsdGVySXRlbXNTdG9yZSxcbiAgICBwcml2YXRlIF9leHRlcm5hbFBhcmFtczogRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyLFxuICAgIHByaXZhdGUgX3NhdmVkRmlsdGVyczogU2F2ZWRGaWx0ZXJzQ29udHJvbGxlcixcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcbiAgKSB7fVxuXG4gIHB1YmxpYyBnZXQgZmlsdGVycyQoKTogT2JzZXJ2YWJsZTxJRmlsdGVyU2F2ZWRGaWx0ZXJbXT4ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnMuc2F2ZWRGaWx0ZXJzJDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgYWN0aXZlRmlsdGVyJCgpOiBPYnNlcnZhYmxlPElGaWx0ZXJTYXZlZEZpbHRlcj4ge1xuICAgIHJldHVybiB0aGlzLl9zYXZlZEZpbHRlcnMuYWN0aXZlRmlsdGVyJDtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RGaWx0ZXIoc2F2ZWRGaWx0ZXI6IElGaWx0ZXJTYXZlZEZpbHRlcik6IHZvaWQge1xuICAgIHRoaXMuX2V4dGVybmFsUGFyYW1zLnNldEFjdGl2ZVNhdmVkRmlsdGVyKHNhdmVkRmlsdGVyKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVBY3RpdmVGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5faXRlbXNTdG9yZS5maWx0ZXJzQ2xlYXIoKTtcbiAgICB0aGlzLl9leHRlcm5hbFBhcmFtcy5zZXRBY3RpdmVTYXZlZEZpbHRlcihudWxsKTtcblxuICAgIHRoaXMuY2xlYXIuZW1pdCgpO1xuICB9XG5cbiAgcHVibGljIHNhdmVGaWx0ZXJzKCkge1xuICAgIHRoaXMuX2V4dGVybmFsUGFyYW1zXG4gICAgICAuc2F2ZWRGaWx0ZXJzQ29udHJvbGxlclxuICAgICAgLm9wZW5TYXZlZEZpbHRlckVkaXREaWFsb2coKTtcbiAgfVxuXG5cbiAgcHVibGljIG1hbmFnZUZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5fZGlhbG9nLm9wZW4oRnNGaWx0ZXJTYXZlZEZpbHRlck1hbmFnZUNvbXBvbmVudCwge1xuICAgICAgZGF0YToge1xuICAgICAgICBzYXZlZEZpbHRlcnNDb250cm9sbGVyOiB0aGlzLl9zYXZlZEZpbHRlcnMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iLCI8YSBbZnNNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgY2xhc3M9XCJzZWxlY3RvclwiPnt7IChhY3RpdmVGaWx0ZXIkIHwgYXN5bmMpPy5uYW1lIHx8ICdOb25lJyB9fTwvYT5cblxuPGZzLW1lbnUgI21lbnU+XG4gIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInJlbW92ZUFjdGl2ZUZpbHRlcigpXCI+XG4gICAgTm9uZVxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiKGZpbHRlcnMkIHwgYXN5bmMpLmxlbmd0aCAhPT0wXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZmlsdGVyIG9mIGZpbHRlcnMkIHwgYXN5bmNcIj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWl0ZW0gKGNsaWNrKT1cInNlbGVjdEZpbHRlcihmaWx0ZXIpXCI+XG4gICAgICAgIHt7IGZpbHRlci5uYW1lIH19XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy10ZW1wbGF0ZSBmcy1tZW51LWRpdmlkZXItaXRlbT48L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctdGVtcGxhdGUgXG4gICAgICBmcy1tZW51LWl0ZW0gXG4gICAgICAoY2xpY2spPVwic2F2ZUZpbHRlcnMoKVwiPlxuICAgIFNhdmVcbiAgPC9uZy10ZW1wbGF0ZT5cbiAgXG4gIDxuZy10ZW1wbGF0ZSBcbiAgICAgIGZzLW1lbnUtaXRlbSBcbiAgICAgIChjbGljayk9XCJtYW5hZ2VGaWx0ZXJzKClcIj5cbiAgICBNYW5hZ2VcbiAgPC9uZy10ZW1wbGF0ZT5cbjwvZnMtbWVudT5cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export const QUERY_PARAM_DELIMITER = ':';
1
+ export const QUERY_PARAM_DELIMITER = ':';
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW0tZGVsaW1pdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9jb25zdHMvcXVlcnktcGFyYW0tZGVsaW1pdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBRVUVSWV9QQVJBTV9ERUxJTUlURVIgPSAnOic7XG4iXX0=
@@ -0,0 +1,141 @@
1
+ import { Directive, ElementRef, Input, Optional, Self, } from '@angular/core';
2
+ import { MatSelect } from '@angular/material/select';
3
+ import { DateRangePickerFromComponent, DateRangePickerToComponent, FsDatePickerComponent, FsDateScrollPickerComponent } from '@firestitch/datepicker';
4
+ import { FsAutocompleteComponent } from '@firestitch/autocomplete';
5
+ import { FsAutocompleteChipsComponent } from '@firestitch/autocomplete-chips';
6
+ import { Subject } from 'rxjs';
7
+ import { delay, takeUntil } from 'rxjs/operators';
8
+ import { FocusControllerService } from '../../services/focus-controller.service';
9
+ import { ItemType } from '../../enums/item-type.enum';
10
+ import { ItemDateMode } from '../../enums/item-date-mode.enum';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "../../services/focus-controller.service";
13
+ import * as i2 from "@angular/material/select";
14
+ import * as i3 from "@firestitch/datepicker";
15
+ import * as i4 from "@firestitch/autocomplete";
16
+ import * as i5 from "@firestitch/autocomplete-chips";
17
+ export class FocusToItemDirective {
18
+ _el;
19
+ _focusController;
20
+ _targetSelect;
21
+ _targetDate;
22
+ _targetDateScroll;
23
+ _targetDateRangeFrom;
24
+ _targetDateRangeTo;
25
+ _targetAutocomplete;
26
+ _targetAutocompleteChips;
27
+ _item;
28
+ _focusTargetType;
29
+ _destroy$ = new Subject();
30
+ constructor(_el, _focusController, _targetSelect, _targetDate, _targetDateScroll, _targetDateRangeFrom, _targetDateRangeTo, _targetAutocomplete, _targetAutocompleteChips) {
31
+ this._el = _el;
32
+ this._focusController = _focusController;
33
+ this._targetSelect = _targetSelect;
34
+ this._targetDate = _targetDate;
35
+ this._targetDateScroll = _targetDateScroll;
36
+ this._targetDateRangeFrom = _targetDateRangeFrom;
37
+ this._targetDateRangeTo = _targetDateRangeTo;
38
+ this._targetAutocomplete = _targetAutocomplete;
39
+ this._targetAutocompleteChips = _targetAutocompleteChips;
40
+ }
41
+ ngOnInit() {
42
+ this._focusController
43
+ .listenFocusFor$(this._item, this._focusTargetType)
44
+ .pipe(delay(500), takeUntil(this._destroy$))
45
+ .subscribe(() => {
46
+ this._focus();
47
+ });
48
+ }
49
+ ngOnDestroy() {
50
+ this._destroy$.next();
51
+ this._destroy$.complete();
52
+ }
53
+ _focus() {
54
+ switch (this._item.type) {
55
+ case ItemType.Select:
56
+ {
57
+ this._targetSelect.open();
58
+ }
59
+ break;
60
+ case ItemType.Text:
61
+ case ItemType.Range:
62
+ {
63
+ this._el.nativeElement.focus();
64
+ }
65
+ break;
66
+ case ItemType.Date:
67
+ {
68
+ if (this._item.mode === ItemDateMode.Calendar) {
69
+ this._targetDate.open();
70
+ }
71
+ else {
72
+ this._targetDateScroll.open();
73
+ }
74
+ }
75
+ break;
76
+ case ItemType.DateRange:
77
+ {
78
+ if (this._focusTargetType === 'from') {
79
+ this._targetDateRangeFrom.open();
80
+ }
81
+ else {
82
+ this._targetDateRangeTo.open();
83
+ }
84
+ }
85
+ break;
86
+ case ItemType.AutoComplete:
87
+ {
88
+ this._targetAutocomplete.focus();
89
+ }
90
+ break;
91
+ case ItemType.AutoCompleteChips:
92
+ {
93
+ this._targetAutocompleteChips.focus();
94
+ }
95
+ break;
96
+ }
97
+ }
98
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusToItemDirective, deps: [{ token: i0.ElementRef }, { token: i1.FocusControllerService }, { token: i2.MatSelect, optional: true, self: true }, { token: i3.FsDatePickerComponent, optional: true, self: true }, { token: i3.FsDateScrollPickerComponent, optional: true, self: true }, { token: i3.DateRangePickerFromComponent, optional: true, self: true }, { token: i3.DateRangePickerToComponent, optional: true, self: true }, { token: i4.FsAutocompleteComponent, optional: true, self: true }, { token: i5.FsAutocompleteChipsComponent, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive });
99
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: { _item: ["fsFilterFocusTrigger", "_item"], _focusTargetType: ["focusTargetType", "_focusTargetType"] }, ngImport: i0 });
100
+ }
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FocusToItemDirective, decorators: [{
102
+ type: Directive,
103
+ args: [{
104
+ selector: '[fsFilterFocusTrigger]',
105
+ }]
106
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusControllerService }, { type: i2.MatSelect, decorators: [{
107
+ type: Optional
108
+ }, {
109
+ type: Self
110
+ }] }, { type: i3.FsDatePickerComponent, decorators: [{
111
+ type: Optional
112
+ }, {
113
+ type: Self
114
+ }] }, { type: i3.FsDateScrollPickerComponent, decorators: [{
115
+ type: Optional
116
+ }, {
117
+ type: Self
118
+ }] }, { type: i3.DateRangePickerFromComponent, decorators: [{
119
+ type: Optional
120
+ }, {
121
+ type: Self
122
+ }] }, { type: i3.DateRangePickerToComponent, decorators: [{
123
+ type: Optional
124
+ }, {
125
+ type: Self
126
+ }] }, { type: i4.FsAutocompleteComponent, decorators: [{
127
+ type: Optional
128
+ }, {
129
+ type: Self
130
+ }] }, { type: i5.FsAutocompleteChipsComponent, decorators: [{
131
+ type: Optional
132
+ }, {
133
+ type: Self
134
+ }] }]; }, propDecorators: { _item: [{
135
+ type: Input,
136
+ args: ['fsFilterFocusTrigger']
137
+ }], _focusTargetType: [{
138
+ type: Input,
139
+ args: ['focusTargetType']
140
+ }] } });
141
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtdG8taXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvZm9jdXMtdG8taXRlbS9mb2N1cy10by1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUcsUUFBUSxFQUFFLElBQUksR0FDdkIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFDTCw0QkFBNEIsRUFBRSwwQkFBMEIsRUFDeEQscUJBQXFCLEVBQ3JCLDJCQUEyQixFQUM1QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7O0FBTS9ELE1BQU0sT0FBTyxvQkFBb0I7SUFXckI7SUFDQTtJQUNvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQWhCdEIsS0FBSyxDQUFDO0lBR04sZ0JBQWdCLENBQUM7SUFFakIsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFeEMsWUFDVSxHQUFlLEVBQ2YsZ0JBQXdDLEVBQ3BCLGFBQXdCLEVBQ3hCLFdBQWtDLEVBQ2xDLGlCQUE4QyxFQUM5QyxvQkFBa0QsRUFDbEQsa0JBQThDLEVBQzlDLG1CQUE0QyxFQUM1Qyx3QkFBc0Q7UUFSMUUsUUFBRyxHQUFILEdBQUcsQ0FBWTtRQUNmLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFDcEIsa0JBQWEsR0FBYixhQUFhLENBQVc7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQXVCO1FBQ2xDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkI7UUFDOUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUE4QjtRQUNsRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQTRCO1FBQzlDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBeUI7UUFDNUMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUE4QjtJQUNqRixDQUFDO0lBRUcsUUFBUTtRQUNiLElBQUksQ0FBQyxnQkFBZ0I7YUFDbEIsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDO2FBQ2xELElBQUksQ0FDSCxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQ1YsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxNQUFNO1FBQ1osUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtZQUN2QixLQUFLLFFBQVEsQ0FBQyxNQUFNO2dCQUFFO29CQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUMzQjtnQkFBQyxNQUFNO1lBRVIsS0FBSyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUMsS0FBSyxRQUFRLENBQUMsS0FBSztnQkFBRTtvQkFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2hDO2dCQUFDLE1BQU07WUFFUixLQUFLLFFBQVEsQ0FBQyxJQUFJO2dCQUFFO29CQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxRQUFRLEVBQUU7d0JBQzdDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ3pCO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztxQkFDL0I7aUJBQ0Y7Z0JBQUMsTUFBTTtZQUNSLEtBQUssUUFBUSxDQUFDLFNBQVM7Z0JBQUU7b0JBQ3ZCLElBQUksSUFBSSxDQUFDLGdCQUFnQixLQUFLLE1BQU0sRUFBRTt3QkFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxDQUFDO3FCQUNsQzt5QkFBTTt3QkFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUM7cUJBQ2hDO2lCQUNGO2dCQUFDLE1BQU07WUFFUixLQUFLLFFBQVEsQ0FBQyxZQUFZO2dCQUFFO29CQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2xDO2dCQUFDLE1BQU07WUFFUixLQUFLLFFBQVEsQ0FBQyxpQkFBaUI7Z0JBQUU7b0JBQy9CLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztpQkFDdkM7Z0JBQUMsTUFBTTtTQUNUO0lBQ0gsQ0FBQzt3R0F4RVUsb0JBQW9COzRGQUFwQixvQkFBb0I7OzRGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7OzBCQWNJLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUFJLElBQUk7OzBCQUNoQixRQUFROzswQkFBSSxJQUFJOzswQkFDaEIsUUFBUTs7MEJBQUksSUFBSTs7MEJBQ2hCLFFBQVE7OzBCQUFJLElBQUk7NENBaEJYLEtBQUs7c0JBRFosS0FBSzt1QkFBQyxzQkFBc0I7Z0JBSXJCLGdCQUFnQjtzQkFEdkIsS0FBSzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgT3B0aW9uYWwsIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuaW1wb3J0IHtcbiAgRGF0ZVJhbmdlUGlja2VyRnJvbUNvbXBvbmVudCwgRGF0ZVJhbmdlUGlja2VyVG9Db21wb25lbnQsXG4gIEZzRGF0ZVBpY2tlckNvbXBvbmVudCxcbiAgRnNEYXRlU2Nyb2xsUGlja2VyQ29tcG9uZW50XG59IGZyb20gJ0BmaXJlc3RpdGNoL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgRnNBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICdAZmlyZXN0aXRjaC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgRnNBdXRvY29tcGxldGVDaGlwc0NvbXBvbmVudCB9IGZyb20gJ0BmaXJlc3RpdGNoL2F1dG9jb21wbGV0ZS1jaGlwcyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEZvY3VzQ29udHJvbGxlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mb2N1cy1jb250cm9sbGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9pdGVtLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBJdGVtRGF0ZU1vZGUgfSBmcm9tICcuLi8uLi9lbnVtcy9pdGVtLWRhdGUtbW9kZS5lbnVtJztcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgRm9jdXNUb0l0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQElucHV0KCdmc0ZpbHRlckZvY3VzVHJpZ2dlcicpXG4gIHByaXZhdGUgX2l0ZW07XG5cbiAgQElucHV0KCdmb2N1c1RhcmdldFR5cGUnKVxuICBwcml2YXRlIF9mb2N1c1RhcmdldFR5cGU7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2ZvY3VzQ29udHJvbGxlcjogRm9jdXNDb250cm9sbGVyU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgX3RhcmdldFNlbGVjdDogTWF0U2VsZWN0LFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBfdGFyZ2V0RGF0ZTogRnNEYXRlUGlja2VyQ29tcG9uZW50LFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBfdGFyZ2V0RGF0ZVNjcm9sbDogRnNEYXRlU2Nyb2xsUGlja2VyQ29tcG9uZW50LFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHJpdmF0ZSBfdGFyZ2V0RGF0ZVJhbmdlRnJvbTogRGF0ZVJhbmdlUGlja2VyRnJvbUNvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgX3RhcmdldERhdGVSYW5nZVRvOiBEYXRlUmFuZ2VQaWNrZXJUb0NvbXBvbmVudCxcbiAgICBAT3B0aW9uYWwoKSBAU2VsZigpIHByaXZhdGUgX3RhcmdldEF1dG9jb21wbGV0ZTogRnNBdXRvY29tcGxldGVDb21wb25lbnQsXG4gICAgQE9wdGlvbmFsKCkgQFNlbGYoKSBwcml2YXRlIF90YXJnZXRBdXRvY29tcGxldGVDaGlwczogRnNBdXRvY29tcGxldGVDaGlwc0NvbXBvbmVudCxcbiAgKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9mb2N1c0NvbnRyb2xsZXJcbiAgICAgIC5saXN0ZW5Gb2N1c0ZvciQodGhpcy5faXRlbSwgdGhpcy5fZm9jdXNUYXJnZXRUeXBlKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRlbGF5KDUwMCksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fZm9jdXMoKTtcbiAgICAgIH0pXG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIF9mb2N1cygpIHtcbiAgICBzd2l0Y2ggKHRoaXMuX2l0ZW0udHlwZSkge1xuICAgICAgY2FzZSBJdGVtVHlwZS5TZWxlY3Q6IHtcbiAgICAgICAgdGhpcy5fdGFyZ2V0U2VsZWN0Lm9wZW4oKTtcbiAgICAgIH0gYnJlYWs7XG5cbiAgICAgIGNhc2UgSXRlbVR5cGUuVGV4dDogY2FzZSBJdGVtVHlwZS5SYW5nZToge1xuICAgICAgICB0aGlzLl9lbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9IGJyZWFrO1xuXG4gICAgICBjYXNlIEl0ZW1UeXBlLkRhdGU6IHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW0ubW9kZSA9PT0gSXRlbURhdGVNb2RlLkNhbGVuZGFyKSB7XG4gICAgICAgICAgdGhpcy5fdGFyZ2V0RGF0ZS5vcGVuKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdGFyZ2V0RGF0ZVNjcm9sbC5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0gYnJlYWs7XG4gICAgICBjYXNlIEl0ZW1UeXBlLkRhdGVSYW5nZToge1xuICAgICAgICBpZiAodGhpcy5fZm9jdXNUYXJnZXRUeXBlID09PSAnZnJvbScpIHtcbiAgICAgICAgICB0aGlzLl90YXJnZXREYXRlUmFuZ2VGcm9tLm9wZW4oKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLl90YXJnZXREYXRlUmFuZ2VUby5vcGVuKCk7XG4gICAgICAgIH1cbiAgICAgIH0gYnJlYWs7XG5cbiAgICAgIGNhc2UgSXRlbVR5cGUuQXV0b0NvbXBsZXRlOiB7XG4gICAgICAgIHRoaXMuX3RhcmdldEF1dG9jb21wbGV0ZS5mb2N1cygpO1xuICAgICAgfSBicmVhaztcblxuICAgICAgY2FzZSBJdGVtVHlwZS5BdXRvQ29tcGxldGVDaGlwczoge1xuICAgICAgICB0aGlzLl90YXJnZXRBdXRvY29tcGxldGVDaGlwcy5mb2N1cygpO1xuICAgICAgfSBicmVhaztcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,17 @@
1
+ import { Directive, TemplateRef } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class FilterStatusBarDirective {
4
+ templateRef;
5
+ constructor(templateRef) {
6
+ this.templateRef = templateRef;
7
+ }
8
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterStatusBarDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterStatusBarDirective, selector: "[fsFilterStatusBar]", ngImport: i0 });
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterStatusBarDirective, decorators: [{
12
+ type: Directive,
13
+ args: [{
14
+ selector: '[fsFilterStatusBar]',
15
+ }]
16
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLWJhci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2RpcmVjdGl2ZXMvc3RhdHVzLWJhci9zdGF0dXMtYmFyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkQsTUFBTSxPQUFPLHdCQUF3QjtJQUcxQjtJQURULFlBQ1MsV0FBNkI7UUFBN0IsZ0JBQVcsR0FBWCxXQUFXLENBQWtCO0lBQ2xDLENBQUM7d0dBSk0sd0JBQXdCOzRGQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSHBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtpQkFDaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2ZzRmlsdGVyU3RhdHVzQmFyXScsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlclN0YXR1c0JhckRpcmVjdGl2ZSB7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgKSB7IH1cblxufVxuIl19