ngx-register-base 1.3.0 → 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
@@ -0,0 +1,41 @@
1
+ export interface HasuraGqlError {
2
+ extensions: {
3
+ code: string;
4
+ path: string;
5
+ };
6
+ message: string;
7
+ }
8
+
9
+ export interface HbGqlErrors {
10
+ errors: HasuraGqlError[];
11
+ graphQLErrors?: HasuraGqlError[];
12
+ }
13
+
14
+ export type HasuraError = HbGqlErrors | string;
15
+
16
+ export interface HasuraErrorInternal {
17
+ error: {
18
+ description: string | null;
19
+ exec_status: string;
20
+ hint: string | null;
21
+ message: string;
22
+ };
23
+ }
24
+
25
+ export interface HasuraErrorExtensions {
26
+ code: string;
27
+ internal: HasuraErrorInternal;
28
+ }
29
+
30
+ export interface GraphQLError {
31
+ message: string;
32
+ extensions: HasuraErrorExtensions;
33
+ }
34
+
35
+ export interface ApolloError {
36
+ message: string;
37
+ graphQLErrors: GraphQLError[];
38
+ clientErrors: any[];
39
+ extraInfo?: any;
40
+ cause?: Error;
41
+ }
@@ -0,0 +1,63 @@
1
+ import { FormControl } from '@angular/forms';
2
+ import { WhereBoolExp } from 'hasura';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import { JsonValue } from 'type-fest';
5
+ import { WritableSignal } from '@angular/core';
6
+
7
+ export enum EInputsState {
8
+ HIDDEN,
9
+ FILTER_LIST,
10
+ SAVED_LIST,
11
+ ON_EDIT_FILTER,
12
+ ON_SAVE_FILTER,
13
+ }
14
+
15
+ export enum EInputsAction {
16
+ CANCEL,
17
+ APPLY_FILTERS,
18
+ APPLY_SAVED_FILTER,
19
+ AFTER_SAVE_FILTER,
20
+ EDIT_FILTER_NAME,
21
+ EDIT_FILTER,
22
+ OPEN,
23
+ }
24
+
25
+ export interface IInputsState {
26
+ state: EInputsState;
27
+ action: EInputsAction;
28
+ }
29
+
30
+ export interface IInputsStateConfig {
31
+ defaultPin?: boolean;
32
+ searchInput?: boolean;
33
+ }
34
+
35
+ export interface IInputControl<ValueType = any, SavedValueType = any>
36
+ extends FormControl<ValueType> {
37
+ saved_value$: BehaviorSubject<SavedValueType | null>;
38
+ gql_value: InputControlGqlValue;
39
+ /** По полю применена фильтрация */
40
+ applied?: WritableSignal<boolean>;
41
+ }
42
+
43
+ export type InputControlSaveValue = JsonValue | null;
44
+
45
+ export type InputControlGqlValue =
46
+ | WhereBoolExp<Record<string, any>>
47
+ // TODO точнее типизировать
48
+ | any
49
+ | undefined;
50
+
51
+ export type GqlFields = (string | GqlField)[] | GqlField;
52
+
53
+ export interface GqlField {
54
+ [key: string]:
55
+ | string
56
+ | string[]
57
+ | number
58
+ | number[]
59
+ | boolean
60
+ | boolean[]
61
+ | GqlField
62
+ | GqlField[];
63
+ }
@@ -0,0 +1,42 @@
1
+ import { Injector } from '@angular/core';
2
+ import { InputControlGqlValue } from './inputs.types';
3
+ import { OrderBy, WhereBoolExp } from 'hasura';
4
+
5
+ export interface MetaQuery<T extends Record<string, any> = any> {
6
+ table: {
7
+ name: string;
8
+ idField: string;
9
+ valueField: string;
10
+ };
11
+ where?: WhereBoolExp<T>;
12
+ distinct_on?: (keyof T)[];
13
+ limit?: number;
14
+ offset?: number;
15
+ order_by?: OrderBy<T>;
16
+ subquery?: string;
17
+ }
18
+
19
+ export interface IFilterSelectValue {
20
+ id: number | string;
21
+ name: string;
22
+ [key: string]: any;
23
+ }
24
+
25
+ export type FormatterSavedValueType<ValueType, SavedValueType> = (
26
+ value: ValueType,
27
+ injector?: Injector
28
+ ) => SavedValueType;
29
+
30
+ export type ParserSavedValueType<SavedValueType, ValueType> = (
31
+ value: SavedValueType,
32
+ injector?: Injector
33
+ ) => ValueType;
34
+
35
+ export type FormatterGqlValueType<ValueType> = (
36
+ value: ValueType,
37
+ injector?: Injector
38
+ ) => InputControlGqlValue;
39
+
40
+ export type FilterSelectKeys<T> = {
41
+ [K in keyof T]: T[K] extends IFilterSelectValue[] | null ? K : never;
42
+ }[keyof T];
@@ -0,0 +1,161 @@
1
+ import { Observable, Subscription } from 'rxjs';
2
+ import { WhereBoolExp } from 'hasura';
3
+ import { SETTINGS_TYPE } from '../consts/register-base.consts';
4
+ import { IUserProfile } from './user-profile.types';
5
+ import { IHasuraQueryFilter, ThWidthEntry } from '../components/register-table/model/schema';
6
+ import { MutationResult } from 'apollo-angular';
7
+ import { ITableColumnSettings } from '../components/column-settings/types/column-settings.types';
8
+
9
+ export interface IRegisterBase {
10
+ /** @deprecated плохая практика, используйте событие visibleRowsChanges из RegisterTableComponent */
11
+ is_visible?: boolean;
12
+ id: any;
13
+ }
14
+
15
+ export interface ITpUserSettings {
16
+ id: string;
17
+ id_user: string;
18
+ name: string;
19
+ module_name: string;
20
+ settings: ITpUserSettingsSettings;
21
+ settings_type: SETTINGS_TYPE;
22
+ }
23
+
24
+ export interface ITpUserSettingsSettings {
25
+ name?: string;
26
+ favorite?: boolean;
27
+ filter?: ITpUserSettingsSettingsFilter[];
28
+ tableFields?: ITableColumnSettings;
29
+ expandType?: string;
30
+ switchValue?: 0 | 1;
31
+ menuState?: boolean;
32
+ tableColumnsWidth?: ThWidthEntry[];
33
+ pageRowsLimit?: number;
34
+ referer?: string;
35
+ pinned?: boolean;
36
+ }
37
+
38
+ export interface ITpUserSettingsSettingsFilter {
39
+ id: string;
40
+ value: unknown;
41
+ }
42
+
43
+ export enum ERegisterObjectState {
44
+ SELECTED = 'SELECTED',
45
+ UNSELECTED = 'UNSELECTED',
46
+ }
47
+
48
+ export interface IRegisterObject<T = any> {
49
+ object?: T;
50
+ state: ERegisterObjectState;
51
+ }
52
+
53
+ export type ObjectsSubscriptionConfig<DataType, FilterType = Record<string, any>> = {
54
+ filter: FilterType;
55
+ callback?: (data: DataType[]) => void;
56
+ noSet?: boolean;
57
+ };
58
+
59
+ /** Интерфейс сервиса управления пользовательскими настройками */
60
+ export interface IUserSettingsLoader<T extends ITpUserSettings = any> {
61
+ /** Пользовательские настройки */
62
+ settings$: Observable<T[]>;
63
+ /** Запрос пользовательских настроек по фильтру */
64
+ fetchUserSettings$(where: WhereBoolExp<T>, hidden?: boolean): Observable<T[]>;
65
+ /** Запрос пользовательских настроек по фильтру (Эффект для фильтров) */
66
+ fetchUserSettingsByUserId: (
67
+ observableOrValue:
68
+ | {
69
+ userId: string;
70
+ settingsType: SETTINGS_TYPE;
71
+ moduleName: string;
72
+ }
73
+ | Observable<{
74
+ userId: string;
75
+ settingsType: SETTINGS_TYPE;
76
+ moduleName: string;
77
+ }>
78
+ ) => Subscription;
79
+ /** Состояние загрузки пользовательских настроек */
80
+ loading$: Observable<boolean>;
81
+ /** Мутация на создание или обновление пользовательской настройки */
82
+ upsertUserSettingsByUserId: (
83
+ observableOrValue:
84
+ | {
85
+ settings: Partial<T>;
86
+ hidden?: boolean;
87
+ updateSettings?: boolean;
88
+ }
89
+ | Observable<{
90
+ settings: Partial<T>;
91
+ hidden?: boolean;
92
+ updateSettings?: boolean;
93
+ }>
94
+ ) => Subscription;
95
+ /** Мутация на обновление пользовательской настройки (Эффект для фильтров) */
96
+ updateUserSettingsSettingsById: (
97
+ observableOrValue:
98
+ | {
99
+ id: string;
100
+ settings: ITpUserSettingsSettings;
101
+ }
102
+ | Observable<{
103
+ id: string;
104
+ settings: ITpUserSettingsSettings;
105
+ }>
106
+ ) => Subscription;
107
+ /** Удаление пользовательской настройки (Эффект для фильтров) */
108
+ deleteUserSettingsById: (
109
+ observableOrValue:
110
+ | {
111
+ id: string;
112
+ updateSettings?: boolean;
113
+ }
114
+ | Observable<{
115
+ id: string;
116
+ updateSettings?: boolean;
117
+ }>
118
+ ) => Subscription;
119
+ /** Результат выполнения мутации */
120
+ upsertReturningOne$(type: SETTINGS_TYPE): Observable<ITpUserSettings | null>;
121
+ /** Завершение создания или обновления пользовательской настройки */
122
+ upsertEnded$: Observable<void>;
123
+ }
124
+
125
+ /** Интерфейс сервиса управления аутентификацией пользователя */
126
+ export interface IUserProfileLoader<T extends IUserProfile, PermissionType = unknown> {
127
+ /** Аутентифицированный пользователь */
128
+ getUserProfile(): T;
129
+ /** Метод проверки привилегий пользователя */
130
+ checkPermissions(permissions: PermissionType[], every?: boolean): boolean;
131
+ }
132
+
133
+ export interface IBaseRegisterStoreState<T> {
134
+ loading: boolean;
135
+ count: number;
136
+ total: number;
137
+ objects: T[];
138
+ }
139
+
140
+ export interface IBaseRegisterStore<Type extends Record<string, any>> {
141
+ readonly deleteByIds: (
142
+ ids: string[],
143
+ date: Date,
144
+ ...args: unknown[]
145
+ ) => Observable<MutationResult<Type[]> | null>;
146
+
147
+ readonly fetchTotal: (
148
+ observableOrValue: Record<string, any> | Observable<Record<string, any>>
149
+ ) => Subscription;
150
+ readonly fetchObjects: (
151
+ observableOrValue:
152
+ | {
153
+ filter: IHasuraQueryFilter<Type>;
154
+ callback?: (data: Type[]) => void;
155
+ }
156
+ | Observable<{
157
+ filter: IHasuraQueryFilter<Type>;
158
+ callback?: (data: Type[]) => void;
159
+ }>
160
+ ) => Subscription;
161
+ }
@@ -0,0 +1,15 @@
1
+ import { AbstractControl, FormArray, FormControl, FormGroup } from '@angular/forms';
2
+
3
+ export type ExtractForm<T> = {
4
+ [K in keyof T]: T[K] extends FormGroup<infer U>[]
5
+ ? (U extends ControlsWrapper<infer V> ? V : never)[]
6
+ : T[K];
7
+ };
8
+
9
+ export type ControlsWrapper<T> = {
10
+ [K in keyof T]: T[K] extends (infer U extends AbstractControl<any, any>)[]
11
+ ? FormArray<U>
12
+ : FormControl<T[K]>;
13
+ };
14
+
15
+ export type InferArrayType<T> = T extends (infer U)[] ? U : T;
@@ -0,0 +1,18 @@
1
+ export interface IUserProfile<PermissionType = any> {
2
+ id: string;
3
+ username?: string;
4
+ firstName?: string;
5
+ lastName?: string;
6
+ roles?: string[];
7
+ photo?: string;
8
+ groups?: string[];
9
+ groups_name?: string[];
10
+ token?: string;
11
+ permissions?: PermissionType[];
12
+ attributes?: IUserAttributes[];
13
+ }
14
+
15
+ export interface IUserAttributes {
16
+ name: string;
17
+ value: string;
18
+ }
@@ -0,0 +1,11 @@
1
+ export function isNonNull<T>(value: T): value is NonNullable<T> {
2
+ return value !== null;
3
+ }
4
+
5
+ export function isDefined<T>(value: T | null | undefined): value is T {
6
+ return value !== null && value !== undefined;
7
+ }
8
+
9
+ export function toPx(n: number): string {
10
+ return `${n || 0}px`;
11
+ }
@@ -0,0 +1,46 @@
1
+ export const CARD = 'card';
2
+
3
+ type SegmentPosition = 'first' | 'last';
4
+
5
+ const getCardSegment = (url: URL): string | null => {
6
+ if (url.pathname.includes(CARD) && url.search) {
7
+ const id = url.searchParams.get('id');
8
+ if (id) {
9
+ const segments = url.pathname.split('/').filter(Boolean);
10
+ const cardIndex = segments.indexOf(CARD.replace(/^\//, ''));
11
+
12
+ if (cardIndex !== -1 && cardIndex > 0) {
13
+ const tableIndex = cardIndex - 1;
14
+ const relevantPath = segments.slice(tableIndex, cardIndex + 1).join('/');
15
+ return `${relevantPath}?id=${id}`;
16
+ }
17
+ }
18
+ }
19
+ return null;
20
+ };
21
+
22
+ const getSegmentOfPathName = (pathname: string, position: SegmentPosition): string => {
23
+ const url = new URL(pathname, window.location.origin);
24
+ const segments = url.pathname.split('/').filter(Boolean);
25
+
26
+ if (position === 'first') {
27
+ return segments[0] ?? '/';
28
+ }
29
+
30
+ const cardSegment = getCardSegment(url);
31
+ if (cardSegment !== null) {
32
+ return cardSegment;
33
+ }
34
+
35
+ return segments.pop() ?? '';
36
+ };
37
+
38
+ export const getFirstSegmentOfPathName = (pathname: string): string =>
39
+ getSegmentOfPathName(pathname, 'first');
40
+
41
+ /**
42
+ * Функция возвращает первый сегмент ссылки
43
+ * Если первого сегмента нет, возвращается корневой сегмент - '/'
44
+ * */
45
+ export const getLastSegmentOfPathName = (pathname: string): string =>
46
+ getSegmentOfPathName(pathname, 'last');
@@ -0,0 +1,176 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
3
+ import {
4
+ PrizmButtonComponent,
5
+ PrizmCheckboxComponent,
6
+ PrizmColumnSettingsComponent,
7
+ PrizmDateTimeRange,
8
+ PrizmDay,
9
+ PrizmDayRange,
10
+ PrizmDialogComponent,
11
+ PrizmDropdownHostModule,
12
+ PrizmHintDirective,
13
+ PrizmIndicatorComponent,
14
+ PrizmInputCommonModule,
15
+ PrizmInputLayoutDateModule,
16
+ PrizmInputLayoutDateRangeModule,
17
+ PrizmInputLayoutDateTimeModule,
18
+ PrizmInputIconButtonComponent,
19
+ PrizmInputLayoutDateComponent,
20
+ PrizmInputLayoutDateRangeComponent,
21
+ PrizmInputLayoutDateTimeRangeComponent,
22
+ PrizmInputLayoutDateTimeRangeModule,
23
+ PrizmInputLayoutMonthRangeComponent,
24
+ PrizmInputLayoutTimeModule,
25
+ PrizmInputLayoutMonthModule,
26
+ PrizmInputMultiSelectComponent,
27
+ PrizmInputMultiSelectModule,
28
+ PrizmInputNumberModule,
29
+ PrizmInputSelectModule,
30
+ PrizmInputTextModule,
31
+ PrizmLoaderComponent,
32
+ PrizmMonth,
33
+ PrizmMonthRange,
34
+ PrizmPaginatorComponent,
35
+ PrizmPanelComponent,
36
+ PrizmProgressModule,
37
+ PrizmScrollbarModule,
38
+ PrizmSelectInputComponent,
39
+ PrizmSidebarComponent,
40
+ PrizmSplitterModule,
41
+ PrizmStickyModule,
42
+ PrizmSwitcherComponent,
43
+ PrizmTableModule,
44
+ PrizmTabsModule,
45
+ PrizmToastModule,
46
+ PrizmToggleComponent,
47
+ PrizmTooltipModule,
48
+ PrizmTreeModule,
49
+ PrizmCardComponent,
50
+ PrizmDropdownControllerDirective,
51
+ PrizmRadioButtonComponent,
52
+ PrizmBreadcrumbDirective,
53
+ PrizmBreadcrumbsComponent,
54
+ PrizmStepperModule,
55
+ } from '@prizm-ui/components';
56
+ import { PrizmFlagIconsComponent } from '@prizm-ui/flag-icons';
57
+ import { PrizmDestroyService } from '@prizm-ui/helpers';
58
+ import { PrizmIconsComponent } from '@prizm-ui/icons';
59
+ import { TuiDay } from '@taiga-ui/cdk';
60
+ import { SmaPrizmDateTime } from '../directives/date/date-time.types';
61
+
62
+ export type PrizmDateTypes =
63
+ | TuiDay
64
+ | PrizmDay
65
+ | PrizmDayRange
66
+ | SmaPrizmDateTime
67
+ | PrizmDateTimeRange
68
+ | PrizmMonth
69
+ | PrizmMonthRange;
70
+
71
+ @NgModule({
72
+ imports: [
73
+ FormsModule,
74
+ ReactiveFormsModule,
75
+ PrizmTableModule,
76
+ PrizmScrollbarModule,
77
+ PrizmCheckboxComponent,
78
+ PrizmStickyModule,
79
+ PrizmButtonComponent,
80
+ PrizmInputTextModule,
81
+ PrizmIconsComponent,
82
+ PrizmPaginatorComponent,
83
+ PrizmInputSelectModule,
84
+ PrizmPanelComponent,
85
+ PrizmToggleComponent,
86
+ PrizmTabsModule,
87
+ PrizmDropdownHostModule,
88
+ PrizmLoaderComponent,
89
+ PrizmSelectInputComponent,
90
+ PrizmInputMultiSelectModule,
91
+ PrizmInputLayoutDateModule,
92
+ PrizmFlagIconsComponent,
93
+ PrizmInputLayoutDateRangeModule,
94
+ PrizmDialogComponent,
95
+ PrizmInputLayoutDateComponent,
96
+ PrizmColumnSettingsComponent,
97
+ PrizmSwitcherComponent,
98
+ PrizmTooltipModule,
99
+ PrizmInputMultiSelectComponent,
100
+ PrizmInputLayoutDateRangeComponent,
101
+ PrizmSidebarComponent,
102
+ PrizmToastModule,
103
+ PrizmInputLayoutDateTimeModule,
104
+ PrizmInputCommonModule,
105
+ PrizmInputIconButtonComponent,
106
+ PrizmInputLayoutMonthModule,
107
+ PrizmHintDirective,
108
+ PrizmTreeModule,
109
+ PrizmInputNumberModule,
110
+ PrizmInputLayoutDateTimeRangeModule,
111
+ PrizmProgressModule,
112
+ PrizmInputLayoutMonthRangeComponent,
113
+ PrizmInputLayoutDateTimeRangeComponent,
114
+ PrizmCardComponent,
115
+ PrizmDropdownControllerDirective,
116
+ PrizmRadioButtonComponent,
117
+ PrizmBreadcrumbDirective,
118
+ PrizmBreadcrumbsComponent,
119
+ PrizmStepperModule,
120
+ PrizmIndicatorComponent,
121
+ ],
122
+ exports: [
123
+ FormsModule,
124
+ ReactiveFormsModule,
125
+ PrizmTableModule,
126
+ PrizmScrollbarModule,
127
+ PrizmCheckboxComponent,
128
+ PrizmStickyModule,
129
+ PrizmButtonComponent,
130
+ PrizmInputTextModule,
131
+ PrizmIconsComponent,
132
+ PrizmPaginatorComponent,
133
+ PrizmInputSelectModule,
134
+ PrizmPanelComponent,
135
+ PrizmToggleComponent,
136
+ PrizmTabsModule,
137
+ PrizmDropdownHostModule,
138
+ PrizmLoaderComponent,
139
+ PrizmSelectInputComponent,
140
+ PrizmInputMultiSelectModule,
141
+ PrizmInputLayoutDateModule,
142
+ PrizmFlagIconsComponent,
143
+ PrizmInputLayoutDateRangeModule,
144
+ PrizmDialogComponent,
145
+ PrizmInputLayoutDateComponent,
146
+ PrizmColumnSettingsComponent,
147
+ PrizmSwitcherComponent,
148
+ PrizmTooltipModule,
149
+ PrizmInputMultiSelectComponent,
150
+ PrizmInputLayoutDateRangeComponent,
151
+ PrizmSidebarComponent,
152
+ PrizmToastModule,
153
+ PrizmInputLayoutDateTimeModule,
154
+ PrizmInputCommonModule,
155
+ PrizmInputIconButtonComponent,
156
+ PrizmInputLayoutMonthModule,
157
+ PrizmHintDirective,
158
+ PrizmTreeModule,
159
+ PrizmInputNumberModule,
160
+ PrizmInputLayoutDateTimeRangeModule,
161
+ PrizmProgressModule,
162
+ PrizmInputLayoutTimeModule,
163
+ PrizmInputLayoutMonthRangeComponent,
164
+ PrizmInputLayoutDateTimeRangeComponent,
165
+ PrizmSplitterModule,
166
+ PrizmCardComponent,
167
+ PrizmDropdownControllerDirective,
168
+ PrizmRadioButtonComponent,
169
+ PrizmBreadcrumbDirective,
170
+ PrizmBreadcrumbsComponent,
171
+ PrizmStepperModule,
172
+ PrizmIndicatorComponent,
173
+ ],
174
+ providers: [PrizmDestroyService],
175
+ })
176
+ export class PrizmSharedModule {}
@@ -0,0 +1,33 @@
1
+ import {asyncScheduler, distinctUntilChanged, MonoTypeOperatorFunction, Observable, of,} from 'rxjs';
2
+ import {observeOn} from 'rxjs/operators';
3
+ import {isEqual} from 'lodash';
4
+
5
+ export function distinctUntilChangedJSONs<T>(): MonoTypeOperatorFunction<T> {
6
+ return distinctUntilChanged((prev, curr) => isEqual(prev, curr));
7
+ }
8
+
9
+ /**
10
+ * Перемещает выполнение функции на указанное количество итераций в цикле событий.
11
+ *
12
+ * @param count - Количество итераций цикла событий для перемещения.
13
+ * @returns Оператор, который можно использовать с Observable для продолжения цепочки.
14
+ */
15
+ export function moveInEventLoopIteration<T>(count: number): MonoTypeOperatorFunction<T> {
16
+ return (source: Observable<T>) => {
17
+ if (!count) {
18
+ return source;
19
+ }
20
+
21
+ let newSource = source.pipe(observeOn(asyncScheduler, 0));
22
+
23
+ if (count > 1) {
24
+ newSource = newSource.pipe(moveInEventLoopIteration(count - 1));
25
+ }
26
+
27
+ return newSource;
28
+ };
29
+ }
30
+
31
+ export function just(): Observable<null> {
32
+ return of(null);
33
+ }
@@ -0,0 +1,16 @@
1
+ import { IFilterSelectValue } from '../types';
2
+
3
+ export const SELECT_ALL_ID = '-1';
4
+ export const SELECT_ALL_NAME = 'Выбрать все';
5
+
6
+ export function removeSelectAll(arr: IFilterSelectValue[] | null): IFilterSelectValue[] | null {
7
+ const array = arr?.slice() ?? null;
8
+
9
+ if (array && array[0] && 'id' in array[0] && array[0].id === SELECT_ALL_ID) {
10
+ array.shift();
11
+ }
12
+
13
+ return array;
14
+ }
15
+
16
+ export const selectAllItem = { id: SELECT_ALL_ID, name: SELECT_ALL_NAME };
@@ -0,0 +1,16 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "../../tsconfig.json",
5
+ "compilerOptions": {
6
+ "outDir": "../../out-tsc/lib",
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "inlineSources": true,
10
+ "types": [],
11
+ "lib": ["ES2022", "DOM", "DOM.Iterable"],
12
+ },
13
+ "exclude": [
14
+ "**/*.spec.ts"
15
+ ]
16
+ }
@@ -0,0 +1,11 @@
1
+ /* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
2
+ /* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
3
+ {
4
+ "extends": "./tsconfig.lib.json",
5
+ "compilerOptions": {
6
+ "declarationMap": false
7
+ },
8
+ "angularCompilerOptions": {
9
+ "compilationMode": "partial"
10
+ }
11
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "lib": ["es2018", "dom"],
6
+ "declaration": true,
7
+ "module": "commonjs",
8
+ "moduleResolution": "node",
9
+ "noEmitOnError": true,
10
+ "noFallthroughCasesInSwitch": true,
11
+ "noImplicitAny": true,
12
+ "noImplicitThis": true,
13
+ "noUnusedParameters": true,
14
+ "noUnusedLocals": true,
15
+ "rootDir": "schematics",
16
+ "outDir": "../../dist/ngx-register-base/schematics",
17
+ "skipDefaultLibCheck": true,
18
+ "skipLibCheck": true,
19
+ "sourceMap": true,
20
+ "strictNullChecks": true,
21
+ "target": "es6",
22
+ "types": ["jasmine", "node"]
23
+ },
24
+ "include": ["schematics/**/*"],
25
+ "exclude": ["schematics/*/files/**/*"]
26
+ }