@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,30 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
2
+ import { BaseItemComponent } from '../base-item/base-item.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@firestitch/chip";
7
+ import * as i4 from "@firestitch/label";
8
+ import * as i5 from "@firestitch/form";
9
+ export class ChipsComponent extends BaseItemComponent {
10
+ _kvDiffers;
11
+ _cd;
12
+ constructor(_kvDiffers, _cd) {
13
+ super(_kvDiffers, _cd);
14
+ this._kvDiffers = _kvDiffers;
15
+ this._cd = _cd;
16
+ }
17
+ modelChange() {
18
+ this.itemChange();
19
+ }
20
+ compareFn(modelValue, chipValue) {
21
+ return String(modelValue.value) === String(chipValue.value);
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipsComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
24
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChipsComponent, selector: "filter-item-chips", usesInheritance: true, ngImport: i0, template: "<ng-template [ngIf]=\"item.values?.length\">\n <fs-label-field>\n <fs-label>{{item.label}}</fs-label>\n <fs-chips \n [(ngModel)]=\"item.model\"\n [compare]=\"compareFn\"\n [multiple]=\"item.multiple\">\n <fs-chip \n *ngFor=\"let value of item.values\"\n [value]=\"value\"\n [selectable]=\"true\">\n {{ value.name }}\n </fs-chip>\n </fs-chips>\n </fs-label-field>\n</ng-template>\n\n<ng-template [ngIf]=\"item.loading\">{{ item.label }} loading...</ng-template>\n", styles: ["fs-chip{line-height:40px}\n"], dependencies: [{ 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.FsChipsComponent, selector: "fs-chips", inputs: ["compare", "multiple"] }, { kind: "component", type: i3.FsChipComponent, selector: "fs-chip", inputs: ["selectable", "removable", "value", "icon", "image", "selected", "size", "backgroundColor", "borderColor", "color", "outlined"], outputs: ["selectedToggled", "removed"] }, { kind: "component", type: i4.FsLabelComponent, selector: "fs-label" }, { kind: "component", type: i4.FsLabelFieldComponent, selector: "fs-label-field", inputs: ["bottomMargin", "topMargin", "labelMargin"] }, { 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])" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChipsComponent, decorators: [{
27
+ type: Component,
28
+ args: [{ selector: 'filter-item-chips', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template [ngIf]=\"item.values?.length\">\n <fs-label-field>\n <fs-label>{{item.label}}</fs-label>\n <fs-chips \n [(ngModel)]=\"item.model\"\n [compare]=\"compareFn\"\n [multiple]=\"item.multiple\">\n <fs-chip \n *ngFor=\"let value of item.values\"\n [value]=\"value\"\n [selectable]=\"true\">\n {{ value.name }}\n </fs-chip>\n </fs-chips>\n </fs-label-field>\n</ng-template>\n\n<ng-template [ngIf]=\"item.loading\">{{ item.label }} loading...</ng-template>\n", styles: ["fs-chip{line-height:40px}\n"] }]
29
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9jaGlwcy9jaGlwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2NoaXBzL2NoaXBzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2hCLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7O0FBU3JFLE1BQU0sT0FBTyxjQUFlLFNBQVEsaUJBQTRCO0lBR2xEO0lBQ0E7SUFGWixZQUNZLFVBQTJCLEVBQzNCLEdBQXNCO1FBRWhDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUdsQyxDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVNLFNBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBUztRQUNwQyxPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5RCxDQUFDO3dHQWZVLGNBQWM7NEZBQWQsY0FBYyxnRkNqQjNCLDRoQkFrQkE7OzRGRERhLGNBQWM7a0JBTjFCLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgS2V5VmFsdWVEaWZmZXJzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvY2hpcHMtaXRlbSc7XG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1jaGlwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGlwcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWyAnLi9jaGlwcy5jb21wb25lbnQuc2NzcycgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoaXBzQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8Q2hpcHNJdGVtPiB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIF9rdkRpZmZlcnM6IEtleVZhbHVlRGlmZmVycyxcbiAgICBwcm90ZWN0ZWQgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBzdXBlcihfa3ZEaWZmZXJzLCBfY2QpO1xuICB9XG5cbiAgcHVibGljIG1vZGVsQ2hhbmdlKCkge1xuICAgIHRoaXMuaXRlbUNoYW5nZSgpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmVGbihtb2RlbFZhbHVlLCBjaGlwVmFsdWUpIHtcbiAgICByZXR1cm4gU3RyaW5nKG1vZGVsVmFsdWUudmFsdWUpID09PSBTdHJpbmcoY2hpcFZhbHVlLnZhbHVlKTtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0udmFsdWVzPy5sZW5ndGhcIj5cbiAgPGZzLWxhYmVsLWZpZWxkPlxuICAgIDxmcy1sYWJlbD57e2l0ZW0ubGFiZWx9fTwvZnMtbGFiZWw+XG4gICAgPGZzLWNoaXBzIFxuICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0ubW9kZWxcIlxuICAgICAgICBbY29tcGFyZV09XCJjb21wYXJlRm5cIlxuICAgICAgICBbbXVsdGlwbGVdPVwiaXRlbS5tdWx0aXBsZVwiPlxuICAgICAgPGZzLWNoaXAgXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHZhbHVlIG9mIGl0ZW0udmFsdWVzXCJcbiAgICAgICAgICBbdmFsdWVdPVwidmFsdWVcIlxuICAgICAgICAgIFtzZWxlY3RhYmxlXT1cInRydWVcIj5cbiAgICAgICAge3sgdmFsdWUubmFtZSB9fVxuICAgICAgPC9mcy1jaGlwPlxuICAgIDwvZnMtY2hpcHM+XG4gIDwvZnMtbGFiZWwtZmllbGQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgW25nSWZdPVwiaXRlbS5sb2FkaW5nXCI+e3sgaXRlbS5sYWJlbCB9fSBsb2FkaW5nLi4uPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -0,0 +1,45 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
2
+ import { BaseItemComponent } from '../base-item/base-item.component';
3
+ import { ItemType } from '../../../enums/item-type.enum';
4
+ import { ItemDateMode } from '../../../enums/item-date-mode.enum';
5
+ import { PickerViewType } from '../../../enums/picker-view-type.enum';
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 "@firestitch/datepicker";
12
+ import * as i6 from "@firestitch/form";
13
+ import * as i7 from "../../../directives/focus-to-item/focus-to-item.directive";
14
+ export class DateComponent extends BaseItemComponent {
15
+ _kvDiffers;
16
+ _cd;
17
+ viewType = PickerViewType.Date;
18
+ itemDateMode = ItemDateMode;
19
+ showYear = true;
20
+ showMonth = true;
21
+ showDay = true;
22
+ constructor(_kvDiffers, _cd) {
23
+ super(_kvDiffers, _cd);
24
+ this._kvDiffers = _kvDiffers;
25
+ this._cd = _cd;
26
+ }
27
+ ngOnInit() {
28
+ if (this.item.type === ItemType.DateTime) {
29
+ this.viewType = PickerViewType.DateTime;
30
+ }
31
+ else {
32
+ this.viewType = PickerViewType.Date;
33
+ }
34
+ if (this.item.mode === ItemDateMode.ScrollMonthYear) {
35
+ this.showDay = false;
36
+ }
37
+ }
38
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateComponent, selector: "filter-item-date", usesInheritance: true, ngImport: i0, template: "<mat-form-field *ngIf=\"item.mode===itemDateMode.Calendar; else elseMode\">\n <mat-label>{{item.label}}</mat-label>\n <input matInput\n fsDatePicker\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [view]=\"viewType\"\n [placeholder]=\"item.label\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n</mat-form-field>\n\n<ng-template #elseMode>\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <input matInput\n fsDateScrollPicker\n [placeholder]=\"item.label\"\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [showMonth]=\"showMonth\"\n [showDay]=\"showDay\"\n [showYear]=\"showYear\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n </mat-form-field>\n</ng-template>\n", 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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: "component", type: i5.FsDatePickerComponent, selector: "[fsDatePicker]", inputs: ["minYear", "maxYear", "minDate", "maxDate", "startOfDay", "view", "format", "minutes"], outputs: ["change"] }, { kind: "component", type: i5.FsDateScrollPickerComponent, selector: "[fsDateScrollPicker]", inputs: ["minYear", "maxYear", "minDate", "maxDate", "showMonth", "showYear", "showDay"] }, { kind: "directive", type: i6.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: i7.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
40
+ }
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateComponent, decorators: [{
42
+ type: Component,
43
+ args: [{ selector: 'filter-item-date', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field *ngIf=\"item.mode===itemDateMode.Calendar; else elseMode\">\n <mat-label>{{item.label}}</mat-label>\n <input matInput\n fsDatePicker\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [view]=\"viewType\"\n [placeholder]=\"item.label\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n</mat-form-field>\n\n<ng-template #elseMode>\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <input matInput\n fsDateScrollPicker\n [placeholder]=\"item.label\"\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [maxYear]=\"item.maxYear\"\n [showMonth]=\"showMonth\"\n [showDay]=\"showDay\"\n [showYear]=\"showYear\"\n [clear]=\"item.showClear\"\n [name]=\"item.name\">\n </mat-form-field>\n</ng-template>\n" }]
44
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUVoQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSWxFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7O0FBUXRFLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQTBDO0lBVS9EO0lBQ0E7SUFUTCxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztJQUUvQixZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQzVCLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDaEIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDO0lBRXRCLFlBQ1ksVUFBMkIsRUFDM0IsR0FBc0I7UUFFaEMsS0FBSyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUhiLGVBQVUsR0FBVixVQUFVLENBQWlCO1FBQzNCLFFBQUcsR0FBSCxHQUFHLENBQW1CO0lBR2xDLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsUUFBUSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLFFBQVEsQ0FBQztTQUN6QzthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO1NBQ3JDO1FBRUQsSUFBSyxJQUFJLENBQUMsSUFBcUIsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFDLGVBQWUsRUFBRTtZQUNyRSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNILENBQUM7d0dBMUJVLGFBQWE7NEZBQWIsYUFBYSwrRUNyQjFCLG83QkE2QkE7OzRGRFJhLGFBQWE7a0JBTHpCLFNBQVM7K0JBQ0Usa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgS2V5VmFsdWVEaWZmZXJzLFxuICBPbkluaXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaXRlbS10eXBlLmVudW0nO1xuaW1wb3J0IHsgSXRlbURhdGVNb2RlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvaXRlbS1kYXRlLW1vZGUuZW51bSc7XG5pbXBvcnQgeyBCYXNlRGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS9iYXNlLWRhdGUtaXRlbSc7XG5pbXBvcnQgeyBEYXRlSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLWl0ZW0nO1xuaW1wb3J0IHsgRGF0ZVRpbWVJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1pdGVtJztcbmltcG9ydCB7IFBpY2tlclZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvcGlja2VyLXZpZXctdHlwZS5lbnVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1kYXRlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZUNvbXBvbmVudCBleHRlbmRzIEJhc2VJdGVtQ29tcG9uZW50PERhdGVJdGVtIHwgRGF0ZVRpbWVJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHZpZXdUeXBlID0gUGlja2VyVmlld1R5cGUuRGF0ZTtcblxuICBwdWJsaWMgaXRlbURhdGVNb2RlID0gSXRlbURhdGVNb2RlO1xuICBwdWJsaWMgc2hvd1llYXIgPSB0cnVlO1xuICBwdWJsaWMgc2hvd01vbnRoID0gdHJ1ZTtcbiAgcHVibGljIHNob3dEYXkgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoX2t2RGlmZmVycywgX2NkKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICBpZiAodGhpcy5pdGVtLnR5cGUgPT09IEl0ZW1UeXBlLkRhdGVUaW1lKSB7XG4gICAgICB0aGlzLnZpZXdUeXBlID0gUGlja2VyVmlld1R5cGUuRGF0ZVRpbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld1R5cGUgPSBQaWNrZXJWaWV3VHlwZS5EYXRlO1xuICAgIH1cblxuICAgIGlmICgodGhpcy5pdGVtIGFzIEJhc2VEYXRlSXRlbSkubW9kZSA9PT0gSXRlbURhdGVNb2RlLlNjcm9sbE1vbnRoWWVhcikge1xuICAgICAgdGhpcy5zaG93RGF5ID0gZmFsc2U7XG4gICAgfVxuICB9XG59XG4iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJpdGVtLm1vZGU9PT1pdGVtRGF0ZU1vZGUuQ2FsZW5kYXI7IGVsc2UgZWxzZU1vZGVcIj5cbiAgPG1hdC1sYWJlbD57e2l0ZW0ubGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8aW5wdXQgbWF0SW5wdXRcbiAgICAgICAgIGZzRGF0ZVBpY2tlclxuICAgICAgICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLm1vZGVsXCJcbiAgICAgICAgIFttYXhZZWFyXT1cIml0ZW0ubWF4WWVhclwiXG4gICAgICAgICBbdmlld109XCJ2aWV3VHlwZVwiXG4gICAgICAgICBbcGxhY2Vob2xkZXJdPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICBbY2xlYXJdPVwiaXRlbS5zaG93Q2xlYXJcIlxuICAgICAgICAgW25hbWVdPVwiaXRlbS5uYW1lXCI+XG48L21hdC1mb3JtLWZpZWxkPlxuXG48bmctdGVtcGxhdGUgI2Vsc2VNb2RlPlxuICA8bWF0LWZvcm0tZmllbGQ+XG4gICAgPG1hdC1sYWJlbD57e2l0ZW0ubGFiZWx9fTwvbWF0LWxhYmVsPlxuICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgIGZzRGF0ZVNjcm9sbFBpY2tlclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJpdGVtLmxhYmVsXCJcbiAgICAgICAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLm1vZGVsXCJcbiAgICAgICAgICBbbWF4WWVhcl09XCJpdGVtLm1heFllYXJcIlxuICAgICAgICAgIFtzaG93TW9udGhdPVwic2hvd01vbnRoXCJcbiAgICAgICAgICBbc2hvd0RheV09XCJzaG93RGF5XCJcbiAgICAgICAgICBbc2hvd1llYXJdPVwic2hvd1llYXJcIlxuICAgICAgICAgIFtjbGVhcl09XCJpdGVtLnNob3dDbGVhclwiXG4gICAgICAgICAgW25hbWVdPVwiaXRlbS5uYW1lXCI+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,36 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, KeyValueDiffers } from '@angular/core';
2
+ import { BaseItemComponent } from '../base-item/base-item.component';
3
+ import { ItemType } from '../../../enums/item-type.enum';
4
+ import { PickerViewType } from '../../../enums/picker-view-type.enum';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "@angular/material/input";
8
+ import * as i3 from "@angular/material/form-field";
9
+ import * as i4 from "@firestitch/datepicker";
10
+ import * as i5 from "@firestitch/form";
11
+ import * as i6 from "../../../directives/focus-to-item/focus-to-item.directive";
12
+ export class DateRangeComponent extends BaseItemComponent {
13
+ _kvDiffers;
14
+ _cd;
15
+ viewType = PickerViewType.Date;
16
+ constructor(_kvDiffers, _cd) {
17
+ super(_kvDiffers, _cd);
18
+ this._kvDiffers = _kvDiffers;
19
+ this._cd = _cd;
20
+ }
21
+ ngOnInit() {
22
+ if (this.item.type === ItemType.DateTimeRange) {
23
+ this.viewType = PickerViewType.DateTime;
24
+ }
25
+ else {
26
+ this.viewType = PickerViewType.Date;
27
+ }
28
+ }
29
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangeComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
30
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateRangeComponent, selector: "filter-item-date-range", usesInheritance: true, ngImport: i0, template: "<mat-form-field>\n <mat-label>{{item.label[0]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"item.model.from\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_from\">\n</mat-form-field>\n\n<mat-form-field>\n <mat-label>{{item.label[1]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"item.model.to\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\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.DateRangePickerFromComponent, selector: "[fsDateRangeFrom],[fsDateRangeFromPicker]", inputs: ["fsDateRangeFrom", "fsDateRangeFromPicker"] }, { kind: "component", type: i4.DateRangePickerToComponent, selector: "[fsDateRangeTo],[fsDateRangeToPicker]", inputs: ["fsDateRangeTo", "fsDateRangeToPicker"] }, { 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 });
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateRangeComponent, decorators: [{
33
+ type: Component,
34
+ args: [{ selector: 'filter-item-date-range', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-label>{{item.label[0]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n [fsDateRangeFrom]=\"item.name\"\n [(ngModel)]=\"item.model.from\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_from\">\n</mat-form-field>\n\n<mat-form-field>\n <mat-label>{{item.label[1]}}</mat-label>\n <input\n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n [fsDateRangeTo]=\"item.name\"\n [(ngModel)]=\"item.model.to\"\n (ngModelChange)=\"itemChange()\"\n [clear]=\"item.showClear\"\n [view]=\"viewType\"\n name=\"date_to\">\n</mat-form-field>\n" }]
35
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; } });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2RhdGUtcmFuZ2UvZGF0ZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNoQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOzs7Ozs7OztBQVF0RSxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsaUJBQW9EO0lBSzlFO0lBQ0E7SUFKTCxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztJQUV0QyxZQUNZLFVBQTJCLEVBQzNCLEdBQXNCO1FBRWhDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUdsQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGFBQWEsRUFBRTtZQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxRQUFRLENBQUM7U0FDekM7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztTQUNyQztJQUNILENBQUM7d0dBakJVLGtCQUFrQjs0RkFBbEIsa0JBQWtCLHFGQ25CL0IsZ3VCQTJCQTs7NEZEUmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLHdCQUF3QixtQkFFakIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBLZXlWYWx1ZURpZmZlcnMsIE9uSW5pdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQmFzZUl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWl0ZW0vYmFzZS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmltcG9ydCB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB7IERhdGVUaW1lUmFuZ2VJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2l0ZW1zL2RhdGUtdGltZS1yYW5nZS1pdGVtJztcbmltcG9ydCB7IFBpY2tlclZpZXdUeXBlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMvcGlja2VyLXZpZXctdHlwZS5lbnVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1kYXRlLXJhbmdlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8RGF0ZVJhbmdlSXRlbSB8IERhdGVUaW1lUmFuZ2VJdGVtPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHZpZXdUeXBlID0gUGlja2VyVmlld1R5cGUuRGF0ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuaXRlbS50eXBlID09PSBJdGVtVHlwZS5EYXRlVGltZVJhbmdlKSB7XG4gICAgICB0aGlzLnZpZXdUeXBlID0gUGlja2VyVmlld1R5cGUuRGF0ZVRpbWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmlld1R5cGUgPSBQaWNrZXJWaWV3VHlwZS5EYXRlO1xuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbFswXX19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgIFtmb2N1c1RhcmdldFR5cGVdPVwiJ2Zyb20nXCJcbiAgICBbZnNEYXRlUmFuZ2VGcm9tXT1cIml0ZW0ubmFtZVwiXG4gICAgWyhuZ01vZGVsKV09XCJpdGVtLm1vZGVsLmZyb21cIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIml0ZW1DaGFuZ2UoKVwiXG4gICAgW2NsZWFyXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICBbdmlld109XCJ2aWV3VHlwZVwiXG4gICAgbmFtZT1cImRhdGVfZnJvbVwiPlxuPC9tYXQtZm9ybS1maWVsZD5cblxuPG1hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbFsxXX19PC9tYXQtbGFiZWw+XG4gIDxpbnB1dFxuICAgIG1hdElucHV0XG4gICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgIFtmb2N1c1RhcmdldFR5cGVdPVwiJ3RvJ1wiXG4gICAgW2ZzRGF0ZVJhbmdlVG9dPVwiaXRlbS5uYW1lXCJcbiAgICBbKG5nTW9kZWwpXT1cIml0ZW0ubW9kZWwudG9cIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIml0ZW1DaGFuZ2UoKVwiXG4gICAgW2NsZWFyXT1cIml0ZW0uc2hvd0NsZWFyXCJcbiAgICBbdmlld109XCJ2aWV3VHlwZVwiXG4gICAgbmFtZT1cImRhdGVfdG9cIj5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -0,0 +1,82 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import { ItemType } from '../../enums/item-type.enum';
5
+ import { BaseItem } from '../../models/items/base-item';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common";
8
+ import * as i2 from "./select/select.component";
9
+ import * as i3 from "./chips/chips.component";
10
+ import * as i4 from "./text/text.component";
11
+ import * as i5 from "./week/week.component";
12
+ import * as i6 from "./range/range.component";
13
+ import * as i7 from "./autocomplete/autocomplete.component";
14
+ import * as i8 from "./autocompletechips/autocompletechips.component";
15
+ import * as i9 from "./date/date.component";
16
+ import * as i10 from "./date-range/date-range.component";
17
+ import * as i11 from "./checkbox/checkbox.component";
18
+ export class FilterItemComponent {
19
+ _cdRef;
20
+ item;
21
+ itemType = ItemType;
22
+ get textItem() {
23
+ return this.item;
24
+ }
25
+ get chipsItem() {
26
+ return this.item;
27
+ }
28
+ get baseSelectItem() {
29
+ return this.item;
30
+ }
31
+ get rangeItem() {
32
+ return this.item;
33
+ }
34
+ get autocompleteItem() {
35
+ return this.item;
36
+ }
37
+ get autocompleteChipsItem() {
38
+ return this.item;
39
+ }
40
+ get dateItem() {
41
+ return this.item;
42
+ }
43
+ get dateRangeItem() {
44
+ return this.item;
45
+ }
46
+ get dateTimeItem() {
47
+ return this.item;
48
+ }
49
+ get dateTimeRangeItem() {
50
+ return this.item;
51
+ }
52
+ get weekItem() {
53
+ return this.item;
54
+ }
55
+ get checkboxItem() {
56
+ return this.item;
57
+ }
58
+ _destroy$ = new Subject();
59
+ constructor(_cdRef) {
60
+ this._cdRef = _cdRef;
61
+ }
62
+ ngOnInit() {
63
+ this.item.value$
64
+ .pipe(takeUntil(this._destroy$))
65
+ .subscribe(() => {
66
+ this._cdRef.markForCheck();
67
+ });
68
+ }
69
+ ngOnDestroy() {
70
+ this._destroy$.next();
71
+ this._destroy$.complete();
72
+ }
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterItemComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
74
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterItemComponent, selector: "filter-item", inputs: { item: "item" }, ngImport: i0, template: "<div class=\"filter filter-{{ item.type }}\">\n\n <ng-container [ngSwitch]=\"item.type\">\n <filter-item-text \n class=\"interface\"\n *ngSwitchCase=\"itemType.Text\"\n [item]=\"textItem\">\n </filter-item-text>\n\n <filter-item-select \n class=\"interface\"\n *ngSwitchCase=\"itemType.Select\"\n [item]=\"baseSelectItem\">\n </filter-item-select>\n\n <filter-item-chips \n class=\"interface\"\n *ngSwitchCase=\"itemType.Chips\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n\n <filter-item-range \n class=\"interface interface-range\"\n *ngSwitchCase=\"itemType.Range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n\n <filter-item-autocomplete \n class=\"interface\"\n *ngSwitchCase=\"itemType.AutoComplete\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n\n <filter-item-autocompletechips \n class=\"interface\"\n *ngSwitchCase=\"itemType.AutoCompleteChips\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n\n <filter-item-date \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.Date\"\n [item]=\"dateItem\">\n </filter-item-date>\n\n <filter-item-date \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.DateTime\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n\n <filter-item-date-range \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.DateRange\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n\n <filter-item-date-range \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.DateTimeRange\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n\n <filter-item-week \n class=\"interface\"\n *ngSwitchCase=\"itemType.Week\"\n [item]=\"weekItem\">\n </filter-item-week>\n\n <filter-item-checkbox \n class=\"interface interface-checkbox\"\n *ngSwitchCase=\"itemType.Checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n </ng-container>\n\n</div>\n", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.SelectComponent, selector: "filter-item-select" }, { kind: "component", type: i3.ChipsComponent, selector: "filter-item-chips" }, { kind: "component", type: i4.TextComponent, selector: "filter-item-text" }, { kind: "component", type: i5.WeekComponent, selector: "filter-item-week" }, { kind: "component", type: i6.RangeComponent, selector: "filter-item-range" }, { kind: "component", type: i7.AutocompleteComponent, selector: "filter-item-autocomplete" }, { kind: "component", type: i8.AutocompletechipsComponent, selector: "filter-item-autocompletechips" }, { kind: "component", type: i9.DateComponent, selector: "filter-item-date" }, { kind: "component", type: i10.DateRangeComponent, selector: "filter-item-date-range" }, { kind: "component", type: i11.CheckboxComponent, selector: "filter-item-checkbox" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
75
+ }
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterItemComponent, decorators: [{
77
+ type: Component,
78
+ args: [{ selector: 'filter-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filter filter-{{ item.type }}\">\n\n <ng-container [ngSwitch]=\"item.type\">\n <filter-item-text \n class=\"interface\"\n *ngSwitchCase=\"itemType.Text\"\n [item]=\"textItem\">\n </filter-item-text>\n\n <filter-item-select \n class=\"interface\"\n *ngSwitchCase=\"itemType.Select\"\n [item]=\"baseSelectItem\">\n </filter-item-select>\n\n <filter-item-chips \n class=\"interface\"\n *ngSwitchCase=\"itemType.Chips\"\n [item]=\"chipsItem\">\n </filter-item-chips>\n\n <filter-item-range \n class=\"interface interface-range\"\n *ngSwitchCase=\"itemType.Range\"\n [item]=\"rangeItem\">\n </filter-item-range>\n\n <filter-item-autocomplete \n class=\"interface\"\n *ngSwitchCase=\"itemType.AutoComplete\"\n [item]=\"autocompleteItem\">\n </filter-item-autocomplete>\n\n <filter-item-autocompletechips \n class=\"interface\"\n *ngSwitchCase=\"itemType.AutoCompleteChips\"\n [item]=\"autocompleteChipsItem\">\n </filter-item-autocompletechips>\n\n <filter-item-date \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.Date\"\n [item]=\"dateItem\">\n </filter-item-date>\n\n <filter-item-date \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.DateTime\"\n [item]=\"dateTimeItem\">\n </filter-item-date>\n\n <filter-item-date-range \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.DateRange\"\n [item]=\"dateRangeItem\">\n </filter-item-date-range>\n\n <filter-item-date-range \n class=\"interface interface-date\"\n *ngSwitchCase=\"itemType.DateTimeRange\"\n [item]=\"dateTimeRangeItem\">\n </filter-item-date-range>\n\n <filter-item-week \n class=\"interface\"\n *ngSwitchCase=\"itemType.Week\"\n [item]=\"weekItem\">\n </filter-item-week>\n\n <filter-item-checkbox \n class=\"interface interface-checkbox\"\n *ngSwitchCase=\"itemType.Checkbox\"\n [item]=\"checkboxItem\">\n </filter-item-checkbox>\n </ng-container>\n\n</div>\n", styles: [":host ::ng-deep mat-form-field .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-prefix .text-suffix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-prefix,:host ::ng-deep mat-form-field .mat-form-field-suffix .text-suffix{top:-.25em;position:relative}:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-prefix .text-prefix,:host ::ng-deep mat-form-field:not(.mat-form-field-should-float) .mat-form-field-suffix .text-suffix{display:none}\n"] }]
79
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
80
+ type: Input
81
+ }] } });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3RELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQW1CeEQsTUFBTSxPQUFPLG1CQUFtQjtJQXdEVjtJQXRESixJQUFJLENBQWdCO0lBRTdCLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFFM0IsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQWdCLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsSUFBc0IsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLElBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQVcscUJBQXFCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQTZCLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBcUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxJQUFnQixDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBb0IsQ0FBQztJQUNuQyxDQUFDO0lBRU8sU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFeEMsWUFBb0IsTUFBeUI7UUFBekIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7SUFBSSxDQUFDO0lBRTNDLFFBQVE7UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07YUFDYixJQUFJLENBQ0gsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDMUI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO3dHQXZFVSxtQkFBbUI7NEZBQW5CLG1CQUFtQiw2RUNsQ2hDLHdsRUE2RUE7OzRGRDNDYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNO3dHQUkvQixJQUFJO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tICcuLi8uLi9lbnVtcy9pdGVtLXR5cGUuZW51bSc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLWl0ZW0nO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtaXRlbSc7XG5pbXBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuaW1wb3J0IHsgQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2NoZWNrYm94LWl0ZW0nO1xuaW1wb3J0IHsgQ2hpcHNJdGVtIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2l0ZW1zL2NoaXBzLWl0ZW0nO1xuaW1wb3J0IHsgRGF0ZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1pdGVtJztcbmltcG9ydCB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmltcG9ydCB7IERhdGVUaW1lSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtaXRlbSc7XG5pbXBvcnQgeyBEYXRlVGltZVJhbmdlSXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBSYW5nZUl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3QvYmFzZS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBUZXh0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscy9pdGVtcy90ZXh0LWl0ZW0nO1xuaW1wb3J0IHsgV2Vla0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMvaXRlbXMvd2Vlay1pdGVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXItaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ZpbHRlci1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBGaWx0ZXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtOiBCYXNlSXRlbTxhbnk+O1xuXG4gIHB1YmxpYyBpdGVtVHlwZSA9IEl0ZW1UeXBlO1xuXG4gIHB1YmxpYyBnZXQgdGV4dEl0ZW0oKTogVGV4dEl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgVGV4dEl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGNoaXBzSXRlbSgpOiBDaGlwc0l0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgQ2hpcHNJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBiYXNlU2VsZWN0SXRlbSgpOiBCYXNlU2VsZWN0SXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBCYXNlU2VsZWN0SXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmFuZ2VJdGVtKCk6IFJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGF1dG9jb21wbGV0ZUl0ZW0oKTogQXV0b2NvbXBsZXRlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBBdXRvY29tcGxldGVJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBhdXRvY29tcGxldGVDaGlwc0l0ZW0oKTogQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIEF1dG9jb21wbGV0ZUNoaXBzSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZUl0ZW0oKTogRGF0ZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGVSYW5nZUl0ZW0oKTogRGF0ZVJhbmdlSXRlbSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbSBhcyBEYXRlUmFuZ2VJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBkYXRlVGltZUl0ZW0oKTogRGF0ZVRpbWVJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIERhdGVUaW1lSXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0ZVRpbWVSYW5nZUl0ZW0oKTogRGF0ZVRpbWVSYW5nZUl0ZW0ge1xuICAgIHJldHVybiB0aGlzLml0ZW0gYXMgRGF0ZVRpbWVSYW5nZUl0ZW07XG4gIH1cblxuICBwdWJsaWMgZ2V0IHdlZWtJdGVtKCk6IFdlZWtJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFdlZWtJdGVtO1xuICB9XG5cbiAgcHVibGljIGdldCBjaGVja2JveEl0ZW0oKTogQ2hlY2tib3hJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIENoZWNrYm94SXRlbTtcbiAgfVxuXG4gIHByaXZhdGUgX2Rlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9jZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHsgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW0udmFsdWUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9jZFJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJmaWx0ZXIgZmlsdGVyLXt7IGl0ZW0udHlwZSB9fVwiPlxuXG4gIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cIml0ZW0udHlwZVwiPlxuICAgIDxmaWx0ZXItaXRlbS10ZXh0IFxuICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIml0ZW1UeXBlLlRleHRcIlxuICAgICAgW2l0ZW1dPVwidGV4dEl0ZW1cIj5cbiAgICA8L2ZpbHRlci1pdGVtLXRleHQ+XG5cbiAgICA8ZmlsdGVyLWl0ZW0tc2VsZWN0IFxuICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIml0ZW1UeXBlLlNlbGVjdFwiXG4gICAgICBbaXRlbV09XCJiYXNlU2VsZWN0SXRlbVwiPlxuICAgIDwvZmlsdGVyLWl0ZW0tc2VsZWN0PlxuXG4gICAgPGZpbHRlci1pdGVtLWNoaXBzIFxuICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIml0ZW1UeXBlLkNoaXBzXCJcbiAgICAgIFtpdGVtXT1cImNoaXBzSXRlbVwiPlxuICAgIDwvZmlsdGVyLWl0ZW0tY2hpcHM+XG5cbiAgICA8ZmlsdGVyLWl0ZW0tcmFuZ2UgXG4gICAgICBjbGFzcz1cImludGVyZmFjZSBpbnRlcmZhY2UtcmFuZ2VcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIml0ZW1UeXBlLlJhbmdlXCJcbiAgICAgIFtpdGVtXT1cInJhbmdlSXRlbVwiPlxuICAgIDwvZmlsdGVyLWl0ZW0tcmFuZ2U+XG5cbiAgICA8ZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlIFxuICAgICAgY2xhc3M9XCJpbnRlcmZhY2VcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIml0ZW1UeXBlLkF1dG9Db21wbGV0ZVwiXG4gICAgICBbaXRlbV09XCJhdXRvY29tcGxldGVJdGVtXCI+XG4gICAgPC9maWx0ZXItaXRlbS1hdXRvY29tcGxldGU+XG5cbiAgICA8ZmlsdGVyLWl0ZW0tYXV0b2NvbXBsZXRlY2hpcHMgXG4gICAgICBjbGFzcz1cImludGVyZmFjZVwiXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiaXRlbVR5cGUuQXV0b0NvbXBsZXRlQ2hpcHNcIlxuICAgICAgW2l0ZW1dPVwiYXV0b2NvbXBsZXRlQ2hpcHNJdGVtXCI+XG4gICAgPC9maWx0ZXItaXRlbS1hdXRvY29tcGxldGVjaGlwcz5cblxuICAgIDxmaWx0ZXItaXRlbS1kYXRlIFxuICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIml0ZW1UeXBlLkRhdGVcIlxuICAgICAgW2l0ZW1dPVwiZGF0ZUl0ZW1cIj5cbiAgICA8L2ZpbHRlci1pdGVtLWRhdGU+XG5cbiAgICA8ZmlsdGVyLWl0ZW0tZGF0ZSBcbiAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1kYXRlXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJpdGVtVHlwZS5EYXRlVGltZVwiXG4gICAgICBbaXRlbV09XCJkYXRlVGltZUl0ZW1cIj5cbiAgICA8L2ZpbHRlci1pdGVtLWRhdGU+XG5cbiAgICA8ZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZSBcbiAgICAgIGNsYXNzPVwiaW50ZXJmYWNlIGludGVyZmFjZS1kYXRlXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJpdGVtVHlwZS5EYXRlUmFuZ2VcIlxuICAgICAgW2l0ZW1dPVwiZGF0ZVJhbmdlSXRlbVwiPlxuICAgIDwvZmlsdGVyLWl0ZW0tZGF0ZS1yYW5nZT5cblxuICAgIDxmaWx0ZXItaXRlbS1kYXRlLXJhbmdlIFxuICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWRhdGVcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIml0ZW1UeXBlLkRhdGVUaW1lUmFuZ2VcIlxuICAgICAgW2l0ZW1dPVwiZGF0ZVRpbWVSYW5nZUl0ZW1cIj5cbiAgICA8L2ZpbHRlci1pdGVtLWRhdGUtcmFuZ2U+XG5cbiAgICA8ZmlsdGVyLWl0ZW0td2VlayBcbiAgICAgIGNsYXNzPVwiaW50ZXJmYWNlXCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJpdGVtVHlwZS5XZWVrXCJcbiAgICAgIFtpdGVtXT1cIndlZWtJdGVtXCI+XG4gICAgPC9maWx0ZXItaXRlbS13ZWVrPlxuXG4gICAgPGZpbHRlci1pdGVtLWNoZWNrYm94IFxuICAgICAgY2xhc3M9XCJpbnRlcmZhY2UgaW50ZXJmYWNlLWNoZWNrYm94XCJcbiAgICAgICpuZ1N3aXRjaENhc2U9XCJpdGVtVHlwZS5DaGVja2JveFwiXG4gICAgICBbaXRlbV09XCJjaGVja2JveEl0ZW1cIj5cbiAgICA8L2ZpbHRlci1pdGVtLWNoZWNrYm94PlxuICA8L25nLWNvbnRhaW5lcj5cblxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,49 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, KeyValueDiffers, ViewChild } from '@angular/core';
2
+ import { fromEvent, merge } from 'rxjs';
3
+ import { distinctUntilChanged, takeUntil } from 'rxjs/operators';
4
+ import { BaseItemComponent } from '../base-item/base-item.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ import * as i2 from "@angular/forms";
8
+ import * as i3 from "@angular/material/input";
9
+ import * as i4 from "@angular/material/form-field";
10
+ import * as i5 from "@firestitch/form";
11
+ import * as i6 from "../../../directives/focus-to-item/focus-to-item.directive";
12
+ export class RangeComponent extends BaseItemComponent {
13
+ _kvDiffers;
14
+ _cd;
15
+ from;
16
+ to;
17
+ constructor(_kvDiffers, _cd) {
18
+ super(_kvDiffers, _cd);
19
+ this._kvDiffers = _kvDiffers;
20
+ this._cd = _cd;
21
+ }
22
+ ngOnInit() {
23
+ this.listenChanges();
24
+ }
25
+ listenChanges() {
26
+ const fromListener = fromEvent(this.from.nativeElement, 'keyup')
27
+ .pipe(distinctUntilChanged());
28
+ const toListener = fromEvent(this.to.nativeElement, 'keyup')
29
+ .pipe(distinctUntilChanged());
30
+ merge(fromListener, toListener)
31
+ .pipe(takeUntil(this._destroy$))
32
+ .subscribe(() => {
33
+ this.itemChange();
34
+ });
35
+ }
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RangeComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
37
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: RangeComponent, selector: "filter-item-range", viewQueries: [{ propertyName: "from", first: true, predicate: ["from"], descendants: true, static: true }, { propertyName: "to", first: true, predicate: ["to"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>{{item.label[0]}}</mat-label>\n <span \n matPrefix \n class=\"text-prefix\"\n *ngIf=\"item.prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n <input \n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.min\"\n #from>\n <span \n matSuffix \n class=\"text-suffix\"\n *ngIf=\"item.suffix\" \n [innerHtml]=\"item.suffix\">\n </span>\n </mat-form-field>\n\n <mat-form-field class=\"filter-range-max\">\n <mat-label>{{item.label[1]}}</mat-label>\n <span \n matPrefix \n class=\"text-prefix\"\n *ngIf=\"item.prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n <input \n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.max\"\n #to>\n <span \n matSuffix \n class=\"text-suffix\"\n *ngIf=\"item.suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n </mat-form-field>\n</div>\n", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"], 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { 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.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 });
38
+ }
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RangeComponent, decorators: [{
40
+ type: Component,
41
+ args: [{ selector: 'filter-item-range', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-field\">\n <mat-form-field class=\"filter-range-min\">\n <mat-label>{{item.label[0]}}</mat-label>\n <span \n matPrefix \n class=\"text-prefix\"\n *ngIf=\"item.prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n <input \n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'from'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.min\"\n #from>\n <span \n matSuffix \n class=\"text-suffix\"\n *ngIf=\"item.suffix\" \n [innerHtml]=\"item.suffix\">\n </span>\n </mat-form-field>\n\n <mat-form-field class=\"filter-range-max\">\n <mat-label>{{item.label[1]}}</mat-label>\n <span \n matPrefix \n class=\"text-prefix\"\n *ngIf=\"item.prefix\"\n [innerHtml]=\"item.prefix\">\n </span>\n <input \n matInput\n [fsFilterFocusTrigger]=\"item\"\n [focusTargetType]=\"'to'\"\n type=\"text\"\n inputmode=\"decimal\"\n [(ngModel)]=\"item.model.max\"\n #to>\n <span \n matSuffix \n class=\"text-suffix\"\n *ngIf=\"item.suffix\"\n [innerHtml]=\"item.suffix\">\n </span>\n </mat-form-field>\n</div>\n", styles: [".form-field{display:flex}.form-field mat-form-field{min-width:0}.form-field mat-form-field+mat-form-field{margin-left:10px}\n"] }]
42
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { from: [{
43
+ type: ViewChild,
44
+ args: ['from', { static: true }]
45
+ }], to: [{
46
+ type: ViewChild,
47
+ args: ['to', { static: true }]
48
+ }] } });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9yYW5nZS9yYW5nZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3JhbmdlL3JhbmdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFBRSxVQUFVLEVBQ3JCLGVBQWUsRUFBVSxTQUFTLEVBQ25DLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7QUFVckUsTUFBTSxPQUFPLGNBQWUsU0FBUSxpQkFBNEI7SUFTbEQ7SUFDQTtJQVBMLElBQUksQ0FBYTtJQUdqQixFQUFFLENBQUM7SUFFVixZQUNZLFVBQTJCLEVBQzNCLEdBQXNCO1FBRWhDLEtBQUssQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFIYixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUdsQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sYUFBYTtRQUNsQixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO2FBQzdELElBQUksQ0FDSCxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBRUosTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQzthQUN6RCxJQUFJLENBQ0gsb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUVKLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO2FBQzVCLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO3dHQXJDVSxjQUFjOzRGQUFkLGNBQWMscVJDbkIzQix5c0NBaURBOzs0RkQ5QmEsY0FBYztrQkFOMUIsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTtzSUFLeEMsSUFBSTtzQkFEVixTQUFTO3VCQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBSTVCLEVBQUU7c0JBRFIsU0FBUzt1QkFBQyxJQUFJLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsXG4gIEtleVZhbHVlRGlmZmVycywgT25Jbml0LCBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFJhbmdlSXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9yYW5nZS1pdGVtJztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1yYW5nZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9yYW5nZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JhbmdlLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSYW5nZUNvbXBvbmVudCBleHRlbmRzIEJhc2VJdGVtQ29tcG9uZW50PFJhbmdlSXRlbT4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ2Zyb20nLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICBwdWJsaWMgZnJvbTogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCd0bycsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyB0bztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgX2t2RGlmZmVyczogS2V5VmFsdWVEaWZmZXJzLFxuICAgIHByb3RlY3RlZCBfY2Q6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgIHN1cGVyKF9rdkRpZmZlcnMsIF9jZCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5saXN0ZW5DaGFuZ2VzKCk7XG4gIH1cblxuICBwdWJsaWMgbGlzdGVuQ2hhbmdlcygpIHtcbiAgICBjb25zdCBmcm9tTGlzdGVuZXIgPSBmcm9tRXZlbnQodGhpcy5mcm9tLm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpXG4gICAgICAucGlwZShcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKTtcblxuICAgIGNvbnN0IHRvTGlzdGVuZXIgPSBmcm9tRXZlbnQodGhpcy50by5uYXRpdmVFbGVtZW50LCAna2V5dXAnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICk7XG5cbiAgICBtZXJnZShmcm9tTGlzdGVuZXIsIHRvTGlzdGVuZXIpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLml0ZW1DaGFuZ2UoKTtcbiAgICAgIH0pXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZpbHRlci1yYW5nZS1taW5cIj5cbiAgICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbFswXX19PC9tYXQtbGFiZWw+XG4gICAgPHNwYW4gXG4gICAgICBtYXRQcmVmaXggXG4gICAgICBjbGFzcz1cInRleHQtcHJlZml4XCJcbiAgICAgICpuZ0lmPVwiaXRlbS5wcmVmaXhcIlxuICAgICAgW2lubmVySHRtbF09XCJpdGVtLnByZWZpeFwiPlxuICAgIDwvc3Bhbj5cbiAgICA8aW5wdXQgXG4gICAgICBtYXRJbnB1dFxuICAgICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCInZnJvbSdcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgaW5wdXRtb2RlPVwiZGVjaW1hbFwiXG4gICAgICBbKG5nTW9kZWwpXT1cIml0ZW0ubW9kZWwubWluXCJcbiAgICAgICNmcm9tPlxuICAgIDxzcGFuIFxuICAgICAgbWF0U3VmZml4IFxuICAgICAgY2xhc3M9XCJ0ZXh0LXN1ZmZpeFwiXG4gICAgICAqbmdJZj1cIml0ZW0uc3VmZml4XCIgXG4gICAgICBbaW5uZXJIdG1sXT1cIml0ZW0uc3VmZml4XCI+XG4gICAgPC9zcGFuPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZpbHRlci1yYW5nZS1tYXhcIj5cbiAgICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbFsxXX19PC9tYXQtbGFiZWw+XG4gICAgPHNwYW4gXG4gICAgICBtYXRQcmVmaXggXG4gICAgICBjbGFzcz1cInRleHQtcHJlZml4XCJcbiAgICAgICpuZ0lmPVwiaXRlbS5wcmVmaXhcIlxuICAgICAgW2lubmVySHRtbF09XCJpdGVtLnByZWZpeFwiPlxuICAgIDwvc3Bhbj5cbiAgICA8aW5wdXQgXG4gICAgICBtYXRJbnB1dFxuICAgICAgW2ZzRmlsdGVyRm9jdXNUcmlnZ2VyXT1cIml0ZW1cIlxuICAgICAgW2ZvY3VzVGFyZ2V0VHlwZV09XCIndG8nXCJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGlucHV0bW9kZT1cImRlY2ltYWxcIlxuICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLm1vZGVsLm1heFwiXG4gICAgICAjdG8+XG4gICAgPHNwYW4gXG4gICAgICBtYXRTdWZmaXggXG4gICAgICBjbGFzcz1cInRleHQtc3VmZml4XCJcbiAgICAgICpuZ0lmPVwiaXRlbS5zdWZmaXhcIlxuICAgICAgW2lubmVySHRtbF09XCJpdGVtLnN1ZmZpeFwiPlxuICAgIDwvc3Bhbj5cbiAgPC9tYXQtZm9ybS1maWVsZD5cbjwvZGl2PlxuIl19
@@ -1,12 +1,12 @@
1
- import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SelectBackdropComponent {
4
- constructor() { }
5
- }
6
- SelectBackdropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
7
- SelectBackdropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: SelectBackdropComponent, selector: "filter-item-select-backdrop", ngImport: i0, template: "", styles: [":host{position:absolute;z-index:1002;inset:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
8
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: SelectBackdropComponent, decorators: [{
9
- type: Component,
10
- args: [{ selector: 'filter-item-select-backdrop', changeDetection: ChangeDetectionStrategy.OnPush, template: "", styles: [":host{position:absolute;z-index:1002;inset:0}\n"] }]
11
- }], ctorParameters: function () { return []; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvYmFja2Ryb3AvYmFja2Ryb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvYmFja2Ryb3AvYmFja2Ryb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFRcEUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxnQkFBZSxDQUFDOztvSEFETCx1QkFBdUI7d0dBQXZCLHVCQUF1QixtRUNScEMsRUFBQTsyRkRRYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tc2VsZWN0LWJhY2tkcm9wJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFja2Ryb3AuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhY2tkcm9wLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJhY2tkcm9wQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiIl19
1
+ import { ChangeDetectionStrategy, Component, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SelectBackdropComponent {
4
+ constructor() { }
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectBackdropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectBackdropComponent, selector: "filter-item-select-backdrop", ngImport: i0, template: "", styles: [":host{position:absolute;z-index:1002;inset:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
7
+ }
8
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectBackdropComponent, decorators: [{
9
+ type: Component,
10
+ args: [{ selector: 'filter-item-select-backdrop', changeDetection: ChangeDetectionStrategy.OnPush, template: "", styles: [":host{position:absolute;z-index:1002;inset:0}\n"] }]
11
+ }], ctorParameters: function () { return []; } });
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFja2Ryb3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvYmFja2Ryb3AvYmFja2Ryb3AuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvYmFja2Ryb3AvYmFja2Ryb3AuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsR0FBRyxNQUFNLGVBQWUsQ0FBQzs7QUFRcEUsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxnQkFBZSxDQUFDO3dHQURMLHVCQUF1Qjs0RkFBdkIsdUJBQXVCLG1FQ1JwQyxFQUFBOzs0RkRRYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0UsNkJBQTZCLG1CQUd0Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tc2VsZWN0LWJhY2tkcm9wJyxcbiAgc3R5bGVVcmxzOiBbJy4vYmFja2Ryb3AuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhY2tkcm9wLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdEJhY2tkcm9wQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoKSB7fVxufVxuIiwiIl19
@@ -0,0 +1,33 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';
2
+ import { MatSelect } from '@angular/material/select';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "@angular/material/form-field";
7
+ import * as i4 from "@angular/material/select";
8
+ import * as i5 from "@angular/material/core";
9
+ import * as i6 from "@firestitch/form";
10
+ import * as i7 from "../../../../directives/focus-to-item/focus-to-item.directive";
11
+ export class SelectGroupsComponent {
12
+ cd;
13
+ select;
14
+ item;
15
+ constructor(cd) {
16
+ this.cd = cd;
17
+ }
18
+ compare(o1, o2) {
19
+ return o1 == o2;
20
+ }
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectGroupsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectGroupsComponent, selector: "filter-item-select-groups", inputs: { item: "item" }, viewQueries: [{ propertyName: "select", first: true, predicate: ["select"], descendants: true, static: true }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [compareWith]=\"compare\">\n <ng-container *ngFor=\"let selectItem of item.values\">\n <ng-container *ngIf=\"selectItem[item.children]; else simpleOption\">\n <mat-optgroup [label]=\"selectItem.name\">\n <mat-option *ngFor=\"let subItem of selectItem[item.children]\"\n [value]=\"subItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ subItem.name }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n\n <ng-template #simpleOption>\n <mat-option\n [value]=\"selectItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ selectItem.name }}\n </mat-option>\n </ng-template>\n </ng-container>\n </mat-select>\n</mat-form-field>\n", dependencies: [{ 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: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { 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: "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: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i6.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: i7.FocusToItemDirective, selector: "[fsFilterFocusTrigger]", inputs: ["fsFilterFocusTrigger", "focusTargetType"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectGroupsComponent, decorators: [{
25
+ type: Component,
26
+ args: [{ selector: 'filter-item-select-groups', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select\n #select\n [fsFilterFocusTrigger]=\"item\"\n [(ngModel)]=\"item.model\"\n [compareWith]=\"compare\">\n <ng-container *ngFor=\"let selectItem of item.values\">\n <ng-container *ngIf=\"selectItem[item.children]; else simpleOption\">\n <mat-optgroup [label]=\"selectItem.name\">\n <mat-option *ngFor=\"let subItem of selectItem[item.children]\"\n [value]=\"subItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ subItem.name }}\n </mat-option>\n </mat-optgroup>\n </ng-container>\n\n <ng-template #simpleOption>\n <mat-option\n [value]=\"selectItem.value\"\n [ngStyle]=\"selectItem.style\">\n {{ selectItem.name }}\n </mat-option>\n </ng-template>\n </ng-container>\n </mat-select>\n</mat-form-field>\n" }]
27
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { select: [{
28
+ type: ViewChild,
29
+ args: ['select', { static: true }]
30
+ }], item: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L2dyb3Vwcy9ncm91cHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvZ3JvdXBzL2dyb3Vwcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBRVQsS0FBSyxFQUVMLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7OztBQU9yRCxNQUFNLE9BQU8scUJBQXFCO0lBS2I7SUFIb0IsTUFBTSxDQUFZO0lBQ3pDLElBQUksQ0FBQztJQUVyQixZQUFtQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUFHLENBQUM7SUFFckMsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFO1FBQ25CLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsQixDQUFDO3dHQVRVLHFCQUFxQjs0RkFBckIscUJBQXFCLDJNQ2hCbEMsdzZCQTRCQTs7NEZEWmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTTt3R0FJUixNQUFNO3NCQUE1QyxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ3JCLElBQUk7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTZWxlY3QgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmaWx0ZXItaXRlbS1zZWxlY3QtZ3JvdXBzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dyb3Vwcy5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTZWxlY3RHcm91cHNDb21wb25lbnQge1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pIHNlbGVjdDogTWF0U2VsZWN0O1xuICBASW5wdXQoKSBwdWJsaWMgaXRlbTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHB1YmxpYyBjb21wYXJlKG8xLCBvMikge1xuICAgIHJldHVybiBvMSA9PSBvMjtcbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkPlxuICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbH19PC9tYXQtbGFiZWw+XG4gIDxtYXQtc2VsZWN0XG4gICAgI3NlbGVjdFxuICAgIFtmc0ZpbHRlckZvY3VzVHJpZ2dlcl09XCJpdGVtXCJcbiAgICBbKG5nTW9kZWwpXT1cIml0ZW0ubW9kZWxcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgc2VsZWN0SXRlbSBvZiBpdGVtLnZhbHVlc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNlbGVjdEl0ZW1baXRlbS5jaGlsZHJlbl07IGVsc2Ugc2ltcGxlT3B0aW9uXCI+XG4gICAgICAgIDxtYXQtb3B0Z3JvdXAgW2xhYmVsXT1cInNlbGVjdEl0ZW0ubmFtZVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cImxldCBzdWJJdGVtIG9mIHNlbGVjdEl0ZW1baXRlbS5jaGlsZHJlbl1cIlxuICAgICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzdWJJdGVtLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJzZWxlY3RJdGVtLnN0eWxlXCI+XG4gICAgICAgICAgICB7eyBzdWJJdGVtLm5hbWUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LW9wdGdyb3VwPlxuICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2ltcGxlT3B0aW9uPlxuICAgICAgICA8bWF0LW9wdGlvblxuICAgICAgICBbdmFsdWVdPVwic2VsZWN0SXRlbS52YWx1ZVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInNlbGVjdEl0ZW0uc3R5bGVcIj5cbiAgICAgICAgICB7eyBzZWxlY3RJdGVtLm5hbWUgfX1cbiAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtc2VsZWN0PlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -0,0 +1,60 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, ViewChild } from '@angular/core';
2
+ import { MatSelect } from '@angular/material/select';
3
+ import { MultipleSelectItem } from '../../../../models/items/select/multiple-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 SelectMultipleComponent {
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
+ if (this.item.multiple && Array.isArray(this.item.model)) {
25
+ const index = this.item.model.indexOf(this.item.isolate.value);
26
+ if (index > -1) {
27
+ this.item.model.splice(index, 1);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ close() {
33
+ this.select.close();
34
+ }
35
+ isolateChange(filter) {
36
+ if (filter.isolate.enabled) {
37
+ filter.model = filter.multiple ? [filter.isolate.value] : filter.isolate.value;
38
+ }
39
+ else {
40
+ if (filter.multiple) {
41
+ filter.model = filter.defaultValue ? filter.defaultValue : [];
42
+ }
43
+ else {
44
+ filter.model = filter.defaultValue ? filter.defaultValue : null;
45
+ }
46
+ }
47
+ }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectMultipleComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
49
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectMultipleComponent, selector: "filter-item-select-multiple", 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 [multiple]=\"item.multiple\">\n <mat-option\n *ngFor=\"let item of item.values | fsFilterIsolateValues: item.isolate\"\n [value]=\"item.value\">\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 });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectMultipleComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'filter-item-select-multiple', 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 [multiple]=\"item.multiple\">\n <mat-option\n *ngFor=\"let item of item.values | fsFilterIsolateValues: item.isolate\"\n [value]=\"item.value\">\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"] }]
54
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { item: [{
55
+ type: Input
56
+ }], select: [{
57
+ type: ViewChild,
58
+ args: ['select', { static: true }]
59
+ }] } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlwbGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvbXVsdGlwbGUvbXVsdGlwbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9zZWxlY3QvbXVsdGlwbGUvbXVsdGlwbGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFDTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDOzs7Ozs7Ozs7OztBQVMxRixNQUFNLE9BQU8sdUJBQXVCO0lBUWY7SUFMWixJQUFJLENBQXFCO0lBR3pCLE1BQU0sQ0FBWTtJQUV6QixZQUFtQixFQUFxQjtRQUFyQixPQUFFLEdBQUYsRUFBRSxDQUFtQjtJQUFHLENBQUM7SUFFckMsT0FBTztRQUVaLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFFckIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUVsQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUvRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRTtvQkFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNsQzthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxNQUFNO1FBQ3pCLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDMUIsTUFBTSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2hGO2FBQU07WUFDTCxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUU7Z0JBQ25CLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQy9EO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2FBQ2pFO1NBQ0Y7SUFDSCxDQUFDO3dHQXhDVSx1QkFBdUI7NEZBQXZCLHVCQUF1Qiw2TUNsQnBDLDR1QkF1QkE7OzRGRExhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSw2QkFBNkIsbUJBR3RCLHVCQUF1QixDQUFDLE1BQU07d0dBS3hDLElBQUk7c0JBRFYsS0FBSztnQkFJQyxNQUFNO3NCQURaLFNBQVM7dUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2VsZWN0IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2VsZWN0JztcblxuaW1wb3J0IHsgTXVsdGlwbGVTZWxlY3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL2l0ZW1zL3NlbGVjdC9tdWx0aXBsZS1zZWxlY3QtaXRlbSc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZmlsdGVyLWl0ZW0tc2VsZWN0LW11bHRpcGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL211bHRpcGxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGlwbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNlbGVjdE11bHRpcGxlQ29tcG9uZW50IHtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXRlbTogTXVsdGlwbGVTZWxlY3RJdGVtO1xuXG4gIEBWaWV3Q2hpbGQoJ3NlbGVjdCcsIHsgc3RhdGljOiB0cnVlIH0pXG4gIHB1YmxpYyBzZWxlY3Q6IE1hdFNlbGVjdDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIHB1YmxpYyBjaGFuZ2VkKCkge1xuXG4gICAgaWYgKHRoaXMuaXRlbS5pc29sYXRlKSB7XG5cbiAgICAgIHRoaXMuaXRlbS5pc29sYXRlLmVuYWJsZWQgPSBmYWxzZTtcblxuICAgICAgaWYgKHRoaXMuaXRlbS5tdWx0aXBsZSAmJiBBcnJheS5pc0FycmF5KHRoaXMuaXRlbS5tb2RlbCkpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLml0ZW0ubW9kZWwuaW5kZXhPZih0aGlzLml0ZW0uaXNvbGF0ZS52YWx1ZSk7XG5cbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICB0aGlzLml0ZW0ubW9kZWwuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjbG9zZSgpIHtcbiAgICB0aGlzLnNlbGVjdC5jbG9zZSgpO1xuICB9XG5cbiAgcHVibGljIGlzb2xhdGVDaGFuZ2UoZmlsdGVyKSB7XG4gICAgaWYgKGZpbHRlci5pc29sYXRlLmVuYWJsZWQpIHtcbiAgICAgIGZpbHRlci5tb2RlbCA9IGZpbHRlci5tdWx0aXBsZSA/IFtmaWx0ZXIuaXNvbGF0ZS52YWx1ZV0gOiBmaWx0ZXIuaXNvbGF0ZS52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGZpbHRlci5tdWx0aXBsZSkge1xuICAgICAgICBmaWx0ZXIubW9kZWwgPSBmaWx0ZXIuZGVmYXVsdFZhbHVlID8gZmlsdGVyLmRlZmF1bHRWYWx1ZSA6IFtdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmlsdGVyLm1vZGVsID0gZmlsdGVyLmRlZmF1bHRWYWx1ZSA/IGZpbHRlci5kZWZhdWx0VmFsdWUgOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIFtuZ0NsYXNzXT1cInsgaXNvbGF0ZTogaXRlbS5pc29sYXRlIH1cIj5cbiAgPG1hdC1sYWJlbD57e2l0ZW0ubGFiZWx9fTwvbWF0LWxhYmVsPlxuICA8bWF0LXNlbGVjdFxuICAgICNzZWxlY3RcbiAgICBbZnNGaWx0ZXJGb2N1c1RyaWdnZXJdPVwiaXRlbVwiXG4gICAgWyhuZ01vZGVsKV09XCJpdGVtLm1vZGVsXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VkKClcIlxuICAgIFttdWx0aXBsZV09XCJpdGVtLm11bHRpcGxlXCI+XG4gICAgICA8bWF0LW9wdGlvblxuICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtLnZhbHVlcyB8IGZzRmlsdGVySXNvbGF0ZVZhbHVlczogaXRlbS5pc29sYXRlXCJcbiAgICAgICAgW3ZhbHVlXT1cIml0ZW0udmFsdWVcIj5cbiAgICAgICAgICB7eyBpdGVtLm5hbWUgfX1cbiAgICA8L21hdC1vcHRpb24+XG4gIDwvbWF0LXNlbGVjdD5cblxuICA8bWF0LWhpbnQ+XG4gICAgPGRpdiAqbmdJZj1cIml0ZW0uaXNvbGF0ZVwiPlxuICAgICAgPG1hdC1jaGVja2JveCAoY2hhbmdlKT1cImlzb2xhdGVDaGFuZ2UoaXRlbSlcIiBbKG5nTW9kZWwpXT1cIml0ZW0uaXNvbGF0ZS5lbmFibGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2hlY2tib3gtbGFiZWxcIj57eyBpdGVtLmlzb2xhdGUubGFiZWwgfX08L3NwYW4+XG4gICAgICA8L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtaGludD5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -0,0 +1,55 @@
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, KeyValueDiffers, Component, ViewChild, } 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/common";
5
+ import * as i2 from "@angular/material/form-field";
6
+ import * as i3 from "@angular/material/select";
7
+ import * as i4 from "./groups/groups.component";
8
+ import * as i5 from "./simple/simple.component";
9
+ import * as i6 from "./multiple/multiple.component";
10
+ export class SelectComponent extends BaseItemComponent {
11
+ _kvDiffers;
12
+ _cd;
13
+ selectedItem;
14
+ // For case when we have multiple selection with __all option
15
+ // If _all has been selected than we must disable all other items
16
+ allItemsOptionSelected = false;
17
+ get multipleSelectItem() {
18
+ return this.item;
19
+ }
20
+ get simpleSelectItem() {
21
+ return this.item;
22
+ }
23
+ values$;
24
+ constructor(_kvDiffers, _cd) {
25
+ super(_kvDiffers, _cd);
26
+ this._kvDiffers = _kvDiffers;
27
+ this._cd = _cd;
28
+ }
29
+ ngOnChanges(changes) {
30
+ if (changes.item) {
31
+ this.values$ = this.item.values$;
32
+ }
33
+ }
34
+ ngDoCheck() {
35
+ if (this._kvDiffer) {
36
+ const changes = this._kvDiffer.diff(this.item);
37
+ if (changes) {
38
+ this._cd.markForCheck();
39
+ if (this.selectedItem) {
40
+ this.selectedItem.cd.markForCheck();
41
+ }
42
+ }
43
+ }
44
+ }
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, deps: [{ token: i0.KeyValueDiffers }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
46
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SelectComponent, selector: "filter-item-select", viewQueries: [{ propertyName: "selectedItem", first: true, predicate: ["selectItem"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"(item.loading$ | async) else itemSelect\">\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select disabled></mat-select>\n </mat-form-field>\n</ng-container>\n\n<ng-template #itemSelect>\n <ng-container *ngIf=\"(values$ | async)?.length\">\n <ng-container *ngIf=\"item.multiple && !item.children\">\n <filter-item-select-multiple\n [item]=\"multipleSelectItem\"\n #selectItem>\n </filter-item-select-multiple>\n </ng-container>\n\n <ng-container *ngIf=\"!item.multiple && !item.children\">\n <filter-item-select-simple\n [item]=\"simpleSelectItem\"\n #selectItem>\n </filter-item-select-simple>\n </ng-container>\n\n <ng-container *ngIf=\"item.children\">\n <filter-item-select-groups\n [item]=\"item\"\n #selectItem>\n </filter-item-select-groups>\n </ng-container>\n </ng-container>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "component", type: i3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "panelWidth", "hideSingleSelectionIndicator"], exportAs: ["matSelect"] }, { kind: "component", type: i4.SelectGroupsComponent, selector: "filter-item-select-groups", inputs: ["item"] }, { kind: "component", type: i5.SelectSimpleComponent, selector: "filter-item-select-simple", inputs: ["item"] }, { kind: "component", type: i6.SelectMultipleComponent, selector: "filter-item-select-multiple", inputs: ["item"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
47
+ }
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SelectComponent, decorators: [{
49
+ type: Component,
50
+ args: [{ selector: 'filter-item-select', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"(item.loading$ | async) else itemSelect\">\n <mat-form-field>\n <mat-label>{{item.label}}</mat-label>\n <mat-select disabled></mat-select>\n </mat-form-field>\n</ng-container>\n\n<ng-template #itemSelect>\n <ng-container *ngIf=\"(values$ | async)?.length\">\n <ng-container *ngIf=\"item.multiple && !item.children\">\n <filter-item-select-multiple\n [item]=\"multipleSelectItem\"\n #selectItem>\n </filter-item-select-multiple>\n </ng-container>\n\n <ng-container *ngIf=\"!item.multiple && !item.children\">\n <filter-item-select-simple\n [item]=\"simpleSelectItem\"\n #selectItem>\n </filter-item-select-simple>\n </ng-container>\n\n <ng-container *ngIf=\"item.children\">\n <filter-item-select-groups\n [item]=\"item\"\n #selectItem>\n </filter-item-select-groups>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
51
+ }], ctorParameters: function () { return [{ type: i0.KeyValueDiffers }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { selectedItem: [{
52
+ type: ViewChild,
53
+ args: ['selectItem']
54
+ }] } });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vc2VsZWN0L3NlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZmlsdGVycy1pdGVtL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLFNBQVMsRUFDVCxTQUFTLEdBR1YsTUFBTSxlQUFlLENBQUM7QUFJdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7O0FBWXJFLE1BQU0sT0FBTyxlQUFnQixTQUFRLGlCQUFpQztJQW1CeEQ7SUFDQTtJQWpCTCxZQUFZLENBQWtEO0lBQ3JFLDZEQUE2RDtJQUM3RCxpRUFBaUU7SUFDMUQsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0lBRXRDLElBQVcsa0JBQWtCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQTBCLENBQUM7SUFDekMsQ0FBQztJQUVELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLElBQXdCLENBQUM7SUFDdkMsQ0FBQztJQUVNLE9BQU8sQ0FBd0I7SUFFdEMsWUFDWSxVQUEyQixFQUMzQixHQUFzQjtRQUVoQyxLQUFLLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBSGIsZUFBVSxHQUFWLFVBQVUsQ0FBaUI7UUFDM0IsUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFHbEMsQ0FBQztJQUVNLFdBQVcsQ0FBQyxPQUFzQjtRQUN2QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUU7WUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQWdDLENBQUM7U0FDM0Q7SUFDSCxDQUFDO0lBRU0sU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFL0MsSUFBSSxPQUFPLEVBQUU7Z0JBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFFeEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO29CQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztpQkFDckM7YUFDRjtTQUNGO0lBQ0gsQ0FBQzt3R0EzQ1UsZUFBZTs0RkFBZixlQUFlLGtOQ3hCNUIsZzdCQStCQTs7NEZEUGEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxvQkFBb0IsbUJBRWIsdUJBQXVCLENBQUMsTUFBTTtzSUFLeEMsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBLZXlWYWx1ZURpZmZlcnMsXG4gIENvbXBvbmVudCxcbiAgVmlld0NoaWxkLFxuICBEb0NoZWNrLFxuICBTaW1wbGVDaGFuZ2VzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBCYXNlSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtaXRlbS9iYXNlLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNlbGVjdFNpbXBsZUNvbXBvbmVudCB9IGZyb20gJy4vc2ltcGxlL3NpbXBsZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0TXVsdGlwbGVDb21wb25lbnQgfSBmcm9tICcuL211bHRpcGxlL211bHRpcGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYXNlU2VsZWN0SXRlbSB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9pdGVtcy9zZWxlY3QvYmFzZS1zZWxlY3QtaXRlbSc7XG5pbXBvcnQgeyBNdWx0aXBsZVNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvc2VsZWN0L211bHRpcGxlLXNlbGVjdC1pdGVtJztcbmltcG9ydCB7IFNpbXBsZVNlbGVjdEl0ZW0gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvaXRlbXMvc2VsZWN0L3NpbXBsZS1zZWxlY3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ZpbHRlci1pdGVtLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2VsZWN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUl0ZW1Db21wb25lbnQ8QmFzZVNlbGVjdEl0ZW0+IGltcGxlbWVudHMgRG9DaGVjayB7XG5cbiAgQFZpZXdDaGlsZCgnc2VsZWN0SXRlbScpXG4gIHB1YmxpYyBzZWxlY3RlZEl0ZW06IFNlbGVjdFNpbXBsZUNvbXBvbmVudCB8IFNlbGVjdE11bHRpcGxlQ29tcG9uZW50O1xuICAvLyBGb3IgY2FzZSB3aGVuIHdlIGhhdmUgbXVsdGlwbGUgc2VsZWN0aW9uIHdpdGggX19hbGwgb3B0aW9uXG4gIC8vIElmIF9hbGwgaGFzIGJlZW4gc2VsZWN0ZWQgdGhhbiB3ZSBtdXN0IGRpc2FibGUgYWxsIG90aGVyIGl0ZW1zXG4gIHB1YmxpYyBhbGxJdGVtc09wdGlvblNlbGVjdGVkID0gZmFsc2U7XG5cbiAgcHVibGljIGdldCBtdWx0aXBsZVNlbGVjdEl0ZW0oKTogTXVsdGlwbGVTZWxlY3RJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIE11bHRpcGxlU2VsZWN0SXRlbTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2ltcGxlU2VsZWN0SXRlbSgpOiBTaW1wbGVTZWxlY3RJdGVtIHtcbiAgICByZXR1cm4gdGhpcy5pdGVtIGFzIFNpbXBsZVNlbGVjdEl0ZW07XG4gIH1cblxuICBwdWJsaWMgdmFsdWVzJDogT2JzZXJ2YWJsZTx1bmtub3duW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBfa3ZEaWZmZXJzOiBLZXlWYWx1ZURpZmZlcnMsXG4gICAgcHJvdGVjdGVkIF9jZDogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoX2t2RGlmZmVycywgX2NkKTtcbiAgfVxuICBcbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5pdGVtKSB7XG4gICAgICB0aGlzLnZhbHVlcyQgPSB0aGlzLml0ZW0udmFsdWVzJCBhcyBPYnNlcnZhYmxlPHVua25vd25bXT47XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nRG9DaGVjaygpIHtcbiAgICBpZiAodGhpcy5fa3ZEaWZmZXIpIHtcbiAgICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLl9rdkRpZmZlci5kaWZmKHRoaXMuaXRlbSk7XG5cbiAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiKGl0ZW0ubG9hZGluZyQgfCBhc3luYykgZWxzZSBpdGVtU2VsZWN0XCI+XG4gIDxtYXQtZm9ybS1maWVsZD5cbiAgICA8bWF0LWxhYmVsPnt7aXRlbS5sYWJlbH19PC9tYXQtbGFiZWw+XG4gICAgPG1hdC1zZWxlY3QgZGlzYWJsZWQ+PC9tYXQtc2VsZWN0PlxuICA8L21hdC1mb3JtLWZpZWxkPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjaXRlbVNlbGVjdD5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIih2YWx1ZXMkIHwgYXN5bmMpPy5sZW5ndGhcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5tdWx0aXBsZSAmJiAhaXRlbS5jaGlsZHJlblwiPlxuICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdC1tdWx0aXBsZVxuICAgICAgICBbaXRlbV09XCJtdWx0aXBsZVNlbGVjdEl0ZW1cIlxuICAgICAgICAjc2VsZWN0SXRlbT5cbiAgICAgIDwvZmlsdGVyLWl0ZW0tc2VsZWN0LW11bHRpcGxlPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtLm11bHRpcGxlICYmICFpdGVtLmNoaWxkcmVuXCI+XG4gICAgICA8ZmlsdGVyLWl0ZW0tc2VsZWN0LXNpbXBsZVxuICAgICAgICBbaXRlbV09XCJzaW1wbGVTZWxlY3RJdGVtXCJcbiAgICAgICAgI3NlbGVjdEl0ZW0+XG4gICAgICA8L2ZpbHRlci1pdGVtLXNlbGVjdC1zaW1wbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jaGlsZHJlblwiPlxuICAgICAgPGZpbHRlci1pdGVtLXNlbGVjdC1ncm91cHNcbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgICNzZWxlY3RJdGVtPlxuICAgICAgPC9maWx0ZXItaXRlbS1zZWxlY3QtZ3JvdXBzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=