ngx-register-base 1.2.3 → 1.3.1

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/ng-package.json +15 -0
  2. package/package.json +12 -15
  3. package/schematics/ng-update/replace-menu-state-token/index.ts +33 -0
  4. package/schematics/ng-update/update-prefix/index.ts +38 -0
  5. package/schematics/utils/{utils.d.ts → utils.ts} +9 -2
  6. package/src/lib/components/checkbox-selector/checkbox-selector.component.html +91 -0
  7. package/src/lib/components/checkbox-selector/checkbox-selector.component.less +67 -0
  8. package/src/lib/components/checkbox-selector/checkbox-selector.component.ts +176 -0
  9. package/src/lib/components/checkbox-selector/checkbox-selector.types.ts +8 -0
  10. package/src/lib/components/column-settings/column-settings.component.html +160 -0
  11. package/src/lib/components/column-settings/column-settings.component.less +131 -0
  12. package/src/lib/components/column-settings/column-settings.component.ts +352 -0
  13. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.html +65 -0
  14. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.less +79 -0
  15. package/src/lib/components/column-settings/components/column-settings-template/column-settings-template.component.ts +114 -0
  16. package/src/lib/components/column-settings/consts/column-settings.consts.ts +9 -0
  17. package/src/lib/components/column-settings/types/column-settings.types.ts +26 -0
  18. package/src/lib/components/divider/divider.component.html +4 -0
  19. package/src/lib/components/divider/divider.component.less +10 -0
  20. package/src/lib/components/divider/divider.component.ts +12 -0
  21. package/src/lib/components/filter-button/filter-button.component.html +20 -0
  22. package/src/lib/components/filter-button/filter-button.component.less +41 -0
  23. package/src/lib/components/filter-button/filter-button.component.ts +18 -0
  24. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.html +22 -0
  25. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.less +23 -0
  26. package/src/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.ts +31 -0
  27. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.html +49 -0
  28. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.less +37 -0
  29. package/src/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.ts +66 -0
  30. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.html +147 -0
  31. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.less +45 -0
  32. package/src/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.ts +114 -0
  33. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.html +44 -0
  34. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.less +49 -0
  35. package/src/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.ts +167 -0
  36. package/src/lib/components/filters/components/filter-list/filter-list.service.ts +97 -0
  37. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.html +18 -0
  38. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.less +55 -0
  39. package/src/lib/components/filters/components/filter-list/filters-section/filters-section.component.ts +69 -0
  40. package/src/lib/components/filters/components/filter-list.module.ts +29 -0
  41. package/src/lib/components/filters/register-table-filter.component.html +53 -0
  42. package/src/lib/components/filters/register-table-filter.component.less +17 -0
  43. package/src/lib/components/filters/register-table-filter.component.ts +167 -0
  44. package/src/lib/components/filters/register-table-filter.module.ts +22 -0
  45. package/src/lib/components/inputs/inputs.module.ts +104 -0
  46. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.html +49 -0
  47. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.less +70 -0
  48. package/src/lib/components/inputs/param-calendar-year/param-calendar-year.component.ts +52 -0
  49. package/src/lib/components/inputs/param-custom/param-custom.component.html +1 -0
  50. package/src/lib/components/inputs/param-custom/param-custom.component.ts +9 -0
  51. package/src/lib/components/inputs/param-date/param-date.component.html +55 -0
  52. package/src/lib/components/inputs/param-date/param-date.component.less +67 -0
  53. package/src/lib/components/inputs/param-date/param-date.component.ts +77 -0
  54. package/src/lib/components/inputs/param-date-range/param-date-range.component.html +45 -0
  55. package/src/lib/components/inputs/param-date-range/param-date-range.component.less +75 -0
  56. package/src/lib/components/inputs/param-date-range/param-date-range.component.ts +67 -0
  57. package/src/lib/components/inputs/param-date-time/param-date-time.component.html +70 -0
  58. package/src/lib/components/inputs/param-date-time/param-date-time.component.less +72 -0
  59. package/src/lib/components/inputs/param-date-time/param-date-time.component.ts +101 -0
  60. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.html +67 -0
  61. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.less +103 -0
  62. package/src/lib/components/inputs/param-date-time-range/param-date-time-range.component.ts +128 -0
  63. package/src/lib/components/inputs/param-month/param-month.component.html +46 -0
  64. package/src/lib/components/inputs/param-month/param-month.component.less +72 -0
  65. package/src/lib/components/inputs/param-month/param-month.component.ts +55 -0
  66. package/src/lib/components/inputs/param-month-range/param-month-range.component.html +39 -0
  67. package/src/lib/components/inputs/param-month-range/param-month-range.component.less +71 -0
  68. package/src/lib/components/inputs/param-month-range/param-month-range.component.ts +76 -0
  69. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.html +84 -0
  70. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.less +108 -0
  71. package/src/lib/components/inputs/param-multi-select/param-multi-select.component.ts +448 -0
  72. package/src/lib/components/inputs/param-select/param-select.component.html +106 -0
  73. package/src/lib/components/inputs/param-select/param-select.component.less +26 -0
  74. package/src/lib/components/inputs/param-select/param-select.component.ts +318 -0
  75. package/src/lib/components/inputs/param-switcher/param-switcher.component.html +8 -0
  76. package/src/lib/components/inputs/param-switcher/param-switcher.component.less +53 -0
  77. package/src/lib/components/inputs/param-switcher/param-switcher.component.ts +13 -0
  78. package/src/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.ts +29 -0
  79. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.html +19 -0
  80. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.less +76 -0
  81. package/src/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.ts +134 -0
  82. package/src/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.ts +8 -0
  83. package/src/lib/components/inputs/param-text/param-text.component.html +59 -0
  84. package/src/lib/components/inputs/param-text/param-text.component.less +33 -0
  85. package/src/lib/components/inputs/param-text/param-text.component.ts +36 -0
  86. package/src/lib/components/inputs/param-textarea/param-textarea.component.html +61 -0
  87. package/src/lib/components/inputs/param-textarea/param-textarea.component.less +21 -0
  88. package/src/lib/components/inputs/param-textarea/param-textarea.component.ts +33 -0
  89. package/src/lib/components/inputs/param-toggle/param-toggle.component.html +40 -0
  90. package/src/lib/components/inputs/param-toggle/param-toggle.component.less +69 -0
  91. package/src/lib/components/inputs/param-toggle/param-toggle.component.ts +14 -0
  92. package/src/lib/components/inputs/param-tree/consts/param-tree.consts.ts +59 -0
  93. package/src/lib/components/inputs/param-tree/param-tree.component.html +51 -0
  94. package/src/lib/components/inputs/param-tree/param-tree.component.less +3 -0
  95. package/src/lib/components/inputs/param-tree/param-tree.component.ts +282 -0
  96. package/src/lib/components/inputs/param-tree/services/param-tree.service.ts +176 -0
  97. package/src/lib/components/inputs/param-tree/services/sync-tree-loader.service.ts +18 -0
  98. package/{lib/components/inputs/param-tree/tokens/param-tree.tokens.d.ts → src/lib/components/inputs/param-tree/tokens/param-tree.tokens.ts} +2 -1
  99. package/src/lib/components/inputs/param-tree/types/param-tree.types.ts +39 -0
  100. package/src/lib/components/inputs/param-tree/utils/param-tree.utils.ts +18 -0
  101. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.html +78 -0
  102. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.less +109 -0
  103. package/src/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.ts +89 -0
  104. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.html +54 -0
  105. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.less +56 -0
  106. package/src/lib/components/inputs/param-tree-select/param-tree-select.component.ts +91 -0
  107. package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.html +5 -0
  108. package/src/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.ts +13 -0
  109. package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.html +4 -0
  110. package/src/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.ts +11 -0
  111. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.html +95 -0
  112. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.less +183 -0
  113. package/src/lib/components/menu-constructor/sproc-menu-constructor.component.ts +687 -0
  114. package/src/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.ts +32 -0
  115. package/src/lib/components/menu-constructor/store/sproc-menu-constructor.consts.ts +46 -0
  116. package/{lib/components/menu-constructor/store/sproc-menu.tokens.d.ts → src/lib/components/menu-constructor/store/sproc-menu.tokens.ts} +4 -1
  117. package/src/lib/components/page-menu/README.md +60 -0
  118. package/src/lib/components/page-menu/schema/sproc-page-menu.consts.ts +8 -0
  119. package/src/lib/components/page-menu/schema/sproc-page-menu.schema.ts +35 -0
  120. package/src/lib/components/page-menu/schema/sproc-page-menu.tokens.ts +5 -0
  121. package/src/lib/components/page-menu/schema/sproc-page-menu.types.ts +42 -0
  122. package/src/lib/components/page-menu/sproc-page-menu.component.html +166 -0
  123. package/src/lib/components/page-menu/sproc-page-menu.component.less +228 -0
  124. package/src/lib/components/page-menu/sproc-page-menu.component.ts +337 -0
  125. package/src/lib/components/paginator/paginator.component.html +97 -0
  126. package/src/lib/components/paginator/paginator.component.less +101 -0
  127. package/src/lib/components/paginator/paginator.component.ts +192 -0
  128. package/src/lib/components/paginator/types/paginator.types.ts +16 -0
  129. package/src/lib/components/register-table/consts/register-table.consts.ts +3 -0
  130. package/src/lib/components/register-table/directives/cell-template.directive.ts +11 -0
  131. package/src/lib/components/register-table/directives/header-template.directive.ts +11 -0
  132. package/src/lib/components/register-table/model/schema.ts +62 -0
  133. package/src/lib/components/register-table/pipes/class-by-type.pipe.ts +28 -0
  134. package/src/lib/components/register-table/pipes/sticky-column.pipe.ts +11 -0
  135. package/src/lib/components/register-table/register-table.component.html +257 -0
  136. package/src/lib/components/register-table/register-table.component.less +151 -0
  137. package/src/lib/components/register-table/register-table.component.ts +743 -0
  138. package/src/lib/components/reset-settings-form/reset-settings-form.component.html +14 -0
  139. package/src/lib/components/reset-settings-form/reset-settings-form.component.less +26 -0
  140. package/src/lib/components/reset-settings-form/reset-settings-form.component.ts +15 -0
  141. package/src/lib/components/search-input/search-input.component.html +6 -0
  142. package/src/lib/components/search-input/search-input.component.less +17 -0
  143. package/src/lib/components/search-input/search-input.component.ts +31 -0
  144. package/src/lib/components/sliding-panel/sliding-panel.component.html +13 -0
  145. package/src/lib/components/sliding-panel/sliding-panel.component.less +112 -0
  146. package/src/lib/components/sliding-panel/sliding-panel.component.ts +36 -0
  147. package/src/lib/components/sliding-panel/sliding-panel.module.ts +11 -0
  148. package/src/lib/consts/date-time.consts.ts +1 -0
  149. package/src/lib/consts/index.ts +8 -0
  150. package/src/lib/consts/inputs.consts.ts +9 -0
  151. package/src/lib/consts/month.consts.ts +82 -0
  152. package/src/lib/consts/params.consts.ts +1 -0
  153. package/src/lib/consts/register-base.consts.ts +40 -0
  154. package/src/lib/core/form-group-wrapper/errors-consts.ts +6 -0
  155. package/src/lib/core/form-group-wrapper/form-group-wrapper.ts +109 -0
  156. package/src/lib/core/input-control/input-control.ts +30 -0
  157. package/src/lib/core/param/param-base.ts +262 -0
  158. package/src/lib/core/param/param-date-base.ts +30 -0
  159. package/src/lib/core/param/param-select-base.ts +118 -0
  160. package/src/lib/core/param/param-text-base.ts +23 -0
  161. package/{lib/core/param/param.tokens.d.ts → src/lib/core/param/param.tokens.ts} +2 -1
  162. package/src/lib/core/register-base/register-base.store.ts +84 -0
  163. package/src/lib/core/register-base/register-base.ts +854 -0
  164. package/src/lib/directives/date/date-time.types.ts +36 -0
  165. package/src/lib/directives/date/format-date.pipe.ts +28 -0
  166. package/src/lib/directives/number/number-only.directive.ts +36 -0
  167. package/src/lib/directives/sticky/sticky-relative.directive.ts +30 -0
  168. package/src/lib/directives/sticky/sticky-relative.service.ts +34 -0
  169. package/src/lib/directives/sticky/sticky.directive.ts +189 -0
  170. package/src/lib/services/date-time.service.ts +399 -0
  171. package/src/lib/services/dialog/dialog.service.ts +62 -0
  172. package/{lib/services/dialog/dialog.types.d.ts → src/lib/services/dialog/dialog.types.ts} +8 -4
  173. package/src/lib/services/dom-intersection.service.ts +23 -0
  174. package/src/lib/services/filter/filters-state.service.ts +83 -0
  175. package/src/lib/services/filter/filters-transmit.service.ts +105 -0
  176. package/src/lib/services/filter/filters.service.ts +21 -0
  177. package/src/lib/services/inputs-state.service.ts +157 -0
  178. package/src/lib/services/inputs.service.ts +114 -0
  179. package/src/lib/services/key-pressed.service.ts +40 -0
  180. package/src/lib/services/resize-window-observer.service.ts +37 -0
  181. package/src/lib/services/selected-objects-state.service.ts +159 -0
  182. package/src/lib/store/fast-query-store.service.ts +132 -0
  183. package/{lib/types/event.types.d.ts → src/lib/types/event.types.ts} +1 -1
  184. package/src/lib/types/hasura.types.ts +41 -0
  185. package/src/lib/types/inputs.types.ts +63 -0
  186. package/src/lib/types/params.types.ts +42 -0
  187. package/src/lib/types/register-base.types.ts +161 -0
  188. package/src/lib/types/sub-types.ts +15 -0
  189. package/src/lib/types/user-profile.types.ts +18 -0
  190. package/src/lib/utils/functions.ts +11 -0
  191. package/src/lib/utils/get-url-segment.ts +46 -0
  192. package/src/lib/utils/prizm.shared.module.ts +176 -0
  193. package/src/lib/utils/rxjs.ts +33 -0
  194. package/src/lib/utils/select-all-utils.ts +16 -0
  195. package/tsconfig.lib.json +16 -0
  196. package/tsconfig.lib.prod.json +11 -0
  197. package/tsconfig.schematics.json +26 -0
  198. package/tsconfig.spec.json +15 -0
  199. package/esm2022/lib/components/checkbox-selector/checkbox-selector.component.mjs +0 -129
  200. package/esm2022/lib/components/checkbox-selector/checkbox-selector.types.mjs +0 -8
  201. package/esm2022/lib/components/column-settings/column-settings.component.mjs +0 -249
  202. package/esm2022/lib/components/column-settings/components/column-settings-template/column-settings-template.component.mjs +0 -80
  203. package/esm2022/lib/components/column-settings/consts/column-settings.consts.mjs +0 -10
  204. package/esm2022/lib/components/column-settings/index.mjs +0 -3
  205. package/esm2022/lib/components/column-settings/types/column-settings.types.mjs +0 -7
  206. package/esm2022/lib/components/divider/divider.component.mjs +0 -16
  207. package/esm2022/lib/components/filter-button/filter-button.component.mjs +0 -19
  208. package/esm2022/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.mjs +0 -31
  209. package/esm2022/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.mjs +0 -57
  210. package/esm2022/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.mjs +0 -110
  211. package/esm2022/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.mjs +0 -130
  212. package/esm2022/lib/components/filters/components/filter-list/filter-list.service.mjs +0 -89
  213. package/esm2022/lib/components/filters/components/filter-list/filters-section/filters-section.component.mjs +0 -41
  214. package/esm2022/lib/components/filters/components/filter-list.module.mjs +0 -45
  215. package/esm2022/lib/components/filters/index.mjs +0 -3
  216. package/esm2022/lib/components/filters/register-table-filter.component.mjs +0 -155
  217. package/esm2022/lib/components/filters/register-table-filter.module.mjs +0 -39
  218. package/esm2022/lib/components/index.mjs +0 -11
  219. package/esm2022/lib/components/inputs/index.mjs +0 -20
  220. package/esm2022/lib/components/inputs/inputs.module.mjs +0 -166
  221. package/esm2022/lib/components/inputs/param-calendar-year/param-calendar-year.component.mjs +0 -45
  222. package/esm2022/lib/components/inputs/param-custom/param-custom.component.mjs +0 -12
  223. package/esm2022/lib/components/inputs/param-date/param-date.component.mjs +0 -76
  224. package/esm2022/lib/components/inputs/param-date-range/param-date-range.component.mjs +0 -61
  225. package/esm2022/lib/components/inputs/param-date-time/param-date-time.component.mjs +0 -86
  226. package/esm2022/lib/components/inputs/param-date-time-range/param-date-time-range.component.mjs +0 -96
  227. package/esm2022/lib/components/inputs/param-month/param-month.component.mjs +0 -50
  228. package/esm2022/lib/components/inputs/param-month-range/param-month-range.component.mjs +0 -62
  229. package/esm2022/lib/components/inputs/param-multi-select/param-multi-select.component.mjs +0 -309
  230. package/esm2022/lib/components/inputs/param-select/param-select.component.mjs +0 -209
  231. package/esm2022/lib/components/inputs/param-switcher/param-switcher.component.mjs +0 -21
  232. package/esm2022/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.mjs +0 -28
  233. package/esm2022/lib/components/inputs/param-switcher-date-time-range/index.mjs +0 -3
  234. package/esm2022/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.mjs +0 -105
  235. package/esm2022/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.mjs +0 -10
  236. package/esm2022/lib/components/inputs/param-text/param-text.component.mjs +0 -40
  237. package/esm2022/lib/components/inputs/param-textarea/param-textarea.component.mjs +0 -38
  238. package/esm2022/lib/components/inputs/param-toggle/param-toggle.component.mjs +0 -20
  239. package/esm2022/lib/components/inputs/param-tree/consts/param-tree.consts.mjs +0 -37
  240. package/esm2022/lib/components/inputs/param-tree/index.mjs +0 -8
  241. package/esm2022/lib/components/inputs/param-tree/param-tree.component.mjs +0 -207
  242. package/esm2022/lib/components/inputs/param-tree/services/param-tree.service.mjs +0 -116
  243. package/esm2022/lib/components/inputs/param-tree/services/sync-tree-loader.service.mjs +0 -20
  244. package/esm2022/lib/components/inputs/param-tree/tokens/param-tree.tokens.mjs +0 -3
  245. package/esm2022/lib/components/inputs/param-tree/types/param-tree.types.mjs +0 -2
  246. package/esm2022/lib/components/inputs/param-tree/utils/param-tree.utils.mjs +0 -9
  247. package/esm2022/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.mjs +0 -80
  248. package/esm2022/lib/components/inputs/param-tree-select/param-tree-select.component.mjs +0 -85
  249. package/esm2022/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.mjs +0 -15
  250. package/esm2022/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.mjs +0 -12
  251. package/esm2022/lib/components/menu-constructor/index.mjs +0 -5
  252. package/esm2022/lib/components/menu-constructor/sproc-menu-constructor.component.mjs +0 -559
  253. package/esm2022/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.mjs +0 -3
  254. package/esm2022/lib/components/menu-constructor/store/sproc-menu-constructor.consts.mjs +0 -5
  255. package/esm2022/lib/components/menu-constructor/store/sproc-menu.tokens.mjs +0 -3
  256. package/esm2022/lib/components/page-menu/index.mjs +0 -6
  257. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.consts.mjs +0 -9
  258. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.schema.mjs +0 -2
  259. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.tokens.mjs +0 -4
  260. package/esm2022/lib/components/page-menu/schema/sproc-page-menu.types.mjs +0 -3
  261. package/esm2022/lib/components/page-menu/sproc-page-menu.component.mjs +0 -275
  262. package/esm2022/lib/components/paginator/paginator.component.mjs +0 -159
  263. package/esm2022/lib/components/paginator/types/paginator.types.mjs +0 -2
  264. package/esm2022/lib/components/register-table/consts/register-table.consts.mjs +0 -4
  265. package/esm2022/lib/components/register-table/directives/cell-template.directive.mjs +0 -19
  266. package/esm2022/lib/components/register-table/directives/header-template.directive.mjs +0 -18
  267. package/esm2022/lib/components/register-table/index.mjs +0 -4
  268. package/esm2022/lib/components/register-table/model/schema.mjs +0 -10
  269. package/esm2022/lib/components/register-table/pipes/class-by-type.pipe.mjs +0 -33
  270. package/esm2022/lib/components/register-table/pipes/sticky-column.pipe.mjs +0 -17
  271. package/esm2022/lib/components/register-table/register-table.component.mjs +0 -544
  272. package/esm2022/lib/components/reset-settings-form/reset-settings-form.component.mjs +0 -18
  273. package/esm2022/lib/components/search-input/search-input.component.mjs +0 -28
  274. package/esm2022/lib/components/sliding-panel/sliding-panel.component.mjs +0 -48
  275. package/esm2022/lib/components/sliding-panel/sliding-panel.module.mjs +0 -19
  276. package/esm2022/lib/consts/date-time.consts.mjs +0 -2
  277. package/esm2022/lib/consts/index.mjs +0 -4
  278. package/esm2022/lib/consts/inputs.consts.mjs +0 -4
  279. package/esm2022/lib/consts/month.consts.mjs +0 -77
  280. package/esm2022/lib/consts/params.consts.mjs +0 -2
  281. package/esm2022/lib/consts/register-base.consts.mjs +0 -26
  282. package/esm2022/lib/core/form-group-wrapper/errors-consts.mjs +0 -8
  283. package/esm2022/lib/core/form-group-wrapper/form-group-wrapper.mjs +0 -81
  284. package/esm2022/lib/core/form-group-wrapper/index.mjs +0 -2
  285. package/esm2022/lib/core/index.mjs +0 -5
  286. package/esm2022/lib/core/input-control/index.mjs +0 -2
  287. package/esm2022/lib/core/input-control/input-control.mjs +0 -11
  288. package/esm2022/lib/core/param/index.mjs +0 -6
  289. package/esm2022/lib/core/param/param-base.mjs +0 -215
  290. package/esm2022/lib/core/param/param-date-base.mjs +0 -26
  291. package/esm2022/lib/core/param/param-select-base.mjs +0 -114
  292. package/esm2022/lib/core/param/param-text-base.mjs +0 -25
  293. package/esm2022/lib/core/param/param.tokens.mjs +0 -4
  294. package/esm2022/lib/core/register-base/index.mjs +0 -3
  295. package/esm2022/lib/core/register-base/register-base.mjs +0 -575
  296. package/esm2022/lib/core/register-base/register-base.store.mjs +0 -43
  297. package/esm2022/lib/directives/date/date-time.types.mjs +0 -34
  298. package/esm2022/lib/directives/date/format-date.pipe.mjs +0 -33
  299. package/esm2022/lib/directives/index.mjs +0 -3
  300. package/esm2022/lib/directives/number/number-only.directive.mjs +0 -41
  301. package/esm2022/lib/directives/sticky/index.mjs +0 -3
  302. package/esm2022/lib/directives/sticky/sticky-relative.directive.mjs +0 -32
  303. package/esm2022/lib/directives/sticky/sticky-relative.service.mjs +0 -32
  304. package/esm2022/lib/directives/sticky/sticky.directive.mjs +0 -169
  305. package/esm2022/lib/services/date-time.service.mjs +0 -314
  306. package/esm2022/lib/services/dialog/dialog.service.mjs +0 -53
  307. package/esm2022/lib/services/dialog/dialog.types.mjs +0 -2
  308. package/esm2022/lib/services/dialog/index.mjs +0 -3
  309. package/esm2022/lib/services/dom-intersection.service.mjs +0 -22
  310. package/esm2022/lib/services/filter/filters-state.service.mjs +0 -65
  311. package/esm2022/lib/services/filter/filters-transmit.service.mjs +0 -82
  312. package/esm2022/lib/services/filter/filters.service.mjs +0 -23
  313. package/esm2022/lib/services/index.mjs +0 -8
  314. package/esm2022/lib/services/inputs-state.service.mjs +0 -130
  315. package/esm2022/lib/services/inputs.service.mjs +0 -88
  316. package/esm2022/lib/services/key-pressed.service.mjs +0 -37
  317. package/esm2022/lib/services/resize-window-observer.service.mjs +0 -33
  318. package/esm2022/lib/services/selected-objects-state.service.mjs +0 -123
  319. package/esm2022/lib/store/fast-query-store.service.mjs +0 -110
  320. package/esm2022/lib/store/index.mjs +0 -2
  321. package/esm2022/lib/types/event.types.mjs +0 -2
  322. package/esm2022/lib/types/hasura.types.mjs +0 -2
  323. package/esm2022/lib/types/index.mjs +0 -7
  324. package/esm2022/lib/types/inputs.types.mjs +0 -19
  325. package/esm2022/lib/types/params.types.mjs +0 -2
  326. package/esm2022/lib/types/register-base.types.mjs +0 -6
  327. package/esm2022/lib/types/sub-types.mjs +0 -2
  328. package/esm2022/lib/types/user-profile.types.mjs +0 -2
  329. package/esm2022/lib/utils/functions.mjs +0 -10
  330. package/esm2022/lib/utils/get-url-segment.mjs +0 -35
  331. package/esm2022/lib/utils/index.mjs +0 -5
  332. package/esm2022/lib/utils/prizm.shared.module.mjs +0 -284
  333. package/esm2022/lib/utils/rxjs.mjs +0 -28
  334. package/esm2022/lib/utils/select-all-utils.mjs +0 -11
  335. package/esm2022/ngx-register-base.mjs +0 -5
  336. package/esm2022/public-api.mjs +0 -9
  337. package/fesm2022/ngx-register-base.mjs +0 -7465
  338. package/fesm2022/ngx-register-base.mjs.map +0 -1
  339. package/index.d.ts +0 -5
  340. package/lib/components/checkbox-selector/checkbox-selector.component.d.ts +0 -33
  341. package/lib/components/checkbox-selector/checkbox-selector.types.d.ts +0 -7
  342. package/lib/components/column-settings/column-settings.component.d.ts +0 -80
  343. package/lib/components/column-settings/components/column-settings-template/column-settings-template.component.d.ts +0 -24
  344. package/lib/components/column-settings/consts/column-settings.consts.d.ts +0 -8
  345. package/lib/components/column-settings/types/column-settings.types.d.ts +0 -22
  346. package/lib/components/divider/divider.component.d.ts +0 -6
  347. package/lib/components/filter-button/filter-button.component.d.ts +0 -8
  348. package/lib/components/filters/components/filter-list/filter-edit/filter-edit.component.d.ts +0 -14
  349. package/lib/components/filters/components/filter-list/filter-list-footer/filter-list-footer.component.d.ts +0 -25
  350. package/lib/components/filters/components/filter-list/filter-list-header/filter-list-header.component.d.ts +0 -39
  351. package/lib/components/filters/components/filter-list/filter-list-saved/filter-list-saved.component.d.ts +0 -41
  352. package/lib/components/filters/components/filter-list/filter-list.service.d.ts +0 -20
  353. package/lib/components/filters/components/filter-list/filters-section/filters-section.component.d.ts +0 -15
  354. package/lib/components/filters/components/filter-list.module.d.ts +0 -15
  355. package/lib/components/filters/register-table-filter.component.d.ts +0 -40
  356. package/lib/components/filters/register-table-filter.module.d.ts +0 -13
  357. package/lib/components/inputs/inputs.module.d.ts +0 -31
  358. package/lib/components/inputs/param-calendar-year/param-calendar-year.component.d.ts +0 -19
  359. package/lib/components/inputs/param-custom/param-custom.component.d.ts +0 -6
  360. package/lib/components/inputs/param-date/param-date.component.d.ts +0 -20
  361. package/lib/components/inputs/param-date-range/param-date-range.component.d.ts +0 -26
  362. package/lib/components/inputs/param-date-time/param-date-time.component.d.ts +0 -25
  363. package/lib/components/inputs/param-date-time-range/param-date-time-range.component.d.ts +0 -28
  364. package/lib/components/inputs/param-month/param-month.component.d.ts +0 -18
  365. package/lib/components/inputs/param-month-range/param-month-range.component.d.ts +0 -21
  366. package/lib/components/inputs/param-multi-select/param-multi-select.component.d.ts +0 -46
  367. package/lib/components/inputs/param-select/param-select.component.d.ts +0 -30
  368. package/lib/components/inputs/param-switcher/param-switcher.component.d.ts +0 -8
  369. package/lib/components/inputs/param-switcher-date-time-range/consts/param-switcher-date-time-range.consts.d.ts +0 -2
  370. package/lib/components/inputs/param-switcher-date-time-range/param-switcher-date-time-range.component.d.ts +0 -19
  371. package/lib/components/inputs/param-switcher-date-time-range/types/param-switcher-date-time-range.types.d.ts +0 -8
  372. package/lib/components/inputs/param-text/param-text.component.d.ts +0 -10
  373. package/lib/components/inputs/param-textarea/param-textarea.component.d.ts +0 -10
  374. package/lib/components/inputs/param-toggle/param-toggle.component.d.ts +0 -9
  375. package/lib/components/inputs/param-tree/consts/param-tree.consts.d.ts +0 -7
  376. package/lib/components/inputs/param-tree/param-tree.component.d.ts +0 -41
  377. package/lib/components/inputs/param-tree/services/param-tree.service.d.ts +0 -37
  378. package/lib/components/inputs/param-tree/services/sync-tree-loader.service.d.ts +0 -10
  379. package/lib/components/inputs/param-tree/types/param-tree.types.d.ts +0 -32
  380. package/lib/components/inputs/param-tree/utils/param-tree.utils.d.ts +0 -7
  381. package/lib/components/inputs/param-tree-multi-select/param-tree-multi-select.component.d.ts +0 -31
  382. package/lib/components/inputs/param-tree-select/param-tree-select.component.d.ts +0 -30
  383. package/lib/components/inputs/sub-components/param-delete-content-icon/param-delete-content-btn.component.d.ts +0 -6
  384. package/lib/components/inputs/sub-components/param-invalid-icon/param-invalid-icon.component.d.ts +0 -5
  385. package/lib/components/menu-constructor/sproc-menu-constructor.component.d.ts +0 -113
  386. package/lib/components/menu-constructor/store/sproc-abstract-menu-constructor.store.d.ts +0 -24
  387. package/lib/components/menu-constructor/store/sproc-menu-constructor.consts.d.ts +0 -36
  388. package/lib/components/page-menu/schema/sproc-page-menu.consts.d.ts +0 -7
  389. package/lib/components/page-menu/schema/sproc-page-menu.schema.d.ts +0 -30
  390. package/lib/components/page-menu/schema/sproc-page-menu.tokens.d.ts +0 -3
  391. package/lib/components/page-menu/schema/sproc-page-menu.types.d.ts +0 -36
  392. package/lib/components/page-menu/sproc-page-menu.component.d.ts +0 -48
  393. package/lib/components/paginator/paginator.component.d.ts +0 -52
  394. package/lib/components/paginator/types/paginator.types.d.ts +0 -15
  395. package/lib/components/register-table/consts/register-table.consts.d.ts +0 -3
  396. package/lib/components/register-table/directives/cell-template.directive.d.ts +0 -9
  397. package/lib/components/register-table/directives/header-template.directive.d.ts +0 -9
  398. package/lib/components/register-table/model/schema.d.ts +0 -52
  399. package/lib/components/register-table/pipes/class-by-type.pipe.d.ts +0 -8
  400. package/lib/components/register-table/pipes/sticky-column.pipe.d.ts +0 -7
  401. package/lib/components/register-table/register-table.component.d.ts +0 -165
  402. package/lib/components/reset-settings-form/reset-settings-form.component.d.ts +0 -9
  403. package/lib/components/search-input/search-input.component.d.ts +0 -11
  404. package/lib/components/sliding-panel/sliding-panel.component.d.ts +0 -14
  405. package/lib/components/sliding-panel/sliding-panel.module.d.ts +0 -9
  406. package/lib/consts/date-time.consts.d.ts +0 -1
  407. package/lib/consts/index.d.ts +0 -3
  408. package/lib/consts/inputs.consts.d.ts +0 -4
  409. package/lib/consts/month.consts.d.ts +0 -49
  410. package/lib/consts/params.consts.d.ts +0 -1
  411. package/lib/consts/register-base.consts.d.ts +0 -19
  412. package/lib/core/form-group-wrapper/errors-consts.d.ts +0 -5
  413. package/lib/core/form-group-wrapper/form-group-wrapper.d.ts +0 -15
  414. package/lib/core/input-control/input-control.d.ts +0 -11
  415. package/lib/core/param/param-base.d.ts +0 -68
  416. package/lib/core/param/param-date-base.d.ts +0 -18
  417. package/lib/core/param/param-select-base.d.ts +0 -42
  418. package/lib/core/param/param-text-base.d.ts +0 -15
  419. package/lib/core/register-base/register-base.d.ts +0 -168
  420. package/lib/core/register-base/register-base.store.d.ts +0 -35
  421. package/lib/directives/date/date-time.types.d.ts +0 -32
  422. package/lib/directives/date/format-date.pipe.d.ts +0 -10
  423. package/lib/directives/number/number-only.directive.d.ts +0 -10
  424. package/lib/directives/sticky/sticky-relative.directive.d.ts +0 -13
  425. package/lib/directives/sticky/sticky-relative.service.d.ts +0 -15
  426. package/lib/directives/sticky/sticky.directive.d.ts +0 -27
  427. package/lib/services/date-time.service.d.ts +0 -80
  428. package/lib/services/dialog/dialog.service.d.ts +0 -22
  429. package/lib/services/dom-intersection.service.d.ts +0 -8
  430. package/lib/services/filter/filters-state.service.d.ts +0 -21
  431. package/lib/services/filter/filters-transmit.service.d.ts +0 -28
  432. package/lib/services/filter/filters.service.d.ts +0 -12
  433. package/lib/services/inputs-state.service.d.ts +0 -57
  434. package/lib/services/inputs.service.d.ts +0 -28
  435. package/lib/services/key-pressed.service.d.ts +0 -15
  436. package/lib/services/resize-window-observer.service.d.ts +0 -11
  437. package/lib/services/selected-objects-state.service.d.ts +0 -47
  438. package/lib/store/fast-query-store.service.d.ts +0 -19
  439. package/lib/types/hasura.types.d.ts +0 -35
  440. package/lib/types/inputs.types.d.ts +0 -41
  441. package/lib/types/params.types.d.ts +0 -27
  442. package/lib/types/register-base.types.d.ts +0 -123
  443. package/lib/types/sub-types.d.ts +0 -8
  444. package/lib/types/user-profile.types.d.ts +0 -17
  445. package/lib/utils/functions.d.ts +0 -3
  446. package/lib/utils/get-url-segment.d.ts +0 -7
  447. package/lib/utils/prizm.shared.module.d.ts +0 -14
  448. package/lib/utils/rxjs.d.ts +0 -10
  449. package/lib/utils/select-all-utils.d.ts +0 -8
  450. package/schematics/ng-update/replace-menu-state-token/index.d.ts +0 -2
  451. package/schematics/ng-update/replace-menu-state-token/index.js +0 -29
  452. package/schematics/ng-update/replace-menu-state-token/index.js.map +0 -1
  453. package/schematics/ng-update/update-prefix/index.d.ts +0 -2
  454. package/schematics/ng-update/update-prefix/index.js +0 -33
  455. package/schematics/ng-update/update-prefix/index.js.map +0 -1
  456. package/schematics/utils/utils.js +0 -25
  457. package/schematics/utils/utils.js.map +0 -1
  458. /package/{lib/components/column-settings/index.d.ts → src/lib/components/column-settings/index.ts} +0 -0
  459. /package/{lib/components/filters/index.d.ts → src/lib/components/filters/index.ts} +0 -0
  460. /package/{lib/components/index.d.ts → src/lib/components/index.ts} +0 -0
  461. /package/{lib/components/inputs/index.d.ts → src/lib/components/inputs/index.ts} +0 -0
  462. /package/{lib/components/inputs/param-switcher-date-time-range/index.d.ts → src/lib/components/inputs/param-switcher-date-time-range/index.ts} +0 -0
  463. /package/{lib/components/inputs/param-tree/index.d.ts → src/lib/components/inputs/param-tree/index.ts} +0 -0
  464. /package/{lib/components/menu-constructor/index.d.ts → src/lib/components/menu-constructor/index.ts} +0 -0
  465. /package/{lib/components/page-menu/index.d.ts → src/lib/components/page-menu/index.ts} +0 -0
  466. /package/{lib/components/register-table/index.d.ts → src/lib/components/register-table/index.ts} +0 -0
  467. /package/{lib/core/form-group-wrapper/index.d.ts → src/lib/core/form-group-wrapper/index.ts} +0 -0
  468. /package/{lib/core/index.d.ts → src/lib/core/index.ts} +0 -0
  469. /package/{lib/core/input-control/index.d.ts → src/lib/core/input-control/index.ts} +0 -0
  470. /package/{lib/core/param/index.d.ts → src/lib/core/param/index.ts} +0 -0
  471. /package/{lib/core/register-base/index.d.ts → src/lib/core/register-base/index.ts} +0 -0
  472. /package/{lib/directives/index.d.ts → src/lib/directives/index.ts} +0 -0
  473. /package/{lib/directives/sticky/index.d.ts → src/lib/directives/sticky/index.ts} +0 -0
  474. /package/{lib/services/dialog/index.d.ts → src/lib/services/dialog/index.ts} +0 -0
  475. /package/{lib/services/index.d.ts → src/lib/services/index.ts} +0 -0
  476. /package/{lib/store/index.d.ts → src/lib/store/index.ts} +0 -0
  477. /package/{lib/types/index.d.ts → src/lib/types/index.ts} +0 -0
  478. /package/{lib/utils/index.d.ts → src/lib/utils/index.ts} +0 -0
  479. /package/{public-api.d.ts → src/public-api.ts} +0 -0
