ngx-register-base 1.3.1 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +129 -0
  2. package/esm2022/lib/components/checkbox-selector/checkbox-selector.types.mjs +8 -0
  3. package/esm2022/lib/components/column-settings/column-settings.component.mjs +249 -0
  4. package/esm2022/lib/components/column-settings/components/column-settings-template/column-settings-template.component.mjs +80 -0
  5. package/esm2022/lib/components/column-settings/consts/column-settings.consts.mjs +10 -0
  6. package/esm2022/lib/components/column-settings/index.mjs +3 -0
  7. package/esm2022/lib/components/column-settings/types/column-settings.types.mjs +7 -0
  8. package/esm2022/lib/components/divider/divider.component.mjs +16 -0
  9. package/esm2022/lib/components/filter-button/filter-button.component.mjs +19 -0
  10. package/esm2022/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.mjs +31 -0
  11. package/esm2022/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.mjs +57 -0
  12. package/esm2022/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.mjs +110 -0
  13. package/esm2022/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.mjs +130 -0
  14. package/esm2022/lib/components/filters/components/filter-list/filter-list.service.mjs +89 -0
  15. package/esm2022/lib/components/filters/components/filter-list/filters-section/filters-section.component.mjs +41 -0
  16. package/esm2022/lib/components/filters/components/filter-list.module.mjs +45 -0
  17. package/esm2022/lib/components/filters/index.mjs +3 -0
  18. package/esm2022/lib/components/filters/register-table-filter.component.mjs +155 -0
  19. package/esm2022/lib/components/filters/register-table-filter.module.mjs +39 -0
  20. package/esm2022/lib/components/index.mjs +11 -0
  21. package/esm2022/lib/components/inputs/index.mjs +20 -0
  22. package/esm2022/lib/components/inputs/inputs.module.mjs +166 -0
  23. package/esm2022/lib/components/inputs/param-calendar-year/param-calendar-year.component.mjs +45 -0
  24. package/esm2022/lib/components/inputs/param-custom/param-custom.component.mjs +12 -0
  25. package/esm2022/lib/components/inputs/param-date/param-date.component.mjs +76 -0
  26. package/esm2022/lib/components/inputs/param-date-range/param-date-range.component.mjs +60 -0
  27. package/esm2022/lib/components/inputs/param-date-time/param-date-time.component.mjs +86 -0
  28. package/esm2022/lib/components/inputs/param-date-time-range/param-date-time-range.component.mjs +95 -0
  29. package/esm2022/lib/components/inputs/param-month/param-month.component.mjs +50 -0
  30. package/esm2022/lib/components/inputs/param-month-range/param-month-range.component.mjs +62 -0
  31. package/esm2022/lib/components/inputs/param-multi-select/param-multi-select.component.mjs +309 -0
  32. package/esm2022/lib/components/inputs/param-select/param-select.component.mjs +233 -0
  33. package/esm2022/lib/components/inputs/param-switcher/param-switcher.component.mjs +21 -0
  34. package/esm2022/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.mjs +28 -0
  35. package/esm2022/lib/components/inputs/param-switcher-date-time-range/index.mjs +3 -0
  36. package/esm2022/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.mjs +105 -0
  37. package/esm2022/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.mjs +10 -0
  38. package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +40 -0
  39. package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +38 -0
  40. package/esm2022/lib/components/inputs/param-toggle/param-toggle.component.mjs +20 -0
  41. package/esm2022/lib/components/inputs/param-tree/consts/param-tree.consts.mjs +37 -0
  42. package/esm2022/lib/components/inputs/param-tree/index.mjs +8 -0
  43. package/esm2022/lib/components/inputs/param-tree/param-tree.component.mjs +207 -0
  44. package/esm2022/lib/components/inputs/param-tree/services/param-tree.service.mjs +116 -0
  45. package/esm2022/lib/components/inputs/param-tree/services/sync-tree-loader.service.mjs +20 -0
  46. package/esm2022/lib/components/inputs/param-tree/tokens/param-tree.tokens.mjs +3 -0
  47. package/esm2022/lib/components/inputs/param-tree/types/param-tree.types.mjs +2 -0
  48. package/esm2022/lib/components/inputs/param-tree/utils/param-tree.utils.mjs +9 -0
  49. package/esm2022/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.mjs +80 -0
  50. package/esm2022/lib/components/inputs/param-tree-select/param-tree-select.component.mjs +85 -0
  51. package/esm2022/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.mjs +15 -0
  52. package/esm2022/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.mjs +12 -0
  53. package/esm2022/lib/components/menu-constructor/index.mjs +5 -0
  54. package/esm2022/lib/components/menu-constructor/sproc-menu-constructor.component.mjs +559 -0
  55. package/esm2022/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.mjs +3 -0
  56. package/esm2022/lib/components/menu-constructor/store/sproc-menu-constructor.consts.mjs +5 -0
  57. package/esm2022/lib/components/menu-constructor/store/sproc-menu.tokens.mjs +3 -0
  58. package/esm2022/lib/components/page-menu/index.mjs +6 -0
  59. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.consts.mjs +9 -0
  60. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.schema.mjs +2 -0
  61. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.tokens.mjs +4 -0
  62. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.types.mjs +3 -0
  63. package/esm2022/lib/components/page-menu/sproc-page-menu.component.mjs +275 -0
  64. package/esm2022/lib/components/paginator/paginator.component.mjs +159 -0
  65. package/esm2022/lib/components/paginator/types/paginator.types.mjs +2 -0
  66. package/esm2022/lib/components/register-table/consts/register-table.consts.mjs +4 -0
  67. package/esm2022/lib/components/register-table/directives/cell-template.directive.mjs +19 -0
  68. package/esm2022/lib/components/register-table/directives/header-template.directive.mjs +18 -0
  69. package/esm2022/lib/components/register-table/index.mjs +4 -0
  70. package/esm2022/lib/components/register-table/model/schema.mjs +10 -0
  71. package/esm2022/lib/components/register-table/pipes/class-by-type.pipe.mjs +33 -0
  72. package/esm2022/lib/components/register-table/pipes/sticky-column.pipe.mjs +17 -0
  73. package/esm2022/lib/components/register-table/register-table.component.mjs +544 -0
  74. package/esm2022/lib/components/reset-settings-form/reset-settings-form.component.mjs +18 -0
  75. package/esm2022/lib/components/search-input/search-input.component.mjs +28 -0
  76. package/esm2022/lib/components/sliding-panel/sliding-panel.component.mjs +48 -0
  77. package/esm2022/lib/components/sliding-panel/sliding-panel.module.mjs +19 -0
  78. package/esm2022/lib/consts/date-time.consts.mjs +2 -0
  79. package/esm2022/lib/consts/index.mjs +4 -0
  80. package/esm2022/lib/consts/inputs.consts.mjs +4 -0
  81. package/esm2022/lib/consts/month.consts.mjs +77 -0
  82. package/esm2022/lib/consts/params.consts.mjs +2 -0
  83. package/esm2022/lib/consts/register-base.consts.mjs +26 -0
  84. package/esm2022/lib/core/form-group-wrapper/errors-consts.mjs +8 -0
  85. package/esm2022/lib/core/form-group-wrapper/form-group-wrapper.mjs +81 -0
  86. package/esm2022/lib/core/form-group-wrapper/index.mjs +2 -0
  87. package/esm2022/lib/core/index.mjs +5 -0
  88. package/esm2022/lib/core/input-control/index.mjs +2 -0
  89. package/esm2022/lib/core/input-control/input-control.mjs +11 -0
  90. package/esm2022/lib/core/param/index.mjs +6 -0
  91. package/esm2022/lib/core/param/param-base.mjs +215 -0
  92. package/esm2022/lib/core/param/param-date-base.mjs +26 -0
  93. package/esm2022/lib/core/param/param-select-base.mjs +114 -0
  94. package/esm2022/lib/core/param/param-text-base.mjs +25 -0
  95. package/esm2022/lib/core/param/param.tokens.mjs +4 -0
  96. package/esm2022/lib/core/register-base/index.mjs +3 -0
  97. package/esm2022/lib/core/register-base/register-base.mjs +575 -0
  98. package/esm2022/lib/core/register-base/register-base.store.mjs +43 -0
  99. package/esm2022/lib/directives/date/date-time.types.mjs +34 -0
  100. package/esm2022/lib/directives/date/format-date.pipe.mjs +33 -0
  101. package/esm2022/lib/directives/index.mjs +3 -0
  102. package/esm2022/lib/directives/number/number-only.directive.mjs +41 -0
  103. package/esm2022/lib/directives/sticky/index.mjs +3 -0
  104. package/esm2022/lib/directives/sticky/sticky-relative.directive.mjs +32 -0
  105. package/esm2022/lib/directives/sticky/sticky-relative.service.mjs +32 -0
  106. package/esm2022/lib/directives/sticky/sticky.directive.mjs +169 -0
  107. package/esm2022/lib/services/date-time.service.mjs +314 -0
  108. package/esm2022/lib/services/dialog/dialog.service.mjs +53 -0
  109. package/esm2022/lib/services/dialog/dialog.types.mjs +2 -0
  110. package/esm2022/lib/services/dialog/index.mjs +3 -0
  111. package/esm2022/lib/services/dom-intersection.service.mjs +22 -0
  112. package/esm2022/lib/services/filter/filters-state.service.mjs +65 -0
  113. package/esm2022/lib/services/filter/filters-transmit.service.mjs +82 -0
  114. package/esm2022/lib/services/filter/filters.service.mjs +23 -0
  115. package/esm2022/lib/services/index.mjs +8 -0
  116. package/esm2022/lib/services/inputs-state.service.mjs +130 -0
  117. package/esm2022/lib/services/inputs.service.mjs +88 -0
  118. package/esm2022/lib/services/key-pressed.service.mjs +37 -0
  119. package/esm2022/lib/services/resize-window-observer.service.mjs +33 -0
  120. package/esm2022/lib/services/selected-objects-state.service.mjs +123 -0
  121. package/esm2022/lib/store/fast-query-store.service.mjs +110 -0
  122. package/esm2022/lib/store/index.mjs +2 -0
  123. package/esm2022/lib/types/event.types.mjs +2 -0
  124. package/esm2022/lib/types/hasura.types.mjs +2 -0
  125. package/esm2022/lib/types/index.mjs +7 -0
  126. package/esm2022/lib/types/inputs.types.mjs +19 -0
  127. package/esm2022/lib/types/params.types.mjs +2 -0
  128. package/esm2022/lib/types/register-base.types.mjs +6 -0
  129. package/esm2022/lib/types/sub-types.mjs +2 -0
  130. package/esm2022/lib/types/user-profile.types.mjs +2 -0
  131. package/esm2022/lib/utils/functions.mjs +10 -0
  132. package/esm2022/lib/utils/get-url-segment.mjs +35 -0
  133. package/esm2022/lib/utils/index.mjs +5 -0
  134. package/esm2022/lib/utils/prizm.shared.module.mjs +284 -0
  135. package/esm2022/lib/utils/rxjs.mjs +28 -0
  136. package/esm2022/lib/utils/select-all-utils.mjs +11 -0
  137. package/esm2022/ngx-register-base.mjs +5 -0
  138. package/esm2022/public-api.mjs +9 -0
  139. package/fesm2022/ngx-register-base.mjs +7487 -0
  140. package/fesm2022/ngx-register-base.mjs.map +1 -0
  141. package/index.d.ts +5 -0
  142. package/lib/components/checkbox-selector/checkbox-selector.component.d.ts +33 -0
  143. package/lib/components/checkbox-selector/checkbox-selector.types.d.ts +7 -0
  144. package/lib/components/column-settings/column-settings.component.d.ts +80 -0
  145. package/lib/components/column-settings/components/column-settings-template/column-settings-template.component.d.ts +24 -0
  146. package/lib/components/column-settings/consts/column-settings.consts.d.ts +8 -0
  147. package/lib/components/column-settings/types/column-settings.types.d.ts +22 -0
  148. package/lib/components/divider/divider.component.d.ts +6 -0
  149. package/lib/components/filter-button/filter-button.component.d.ts +8 -0
  150. package/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.d.ts +14 -0
  151. package/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.d.ts +25 -0
  152. package/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.d.ts +39 -0
  153. package/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.d.ts +41 -0
  154. package/lib/components/filters/components/filter-list/filter-list.service.d.ts +20 -0
  155. package/lib/components/filters/components/filter-list/filters-section/filters-section.component.d.ts +15 -0
  156. package/lib/components/filters/components/filter-list.module.d.ts +15 -0
  157. package/lib/components/filters/register-table-filter.component.d.ts +40 -0
  158. package/lib/components/filters/register-table-filter.module.d.ts +13 -0
  159. package/lib/components/inputs/inputs.module.d.ts +31 -0
  160. package/lib/components/inputs/param-calendar-year/param-calendar-year.component.d.ts +19 -0
  161. package/lib/components/inputs/param-custom/param-custom.component.d.ts +6 -0
  162. package/lib/components/inputs/param-date/param-date.component.d.ts +20 -0
  163. package/lib/components/inputs/param-date-range/param-date-range.component.d.ts +26 -0
  164. package/lib/components/inputs/param-date-time/param-date-time.component.d.ts +25 -0
  165. package/lib/components/inputs/param-date-time-range/param-date-time-range.component.d.ts +28 -0
  166. package/lib/components/inputs/param-month/param-month.component.d.ts +18 -0
  167. package/lib/components/inputs/param-month-range/param-month-range.component.d.ts +21 -0
  168. package/lib/components/inputs/param-multi-select/param-multi-select.component.d.ts +46 -0
  169. package/lib/components/inputs/param-select/param-select.component.d.ts +34 -0
  170. package/lib/components/inputs/param-switcher/param-switcher.component.d.ts +8 -0
  171. package/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.d.ts +2 -0
  172. package/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.d.ts +19 -0
  173. package/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.d.ts +8 -0
  174. package/lib/components/inputs/param-text/param-text.component.d.ts +10 -0
  175. package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +10 -0
  176. package/lib/components/inputs/param-toggle/param-toggle.component.d.ts +9 -0
  177. package/lib/components/inputs/param-tree/consts/param-tree.consts.d.ts +7 -0
  178. package/lib/components/inputs/param-tree/param-tree.component.d.ts +41 -0
  179. package/lib/components/inputs/param-tree/services/param-tree.service.d.ts +37 -0
  180. package/lib/components/inputs/param-tree/services/sync-tree-loader.service.d.ts +10 -0
  181. package/{src/lib/components/inputs/param-tree/tokens/param-tree.tokens.ts → lib/components/inputs/param-tree/tokens/param-tree.tokens.d.ts} +1 -2
  182. package/lib/components/inputs/param-tree/types/param-tree.types.d.ts +32 -0
  183. package/lib/components/inputs/param-tree/utils/param-tree.utils.d.ts +7 -0
  184. package/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.d.ts +31 -0
  185. package/lib/components/inputs/param-tree-select/param-tree-select.component.d.ts +30 -0
  186. package/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.d.ts +6 -0
  187. package/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.d.ts +5 -0
  188. package/lib/components/menu-constructor/sproc-menu-constructor.component.d.ts +113 -0
  189. package/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.d.ts +24 -0
  190. package/lib/components/menu-constructor/store/sproc-menu-constructor.consts.d.ts +36 -0
  191. package/{src/lib/components/menu-constructor/store/sproc-menu.tokens.ts → lib/components/menu-constructor/store/sproc-menu.tokens.d.ts} +1 -4
  192. package/lib/components/page-menu/schema/sproc-page-menu.consts.d.ts +7 -0
  193. package/lib/components/page-menu/schema/sproc-page-menu.schema.d.ts +30 -0
  194. package/lib/components/page-menu/schema/sproc-page-menu.tokens.d.ts +3 -0
  195. package/lib/components/page-menu/schema/sproc-page-menu.types.d.ts +36 -0
  196. package/lib/components/page-menu/sproc-page-menu.component.d.ts +48 -0
  197. package/lib/components/paginator/paginator.component.d.ts +52 -0
  198. package/lib/components/paginator/types/paginator.types.d.ts +15 -0
  199. package/lib/components/register-table/consts/register-table.consts.d.ts +3 -0
  200. package/lib/components/register-table/directives/cell-template.directive.d.ts +9 -0
  201. package/lib/components/register-table/directives/header-template.directive.d.ts +9 -0
  202. package/lib/components/register-table/model/schema.d.ts +52 -0
  203. package/lib/components/register-table/pipes/class-by-type.pipe.d.ts +8 -0
  204. package/lib/components/register-table/pipes/sticky-column.pipe.d.ts +7 -0
  205. package/lib/components/register-table/register-table.component.d.ts +165 -0
  206. package/lib/components/reset-settings-form/reset-settings-form.component.d.ts +9 -0
  207. package/lib/components/search-input/search-input.component.d.ts +11 -0
  208. package/lib/components/sliding-panel/sliding-panel.component.d.ts +14 -0
  209. package/lib/components/sliding-panel/sliding-panel.module.d.ts +9 -0
  210. package/lib/consts/date-time.consts.d.ts +1 -0
  211. package/lib/consts/index.d.ts +3 -0
  212. package/lib/consts/inputs.consts.d.ts +4 -0
  213. package/lib/consts/month.consts.d.ts +49 -0
  214. package/lib/consts/params.consts.d.ts +1 -0
  215. package/lib/consts/register-base.consts.d.ts +19 -0
  216. package/lib/core/form-group-wrapper/errors-consts.d.ts +5 -0
  217. package/lib/core/form-group-wrapper/form-group-wrapper.d.ts +15 -0
  218. package/lib/core/input-control/input-control.d.ts +11 -0
  219. package/lib/core/param/param-base.d.ts +68 -0
  220. package/lib/core/param/param-date-base.d.ts +18 -0
  221. package/lib/core/param/param-select-base.d.ts +42 -0
  222. package/lib/core/param/param-text-base.d.ts +15 -0
  223. package/{src/lib/core/param/param.tokens.ts → lib/core/param/param.tokens.d.ts} +1 -2
  224. package/lib/core/register-base/register-base.d.ts +168 -0
  225. package/lib/core/register-base/register-base.store.d.ts +35 -0
  226. package/lib/directives/date/date-time.types.d.ts +32 -0
  227. package/lib/directives/date/format-date.pipe.d.ts +10 -0
  228. package/lib/directives/number/number-only.directive.d.ts +10 -0
  229. package/lib/directives/sticky/sticky-relative.directive.d.ts +13 -0
  230. package/lib/directives/sticky/sticky-relative.service.d.ts +15 -0
  231. package/lib/directives/sticky/sticky.directive.d.ts +27 -0
  232. package/lib/services/date-time.service.d.ts +80 -0
  233. package/lib/services/dialog/dialog.service.d.ts +22 -0
  234. package/{src/lib/services/dialog/dialog.types.ts → lib/services/dialog/dialog.types.d.ts} +4 -8
  235. package/lib/services/dom-intersection.service.d.ts +8 -0
  236. package/lib/services/filter/filters-state.service.d.ts +21 -0
  237. package/lib/services/filter/filters-transmit.service.d.ts +28 -0
  238. package/lib/services/filter/filters.service.d.ts +12 -0
  239. package/lib/services/inputs-state.service.d.ts +57 -0
  240. package/lib/services/inputs.service.d.ts +28 -0
  241. package/lib/services/key-pressed.service.d.ts +15 -0
  242. package/lib/services/resize-window-observer.service.d.ts +11 -0
  243. package/lib/services/selected-objects-state.service.d.ts +47 -0
  244. package/lib/store/fast-query-store.service.d.ts +19 -0
  245. package/{src/lib/types/event.types.ts → lib/types/event.types.d.ts} +1 -1
  246. package/lib/types/hasura.types.d.ts +35 -0
  247. package/lib/types/inputs.types.d.ts +41 -0
  248. package/lib/types/params.types.d.ts +27 -0
  249. package/lib/types/register-base.types.d.ts +123 -0
  250. package/lib/types/sub-types.d.ts +8 -0
  251. package/lib/types/user-profile.types.d.ts +17 -0
  252. package/lib/utils/functions.d.ts +3 -0
  253. package/lib/utils/get-url-segment.d.ts +7 -0
  254. package/lib/utils/prizm.shared.module.d.ts +14 -0
  255. package/lib/utils/rxjs.d.ts +10 -0
  256. package/lib/utils/select-all-utils.d.ts +8 -0
  257. package/package.json +15 -12
  258. package/schematics/ng-update/replace-menu-state-token/index.d.ts +2 -0
  259. package/schematics/ng-update/replace-menu-state-token/index.js +29 -0
  260. package/schematics/ng-update/replace-menu-state-token/index.js.map +1 -0
  261. package/schematics/ng-update/update-prefix/index.d.ts +2 -0
  262. package/schematics/ng-update/update-prefix/index.js +33 -0
  263. package/schematics/ng-update/update-prefix/index.js.map +1 -0
  264. package/schematics/utils/{utils.ts → utils.d.ts} +2 -9
  265. package/schematics/utils/utils.js +25 -0
  266. package/schematics/utils/utils.js.map +1 -0
  267. package/ng-package.json +0 -15
  268. package/schematics/ng-update/replace-menu-state-token/index.ts +0 -33
  269. package/schematics/ng-update/update-prefix/index.ts +0 -38
  270. package/src/lib/components/checkbox-selector/checkbox-selector.component.html +0 -91
  271. package/src/lib/components/checkbox-selector/checkbox-selector.component.less +0 -67
  272. package/src/lib/components/checkbox-selector/checkbox-selector.component.ts +0 -176
  273. package/src/lib/components/checkbox-selector/checkbox-selector.types.ts +0 -8
  274. package/src/lib/components/column-settings/column-settings.component.html +0 -160
  275. package/src/lib/components/column-settings/column-settings.component.less +0 -131
  276. package/src/lib/components/column-settings/column-settings.component.ts +0 -352
  277. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.html +0 -65
  278. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.less +0 -79
  279. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.ts +0 -114
  280. package/src/lib/components/column-settings/consts/column-settings.consts.ts +0 -9
  281. package/src/lib/components/column-settings/types/column-settings.types.ts +0 -26
  282. package/src/lib/components/divider/divider.component.html +0 -4
  283. package/src/lib/components/divider/divider.component.less +0 -10
  284. package/src/lib/components/divider/divider.component.ts +0 -12
  285. package/src/lib/components/filter-button/filter-button.component.html +0 -20
  286. package/src/lib/components/filter-button/filter-button.component.less +0 -41
  287. package/src/lib/components/filter-button/filter-button.component.ts +0 -18
  288. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.html +0 -22
  289. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.less +0 -23
  290. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.ts +0 -31
  291. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.html +0 -49
  292. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.less +0 -37
  293. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.ts +0 -66
  294. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.html +0 -147
  295. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.less +0 -45
  296. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.ts +0 -114
  297. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.html +0 -44
  298. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.less +0 -49
  299. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.ts +0 -167
  300. package/src/lib/components/filters/components/filter-list/filter-list.service.ts +0 -97
  301. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.html +0 -18
  302. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.less +0 -55
  303. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.ts +0 -69
  304. package/src/lib/components/filters/components/filter-list.module.ts +0 -29
  305. package/src/lib/components/filters/register-table-filter.component.html +0 -53
  306. package/src/lib/components/filters/register-table-filter.component.less +0 -17
  307. package/src/lib/components/filters/register-table-filter.component.ts +0 -167
  308. package/src/lib/components/filters/register-table-filter.module.ts +0 -22
  309. package/src/lib/components/inputs/inputs.module.ts +0 -104
  310. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.html +0 -49
  311. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.less +0 -70
  312. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.ts +0 -52
  313. package/src/lib/components/inputs/param-custom/param-custom.component.html +0 -1
  314. package/src/lib/components/inputs/param-custom/param-custom.component.ts +0 -9
  315. package/src/lib/components/inputs/param-date/param-date.component.html +0 -55
  316. package/src/lib/components/inputs/param-date/param-date.component.less +0 -67
  317. package/src/lib/components/inputs/param-date/param-date.component.ts +0 -77
  318. package/src/lib/components/inputs/param-date-range/param-date-range.component.html +0 -45
  319. package/src/lib/components/inputs/param-date-range/param-date-range.component.less +0 -75
  320. package/src/lib/components/inputs/param-date-range/param-date-range.component.ts +0 -67
  321. package/src/lib/components/inputs/param-date-time/param-date-time.component.html +0 -70
  322. package/src/lib/components/inputs/param-date-time/param-date-time.component.less +0 -72
  323. package/src/lib/components/inputs/param-date-time/param-date-time.component.ts +0 -101
  324. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.html +0 -67
  325. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.less +0 -103
  326. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.ts +0 -128
  327. package/src/lib/components/inputs/param-month/param-month.component.html +0 -46
  328. package/src/lib/components/inputs/param-month/param-month.component.less +0 -72
  329. package/src/lib/components/inputs/param-month/param-month.component.ts +0 -55
  330. package/src/lib/components/inputs/param-month-range/param-month-range.component.html +0 -39
  331. package/src/lib/components/inputs/param-month-range/param-month-range.component.less +0 -71
  332. package/src/lib/components/inputs/param-month-range/param-month-range.component.ts +0 -76
  333. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.html +0 -84
  334. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.less +0 -108
  335. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.ts +0 -448
  336. package/src/lib/components/inputs/param-select/param-select.component.html +0 -106
  337. package/src/lib/components/inputs/param-select/param-select.component.less +0 -26
  338. package/src/lib/components/inputs/param-select/param-select.component.ts +0 -318
  339. package/src/lib/components/inputs/param-switcher/param-switcher.component.html +0 -8
  340. package/src/lib/components/inputs/param-switcher/param-switcher.component.less +0 -53
  341. package/src/lib/components/inputs/param-switcher/param-switcher.component.ts +0 -13
  342. package/src/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.ts +0 -29
  343. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.html +0 -19
  344. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.less +0 -76
  345. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.ts +0 -134
  346. package/src/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.ts +0 -8
  347. package/src/lib/components/inputs/param-text/param-text.component.html +0 -59
  348. package/src/lib/components/inputs/param-text/param-text.component.less +0 -33
  349. package/src/lib/components/inputs/param-text/param-text.component.ts +0 -36
  350. package/src/lib/components/inputs/param-textarea/param-textarea.component.html +0 -61
  351. package/src/lib/components/inputs/param-textarea/param-textarea.component.less +0 -21
  352. package/src/lib/components/inputs/param-textarea/param-textarea.component.ts +0 -33
  353. package/src/lib/components/inputs/param-toggle/param-toggle.component.html +0 -40
  354. package/src/lib/components/inputs/param-toggle/param-toggle.component.less +0 -69
  355. package/src/lib/components/inputs/param-toggle/param-toggle.component.ts +0 -14
  356. package/src/lib/components/inputs/param-tree/consts/param-tree.consts.ts +0 -59
  357. package/src/lib/components/inputs/param-tree/param-tree.component.html +0 -51
  358. package/src/lib/components/inputs/param-tree/param-tree.component.less +0 -3
  359. package/src/lib/components/inputs/param-tree/param-tree.component.ts +0 -282
  360. package/src/lib/components/inputs/param-tree/services/param-tree.service.ts +0 -176
  361. package/src/lib/components/inputs/param-tree/services/sync-tree-loader.service.ts +0 -18
  362. package/src/lib/components/inputs/param-tree/types/param-tree.types.ts +0 -39
  363. package/src/lib/components/inputs/param-tree/utils/param-tree.utils.ts +0 -18
  364. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.html +0 -78
  365. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.less +0 -109
  366. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.ts +0 -89
  367. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.html +0 -54
  368. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.less +0 -56
  369. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.ts +0 -91
  370. package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.html +0 -5
  371. package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.ts +0 -13
  372. package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.html +0 -4
  373. package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.ts +0 -11
  374. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.html +0 -95
  375. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.less +0 -183
  376. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.ts +0 -687
  377. package/src/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.ts +0 -32
  378. package/src/lib/components/menu-constructor/store/sproc-menu-constructor.consts.ts +0 -46
  379. package/src/lib/components/page-menu/README.md +0 -60
  380. package/src/lib/components/page-menu/schema/sproc-page-menu.consts.ts +0 -8
  381. package/src/lib/components/page-menu/schema/sproc-page-menu.schema.ts +0 -35
  382. package/src/lib/components/page-menu/schema/sproc-page-menu.tokens.ts +0 -5
  383. package/src/lib/components/page-menu/schema/sproc-page-menu.types.ts +0 -42
  384. package/src/lib/components/page-menu/sproc-page-menu.component.html +0 -166
  385. package/src/lib/components/page-menu/sproc-page-menu.component.less +0 -228
  386. package/src/lib/components/page-menu/sproc-page-menu.component.ts +0 -337
  387. package/src/lib/components/paginator/paginator.component.html +0 -97
  388. package/src/lib/components/paginator/paginator.component.less +0 -101
  389. package/src/lib/components/paginator/paginator.component.ts +0 -192
  390. package/src/lib/components/paginator/types/paginator.types.ts +0 -16
  391. package/src/lib/components/register-table/consts/register-table.consts.ts +0 -3
  392. package/src/lib/components/register-table/directives/cell-template.directive.ts +0 -11
  393. package/src/lib/components/register-table/directives/header-template.directive.ts +0 -11
  394. package/src/lib/components/register-table/model/schema.ts +0 -62
  395. package/src/lib/components/register-table/pipes/class-by-type.pipe.ts +0 -28
  396. package/src/lib/components/register-table/pipes/sticky-column.pipe.ts +0 -11
  397. package/src/lib/components/register-table/register-table.component.html +0 -257
  398. package/src/lib/components/register-table/register-table.component.less +0 -151
  399. package/src/lib/components/register-table/register-table.component.ts +0 -743
  400. package/src/lib/components/reset-settings-form/reset-settings-form.component.html +0 -14
  401. package/src/lib/components/reset-settings-form/reset-settings-form.component.less +0 -26
  402. package/src/lib/components/reset-settings-form/reset-settings-form.component.ts +0 -15
  403. package/src/lib/components/search-input/search-input.component.html +0 -6
  404. package/src/lib/components/search-input/search-input.component.less +0 -17
  405. package/src/lib/components/search-input/search-input.component.ts +0 -31
  406. package/src/lib/components/sliding-panel/sliding-panel.component.html +0 -13
  407. package/src/lib/components/sliding-panel/sliding-panel.component.less +0 -112
  408. package/src/lib/components/sliding-panel/sliding-panel.component.ts +0 -36
  409. package/src/lib/components/sliding-panel/sliding-panel.module.ts +0 -11
  410. package/src/lib/consts/date-time.consts.ts +0 -1
  411. package/src/lib/consts/index.ts +0 -8
  412. package/src/lib/consts/inputs.consts.ts +0 -9
  413. package/src/lib/consts/month.consts.ts +0 -82
  414. package/src/lib/consts/params.consts.ts +0 -1
  415. package/src/lib/consts/register-base.consts.ts +0 -40
  416. package/src/lib/core/form-group-wrapper/errors-consts.ts +0 -6
  417. package/src/lib/core/form-group-wrapper/form-group-wrapper.ts +0 -109
  418. package/src/lib/core/input-control/input-control.ts +0 -30
  419. package/src/lib/core/param/param-base.ts +0 -262
  420. package/src/lib/core/param/param-date-base.ts +0 -30
  421. package/src/lib/core/param/param-select-base.ts +0 -118
  422. package/src/lib/core/param/param-text-base.ts +0 -23
  423. package/src/lib/core/register-base/register-base.store.ts +0 -84
  424. package/src/lib/core/register-base/register-base.ts +0 -854
  425. package/src/lib/directives/date/date-time.types.ts +0 -36
  426. package/src/lib/directives/date/format-date.pipe.ts +0 -28
  427. package/src/lib/directives/number/number-only.directive.ts +0 -36
  428. package/src/lib/directives/sticky/sticky-relative.directive.ts +0 -30
  429. package/src/lib/directives/sticky/sticky-relative.service.ts +0 -34
  430. package/src/lib/directives/sticky/sticky.directive.ts +0 -189
  431. package/src/lib/services/date-time.service.ts +0 -399
  432. package/src/lib/services/dialog/dialog.service.ts +0 -62
  433. package/src/lib/services/dom-intersection.service.ts +0 -23
  434. package/src/lib/services/filter/filters-state.service.ts +0 -83
  435. package/src/lib/services/filter/filters-transmit.service.ts +0 -105
  436. package/src/lib/services/filter/filters.service.ts +0 -21
  437. package/src/lib/services/inputs-state.service.ts +0 -157
  438. package/src/lib/services/inputs.service.ts +0 -114
  439. package/src/lib/services/key-pressed.service.ts +0 -40
  440. package/src/lib/services/resize-window-observer.service.ts +0 -37
  441. package/src/lib/services/selected-objects-state.service.ts +0 -159
  442. package/src/lib/store/fast-query-store.service.ts +0 -132
  443. package/src/lib/types/hasura.types.ts +0 -41
  444. package/src/lib/types/inputs.types.ts +0 -63
  445. package/src/lib/types/params.types.ts +0 -42
  446. package/src/lib/types/register-base.types.ts +0 -161
  447. package/src/lib/types/sub-types.ts +0 -15
  448. package/src/lib/types/user-profile.types.ts +0 -18
  449. package/src/lib/utils/functions.ts +0 -11
  450. package/src/lib/utils/get-url-segment.ts +0 -46
  451. package/src/lib/utils/prizm.shared.module.ts +0 -176
  452. package/src/lib/utils/rxjs.ts +0 -33
  453. package/src/lib/utils/select-all-utils.ts +0 -16
  454. package/tsconfig.lib.json +0 -16
  455. package/tsconfig.lib.prod.json +0 -11
  456. package/tsconfig.schematics.json +0 -26
  457. package/tsconfig.spec.json +0 -15
  458. /package/{src/lib/components/column-settings/index.ts → lib/components/column-settings/index.d.ts} +0 -0
  459. /package/{src/lib/components/filters/index.ts → lib/components/filters/index.d.ts} +0 -0
  460. /package/{src/lib/components/index.ts → lib/components/index.d.ts} +0 -0
  461. /package/{src/lib/components/inputs/index.ts → lib/components/inputs/index.d.ts} +0 -0
  462. /package/{src/lib/components/inputs/param-switcher-date-time-range/index.ts → lib/components/inputs/param-switcher-date-time-range/index.d.ts} +0 -0
  463. /package/{src/lib/components/inputs/param-tree/index.ts → lib/components/inputs/param-tree/index.d.ts} +0 -0
  464. /package/{src/lib/components/menu-constructor/index.ts → lib/components/menu-constructor/index.d.ts} +0 -0
  465. /package/{src/lib/components/page-menu/index.ts → lib/components/page-menu/index.d.ts} +0 -0
  466. /package/{src/lib/components/register-table/index.ts → lib/components/register-table/index.d.ts} +0 -0
  467. /package/{src/lib/core/form-group-wrapper/index.ts → lib/core/form-group-wrapper/index.d.ts} +0 -0
  468. /package/{src/lib/core/index.ts → lib/core/index.d.ts} +0 -0
  469. /package/{src/lib/core/input-control/index.ts → lib/core/input-control/index.d.ts} +0 -0
  470. /package/{src/lib/core/param/index.ts → lib/core/param/index.d.ts} +0 -0
  471. /package/{src/lib/core/register-base/index.ts → lib/core/register-base/index.d.ts} +0 -0
  472. /package/{src/lib/directives/index.ts → lib/directives/index.d.ts} +0 -0
  473. /package/{src/lib/directives/sticky/index.ts → lib/directives/sticky/index.d.ts} +0 -0
  474. /package/{src/lib/services/dialog/index.ts → lib/services/dialog/index.d.ts} +0 -0
  475. /package/{src/lib/services/index.ts → lib/services/index.d.ts} +0 -0
  476. /package/{src/lib/store/index.ts → lib/store/index.d.ts} +0 -0
  477. /package/{src/lib/types/index.ts → lib/types/index.d.ts} +0 -0
  478. /package/{src/lib/utils/index.ts → lib/utils/index.d.ts} +0 -0
  479. /package/{src/public-api.ts → public-api.d.ts} +0 -0