@@ -1,23 +0,0 @@
1
- import { Injectable, Optional } from '@angular/core';
2
- import { InputsService } from '../inputs.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "./filters-transmit.service";
5
- export class FiltersService extends InputsService {
6
- constructor(injector, _transmitter) {
7
- super(injector);
8
- this._transmitter = _transmitter;
9
- }
10
- init(group) {
11
- super.init(group);
12
- this._transmitter?.setForm(this.inputs);
13
- this._transmitter?.setSearchInput(this.searchInput);
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersService, deps: [{ token: i0.Injector }, { token: i1.FiltersTransmitService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersService }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FiltersService, decorators: [{
19
- type: Injectable
20
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i1.FiltersTransmitService, decorators: [{
21
- type: Optional
22
- }] }] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9zZXJ2aWNlcy9maWx0ZXIvZmlsdGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBS2xELE1BQU0sT0FBTyxjQUF5QixTQUFRLGFBQXVCO0lBQ25FLFlBQ0UsUUFBa0IsRUFDVyxZQUFvQztRQUVqRSxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFGYSxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7SUFHbkUsQ0FBQztJQUVlLElBQUksQ0FBQyxLQUFpQztRQUNwRCxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxCLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0FiVSxjQUFjO21IQUFkLGNBQWM7OzRGQUFkLGNBQWM7a0JBRDFCLFVBQVU7OzBCQUlOLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElucHV0c1NlcnZpY2UgfSBmcm9tICcuLi9pbnB1dHMuc2VydmljZSc7XG5pbXBvcnQgeyBGaWx0ZXJzVHJhbnNtaXRTZXJ2aWNlIH0gZnJvbSAnLi9maWx0ZXJzLXRyYW5zbWl0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRm9ybUdyb3VwV3JhcHBlciB9IGZyb20gJy4uLy4uL2NvcmUvZm9ybS1ncm91cC13cmFwcGVyL2Zvcm0tZ3JvdXAtd3JhcHBlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGaWx0ZXJzU2VydmljZTxGb3JtVHlwZT4gZXh0ZW5kcyBJbnB1dHNTZXJ2aWNlPEZvcm1UeXBlPiB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IF90cmFuc21pdHRlcjogRmlsdGVyc1RyYW5zbWl0U2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgaW5pdChncm91cDogRm9ybUdyb3VwV3JhcHBlcjxGb3JtVHlwZT4pOiB2b2lkIHtcbiAgICBzdXBlci5pbml0KGdyb3VwKTtcblxuICAgIHRoaXMuX3RyYW5zbWl0dGVyPy5zZXRGb3JtKHRoaXMuaW5wdXRzKTtcbiAgICB0aGlzLl90cmFuc21pdHRlcj8uc2V0U2VhcmNoSW5wdXQodGhpcy5zZWFyY2hJbnB1dCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,8 +0,0 @@
1
- export * from './dialog';
2
- export * from './date-time.service';
3
- export { FiltersService } from './filter/filters.service';
4
- export { FiltersStateService } from './filter/filters-state.service';
5
- export { FiltersTransmitService } from './filter/filters-transmit.service';
6
- export { ResizeWindowObserverService } from './resize-window-observer.service';
7
- export { SelectedObjectsStateService } from './selected-objects-state.service';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cnO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRlLXRpbWUuc2VydmljZSc7XG5leHBvcnQgeyBGaWx0ZXJzU2VydmljZSB9IGZyb20gJy4vZmlsdGVyL2ZpbHRlcnMuc2VydmljZSc7XG5leHBvcnQgeyBGaWx0ZXJzU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9maWx0ZXIvZmlsdGVycy1zdGF0ZS5zZXJ2aWNlJztcbmV4cG9ydCB7IEZpbHRlcnNUcmFuc21pdFNlcnZpY2UgfSBmcm9tICcuL2ZpbHRlci9maWx0ZXJzLXRyYW5zbWl0LnNlcnZpY2UnO1xuZXhwb3J0IHsgUmVzaXplV2luZG93T2JzZXJ2ZXJTZXJ2aWNlIH0gZnJvbSAnLi9yZXNpemUtd2luZG93LW9ic2VydmVyLnNlcnZpY2UnO1xuZXhwb3J0IHsgU2VsZWN0ZWRPYmplY3RzU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi9zZWxlY3RlZC1vYmplY3RzLXN0YXRlLnNlcnZpY2UnO1xuIl19
@@ -1,130 +0,0 @@
1
- import { DestroyRef, inject, Injectable } from '@angular/core';
2
- import { BehaviorSubject, Subject } from 'rxjs';
3
- import { EInputsAction, EInputsState } from '../types';
4
- import { Router } from '@angular/router';
5
- import { getLastSegmentOfPathName } from '../utils';
6
- import * as i0 from "@angular/core";
7
- export const DEFAULT_LIMIT = 30;
8
- export class InputsStateService {
9
- constructor() {
10
- this.unsubscribe$ = new Subject();
11
- this._page$ = new BehaviorSubject(1);
12
- this._limit$ = new BehaviorSubject(null);
13
- this._offset$ = new BehaviorSubject(0);
14
- this._count$ = new BehaviorSubject(0);
15
- this._sorter$ = new BehaviorSubject([]);
16
- this._name$ = new BehaviorSubject('');
17
- this._state$ = new BehaviorSubject({
18
- state: EInputsState.HIDDEN,
19
- action: EInputsAction.OPEN,
20
- });
21
- // TODO: заменить на нормальный тип
22
- this._gqlValues$ = new BehaviorSubject([]);
23
- this._pinned$ = new BehaviorSubject(false);
24
- this.page$ = this._page$.asObservable();
25
- this.limit$ = this._limit$.asObservable();
26
- this.offset$ = this._offset$.asObservable();
27
- this.count$ = this._count$.asObservable();
28
- this.sorter$ = this._sorter$.asObservable();
29
- this.name$ = this._name$.asObservable();
30
- this.state$ = this._state$.asObservable();
31
- this.gqlValues$ = this._gqlValues$.asObservable();
32
- this.pinned$ = this._pinned$.asObservable();
33
- this.destroyRef = inject(DestroyRef);
34
- this.router = inject(Router);
35
- this.modulePath = getLastSegmentOfPathName(this.router.url);
36
- this.pinStorageKey = `@pin/${this.modulePath}`;
37
- this.pinnedInputsStorageKey = `@pinned-inputs/${this.modulePath}`;
38
- }
39
- toggle() {
40
- const isOpen = this.state.state !== EInputsState.HIDDEN;
41
- // если фильтр был открыт, значит его закрывают - открепляем
42
- if (isOpen) {
43
- this.setPin(false);
44
- }
45
- this.setState({
46
- state: isOpen ? EInputsState.HIDDEN : EInputsState.FILTER_LIST,
47
- action: EInputsAction.OPEN,
48
- });
49
- }
50
- togglePin() {
51
- this.setPin(!this.isPin);
52
- }
53
- ngOnDestroy() {
54
- this._page$.complete();
55
- this._limit$.complete();
56
- this._name$.complete();
57
- this._offset$.complete();
58
- this._count$.complete();
59
- this._state$.complete();
60
- this._sorter$.complete();
61
- this._gqlValues$.complete();
62
- this._pinned$.complete();
63
- this.unsubscribe$.next();
64
- this.unsubscribe$.complete();
65
- this.onDestroy();
66
- }
67
- onDestroy() { }
68
- setPage(page) {
69
- this._page$.next(page);
70
- }
71
- setLimit(limit) {
72
- this._limit$.next(limit);
73
- }
74
- setOffset(offset) {
75
- this._offset$.next(offset);
76
- }
77
- setSorter(sort) {
78
- this._sorter$.next(sort);
79
- }
80
- setName(name) {
81
- this._name$.next(name);
82
- }
83
- setCount(count) {
84
- this._count$.next(count);
85
- }
86
- setState(state) {
87
- if (!(this.isPin && state.state === EInputsState.HIDDEN)) {
88
- this._state$.next(state);
89
- }
90
- }
91
- setGqlValues(values) {
92
- this._gqlValues$.next(values);
93
- }
94
- setPin(isPin) {
95
- this._pinned$.next(isPin);
96
- }
97
- get page() {
98
- return this._page$.getValue();
99
- }
100
- get limit() {
101
- return this._limit$.getValue() ?? DEFAULT_LIMIT;
102
- }
103
- get offset() {
104
- return this._offset$.getValue();
105
- }
106
- get state() {
107
- return this._state$.getValue();
108
- }
109
- get count() {
110
- return this._count$.getValue();
111
- }
112
- get sorter() {
113
- return this._sorter$.getValue();
114
- }
115
- get name() {
116
- return this._name$.getValue();
117
- }
118
- get gqlValues() {
119
- return this._gqlValues$.getValue();
120
- }
121
- get isPin() {
122
- return this._pinned$.getValue();
123
- }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
125
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsStateService }); }
126
- }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsStateService, decorators: [{
128
- type: Injectable
129
- }] });
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLXN0YXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL2lucHV0cy1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBMkIsTUFBTSxVQUFVLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFHcEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEVBQUUsQ0FBQztBQUdoQyxNQUFNLE9BQU8sa0JBQWtCO0lBRC9CO1FBRXFCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVuQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNuRCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ3pDLGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBK0IsRUFBRSxDQUFDLENBQUM7UUFDakUsV0FBTSxHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBZTtZQUM3RCxLQUFLLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDMUIsTUFBTSxFQUFFLGFBQWEsQ0FBQyxJQUFJO1NBQzNCLENBQUMsQ0FBQztRQUNILG1DQUFtQztRQUNoQixnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUVsRCxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN2QyxVQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM3QyxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVwQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRWhDLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFeEIsZUFBVSxHQUFHLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsa0JBQWEsR0FBRyxRQUFRLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQywyQkFBc0IsR0FBRyxrQkFBa0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0tBZ0g5RTtJQTlHUSxNQUFNO1FBQ1gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLE1BQU0sQ0FBQztRQUV4RCw0REFBNEQ7UUFDNUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVztZQUM5RCxNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRXpCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUU3QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVTLFNBQVMsS0FBVSxDQUFDO0lBRXZCLE9BQU8sQ0FBQyxJQUFZO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sU0FBUyxDQUFDLE1BQWM7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFrQztRQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFTSxRQUFRLENBQUMsS0FBbUI7UUFDakMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQWlCO1FBQ25DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBYztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksYUFBYSxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7K0dBakpVLGtCQUFrQjttSEFBbEIsa0JBQWtCOzs0RkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdHJveVJlZiwgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRUlucHV0c0FjdGlvbiwgRUlucHV0c1N0YXRlLCBHcWxGaWVsZHMsIElJbnB1dHNTdGF0ZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBnZXRMYXN0U2VnbWVudE9mUGF0aE5hbWUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBSZWdpc3RlclRhYmxlQ2VsbFNvcnRlciB9IGZyb20gJy4uL2NvbXBvbmVudHMvcmVnaXN0ZXItdGFibGUvbW9kZWwvc2NoZW1hJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTElNSVQgPSAzMDtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIElucHV0c1N0YXRlU2VydmljZTxUID0gYW55PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByb3RlY3RlZCByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBfcGFnZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfbGltaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXIgfCBudWxsPihudWxsKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9vZmZzZXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NvdW50JCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9zb3J0ZXIkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxSZWdpc3RlclRhYmxlQ2VsbFNvcnRlcjxUPltdPihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfbmFtZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3N0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SUlucHV0c1N0YXRlPih7XG4gICAgc3RhdGU6IEVJbnB1dHNTdGF0ZS5ISURERU4sXG4gICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLk9QRU4sXG4gIH0pO1xuICAvLyBUT0RPOiDQt9Cw0LzQtdC90LjRgtGMINC90LAg0L3QvtGA0LzQsNC70YzQvdGL0Lkg0YLQuNC/XG4gIHByb3RlY3RlZCByZWFkb25seSBfZ3FsVmFsdWVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8R3FsRmllbGRzPihbXSk7XG4gIHByb3RlY3RlZCByZWFkb25seSBfcGlubmVkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwYWdlJCA9IHRoaXMuX3BhZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgcmVhZG9ubHkgbGltaXQkID0gdGhpcy5fbGltaXQkLmFzT2JzZXJ2YWJsZSgpO1xuICBwdWJsaWMgcmVhZG9ubHkgb2Zmc2V0JCA9IHRoaXMuX29mZnNldCQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyByZWFkb25seSBjb3VudCQgPSB0aGlzLl9jb3VudCQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyByZWFkb25seSBzb3J0ZXIkID0gdGhpcy5fc29ydGVyJC5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWUkID0gdGhpcy5fbmFtZSQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZSQgPSB0aGlzLl9zdGF0ZSQuYXNPYnNlcnZhYmxlKCk7XG4gIHB1YmxpYyByZWFkb25seSBncWxWYWx1ZXMkID0gdGhpcy5fZ3FsVmFsdWVzJC5hc09ic2VydmFibGUoKTtcbiAgcHVibGljIHJlYWRvbmx5IHBpbm5lZCQgPSB0aGlzLl9waW5uZWQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXIgPSBpbmplY3QoUm91dGVyKTtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9kdWxlUGF0aCA9IGdldExhc3RTZWdtZW50T2ZQYXRoTmFtZSh0aGlzLnJvdXRlci51cmwpO1xuXG4gIHB1YmxpYyByZWFkb25seSBwaW5TdG9yYWdlS2V5ID0gYEBwaW4vJHt0aGlzLm1vZHVsZVBhdGh9YDtcbiAgcHVibGljIHJlYWRvbmx5IHBpbm5lZElucHV0c1N0b3JhZ2VLZXkgPSBgQHBpbm5lZC1pbnB1dHMvJHt0aGlzLm1vZHVsZVBhdGh9YDtcblxuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuc3RhdGUuc3RhdGUgIT09IEVJbnB1dHNTdGF0ZS5ISURERU47XG5cbiAgICAvLyDQtdGB0LvQuCDRhNC40LvRjNGC0YAg0LHRi9C7INC+0YLQutGA0YvRgiwg0LfQvdCw0YfQuNGCINC10LPQviDQt9Cw0LrRgNGL0LLQsNGO0YIgLSDQvtGC0LrRgNC10L/Qu9GP0LXQvFxuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHRoaXMuc2V0UGluKGZhbHNlKTtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHN0YXRlOiBpc09wZW4gPyBFSW5wdXRzU3RhdGUuSElEREVOIDogRUlucHV0c1N0YXRlLkZJTFRFUl9MSVNULFxuICAgICAgYWN0aW9uOiBFSW5wdXRzQWN0aW9uLk9QRU4sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlUGluKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0UGluKCF0aGlzLmlzUGluKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9wYWdlJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2xpbWl0JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX25hbWUkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fb2Zmc2V0JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2NvdW50JC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3N0YXRlJC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX3NvcnRlciQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9ncWxWYWx1ZXMkLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fcGlubmVkJC5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy51bnN1YnNjcmliZSQubmV4dCgpO1xuICAgIHRoaXMudW5zdWJzY3JpYmUkLmNvbXBsZXRlKCk7XG5cbiAgICB0aGlzLm9uRGVzdHJveSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIG9uRGVzdHJveSgpOiB2b2lkIHt9XG5cbiAgcHVibGljIHNldFBhZ2UocGFnZTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fcGFnZSQubmV4dChwYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRMaW1pdChsaW1pdDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fbGltaXQkLm5leHQobGltaXQpO1xuICB9XG5cbiAgcHVibGljIHNldE9mZnNldChvZmZzZXQ6IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX29mZnNldCQubmV4dChvZmZzZXQpO1xuICB9XG5cbiAgcHVibGljIHNldFNvcnRlcihzb3J0OiBSZWdpc3RlclRhYmxlQ2VsbFNvcnRlcjxUPltdKTogdm9pZCB7XG4gICAgdGhpcy5fc29ydGVyJC5uZXh0KHNvcnQpO1xuICB9XG5cbiAgcHVibGljIHNldE5hbWUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5fbmFtZSQubmV4dChuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRDb3VudChjb3VudDogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fY291bnQkLm5leHQoY291bnQpO1xuICB9XG5cbiAgcHVibGljIHNldFN0YXRlKHN0YXRlOiBJSW5wdXRzU3RhdGUpOiB2b2lkIHtcbiAgICBpZiAoISh0aGlzLmlzUGluICYmIHN0YXRlLnN0YXRlID09PSBFSW5wdXRzU3RhdGUuSElEREVOKSkge1xuICAgICAgdGhpcy5fc3RhdGUkLm5leHQoc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRHcWxWYWx1ZXModmFsdWVzOiBHcWxGaWVsZHMpOiB2b2lkIHtcbiAgICB0aGlzLl9ncWxWYWx1ZXMkLm5leHQodmFsdWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRQaW4oaXNQaW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLl9waW5uZWQkLm5leHQoaXNQaW4pO1xuICB9XG5cbiAgcHVibGljIGdldCBwYWdlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2UkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGxpbWl0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xpbWl0JC5nZXRWYWx1ZSgpID8/IERFRkFVTFRfTElNSVQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG9mZnNldCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9vZmZzZXQkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IElJbnB1dHNTdGF0ZSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXRlJC5nZXRWYWx1ZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9jb3VudCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc29ydGVyKCk6IFJlZ2lzdGVyVGFibGVDZWxsU29ydGVyPFQ+W10ge1xuICAgIHJldHVybiB0aGlzLl9zb3J0ZXIkLmdldFZhbHVlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbmFtZSQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZ3FsVmFsdWVzKCk6IEdxbEZpZWxkcyB7XG4gICAgcmV0dXJuIHRoaXMuX2dxbFZhbHVlcyQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQaW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX3Bpbm5lZCQuZ2V0VmFsdWUoKTtcbiAgfVxufVxuIl19
@@ -1,88 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { InputControl } from '../core/input-control/input-control';
4
- import { INPUTS_STATE_CONFIG_KEY, WARN_SEARCH_INPUT_UNDEFINED } from '../consts/inputs.consts';
5
- import * as i0 from "@angular/core";
6
- export class InputsService {
7
- constructor(injector) {
8
- this.injector = injector;
9
- this.unsubscribe$ = new Subject();
10
- this.config = this.injector.get(INPUTS_STATE_CONFIG_KEY, {});
11
- const { searchInput } = this.config;
12
- if (searchInput) {
13
- this._searchInput = new InputControl(null);
14
- }
15
- }
16
- get searchInput() {
17
- if (!this._searchInput) {
18
- console.warn(WARN_SEARCH_INPUT_UNDEFINED);
19
- }
20
- return this._searchInput;
21
- }
22
- get searchValue() {
23
- return this.searchInput?.getRawValue();
24
- }
25
- init(group) {
26
- this.inputs = group;
27
- }
28
- get values() {
29
- return this.inputs.getRawValue();
30
- }
31
- get dirtyValues() {
32
- return this.inputs.getDirtyValues();
33
- }
34
- clear() {
35
- this.inputs.reset();
36
- }
37
- setUserSettingsFilterValues(values) {
38
- this.clear();
39
- for (const { id, value } of values) {
40
- const key = id;
41
- const control = this._control(key);
42
- if (control?.saved_value$) {
43
- control.saved_value$.next(value);
44
- }
45
- else {
46
- console.warn(`Не найдено поле: ${id} для установки значения:`, value);
47
- }
48
- }
49
- }
50
- _control(key) {
51
- return this.inputs.controls[key];
52
- }
53
- get userSettingsFilter() {
54
- return Object.entries(this.inputs.controls).map(([id, abstractControl]) => {
55
- const control = abstractControl;
56
- const value = control.saved_value$.getValue();
57
- const savedValue = value === null ? null : value;
58
- return {
59
- id,
60
- value: savedValue,
61
- };
62
- });
63
- }
64
- get gqlFilter() {
65
- const filter = [];
66
- for (const abstractControl of Object.values(this.inputs.controls)) {
67
- const control = abstractControl;
68
- if (control.gql_value) {
69
- filter.push(control.gql_value);
70
- }
71
- control.applied?.set(!!control.gql_value);
72
- }
73
- if (this.searchValue && this.searchInput?.gql_value) {
74
- filter.push(this.searchInput.gql_value);
75
- }
76
- return filter;
77
- }
78
- ngOnDestroy() {
79
- this.unsubscribe$.next();
80
- this.unsubscribe$.complete();
81
- }
82
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
83
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsService }); }
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: InputsService, decorators: [{
86
- type: Injectable
87
- }], ctorParameters: () => [{ type: i0.Injector }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmVnaXN0ZXItYmFzZS9zcmMvbGliL3NlcnZpY2VzL2lucHV0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUcvRixNQUFNLE9BQU8sYUFBYTtJQU94QixZQUE2QixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTDVCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1wRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLHVCQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTdELE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXBDLElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLFlBQVksQ0FBZ0IsSUFBSSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFXLFdBQVc7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN2QixPQUFPLENBQUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUs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bUhBQWIsYUFBYTs7NEZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1Hcm91cFdyYXBwZXIgfSBmcm9tICcuLi9jb3JlL2Zvcm0tZ3JvdXAtd3JhcHBlci9mb3JtLWdyb3VwLXdyYXBwZXInO1xuaW1wb3J0IHsgSVRwVXNlclNldHRpbmdzU2V0dGluZ3NGaWx0ZXIgfSBmcm9tICcuLi90eXBlcy9yZWdpc3Rlci1iYXNlLnR5cGVzJztcbmltcG9ydCB7IEV4dHJhY3RGb3JtIH0gZnJvbSAnLi4vdHlwZXMvc3ViLXR5cGVzJztcbmltcG9ydCB7IElJbnB1dENvbnRyb2wsIElJbnB1dHNTdGF0ZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzL2lucHV0cy50eXBlcyc7XG5pbXBvcnQgeyBJbnB1dENvbnRyb2wgfSBmcm9tICcuLi9jb3JlL2lucHV0LWNvbnRyb2wvaW5wdXQtY29udHJvbCc7XG5pbXBvcnQgeyBJTlBVVFNfU1RBVEVfQ09ORklHX0tFWSwgV0FSTl9TRUFSQ0hfSU5QVVRfVU5ERUZJTkVEIH0gZnJvbSAnLi4vY29uc3RzL2lucHV0cy5jb25zdHMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSW5wdXRzU2VydmljZTxGb3JtVHlwZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uZmlnOiBJSW5wdXRzU3RhdGVDb25maWc7XG4gIHByb3RlY3RlZCByZWFkb25seSB1bnN1YnNjcmliZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaElucHV0OiBJSW5wdXRDb250cm9sPHN0cmluZyB8IG51bGw+IHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgaW5wdXRzITogRm9ybUdyb3VwV3JhcHBlcjxGb3JtVHlwZT47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB0aGlzLmNvbmZpZyA9IHRoaXMuaW5qZWN0b3IuZ2V0KElOUFVUU19TVEFURV9DT05GSUdfS0VZLCB7fSk7XG5cbiAgICBjb25zdCB7IHNlYXJjaElucHV0IH0gPSB0aGlzLmNvbmZpZztcblxuICAgIGlmIChzZWFyY2hJbnB1dCkge1xuICAgICAgdGhpcy5fc2VhcmNoSW5wdXQgPSBuZXcgSW5wdXRDb250cm9sPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VhcmNoSW5wdXQoKTogSUlucHV0Q29udHJvbDxzdHJpbmcgfCBudWxsPiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLl9zZWFyY2hJbnB1dCkge1xuICAgICAgY29uc29sZS53YXJuKFdBUk5fU0VBUkNIX0lOUFVUX1VOREVGSU5FRCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaElucHV0O1xuICB9XG5cbiAgcHVibGljIGdldCBzZWFyY2hWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hJbnB1dD8uZ2V0UmF3VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBpbml0KGdyb3VwOiBGb3JtR3JvdXBXcmFwcGVyPEZvcm1UeXBlPik6IHZvaWQge1xuICAgIHRoaXMuaW5wdXRzID0gZ3JvdXA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlcygpOiBFeHRyYWN0Rm9ybTxGb3JtVHlwZT4ge1xuICAgIHJldHVybiB0aGlzLmlucHV0cy5nZXRSYXdWYWx1ZSgpIGFzIEV4dHJhY3RGb3JtPEZvcm1UeXBlPjtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlydHlWYWx1ZXMoKTogUGFydGlhbDxFeHRyYWN0Rm9ybTxGb3JtVHlwZT4+IHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dHMuZ2V0RGlydHlWYWx1ZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmlucHV0cy5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIHNldFVzZXJTZXR0aW5nc0ZpbHRlclZhbHVlcyh2YWx1ZXM6IElUcFVzZXJTZXR0aW5nc1NldHRpbmdzRmlsdGVyW10pOiB2b2lkIHtcbiAgICB0aGlzLmNsZWFyKCk7XG5cbiAgICBmb3IgKGNvbnN0IHsgaWQsIHZhbHVlIH0gb2YgdmFsdWVzKSB7XG4gICAgICBjb25zdCBrZXkgPSBpZCBhcyBrZXlvZiBGb3JtVHlwZTtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9jb250cm9sPGFueSwgYW55PihrZXkpO1xuXG4gICAgICBpZiAoY29udHJvbD8uc2F2ZWRfdmFsdWUkKSB7XG4gICAgICAgIGNvbnRyb2wuc2F2ZWRfdmFsdWUkLm5leHQodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGDQndC1INC90LDQudC00LXQvdC+INC/0L7Qu9C1OiAke2lkfSDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INC30L3QsNGH0LXQvdC40Y86YCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NvbnRyb2w8VmFsdWVUeXBlIGV4dGVuZHMgRm9ybVR5cGVba2V5b2YgRm9ybVR5cGVdLCBTYXZlZFZhbHVlVHlwZT4oXG4gICAga2V5OiBrZXlvZiBGb3JtVHlwZVxuICApOiBJSW5wdXRDb250cm9sPFZhbHVlVHlwZSwgU2F2ZWRWYWx1ZVR5cGU+IHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dHMuY29udHJvbHNba2V5XSBhcyBJSW5wdXRDb250cm9sPFZhbHVlVHlwZSwgU2F2ZWRWYWx1ZVR5cGU+O1xuICB9XG5cbiAgcHVibGljIGdldCB1c2VyU2V0dGluZ3NGaWx0ZXIoKTogSVRwVXNlclNldHRpbmdzU2V0dGluZ3NGaWx0ZXJbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuaW5wdXRzLmNvbnRyb2xzKS5tYXAoKFtpZCwgYWJzdHJhY3RDb250cm9sXSkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGFic3RyYWN0Q29udHJvbCBhcyBJSW5wdXRDb250cm9sO1xuICAgICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnNhdmVkX3ZhbHVlJC5nZXRWYWx1ZSgpO1xuICAgICAgY29uc3Qgc2F2ZWRWYWx1ZSA9IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHZhbHVlO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZCxcbiAgICAgICAgdmFsdWU6IHNhdmVkVmFsdWUsXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBncWxGaWx0ZXIoKTogUmVjb3JkPHN0cmluZywgYW55PltdIHtcbiAgICBjb25zdCBmaWx0ZXI6IFJlY29yZDxzdHJpbmcsIGFueT5bXSA9IFtdO1xuXG4gICAgZm9yIChjb25zdCBhYnN0cmFjdENvbnRyb2wgb2YgT2JqZWN0LnZhbHVlcyh0aGlzLmlucHV0cy5jb250cm9scykpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBhYnN0cmFjdENvbnRyb2wgYXMgSUlucHV0Q29udHJvbDtcblxuICAgICAgaWYgKGNvbnRyb2wuZ3FsX3ZhbHVlKSB7XG4gICAgICAgIGZpbHRlci5wdXNoKGNvbnRyb2wuZ3FsX3ZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgY29udHJvbC5hcHBsaWVkPy5zZXQoISFjb250cm9sLmdxbF92YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc2VhcmNoVmFsdWUgJiYgdGhpcy5zZWFyY2hJbnB1dD8uZ3FsX3ZhbHVlKSB7XG4gICAgICBmaWx0ZXIucHVzaCh0aGlzLnNlYXJjaElucHV0LmdxbF92YWx1ZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpbHRlcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnVuc3Vic2NyaWJlJC5uZXh0KCk7XG4gICAgdGhpcy51bnN1YnNjcmliZSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
@@ -1,37 +0,0 @@
1
- import { inject, Injectable, InjectionToken } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export const KEY_PRESSED = new InjectionToken('KEY_PRESSED_TOKEN');
5
- export class KeyPressedService {
6
- constructor() {
7
- this._keyName = inject(KEY_PRESSED);
8
- this._isPressed$ = new BehaviorSubject(false);
9
- this.isPressed$ = this._isPressed$.asObservable();
10
- this._keydownListener = (event) => {
11
- if (event.key === this._keyName) {
12
- this._isPressed$.next(true);
13
- }
14
- };
15
- this._keyupListener = (event) => {
16
- if (event.key === this._keyName) {
17
- this._isPressed$.next(false);
18
- }
19
- };
20
- window.addEventListener('keydown', this._keydownListener);
21
- window.addEventListener('keyup', this._keyupListener);
22
- }
23
- isPressed() {
24
- return this._isPressed$.getValue();
25
- }
26
- ngOnDestroy() {
27
- this._isPressed$.complete();
28
- window.removeEventListener('keydown', this._keydownListener);
29
- window.removeEventListener('keyup', this._keyupListener);
30
- }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KeyPressedService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
32
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KeyPressedService }); }
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: KeyPressedService, decorators: [{
35
- type: Injectable
36
- }], ctorParameters: () => [] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXByZXNzZWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZWdpc3Rlci1iYXNlL3NyYy9saWIvc2VydmljZXMva2V5LXByZXNzZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFdkMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksY0FBYyxDQUFTLG1CQUFtQixDQUFDLENBQUM7QUFHM0UsTUFBTSxPQUFPLGlCQUFpQjtJQU81QjtRQU5RLGFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEIsZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQyxlQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQWlCNUMscUJBQWdCLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDM0QsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsQ0FBQztRQUNILENBQUMsQ0FBQztRQUVlLG1CQUFjLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDekQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztRQUNILENBQUMsQ0FBQztRQXhCQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzFELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMzRCxDQUFDOytHQXBCVSxpQkFBaUI7bUhBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCBjb25zdCBLRVlfUFJFU1NFRCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdLRVlfUFJFU1NFRF9UT0tFTicpO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgS2V5UHJlc3NlZFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9rZXlOYW1lID0gaW5qZWN0KEtFWV9QUkVTU0VEKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9pc1ByZXNzZWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlzUHJlc3NlZCQgPSB0aGlzLl9pc1ByZXNzZWQkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgdGhpcy5fa2V5ZG93bkxpc3RlbmVyKTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCB0aGlzLl9rZXl1cExpc3RlbmVyKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1ByZXNzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2lzUHJlc3NlZCQuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pc1ByZXNzZWQkLmNvbXBsZXRlKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9rZXlkb3duTGlzdGVuZXIpO1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXl1cCcsIHRoaXMuX2tleXVwTGlzdGVuZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfa2V5ZG93bkxpc3RlbmVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gdGhpcy5fa2V5TmFtZSkge1xuICAgICAgdGhpcy5faXNQcmVzc2VkJC5uZXh0KHRydWUpO1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9rZXl1cExpc3RlbmVyID0gKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gdGhpcy5fa2V5TmFtZSkge1xuICAgICAgdGhpcy5faXNQcmVzc2VkJC5uZXh0KGZhbHNlKTtcbiAgICB9XG4gIH07XG59XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { afterNextRender, DestroyRef, inject, Injectable, NgZone, signal } from '@angular/core';
2
- import { debounceTime, distinctUntilChanged, fromEvent, map } from 'rxjs';
3
- import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
4
- import * as i0 from "@angular/core";
5
- const RESIZE_WINDOW_DEBOUNCE_MLS = 100;
6
- export class ResizeWindowObserverService {
7
- constructor() {
8
- this._zone = inject(NgZone);
9
- this._destroyRef = inject(DestroyRef);
10
- this.innerHeight = signal(window.innerHeight);
11
- this.innerWidth = signal(window.innerWidth);
12
- this.innerHeight$ = toObservable(this.innerHeight);
13
- afterNextRender(() => {
14
- this._zone.runOutsideAngular(() => {
15
- fromEvent(window, 'resize')
16
- .pipe(debounceTime(RESIZE_WINDOW_DEBOUNCE_MLS), map(() => ({
17
- height: window.innerHeight,
18
- width: window.innerWidth,
19
- })), distinctUntilChanged(), takeUntilDestroyed(this._destroyRef))
20
- .subscribe(({ height, width }) => {
21
- this.innerHeight.set(height);
22
- this.innerWidth.set(width);
23
- });
24
- });
25
- });
26
- }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizeWindowObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizeWindowObserverService }); }
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ResizeWindowObserverService, decorators: [{
31
- type: Injectable
32
- }], ctorParameters: () => [] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLXdpbmRvdy1vYnNlcnZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9zZXJ2aWNlcy9yZXNpemUtd2luZG93LW9ic2VydmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRTlFLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxDQUFDO0FBR3ZDLE1BQU0sT0FBTywyQkFBMkI7SUFTdEM7UUFSaUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVsQyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDekMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFdkMsaUJBQVksR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRzVELGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2hDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO3FCQUN4QixJQUFJLENBQ0gsWUFBWSxDQUFDLDBCQUEwQixDQUFDLEVBQ3hDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO29CQUNULE1BQU0sRUFBRSxNQUFNLENBQUMsV0FBVztvQkFDMUIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxVQUFVO2lCQUN6QixDQUFDLENBQUMsRUFDSCxvQkFBb0IsRUFBRSxFQUN0QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3JDO3FCQUNBLFNBQVMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E1QlUsMkJBQTJCO21IQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBRHZDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZnRlck5leHRSZW5kZXIsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQsIHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcblxuY29uc3QgUkVTSVpFX1dJTkRPV19ERUJPVU5DRV9NTFMgPSAxMDA7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSZXNpemVXaW5kb3dPYnNlcnZlclNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IF96b25lID0gaW5qZWN0KE5nWm9uZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgcHVibGljIHJlYWRvbmx5IGlubmVySGVpZ2h0ID0gc2lnbmFsKHdpbmRvdy5pbm5lckhlaWdodCk7XG4gIHB1YmxpYyByZWFkb25seSBpbm5lcldpZHRoID0gc2lnbmFsKHdpbmRvdy5pbm5lcldpZHRoKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgaW5uZXJIZWlnaHQkID0gdG9PYnNlcnZhYmxlKHRoaXMuaW5uZXJIZWlnaHQpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgICB0aGlzLl96b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoUkVTSVpFX1dJTkRPV19ERUJPVU5DRV9NTFMpLFxuICAgICAgICAgICAgbWFwKCgpID0+ICh7XG4gICAgICAgICAgICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgICAgICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHsgaGVpZ2h0LCB3aWR0aCB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmlubmVySGVpZ2h0LnNldChoZWlnaHQpO1xuICAgICAgICAgICAgdGhpcy5pbm5lcldpZHRoLnNldCh3aWR0aCk7XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,123 +0,0 @@
1
- import { computed, DestroyRef, inject, Injectable, signal } from '@angular/core';
2
- import { BehaviorSubject, skip, take } from 'rxjs';
3
- import { takeUntilDestroyed, toSignal } from '@angular/core/rxjs-interop';
4
- import { ERegisterObjectState } from '../types/register-base.types';
5
- import { invertState } from '../consts/register-base.consts';
6
- import { isDefined } from '../utils';
7
- import { SelectionTypes, } from '../components/checkbox-selector/checkbox-selector.types';
8
- import * as i0 from "@angular/core";
9
- /** Сервис хранения состояния выбранных в реестре объектов */
10
- export class SelectedObjectsStateService {
11
- constructor() {
12
- /** Состояние всех загруженных объектов реестра */
13
- this.state = signal(new Map());
14
- /** Ключи всех выбранных объектов реестра */
15
- this.selectedKeys = computed(() => {
16
- const selected = this._filterStateObjectsByState(this.state(), ERegisterObjectState.SELECTED);
17
- return new Set(selected.keys());
18
- });
19
- /** Ключи всех выбранных или не выбранных объектов реестра (зависит от stateUnfetchedObjects) */
20
- this.keys = computed(() => {
21
- const unfetchedState = this.stateUnfetchedObjects();
22
- return new Set(this._filterStateObjectsByState(this.state(), invertState(unfetchedState)).keys());
23
- });
24
- /** Значения всех выбранных объектов реестра */
25
- this.selectedValues = computed(() => {
26
- const selected = this._filterStateObjectsByState(this.state(), ERegisterObjectState.SELECTED);
27
- return new Set([...selected.values()].map(({ object }) => object).filter((object) => isDefined(object)));
28
- });
29
- /** Значения всех не выбранных объектов реестра */
30
- this.unselectedValues = computed(() => {
31
- const selected = this._filterStateObjectsByState(this.state(), ERegisterObjectState.UNSELECTED);
32
- return new Set([...selected.values()].map(({ object }) => object).filter((object) => isDefined(object)));
33
- });
34
- /** Значения всех выбранных или не выбранных объектов реестра (зависит от stateUnfetchedObjects) */
35
- this.values = computed(() => {
36
- const unfetchedState = this.stateUnfetchedObjects();
37
- return new Set([...this._filterStateObjectsByState(this.state(), invertState(unfetchedState)).values()]
38
- .map(({ object }) => object)
39
- .filter((object) => isDefined(object)));
40
- });
41
- this.selectionType$ = new BehaviorSubject(null);
42
- this.stateUnfetchedObjects$ = new BehaviorSubject(ERegisterObjectState.UNSELECTED);
43
- this.stateUnfetchedObjects = toSignal(this.stateUnfetchedObjects$.asObservable(), {
44
- initialValue: ERegisterObjectState.UNSELECTED,
45
- });
46
- this._dr = inject(DestroyRef);
47
- this._subscribeOnSelectionType();
48
- }
49
- /**
50
- * Установить состояние всем загруженным объектам
51
- *
52
- * @param nextState - устанавливаемое состояние
53
- * */
54
- setAllStateObjectsByState(nextState) {
55
- if (nextState === ERegisterObjectState.UNSELECTED) {
56
- this.stateUnfetchedObjects$.next(ERegisterObjectState.UNSELECTED);
57
- }
58
- for (const key of this.state().keys()) {
59
- this.setStateObjectByKey(key, { state: nextState });
60
- }
61
- this._refresh();
62
- }
63
- /**
64
- * Обновить свойства загруженного объекта по ключу
65
- *
66
- * @param key - ключ загруженного объекта
67
- * @param updates - обновление, содержащее свойства которые нужно обновить
68
- * */
69
- setStateObjectByKey(key, updates) {
70
- const objects = new Map(this.state());
71
- const stateObject = objects.get(key) ?? { state: ERegisterObjectState.UNSELECTED };
72
- objects.set(key, { ...stateObject, ...updates });
73
- this.state.set(objects);
74
- }
75
- loadStateObjects(data) {
76
- const state = this.stateUnfetchedObjects$?.getValue();
77
- for (const object of data) {
78
- if (!this.state().has(object.id)) {
79
- this.setStateObjectByKey(object.id, { object, state });
80
- }
81
- }
82
- this._refresh();
83
- }
84
- _refresh() {
85
- this.state.update((state) => new Map(state));
86
- }
87
- resetState(data) {
88
- this.stateUnfetchedObjects$
89
- .asObservable()
90
- .pipe(skip(1), take(1))
91
- .subscribe(() => {
92
- this.state.set(new Map());
93
- if (data) {
94
- this.loadStateObjects(data);
95
- }
96
- });
97
- this.selectionType$.next(null);
98
- }
99
- _filterStateObjectsByState(stateObjects, filterState) {
100
- return new Map([...stateObjects].filter(([_, { state }]) => state === filterState));
101
- }
102
- _subscribeOnSelectionType() {
103
- this.selectionType$
104
- .asObservable()
105
- .pipe(takeUntilDestroyed(this._dr))
106
- .subscribe((type) => {
107
- let newState = ERegisterObjectState.UNSELECTED;
108
- if (type === SelectionTypes.ALL) {
109
- newState = ERegisterObjectState.SELECTED;
110
- }
111
- else if (type === SelectionTypes.INVERSE) {
112
- newState = invertState(this.stateUnfetchedObjects$.getValue());
113
- }
114
- this.stateUnfetchedObjects$.next(newState);
115
- });
116
- }
117
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectedObjectsStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
118
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectedObjectsStateService }); }
119
- }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SelectedObjectsStateService, decorators: [{
121
- type: Injectable
122
- }], ctorParameters: () => [] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0ZWQtb2JqZWN0cy1zdGF0ZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJlZ2lzdGVyLWJhc2Uvc3JjL2xpYi9zZXJ2aWNlcy9zZWxlY3RlZC1vYmplY3RzLXN0YXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakYsT0FBTyxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsb0JBQW9CLEVBQW1CLE1BQU0sOEJBQThCLENBQUM7QUFDckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDckMsT0FBTyxFQUVMLGNBQWMsR0FDZixNQUFNLHlEQUF5RCxDQUFDOztBQUVqRSw2REFBNkQ7QUFFN0QsTUFBTSxPQUFPLDJCQUEyQjtJQXVEdEM7UUF0REEsa0RBQWtEO1FBQ2xDLFVBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxHQUFHLEVBQWtDLENBQUMsQ0FBQztRQUMxRSw0Q0FBNEM7UUFDNUIsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFFOUYsT0FBTyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FB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QUMsR0FBRyxFQUFFLENBQUM7Z0JBQ2hDLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxJQUFJLElBQUksS0FBSyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzNDLFFBQVEsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDakUsQ0FBQztZQUVELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOytHQS9JVSwyQkFBMkI7bUhBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFEdkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEZXN0cm95UmVmLCBpbmplY3QsIEluamVjdGFibGUsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NhbGFyVVVJRCB9IGZyb20gJ2hhc3VyYSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHNraXAsIHRha2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCwgdG9TaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBFUmVnaXN0ZXJPYmplY3RTdGF0ZSwgSVJlZ2lzdGVyT2JqZWN0IH0gZnJvbSAnLi4vdHlwZXMvcmVnaXN0ZXItYmFzZS50eXBlcyc7XG5pbXBvcnQgeyBpbnZlcnRTdGF0ZSB9IGZyb20gJy4uL2NvbnN0cy9yZWdpc3Rlci1iYXNlLmNvbnN0cyc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1xuICBBcHBseVNlbGVjdGlvblR5cGVzLFxuICBTZWxlY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9jaGVja2JveC1zZWxlY3Rvci9jaGVja2JveC1zZWxlY3Rvci50eXBlcyc7XG5cbi8qKiDQodC10YDQstC40YEg0YXRgNCw0L3QtdC90LjRjyDRgdC+0YHRgtC+0Y/QvdC40Y8g0LLRi9Cx0YDQsNC90L3Ri9GFINCyINGA0LXQtdGB0YLRgNC1INC+0LHRitC10LrRgtC+0LIgKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTZWxlY3RlZE9iamVjdHNTdGF0ZVNlcnZpY2U8VCBleHRlbmRzIHsgaWQ6IFNjYWxhclVVSUQgfSA9IGFueT4ge1xuICAvKiog0KHQvtGB0YLQvtGP0L3QuNC1INCy0YHQtdGFINC30LDQs9GA0YPQttC10L3QvdGL0YUg0L7QsdGK0LXQutGC0L7QsiDRgNC10LXRgdGC0YDQsCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3RhdGUgPSBzaWduYWwobmV3IE1hcDxTY2FsYXJVVUlELCBJUmVnaXN0ZXJPYmplY3Q8VD4+KCkpO1xuICAvKiog0JrQu9GO0YfQuCDQstGB0LXRhSDQstGL0LHRgNCw0L3QvdGL0YUg0L7QsdGK0LXQutGC0L7QsiDRgNC10LXRgdGC0YDQsCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRLZXlzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fZmlsdGVyU3RhdGVPYmplY3RzQnlTdGF0ZSh0aGlzLnN0YXRlKCksIEVSZWdpc3Rlck9iamVjdFN0YXRlLlNFTEVDVEVEKTtcblxuICAgIHJldHVybiBuZXcgU2V0KHNlbGVjdGVkLmtleXMoKSk7XG4gIH0pO1xuICAvKiog0JrQu9GO0YfQuCDQstGB0LXRhSDQstGL0LHRgNCw0L3QvdGL0YUg0LjQu9C4INC90LUg0LLRi9Cx0YDQsNC90L3Ri9GFINC+0LHRitC10LrRgtC+0LIg0YDQtdC10YHRgtGA0LAgKNC30LDQstC40YHQuNGCINC+0YIgc3RhdGVVbmZldGNoZWRPYmplY3RzKSAqL1xuICBwdWJsaWMgcmVhZG9ubHkga2V5cyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB1bmZldGNoZWRTdGF0ZSA9IHRoaXMuc3RhdGVVbmZldGNoZWRPYmplY3RzKCk7XG5cbiAgICByZXR1cm4gbmV3IFNldChcbiAgICAgIHRoaXMuX2ZpbHRlclN0YXRlT2JqZWN0c0J5U3RhdGUodGhpcy5zdGF0ZSgpLCBpbnZlcnRTdGF0ZSh1bmZldGNoZWRTdGF0ZSkpLmtleXMoKVxuICAgICk7XG4gIH0pO1xuICAvKiog0JfQvdCw0YfQtdC90LjRjyDQstGB0LXRhSDQstGL0LHRgNCw0L3QvdGL0YUg0L7QsdGK0LXQutGC0L7QsiDRgNC10LXRgdGC0YDQsCAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRWYWx1ZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLl9maWx0ZXJTdGF0ZU9iamVjdHNCeVN0YXRlKHRoaXMuc3RhdGUoKSwgRVJlZ2lzdGVyT2JqZWN0U3RhdGUuU0VMRUNURUQpO1xuXG4gICAgcmV0dXJuIG5ldyBTZXQoXG4gICAgICBbLi4uc2VsZWN0ZWQudmFsdWVzKCldLm1hcCgoeyBvYmplY3QgfSkgPT4gb2JqZWN0KS5maWx0ZXIoKG9iamVjdCkgPT4gaXNEZWZpbmVkKG9iamVjdCkpXG4gICAgKTtcbiAgfSk7XG4gIC8qKiDQl9C90LDRh9C10L3QuNGPINCy0YHQtdGFINC90LUg0LLRi9Cx0YDQsNC90L3Ri9GFINC+0LHRitC10LrRgtC+0LIg0YDQtdC10YHRgtGA0LAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHVuc2VsZWN0ZWRWYWx1ZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSB0aGlzLl9maWx0ZXJTdGF0ZU9iamVjdHNCeVN0YXRlKHRoaXMuc3RhdGUoKSwgRVJlZ2lzdGVyT2JqZWN0U3RhdGUuVU5TRUxFQ1RFRCk7XG5cbiAgICByZXR1cm4gbmV3IFNldChcbiAgICAgIFsuLi5zZWxlY3RlZC52YWx1ZXMoKV0ubWFwKCh7IG9iamVjdCB9KSA9PiBvYmplY3QpLmZpbHRlcigob2JqZWN0KSA9PiBpc0RlZmluZWQob2JqZWN0KSlcbiAgICApO1xuICB9KTtcbiAgLyoqINCX0L3QsNGH0LXQvdC40Y8g0LLRgdC10YUg0LLRi9Cx0YDQsNC90L3Ri9GFINC40LvQuCDQvdC1INCy0YvQsdGA0LDQvdC90YvRhSDQvtCx0YrQtdC60YLQvtCyINGA0LXQtdGB0YLRgNCwICjQt9Cw0LLQuNGB0LjRgiDQvtGCIHN0YXRlVW5mZXRjaGVkT2JqZWN0cykgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCB1bmZldGNoZWRTdGF0ZSA9IHRoaXMuc3RhdGVVbmZldGNoZWRPYmplY3RzKCk7XG5cbiAgICByZXR1cm4gbmV3IFNldChcbiAgICAgIFsuLi50aGlzLl9maWx0ZXJTdGF0ZU9iamVjdHNCeVN0YXRlKHRoaXMuc3RhdGUoKSwgaW52ZXJ0U3RhdGUodW5mZXRjaGVkU3RhdGUpKS52YWx1ZXMoKV1cbiAgICAgICAgLm1hcCgoeyBvYmplY3QgfSkgPT4gb2JqZWN0KVxuICAgICAgICAuZmlsdGVyKChvYmplY3QpID0+IGlzRGVmaW5lZChvYmplY3QpKVxuICAgICk7XG4gIH0pO1xuXG4gIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25UeXBlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXBwbHlTZWxlY3Rpb25UeXBlcz4obnVsbCk7XG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZVVuZmV0Y2hlZE9iamVjdHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxFUmVnaXN0ZXJPYmplY3RTdGF0ZT4oXG4gICAgRVJlZ2lzdGVyT2JqZWN0U3RhdGUuVU5TRUxFQ1RFRFxuICApO1xuXG4gIHB1YmxpYyByZWFkb25seSBzdGF0ZVVuZmV0Y2hlZE9iamVjdHMgPSB0b1NpZ25hbCh0aGlzLnN0YXRlVW5mZXRjaGVkT2JqZWN0cyQuYXNPYnNlcnZhYmxlKCksIHtcbiAgICBpbml0aWFsVmFsdWU6IEVSZWdpc3Rlck9iamVjdFN0YXRlLlVOU0VMRUNURUQsXG4gIH0pO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RyID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuX3N1YnNjcmliZU9uU2VsZWN0aW9uVHlwZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqINCj0YHRgtCw0L3QvtCy0LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDQstGB0LXQvCDQt9Cw0LPRgNGD0LbQtdC90L3Ri9C8INC+0LHRitC10LrRgtCw0LxcbiAgICpcbiAgICogQHBhcmFtIG5leHRTdGF0ZSAtINGD0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdC80L7QtSDRgdC+0YHRgtC+0Y/QvdC40LVcbiAgICogKi9cbiAgcHVibGljIHNldEFsbFN0YXRlT2JqZWN0c0J5U3RhdGUobmV4dFN0YXRlOiBFUmVnaXN0ZXJPYmplY3RTdGF0ZSk6IHZvaWQge1xuICAgIGlmIChuZXh0U3RhdGUgPT09IEVSZWdpc3Rlck9iamVjdFN0YXRlLlVOU0VMRUNURUQpIHtcbiAgICAgIHRoaXMuc3RhdGVVbmZldGNoZWRPYmplY3RzJC5uZXh0KEVSZWdpc3Rlck9iamVjdFN0YXRlLlVOU0VMRUNURUQpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3Qga2V5IG9mIHRoaXMuc3RhdGUoKS5rZXlzKCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGVPYmplY3RCeUtleShrZXksIHsgc3RhdGU6IG5leHRTdGF0ZSB9KTtcbiAgICB9XG5cbiAgICB0aGlzLl9yZWZyZXNoKCk7XG4gIH1cblxuICAvKipcbiAgICog0J7QsdC90L7QstC40YLRjCDRgdCy0L7QudGB0YLQstCwINC30LDQs9GA0YPQttC10L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsCDQv9C+INC60LvRjtGH0YNcbiAgICpcbiAgICogQHBhcmFtIGtleSAtINC60LvRjtGHINC30LDQs9GA0YPQttC10L3QvdC+0LPQviDQvtCx0YrQtdC60YLQsFxuICAgKiBAcGFyYW0gdXBkYXRlcyAtINC+0LHQvdC+0LLQu9C10L3QuNC1LCDRgdC+0LTQtdGA0LbQsNGJ0LXQtSDRgdCy0L7QudGB0YLQstCwINC60L7RgtC+0YDRi9C1INC90YPQttC90L4g0L7QsdC90L7QstC40YLRjFxuICAgKiAqL1xuICBwdWJsaWMgc2V0U3RhdGVPYmplY3RCeUtleShrZXk6IFNjYWxhclVVSUQsIHVwZGF0ZXM6IFBhcnRpYWw8SVJlZ2lzdGVyT2JqZWN0PFQ+Pik6IHZvaWQge1xuICAgIGNvbnN0IG9iamVjdHMgPSBuZXcgTWFwKHRoaXMuc3RhdGUoKSk7XG5cbiAgICBjb25zdCBzdGF0ZU9iamVjdCA9IG9iamVjdHMuZ2V0KGtleSkgPz8geyBzdGF0ZTogRVJlZ2lzdGVyT2JqZWN0U3RhdGUuVU5TRUxFQ1RFRCB9O1xuICAgIG9iamVjdHMuc2V0KGtleSwgeyAuLi5zdGF0ZU9iamVjdCwgLi4udXBkYXRlcyB9KTtcblxuICAgIHRoaXMuc3RhdGUuc2V0KG9iamVjdHMpO1xuICB9XG5cbiAgcHVibGljIGxvYWRTdGF0ZU9iamVjdHMoZGF0YTogVFtdKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlVW5mZXRjaGVkT2JqZWN0cyQ/LmdldFZhbHVlKCk7XG5cbiAgICBmb3IgKGNvbnN0IG9iamVjdCBvZiBkYXRhKSB7XG4gICAgICBpZiAoIXRoaXMuc3RhdGUoKS5oYXMob2JqZWN0LmlkKSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlT2JqZWN0QnlLZXkob2JqZWN0LmlkLCB7IG9iamVjdCwgc3RhdGUgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5fcmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVmcmVzaCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnVwZGF0ZSgoc3RhdGUpID0+IG5ldyBNYXAoc3RhdGUpKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFN0YXRlKGRhdGE/OiBUW10pOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlVW5mZXRjaGVkT2JqZWN0cyRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUoc2tpcCgxKSwgdGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXRlLnNldChuZXcgTWFwKCkpO1xuXG4gICAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgICAgdGhpcy5sb2FkU3RhdGVPYmplY3RzKGRhdGEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB0aGlzLnNlbGVjdGlvblR5cGUkLm5leHQobnVsbCk7XG4gIH1cblxuICBwcml2YXRlIF9maWx0ZXJTdGF0ZU9iamVjdHNCeVN0YXRlKFxuICAgIHN0YXRlT2JqZWN0czogTWFwPFNjYWxhclVVSUQsIElSZWdpc3Rlck9iamVjdDxUPj4sXG4gICAgZmlsdGVyU3RhdGU6IEVSZWdpc3Rlck9iamVjdFN0YXRlXG4gICkge1xuICAgIHJldHVybiBuZXcgTWFwKFsuLi5zdGF0ZU9iamVjdHNdLmZpbHRlcigoW18sIHsgc3RhdGUgfV0pID0+IHN0YXRlID09PSBmaWx0ZXJTdGF0ZSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc3Vic2NyaWJlT25TZWxlY3Rpb25UeXBlKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0aW9uVHlwZSRcbiAgICAgIC5hc09ic2VydmFibGUoKVxuICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2RyKSlcbiAgICAgIC5zdWJzY3JpYmUoKHR5cGUpID0+IHtcbiAgICAgICAgbGV0IG5ld1N0YXRlID0gRVJlZ2lzdGVyT2JqZWN0U3RhdGUuVU5TRUxFQ1RFRDtcblxuICAgICAgICBpZiAodHlwZSA9PT0gU2VsZWN0aW9uVHlwZXMuQUxMKSB7XG4gICAgICAgICAgbmV3U3RhdGUgPSBFUmVnaXN0ZXJPYmplY3RTdGF0ZS5TRUxFQ1RFRDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBTZWxlY3Rpb25UeXBlcy5JTlZFUlNFKSB7XG4gICAgICAgICAgbmV3U3RhdGUgPSBpbnZlcnRTdGF0ZSh0aGlzLnN0YXRlVW5mZXRjaGVkT2JqZWN0cyQuZ2V0VmFsdWUoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0YXRlVW5mZXRjaGVkT2JqZWN0cyQubmV4dChuZXdTdGF0ZSk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19