@@ -0,0 +1,130 @@
1
+ import { ChangeDetectionStrategy, Component, inject, } from '@angular/core';
2
+ import { map } from 'rxjs';
3
+ import { SETTINGS_TYPE, USER_PROFILE_LOADER, USER_SETTINGS_LOADER } from '../../../../../consts';
4
+ import { EInputsAction, EInputsState } from '../../../../../types';
5
+ import { getLastSegmentOfPathName } from '../../../../../utils/get-url-segment';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/router";
8
+ import * as i2 from "../../../../../services";
9
+ import * as i3 from "@angular/common";
10
+ import * as i4 from "@prizm-ui/components";
11
+ export class FilterListSavedComponent {
12
+ constructor(_router, _filterStateService, _cdr) {
13
+ this._router = _router;
14
+ this._filterStateService = _filterStateService;
15
+ this._cdr = _cdr;
16
+ this.savedItems = [];
17
+ this.filterStateSubscription = null;
18
+ this.savedFiltersSubscription = null;
19
+ this.selectedFilter = null;
20
+ this._userSettingsStore = inject(USER_SETTINGS_LOADER);
21
+ this._userProfileService = inject(USER_PROFILE_LOADER);
22
+ this.loading$ = this._userSettingsStore.loading$;
23
+ }
24
+ ngOnInit() {
25
+ this.modulePath = getLastSegmentOfPathName(this._router.url);
26
+ this.subscribeOnSettings();
27
+ this.subscribeOnFilterState();
28
+ }
29
+ ngOnDestroy() {
30
+ this.filterStateSubscription?.unsubscribe();
31
+ this.savedFiltersSubscription?.unsubscribe();
32
+ }
33
+ subscribeOnFilterState() {
34
+ this.filterStateSubscription = this._filterStateService.state$.subscribe((state) => {
35
+ if (state.state === EInputsState.SAVED_LIST) {
36
+ this._userSettingsStore.fetchUserSettingsByUserId({
37
+ userId: this._userProfileService.getUserProfile().id,
38
+ settingsType: SETTINGS_TYPE.FILTER,
39
+ moduleName: this.modulePath,
40
+ });
41
+ }
42
+ });
43
+ }
44
+ subscribeOnSettings() {
45
+ this.savedFiltersSubscription = this._userSettingsStore.settings$
46
+ .pipe(map((filters) => filters.map((filter) => ({
47
+ id: filter.id,
48
+ user_id: filter.id_user,
49
+ name: filter.name,
50
+ selected: false,
51
+ favorite: filter.settings.favorite,
52
+ filter: filter.settings.filter,
53
+ settingType: filter.settings_type,
54
+ sourceSettings: filter,
55
+ }))))
56
+ .subscribe((values) => {
57
+ this.savedItems = values.filter((value) => value.settingType === undefined || value.settingType === SETTINGS_TYPE.FILTER);
58
+ this._cdr.markForCheck();
59
+ });
60
+ }
61
+ onSelect(id) {
62
+ this.savedItems = this.savedItems.map((item) => {
63
+ if (id === item.id) {
64
+ this.selectedFilter = item.sourceSettings;
65
+ this._filterStateService.setSelectedSavedFilter(item.sourceSettings);
66
+ return { ...item, selected: true };
67
+ }
68
+ return { ...item, selected: false };
69
+ });
70
+ this._cdr.markForCheck();
71
+ }
72
+ onFavorite(id) {
73
+ const foundedItem = this.savedItems.find((item) => item.id === id);
74
+ const defaultFounded = this.savedItems.find((item) => item.favorite && item.id !== id);
75
+ if (!foundedItem) {
76
+ return;
77
+ }
78
+ foundedItem.favorite = !foundedItem.favorite;
79
+ if (defaultFounded) {
80
+ this.savedItems = this.savedItems.map((item) => {
81
+ const newItem = { ...item };
82
+ if (item.sourceSettings.id === defaultFounded.sourceSettings.id) {
83
+ newItem.favorite = false;
84
+ }
85
+ return newItem;
86
+ });
87
+ this._userSettingsStore.updateUserSettingsSettingsById({
88
+ id: defaultFounded.sourceSettings.id,
89
+ settings: {
90
+ ...defaultFounded.sourceSettings.settings,
91
+ favorite: false,
92
+ },
93
+ });
94
+ }
95
+ this._userSettingsStore.updateUserSettingsSettingsById({
96
+ id,
97
+ settings: {
98
+ ...foundedItem.sourceSettings.settings,
99
+ favorite: foundedItem.favorite,
100
+ },
101
+ });
102
+ this._cdr.markForCheck();
103
+ }
104
+ onEdit(id) {
105
+ const foundedFilter = this.savedItems.find((item) => id === item.id);
106
+ if (foundedFilter) {
107
+ this._filterStateService.setSelectedSavedFilter(foundedFilter.sourceSettings);
108
+ this._filterStateService.setState({
109
+ state: EInputsState.ON_EDIT_FILTER,
110
+ action: EInputsAction.EDIT_FILTER,
111
+ });
112
+ }
113
+ }
114
+ onDelete(id) {
115
+ const foundedIndex = this.savedItems.findIndex((item) => item.id === id);
116
+ if (foundedIndex === -1) {
117
+ return;
118
+ }
119
+ this.savedItems.splice(foundedIndex, 1);
120
+ this._userSettingsStore.deleteUserSettingsById({ id });
121
+ this._cdr.markForCheck();
122
+ }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListSavedComponent, deps: [{ token: i1.Router }, { token: i2.FiltersStateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
124
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterListSavedComponent, selector: "sproc-filter-list-saved", ngImport: i0, template: "<div class=\"sproc-filter-list-saved\">\n <prizm-loader [showLoader]=\"$any(loading$ | async)\" [overlay]=\"true\">\n <span *ngIf=\"savedItems.length === 0\" class=\"input-text-12px\"\n >\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B\u0445 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\n </span>\n <div\n *ngFor=\"let item of savedItems; let i = index\"\n [class.selected]=\"item.selected\"\n class=\"sproc-filter-list-saved-item\"\n (click)=\"onSelect(item.id)\"\n >\n <div class=\"input-text-12px\">{{ item.name }}</div>\n\n <div class=\"sproc-filter-list-saved-item-action-buttons\">\n <button\n [icon]=\"item.favorite ? 'social-star-fill' : 'social-star'\"\n prizmIconButton\n appearanceType=\"ghost\"\n [appearance]=\"item.favorite ? 'primary' : 'secondary'\"\n size=\"xl\"\n (click)=\"onFavorite(item.id)\"\n ></button>\n\n <button\n [icon]=\"'editor-mode'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onEdit(item.id)\"\n ></button>\n\n <button\n [icon]=\"'delete'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onDelete(item.id)\"\n ></button>\n </div>\n </div>\n </prizm-loader>\n</div>\n", styles: [":host .sproc-filter-list-saved{display:flex;flex-direction:column;padding:8px 0;gap:1px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:32px;padding:0 8px 0 16px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons{display:flex;flex-direction:row}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons button{height:32px;min-height:32px;width:32px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper{background-color:transparent}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper :hover{color:var(--brand-blue)}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper .prizm-icon-16.social-star-fill:before{color:var(--brand-blue)!important}:host .sproc-filter-list-saved .sproc-filter-list-saved-item:hover{background-color:var(--brand-hovered);cursor:pointer}:host .selected{background-color:#d0edff!important}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PrizmButtonComponent, selector: "button[prizmButton], button[prizmIconButton], a[prizmButton], a[prizmIconButton]", inputs: ["size", "icon", "iconRight", "appearance", "appearanceType", "disabled", "showLoader"] }, { kind: "component", type: i4.PrizmLoaderComponent, selector: "prizm-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
125
+ }
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListSavedComponent, decorators: [{
127
+ type: Component,
128
+ args: [{ selector: 'sproc-filter-list-saved', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sproc-filter-list-saved\">\n <prizm-loader [showLoader]=\"$any(loading$ | async)\" [overlay]=\"true\">\n <span *ngIf=\"savedItems.length === 0\" class=\"input-text-12px\"\n >\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u044B\u0445 \u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E\n </span>\n <div\n *ngFor=\"let item of savedItems; let i = index\"\n [class.selected]=\"item.selected\"\n class=\"sproc-filter-list-saved-item\"\n (click)=\"onSelect(item.id)\"\n >\n <div class=\"input-text-12px\">{{ item.name }}</div>\n\n <div class=\"sproc-filter-list-saved-item-action-buttons\">\n <button\n [icon]=\"item.favorite ? 'social-star-fill' : 'social-star'\"\n prizmIconButton\n appearanceType=\"ghost\"\n [appearance]=\"item.favorite ? 'primary' : 'secondary'\"\n size=\"xl\"\n (click)=\"onFavorite(item.id)\"\n ></button>\n\n <button\n [icon]=\"'editor-mode'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onEdit(item.id)\"\n ></button>\n\n <button\n [icon]=\"'delete'\"\n prizmIconButton\n appearanceType=\"ghost\"\n appearance=\"secondary\"\n size=\"xl\"\n (click)=\"onDelete(item.id)\"\n ></button>\n </div>\n </div>\n </prizm-loader>\n</div>\n", styles: [":host .sproc-filter-list-saved{display:flex;flex-direction:column;padding:8px 0;gap:1px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;height:32px;padding:0 8px 0 16px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons{display:flex;flex-direction:row}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons button{height:32px;min-height:32px;width:32px}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper{background-color:transparent}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper :hover{color:var(--brand-blue)}:host .sproc-filter-list-saved .sproc-filter-list-saved-item .sproc-filter-list-saved-item-action-buttons ::ng-deep prizm-wrapper .prizm-icon-16.social-star-fill:before{color:var(--brand-blue)!important}:host .sproc-filter-list-saved .sproc-filter-list-saved-item:hover{background-color:var(--brand-hovered);cursor:pointer}:host .selected{background-color:#d0edff!important}\n"] }]
129
+ }], ctorParameters: () => [{ type: i1.Router }, { type: i2.FiltersStateService }, { type: i0.ChangeDetectorRef }] });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxpc3Qtc2F2ZWQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvY29tcG9uZW50cy9maWx0ZXItbGlzdC9maWx0ZXItbGlzdC1zYXZlZC9maWx0ZXItbGlzdC1zYXZlZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9jb21wb25lbnRzL2ZpbHRlci1saXN0L2ZpbHRlci1saXN0LXNhdmVkL2ZpbHRlci1saXN0LXNhdmVkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsR0FBRyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6QyxPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakcsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQW1CLE1BQU0sc0JBQXNCLENBQUM7QUFFcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7OztBQW1CaEYsTUFBTSxPQUFPLHdCQUF3QjtJQWFuQyxZQUNtQixPQUFlLEVBQ2YsbUJBQTZDLEVBQzdDLElBQXVCO1FBRnZCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTBCO1FBQzdDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBZm5DLGVBQVUsR0FBdUIsRUFBRSxDQUFDO1FBRW5DLDRCQUF1QixHQUF3QixJQUFJLENBQUM7UUFD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Q3hCLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDOytHQXJJVSx3QkFBd0I7bUdBQXhCLHdCQUF3QiwrRENoQ3JDLDgvQ0E0Q0E7OzRGRFphLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgaW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgbWFwLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNFVFRJTkdTX1RZUEUsIFVTRVJfUFJPRklMRV9MT0FERVIsIFVTRVJfU0VUVElOR1NfTE9BREVSIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RzJztcbmltcG9ydCB7IEVJbnB1dHNBY3Rpb24sIEVJbnB1dHNTdGF0ZSwgSVRwVXNlclNldHRpbmdzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRmlsdGVyc1N0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IGdldExhc3RTZWdtZW50T2ZQYXRoTmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzL2dldC11cmwtc2VnbWVudCc7XG5cbmludGVyZmFjZSBJRmlsdGVyU2F2ZWRJdGVtIHtcbiAgaWQ6IHN0cmluZztcbiAgdXNlcl9pZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGZhdm9yaXRlOiBib29sZWFuO1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgZmlsdGVyOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzZXR0aW5nVHlwZTogU0VUVElOR1NfVFlQRTtcbiAgc291cmNlU2V0dGluZ3M6IElUcFVzZXJTZXR0aW5ncztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtZmlsdGVyLWxpc3Qtc2F2ZWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLWxpc3Qtc2F2ZWQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItbGlzdC1zYXZlZC5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRmlsdGVyTGlzdFNhdmVkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgc2F2ZWRJdGVtczogSUZpbHRlclNhdmVkSXRlbVtdID0gW107XG5cbiAgcHJpdmF0ZSBmaWx0ZXJTdGF0ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgc2F2ZWRGaWx0ZXJzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBzZWxlY3RlZEZpbHRlcjogSVRwVXNlclNldHRpbmdzIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgbW9kdWxlUGF0aD86IHN0cmluZztcblxuICBwcml2YXRlIHJlYWRvbmx5IF91c2VyU2V0dGluZ3NTdG9yZSA9IGluamVjdChVU0VSX1NFVFRJTkdTX0xPQURFUik7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3VzZXJQcm9maWxlU2VydmljZSA9IGluamVjdChVU0VSX1BST0ZJTEVfTE9BREVSKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgbG9hZGluZyQgPSB0aGlzLl91c2VyU2V0dGluZ3NTdG9yZS5sb2FkaW5nJDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9maWx0ZXJTdGF0ZVNlcnZpY2U6IEZpbHRlcnNTdGF0ZVNlcnZpY2U8YW55PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9jZHI6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5tb2R1bGVQYXRoID0gZ2V0TGFzdFNlZ21lbnRPZlBhdGhOYW1lKHRoaXMuX3JvdXRlci51cmwpO1xuICAgIHRoaXMuc3Vic2NyaWJlT25TZXR0aW5ncygpO1xuICAgIHRoaXMuc3Vic2NyaWJlT25GaWx0ZXJTdGF0ZSgpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVyU3RhdGVTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uRmlsdGVyU3RhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5maWx0ZXJTdGF0ZVN1YnNjcmlwdGlvbiA9IHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zdGF0ZSQuc3Vic2NyaWJlKChzdGF0ZSkgPT4ge1xuICAgICAgaWYgKHN0YXRlLnN0YXRlID09PSBFSW5wdXRzU3RhdGUuU0FWRURfTElTVCkge1xuICAgICAgICB0aGlzLl91c2VyU2V0dGluZ3NTdG9yZS5mZXRjaFVzZXJTZXR0aW5nc0J5VXNlcklkKHtcbiAgICAgICAgICB1c2VySWQ6IHRoaXMuX3VzZXJQcm9maWxlU2VydmljZS5nZXRVc2VyUHJvZmlsZSgpLmlkLFxuICAgICAgICAgIHNldHRpbmdzVHlwZTogU0VUVElOR1NfVFlQRS5GSUxURVIsXG4gICAgICAgICAgbW9kdWxlTmFtZTogdGhpcy5tb2R1bGVQYXRoISxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZU9uU2V0dGluZ3MoKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlZEZpbHRlcnNTdWJzY3JpcHRpb24gPSB0aGlzLl91c2VyU2V0dGluZ3NTdG9yZS5zZXR0aW5ncyRcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGZpbHRlcnMpID0+XG4gICAgICAgICAgZmlsdGVycy5tYXAoKGZpbHRlcikgPT4gKHtcbiAgICAgICAgICAgIGlkOiBmaWx0ZXIuaWQsXG4gICAgICAgICAgICB1c2VyX2lkOiBmaWx0ZXIuaWRfdXNlcixcbiAgICAgICAgICAgIG5hbWU6IGZpbHRlci5uYW1lLFxuICAgICAgICAgICAgc2VsZWN0ZWQ6IGZhbHNlLFxuICAgICAgICAgICAgZmF2b3JpdGU6IGZpbHRlci5zZXR0aW5ncy5mYXZvcml0ZSEsXG4gICAgICAgICAgICBmaWx0ZXI6IGZpbHRlci5zZXR0aW5ncy5maWx0ZXIhLFxuICAgICAgICAgICAgc2V0dGluZ1R5cGU6IGZpbHRlci5zZXR0aW5nc190eXBlLFxuICAgICAgICAgICAgc291cmNlU2V0dGluZ3M6IGZpbHRlcixcbiAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWVzKSA9PiB7XG4gICAgICAgIHRoaXMuc2F2ZWRJdGVtcyA9IHZhbHVlcy5maWx0ZXIoXG4gICAgICAgICAgKHZhbHVlKSA9PiB2YWx1ZS5zZXR0aW5nVHlwZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlLnNldHRpbmdUeXBlID09PSBTRVRUSU5HU19UWVBFLkZJTFRFUlxuICAgICAgICApO1xuICAgICAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zYXZlZEl0ZW1zID0gdGhpcy5zYXZlZEl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGlkID09PSBpdGVtLmlkKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXIgPSBpdGVtLnNvdXJjZVNldHRpbmdzO1xuICAgICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0U2VsZWN0ZWRTYXZlZEZpbHRlcihpdGVtLnNvdXJjZVNldHRpbmdzKTtcbiAgICAgICAgcmV0dXJuIHsgLi4uaXRlbSwgc2VsZWN0ZWQ6IHRydWUgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IC4uLml0ZW0sIHNlbGVjdGVkOiBmYWxzZSB9O1xuICAgIH0pO1xuICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkZhdm9yaXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3VuZGVkSXRlbSA9IHRoaXMuc2F2ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCk7XG4gICAgY29uc3QgZGVmYXVsdEZvdW5kZWQgPSB0aGlzLnNhdmVkSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5mYXZvcml0ZSAmJiBpdGVtLmlkICE9PSBpZCk7XG4gICAgaWYgKCFmb3VuZGVkSXRlbSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3VuZGVkSXRlbS5mYXZvcml0ZSA9ICFmb3VuZGVkSXRlbS5mYXZvcml0ZTtcblxuICAgIGlmIChkZWZhdWx0Rm91bmRlZCkge1xuICAgICAgdGhpcy5zYXZlZEl0ZW1zID0gdGhpcy5zYXZlZEl0ZW1zLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBuZXdJdGVtID0geyAuLi5pdGVtIH07XG5cbiAgICAgICAgaWYgKGl0ZW0uc291cmNlU2V0dGluZ3MuaWQgPT09IGRlZmF1bHRGb3VuZGVkLnNvdXJjZVNldHRpbmdzLmlkKSB7XG4gICAgICAgICAgbmV3SXRlbS5mYXZvcml0ZSA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG5ld0l0ZW07XG4gICAgICB9KTtcbiAgICAgIHRoaXMuX3VzZXJTZXR0aW5nc1N0b3JlLnVwZGF0ZVVzZXJTZXR0aW5nc1NldHRpbmdzQnlJZCh7XG4gICAgICAgIGlkOiBkZWZhdWx0Rm91bmRlZC5zb3VyY2VTZXR0aW5ncy5pZCxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICAuLi5kZWZhdWx0Rm91bmRlZC5zb3VyY2VTZXR0aW5ncy5zZXR0aW5ncyxcbiAgICAgICAgICBmYXZvcml0ZTogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5fdXNlclNldHRpbmdzU3RvcmUudXBkYXRlVXNlclNldHRpbmdzU2V0dGluZ3NCeUlkKHtcbiAgICAgIGlkLFxuICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgLi4uZm91bmRlZEl0ZW0uc291cmNlU2V0dGluZ3Muc2V0dGluZ3MsXG4gICAgICAgIGZhdm9yaXRlOiBmb3VuZGVkSXRlbS5mYXZvcml0ZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5fY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIG9uRWRpdChpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgZm91bmRlZEZpbHRlciA9IHRoaXMuc2F2ZWRJdGVtcy5maW5kKChpdGVtKSA9PiBpZCA9PT0gaXRlbS5pZCk7XG4gICAgaWYgKGZvdW5kZWRGaWx0ZXIpIHtcbiAgICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRTZWxlY3RlZFNhdmVkRmlsdGVyKGZvdW5kZWRGaWx0ZXIuc291cmNlU2V0dGluZ3MpO1xuICAgICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgc3RhdGU6IEVJbnB1dHNTdGF0ZS5PTl9FRElUX0ZJTFRFUixcbiAgICAgICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLkVESVRfRklMVEVSLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uRGVsZXRlKGlkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBmb3VuZGVkSW5kZXggPSB0aGlzLnNhdmVkSXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLmlkID09PSBpZCk7XG4gICAgaWYgKGZvdW5kZWRJbmRleCA9PT0gLTEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zYXZlZEl0ZW1zLnNwbGljZShmb3VuZGVkSW5kZXgsIDEpO1xuICAgIHRoaXMuX3VzZXJTZXR0aW5nc1N0b3JlLmRlbGV0ZVVzZXJTZXR0aW5nc0J5SWQoeyBpZCB9KTtcbiAgICB0aGlzLl9jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzcHJvYy1maWx0ZXItbGlzdC1zYXZlZFwiPlxuICA8cHJpem0tbG9hZGVyIFtzaG93TG9hZGVyXT1cIiRhbnkobG9hZGluZyQgfCBhc3luYylcIiBbb3ZlcmxheV09XCJ0cnVlXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJzYXZlZEl0ZW1zLmxlbmd0aCA9PT0gMFwiIGNsYXNzPVwiaW5wdXQtdGV4dC0xMnB4XCJcbiAgICAgID7QodC+0YXRgNCw0L3QtdC90YvRhSDRhNC40LvRjNGC0YDQvtCyINC90LUg0L3QsNC50LTQtdC90L5cbiAgICA8L3NwYW4+XG4gICAgPGRpdlxuICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc2F2ZWRJdGVtczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICBjbGFzcz1cInNwcm9jLWZpbHRlci1saXN0LXNhdmVkLWl0ZW1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0uaWQpXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtdGV4dC0xMnB4XCI+e3sgaXRlbS5uYW1lIH19PC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcHJvYy1maWx0ZXItbGlzdC1zYXZlZC1pdGVtLWFjdGlvbi1idXR0b25zXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbaWNvbl09XCJpdGVtLmZhdm9yaXRlID8gJ3NvY2lhbC1zdGFyLWZpbGwnIDogJ3NvY2lhbC1zdGFyJ1wiXG4gICAgICAgICAgcHJpem1JY29uQnV0dG9uXG4gICAgICAgICAgYXBwZWFyYW5jZVR5cGU9XCJnaG9zdFwiXG4gICAgICAgICAgW2FwcGVhcmFuY2VdPVwiaXRlbS5mYXZvcml0ZSA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICBzaXplPVwieGxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkZhdm9yaXRlKGl0ZW0uaWQpXCJcbiAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBbaWNvbl09XCInZWRpdG9yLW1vZGUnXCJcbiAgICAgICAgICBwcml6bUljb25CdXR0b25cbiAgICAgICAgICBhcHBlYXJhbmNlVHlwZT1cImdob3N0XCJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBzaXplPVwieGxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkVkaXQoaXRlbS5pZClcIlxuICAgICAgICA+PC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIFtpY29uXT1cIidkZWxldGUnXCJcbiAgICAgICAgICBwcml6bUljb25CdXR0b25cbiAgICAgICAgICBhcHBlYXJhbmNlVHlwZT1cImdob3N0XCJcbiAgICAgICAgICBhcHBlYXJhbmNlPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICBzaXplPVwieGxcIlxuICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZShpdGVtLmlkKVwiXG4gICAgICAgID48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L3ByaXptLWxvYWRlcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,89 @@
1
+ import { inject, Injectable } from '@angular/core';
2
+ import { ReplaySubject, take } from 'rxjs';
3
+ import { EInputsAction, EInputsState } from '../../../../types';
4
+ import { SETTINGS_TYPE, USER_SETTINGS_LOADER } from '../../../../consts';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../../../services";
7
+ export class FilterListService {
8
+ constructor(_filtersService, _filterStateService) {
9
+ this._filtersService = _filtersService;
10
+ this._filterStateService = _filterStateService;
11
+ this.apply$ = new ReplaySubject();
12
+ this.settingsStore = inject(USER_SETTINGS_LOADER);
13
+ }
14
+ applyFilter() {
15
+ this.apply$.next(this._filtersService.gqlFilter);
16
+ this._filterStateService.setState({
17
+ state: EInputsState.FILTER_LIST,
18
+ action: EInputsAction.APPLY_FILTERS,
19
+ });
20
+ }
21
+ applySavedFilter() {
22
+ const savedFilter = this._filterStateService.getSelectedSavedFilter();
23
+ if (savedFilter) {
24
+ this._filtersService.setUserSettingsFilterValues(savedFilter.settings?.filter ?? []);
25
+ this._filterStateService.setSelectedSavedFilter(null);
26
+ this._filterStateService.setState({
27
+ state: EInputsState.FILTER_LIST,
28
+ action: EInputsAction.APPLY_SAVED_FILTER,
29
+ });
30
+ this.apply$.next(this._filtersService.gqlFilter);
31
+ }
32
+ else {
33
+ console.error('Выбранный фильтр не найден');
34
+ }
35
+ }
36
+ saveFilter() {
37
+ if (!this.modulePath) {
38
+ console.error('modulePath не инициализирован');
39
+ }
40
+ const saved = this._filterStateService.getSelectedSavedFilter();
41
+ this.settingsStore.upsertEnded$.pipe(take(1)).subscribe(() => {
42
+ this._filterStateService.setSelectedSavedFilter(null);
43
+ this._filterStateService.setState({
44
+ state: EInputsState.SAVED_LIST,
45
+ action: EInputsAction.AFTER_SAVE_FILTER,
46
+ });
47
+ });
48
+ this.settingsStore.upsertUserSettingsByUserId({
49
+ settings: {
50
+ id: saved?.id ?? undefined,
51
+ name: this._filterStateService.name,
52
+ settings: {
53
+ favorite: saved?.settings?.favorite ?? false,
54
+ filter: this._filtersService.userSettingsFilter,
55
+ },
56
+ module_name: this.modulePath,
57
+ settings_type: SETTINGS_TYPE.FILTER,
58
+ },
59
+ });
60
+ }
61
+ clear() {
62
+ this._filtersService.clear();
63
+ }
64
+ savePinnedFilters() {
65
+ this.settingsStore
66
+ .upsertReturningOne$(SETTINGS_TYPE.REGISTER_PINNED_INPUTS)
67
+ .subscribe((setting) => {
68
+ this._pinnedFilterSetting = setting ?? undefined;
69
+ });
70
+ this.settingsStore.upsertUserSettingsByUserId({
71
+ settings: {
72
+ id: this._pinnedFilterSetting?.id,
73
+ settings: {
74
+ filter: this._filtersService.userSettingsFilter,
75
+ pinned: this._filterStateService.isPin,
76
+ },
77
+ module_name: this.modulePath,
78
+ settings_type: SETTINGS_TYPE.REGISTER_PINNED_INPUTS,
79
+ },
80
+ hidden: true,
81
+ });
82
+ }
83
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListService, deps: [{ token: i1.FiltersService }, { token: i1.FiltersStateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
84
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListService }); }
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListService, decorators: [{
87
+ type: Injectable
88
+ }], ctorParameters: () => [{ type: i1.FiltersService }, { type: i1.FiltersStateService }] });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxpc3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2NvbXBvbmVudHMvZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBOEIsTUFBTSxtQkFBbUIsQ0FBQztBQUU1RixPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7OztBQUd6RSxNQUFNLE9BQU8saUJBQWlCO0lBUzVCLFlBQ21CLGVBQW9DLEVBQ3BDLG1CQUE2QztRQUQ3QyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFDcEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUEwQjtRQVZoRCxXQUFNLEdBQUcsSUFBSSxhQUFhLEVBQWEsQ0FBQztRQU12QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0lBSzNELENBQUM7SUFFRyxXQUFXO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztZQUNoQyxLQUFLLEVBQUUsWUFBWSxDQUFDLFdBQVc7WUFDL0IsTUFBTSxFQUFFLGFBQWEsQ0FBQyxhQUFhO1NBQ3BDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFD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YixDQUFDLENBQUM7SUFDTCxDQUFDOytHQXhGVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRUlucHV0c0FjdGlvbiwgRUlucHV0c1N0YXRlLCBHcWxGaWVsZHMsIElUcFVzZXJTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEZpbHRlcnNTZXJ2aWNlLCBGaWx0ZXJzU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU0VUVElOR1NfVFlQRSwgVVNFUl9TRVRUSU5HU19MT0FERVIgfSBmcm9tICcuLi8uLi8uLi8uLi9jb25zdHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRmlsdGVyTGlzdFNlcnZpY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgYXBwbHkkID0gbmV3IFJlcGxheVN1YmplY3Q8R3FsRmllbGRzPigpO1xuXG4gIHB1YmxpYyBtb2R1bGVQYXRoITogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3Bpbm5lZEZpbHRlclNldHRpbmc6IElUcFVzZXJTZXR0aW5ncyB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHNldHRpbmdzU3RvcmUgPSBpbmplY3QoVVNFUl9TRVRUSU5HU19MT0FERVIpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlcnNTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZTxhbnk+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlclN0YXRlU2VydmljZTogRmlsdGVyc1N0YXRlU2VydmljZTxhbnk+XG4gICkge31cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5hcHBseSQubmV4dCh0aGlzLl9maWx0ZXJzU2VydmljZS5ncWxGaWx0ZXIpO1xuICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICBzdGF0ZTogRUlucHV0c1N0YXRlLkZJTFRFUl9MSVNULFxuICAgICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLkFQUExZX0ZJTFRFUlMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHlTYXZlZEZpbHRlcigpOiB2b2lkIHtcbiAgICBjb25zdCBzYXZlZEZpbHRlciA9IHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5nZXRTZWxlY3RlZFNhdmVkRmlsdGVyKCk7XG4gICAgaWYgKHNhdmVkRmlsdGVyKSB7XG4gICAgICB0aGlzLl9maWx0ZXJzU2VydmljZS5zZXRVc2VyU2V0dGluZ3NGaWx0ZXJWYWx1ZXMoc2F2ZWRGaWx0ZXIuc2V0dGluZ3M/LmZpbHRlciA/PyBbXSk7XG4gICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0U2VsZWN0ZWRTYXZlZEZpbHRlcihudWxsKTtcbiAgICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRTdGF0ZSh7XG4gICAgICAgIHN0YXRlOiBFSW5wdXRzU3RhdGUuRklMVEVSX0xJU1QsXG4gICAgICAgIGFjdGlvbjogRUlucHV0c0FjdGlvbi5BUFBMWV9TQVZFRF9GSUxURVIsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXBwbHkkLm5leHQodGhpcy5fZmlsdGVyc1NlcnZpY2UuZ3FsRmlsdGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcign0JLRi9Cx0YDQsNC90L3Ri9C5INGE0LjQu9GM0YLRgCDQvdC1INC90LDQudC00LXQvScpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzYXZlRmlsdGVyKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tb2R1bGVQYXRoKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdtb2R1bGVQYXRoINC90LUg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNC9Jyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2F2ZWQgPSB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2UuZ2V0U2VsZWN0ZWRTYXZlZEZpbHRlcigpO1xuICAgIHRoaXMuc2V0dGluZ3NTdG9yZS51cHNlcnRFbmRlZCQucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldFNlbGVjdGVkU2F2ZWRGaWx0ZXIobnVsbCk7XG4gICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0U3RhdGUoe1xuICAgICAgICBzdGF0ZTogRUlucHV0c1N0YXRlLlNBVkVEX0xJU1QsXG4gICAgICAgIGFjdGlvbjogRUlucHV0c0FjdGlvbi5BRlRFUl9TQVZFX0ZJTFRFUixcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgdGhpcy5zZXR0aW5nc1N0b3JlLnVwc2VydFVzZXJTZXR0aW5nc0J5VXNlcklkKHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGlkOiBzYXZlZD8uaWQgPz8gdW5kZWZpbmVkLFxuICAgICAgICBuYW1lOiB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2UubmFtZSxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBmYXZvcml0ZTogc2F2ZWQ/LnNldHRpbmdzPy5mYXZvcml0ZSA/PyBmYWxzZSxcbiAgICAgICAgICBmaWx0ZXI6IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnVzZXJTZXR0aW5nc0ZpbHRlcixcbiAgICAgICAgfSxcbiAgICAgICAgbW9kdWxlX25hbWU6IHRoaXMubW9kdWxlUGF0aCxcbiAgICAgICAgc2V0dGluZ3NfdHlwZTogU0VUVElOR1NfVFlQRS5GSUxURVIsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsZWFyKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLmNsZWFyKCk7XG4gIH1cblxuICBwdWJsaWMgc2F2ZVBpbm5lZEZpbHRlcnMoKTogdm9pZCB7XG4gICAgdGhpcy5zZXR0aW5nc1N0b3JlXG4gICAgICAudXBzZXJ0UmV0dXJuaW5nT25lJChTRVRUSU5HU19UWVBFLlJFR0lTVEVSX1BJTk5FRF9JTlBVVFMpXG4gICAgICAuc3Vic2NyaWJlKChzZXR0aW5nKSA9PiB7XG4gICAgICAgIHRoaXMuX3Bpbm5lZEZpbHRlclNldHRpbmcgPSBzZXR0aW5nID8/IHVuZGVmaW5lZDtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zZXR0aW5nc1N0b3JlLnVwc2VydFVzZXJTZXR0aW5nc0J5VXNlcklkKHtcbiAgICAgIHNldHRpbmdzOiB7XG4gICAgICAgIGlkOiB0aGlzLl9waW5uZWRGaWx0ZXJTZXR0aW5nPy5pZCxcbiAgICAgICAgc2V0dGluZ3M6IHtcbiAgICAgICAgICBmaWx0ZXI6IHRoaXMuX2ZpbHRlcnNTZXJ2aWNlLnVzZXJTZXR0aW5nc0ZpbHRlcixcbiAgICAgICAgICBwaW5uZWQ6IHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5pc1BpbixcbiAgICAgICAgfSxcbiAgICAgICAgbW9kdWxlX25hbWU6IHRoaXMubW9kdWxlUGF0aCxcbiAgICAgICAgc2V0dGluZ3NfdHlwZTogU0VUVElOR1NfVFlQRS5SRUdJU1RFUl9QSU5ORURfSU5QVVRTLFxuICAgICAgfSxcbiAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { ChangeDetectionStrategy, Component, computed, contentChildren, inject, Injector, input, runInInjectionContext, signal, } from '@angular/core';
2
+ import { NgControl } from '@angular/forms';
3
+ import { combineLatest, of, switchMap } from 'rxjs';
4
+ import { toObservable, toSignal } from '@angular/core/rxjs-interop';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@prizm-ui/icons";
7
+ export class FiltersSectionComponent {
8
+ constructor() {
9
+ this.controls = contentChildren(NgControl, { descendants: true });
10
+ this.label = input('');
11
+ this.isOpen = signal(true);
12
+ this.haveAppliedFilters = computed(() => this._sameControlApplied());
13
+ this._sameControlApplied = computed(() => this._checkSomeControlApplied());
14
+ this._controlsChanges = toSignal(toObservable(this.controls).pipe(switchMap((controls) => combineLatest(controls.map(({ control }) => runInInjectionContext(this._injector, () => {
15
+ const applied = control?.applied;
16
+ return applied ? toObservable(applied) : of(false);
17
+ }))))), { initialValue: [] });
18
+ this._injector = inject(Injector);
19
+ }
20
+ toggleHeader() {
21
+ this.isOpen.update((isOpen) => !isOpen);
22
+ }
23
+ _checkSomeControlApplied() {
24
+ return this._controlsChanges().some((controlValue) => {
25
+ if (!controlValue) {
26
+ return false;
27
+ }
28
+ if (Array.isArray(controlValue)) {
29
+ return controlValue.some((value) => !!value);
30
+ }
31
+ return true;
32
+ });
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FiltersSectionComponent, selector: "sproc-filters-section", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "controls", predicate: NgControl, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"panel-head\" (click)=\"toggleHeader()\">\n <div class=\"title\">\n <span class=\"title__font\">{{ label() }}</span>\n @if (haveAppliedFilters()) {\n <div class=\"title__wrapper--relative\">\n <div class=\"title-wrapper--absolute indicator__wrapper\">\n <div class=\"indicator__icon indicator--danger\"></div>\n </div>\n </div>\n }\n </div>\n\n <prizm-icons [name]=\"isOpen() ? 'chevrons-up' : 'chevrons-down'\" size=\"16\"></prizm-icons>\n</div>\n\n<div class=\"filters-block\" [attr.show]=\"isOpen()\">\n <ng-content></ng-content>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host{display:flex;flex-direction:column;padding-top:8px;gap:8px}:host .panel-head{display:flex;justify-content:space-between;padding-right:4px;height:24px;align-items:center;border-bottom:1px solid var(--brand-blue);cursor:pointer}:host .panel-head .title{display:flex;align-items:center;height:20px}:host .panel-head .title__font{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}:host .panel-head .title--has-filters:after{content:\"\";display:block;width:6px;height:6px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}:host .filters-block{display:flex;flex-direction:column;gap:8px;padding:0 2px;transform-origin:top;transition:max-height .4s;overflow:hidden}:host .filters-block[show=true]{max-height:1000px}:host .filters-block[show=false]{max-height:0}\n"], dependencies: [{ kind: "component", type: i1.PrizmIconsComponent, selector: "prizm-icons", inputs: ["name", "color", "size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersSectionComponent, decorators: [{
38
+ type: Component,
39
+ args: [{ selector: 'sproc-filters-section', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"panel-head\" (click)=\"toggleHeader()\">\n <div class=\"title\">\n <span class=\"title__font\">{{ label() }}</span>\n @if (haveAppliedFilters()) {\n <div class=\"title__wrapper--relative\">\n <div class=\"title-wrapper--absolute indicator__wrapper\">\n <div class=\"indicator__icon indicator--danger\"></div>\n </div>\n </div>\n }\n </div>\n\n <prizm-icons [name]=\"isOpen() ? 'chevrons-up' : 'chevrons-down'\" size=\"16\"></prizm-icons>\n</div>\n\n<div class=\"filters-block\" [attr.show]=\"isOpen()\">\n <ng-content></ng-content>\n</div>\n", styles: [".input-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-text-12px,.body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.table-heading-12px{font-family:Inter,serif;font-size:12px;font-weight:500;line-height:16px}.table-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.table-text-12px-400{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:16px}.table-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.button-links-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.button-links-12px-600{font-family:Inter,serif;font-size:12px;font-weight:600;line-height:16px}.button-links-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:16px}.input-label{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:16px}.input-area{font-family:Inter,serif;font-size:12px;font-weight:400;line-height:20px}.static-title-h3{font-family:Inter,serif;font-size:16px;font-weight:600;line-height:20px}.static-title-h4{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.dynamic-title-h4{font-family:Inter,serif;font-size:14px;font-weight:800;line-height:20px}.main-body-text-12px{font-family:Inter,serif;font-size:12px;font-weight:300;line-height:20px}.main-body-text-14px{font-family:Inter,serif;font-size:14px;font-weight:300;line-height:20px}.main-subscription{font-family:Inter,serif;font-size:10px;font-weight:400;line-height:12px}.input-helper-9px{font-family:Inter,serif;font-size:9px;font-weight:300;line-height:12px}.typography-content-text{font-family:Inter,serif;font-size:12px;font-weight:350;line-height:16px}.main-subtitle,.card-content-text{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.filter-header-text{font-family:Inter,serif;font-size:14px;font-weight:500;line-height:18px}.btn-14px{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}.search-11px{font-family:Inter,serif;font-size:11px;font-weight:300;line-height:12px}:root{--input-text-12px: normal 300 12px / 16px \"Inter\";--input-text-14px: normal 300 14px / 16px \"Inter\"}:host{display:flex;flex-direction:column;padding-top:8px;gap:8px}:host .panel-head{display:flex;justify-content:space-between;padding-right:4px;height:24px;align-items:center;border-bottom:1px solid var(--brand-blue);cursor:pointer}:host .panel-head .title{display:flex;align-items:center;height:20px}:host .panel-head .title__font{font-family:Inter,serif;font-size:14px;font-weight:400;line-height:16px}:host .panel-head .title--has-filters:after{content:\"\";display:block;width:6px;height:6px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}:host .filters-block{display:flex;flex-direction:column;gap:8px;padding:0 2px;transform-origin:top;transition:max-height .4s;overflow:hidden}:host .filters-block[show=true]{max-height:1000px}:host .filters-block[show=false]{max-height:0}\n"] }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy1zZWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2NvbXBvbmVudHMvZmlsdGVyLWxpc3QvZmlsdGVycy1zZWN0aW9uL2ZpbHRlcnMtc2VjdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9jb21wb25lbnRzL2ZpbHRlci1saXN0L2ZpbHRlcnMtc2VjdGlvbi9maWx0ZXJzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxxQkFBcUIsRUFDckIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBU3BFLE1BQU0sT0FBTyx1QkFBdUI7SUFOcEM7UUFPUyxhQUFRLEdBQUcsZUFBZSxDQUFZLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFFdkIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0Qix1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztRQUVsRSx3QkFBbUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQztRQUV0RSxxQkFBZ0IsR0FBRyxRQUFRLENBQ2pDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM5QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUNyQixhQUFhLENBQ1gsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUMzQixxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUN6QyxNQUFNLE9BQU8sR0FBSSxPQUF5QixFQUFFLE9BQU8sQ0FBQztZQUVwRCxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQ0YsRUFDRCxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FDckIsQ0FBQztRQUVlLGNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0FtQi9DO0lBakJXLFlBQVk7UUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO1lBQ25ELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3Q1UsdUJBQXVCO21HQUF2Qix1QkFBdUIsME5BQ1csU0FBUyxnRUN2QnhELDBsQkFrQkE7OzRGRElhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkcmVuLFxuICBpbmplY3QsXG4gIEluamVjdG9yLFxuICBpbnB1dCxcbiAgcnVuSW5JbmplY3Rpb25Db250ZXh0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlLCB0b1NpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IElJbnB1dENvbnRyb2wgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3Nwcm9jLWZpbHRlcnMtc2VjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWx0ZXJzLXNlY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXJzLXNlY3Rpb24uY29tcG9uZW50Lmxlc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlcnNTZWN0aW9uQ29tcG9uZW50IHtcbiAgcHVibGljIGNvbnRyb2xzID0gY29udGVudENoaWxkcmVuPE5nQ29udHJvbD4oTmdDb250cm9sLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pO1xuXG4gIHB1YmxpYyBsYWJlbCA9IGlucHV0PHN0cmluZz4oJycpO1xuXG4gIHByb3RlY3RlZCBpc09wZW4gPSBzaWduYWwodHJ1ZSk7XG4gIHByb3RlY3RlZCBoYXZlQXBwbGllZEZpbHRlcnMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9zYW1lQ29udHJvbEFwcGxpZWQoKSk7XG5cbiAgcHJpdmF0ZSBfc2FtZUNvbnRyb2xBcHBsaWVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY2hlY2tTb21lQ29udHJvbEFwcGxpZWQoKSk7XG5cbiAgcHJpdmF0ZSBfY29udHJvbHNDaGFuZ2VzID0gdG9TaWduYWwoXG4gICAgdG9PYnNlcnZhYmxlKHRoaXMuY29udHJvbHMpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKGNvbnRyb2xzKSA9PlxuICAgICAgICBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgIGNvbnRyb2xzLm1hcCgoeyBjb250cm9sIH0pID0+XG4gICAgICAgICAgICBydW5JbkluamVjdGlvbkNvbnRleHQodGhpcy5faW5qZWN0b3IsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgYXBwbGllZCA9IChjb250cm9sIGFzIElJbnB1dENvbnRyb2wpPy5hcHBsaWVkO1xuXG4gICAgICAgICAgICAgIHJldHVybiBhcHBsaWVkID8gdG9PYnNlcnZhYmxlKGFwcGxpZWQpIDogb2YoZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICAgIClcbiAgICApLFxuICAgIHsgaW5pdGlhbFZhbHVlOiBbXSB9XG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHByb3RlY3RlZCB0b2dnbGVIZWFkZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc09wZW4udXBkYXRlKChpc09wZW4pID0+ICFpc09wZW4pO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2hlY2tTb21lQ29udHJvbEFwcGxpZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnRyb2xzQ2hhbmdlcygpLnNvbWUoKGNvbnRyb2xWYWx1ZSkgPT4ge1xuICAgICAgaWYgKCFjb250cm9sVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShjb250cm9sVmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBjb250cm9sVmFsdWUuc29tZSgodmFsdWUpID0+ICEhdmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInBhbmVsLWhlYWRcIiAoY2xpY2spPVwidG9nZ2xlSGVhZGVyKClcIj5cbiAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ0aXRsZV9fZm9udFwiPnt7IGxhYmVsKCkgfX08L3NwYW4+XG4gICAgQGlmIChoYXZlQXBwbGllZEZpbHRlcnMoKSkge1xuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlX193cmFwcGVyLS1yZWxhdGl2ZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGl0bGUtd3JhcHBlci0tYWJzb2x1dGUgaW5kaWNhdG9yX193cmFwcGVyXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImluZGljYXRvcl9faWNvbiBpbmRpY2F0b3ItLWRhbmdlclwiPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgPHByaXptLWljb25zIFtuYW1lXT1cImlzT3BlbigpID8gJ2NoZXZyb25zLXVwJyA6ICdjaGV2cm9ucy1kb3duJ1wiIHNpemU9XCIxNlwiPjwvcHJpem0taWNvbnM+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZpbHRlcnMtYmxvY2tcIiBbYXR0ci5zaG93XT1cImlzT3BlbigpXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvZGl2PlxuIl19
@@ -0,0 +1,45 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
4
+ import { FilterListFooterComponent } from './filter-list/filter-list-footer/filter-list-footer.component';
5
+ import { FilterListHeaderComponent } from './filter-list/filter-list-header/filter-list-header.component';
6
+ import { FilterEditComponent } from './filter-list/filter-edit/filter-edit.component';
7
+ import { FilterListSavedComponent } from './filter-list/filter-list-saved/filter-list-saved.component';
8
+ import { FiltersSectionComponent } from './filter-list/filters-section/filters-section.component';
9
+ import { DividerComponent } from '../../divider/divider.component';
10
+ import { PrizmSharedModule } from '../../../utils/prizm.shared.module';
11
+ import * as i0 from "@angular/core";
12
+ export class FilterListModule {
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
14
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, declarations: [FilterListHeaderComponent,
15
+ FilterEditComponent,
16
+ FilterListSavedComponent,
17
+ FiltersSectionComponent,
18
+ FilterListFooterComponent], imports: [CommonModule, FormsModule, ReactiveFormsModule, PrizmSharedModule, DividerComponent], exports: [FilterEditComponent,
19
+ FilterListSavedComponent,
20
+ FiltersSectionComponent,
21
+ FilterListHeaderComponent,
22
+ FilterListFooterComponent] }); }
23
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, PrizmSharedModule] }); }
24
+ }
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterListModule, decorators: [{
26
+ type: NgModule,
27
+ args: [{
28
+ declarations: [
29
+ FilterListHeaderComponent,
30
+ FilterEditComponent,
31
+ FilterListSavedComponent,
32
+ FiltersSectionComponent,
33
+ FilterListFooterComponent,
34
+ ],
35
+ imports: [CommonModule, FormsModule, ReactiveFormsModule, PrizmSharedModule, DividerComponent],
36
+ exports: [
37
+ FilterEditComponent,
38
+ FilterListSavedComponent,
39
+ FiltersSectionComponent,
40
+ FilterListHeaderComponent,
41
+ FilterListFooterComponent,
42
+ ],
43
+ }]
44
+ }] });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvY29tcG9uZW50cy9maWx0ZXItbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtEQUErRCxDQUFDO0FBQzFHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZEQUE2RCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQW1CdkUsTUFBTSxPQUFPLGdCQUFnQjsrR0FBaEIsZ0JBQWdCO2dIQUFoQixnQkFBZ0IsaUJBZnpCLHlCQUF5QjtZQUN6QixtQkFBbUI7WUFDbkIsd0JBQXdCO1lBQ3hCLHVCQUF1QjtZQUN2Qix5QkFBeUIsYUFFakIsWUFBWSxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsYUFFM0YsbUJBQW1CO1lBQ25CLHdCQUF3QjtZQUN4Qix1QkFBdUI7WUFDdkIseUJBQXlCO1lBQ3pCLHlCQUF5QjtnSEFHaEIsZ0JBQWdCLFlBVGpCLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCOzs0RkFTaEUsZ0JBQWdCO2tCQWpCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1oseUJBQXlCO3dCQUN6QixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUM7b0JBQzlGLE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsdUJBQXVCO3dCQUN2Qix5QkFBeUI7d0JBQ3pCLHlCQUF5QjtxQkFDMUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmlsdGVyTGlzdEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3QtZm9vdGVyL2ZpbHRlci1saXN0LWZvb3Rlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyTGlzdEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3QtaGVhZGVyL2ZpbHRlci1saXN0LWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsdGVyRWRpdENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWVkaXQvZmlsdGVyLWVkaXQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlckxpc3RTYXZlZENvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyLWxpc3QvZmlsdGVyLWxpc3Qtc2F2ZWQvZmlsdGVyLWxpc3Qtc2F2ZWQuY29tcG9uZW50JztcbmltcG9ydCB7IEZpbHRlcnNTZWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9maWx0ZXItbGlzdC9maWx0ZXJzLXNlY3Rpb24vZmlsdGVycy1zZWN0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcml6bVNoYXJlZE1vZHVsZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3ByaXptLnNoYXJlZC5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBGaWx0ZXJMaXN0SGVhZGVyQ29tcG9uZW50LFxuICAgIEZpbHRlckVkaXRDb21wb25lbnQsXG4gICAgRmlsdGVyTGlzdFNhdmVkQ29tcG9uZW50LFxuICAgIEZpbHRlcnNTZWN0aW9uQ29tcG9uZW50LFxuICAgIEZpbHRlckxpc3RGb290ZXJDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBQcml6bVNoYXJlZE1vZHVsZSwgRGl2aWRlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBGaWx0ZXJFZGl0Q29tcG9uZW50LFxuICAgIEZpbHRlckxpc3RTYXZlZENvbXBvbmVudCxcbiAgICBGaWx0ZXJzU2VjdGlvbkNvbXBvbmVudCxcbiAgICBGaWx0ZXJMaXN0SGVhZGVyQ29tcG9uZW50LFxuICAgIEZpbHRlckxpc3RGb290ZXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZpbHRlckxpc3RNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export { RegisterTableFilterComponent } from './register-table-filter.component';
2
+ export { RegisterTableFilterModule } from './register-table-filter.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IFJlZ2lzdGVyVGFibGVGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgUmVnaXN0ZXJUYWJsZUZpbHRlck1vZHVsZSB9IGZyb20gJy4vcmVnaXN0ZXItdGFibGUtZmlsdGVyLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,155 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, inject, Input, Output, } from '@angular/core';
2
+ import { combineLatest, debounceTime, map, Subject, takeUntil, of } from 'rxjs';
3
+ import { EInputsAction, EInputsState, } from '../../types';
4
+ import { PAGE_MENU_STATE } from '../page-menu';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../../core";
7
+ import * as i2 from "../../services";
8
+ import * as i3 from "@angular/common";
9
+ import * as i4 from "./components/filter-list/filter-edit/filter-edit.component";
10
+ import * as i5 from "./components/filter-list/filter-list-saved/filter-list-saved.component";
11
+ import * as i6 from "./components/filter-list/filter-list-header/filter-list-header.component";
12
+ import * as i7 from "./components/filter-list/filter-list-footer/filter-list-footer.component";
13
+ import * as i8 from "../divider/divider.component";
14
+ import * as i9 from "../sliding-panel/sliding-panel.component";
15
+ import * as i10 from "@taiga-ui/core";
16
+ export class RegisterTableFilterComponent {
17
+ constructor(_store, _filterStateService, _filterListService) {
18
+ this._store = _store;
19
+ this._filterStateService = _filterStateService;
20
+ this._filterListService = _filterListService;
21
+ this.showTotal = true;
22
+ this.showPin = true;
23
+ this.showCloseButton = true;
24
+ this.acceptButtonDisabled = false;
25
+ this.applyButtonDisabled = false;
26
+ /** Доп. отступ для вычисления высоты панели (в пикселях) */
27
+ this.subOffsetHeight = 0;
28
+ this.filterListHeaderTitle = 'Фильтр';
29
+ this.footerApplyButtonLabel = 'Применить';
30
+ this.clickApplyButton = new EventEmitter();
31
+ this._menuState = inject(PAGE_MENU_STATE);
32
+ this._unsubscribe$ = new Subject();
33
+ this.FilterState = EInputsState;
34
+ this.filterState$ = this._filterStateService.state$.pipe(map((filterState) => filterState.state));
35
+ this.isOpen$ = this.filterState$.pipe(map((state) => state !== EInputsState.HIDDEN));
36
+ this.total$ = this._store.total$ ?? of(0);
37
+ this._currentFilters = [];
38
+ this._previousState = {
39
+ state: EInputsState.HIDDEN,
40
+ action: EInputsAction.CANCEL,
41
+ };
42
+ }
43
+ ngOnInit() {
44
+ combineLatest([this._filterStateService.state$, this._filterStateService.selectedSavedFilter])
45
+ .pipe(takeUntil(this._unsubscribe$))
46
+ .subscribe({
47
+ next: ([state, selected]) => {
48
+ if (state.state === EInputsState.SAVED_LIST) {
49
+ this.acceptButtonDisabled = !selected;
50
+ return;
51
+ }
52
+ if (state.state === EInputsState.ON_EDIT_FILTER) {
53
+ this.acceptButtonDisabled = false;
54
+ return;
55
+ }
56
+ if (state.state === EInputsState.ON_SAVE_FILTER) {
57
+ this.acceptButtonDisabled = false;
58
+ return;
59
+ }
60
+ this.acceptButtonDisabled = true;
61
+ },
62
+ });
63
+ if (this._filterStateService.isPin) {
64
+ this._filterStateService.setState({
65
+ state: EInputsState.FILTER_LIST,
66
+ action: EInputsAction.OPEN,
67
+ });
68
+ }
69
+ }
70
+ closeMenu(isPin) {
71
+ if (isPin) {
72
+ this._menuState.setOpen(false);
73
+ }
74
+ }
75
+ onApplyFilter(gqlFilter, savePage) {
76
+ if (!savePage) {
77
+ this._filterStateService.setOffset(0);
78
+ this._filterStateService.setPage(1);
79
+ }
80
+ this._filterStateService.setGqlValues(gqlFilter);
81
+ this.clickApplyButton.next();
82
+ }
83
+ ngAfterViewInit() {
84
+ this._subscribeOnState();
85
+ }
86
+ _subscribeOnState() {
87
+ combineLatest([this._filterStateService.state$, this._filterStateService.selectedSavedFilter])
88
+ .pipe(debounceTime(500), takeUntil(this._unsubscribe$))
89
+ .subscribe(([state, settings]) => {
90
+ this._setFilters(state, settings);
91
+ });
92
+ }
93
+ _setFilters(state, settings) {
94
+ const { state: currentState, action: currentAction } = state;
95
+ const { state: previousState } = this._previousState;
96
+ switch (currentState) {
97
+ case EInputsState.ON_EDIT_FILTER:
98
+ if (previousState !== EInputsState.ON_EDIT_FILTER) {
99
+ this._filterListService.setUserSettingsFilterValues(settings?.settings?.filter ?? []);
100
+ }
101
+ break;
102
+ case EInputsState.SAVED_LIST:
103
+ if (previousState !== EInputsState.SAVED_LIST &&
104
+ previousState !== EInputsState.ON_EDIT_FILTER &&
105
+ previousState !== EInputsState.ON_SAVE_FILTER) {
106
+ this._currentFilters = this._filterListService.userSettingsFilter;
107
+ }
108
+ break;
109
+ case EInputsState.FILTER_LIST:
110
+ if (previousState !== EInputsState.FILTER_LIST) {
111
+ if (currentAction === EInputsAction.CANCEL) {
112
+ this._filterListService.setUserSettingsFilterValues(this._currentFilters);
113
+ }
114
+ else if (currentAction === EInputsAction.APPLY_SAVED_FILTER) {
115
+ this._currentFilters = settings?.settings?.filter ?? [];
116
+ }
117
+ }
118
+ break;
119
+ default:
120
+ console.warn('Состояние фильтра', currentState);
121
+ break;
122
+ }
123
+ }
124
+ ngOnDestroy() {
125
+ this._unsubscribe$.next();
126
+ this._unsubscribe$.complete();
127
+ }
128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterTableFilterComponent, deps: [{ token: i1.RegisterBaseStore }, { token: i2.FiltersStateService }, { token: i2.FiltersService }], target: i0.ɵɵFactoryTarget.Component }); }
129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: RegisterTableFilterComponent, selector: "sproc-register-table-filter", inputs: { height: "height", showTotal: "showTotal", showPin: "showPin", showCloseButton: "showCloseButton", acceptButtonDisabled: "acceptButtonDisabled", applyButtonDisabled: "applyButtonDisabled", subOffsetHeight: "subOffsetHeight", filterListHeaderTitle: "filterListHeaderTitle", footerApplyButtonLabel: "footerApplyButtonLabel" }, outputs: { clickApplyButton: "clickApplyButton" }, ngImport: i0, template: "<sproc-sliding-panel [isOpen]=\"isOpen$ | async\" [subOffsetHeight]=\"subOffsetHeight\">\n <sproc-filter-list-header\n header\n [showTotal]=\"showTotal\"\n [showPin]=\"showPin\"\n [showCloseButton]=\"showCloseButton\"\n [total]=\"total$ | async\"\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n [filterListHeaderTitle]=\"filterListHeaderTitle\"\n (pinnedChange)=\"closeMenu($event)\"\n (applyFilter)=\"onApplyFilter($event)\"\n ></sproc-filter-list-header>\n\n <ng-container [ngSwitch]=\"filterState$ | async\">\n <ng-container *ngSwitchCase=\"FilterState.FILTER_LIST\" [ngTemplateOutlet]=\"filtersTemplate\">\n </ng-container>\n\n <div *ngSwitchCase=\"FilterState.SAVED_LIST\">\n <sproc-filter-list-saved></sproc-filter-list-saved>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_EDIT_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n\n <sproc-divider></sproc-divider>\n\n <ng-container [ngTemplateOutlet]=\"filtersTemplate\"></ng-container>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_SAVE_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n </div>\n\n <ng-template #filtersTemplate>\n @defer (on viewport) {\n <ng-content />\n } @loading (minimum 1s) {\n <tui-loader size=\"m\" class=\"loader\"></tui-loader>\n } @placeholder {\n <span>...</span>\n }\n </ng-template>\n </ng-container>\n\n <sproc-filter-list-footer\n footer\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n (apply)=\"onApplyFilter($event)\"\n [footerApplyButtonLabel]=\"footerApplyButtonLabel\"\n ></sproc-filter-list-footer>\n</sproc-sliding-panel>\n", styles: [":host .loader{height:100%}:host ::ng-deep .label-wrapper.applied:after{content:\"\";display:block;width:5px;height:5px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.FilterEditComponent, selector: "sproc-filter-edit" }, { kind: "component", type: i5.FilterListSavedComponent, selector: "sproc-filter-list-saved" }, { kind: "component", type: i6.FilterListHeaderComponent, selector: "sproc-filter-list-header", inputs: ["total", "showTotal", "showPin", "showCloseButton", "acceptButtonDisabled", "applyButtonDisabled", "filterListHeaderTitle"], outputs: ["pinnedChange", "applyFilter", "resetFilter"] }, { kind: "component", type: i7.FilterListFooterComponent, selector: "sproc-filter-list-footer", inputs: ["acceptButtonDisabled", "applyButtonDisabled", "footerApplyButtonLabel"], outputs: ["apply"] }, { kind: "component", type: i8.DividerComponent, selector: "sproc-divider", inputs: ["layout"] }, { kind: "component", type: i9.SlidingPanelComponent, selector: "sproc-sliding-panel", inputs: ["subOffsetHeight", "isOpen"] }, { kind: "component", type: i10.TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
130
+ }
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RegisterTableFilterComponent, decorators: [{
132
+ type: Component,
133
+ args: [{ selector: 'sproc-register-table-filter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<sproc-sliding-panel [isOpen]=\"isOpen$ | async\" [subOffsetHeight]=\"subOffsetHeight\">\n <sproc-filter-list-header\n header\n [showTotal]=\"showTotal\"\n [showPin]=\"showPin\"\n [showCloseButton]=\"showCloseButton\"\n [total]=\"total$ | async\"\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n [filterListHeaderTitle]=\"filterListHeaderTitle\"\n (pinnedChange)=\"closeMenu($event)\"\n (applyFilter)=\"onApplyFilter($event)\"\n ></sproc-filter-list-header>\n\n <ng-container [ngSwitch]=\"filterState$ | async\">\n <ng-container *ngSwitchCase=\"FilterState.FILTER_LIST\" [ngTemplateOutlet]=\"filtersTemplate\">\n </ng-container>\n\n <div *ngSwitchCase=\"FilterState.SAVED_LIST\">\n <sproc-filter-list-saved></sproc-filter-list-saved>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_EDIT_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n\n <sproc-divider></sproc-divider>\n\n <ng-container [ngTemplateOutlet]=\"filtersTemplate\"></ng-container>\n </div>\n\n <div *ngSwitchCase=\"FilterState.ON_SAVE_FILTER\">\n <sproc-filter-edit></sproc-filter-edit>\n </div>\n\n <ng-template #filtersTemplate>\n @defer (on viewport) {\n <ng-content />\n } @loading (minimum 1s) {\n <tui-loader size=\"m\" class=\"loader\"></tui-loader>\n } @placeholder {\n <span>...</span>\n }\n </ng-template>\n </ng-container>\n\n <sproc-filter-list-footer\n footer\n [acceptButtonDisabled]=\"acceptButtonDisabled\"\n [applyButtonDisabled]=\"applyButtonDisabled\"\n (apply)=\"onApplyFilter($event)\"\n [footerApplyButtonLabel]=\"footerApplyButtonLabel\"\n ></sproc-filter-list-footer>\n</sproc-sliding-panel>\n", styles: [":host .loader{height:100%}:host ::ng-deep .label-wrapper.applied:after{content:\"\";display:block;width:5px;height:5px;border-radius:50%;background-color:var(--brand-danger);margin-left:5px}\n"] }]
134
+ }], ctorParameters: () => [{ type: i1.RegisterBaseStore }, { type: i2.FiltersStateService }, { type: i2.FiltersService }], propDecorators: { height: [{
135
+ type: Input
136
+ }], showTotal: [{
137
+ type: Input
138
+ }], showPin: [{
139
+ type: Input
140
+ }], showCloseButton: [{
141
+ type: Input
142
+ }], acceptButtonDisabled: [{
143
+ type: Input
144
+ }], applyButtonDisabled: [{
145
+ type: Input
146
+ }], subOffsetHeight: [{
147
+ type: Input
148
+ }], filterListHeaderTitle: [{
149
+ type: Input
150
+ }], footerApplyButtonLabel: [{
151
+ type: Input
152
+ }], clickApplyButton: [{
153
+ type: Output
154
+ }] } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXItdGFibGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9yZWdpc3Rlci10YWJsZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQ0wsYUFBYSxFQUNiLFlBQVksR0FLYixNQUFNLGFBQWEsQ0FBQztBQUdyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLDRCQUE0QjtJQWtDdkMsWUFDbUIsTUFBK0IsRUFDL0IsbUJBQThDLEVBQzlDLGtCQUF3QztRQUZ4QyxXQUFNLEdBQU4sTUFBTSxDQUF5QjtRQUMvQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQTJCO1FBQzlDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBc0I7UUFoQ2xELGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLG9CQUFlLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3Qix3QkFBbUIsR0FBRyxL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QWYsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUcsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUVJLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkZWJvdW5jZVRpbWUsIG1hcCwgU3ViamVjdCwgdGFrZVVudGlsLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgRUlucHV0c0FjdGlvbixcbiAgRUlucHV0c1N0YXRlLFxuICBHcWxGaWVsZHMsXG4gIElJbnB1dHNTdGF0ZSxcbiAgSVRwVXNlclNldHRpbmdzLFxuICBJVHBVc2VyU2V0dGluZ3NTZXR0aW5nc0ZpbHRlcixcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRmlsdGVyc1NlcnZpY2UsIEZpbHRlcnNTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBSZWdpc3RlckJhc2VTdG9yZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgUEFHRV9NRU5VX1NUQVRFIH0gZnJvbSAnLi4vcGFnZS1tZW51JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3Byb2MtcmVnaXN0ZXItdGFibGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlZ2lzdGVyLXRhYmxlLWZpbHRlci5jb21wb25lbnQubGVzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgUmVnaXN0ZXJUYWJsZUZpbHRlckNvbXBvbmVudDxUeXBlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgYW55Pj5cbiAgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveVxue1xuICAvKiog0JLRi9GB0L7RgtCwINCy0YHQtdCz0L4g0LrQvtC80L/QvtC90LXQvdGC0LAg0YTQuNC70YzRgtGA0L7QsiAqL1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2hvd1RvdGFsID0gdHJ1ZTtcbiAgQElucHV0KCkgc2hvd1BpbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dDbG9zZUJ1dHRvbiA9IHRydWU7XG4gIEBJbnB1dCgpIGFjY2VwdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIGFwcGx5QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgLyoqINCU0L7Qvy4g0L7RgtGB0YLRg9C/INC00LvRjyDQstGL0YfQuNGB0LvQtdC90LjRjyDQstGL0YHQvtGC0Ysg0L/QsNC90LXQu9C4ICjQsiDQv9C40LrRgdC10LvRj9GFKSAqL1xuICBASW5wdXQoKSBzdWJPZmZzZXRIZWlnaHQgPSAwO1xuICBASW5wdXQoKSBmaWx0ZXJMaXN0SGVhZGVyVGl0bGUgPSAn0KTQuNC70YzRgtGAJztcbiAgQElucHV0KCkgZm9vdGVyQXBwbHlCdXR0b25MYWJlbCA9ICfQn9GA0LjQvNC10L3QuNGC0YwnO1xuXG4gIEBPdXRwdXQoKSBjbGlja0FwcGx5QnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX21lbnVTdGF0ZSA9IGluamVjdChQQUdFX01FTlVfU1RBVEUpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3Vuc3Vic2NyaWJlJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IEZpbHRlclN0YXRlID0gRUlucHV0c1N0YXRlO1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyU3RhdGUkID0gdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnN0YXRlJC5waXBlKFxuICAgIG1hcCgoZmlsdGVyU3RhdGUpID0+IGZpbHRlclN0YXRlLnN0YXRlKVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgaXNPcGVuJCA9IHRoaXMuZmlsdGVyU3RhdGUkLnBpcGUobWFwKChzdGF0ZSkgPT4gc3RhdGUgIT09IEVJbnB1dHNTdGF0ZS5ISURERU4pKTtcbiAgcHVibGljIHJlYWRvbmx5IHRvdGFsJCA9IHRoaXMuX3N0b3JlLnRvdGFsJCA/PyBvZigwKTtcblxuICBwcml2YXRlIF9jdXJyZW50RmlsdGVyczogSVRwVXNlclNldHRpbmdzU2V0dGluZ3NGaWx0ZXJbXSA9IFtdO1xuICBwcml2YXRlIF9wcmV2aW91c1N0YXRlOiBJSW5wdXRzU3RhdGUgPSB7XG4gICAgc3RhdGU6IEVJbnB1dHNTdGF0ZS5ISURERU4sXG4gICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLkNBTkNFTCxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yZTogUmVnaXN0ZXJCYXNlU3RvcmU8VHlwZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZmlsdGVyU3RhdGVTZXJ2aWNlOiBGaWx0ZXJzU3RhdGVTZXJ2aWNlPFR5cGU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2ZpbHRlckxpc3RTZXJ2aWNlOiBGaWx0ZXJzU2VydmljZTxUeXBlPlxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zdGF0ZSQsIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZWxlY3RlZFNhdmVkRmlsdGVyXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSh7XG4gICAgICAgIG5leHQ6IChbc3RhdGUsIHNlbGVjdGVkXSkgPT4ge1xuICAgICAgICAgIGlmIChzdGF0ZS5zdGF0ZSA9PT0gRUlucHV0c1N0YXRlLlNBVkVEX0xJU1QpIHtcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0QnV0dG9uRGlzYWJsZWQgPSAhc2VsZWN0ZWQ7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHN0YXRlLnN0YXRlID09PSBFSW5wdXRzU3RhdGUuT05fRURJVF9GSUxURVIpIHtcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3RhdGUuc3RhdGUgPT09IEVJbnB1dHNTdGF0ZS5PTl9TQVZFX0ZJTFRFUikge1xuICAgICAgICAgICAgdGhpcy5hY2NlcHRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmFjY2VwdEJ1dHRvbkRpc2FibGVkID0gdHJ1ZTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5pc1Bpbikge1xuICAgICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldFN0YXRlKHtcbiAgICAgICAgc3RhdGU6IEVJbnB1dHNTdGF0ZS5GSUxURVJfTElTVCxcbiAgICAgICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLk9QRU4sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgY2xvc2VNZW51KGlzUGluOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKGlzUGluKSB7XG4gICAgICB0aGlzLl9tZW51U3RhdGUuc2V0T3BlbihmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQXBwbHlGaWx0ZXIoZ3FsRmlsdGVyOiBHcWxGaWVsZHMsIHNhdmVQYWdlPzogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghc2F2ZVBhZ2UpIHtcbiAgICAgIHRoaXMuX2ZpbHRlclN0YXRlU2VydmljZS5zZXRPZmZzZXQoMCk7XG4gICAgICB0aGlzLl9maWx0ZXJTdGF0ZVNlcnZpY2Uuc2V0UGFnZSgxKTtcbiAgICB9XG4gICAgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNldEdxbFZhbHVlcyhncWxGaWx0ZXIpO1xuICAgIHRoaXMuY2xpY2tBcHBseUJ1dHRvbi5uZXh0KCk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3N1YnNjcmliZU9uU3RhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3N1YnNjcmliZU9uU3RhdGUoKTogdm9pZCB7XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnN0YXRlJCwgdGhpcy5fZmlsdGVyU3RhdGVTZXJ2aWNlLnNlbGVjdGVkU2F2ZWRGaWx0ZXJdKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHRha2VVbnRpbCh0aGlzLl91bnN1YnNjcmliZSQpKVxuICAgICAgLnN1YnNjcmliZSgoW3N0YXRlLCBzZXR0aW5nc10pID0+IHtcbiAgICAgICAgdGhpcy5fc2V0RmlsdGVycyhzdGF0ZSwgc2V0dGluZ3MpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRGaWx0ZXJzKHN0YXRlOiBJSW5wdXRzU3RhdGUsIHNldHRpbmdzOiBJVHBVc2VyU2V0dGluZ3MgfCBudWxsKTogdm9pZCB7XG4gICAgY29uc3QgeyBzdGF0ZTogY3VycmVudFN0YXRlLCBhY3Rpb246IGN1cnJlbnRBY3Rpb24gfSA9IHN0YXRlO1xuICAgIGNvbnN0IHsgc3RhdGU6IHByZXZpb3VzU3RhdGUgfSA9IHRoaXMuX3ByZXZpb3VzU3RhdGU7XG5cbiAgICBzd2l0Y2ggKGN1cnJlbnRTdGF0ZSkge1xuICAgICAgY2FzZSBFSW5wdXRzU3RhdGUuT05fRURJVF9GSUxURVI6XG4gICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSBFSW5wdXRzU3RhdGUuT05fRURJVF9GSUxURVIpIHtcbiAgICAgICAgICB0aGlzLl9maWx0ZXJMaXN0U2VydmljZS5zZXRVc2VyU2V0dGluZ3NGaWx0ZXJWYWx1ZXMoc2V0dGluZ3M/LnNldHRpbmdzPy5maWx0ZXIgPz8gW10pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFSW5wdXRzU3RhdGUuU0FWRURfTElTVDpcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHByZXZpb3VzU3RhdGUgIT09IEVJbnB1dHNTdGF0ZS5TQVZFRF9MSVNUICYmXG4gICAgICAgICAgcHJldmlvdXNTdGF0ZSAhPT0gRUlucHV0c1N0YXRlLk9OX0VESVRfRklMVEVSICYmXG4gICAgICAgICAgcHJldmlvdXNTdGF0ZSAhPT0gRUlucHV0c1N0YXRlLk9OX1NBVkVfRklMVEVSXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuX2N1cnJlbnRGaWx0ZXJzID0gdGhpcy5fZmlsdGVyTGlzdFNlcnZpY2UudXNlclNldHRpbmdzRmlsdGVyO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBFSW5wdXRzU3RhdGUuRklMVEVSX0xJU1Q6XG4gICAgICAgIGlmIChwcmV2aW91c1N0YXRlICE9PSBFSW5wdXRzU3RhdGUuRklMVEVSX0xJU1QpIHtcbiAgICAgICAgICBpZiAoY3VycmVudEFjdGlvbiA9PT0gRUlucHV0c0FjdGlvbi5DQU5DRUwpIHtcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlckxpc3RTZXJ2aWNlLnNldFVzZXJTZXR0aW5nc0ZpbHRlclZhbHVlcyh0aGlzLl9jdXJyZW50RmlsdGVycyk7XG4gICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50QWN0aW9uID09PSBFSW5wdXRzQWN0aW9uLkFQUExZX1NBVkVEX0ZJTFRFUikge1xuICAgICAgICAgICAgdGhpcy5fY3VycmVudEZpbHRlcnMgPSBzZXR0aW5ncz8uc2V0dGluZ3M/LmZpbHRlciA/PyBbXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBjb25zb2xlLndhcm4oJ9Ch0L7RgdGC0L7Rj9C90LjQtSDRhNC40LvRjNGC0YDQsCcsIGN1cnJlbnRTdGF0ZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl91bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMuX3Vuc3Vic2NyaWJlJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8c3Byb2Mtc2xpZGluZy1wYW5lbCBbaXNPcGVuXT1cImlzT3BlbiQgfCBhc3luY1wiIFtzdWJPZmZzZXRIZWlnaHRdPVwic3ViT2Zmc2V0SGVpZ2h0XCI+XG4gIDxzcHJvYy1maWx0ZXItbGlzdC1oZWFkZXJcbiAgICBoZWFkZXJcbiAgICBbc2hvd1RvdGFsXT1cInNob3dUb3RhbFwiXG4gICAgW3Nob3dQaW5dPVwic2hvd1BpblwiXG4gICAgW3Nob3dDbG9zZUJ1dHRvbl09XCJzaG93Q2xvc2VCdXR0b25cIlxuICAgIFt0b3RhbF09XCJ0b3RhbCQgfCBhc3luY1wiXG4gICAgW2FjY2VwdEJ1dHRvbkRpc2FibGVkXT1cImFjY2VwdEJ1dHRvbkRpc2FibGVkXCJcbiAgICBbYXBwbHlCdXR0b25EaXNhYmxlZF09XCJhcHBseUJ1dHRvbkRpc2FibGVkXCJcbiAgICBbZmlsdGVyTGlzdEhlYWRlclRpdGxlXT1cImZpbHRlckxpc3RIZWFkZXJUaXRsZVwiXG4gICAgKHBpbm5lZENoYW5nZSk9XCJjbG9zZU1lbnUoJGV2ZW50KVwiXG4gICAgKGFwcGx5RmlsdGVyKT1cIm9uQXBwbHlGaWx0ZXIoJGV2ZW50KVwiXG4gID48L3Nwcm9jLWZpbHRlci1saXN0LWhlYWRlcj5cblxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJmaWx0ZXJTdGF0ZSQgfCBhc3luY1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkZpbHRlclN0YXRlLkZJTFRFUl9MSVNUXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZmlsdGVyc1RlbXBsYXRlXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCJGaWx0ZXJTdGF0ZS5TQVZFRF9MSVNUXCI+XG4gICAgICA8c3Byb2MtZmlsdGVyLWxpc3Qtc2F2ZWQ+PC9zcHJvYy1maWx0ZXItbGlzdC1zYXZlZD5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIkZpbHRlclN0YXRlLk9OX0VESVRfRklMVEVSXCI+XG4gICAgICA8c3Byb2MtZmlsdGVyLWVkaXQ+PC9zcHJvYy1maWx0ZXItZWRpdD5cblxuICAgICAgPHNwcm9jLWRpdmlkZXI+PC9zcHJvYy1kaXZpZGVyPlxuXG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZpbHRlcnNUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiRmlsdGVyU3RhdGUuT05fU0FWRV9GSUxURVJcIj5cbiAgICAgIDxzcHJvYy1maWx0ZXItZWRpdD48L3Nwcm9jLWZpbHRlci1lZGl0PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLXRlbXBsYXRlICNmaWx0ZXJzVGVtcGxhdGU+XG4gICAgICBAZGVmZXIgKG9uIHZpZXdwb3J0KSB7XG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICB9IEBsb2FkaW5nIChtaW5pbXVtIDFzKSB7XG4gICAgICAgIDx0dWktbG9hZGVyIHNpemU9XCJtXCIgY2xhc3M9XCJsb2FkZXJcIj48L3R1aS1sb2FkZXI+XG4gICAgICB9IEBwbGFjZWhvbGRlciB7XG4gICAgICAgIDxzcGFuPi4uLjwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8c3Byb2MtZmlsdGVyLWxpc3QtZm9vdGVyXG4gICAgZm9vdGVyXG4gICAgW2FjY2VwdEJ1dHRvbkRpc2FibGVkXT1cImFjY2VwdEJ1dHRvbkRpc2FibGVkXCJcbiAgICBbYXBwbHlCdXR0b25EaXNhYmxlZF09XCJhcHBseUJ1dHRvbkRpc2FibGVkXCJcbiAgICAoYXBwbHkpPVwib25BcHBseUZpbHRlcigkZXZlbnQpXCJcbiAgICBbZm9vdGVyQXBwbHlCdXR0b25MYWJlbF09XCJmb290ZXJBcHBseUJ1dHRvbkxhYmVsXCJcbiAgPjwvc3Byb2MtZmlsdGVyLWxpc3QtZm9vdGVyPlxuPC9zcHJvYy1zbGlkaW5nLXBhbmVsPlxuIl19