@verisoft/ui-primeng 18.6.0 → 18.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (389) hide show
  1. package/.eslintrc.json +43 -0
  2. package/README.md +53 -3
  3. package/assets/.gitkeep +0 -0
  4. package/assets/fonts/orbitron-black.ttf +0 -0
  5. package/assets/fonts/orbitron-bold.otf +0 -0
  6. package/assets/icons/complex/v-logo.svg +4 -0
  7. package/assets/images/_global/elon.jpg +0 -0
  8. package/assets/images/_global/jara.png +0 -0
  9. package/assets/images/_global/logos/v-logo.webp +0 -0
  10. package/assets/sass/base/_scrollbar.scss +18 -0
  11. package/assets/sass/base/_typography.scss +25 -0
  12. package/assets/sass/layout/_app.scss +27 -0
  13. package/assets/sass/layout/_button.scss +57 -0
  14. package/assets/sass/layout/_checkbox.scss +33 -0
  15. package/assets/sass/layout/_dialog.scss +13 -0
  16. package/assets/sass/layout/_dropdown.scss +9 -0
  17. package/assets/sass/layout/_formField.scss +5 -0
  18. package/assets/sass/layout/_header.scss +63 -0
  19. package/assets/sass/layout/_icons.scss +13 -0
  20. package/assets/sass/layout/_inputSwitch.scss +13 -0
  21. package/assets/sass/layout/_layout.scss +6 -0
  22. package/assets/sass/layout/_loader.scss +9 -0
  23. package/assets/sass/layout/_radiobutton.scss +21 -0
  24. package/assets/sass/layout/_sidemenu.scss +173 -0
  25. package/assets/sass/layout/_snackbar.scss +8 -0
  26. package/assets/sass/layout/_tables.scss +5 -0
  27. package/assets/sass/layout/_tree.scss +12 -0
  28. package/assets/sass/layout/_tristatecheckbox.scss +15 -0
  29. package/assets/sass/main.scss +28 -0
  30. package/assets/sass/themes/_verisoft_theme.scss +46 -0
  31. package/assets/sass/utils/_mixins.scss +0 -0
  32. package/assets/sass/utils/_utils.scss +39 -0
  33. package/assets/sass/utils/_variables.scss +12 -0
  34. package/assets/sass/vendors/_bootstrap.scss +2 -0
  35. package/assets/sass/vendors/_primeng.scss +2 -0
  36. package/jest.config.ts +22 -0
  37. package/ng-package.json +15 -0
  38. package/package.json +22 -37
  39. package/project.json +36 -0
  40. package/{index.d.ts → src/index.ts} +29 -29
  41. package/src/lib/components/breadcrumb/breadcrumb.component.html +12 -0
  42. package/src/lib/components/breadcrumb/breadcrumb.component.scss +18 -0
  43. package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +21 -0
  44. package/src/lib/components/breadcrumb/breadcrumb.component.stories.ts +36 -0
  45. package/src/lib/components/breadcrumb/breadcrumb.component.ts +29 -0
  46. package/src/lib/components/breadcrumb/breadcrumb.pipe.ts +13 -0
  47. package/{lib/components/breadcrumb/index.d.ts → src/lib/components/breadcrumb/index.ts} +1 -1
  48. package/src/lib/components/button/button.component.html +20 -0
  49. package/src/lib/components/button/button.component.scss +0 -0
  50. package/src/lib/components/button/button.component.spec.ts +21 -0
  51. package/src/lib/components/button/button.component.ts +49 -0
  52. package/{lib/components/button/index.d.ts → src/lib/components/button/index.ts} +1 -1
  53. package/src/lib/components/calendar/calendar.component.html +53 -0
  54. package/src/lib/components/calendar/calendar.component.scss +0 -0
  55. package/src/lib/components/calendar/calendar.component.spec.ts +21 -0
  56. package/src/lib/components/calendar/calendar.component.ts +72 -0
  57. package/{lib/components/calendar/index.d.ts → src/lib/components/calendar/index.ts} +1 -1
  58. package/src/lib/components/checkbox/checkbox.component.html +19 -0
  59. package/src/lib/components/checkbox/checkbox.component.scss +15 -0
  60. package/src/lib/components/checkbox/checkbox.component.spec.ts +21 -0
  61. package/src/lib/components/checkbox/checkbox.component.stories.ts +72 -0
  62. package/src/lib/components/checkbox/checkbox.component.ts +45 -0
  63. package/{lib/components/checkbox/index.d.ts → src/lib/components/checkbox/index.ts} +1 -1
  64. package/src/lib/components/confirm-dialog/confirm-dialog.component.html +48 -0
  65. package/src/lib/components/confirm-dialog/confirm-dialog.component.scss +3 -0
  66. package/src/lib/components/confirm-dialog/confirm-dialog.component.spec.ts +21 -0
  67. package/src/lib/components/confirm-dialog/confirm-dialog.component.stories.ts +74 -0
  68. package/src/lib/components/confirm-dialog/confirm-dialog.component.ts +74 -0
  69. package/{lib/components/confirm-dialog/index.d.ts → src/lib/components/confirm-dialog/index.ts} +1 -1
  70. package/src/lib/components/dropdown/dropdown.component.html +96 -0
  71. package/src/lib/components/dropdown/dropdown.component.scss +16 -0
  72. package/src/lib/components/dropdown/dropdown.component.spec.ts +21 -0
  73. package/src/lib/components/dropdown/dropdown.component.stories.ts +90 -0
  74. package/src/lib/components/dropdown/dropdown.component.ts +144 -0
  75. package/{lib/components/dropdown/index.d.ts → src/lib/components/dropdown/index.ts} +1 -1
  76. package/src/lib/components/errors/error.component.html +6 -0
  77. package/src/lib/components/errors/error.component.scss +3 -0
  78. package/src/lib/components/errors/error.component.ts +35 -0
  79. package/src/lib/components/errors/index.ts +1 -0
  80. package/src/lib/components/form-field/form-field.component.html +36 -0
  81. package/src/lib/components/form-field/form-field.component.scss +0 -0
  82. package/src/lib/components/form-field/form-field.component.spec.ts +21 -0
  83. package/src/lib/components/form-field/form-field.component.stories.ts +69 -0
  84. package/src/lib/components/form-field/form-field.component.ts +38 -0
  85. package/{lib/components/form-field/index.d.ts → src/lib/components/form-field/index.ts} +1 -1
  86. package/src/lib/components/header/header.component.html +84 -0
  87. package/src/lib/components/header/header.component.scss +0 -0
  88. package/src/lib/components/header/header.component.spec.ts +21 -0
  89. package/src/lib/components/header/header.component.stories.ts +24 -0
  90. package/src/lib/components/header/header.component.ts +66 -0
  91. package/{lib/components/header/index.d.ts → src/lib/components/header/index.ts} +2 -2
  92. package/src/lib/components/header/services/header-provider.service.ts +15 -0
  93. package/{lib/components/input-group/index.d.ts → src/lib/components/input-group/index.ts} +1 -1
  94. package/src/lib/components/input-group/input-group.component.html +30 -0
  95. package/src/lib/components/input-group/input-group.component.spec.ts +21 -0
  96. package/src/lib/components/input-group/input-group.component.ts +60 -0
  97. package/{lib/components/loader/index.d.ts → src/lib/components/loader/index.ts} +1 -1
  98. package/src/lib/components/loader/loader.component.html +5 -0
  99. package/src/lib/components/loader/loader.component.scss +0 -0
  100. package/src/lib/components/loader/loader.component.spec.ts +21 -0
  101. package/src/lib/components/loader/loader.component.ts +17 -0
  102. package/{lib/components/multiselect/index.d.ts → src/lib/components/multiselect/index.ts} +1 -1
  103. package/src/lib/components/multiselect/multiselect.component.html +70 -0
  104. package/src/lib/components/multiselect/multiselect.component.scss +0 -0
  105. package/src/lib/components/multiselect/multiselect.component.spec.ts +21 -0
  106. package/src/lib/components/multiselect/multiselect.component.ts +122 -0
  107. package/{lib/components/number-input/index.d.ts → src/lib/components/number-input/index.ts} +1 -1
  108. package/src/lib/components/number-input/number-input.component.html +22 -0
  109. package/src/lib/components/number-input/number-input.component.spec.ts +21 -0
  110. package/src/lib/components/number-input/number-input.component.ts +57 -0
  111. package/{lib/components/page-header/index.d.ts → src/lib/components/page-header/index.ts} +1 -1
  112. package/src/lib/components/page-header/page-header.component.html +31 -0
  113. package/src/lib/components/page-header/page-header.component.scss +0 -0
  114. package/src/lib/components/page-header/page-header.component.spec.ts +21 -0
  115. package/src/lib/components/page-header/page-header.component.ts +32 -0
  116. package/{lib/components/password/index.d.ts → src/lib/components/password/index.ts} +1 -1
  117. package/src/lib/components/password/password.component.html +24 -0
  118. package/src/lib/components/password/password.component.scss +0 -0
  119. package/src/lib/components/password/password.component.spec.ts +21 -0
  120. package/src/lib/components/password/password.component.ts +58 -0
  121. package/{lib/components/radiobutton/index.d.ts → src/lib/components/radiobutton/index.ts} +1 -1
  122. package/src/lib/components/radiobutton/radiobutton.component.html +32 -0
  123. package/src/lib/components/radiobutton/radiobutton.component.scss +6 -0
  124. package/src/lib/components/radiobutton/radiobutton.component.spec.ts +21 -0
  125. package/src/lib/components/radiobutton/radiobutton.component.stories.ts +71 -0
  126. package/src/lib/components/radiobutton/radiobutton.component.ts +62 -0
  127. package/{lib/components/section/index.d.ts → src/lib/components/section/index.ts} +1 -1
  128. package/src/lib/components/section/section.component.html +23 -0
  129. package/src/lib/components/section/section.component.scss +0 -0
  130. package/src/lib/components/section/section.component.spec.ts +21 -0
  131. package/src/lib/components/section/section.component.ts +32 -0
  132. package/src/lib/components/shared-components/action-button-group/action-button-group.component.html +27 -0
  133. package/src/lib/components/shared-components/action-button-group/action-button-group.component.scss +0 -0
  134. package/src/lib/components/shared-components/action-button-group/action-button-group.component.spec.ts +21 -0
  135. package/src/lib/components/shared-components/action-button-group/action-button-group.component.ts +114 -0
  136. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html +11 -0
  137. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.scss +0 -0
  138. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.spec.ts +21 -0
  139. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts +71 -0
  140. package/{lib/components/shared-components/action-button-group/index.d.ts → src/lib/components/shared-components/action-button-group/index.ts} +2 -2
  141. package/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts +142 -0
  142. package/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts +56 -0
  143. package/{lib/components/shared-components/dynamic-component/index.d.ts → src/lib/components/shared-components/dynamic-component/index.ts} +2 -2
  144. package/src/lib/components/shared-components/feature-list/directives/feature-list-column.directive.ts +32 -0
  145. package/src/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.ts +8 -0
  146. package/src/lib/components/shared-components/feature-list/feature-list-filter.pipe.ts +21 -0
  147. package/src/lib/components/shared-components/feature-list/feature-list-page.component.ts +31 -0
  148. package/src/lib/components/shared-components/feature-list/feature-list-page.model.ts +42 -0
  149. package/src/lib/components/shared-components/feature-list/feature-list.component.html +59 -0
  150. package/src/lib/components/shared-components/feature-list/feature-list.component.scss +10 -0
  151. package/src/lib/components/shared-components/feature-list/feature-list.component.ts +342 -0
  152. package/{lib/components/shared-components/feature-list/index.d.ts → src/lib/components/shared-components/feature-list/index.ts} +5 -5
  153. package/src/lib/components/shared-components/filter/directives/filter-field.directive.ts +35 -0
  154. package/src/lib/components/shared-components/filter/filter.component.html +68 -0
  155. package/src/lib/components/shared-components/filter/filter.component.scss +0 -0
  156. package/src/lib/components/shared-components/filter/filter.component.spec.ts +21 -0
  157. package/src/lib/components/shared-components/filter/filter.component.stories.ts +23 -0
  158. package/src/lib/components/shared-components/filter/filter.component.ts +284 -0
  159. package/src/lib/components/shared-components/filter/filter.model.ts +18 -0
  160. package/{lib/components/shared-components/filter/index.d.ts → src/lib/components/shared-components/filter/index.ts} +2 -2
  161. package/src/lib/components/shared-components/generic-field/generic-field.component.html +97 -0
  162. package/src/lib/components/shared-components/generic-field/generic-field.component.spec.ts +21 -0
  163. package/src/lib/components/shared-components/generic-field/generic-field.component.ts +94 -0
  164. package/{lib/components/shared-components/generic-field/index.d.ts → src/lib/components/shared-components/generic-field/index.ts} +1 -1
  165. package/src/lib/components/shared-components/generic-form/generic-form.component.html +46 -0
  166. package/src/lib/components/shared-components/generic-form/generic-form.component.spec.ts +21 -0
  167. package/src/lib/components/shared-components/generic-form/generic-form.component.ts +57 -0
  168. package/src/lib/components/shared-components/generic-form/generic-form.model.spec.ts +82 -0
  169. package/src/lib/components/shared-components/generic-form/generic-form.model.ts +68 -0
  170. package/{lib/components/shared-components/generic-form/index.d.ts → src/lib/components/shared-components/generic-form/index.ts} +2 -2
  171. package/{lib/components/shared-components/index.d.ts → src/lib/components/shared-components/index.ts} +6 -6
  172. package/{lib/components/side-menu/index.d.ts → src/lib/components/side-menu/index.ts} +2 -2
  173. package/src/lib/components/side-menu/side-menu.component.html +52 -0
  174. package/src/lib/components/side-menu/side-menu.component.scss +0 -0
  175. package/src/lib/components/side-menu/side-menu.component.spec.ts +21 -0
  176. package/src/lib/components/side-menu/side-menu.component.ts +98 -0
  177. package/src/lib/components/side-menu/side-menu.module.ts +66 -0
  178. package/{lib/components/slider/index.d.ts → src/lib/components/slider/index.ts} +1 -1
  179. package/src/lib/components/slider/slider.component.html +19 -0
  180. package/src/lib/components/slider/slider.component.spec.ts +21 -0
  181. package/src/lib/components/slider/slider.component.ts +58 -0
  182. package/{lib/components/snackbar/index.d.ts → src/lib/components/snackbar/index.ts} +2 -2
  183. package/src/lib/components/snackbar/services/snackbar.service.ts +45 -0
  184. package/src/lib/components/snackbar/snackbar.component.html +3 -0
  185. package/src/lib/components/snackbar/snackbar.component.scss +0 -0
  186. package/src/lib/components/snackbar/snackbar.component.spec.ts +21 -0
  187. package/src/lib/components/snackbar/snackbar.component.stories.ts +70 -0
  188. package/src/lib/components/snackbar/snackbar.component.ts +26 -0
  189. package/{lib/components/stepper/index.d.ts → src/lib/components/stepper/index.ts} +1 -1
  190. package/src/lib/components/stepper/stepper.component.html +43 -0
  191. package/src/lib/components/stepper/stepper.component.spec.ts +21 -0
  192. package/src/lib/components/stepper/stepper.component.ts +40 -0
  193. package/{lib/components/switch/index.d.ts → src/lib/components/switch/index.ts} +1 -1
  194. package/src/lib/components/switch/switch.component.html +18 -0
  195. package/src/lib/components/switch/switch.component.scss +0 -0
  196. package/src/lib/components/switch/switch.component.spec.ts +21 -0
  197. package/src/lib/components/switch/switch.component.stories.ts +65 -0
  198. package/src/lib/components/switch/switch.component.ts +54 -0
  199. package/{lib/components/tab-view/index.d.ts → src/lib/components/tab-view/index.ts} +3 -3
  200. package/src/lib/components/tab-view/tab-menu.pipe.ts +23 -0
  201. package/src/lib/components/tab-view/tab-view-item.component.ts +22 -0
  202. package/src/lib/components/tab-view/tab-view.component.html +23 -0
  203. package/src/lib/components/tab-view/tab-view.component.ts +55 -0
  204. package/src/lib/components/tab-view/tab-view.module.ts +19 -0
  205. package/{lib/components/table/index.d.ts → src/lib/components/table/index.ts} +1 -1
  206. package/src/lib/components/table/table-filter.pipe.ts +59 -0
  207. package/src/lib/components/table/table.component.html +123 -0
  208. package/src/lib/components/table/table.component.scss +11 -0
  209. package/src/lib/components/table/table.component.spec.ts +21 -0
  210. package/src/lib/components/table/table.component.stories.ts +55 -0
  211. package/src/lib/components/table/table.component.ts +289 -0
  212. package/src/lib/components/table/table.models.ts +26 -0
  213. package/{lib/components/textarea/index.d.ts → src/lib/components/textarea/index.ts} +1 -1
  214. package/src/lib/components/textarea/textarea.component.html +40 -0
  215. package/src/lib/components/textarea/textarea.component.scss +5 -0
  216. package/src/lib/components/textarea/textarea.component.spec.ts +21 -0
  217. package/src/lib/components/textarea/textarea.component.stories.ts +98 -0
  218. package/src/lib/components/textarea/textarea.component.ts +64 -0
  219. package/{lib/components/textfield/index.d.ts → src/lib/components/textfield/index.ts} +1 -1
  220. package/src/lib/components/textfield/textfield.component.html +83 -0
  221. package/src/lib/components/textfield/textfield.component.scss +23 -0
  222. package/src/lib/components/textfield/textfield.component.spec.ts +21 -0
  223. package/src/lib/components/textfield/textfield.component.stories.ts +85 -0
  224. package/src/lib/components/textfield/textfield.component.ts +69 -0
  225. package/{lib/components/tristatecheckbox/index.d.ts → src/lib/components/tristatecheckbox/index.ts} +1 -1
  226. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.html +23 -0
  227. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.scss +0 -0
  228. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.spec.ts +21 -0
  229. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.stories.ts +22 -0
  230. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.ts +50 -0
  231. package/src/lib/icons.ts +36 -0
  232. package/src/lib/interceptors/http-error-message.interceptor.ts +35 -0
  233. package/src/lib/pages/not-found-page/not-found-page.component.html +26 -0
  234. package/src/lib/pages/not-found-page/not-found-page.component.scss +0 -0
  235. package/src/lib/pages/not-found-page/not-found-page.component.spec.ts +21 -0
  236. package/src/lib/pages/not-found-page/not-found-page.component.ts +17 -0
  237. package/src/tab-view.ts +1 -0
  238. package/src/test-setup.ts +8 -0
  239. package/tsconfig.json +29 -0
  240. package/tsconfig.lib.json +18 -0
  241. package/tsconfig.lib.prod.json +9 -0
  242. package/tsconfig.spec.json +16 -0
  243. package/esm2022/index.mjs +0 -30
  244. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -31
  245. package/esm2022/lib/components/breadcrumb/breadcrumb.pipe.mjs +0 -17
  246. package/esm2022/lib/components/breadcrumb/index.mjs +0 -2
  247. package/esm2022/lib/components/button/button.component.mjs +0 -61
  248. package/esm2022/lib/components/button/index.mjs +0 -2
  249. package/esm2022/lib/components/calendar/calendar.component.mjs +0 -73
  250. package/esm2022/lib/components/calendar/index.mjs +0 -2
  251. package/esm2022/lib/components/checkbox/checkbox.component.mjs +0 -47
  252. package/esm2022/lib/components/checkbox/index.mjs +0 -2
  253. package/esm2022/lib/components/confirm-dialog/confirm-dialog.component.mjs +0 -65
  254. package/esm2022/lib/components/confirm-dialog/index.mjs +0 -2
  255. package/esm2022/lib/components/dropdown/dropdown.component.mjs +0 -139
  256. package/esm2022/lib/components/dropdown/index.mjs +0 -2
  257. package/esm2022/lib/components/errors/error.component.mjs +0 -41
  258. package/esm2022/lib/components/errors/index.mjs +0 -2
  259. package/esm2022/lib/components/form-field/form-field.component.mjs +0 -41
  260. package/esm2022/lib/components/form-field/index.mjs +0 -2
  261. package/esm2022/lib/components/header/header.component.mjs +0 -58
  262. package/esm2022/lib/components/header/index.mjs +0 -3
  263. package/esm2022/lib/components/header/services/header-provider.service.mjs +0 -24
  264. package/esm2022/lib/components/input-group/index.mjs +0 -2
  265. package/esm2022/lib/components/input-group/input-group.component.mjs +0 -57
  266. package/esm2022/lib/components/loader/index.mjs +0 -2
  267. package/esm2022/lib/components/loader/loader.component.mjs +0 -19
  268. package/esm2022/lib/components/multiselect/index.mjs +0 -2
  269. package/esm2022/lib/components/multiselect/multiselect.component.mjs +0 -124
  270. package/esm2022/lib/components/number-input/index.mjs +0 -2
  271. package/esm2022/lib/components/number-input/number-input.component.mjs +0 -64
  272. package/esm2022/lib/components/page-header/index.mjs +0 -2
  273. package/esm2022/lib/components/page-header/page-header.component.mjs +0 -28
  274. package/esm2022/lib/components/password/index.mjs +0 -2
  275. package/esm2022/lib/components/password/password.component.mjs +0 -59
  276. package/esm2022/lib/components/radiobutton/index.mjs +0 -2
  277. package/esm2022/lib/components/radiobutton/radiobutton.component.mjs +0 -57
  278. package/esm2022/lib/components/section/index.mjs +0 -2
  279. package/esm2022/lib/components/section/section.component.mjs +0 -35
  280. package/esm2022/lib/components/shared-components/action-button-group/action-button-group.component.mjs +0 -92
  281. package/esm2022/lib/components/shared-components/action-button-group/components/action-button/action-button.component.mjs +0 -60
  282. package/esm2022/lib/components/shared-components/action-button-group/index.mjs +0 -3
  283. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.mjs +0 -90
  284. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component.component.mjs +0 -41
  285. package/esm2022/lib/components/shared-components/dynamic-component/index.mjs +0 -3
  286. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-column.directive.mjs +0 -46
  287. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.mjs +0 -16
  288. package/esm2022/lib/components/shared-components/feature-list/feature-list-filter.pipe.mjs +0 -24
  289. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.component.mjs +0 -42
  290. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.model.mjs +0 -16
  291. package/esm2022/lib/components/shared-components/feature-list/feature-list.component.mjs +0 -275
  292. package/esm2022/lib/components/shared-components/feature-list/index.mjs +0 -6
  293. package/esm2022/lib/components/shared-components/filter/directives/filter-field.directive.mjs +0 -44
  294. package/esm2022/lib/components/shared-components/filter/filter.component.mjs +0 -190
  295. package/esm2022/lib/components/shared-components/filter/filter.model.mjs +0 -16
  296. package/esm2022/lib/components/shared-components/filter/index.mjs +0 -3
  297. package/esm2022/lib/components/shared-components/generic-field/generic-field.component.mjs +0 -93
  298. package/esm2022/lib/components/shared-components/generic-field/index.mjs +0 -2
  299. package/esm2022/lib/components/shared-components/generic-form/generic-form.component.mjs +0 -40
  300. package/esm2022/lib/components/shared-components/generic-form/generic-form.model.mjs +0 -50
  301. package/esm2022/lib/components/shared-components/generic-form/index.mjs +0 -3
  302. package/esm2022/lib/components/shared-components/index.mjs +0 -7
  303. package/esm2022/lib/components/side-menu/index.mjs +0 -3
  304. package/esm2022/lib/components/side-menu/side-menu.component.mjs +0 -92
  305. package/esm2022/lib/components/side-menu/side-menu.module.mjs +0 -74
  306. package/esm2022/lib/components/slider/index.mjs +0 -2
  307. package/esm2022/lib/components/slider/slider.component.mjs +0 -62
  308. package/esm2022/lib/components/snackbar/index.mjs +0 -3
  309. package/esm2022/lib/components/snackbar/services/snackbar.service.mjs +0 -50
  310. package/esm2022/lib/components/snackbar/snackbar.component.mjs +0 -33
  311. package/esm2022/lib/components/stepper/index.mjs +0 -2
  312. package/esm2022/lib/components/stepper/stepper.component.mjs +0 -48
  313. package/esm2022/lib/components/switch/index.mjs +0 -2
  314. package/esm2022/lib/components/switch/switch.component.mjs +0 -54
  315. package/esm2022/lib/components/tab-view/index.mjs +0 -4
  316. package/esm2022/lib/components/tab-view/tab-menu.pipe.mjs +0 -25
  317. package/esm2022/lib/components/tab-view/tab-view-item.component.mjs +0 -31
  318. package/esm2022/lib/components/tab-view/tab-view.component.mjs +0 -50
  319. package/esm2022/lib/components/tab-view/tab-view.module.mjs +0 -29
  320. package/esm2022/lib/components/table/index.mjs +0 -2
  321. package/esm2022/lib/components/table/table-filter.pipe.mjs +0 -49
  322. package/esm2022/lib/components/table/table.component.mjs +0 -220
  323. package/esm2022/lib/components/table/table.models.mjs +0 -17
  324. package/esm2022/lib/components/textarea/index.mjs +0 -2
  325. package/esm2022/lib/components/textarea/textarea.component.mjs +0 -65
  326. package/esm2022/lib/components/textfield/index.mjs +0 -2
  327. package/esm2022/lib/components/textfield/textfield.component.mjs +0 -65
  328. package/esm2022/lib/components/tristatecheckbox/index.mjs +0 -2
  329. package/esm2022/lib/components/tristatecheckbox/tristatecheckbox.component.mjs +0 -53
  330. package/esm2022/lib/icons.mjs +0 -35
  331. package/esm2022/lib/interceptors/http-error-message.interceptor.mjs +0 -31
  332. package/esm2022/verisoft-ui-primeng.mjs +0 -5
  333. package/fesm2022/verisoft-ui-primeng.mjs +0 -2909
  334. package/fesm2022/verisoft-ui-primeng.mjs.map +0 -1
  335. package/lib/components/breadcrumb/breadcrumb.component.d.ts +0 -6
  336. package/lib/components/breadcrumb/breadcrumb.pipe.d.ts +0 -9
  337. package/lib/components/button/button.component.d.ts +0 -20
  338. package/lib/components/calendar/calendar.component.d.ts +0 -17
  339. package/lib/components/checkbox/checkbox.component.d.ts +0 -9
  340. package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +0 -15
  341. package/lib/components/dropdown/dropdown.component.d.ts +0 -38
  342. package/lib/components/errors/error.component.d.ts +0 -16
  343. package/lib/components/errors/index.d.ts +0 -1
  344. package/lib/components/form-field/form-field.component.d.ts +0 -12
  345. package/lib/components/header/header.component.d.ts +0 -23
  346. package/lib/components/header/services/header-provider.service.d.ts +0 -10
  347. package/lib/components/input-group/input-group.component.d.ts +0 -9
  348. package/lib/components/loader/loader.component.d.ts +0 -6
  349. package/lib/components/multiselect/multiselect.component.d.ts +0 -34
  350. package/lib/components/number-input/number-input.component.d.ts +0 -14
  351. package/lib/components/page-header/page-header.component.d.ts +0 -10
  352. package/lib/components/password/password.component.d.ts +0 -11
  353. package/lib/components/radiobutton/radiobutton.component.d.ts +0 -10
  354. package/lib/components/section/section.component.d.ts +0 -12
  355. package/lib/components/shared-components/action-button-group/action-button-group.component.d.ts +0 -29
  356. package/lib/components/shared-components/action-button-group/components/action-button/action-button.component.d.ts +0 -24
  357. package/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.d.ts +0 -17
  358. package/lib/components/shared-components/dynamic-component/dynamic-component.component.d.ts +0 -16
  359. package/lib/components/shared-components/feature-list/directives/feature-list-column.directive.d.ts +0 -10
  360. package/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.d.ts +0 -6
  361. package/lib/components/shared-components/feature-list/feature-list-filter.pipe.d.ts +0 -9
  362. package/lib/components/shared-components/feature-list/feature-list-page.component.d.ts +0 -9
  363. package/lib/components/shared-components/feature-list/feature-list-page.model.d.ts +0 -23
  364. package/lib/components/shared-components/feature-list/feature-list.component.d.ts +0 -62
  365. package/lib/components/shared-components/filter/directives/filter-field.directive.d.ts +0 -20
  366. package/lib/components/shared-components/filter/filter.component.d.ts +0 -53
  367. package/lib/components/shared-components/filter/filter.model.d.ts +0 -2
  368. package/lib/components/shared-components/generic-field/generic-field.component.d.ts +0 -28
  369. package/lib/components/shared-components/generic-form/generic-form.component.d.ts +0 -15
  370. package/lib/components/shared-components/generic-form/generic-form.model.d.ts +0 -4
  371. package/lib/components/side-menu/side-menu.component.d.ts +0 -27
  372. package/lib/components/side-menu/side-menu.module.d.ts +0 -13
  373. package/lib/components/slider/slider.component.d.ts +0 -12
  374. package/lib/components/snackbar/services/snackbar.service.d.ts +0 -12
  375. package/lib/components/snackbar/snackbar.component.d.ts +0 -9
  376. package/lib/components/stepper/stepper.component.d.ts +0 -17
  377. package/lib/components/switch/switch.component.d.ts +0 -9
  378. package/lib/components/tab-view/tab-menu.pipe.d.ts +0 -9
  379. package/lib/components/tab-view/tab-view-item.component.d.ts +0 -12
  380. package/lib/components/tab-view/tab-view.component.d.ts +0 -17
  381. package/lib/components/tab-view/tab-view.module.d.ts +0 -13
  382. package/lib/components/table/table-filter.pipe.d.ts +0 -13
  383. package/lib/components/table/table.component.d.ts +0 -67
  384. package/lib/components/table/table.models.d.ts +0 -4
  385. package/lib/components/textarea/textarea.component.d.ts +0 -12
  386. package/lib/components/textfield/textfield.component.d.ts +0 -12
  387. package/lib/components/tristatecheckbox/tristatecheckbox.component.d.ts +0 -9
  388. package/lib/icons.d.ts +0 -2
  389. package/lib/interceptors/http-error-message.interceptor.d.ts +0 -11
@@ -1,2909 +0,0 @@
1
- import * as i2 from '@angular/common';
2
- import { CommonModule, NgClass, AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { inject, Component, Optional, Self, Input, forwardRef, ChangeDetectionStrategy, Pipe, ViewEncapsulation, Injectable, Inject, EventEmitter, Output, ViewChild, NgModule, ChangeDetectorRef, ContentChildren, ContentChild, Directive, InjectionToken, SimpleChange, Injector, ViewContainerRef } from '@angular/core';
5
- import * as i1 from '@angular/forms';
6
- import { ReactiveFormsModule, UntypedFormGroup, UntypedFormControl, FormGroup, NG_VALUE_ACCESSOR } from '@angular/forms';
7
- import * as i1$3 from '@verisoft/ui-core';
8
- import { BaseFormInputComponent, WarningPipe, BaseInputControls, INPUT_GROUP_COMPONENT_TOKEN, SlotPosition, FieldSize, FieldType, TEXTFIELD_COMPONENT_TOKEN, BreadcrumbCoreComponent, BREADCRUMB_COMPONENT_TOKEN, CHECKBOX_COMPONENT_TOKEN, TRISTATE_CHECKBOX_COMPONENT_TOKEN, CALENDAR_COMPONENT_TOKEN, PASSWORD_COMPONENT_TOKEN, IconPosition, BUTTON_COMPONENT_TOKEN, SECTION_COMPONENT_TOKEN, RADIOBUTTON_COMPONENT_TOKEN, NUMBER_INPUT_COMPONENT_TOKEN, SETTINGS_MENU, UnsubscribeComponent, HEADER_COMPONENT_TOKEN, TEXTAREA_COMPONENT_TOKEN, LOADER_COMPONENT_TOKEN, SNACKBAR_COMPONENT_TOKEN, SideMenuService, ScreenSizeService, MENU_TOKEN, SideMenuProviderService, SIDE_MENU_COMPONENT_TOKEN, SIDE_MENU_STATE_TOKEN, ColumnModel, RowModel, TABLE_COMPONENT_TOKEN, TABLE_COLUMN_PROVIDER, ACTION_BUTTON_GROUP_COMPONENT_TOKEN, queryListChanged, DROPDOWN_COMPONENT_TOKEN, MULTISELECT_COMPONENT_TOKEN, GenericFieldType, GENERIC_FIELD_COMPONENT_TOKEN, DatasourceDirective, DEFAULT_DEBOUNCE_TIME, DialogService, isFilterEmpty, FILTER_COMPONENT_TOKEN, ButtonShortCutDirective, MAX_COLUMN_CHAR_COUNT, TableSelectionMode, downloadFile, TableDatasourceDirective, TableFilterDirective, TableColumnDirective, PageHeaderCoreComponent, PAGE_HEADER_COMPONENT_TOKEN, LayoutType, STEPPER_COMPONENT_TOKEN, SLIDER_COMPONENT_TOKEN, CONFIRM_DIALOG_COMPONENT_TOKEN, SWITCH_COMPONENT_TOKEN, TAB_VIEW_COMPONENT_TOKEN } from '@verisoft/ui-core';
9
- import * as i4 from 'primeng/inputgroup';
10
- import { InputGroupModule } from 'primeng/inputgroup';
11
- import * as i3$1 from 'primeng/inputgroupaddon';
12
- import { InputGroupAddonModule } from 'primeng/inputgroupaddon';
13
- import * as i5 from 'primeng/inputtext';
14
- import { InputTextModule } from 'primeng/inputtext';
15
- import { ERROR_PROVIDER_TOKEN, DEFAULT_SEARCH_LIMIT, SortDirection, BASE_URL_PATH, BaseHttpService, convertDatasource, DEFAULT_PAGE_SIZE } from '@verisoft/core';
16
- import * as i2$1 from 'primeng/message';
17
- import { MessageModule } from 'primeng/message';
18
- import * as i3 from 'primeng/tooltip';
19
- import { TooltipModule } from 'primeng/tooltip';
20
- import * as i4$1 from 'primeng/floatlabel';
21
- import { FloatLabelModule } from 'primeng/floatlabel';
22
- import * as i2$2 from 'primeng/breadcrumb';
23
- import { BreadcrumbModule } from 'primeng/breadcrumb';
24
- import * as i3$2 from 'primeng/checkbox';
25
- import { CheckboxModule } from 'primeng/checkbox';
26
- import * as i3$3 from 'primeng/tristatecheckbox';
27
- import { TriStateCheckboxModule } from 'primeng/tristatecheckbox';
28
- import * as i3$4 from 'primeng/calendar';
29
- import { CalendarModule } from 'primeng/calendar';
30
- import * as i2$3 from 'primeng/password';
31
- import { PasswordModule } from 'primeng/password';
32
- import * as i1$2 from '@angular/router';
33
- import { RouterModule, Router, ActivatedRoute, RouterOutlet } from '@angular/router';
34
- import * as i1$1 from 'primeng/button';
35
- import { ButtonModule } from 'primeng/button';
36
- import * as i6 from 'primeng/ripple';
37
- import { RippleModule } from 'primeng/ripple';
38
- import * as i3$5 from 'primeng/radiobutton';
39
- import { RadioButtonModule } from 'primeng/radiobutton';
40
- import * as i2$4 from 'primeng/inputnumber';
41
- import { InputNumberModule } from 'primeng/inputnumber';
42
- import * as i4$2 from 'primeng/avatar';
43
- import { AvatarModule } from 'primeng/avatar';
44
- import * as i3$6 from 'primeng/inputtextarea';
45
- import { InputTextareaModule } from 'primeng/inputtextarea';
46
- import * as i1$4 from 'primeng/progressspinner';
47
- import { ProgressSpinnerModule } from 'primeng/progressspinner';
48
- import * as i1$5 from 'primeng/api';
49
- import * as i2$5 from 'primeng/toast';
50
- import { ToastModule } from 'primeng/toast';
51
- import * as i3$8 from '@ngx-translate/core';
52
- import { TranslateModule } from '@ngx-translate/core';
53
- import * as i1$6 from 'primeng/tree';
54
- import { TreeModule } from 'primeng/tree';
55
- import * as i2$6 from 'primeng/table';
56
- import { TableModule } from 'primeng/table';
57
- import * as i2$7 from 'primeng/menu';
58
- import { MenuModule } from 'primeng/menu';
59
- import { Subject, takeUntil, combineLatestWith, BehaviorSubject, startWith, map, debounceTime, distinctUntilChanged, take, switchMap, forkJoin, of, catchError, throwError } from 'rxjs';
60
- import { BadgeModule } from 'primeng/badge';
61
- import * as i3$7 from 'primeng/dropdown';
62
- import { DropdownModule } from 'primeng/dropdown';
63
- import * as i4$3 from 'primeng/multiselect';
64
- import { MultiSelectModule } from 'primeng/multiselect';
65
- import { HttpClient } from '@angular/common/http';
66
- import * as i2$8 from 'primeng/stepper';
67
- import { StepperModule } from 'primeng/stepper';
68
- import * as i2$9 from 'primeng/slider';
69
- import { SliderModule } from 'primeng/slider';
70
- import * as i3$9 from 'primeng/dialog';
71
- import { DialogModule } from 'primeng/dialog';
72
- import * as i2$a from 'primeng/inputswitch';
73
- import { InputSwitchModule } from 'primeng/inputswitch';
74
- import { v4 } from 'uuid';
75
- import * as i2$b from 'primeng/tabmenu';
76
- import { TabMenuModule } from 'primeng/tabmenu';
77
- import * as i3$a from 'primeng/tabview';
78
- import { TabViewModule as TabViewModule$1 } from 'primeng/tabview';
79
-
80
- const Icons = {
81
- add: 'pi pi-plus',
82
- minus: 'pi pi-minus',
83
- delete: 'pi pi-trash',
84
- filter: 'pi pi-filter',
85
- download: 'pi pi-download',
86
- save: 'pi pi-save',
87
- print: 'pi pi-print',
88
- calendar: 'pi pi-calendar',
89
- edit: 'pi pi-pencil',
90
- settings: 'pi pi-cog',
91
- house: 'pi pi-home',
92
- chevronRight: 'pi pi-chevron-right',
93
- chevronLeft: 'pi pi-chevron-left',
94
- chevronDown: 'pi pi-chevron-down',
95
- chevronUp: 'pi pi-chevron-up',
96
- checkbox: 'pi pi-check',
97
- warning: 'pi pi-exclamation-triangle',
98
- search: 'pi pi-search',
99
- action: 'pi pi-bars',
100
- user: 'pi pi-user',
101
- logout: 'pi pi-user',
102
- crossCircle: 'pi pi-times-circle',
103
- infoCircle: 'pi pi-info-circle',
104
- cross: 'pi pi-times',
105
- arrowLeft: 'pi pi-arrow-left',
106
- arrowRight: 'pi pi-arrow-right',
107
- questionCircle: 'pi pi-question-circle',
108
- checkCircle: 'pi pi-check-circle',
109
- sitemap: 'pi pi-sitemap',
110
- check: 'pi pi-check',
111
- envelope: 'pi pi-envelope',
112
- loader: 'pi pi-loader',
113
- };
114
-
115
- class FormFieldComponent extends BaseFormInputComponent {
116
- constructor(ngControl) {
117
- super(ngControl);
118
- this.display = 'block';
119
- this.errorProvider = inject(ERROR_PROVIDER_TOKEN);
120
- this.icons = Icons;
121
- }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormFieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FormFieldComponent, isStandalone: true, selector: "v-form-field", inputs: { display: "display", variant: "variant" }, usesInheritance: true, ngImport: i0, template: "<div class=\"v-form-field mt-3\" [attr.data-testId]=\"testId\">\r\n <div [ngClass]=\"{ 'd-block d-md-flex': display === 'flex', 'd-lg-flex': display === 'block' }\">\r\n <div class=\"col-12 col-md-4 d-flex align-items-center\">\r\n <label\r\n class=\"v-formfield-label d-flex align-items-center\"\r\n [ngClass]=\"{\r\n 'pb-2': display === 'block',\r\n 'text-error': (errorProvider.mapError(ngControl?.errors ?? [])) && ngControl?.dirty, \r\n 'text-warning': (ngControl?.errors | warning) && ngControl?.dirty,\r\n 'text-default': !ngControl?.invalid && !ngControl?.dirty,\r\n 'text-secondary': !ngControl?.invalid && ngControl?.dirty\r\n }\"\r\n >{{ label }}<span *ngIf=\"label\">:</span>\r\n <span *ngIf=\"required\" class=\"text-error ps-1\">*</span>\r\n </label>\r\n <i *ngIf=\"tooltip\"\r\n [pTooltip]=\"tooltip\"\r\n class=\"ps-2 text-default v-tooltip {{ icons.infoCircle }}\"\r\n ></i>\r\n </div>\r\n <div \r\n class=\"col-sm-12 col-md-8 col-lg-8\"\r\n >\r\n <div \r\n class=\"v-form-field-content align-items-center w-100\"\r\n [ngClass]=\"{ 'd-flex': display === 'flex', 'd-block': display === 'block', 'input-warning': ngControl?.errors | warning }\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"align-content-center\">\r\n <ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: WarningPipe, name: "warning" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: MessageModule }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] }); }
124
- }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormFieldComponent, decorators: [{
126
- type: Component,
127
- args: [{ selector: 'v-form-field', standalone: true, imports: [
128
- CommonModule,
129
- WarningPipe,
130
- ReactiveFormsModule,
131
- MessageModule,
132
- TooltipModule,
133
- ], template: "<div class=\"v-form-field mt-3\" [attr.data-testId]=\"testId\">\r\n <div [ngClass]=\"{ 'd-block d-md-flex': display === 'flex', 'd-lg-flex': display === 'block' }\">\r\n <div class=\"col-12 col-md-4 d-flex align-items-center\">\r\n <label\r\n class=\"v-formfield-label d-flex align-items-center\"\r\n [ngClass]=\"{\r\n 'pb-2': display === 'block',\r\n 'text-error': (errorProvider.mapError(ngControl?.errors ?? [])) && ngControl?.dirty, \r\n 'text-warning': (ngControl?.errors | warning) && ngControl?.dirty,\r\n 'text-default': !ngControl?.invalid && !ngControl?.dirty,\r\n 'text-secondary': !ngControl?.invalid && ngControl?.dirty\r\n }\"\r\n >{{ label }}<span *ngIf=\"label\">:</span>\r\n <span *ngIf=\"required\" class=\"text-error ps-1\">*</span>\r\n </label>\r\n <i *ngIf=\"tooltip\"\r\n [pTooltip]=\"tooltip\"\r\n class=\"ps-2 text-default v-tooltip {{ icons.infoCircle }}\"\r\n ></i>\r\n </div>\r\n <div \r\n class=\"col-sm-12 col-md-8 col-lg-8\"\r\n >\r\n <div \r\n class=\"v-form-field-content align-items-center w-100\"\r\n [ngClass]=\"{ 'd-flex': display === 'flex', 'd-block': display === 'block', 'input-warning': ngControl?.errors | warning }\"\r\n >\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"align-content-center\">\r\n <ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
134
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
135
- type: Optional
136
- }, {
137
- type: Self
138
- }] }], propDecorators: { display: [{
139
- type: Input
140
- }], variant: [{
141
- type: Input
142
- }] } });
143
-
144
- class InputGroupComponent extends BaseFormInputComponent {
145
- constructor(ngControl) {
146
- super(ngControl);
147
- }
148
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputGroupComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
149
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: InputGroupComponent, isStandalone: true, selector: "v-input-group", inputs: { items: "items" }, providers: [
150
- {
151
- provide: BaseInputControls,
152
- useExisting: forwardRef(() => InputGroupComponent),
153
- },
154
- {
155
- provide: INPUT_GROUP_COMPONENT_TOKEN,
156
- useExisting: InputGroupComponent,
157
- },
158
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-input-group w-100\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [required]=\"required\"\r\n [tooltip]=\"tooltip\" >\r\n <p-inputGroup>\r\n <ng-container *ngFor=\"let item of items\">\r\n <p-inputGroupAddon *ngIf=\"item.position === 'left'\">\r\n <ng-container *ngIf=\"item.icon\">\r\n <i [class]=\"item.icon\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.text\">\r\n {{ item.text }}\r\n </ng-container>\r\n </p-inputGroupAddon>\r\n </ng-container>\r\n <input pInputText [formControl]=\"formControl\" class=\"w-100\" />\r\n <ng-container *ngFor=\"let item of items\">\r\n <p-inputGroupAddon *ngIf=\"item.position === 'right'\">\r\n <ng-container *ngIf=\"item.icon\">\r\n <i [class]=\"item.icon\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.text\">\r\n {{ item.text }}\r\n </ng-container>\r\n </p-inputGroupAddon>\r\n </ng-container>\r\n </p-inputGroup>\r\n </v-form-field>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputGroupAddonModule }, { kind: "component", type: i3$1.InputGroupAddon, selector: "p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputGroupModule }, { kind: "component", type: i4.InputGroup, selector: "p-inputGroup", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
159
- }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InputGroupComponent, decorators: [{
161
- type: Component,
162
- args: [{ selector: 'v-input-group', standalone: true, imports: [
163
- CommonModule,
164
- InputGroupAddonModule,
165
- InputGroupModule,
166
- InputTextModule,
167
- ReactiveFormsModule,
168
- FormFieldComponent,
169
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
170
- {
171
- provide: BaseInputControls,
172
- useExisting: forwardRef(() => InputGroupComponent),
173
- },
174
- {
175
- provide: INPUT_GROUP_COMPONENT_TOKEN,
176
- useExisting: InputGroupComponent,
177
- },
178
- ], template: "<div class=\"v-input-group w-100\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [required]=\"required\"\r\n [tooltip]=\"tooltip\" >\r\n <p-inputGroup>\r\n <ng-container *ngFor=\"let item of items\">\r\n <p-inputGroupAddon *ngIf=\"item.position === 'left'\">\r\n <ng-container *ngIf=\"item.icon\">\r\n <i [class]=\"item.icon\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.text\">\r\n {{ item.text }}\r\n </ng-container>\r\n </p-inputGroupAddon>\r\n </ng-container>\r\n <input pInputText [formControl]=\"formControl\" class=\"w-100\" />\r\n <ng-container *ngFor=\"let item of items\">\r\n <p-inputGroupAddon *ngIf=\"item.position === 'right'\">\r\n <ng-container *ngIf=\"item.icon\">\r\n <i [class]=\"item.icon\"></i>\r\n </ng-container>\r\n <ng-container *ngIf=\"item.text\">\r\n {{ item.text }}\r\n </ng-container>\r\n </p-inputGroupAddon>\r\n </ng-container>\r\n </p-inputGroup>\r\n </v-form-field>\r\n</div>\r\n" }]
179
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
180
- type: Optional
181
- }, {
182
- type: Self
183
- }] }], propDecorators: { items: [{
184
- type: Input
185
- }] } });
186
-
187
- class ErrorComponent {
188
- constructor() {
189
- this.errorSlot = SlotPosition.bottom;
190
- this.messageSlot = SlotPosition.bottom;
191
- this.variant = 'simple';
192
- this.severity = 'error';
193
- this.errorService = inject(ERROR_PROVIDER_TOKEN);
194
- this.icons = Icons;
195
- }
196
- getErrorMessage(errors) {
197
- return this.errorService.mapError(errors);
198
- }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ErrorComponent, isStandalone: true, selector: "v-validation-message", inputs: { ngControl: "ngControl", errorSlot: "errorSlot", messageSlot: "messageSlot", variant: "variant", severity: "severity" }, ngImport: i0, template: "\r\n<p-message\r\n *ngIf=\"ngControl && ngControl.errors\" \r\n [severity]=\"severity\"\r\n text=\"{{ getErrorMessage(ngControl.errors) | async }}\">\r\n</p-message>\r\n", styles: [".p-message-content{color:#e60017}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MessageModule }, { kind: "component", type: i2$1.UIMessage, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass"] }] }); }
201
- }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ErrorComponent, decorators: [{
203
- type: Component,
204
- args: [{ selector: "v-validation-message", standalone: true, imports: [CommonModule, MessageModule], template: "\r\n<p-message\r\n *ngIf=\"ngControl && ngControl.errors\" \r\n [severity]=\"severity\"\r\n text=\"{{ getErrorMessage(ngControl.errors) | async }}\">\r\n</p-message>\r\n", styles: [".p-message-content{color:#e60017}\n"] }]
205
- }], propDecorators: { ngControl: [{
206
- type: Input,
207
- args: [{ required: true }]
208
- }], errorSlot: [{
209
- type: Input
210
- }], messageSlot: [{
211
- type: Input
212
- }], variant: [{
213
- type: Input
214
- }], severity: [{
215
- type: Input
216
- }] } });
217
-
218
- class TextfieldComponent extends BaseFormInputComponent {
219
- constructor(ngControl) {
220
- super(ngControl);
221
- this.icons = Icons;
222
- this.size = FieldSize.medium;
223
- this.type = FieldType.text;
224
- this.floatLabel = false;
225
- }
226
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextfieldComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
227
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TextfieldComponent, isStandalone: true, selector: "v-textfield", inputs: { size: "size", type: "type", floatLabel: "floatLabel" }, providers: [
228
- {
229
- provide: BaseInputControls,
230
- useExisting: forwardRef(() => TextfieldComponent),
231
- },
232
- {
233
- provide: TEXTFIELD_COMPONENT_TOKEN,
234
- useExisting: TextfieldComponent,
235
- },
236
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-text-field\">\r\n <ng-container *ngIf=\"!floatLabel && label; else floatLabelInput\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <span\r\n class=\"w-100 flex-grow-1\"\r\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\r\n >\r\n <input\r\n pInputText\r\n [id]=\"inputId\"\r\n [formControl]=\"formControl\"\r\n [type]=\"type === 'search' ? 'text' : type\"\r\n class=\"w-100 flex-grow-1 v-text-field\"\r\n [required]=\"isRequired()\"\r\n [readOnly]=\"readonly\"\r\n [title]=\"label\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n [ngClass]=\"{\r\n 'p-inputtext-sm': size === 'small',\r\n 'p-inputtext-lg': size === 'large'\r\n }\"\r\n />\r\n <ng-container *ngIf=\"type === 'search'\">\r\n <i\r\n class=\"pi ms-2 v-text-field__icon\"\r\n [ngStyle]=\"{\r\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\r\n }\"\r\n [ngClass]=\"{\r\n 'pi-search': ngControl && !ngControl.value,\r\n 'pi-times': ngControl && ngControl.value,\r\n }\"\r\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\r\n ></i>\r\n </ng-container>\r\n </span>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-template #floatLabelInput>\r\n <span\r\n class=\"w-100 flex-grow-1\"\r\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\r\n >\r\n <p-floatLabel>\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [id]=\"inputId\"\r\n class=\"w-100 flex-grow-1\"\r\n [required]=\"isRequired()\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n [ngClass]=\"{\r\n 'p-inputtext-sm': size === 'small',\r\n 'p-inputtext-lg': size === 'large'\r\n }\"\r\n />\r\n <label [for]=\"inputId\" class=\"v-text-field__label\">{{ label }}</label>\r\n </p-floatLabel>\r\n <ng-container *ngIf=\"type === 'search'\">\r\n <i\r\n class=\"pi ms-2 v-text-field__icon\"\r\n [ngStyle]=\"{\r\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\r\n }\"\r\n [ngClass]=\"{\r\n 'pi-search': ngControl && !ngControl.value,\r\n 'pi-times': ngControl && ngControl.value,\r\n }\"\r\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\r\n ></i>\r\n </ng-container>\r\n </span>\r\n </ng-template>\r\n</div>\r\n", styles: [".p-inputtext:focus .ng-invalid.ng-dirty{border-color:var(--error-color)}.p-inputtext.ng-dirty.ng-invalid{border-color:var(--error-color)}.verisoft-text-field{justify-content:center;width:100%}.p-input-icon-right i.pi-times:hover{cursor:pointer}.p-inputtext.p-inputtext-lg{font-size:1rem;padding:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i5.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i4$1.FloatLabel, selector: "p-floatLabel" }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
237
- }
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextfieldComponent, decorators: [{
239
- type: Component,
240
- args: [{ selector: 'v-textfield', standalone: true, imports: [
241
- CommonModule,
242
- InputTextModule,
243
- ReactiveFormsModule,
244
- FormFieldComponent,
245
- FloatLabelModule,
246
- ErrorComponent
247
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
248
- {
249
- provide: BaseInputControls,
250
- useExisting: forwardRef(() => TextfieldComponent),
251
- },
252
- {
253
- provide: TEXTFIELD_COMPONENT_TOKEN,
254
- useExisting: TextfieldComponent,
255
- },
256
- ], template: "<div class=\"v-text-field\">\r\n <ng-container *ngIf=\"!floatLabel && label; else floatLabelInput\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <span\r\n class=\"w-100 flex-grow-1\"\r\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\r\n >\r\n <input\r\n pInputText\r\n [id]=\"inputId\"\r\n [formControl]=\"formControl\"\r\n [type]=\"type === 'search' ? 'text' : type\"\r\n class=\"w-100 flex-grow-1 v-text-field\"\r\n [required]=\"isRequired()\"\r\n [readOnly]=\"readonly\"\r\n [title]=\"label\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n [ngClass]=\"{\r\n 'p-inputtext-sm': size === 'small',\r\n 'p-inputtext-lg': size === 'large'\r\n }\"\r\n />\r\n <ng-container *ngIf=\"type === 'search'\">\r\n <i\r\n class=\"pi ms-2 v-text-field__icon\"\r\n [ngStyle]=\"{\r\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\r\n }\"\r\n [ngClass]=\"{\r\n 'pi-search': ngControl && !ngControl.value,\r\n 'pi-times': ngControl && ngControl.value,\r\n }\"\r\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\r\n ></i>\r\n </ng-container>\r\n </span>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-template #floatLabelInput>\r\n <span\r\n class=\"w-100 flex-grow-1\"\r\n [ngClass]=\"{ 'p-input-icon-right': type === 'search' }\"\r\n >\r\n <p-floatLabel>\r\n <input\r\n pInputText\r\n type=\"text\"\r\n [id]=\"inputId\"\r\n class=\"w-100 flex-grow-1\"\r\n [required]=\"isRequired()\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder ? placeholder : ''\"\r\n [ngClass]=\"{\r\n 'p-inputtext-sm': size === 'small',\r\n 'p-inputtext-lg': size === 'large'\r\n }\"\r\n />\r\n <label [for]=\"inputId\" class=\"v-text-field__label\">{{ label }}</label>\r\n </p-floatLabel>\r\n <ng-container *ngIf=\"type === 'search'\">\r\n <i\r\n class=\"pi ms-2 v-text-field__icon\"\r\n [ngStyle]=\"{\r\n cursor: ngControl && ngControl.value ? 'pointer' : 'default'\r\n }\"\r\n [ngClass]=\"{\r\n 'pi-search': ngControl && !ngControl.value,\r\n 'pi-times': ngControl && ngControl.value,\r\n }\"\r\n (click)=\"ngControl && ngControl.value ? ngControl.reset() : null\"\r\n ></i>\r\n </ng-container>\r\n </span>\r\n </ng-template>\r\n</div>\r\n", styles: [".p-inputtext:focus .ng-invalid.ng-dirty{border-color:var(--error-color)}.p-inputtext.ng-dirty.ng-invalid{border-color:var(--error-color)}.verisoft-text-field{justify-content:center;width:100%}.p-input-icon-right i.pi-times:hover{cursor:pointer}.p-inputtext.p-inputtext-lg{font-size:1rem;padding:.75rem}\n"] }]
257
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
258
- type: Optional
259
- }, {
260
- type: Self
261
- }] }], propDecorators: { size: [{
262
- type: Input
263
- }], type: [{
264
- type: Input
265
- }], floatLabel: [{
266
- type: Input
267
- }] } });
268
-
269
- class ConvertMenuItemPipe {
270
- transform(items) {
271
- return items.map(i => i);
272
- }
273
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConvertMenuItemPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
274
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: ConvertMenuItemPipe, isStandalone: true, name: "menuItem" }); }
275
- }
276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConvertMenuItemPipe, decorators: [{
277
- type: Pipe,
278
- args: [{
279
- name: 'menuItem',
280
- standalone: true,
281
- }]
282
- }] });
283
-
284
- class BreadcrumbComponent extends BreadcrumbCoreComponent {
285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BreadcrumbComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: BreadcrumbComponent, isStandalone: true, selector: "v-breadcrumb", providers: [
287
- {
288
- provide: BREADCRUMB_COMPONENT_TOKEN,
289
- useExisting: BreadcrumbComponent
290
- },
291
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-breadcrumb card flex justify-content-center\">\r\n <ng-container *ngIf=\"useHomeRoute; else default\">\r\n <p-breadcrumb\r\n class=\"max-w-full\"\r\n [model]=\"items | menuItem\"\r\n [home]=\"home\"\r\n ></p-breadcrumb>\r\n </ng-container>\r\n <ng-template #default>\r\n <p-breadcrumb class=\"max-w-full\" [model]=\"items | menuItem\"></p-breadcrumb>\r\n </ng-template>\r\n</div>\r\n", styles: ["p-breadcrumb>nav{border:none}p-breadcrumb>nav>ol{align-items:stretch;font-weight:600;font-size:1rem}p-breadcrumb>nav a[aria-current=page]>span{color:var(--primary-color)!important}.p-menuitem-link{gap:.5rem;text-align:center}.p-menuitem-text{align-self:baseline}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: BreadcrumbModule }, { kind: "component", type: i2$2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }, { kind: "pipe", type: ConvertMenuItemPipe, name: "menuItem" }] }); }
292
- }
293
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: BreadcrumbComponent, decorators: [{
294
- type: Component,
295
- args: [{ selector: 'v-breadcrumb', standalone: true, imports: [
296
- CommonModule,
297
- BreadcrumbModule,
298
- ConvertMenuItemPipe,
299
- ], providers: [
300
- {
301
- provide: BREADCRUMB_COMPONENT_TOKEN,
302
- useExisting: BreadcrumbComponent
303
- },
304
- ], template: "<div class=\"v-breadcrumb card flex justify-content-center\">\r\n <ng-container *ngIf=\"useHomeRoute; else default\">\r\n <p-breadcrumb\r\n class=\"max-w-full\"\r\n [model]=\"items | menuItem\"\r\n [home]=\"home\"\r\n ></p-breadcrumb>\r\n </ng-container>\r\n <ng-template #default>\r\n <p-breadcrumb class=\"max-w-full\" [model]=\"items | menuItem\"></p-breadcrumb>\r\n </ng-template>\r\n</div>\r\n", styles: ["p-breadcrumb>nav{border:none}p-breadcrumb>nav>ol{align-items:stretch;font-weight:600;font-size:1rem}p-breadcrumb>nav a[aria-current=page]>span{color:var(--primary-color)!important}.p-menuitem-link{gap:.5rem;text-align:center}.p-menuitem-text{align-self:baseline}\n"] }]
305
- }] });
306
-
307
- class CheckboxComponent extends BaseFormInputComponent {
308
- constructor(ngControl) {
309
- super(ngControl);
310
- this.icon = Icons;
311
- }
312
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckboxComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
313
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CheckboxComponent, isStandalone: true, selector: "v-checkbox", providers: [
314
- {
315
- provide: BaseInputControls,
316
- useExisting: CheckboxComponent,
317
- },
318
- {
319
- provide: CHECKBOX_COMPONENT_TOKEN,
320
- useExisting: CheckboxComponent,
321
- },
322
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-checkbox d-flex align-items-center mt-2\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-checkbox\r\n [ngClass]=\"{ 'checkbox-error': ngControl?.invalid && ngControl?.dirty && ngControl?.value === false }\"\r\n [formControl]=\"formControl\"\r\n [required]=\"required\"\r\n [binary]=\"true\"\r\n [readonly]=\"readonly\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n", styles: ["p-echeckbox.ng-dirty.ng-invalid .p-checkbox>.p-checkbox-box{border-color:var(--error-color)}p-echeckbox.ng-dirty.ng-invalid .p-checkbox-label{color:var(--error-color)}.checkbox-error .p-checkbox-box.p-highlight{background:var(--error-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: CheckboxModule }, { kind: "component", type: i3$2.Checkbox, selector: "p-checkbox", inputs: ["value", "name", "disabled", "binary", "label", "ariaLabelledBy", "ariaLabel", "tabindex", "inputId", "style", "styleClass", "labelStyleClass", "formControl", "checkboxIcon", "readonly", "required", "autofocus", "trueValue", "falseValue", "variant"], outputs: ["onChange", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
323
- }
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CheckboxComponent, decorators: [{
325
- type: Component,
326
- args: [{ selector: 'v-checkbox', standalone: true, imports: [CommonModule, CheckboxModule, ReactiveFormsModule, FormFieldComponent, ErrorComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
327
- {
328
- provide: BaseInputControls,
329
- useExisting: CheckboxComponent,
330
- },
331
- {
332
- provide: CHECKBOX_COMPONENT_TOKEN,
333
- useExisting: CheckboxComponent,
334
- },
335
- ], template: "<div class=\"v-checkbox d-flex align-items-center mt-2\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-checkbox\r\n [ngClass]=\"{ 'checkbox-error': ngControl?.invalid && ngControl?.dirty && ngControl?.value === false }\"\r\n [formControl]=\"formControl\"\r\n [required]=\"required\"\r\n [binary]=\"true\"\r\n [readonly]=\"readonly\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n", styles: ["p-echeckbox.ng-dirty.ng-invalid .p-checkbox>.p-checkbox-box{border-color:var(--error-color)}p-echeckbox.ng-dirty.ng-invalid .p-checkbox-label{color:var(--error-color)}.checkbox-error .p-checkbox-box.p-highlight{background:var(--error-color)}\n"] }]
336
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
337
- type: Optional
338
- }, {
339
- type: Self
340
- }] }] });
341
-
342
- class TristatecheckboxComponent extends BaseFormInputComponent {
343
- constructor(ngControl) {
344
- super(ngControl);
345
- this.icons = Icons;
346
- }
347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TristatecheckboxComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
348
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TristatecheckboxComponent, isStandalone: true, selector: "v-tristatecheckbox", providers: [
349
- {
350
- provide: BaseInputControls,
351
- useExisting: TristatecheckboxComponent,
352
- },
353
- {
354
- provide: TRISTATE_CHECKBOX_COMPONENT_TOKEN,
355
- useExisting: TristatecheckboxComponent,
356
- },
357
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-tristatecheckbox d-flex align-items-center mt-2\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-triStateCheckbox\r\n [ngClass]=\"{\r\n 'tristate-error':\r\n ngControl?.invalid && ngControl?.dirty && ngControl?.value === false\r\n }\"\r\n [formControl]=\"formControl\"\r\n [required]=\"required\"\r\n [readonly]=\"readonly\"\r\n [inputId]=\"testId\"\r\n [checkboxFalseIcon]=\"icons.minus\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: TriStateCheckboxModule }, { kind: "component", type: i3$3.TriStateCheckbox, selector: "p-triStateCheckbox", inputs: ["disabled", "name", "ariaLabel", "ariaLabelledBy", "variant", "tabindex", "inputId", "style", "styleClass", "label", "readonly", "checkboxTrueIcon", "checkboxFalseIcon", "autofocus"], outputs: ["onChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }] }); }
358
- }
359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TristatecheckboxComponent, decorators: [{
360
- type: Component,
361
- args: [{ selector: 'v-tristatecheckbox', standalone: true, imports: [
362
- CommonModule,
363
- TriStateCheckboxModule,
364
- ReactiveFormsModule,
365
- FormFieldComponent,
366
- ErrorComponent
367
- ], providers: [
368
- {
369
- provide: BaseInputControls,
370
- useExisting: TristatecheckboxComponent,
371
- },
372
- {
373
- provide: TRISTATE_CHECKBOX_COMPONENT_TOKEN,
374
- useExisting: TristatecheckboxComponent,
375
- },
376
- ], template: "<div class=\"v-tristatecheckbox d-flex align-items-center mt-2\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-triStateCheckbox\r\n [ngClass]=\"{\r\n 'tristate-error':\r\n ngControl?.invalid && ngControl?.dirty && ngControl?.value === false\r\n }\"\r\n [formControl]=\"formControl\"\r\n [required]=\"required\"\r\n [readonly]=\"readonly\"\r\n [inputId]=\"testId\"\r\n [checkboxFalseIcon]=\"icons.minus\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n" }]
377
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
378
- type: Optional
379
- }, {
380
- type: Self
381
- }] }] });
382
-
383
- class CalendarComponent extends BaseFormInputComponent {
384
- constructor(ngControl) {
385
- super(ngControl);
386
- this.icon = Icons.calendar;
387
- this.selectionMode = 'single';
388
- this.icons = Icons;
389
- this.formDisplay = "block";
390
- }
391
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
392
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: CalendarComponent, isStandalone: true, selector: "v-calendar", inputs: { maxDate: "maxDate", icon: "icon", minDate: "minDate", header: "header", footer: "footer", floatLabel: "floatLabel", selectionMode: "selectionMode" }, providers: [
393
- {
394
- provide: BaseInputControls,
395
- useExisting: forwardRef(() => CalendarComponent),
396
- },
397
- {
398
- provide: CALENDAR_COMPONENT_TOKEN,
399
- useExisting: CalendarComponent,
400
- },
401
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-calendar w-100\">\r\n <ng-container *ngIf=\"label && !floatLabel\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-calendar\r\n appendTo=\"body\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\" \r\n [formControl]=\"formControl\"\r\n [showClear]=\"clearable\"\r\n [dataType]=\"'string'\"\r\n [selectionMode]=\"selectionMode\"\r\n [icon]=\"icon\"\r\n [maxDate]=\"maxDate\"\r\n [id]=\"inputId\"\r\n [showButtonBar]=\"true\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [minDate]=\"minDate\"\r\n [showIcon]=\"formControl && !formControl.value\"\r\n iconDisplay=\"input\"\r\n />\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel\">\r\n <p-floatLabel>\r\n <p-calendar\r\n appendTo=\"body\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\" \r\n [formControl]=\"formControl\"\r\n [showClear]=\"clearable\"\r\n [maxDate]=\"maxDate\"\r\n [id]=\"inputId\"\r\n [icon]=\"icon\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"true\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [minDate]=\"minDate\"\r\n iconDisplay=\"input\"\r\n />\r\n <label [for]=\"inputId\" [innerHTML]=\"floatLabel\"></label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>\r\n\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: CalendarModule }, { kind: "component", type: i3$4.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i4$1.FloatLabel, selector: "p-floatLabel" }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
402
- }
403
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CalendarComponent, decorators: [{
404
- type: Component,
405
- args: [{ selector: 'v-calendar', standalone: true, imports: [
406
- CommonModule,
407
- ReactiveFormsModule,
408
- CalendarModule,
409
- FormFieldComponent,
410
- FloatLabelModule,
411
- ErrorComponent,
412
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
413
- {
414
- provide: BaseInputControls,
415
- useExisting: forwardRef(() => CalendarComponent),
416
- },
417
- {
418
- provide: CALENDAR_COMPONENT_TOKEN,
419
- useExisting: CalendarComponent,
420
- },
421
- ], template: "<div class=\"v-calendar w-100\">\r\n <ng-container *ngIf=\"label && !floatLabel\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-calendar\r\n appendTo=\"body\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\" \r\n [formControl]=\"formControl\"\r\n [showClear]=\"clearable\"\r\n [dataType]=\"'string'\"\r\n [selectionMode]=\"selectionMode\"\r\n [icon]=\"icon\"\r\n [maxDate]=\"maxDate\"\r\n [id]=\"inputId\"\r\n [showButtonBar]=\"true\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [minDate]=\"minDate\"\r\n [showIcon]=\"formControl && !formControl.value\"\r\n iconDisplay=\"input\"\r\n />\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel\">\r\n <p-floatLabel>\r\n <p-calendar\r\n appendTo=\"body\"\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\" \r\n [formControl]=\"formControl\"\r\n [showClear]=\"clearable\"\r\n [maxDate]=\"maxDate\"\r\n [id]=\"inputId\"\r\n [icon]=\"icon\"\r\n [selectionMode]=\"selectionMode\"\r\n [showButtonBar]=\"true\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [minDate]=\"minDate\"\r\n iconDisplay=\"input\"\r\n />\r\n <label [for]=\"inputId\" [innerHTML]=\"floatLabel\"></label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>\r\n\r\n" }]
422
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
423
- type: Optional
424
- }, {
425
- type: Self
426
- }] }], propDecorators: { maxDate: [{
427
- type: Input
428
- }], icon: [{
429
- type: Input
430
- }], minDate: [{
431
- type: Input
432
- }], header: [{
433
- type: Input
434
- }], footer: [{
435
- type: Input
436
- }], floatLabel: [{
437
- type: Input
438
- }], selectionMode: [{
439
- type: Input
440
- }] } });
441
-
442
- class PasswordComponent extends BaseFormInputComponent {
443
- constructor(ngControl) {
444
- super(ngControl);
445
- this.toggleMask = true;
446
- this.feedback = false;
447
- this.formDisplay = "block";
448
- }
449
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PasswordComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
450
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PasswordComponent, isStandalone: true, selector: "v-password", inputs: { toggleMask: "toggleMask", feedback: "feedback" }, providers: [
451
- {
452
- provide: BaseInputControls,
453
- useExisting: PasswordComponent,
454
- },
455
- {
456
- provide: PASSWORD_COMPONENT_TOKEN,
457
- useExisting: PasswordComponent,
458
- },
459
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-password d-flex align-items-center\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-password\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\" \r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"clearable\"\r\n [feedback]=\"feedback\"\r\n [required]=\"isRequired()\"\r\n [label]=\"label\"\r\n [id]=\"inputId\"\r\n [toggleMask]=\"toggleMask\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: PasswordModule }, { kind: "component", type: i2$3.Password, selector: "p-password", inputs: ["ariaLabel", "ariaLabelledBy", "label", "disabled", "promptLabel", "mediumRegex", "strongRegex", "weakLabel", "mediumLabel", "maxLength", "strongLabel", "inputId", "feedback", "appendTo", "toggleMask", "inputStyleClass", "styleClass", "style", "inputStyle", "showTransitionOptions", "hideTransitionOptions", "autocomplete", "placeholder", "showClear", "autofocus", "variant"], outputs: ["onFocus", "onBlur", "onClear"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
460
- }
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PasswordComponent, decorators: [{
462
- type: Component,
463
- args: [{ selector: 'v-password', standalone: true, imports: [
464
- CommonModule,
465
- ReactiveFormsModule,
466
- PasswordModule,
467
- FloatLabelModule,
468
- FormFieldComponent,
469
- ErrorComponent
470
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
471
- {
472
- provide: BaseInputControls,
473
- useExisting: PasswordComponent,
474
- },
475
- {
476
- provide: PASSWORD_COMPONENT_TOKEN,
477
- useExisting: PasswordComponent,
478
- },
479
- ], template: "<div class=\"v-password d-flex align-items-center\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-password\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\" \r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"clearable\"\r\n [feedback]=\"feedback\"\r\n [required]=\"isRequired()\"\r\n [label]=\"label\"\r\n [id]=\"inputId\"\r\n [toggleMask]=\"toggleMask\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n" }]
480
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
481
- type: Optional
482
- }, {
483
- type: Self
484
- }] }], propDecorators: { toggleMask: [{
485
- type: Input
486
- }], feedback: [{
487
- type: Input
488
- }] } });
489
-
490
- class ButtonComponent {
491
- constructor() {
492
- this.iconPos = IconPosition.right;
493
- }
494
- fireClick(event) {
495
- if (this.disabled) {
496
- event.stopPropagation();
497
- event.stopImmediatePropagation();
498
- }
499
- }
500
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
501
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ButtonComponent, isStandalone: true, selector: "v-button", inputs: { label: "label", icon: "icon", badge: "badge", iconPos: "iconPos", disabled: "disabled", rounded: "rounded", outlined: "outlined", raised: "raised", severity: "severity", routerLink: "routerLink", size: "size", queryParams: "queryParams" }, providers: [
502
- {
503
- provide: BUTTON_COMPONENT_TOKEN,
504
- useExisting: ButtonComponent,
505
- },
506
- ], ngImport: i0, template: "<div class=\"v-button d-inline-block\" \r\n(click)=\"fireClick($event)\">\r\n <a\r\n [routerLink]=\"routerLink ? routerLink : undefined\"\r\n [queryParams]=\"queryParams ? queryParams : undefined\"\r\n >\r\n <p-button\r\n [disabled]=\"disabled\"\r\n [icon]=\"icon\"\r\n [badge]=\"badge\"\r\n [outlined]=\"outlined\"\r\n [rounded]=\"rounded\"\r\n [raised]=\"raised\"\r\n [label]=\"label\"\r\n [size]=\"$any(size)\"\r\n [severity]=\"severity\"\r\n [iconPos]=\"iconPos\"\r\n />\r\n </a>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: RippleModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
507
- }
508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ButtonComponent, decorators: [{
509
- type: Component,
510
- args: [{ selector: 'v-button', standalone: true, imports: [CommonModule, ButtonModule, RippleModule, RouterModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
511
- {
512
- provide: BUTTON_COMPONENT_TOKEN,
513
- useExisting: ButtonComponent,
514
- },
515
- ], template: "<div class=\"v-button d-inline-block\" \r\n(click)=\"fireClick($event)\">\r\n <a\r\n [routerLink]=\"routerLink ? routerLink : undefined\"\r\n [queryParams]=\"queryParams ? queryParams : undefined\"\r\n >\r\n <p-button\r\n [disabled]=\"disabled\"\r\n [icon]=\"icon\"\r\n [badge]=\"badge\"\r\n [outlined]=\"outlined\"\r\n [rounded]=\"rounded\"\r\n [raised]=\"raised\"\r\n [label]=\"label\"\r\n [size]=\"$any(size)\"\r\n [severity]=\"severity\"\r\n [iconPos]=\"iconPos\"\r\n />\r\n </a>\r\n</div>\r\n" }]
516
- }], propDecorators: { label: [{
517
- type: Input
518
- }], icon: [{
519
- type: Input
520
- }], badge: [{
521
- type: Input
522
- }], iconPos: [{
523
- type: Input
524
- }], disabled: [{
525
- type: Input
526
- }], rounded: [{
527
- type: Input
528
- }], outlined: [{
529
- type: Input
530
- }], raised: [{
531
- type: Input
532
- }], severity: [{
533
- type: Input
534
- }], routerLink: [{
535
- type: Input
536
- }], size: [{
537
- type: Input
538
- }], queryParams: [{
539
- type: Input
540
- }] } });
541
-
542
- class SectionComponent {
543
- constructor() {
544
- this.showContent = true;
545
- this.icons = Icons;
546
- this.icon = Icons.chevronDown;
547
- }
548
- toggle() {
549
- this.showContent = !this.showContent;
550
- this.icon = this.showContent ? Icons.chevronDown : Icons.chevronUp;
551
- }
552
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
553
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SectionComponent, isStandalone: true, selector: "v-section", inputs: { title: "title", showContent: "showContent", backgroundColor: "backgroundColor" }, providers: [
554
- { provide: SECTION_COMPONENT_TOKEN, useExisting: SectionComponent },
555
- ], ngImport: i0, template: "<div class=\"v-section\">\r\n <div\r\n class=\"v-section-header text-align-center d-flex\"\r\n [ngStyle]=\"{ 'background-color': backgroundColor }\"\r\n >\r\n <p\r\n class=\"text-primary align-items-center text-nowrap d-none d-md-block ps-3 m-0 w-100\"\r\n >\r\n {{ title }}\r\n </p>\r\n <div class=\"d-flex\">\r\n <ng-content select=\"[actions]\"></ng-content>\r\n <v-button\r\n size=\"small\"\r\n [icon]=\"icon\"\r\n (click)=\"toggle()\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"v-section-content\" *ngIf=\"showContent\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
556
- }
557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SectionComponent, decorators: [{
558
- type: Component,
559
- args: [{ selector: 'v-section', standalone: true, imports: [CommonModule, ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
560
- { provide: SECTION_COMPONENT_TOKEN, useExisting: SectionComponent },
561
- ], template: "<div class=\"v-section\">\r\n <div\r\n class=\"v-section-header text-align-center d-flex\"\r\n [ngStyle]=\"{ 'background-color': backgroundColor }\"\r\n >\r\n <p\r\n class=\"text-primary align-items-center text-nowrap d-none d-md-block ps-3 m-0 w-100\"\r\n >\r\n {{ title }}\r\n </p>\r\n <div class=\"d-flex\">\r\n <ng-content select=\"[actions]\"></ng-content>\r\n <v-button\r\n size=\"small\"\r\n [icon]=\"icon\"\r\n (click)=\"toggle()\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"v-section-content\" *ngIf=\"showContent\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n" }]
562
- }], propDecorators: { title: [{
563
- type: Input
564
- }], showContent: [{
565
- type: Input
566
- }], backgroundColor: [{
567
- type: Input
568
- }] } });
569
-
570
- class RadioButtonComponent extends BaseFormInputComponent {
571
- constructor(ngControl) {
572
- super(ngControl);
573
- this.radioGroupName = Math.random().toString();
574
- this.items = [];
575
- }
576
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
577
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: RadioButtonComponent, isStandalone: true, selector: "v-radiobutton", inputs: { radioGroupName: "radioGroupName", items: "items" }, providers: [
578
- {
579
- provide: BaseInputControls,
580
- useExisting: RadioButtonComponent,
581
- },
582
- {
583
- provide: RADIOBUTTON_COMPONENT_TOKEN,
584
- useExisting: RadioButtonComponent,
585
- },
586
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-radiobutton\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [required]=\"required\"\r\n [tooltip]=\"tooltip\"\r\n [testId]=\"testId\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div *ngFor=\"let item of items\">\r\n <p-radioButton\r\n [inputId]=\"item.id\"\r\n [ngClass]=\"{\r\n 'radio-error': ngControl?.invalid && ngControl?.dirty,\r\n }\"\r\n [name]=\"radioGroupName\"\r\n [value]=\"item.value\"\r\n [formControl]=\"formControl\"\r\n />\r\n <label [for]=\"item.id\" class=\"ps-2\">\r\n <span\r\n [ngClass]=\"{\r\n 'text-error': ngControl?.invalid && ngControl?.dirty,\r\n 'text-primary': ngControl?.value === item.value\r\n }\"\r\n >{{ item.value }}</span\r\n >\r\n </label>\r\n </div>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </div>\r\n </v-form-field>\r\n</div>\r\n", styles: [".radio-error .p-radiobutton .p-radiobutton-box.p-highlight{border-color:var(--error-color);background:var(--error-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "ngmodule", type: RadioButtonModule }, { kind: "component", type: i3$5.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "variant", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
587
- }
588
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: RadioButtonComponent, decorators: [{
589
- type: Component,
590
- args: [{ selector: 'v-radiobutton', standalone: true, imports: [
591
- CommonModule,
592
- FormFieldComponent,
593
- RadioButtonModule,
594
- ReactiveFormsModule,
595
- ErrorComponent
596
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
597
- {
598
- provide: BaseInputControls,
599
- useExisting: RadioButtonComponent,
600
- },
601
- {
602
- provide: RADIOBUTTON_COMPONENT_TOKEN,
603
- useExisting: RadioButtonComponent,
604
- },
605
- ], template: "<div class=\"v-radiobutton\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [required]=\"required\"\r\n [tooltip]=\"tooltip\"\r\n [testId]=\"testId\"\r\n >\r\n <div class=\"d-flex align-items-center gap-3\">\r\n <div *ngFor=\"let item of items\">\r\n <p-radioButton\r\n [inputId]=\"item.id\"\r\n [ngClass]=\"{\r\n 'radio-error': ngControl?.invalid && ngControl?.dirty,\r\n }\"\r\n [name]=\"radioGroupName\"\r\n [value]=\"item.value\"\r\n [formControl]=\"formControl\"\r\n />\r\n <label [for]=\"item.id\" class=\"ps-2\">\r\n <span\r\n [ngClass]=\"{\r\n 'text-error': ngControl?.invalid && ngControl?.dirty,\r\n 'text-primary': ngControl?.value === item.value\r\n }\"\r\n >{{ item.value }}</span\r\n >\r\n </label>\r\n </div>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </div>\r\n </v-form-field>\r\n</div>\r\n", styles: [".radio-error .p-radiobutton .p-radiobutton-box.p-highlight{border-color:var(--error-color);background:var(--error-color)}\n"] }]
606
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
607
- type: Optional
608
- }, {
609
- type: Self
610
- }] }], propDecorators: { radioGroupName: [{
611
- type: Input
612
- }], items: [{
613
- type: Input
614
- }] } });
615
-
616
- class NumberInputComponent extends BaseFormInputComponent {
617
- constructor(ngControl) {
618
- super(ngControl);
619
- this.step = 1;
620
- this.errorMessage = 'test';
621
- }
622
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: NumberInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
623
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: NumberInputComponent, isStandalone: true, selector: "v-number-input", inputs: { mode: "mode", currency: "currency", min: "min", max: "max", step: "step", errorMessage: "errorMessage" }, providers: [
624
- {
625
- provide: BaseInputControls,
626
- useExisting: forwardRef(() => NumberInputComponent),
627
- },
628
- {
629
- provide: NUMBER_INPUT_COMPONENT_TOKEN,
630
- useExisting: NumberInputComponent,
631
- },
632
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-number-input\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n >\r\n <p-inputNumber\r\n class=\"w-100\"\r\n [formControl]=\"formControl\"\r\n [showButtons]=\"true\"\r\n [inputId]=\"inputId\"\r\n [mode]=\"mode\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [currency]=\"currency\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: InputNumberModule }, { kind: "component", type: i2$4.InputNumber, selector: "p-inputNumber", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
633
- }
634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: NumberInputComponent, decorators: [{
635
- type: Component,
636
- args: [{ selector: 'v-number-input', standalone: true, imports: [
637
- CommonModule,
638
- InputNumberModule,
639
- ReactiveFormsModule,
640
- FormFieldComponent,
641
- ErrorComponent,
642
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
643
- {
644
- provide: BaseInputControls,
645
- useExisting: forwardRef(() => NumberInputComponent),
646
- },
647
- {
648
- provide: NUMBER_INPUT_COMPONENT_TOKEN,
649
- useExisting: NumberInputComponent,
650
- },
651
- ], template: "<div class=\"v-number-input\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n >\r\n <p-inputNumber\r\n class=\"w-100\"\r\n [formControl]=\"formControl\"\r\n [showButtons]=\"true\"\r\n [inputId]=\"inputId\"\r\n [mode]=\"mode\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n [step]=\"step\"\r\n [currency]=\"currency\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n" }]
652
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
653
- type: Optional
654
- }, {
655
- type: Self
656
- }] }], propDecorators: { mode: [{
657
- type: Input
658
- }], currency: [{
659
- type: Input
660
- }], min: [{
661
- type: Input
662
- }], max: [{
663
- type: Input
664
- }], step: [{
665
- type: Input
666
- }], errorMessage: [{
667
- type: Input
668
- }] } });
669
-
670
- class HeaderProviderService {
671
- constructor(settingsMenu) {
672
- this.settingsMenu = settingsMenu;
673
- this.menu = [];
674
- }
675
- init() {
676
- this.menu = this.settingsMenu;
677
- }
678
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderProviderService, deps: [{ token: SETTINGS_MENU }], target: i0.ɵɵFactoryTarget.Injectable }); }
679
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderProviderService, providedIn: 'root' }); }
680
- }
681
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderProviderService, decorators: [{
682
- type: Injectable,
683
- args: [{
684
- providedIn: 'root',
685
- }]
686
- }], ctorParameters: () => [{ type: undefined, decorators: [{
687
- type: Inject,
688
- args: [SETTINGS_MENU]
689
- }] }] });
690
-
691
- class HeaderComponent extends UnsubscribeComponent {
692
- constructor(providerService, screenSizeService, cdr) {
693
- super();
694
- this.providerService = providerService;
695
- this.screenSizeService = screenSizeService;
696
- this.cdr = cdr;
697
- this.exampleHeader = false;
698
- this.icons = Icons;
699
- this.menuVisible = false;
700
- }
701
- ngOnInit() {
702
- this.providerService.init();
703
- }
704
- toggleMenu() {
705
- if (this.menuRef) {
706
- this.menuVisible = !this.menuVisible;
707
- this.menuRef.classList.toggle('menu-visible');
708
- this.cdr.detectChanges();
709
- }
710
- }
711
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderComponent, deps: [{ token: HeaderProviderService }, { token: i1$3.ScreenSizeService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
712
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: HeaderComponent, isStandalone: true, selector: "v-header", inputs: { title: "title", logoUrl: "logoUrl", userName: "userName", userRole: "userRole", menuRef: "menuRef", exampleHeader: "exampleHeader" }, providers: [
713
- { provide: HEADER_COMPONENT_TOKEN, useExisting: HeaderComponent },
714
- ], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"v-header d-flex w-100 text-align-end\"\r\n [ngStyle]=\"{ position: exampleHeader ? 'relative' : 'fixed' }\"\r\n>\r\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\r\n <div class=\"burger-menu\">\r\n <v-button\r\n [icon]=\"menuVisible ? icons.cross : icons.action\"\r\n (click)=\"toggleMenu()\"\r\n />\r\n <div class=\"logo mt-3\" [routerLink]=\"[logoRouterLink]\">\r\n <img [src]=\"logoUrl\" alt=\"\"/>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"v-header-title col-auto\">\r\n <p class=\"text-primary text-nowrap d-none d-md-block ps-3 m-0 w-100\">\r\n {{ title }}\r\n </p>\r\n <div class=\"col-8 col-md-auto ps-3 m-0 w-100\">\r\n <ng-content select=\"[module]\"></ng-content>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\r\n <div class=\"w-100 text-start justify-content-start align-content-center\">\r\n <ng-content select=\"[breadcrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"col-auto d-flex align-items-center justify-content-end p-4\">\r\n <div class=\"d-flex aling-items-center\">\r\n <p-avatar\r\n image=\"assets/primeng/images/_global/jara.png\"\r\n styleClass=\"me-2\"\r\n size=\"large\"\r\n shape=\"circle\"\r\n />\r\n <div class=\"card align-content-center pe-3\">\r\n <p\r\n class=\"text-primary m-0 header-username\"\r\n [innerHTML]=\"userName\"\r\n ></p>\r\n <p\r\n class=\"text-default m-0 header-userrole\"\r\n [innerHTML]=\"userRole\"\r\n ></p>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-4 align-items-center\">\r\n <ng-content select=\"[useractions]\"/>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\r\n <div class=\"user-info-container d-flex align-items-center\">\r\n <div class=\"d-flex\">\r\n <div class=\"card pe-3 align-content-center\">\r\n <p-avatar\r\n image=\"assets/images/_global/jara.png\"\r\n styleClass=\"mr-2\"\r\n size=\"large\"\r\n shape=\"circle\"\r\n ></p-avatar>\r\n </div>\r\n <div class=\"card align-content-center pe-3 d-flex\">\r\n <div class=\"user-info\">\r\n <p\r\n class=\"text-default m-0 header-username\"\r\n [innerHTML]=\"userName\"\r\n ></p>\r\n <p\r\n class=\"text-default m-0 header-userrole\"\r\n [innerHTML]=\"userRole\"\r\n ></p>\r\n </div>\r\n <div class=\"user-actions\">\r\n <ng-content select=\"[useractions]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-4 align-items-center justify-content-center\">\r\n <ng-content select=\"[dbcontext]\" />\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i4$2.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
715
- }
716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HeaderComponent, decorators: [{
717
- type: Component,
718
- args: [{ selector: 'v-header', standalone: true, imports: [CommonModule, AvatarModule, ButtonComponent, RouterModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
719
- { provide: HEADER_COMPONENT_TOKEN, useExisting: HeaderComponent },
720
- ], template: "<div\r\n class=\"v-header d-flex w-100 text-align-end\"\r\n [ngStyle]=\"{ position: exampleHeader ? 'relative' : 'fixed' }\"\r\n>\r\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\r\n <div class=\"burger-menu\">\r\n <v-button\r\n [icon]=\"menuVisible ? icons.cross : icons.action\"\r\n (click)=\"toggleMenu()\"\r\n />\r\n <div class=\"logo mt-3\" [routerLink]=\"[logoRouterLink]\">\r\n <img [src]=\"logoUrl\" alt=\"\"/>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div class=\"v-header-title col-auto\">\r\n <p class=\"text-primary text-nowrap d-none d-md-block ps-3 m-0 w-100\">\r\n {{ title }}\r\n </p>\r\n <div class=\"col-8 col-md-auto ps-3 m-0 w-100\">\r\n <ng-content select=\"[module]\"></ng-content>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\r\n <div class=\"w-100 text-start justify-content-start align-content-center\">\r\n <ng-content select=\"[breadcrumbs]\"></ng-content>\r\n </div>\r\n <div class=\"col-auto d-flex align-items-center justify-content-end p-4\">\r\n <div class=\"d-flex aling-items-center\">\r\n <p-avatar\r\n image=\"assets/primeng/images/_global/jara.png\"\r\n styleClass=\"me-2\"\r\n size=\"large\"\r\n shape=\"circle\"\r\n />\r\n <div class=\"card align-content-center pe-3\">\r\n <p\r\n class=\"text-primary m-0 header-username\"\r\n [innerHTML]=\"userName\"\r\n ></p>\r\n <p\r\n class=\"text-default m-0 header-userrole\"\r\n [innerHTML]=\"userRole\"\r\n ></p>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-4 align-items-center\">\r\n <ng-content select=\"[useractions]\"/>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"screenSizeService.isMobileBlock | async\">\r\n <div class=\"user-info-container d-flex align-items-center\">\r\n <div class=\"d-flex\">\r\n <div class=\"card pe-3 align-content-center\">\r\n <p-avatar\r\n image=\"assets/images/_global/jara.png\"\r\n styleClass=\"mr-2\"\r\n size=\"large\"\r\n shape=\"circle\"\r\n ></p-avatar>\r\n </div>\r\n <div class=\"card align-content-center pe-3 d-flex\">\r\n <div class=\"user-info\">\r\n <p\r\n class=\"text-default m-0 header-username\"\r\n [innerHTML]=\"userName\"\r\n ></p>\r\n <p\r\n class=\"text-default m-0 header-userrole\"\r\n [innerHTML]=\"userRole\"\r\n ></p>\r\n </div>\r\n <div class=\"user-actions\">\r\n <ng-content select=\"[useractions]\"></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"d-flex gap-4 align-items-center justify-content-center\">\r\n <ng-content select=\"[dbcontext]\" />\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n" }]
721
- }], ctorParameters: () => [{ type: HeaderProviderService }, { type: i1$3.ScreenSizeService }, { type: i0.ChangeDetectorRef }], propDecorators: { title: [{
722
- type: Input
723
- }], logoUrl: [{
724
- type: Input
725
- }], userName: [{
726
- type: Input
727
- }], userRole: [{
728
- type: Input
729
- }], menuRef: [{
730
- type: Input
731
- }], exampleHeader: [{
732
- type: Input
733
- }] } });
734
-
735
- class TextareaComponent extends BaseFormInputComponent {
736
- constructor(ngControl) {
737
- super(ngControl);
738
- this.rows = 5;
739
- this.cols = 30;
740
- this.autoResize = false;
741
- }
742
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
743
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TextareaComponent, isStandalone: true, selector: "v-textarea", inputs: { rows: "rows", cols: "cols", autoResize: "autoResize", floatLabel: "floatLabel" }, providers: [
744
- {
745
- provide: BaseInputControls,
746
- useExisting: TextareaComponent,
747
- },
748
- {
749
- provide: TEXTAREA_COMPONENT_TOKEN,
750
- useExisting: TextareaComponent,
751
- },
752
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-textarea\">\r\n <ng-container *ngIf=\"!floatLabel\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [display]=\"formDisplay\"\r\n >\r\n <textarea\r\n class=\"flex-grow-1\"\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [readOnly]=\"readonly\"\r\n [autoResize]=\"autoResize\"\r\n ></textarea>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel\">\r\n <p-floatLabel>\r\n <textarea\r\n class=\"flex-grow-1\"\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [id]=\"inputId\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [readOnly]=\"readonly\"\r\n [autoResize]=\"autoResize\"\r\n ></textarea>\r\n <label [for]=\"inputId\">{{ floatLabel }}</label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>\r\n", styles: [".v-textarea textarea{line-height:1.75rem!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: InputTextareaModule }, { kind: "directive", type: i3$6.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i4$1.FloatLabel, selector: "p-floatLabel" }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
753
- }
754
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TextareaComponent, decorators: [{
755
- type: Component,
756
- args: [{ selector: 'v-textarea', standalone: true, imports: [
757
- CommonModule,
758
- InputTextareaModule,
759
- ReactiveFormsModule,
760
- FormFieldComponent,
761
- FloatLabelModule,
762
- ErrorComponent
763
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
764
- {
765
- provide: BaseInputControls,
766
- useExisting: TextareaComponent,
767
- },
768
- {
769
- provide: TEXTAREA_COMPONENT_TOKEN,
770
- useExisting: TextareaComponent,
771
- },
772
- ], template: "<div class=\"v-textarea\">\r\n <ng-container *ngIf=\"!floatLabel\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [display]=\"formDisplay\"\r\n >\r\n <textarea\r\n class=\"flex-grow-1\"\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [readOnly]=\"readonly\"\r\n [autoResize]=\"autoResize\"\r\n ></textarea>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel\">\r\n <p-floatLabel>\r\n <textarea\r\n class=\"flex-grow-1\"\r\n pInputTextarea\r\n [rows]=\"rows\"\r\n [cols]=\"cols\"\r\n [id]=\"inputId\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"isRequired()\"\r\n [readOnly]=\"readonly\"\r\n [autoResize]=\"autoResize\"\r\n ></textarea>\r\n <label [for]=\"inputId\">{{ floatLabel }}</label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>\r\n", styles: [".v-textarea textarea{line-height:1.75rem!important}\n"] }]
773
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
774
- type: Optional
775
- }, {
776
- type: Self
777
- }] }], propDecorators: { rows: [{
778
- type: Input
779
- }], cols: [{
780
- type: Input
781
- }], autoResize: [{
782
- type: Input
783
- }], floatLabel: [{
784
- type: Input
785
- }] } });
786
-
787
- class LoaderComponent {
788
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
789
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: LoaderComponent, isStandalone: true, selector: "v-loader", providers: [
790
- { provide: LOADER_COMPONENT_TOKEN, useExisting: LoaderComponent },
791
- ], ngImport: i0, template: "<div class=\"v-loader d-flex justify-content-center\">\r\n <div>\r\n <p-progressSpinner class=\"p-progress-spinner-circle\"></p-progressSpinner>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i1$4.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
792
- }
793
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: LoaderComponent, decorators: [{
794
- type: Component,
795
- args: [{ selector: 'v-loader', standalone: true, imports: [CommonModule, ProgressSpinnerModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
796
- { provide: LOADER_COMPONENT_TOKEN, useExisting: LoaderComponent },
797
- ], template: "<div class=\"v-loader d-flex justify-content-center\">\r\n <div>\r\n <p-progressSpinner class=\"p-progress-spinner-circle\"></p-progressSpinner>\r\n </div>\r\n</div>\r\n" }]
798
- }] });
799
-
800
- class SnackbarService {
801
- constructor(messageService) {
802
- this.messageService = messageService;
803
- }
804
- showSuccess(message, icon) {
805
- this.messageService.add({
806
- severity: 'success',
807
- summary: 'Success',
808
- detail: message,
809
- icon: icon,
810
- });
811
- }
812
- showInfo(message, icon) {
813
- this.messageService.add({
814
- severity: 'info',
815
- summary: 'Info',
816
- detail: message,
817
- icon: icon,
818
- });
819
- }
820
- showWarn(message, icon) {
821
- this.messageService.add({
822
- severity: 'warn',
823
- summary: 'Warn',
824
- detail: message,
825
- icon: icon,
826
- });
827
- }
828
- showError(message, icon) {
829
- this.messageService.add({
830
- severity: 'error',
831
- summary: 'Error',
832
- detail: message,
833
- icon: icon,
834
- });
835
- }
836
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SnackbarService, deps: [{ token: i1$5.MessageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
837
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SnackbarService, providedIn: 'root' }); }
838
- }
839
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SnackbarService, decorators: [{
840
- type: Injectable,
841
- args: [{
842
- providedIn: 'root',
843
- }]
844
- }], ctorParameters: () => [{ type: i1$5.MessageService }] });
845
-
846
- class SnackbarComponent {
847
- constructor(snackbarService) {
848
- this.snackbarService = snackbarService;
849
- }
850
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SnackbarComponent, deps: [{ token: SnackbarService }], target: i0.ɵɵFactoryTarget.Component }); }
851
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SnackbarComponent, isStandalone: true, selector: "v-snackbar", providers: [
852
- SnackbarService,
853
- {
854
- provide: SNACKBAR_COMPONENT_TOKEN,
855
- useExisting: SnackbarComponent,
856
- },
857
- ], ngImport: i0, template: "<div class=\"v-snackbar\">\r\n <p-toast />\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i2$5.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "ngmodule", type: RippleModule }] }); }
858
- }
859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SnackbarComponent, decorators: [{
860
- type: Component,
861
- args: [{ selector: 'v-snackbar', standalone: true, imports: [CommonModule, ToastModule, RippleModule], providers: [
862
- SnackbarService,
863
- {
864
- provide: SNACKBAR_COMPONENT_TOKEN,
865
- useExisting: SnackbarComponent,
866
- },
867
- ], template: "<div class=\"v-snackbar\">\r\n <p-toast />\r\n</div>\r\n" }]
868
- }], ctorParameters: () => [{ type: SnackbarService }] });
869
-
870
- class SideMenuComponent extends UnsubscribeComponent {
871
- constructor() {
872
- super(...arguments);
873
- this.items = [];
874
- this.logoUrl = '';
875
- this.minimalized = new EventEmitter();
876
- this.itemSelected = new EventEmitter();
877
- this.menuService = inject(SideMenuService);
878
- this.router = inject(Router);
879
- this.icons = Icons;
880
- this.screenSizeService = inject(ScreenSizeService);
881
- this.isMinimalized = false;
882
- }
883
- ngAfterContentInit() {
884
- if (this.menuService.menuMinimalized) {
885
- this.setMenuMinimalized(this.menu);
886
- }
887
- }
888
- menuMinimalize(menu) {
889
- const audit = document.getElementsByClassName('detail-audit');
890
- if (audit.length > 0) {
891
- audit.item(0)?.classList.toggle('menu-close__audit');
892
- }
893
- if (menu) {
894
- menu.classList.toggle('menu-closed');
895
- this.isMinimalized = menu.classList.contains('menu-closed');
896
- this.menuService.saveMinimalizedState(this.isMinimalized);
897
- this.minimalized.emit(this.isMinimalized);
898
- }
899
- }
900
- onSelectionChange(event) {
901
- const item = event.node;
902
- if (item.label) {
903
- this.menuService.saveExpandedState(item);
904
- }
905
- }
906
- onNodeSelect(event) {
907
- const item = event.node;
908
- if (item.url) {
909
- this.router.navigateByUrl(item.url);
910
- }
911
- }
912
- setMenuMinimalized(menu) {
913
- if (menu) {
914
- menu.nativeElement.classList.add("menu-closed");
915
- this.minimalized.emit(true);
916
- }
917
- }
918
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideMenuComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
919
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SideMenuComponent, isStandalone: true, selector: "v-side-menu", inputs: { items: "items", logoUrl: "logoUrl", userName: "userName", userRole: "userRole" }, outputs: { minimalized: "minimalized", itemSelected: "itemSelected" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["sidemenu"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"v-side-menu\" #sidemenu>\r\n <div\r\n [ngClass]=\"\r\n (screenSizeService.isMobileBlock | async)\r\n ? 'v-side-menu-container__mobile'\r\n : 'v-side-menu-container'\r\n \"\r\n >\r\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\r\n <div class=\"v-side-menu-header pb-3 text-center\">\r\n <div class=\"logo\" [routerLink]=\"[logoRouterLink]\">\r\n <img [src]=\"logoUrl\" alt=\"\" />\r\n </div>\r\n <hr />\r\n </div>\r\n </ng-container>\r\n <div\r\n [ngClass]=\"{\r\n 'v-side-menu-body__mobile': screenSizeService.isMobileBlock | async,\r\n 'v-side-menu-body': (screenSizeService.isMobileBlock | async) === false\r\n }\"\r\n class=\"text-center\"\r\n >\r\n <p-tree\r\n selectionMode=\"single\"\r\n [value]=\"items\"\r\n (onNodeExpand)=\"onSelectionChange($event)\"\r\n (onNodeCollapse)=\"onSelectionChange($event)\"\r\n (onNodeSelect)=\"onNodeSelect($event)\"\r\n >\r\n </p-tree>\r\n </div>\r\n <div\r\n class=\"text-center py-3 d-flex justify-content-end flex-column support\"\r\n >\r\n <hr class=\"mx-4 divider\" />\r\n <v-button\r\n class=\"support-button\"\r\n [label]=\"isMinimalized ? undefined : 'Support'\"\r\n severity=\"primary\"\r\n [icon]=\"icons.questionCircle\"\r\n ></v-button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"(screenSizeService.isMobileBlock | async) === false\"\r\n class=\"close-button\"\r\n (click)=\"menuMinimalize(sidemenu)\"\r\n >\r\n <i class=\"pi pi-chevron-left text-white close-icon\"></i>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TreeModule }, { kind: "component", type: i1$6.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
920
- }
921
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideMenuComponent, decorators: [{
922
- type: Component,
923
- args: [{ selector: 'v-side-menu', standalone: true, imports: [
924
- NgClass,
925
- AsyncPipe,
926
- NgIf,
927
- TreeModule,
928
- ButtonComponent,
929
- TranslateModule,
930
- AvatarModule,
931
- RouterModule,
932
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"v-side-menu\" #sidemenu>\r\n <div\r\n [ngClass]=\"\r\n (screenSizeService.isMobileBlock | async)\r\n ? 'v-side-menu-container__mobile'\r\n : 'v-side-menu-container'\r\n \"\r\n >\r\n <ng-container *ngIf=\"(screenSizeService.isMobileBlock | async) === false\">\r\n <div class=\"v-side-menu-header pb-3 text-center\">\r\n <div class=\"logo\" [routerLink]=\"[logoRouterLink]\">\r\n <img [src]=\"logoUrl\" alt=\"\" />\r\n </div>\r\n <hr />\r\n </div>\r\n </ng-container>\r\n <div\r\n [ngClass]=\"{\r\n 'v-side-menu-body__mobile': screenSizeService.isMobileBlock | async,\r\n 'v-side-menu-body': (screenSizeService.isMobileBlock | async) === false\r\n }\"\r\n class=\"text-center\"\r\n >\r\n <p-tree\r\n selectionMode=\"single\"\r\n [value]=\"items\"\r\n (onNodeExpand)=\"onSelectionChange($event)\"\r\n (onNodeCollapse)=\"onSelectionChange($event)\"\r\n (onNodeSelect)=\"onNodeSelect($event)\"\r\n >\r\n </p-tree>\r\n </div>\r\n <div\r\n class=\"text-center py-3 d-flex justify-content-end flex-column support\"\r\n >\r\n <hr class=\"mx-4 divider\" />\r\n <v-button\r\n class=\"support-button\"\r\n [label]=\"isMinimalized ? undefined : 'Support'\"\r\n severity=\"primary\"\r\n [icon]=\"icons.questionCircle\"\r\n ></v-button>\r\n </div>\r\n </div>\r\n <div\r\n *ngIf=\"(screenSizeService.isMobileBlock | async) === false\"\r\n class=\"close-button\"\r\n (click)=\"menuMinimalize(sidemenu)\"\r\n >\r\n <i class=\"pi pi-chevron-left text-white close-icon\"></i>\r\n </div>\r\n</div>\r\n" }]
933
- }], propDecorators: { items: [{
934
- type: Input
935
- }], logoUrl: [{
936
- type: Input
937
- }], userName: [{
938
- type: Input
939
- }], userRole: [{
940
- type: Input
941
- }], minimalized: [{
942
- type: Output
943
- }], itemSelected: [{
944
- type: Output
945
- }], menu: [{
946
- type: ViewChild,
947
- args: ['sidemenu', { static: true }]
948
- }] } });
949
-
950
- class SideMenuModule extends UnsubscribeComponent {
951
- constructor(service) {
952
- super();
953
- this.service = service;
954
- }
955
- static forRoot(config) {
956
- const moduleWithProvider = {
957
- ngModule: SideMenuModule,
958
- };
959
- if (config?.items) {
960
- moduleWithProvider.providers = [
961
- {
962
- provide: MENU_TOKEN,
963
- useValue: config.items,
964
- },
965
- ];
966
- }
967
- return moduleWithProvider;
968
- }
969
- static forChild(menu) {
970
- return {
971
- ngModule: SideMenuModule,
972
- providers: [
973
- {
974
- provide: MENU_TOKEN,
975
- useValue: menu,
976
- },
977
- ],
978
- };
979
- }
980
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideMenuModule, deps: [{ token: i1$3.SideMenuProviderService }], target: i0.ɵɵFactoryTarget.NgModule }); }
981
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: SideMenuModule, imports: [SideMenuComponent], exports: [SideMenuComponent] }); }
982
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideMenuModule, providers: [
983
- SideMenuProviderService,
984
- {
985
- provide: SIDE_MENU_COMPONENT_TOKEN,
986
- useExisting: SideMenuComponent,
987
- },
988
- {
989
- provide: SIDE_MENU_STATE_TOKEN,
990
- useValue: localStorage.getItem('SideMenuStateToken') ?? {
991
- expanded: [],
992
- minimalized: false,
993
- },
994
- },
995
- ], imports: [SideMenuComponent] }); }
996
- }
997
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SideMenuModule, decorators: [{
998
- type: NgModule,
999
- args: [{
1000
- imports: [SideMenuComponent],
1001
- exports: [SideMenuComponent],
1002
- providers: [
1003
- SideMenuProviderService,
1004
- {
1005
- provide: SIDE_MENU_COMPONENT_TOKEN,
1006
- useExisting: SideMenuComponent,
1007
- },
1008
- {
1009
- provide: SIDE_MENU_STATE_TOKEN,
1010
- useValue: localStorage.getItem('SideMenuStateToken') ?? {
1011
- expanded: [],
1012
- minimalized: false,
1013
- },
1014
- },
1015
- ],
1016
- }]
1017
- }], ctorParameters: () => [{ type: i1$3.SideMenuProviderService }] });
1018
-
1019
- class TableFilterPipe {
1020
- transform(value) {
1021
- if (value == undefined) {
1022
- return undefined;
1023
- }
1024
- return Object.entries(value)
1025
- .filter((x) => x[0] != undefined)
1026
- .reduce((currentFilter, [key, value]) => {
1027
- const filterValue = this.convertToFilterMetadata(value);
1028
- if (filterValue) {
1029
- if (key === 'searchField') {
1030
- key = 'global';
1031
- }
1032
- currentFilter[key] = filterValue;
1033
- }
1034
- return currentFilter;
1035
- }, {});
1036
- }
1037
- convertToFilterMetadata(value) {
1038
- if (value == undefined) {
1039
- return undefined;
1040
- }
1041
- if (typeof value == 'string') {
1042
- return {
1043
- matchMode: 'contains',
1044
- value: value,
1045
- };
1046
- }
1047
- if (Array.isArray(value)) {
1048
- return value.map((x) => this.convertToFilterMetadata(x));
1049
- }
1050
- return {
1051
- matchMode: 'equals',
1052
- value: value,
1053
- };
1054
- }
1055
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TableFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
1056
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TableFilterPipe, isStandalone: true, name: "primengFilter" }); }
1057
- }
1058
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TableFilterPipe, decorators: [{
1059
- type: Pipe,
1060
- args: [{
1061
- name: 'primengFilter',
1062
- standalone: true,
1063
- }]
1064
- }] });
1065
-
1066
- function convertToFilter(value) {
1067
- if (value == undefined) {
1068
- return undefined;
1069
- }
1070
- const filter = {};
1071
- Object.keys(value).map((key) => {
1072
- const filterValue = value[key];
1073
- if (filterValue != undefined && typeof filterValue === 'object') {
1074
- filter[key] = filterValue.value;
1075
- }
1076
- else {
1077
- filter[key] = filterValue;
1078
- }
1079
- });
1080
- return filter;
1081
- }
1082
-
1083
- class TableComponent {
1084
- constructor() {
1085
- this.total = 0;
1086
- this.scrollable = true;
1087
- this.pageSize = DEFAULT_SEARCH_LIMIT;
1088
- this.showPaginator = true;
1089
- this.sortMultiple = false;
1090
- this.lazy = false;
1091
- this.showPageSizePicker = true;
1092
- this.maximumColumnLength = 0;
1093
- this.disableCustomClicks = false;
1094
- this.selection = [];
1095
- this.pageSizeChange = new EventEmitter();
1096
- this.selectionChange = new EventEmitter();
1097
- this.pageChange = new EventEmitter();
1098
- this.sortChange = new EventEmitter();
1099
- this.lazyLoad = new EventEmitter();
1100
- this.cdRef = inject(ChangeDetectorRef);
1101
- this.tableColumns = [];
1102
- this.tableRows = [];
1103
- this.expandedRows = {};
1104
- this.router = inject(Router);
1105
- this.route = inject(ActivatedRoute);
1106
- this.icons = Icons;
1107
- }
1108
- set columns(value) {
1109
- this._columns = value;
1110
- this.tableColumns = (value ?? []).map((x) => new ColumnModel(x));
1111
- }
1112
- get columns() {
1113
- return this._columns;
1114
- }
1115
- ngOnChanges(changes) {
1116
- if (changes['data']) {
1117
- this.updateRowModels();
1118
- }
1119
- if (changes['selection'] || changes['data']) {
1120
- this.tableSelection = this.selection
1121
- ? this.tableRows.filter((x) => this.selection.includes(x.row))
1122
- : undefined;
1123
- }
1124
- if (changes['filter'] && !changes['filter'].isFirstChange()) {
1125
- this.globalFilterFields = this.columns.filter(x => x.id).map(x => 'row.' + x.id);
1126
- setTimeout(() => {
1127
- this.table?._filter();
1128
- }, 0);
1129
- }
1130
- }
1131
- ngAfterViewInit() {
1132
- if (this.viewColumns?.length) {
1133
- const templateColumnModel = this.viewColumns
1134
- .toArray()
1135
- .map((provider) => new ColumnModel(provider.getDefinition()));
1136
- this.tableColumns = [...this.tableColumns, ...templateColumnModel];
1137
- }
1138
- this.expansionTemplate = {
1139
- template: this.rowDetailTemplate,
1140
- };
1141
- this.cdRef.detectChanges();
1142
- }
1143
- updateRowModels() {
1144
- this.tableRows = (this.data ?? []).map((x) => new RowModel(x, false, false));
1145
- }
1146
- pageChanged(page) {
1147
- this.pageChange.emit(page);
1148
- }
1149
- pageSizeChanged(pageSize) {
1150
- this.pageSizeChange.emit(pageSize);
1151
- this.pageSize = pageSize;
1152
- }
1153
- sortChanged(event) {
1154
- let eventEmiterArg;
1155
- if (event.field) {
1156
- const singleEvent = event;
1157
- eventEmiterArg = this.getSorts([singleEvent]);
1158
- this.sortMeta = undefined;
1159
- this.sortSignleColumn = singleEvent;
1160
- }
1161
- else {
1162
- const multiEvent = event;
1163
- eventEmiterArg = this.getSorts(multiEvent.multisortmeta);
1164
- this.sortMeta = multiEvent.multisortmeta;
1165
- this.sortSignleColumn = undefined;
1166
- }
1167
- this.sortChange.emit(eventEmiterArg);
1168
- }
1169
- selectionChanged(event) {
1170
- this.tableSelection = event;
1171
- if (this.selectionMode) {
1172
- const eventArgArray = Array.isArray(event) ? event : [event];
1173
- const selection = event ? eventArgArray.map((x) => x.row) : [];
1174
- this.selectionChange.emit(selection);
1175
- }
1176
- }
1177
- fireLazyLoad(event) {
1178
- if (this.lazy) {
1179
- const sort = this.sortSignleColumn
1180
- ? this.getSorts([this.sortSignleColumn])
1181
- : this.sortMeta
1182
- ? this.getSorts(this.sortMeta)
1183
- : undefined;
1184
- const lazyLoadEvent = {
1185
- sort,
1186
- offset: event.first ?? 0,
1187
- limit: event.rows ?? this.pageSize,
1188
- filter: convertToFilter(event.filters),
1189
- };
1190
- this.lazyLoad.emit(lazyLoadEvent);
1191
- }
1192
- }
1193
- removePrefix(input, prefix) {
1194
- return input.startsWith(prefix) ? input.slice(prefix.length) : input;
1195
- }
1196
- convertToSortDirection(value) {
1197
- return value === 1 ? SortDirection.asc : SortDirection.desc;
1198
- }
1199
- getSorts(value) {
1200
- return value
1201
- ? value.map((x) => ({
1202
- field: this.removePrefix(x.field, 'row.'),
1203
- direction: this.convertToSortDirection(x.order),
1204
- }))
1205
- : undefined;
1206
- }
1207
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1208
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TableComponent, isStandalone: true, selector: "v-table", inputs: { data: "data", total: "total", filter: "filter", loading: "loading", scrollable: "scrollable", pageSize: "pageSize", currentPage: "currentPage", showPaginator: "showPaginator", sortMultiple: "sortMultiple", lazy: "lazy", selectionMode: "selectionMode", showPageSizePicker: "showPageSizePicker", entityKey: "entityKey", maximumColumnLength: "maximumColumnLength", disableCustomClicks: "disableCustomClicks", columns: "columns", selection: "selection" }, outputs: { pageSizeChange: "pageSizeChange", selectionChange: "selectionChange", pageChange: "pageChange", sortChange: "sortChange", lazyLoad: "lazyLoad" }, providers: [
1209
- {
1210
- provide: TABLE_COMPONENT_TOKEN,
1211
- useExisting: TableComponent,
1212
- },
1213
- ], queries: [{ propertyName: "rowDetailTemplate", first: true, predicate: ["rowDetail"], descendants: true }, { propertyName: "viewColumns", predicate: TABLE_COLUMN_PROVIDER }], viewQueries: [{ propertyName: "table", first: true, predicate: ["table"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"v-table\">\r\n <p-table\r\n #table\r\n class=\"v-table\"\r\n [value]=\"tableRows\"\r\n [filters]=\"filter | primengFilter\"\r\n [paginator]=\"showPaginator\"\r\n [rows]=\"pageSize\"\r\n [totalRecords]=\"total\"\r\n [loading]=\"loading\"\r\n [lazy]=\"lazy\"\r\n dataKey=\"id\"\r\n [scrollable]=\"scrollable\"\r\n [sortMode]=\"sortMultiple ? 'multiple' : 'single'\"\r\n [scrollHeight]=\"'flex'\"\r\n [selectionMode]=\"selectionMode\"\r\n [selection]=\"tableSelection\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [expandedRowKeys]=\"expandedRows\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} entries\"\r\n [customSort]=\"lazy\"\r\n [multiSortMeta]=\"sortMeta\"\r\n [resizableColumns]=\"true\"\r\n columnResizeMode=\"expand\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n (onPage)=\"pageChanged($event)\"\r\n (onSort)=\"sortChanged($event)\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n (onLazyLoad)=\"fireLazyLoad($event)\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n @if (selectionMode === 'multiple') {\r\n <th>\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n } @for (column of tableColumns; track column; let index = $index) {\r\n <th\r\n *ngIf=\"column.sortable\"\r\n pResizableColumn\r\n [pSortableColumn]=\"'row.' + column.id\"\r\n [style.width]=\"column.width\"\r\n >\r\n {{ column.headerGetter(column.id, index) }}\r\n <p-sortIcon [field]=\"'row.' + column.id\"></p-sortIcon>\r\n </th>\r\n <th\r\n *ngIf=\"!column.sortable\"\r\n pResizableColumn\r\n [class.v-auto-cell]=\"column.template\"\r\n [style.width]=\"column.width\"\r\n >\r\n {{ column.headerGetter(column.id, index) }}\r\n </th>\r\n } @if (rowDetailTemplate){\r\n <th></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-row let-expanded=\"expanded\">\r\n <tr\r\n [pSelectableRow]=\"row\"\r\n [pSelectableRowDisabled]=\"selectionMode !== 'single'\"\r\n (dblclick)=\"\r\n router.navigate(['./' + row.row[entityKey ?? 'id']], {\r\n relativeTo: route\r\n })\r\n \"\r\n >\r\n @if (selectionMode === 'multiple'){\r\n <td>\r\n <p-tableCheckbox [value]=\"row\"></p-tableCheckbox>\r\n </td>\r\n }\r\n <td\r\n *ngFor=\"let cd of tableColumns; let index = index\"\r\n [class]=\"cd.columnClass!\"\r\n [class.v-auto-cell]=\"cd.template\"\r\n >\r\n <ng-container *ngIf=\"cd.template\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cd.template; context: { $implicit: row.row }\"\r\n ></ng-container>\r\n </ng-container>\r\n <span\r\n *ngIf=\"!row.template\"\r\n [queryParams]=\"cd.queryParams ? cd.queryParams : undefined\"\r\n [routerLink]=\"cd.routerLink ? cd.routerLink(row.row) : undefined\"\r\n [innerHTML]=\"cd.valueGetter(row.row, index)\"\r\n ></span>\r\n </td>\r\n @if (rowDetailTemplate){\r\n <td>\r\n <p-button\r\n type=\"button\"\r\n pRipple\r\n severity=\"primary\"\r\n [pRowToggler]=\"row\"\r\n [text]=\"true\"\r\n [rounded]=\"true\"\r\n [plain]=\"true\"\r\n [icon]=\"expanded ? icons.chevronDown : icons.chevronRight\"\r\n />\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-row>\r\n <tr>\r\n <td [attr.colspan]=\"tableColumns.length + 1\">\r\n <ng-container\r\n class=\"w-100\"\r\n *ngTemplateOutlet=\"\r\n expansionTemplate.template;\r\n context: { $implicit: row.row }\r\n \"\r\n ></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n", styles: [".v-auto-cell{width:1%;white-space:nowrap}.v-table{display:flex;flex-direction:column;height:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i2$6.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1$5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2$6.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i2$6.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i2$6.RowToggler, selector: "[pRowToggler]", inputs: ["pRowToggler", "pRowTogglerDisabled"] }, { kind: "directive", type: i2$6.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: i2$6.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2$6.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i2$6.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i6.Ripple, selector: "[pRipple]" }, { kind: "pipe", type: TableFilterPipe, name: "primengFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1214
- }
1215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TableComponent, decorators: [{
1216
- type: Component,
1217
- args: [{ selector: 'v-table', standalone: true, imports: [
1218
- CommonModule,
1219
- TableModule,
1220
- RouterModule,
1221
- ButtonModule,
1222
- RippleModule,
1223
- TableFilterPipe,
1224
- ], providers: [
1225
- {
1226
- provide: TABLE_COMPONENT_TOKEN,
1227
- useExisting: TableComponent,
1228
- },
1229
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"v-table\">\r\n <p-table\r\n #table\r\n class=\"v-table\"\r\n [value]=\"tableRows\"\r\n [filters]=\"filter | primengFilter\"\r\n [paginator]=\"showPaginator\"\r\n [rows]=\"pageSize\"\r\n [totalRecords]=\"total\"\r\n [loading]=\"loading\"\r\n [lazy]=\"lazy\"\r\n dataKey=\"id\"\r\n [scrollable]=\"scrollable\"\r\n [sortMode]=\"sortMultiple ? 'multiple' : 'single'\"\r\n [scrollHeight]=\"'flex'\"\r\n [selectionMode]=\"selectionMode\"\r\n [selection]=\"tableSelection\"\r\n [rowsPerPageOptions]=\"[10, 25, 50, 100]\"\r\n [expandedRowKeys]=\"expandedRows\"\r\n [showCurrentPageReport]=\"true\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} entries\"\r\n [customSort]=\"lazy\"\r\n [multiSortMeta]=\"sortMeta\"\r\n [resizableColumns]=\"true\"\r\n columnResizeMode=\"expand\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n (onPage)=\"pageChanged($event)\"\r\n (onSort)=\"sortChanged($event)\"\r\n (selectionChange)=\"selectionChanged($event)\"\r\n (onLazyLoad)=\"fireLazyLoad($event)\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n @if (selectionMode === 'multiple') {\r\n <th>\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n } @for (column of tableColumns; track column; let index = $index) {\r\n <th\r\n *ngIf=\"column.sortable\"\r\n pResizableColumn\r\n [pSortableColumn]=\"'row.' + column.id\"\r\n [style.width]=\"column.width\"\r\n >\r\n {{ column.headerGetter(column.id, index) }}\r\n <p-sortIcon [field]=\"'row.' + column.id\"></p-sortIcon>\r\n </th>\r\n <th\r\n *ngIf=\"!column.sortable\"\r\n pResizableColumn\r\n [class.v-auto-cell]=\"column.template\"\r\n [style.width]=\"column.width\"\r\n >\r\n {{ column.headerGetter(column.id, index) }}\r\n </th>\r\n } @if (rowDetailTemplate){\r\n <th></th>\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-row let-expanded=\"expanded\">\r\n <tr\r\n [pSelectableRow]=\"row\"\r\n [pSelectableRowDisabled]=\"selectionMode !== 'single'\"\r\n (dblclick)=\"\r\n router.navigate(['./' + row.row[entityKey ?? 'id']], {\r\n relativeTo: route\r\n })\r\n \"\r\n >\r\n @if (selectionMode === 'multiple'){\r\n <td>\r\n <p-tableCheckbox [value]=\"row\"></p-tableCheckbox>\r\n </td>\r\n }\r\n <td\r\n *ngFor=\"let cd of tableColumns; let index = index\"\r\n [class]=\"cd.columnClass!\"\r\n [class.v-auto-cell]=\"cd.template\"\r\n >\r\n <ng-container *ngIf=\"cd.template\">\r\n <ng-container\r\n *ngTemplateOutlet=\"cd.template; context: { $implicit: row.row }\"\r\n ></ng-container>\r\n </ng-container>\r\n <span\r\n *ngIf=\"!row.template\"\r\n [queryParams]=\"cd.queryParams ? cd.queryParams : undefined\"\r\n [routerLink]=\"cd.routerLink ? cd.routerLink(row.row) : undefined\"\r\n [innerHTML]=\"cd.valueGetter(row.row, index)\"\r\n ></span>\r\n </td>\r\n @if (rowDetailTemplate){\r\n <td>\r\n <p-button\r\n type=\"button\"\r\n pRipple\r\n severity=\"primary\"\r\n [pRowToggler]=\"row\"\r\n [text]=\"true\"\r\n [rounded]=\"true\"\r\n [plain]=\"true\"\r\n [icon]=\"expanded ? icons.chevronDown : icons.chevronRight\"\r\n />\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"rowexpansion\" let-row>\r\n <tr>\r\n <td [attr.colspan]=\"tableColumns.length + 1\">\r\n <ng-container\r\n class=\"w-100\"\r\n *ngTemplateOutlet=\"\r\n expansionTemplate.template;\r\n context: { $implicit: row.row }\r\n \"\r\n ></ng-container>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n", styles: [".v-auto-cell{width:1%;white-space:nowrap}.v-table{display:flex;flex-direction:column;height:100%}\n"] }]
1230
- }], propDecorators: { viewColumns: [{
1231
- type: ContentChildren,
1232
- args: [TABLE_COLUMN_PROVIDER]
1233
- }], table: [{
1234
- type: ViewChild,
1235
- args: ['table']
1236
- }], rowDetailTemplate: [{
1237
- type: ContentChild,
1238
- args: ['rowDetail', { static: false }]
1239
- }], data: [{
1240
- type: Input
1241
- }], total: [{
1242
- type: Input
1243
- }], filter: [{
1244
- type: Input
1245
- }], loading: [{
1246
- type: Input
1247
- }], scrollable: [{
1248
- type: Input
1249
- }], pageSize: [{
1250
- type: Input
1251
- }], currentPage: [{
1252
- type: Input
1253
- }], showPaginator: [{
1254
- type: Input
1255
- }], sortMultiple: [{
1256
- type: Input
1257
- }], lazy: [{
1258
- type: Input
1259
- }], selectionMode: [{
1260
- type: Input
1261
- }], showPageSizePicker: [{
1262
- type: Input
1263
- }], entityKey: [{
1264
- type: Input
1265
- }], maximumColumnLength: [{
1266
- type: Input
1267
- }], disableCustomClicks: [{
1268
- type: Input
1269
- }], columns: [{
1270
- type: Input
1271
- }], selection: [{
1272
- type: Input
1273
- }], pageSizeChange: [{
1274
- type: Output
1275
- }], selectionChange: [{
1276
- type: Output
1277
- }], pageChange: [{
1278
- type: Output
1279
- }], sortChange: [{
1280
- type: Output
1281
- }], lazyLoad: [{
1282
- type: Output
1283
- }] } });
1284
-
1285
- class ActionButtonComponent {
1286
- constructor() {
1287
- this.disabled = false;
1288
- this.outlined = false;
1289
- this.raised = false;
1290
- // eslint-disable-next-line @angular-eslint/no-output-native
1291
- this.click = new EventEmitter();
1292
- this.icons = Icons;
1293
- this.propertyChangeSubject = new Subject();
1294
- this.propertyChanged = this.propertyChangeSubject.asObservable();
1295
- this.buttonGroup = inject(ACTION_BUTTON_GROUP_COMPONENT_TOKEN, {
1296
- optional: true,
1297
- });
1298
- }
1299
- ngOnChanges(changes) {
1300
- const isValueChange = Object.keys(changes).some((x) => !changes[x].firstChange);
1301
- if (isValueChange) {
1302
- this.propertyChangeSubject.next(null);
1303
- }
1304
- }
1305
- handleClick(event) {
1306
- event.stopPropagation();
1307
- this.click.emit(event);
1308
- }
1309
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1310
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: ActionButtonComponent, isStandalone: true, selector: "v-action-button", inputs: { disabled: "disabled", toolTip: "toolTip", id: "id", icon: "icon", outlined: "outlined", raised: "raised", severity: "severity", label: "label", size: "size" }, outputs: { click: "click" }, usesOnChanges: true, ngImport: i0, template: "<v-button\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"icon\"\r\n [pTooltip]=\"toolTip\"\r\n [outlined]=\"outlined\"\r\n tooltipPosition=\"bottom\"\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n (click)=\"handleClick($event)\"\r\n></v-button>\r\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1311
- }
1312
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonComponent, decorators: [{
1313
- type: Component,
1314
- args: [{ selector: 'v-action-button', standalone: true, imports: [ButtonComponent, TooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<v-button\r\n [label]=\"label\"\r\n [disabled]=\"disabled\"\r\n [icon]=\"icon\"\r\n [pTooltip]=\"toolTip\"\r\n [outlined]=\"outlined\"\r\n tooltipPosition=\"bottom\"\r\n [size]=\"size\"\r\n [severity]=\"severity\"\r\n (click)=\"handleClick($event)\"\r\n></v-button>\r\n" }]
1315
- }], propDecorators: { disabled: [{
1316
- type: Input
1317
- }], toolTip: [{
1318
- type: Input
1319
- }], id: [{
1320
- type: Input
1321
- }], icon: [{
1322
- type: Input
1323
- }], outlined: [{
1324
- type: Input
1325
- }], raised: [{
1326
- type: Input
1327
- }], severity: [{
1328
- type: Input
1329
- }], label: [{
1330
- type: Input
1331
- }], size: [{
1332
- type: Input
1333
- }], click: [{
1334
- type: Output
1335
- }] } });
1336
-
1337
- class ActionButtonGroupComponent extends UnsubscribeComponent {
1338
- constructor(changeDetectorRef, screenSizeService) {
1339
- super();
1340
- this.changeDetectorRef = changeDetectorRef;
1341
- this.screenSizeService = screenSizeService;
1342
- this.maxItems = 3;
1343
- this.maxItemsMobile = 0;
1344
- this.items = [];
1345
- this.menuIconPos = 'right';
1346
- this.menuIcon = Icons.action;
1347
- this.icons = Icons;
1348
- this.allItems = [];
1349
- this.visibleActions = [];
1350
- this.menuItems = [];
1351
- }
1352
- ngAfterContentInit() {
1353
- this.subscribeItemChange();
1354
- }
1355
- fireClick(item, event) {
1356
- event.stopPropagation();
1357
- item.click.emit();
1358
- }
1359
- subscribeItemChange() {
1360
- const screenResize$ = this.screenSizeService.isMobileBlock;
1361
- const actions$ = queryListChanged(this.actions);
1362
- screenResize$
1363
- .pipe(takeUntil(this.destroyed$), combineLatestWith(actions$))
1364
- .subscribe(([isMobile, actions]) => {
1365
- this.computeItems(actions, isMobile);
1366
- });
1367
- }
1368
- computeItems(actions, isMobile) {
1369
- const allItems = [...(this.items ?? []), ...actions];
1370
- const maxItems = isMobile ? this.maxItemsMobile : this.maxItems;
1371
- this.visibleActions = allItems.slice(0, maxItems);
1372
- this.menuItems = allItems.slice(maxItems).map(this.convertToMenuItem);
1373
- this.changeDetectorRef.detectChanges();
1374
- }
1375
- convertToMenuItem(item) {
1376
- return {
1377
- label: item.label,
1378
- icon: item.icon,
1379
- command: () => {
1380
- item.click.emit();
1381
- },
1382
- };
1383
- }
1384
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonGroupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$3.ScreenSizeService }], target: i0.ɵɵFactoryTarget.Component }); }
1385
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ActionButtonGroupComponent, isStandalone: true, selector: "v-action-button-group", inputs: { maxItems: "maxItems", maxItemsMobile: "maxItemsMobile", items: "items", menuIconPos: "menuIconPos", menuIcon: "menuIcon", label: "label", icon: "icon" }, providers: [
1386
- {
1387
- provide: ACTION_BUTTON_GROUP_COMPONENT_TOKEN,
1388
- useExisting: ActionButtonGroupComponent,
1389
- },
1390
- ], queries: [{ propertyName: "actions", predicate: ActionButtonComponent }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\r\n>\r\n <div class=\"v-action-button-group__actions d-flex gap-2\">\r\n @for (action of visibleActions; track action) {\r\n <v-action-button\r\n [disabled]=\"action.disabled\"\r\n [icon]=\"action.icon\"\r\n [id]=\"action.id\"\r\n [outlined]=\"action.outlined\"\r\n [raised]=\"action.raised\"\r\n [toolTip]=\"action.toolTip || action.label\"\r\n [severity]=\"action.severity\"\r\n [size]=\"action.size\"\r\n (click)=\"fireClick(action, $event)\"\r\n ></v-action-button>\r\n } @if (actions.length > visibleActions.length) {\r\n <v-button\r\n (click)=\"menu.toggle($event)\"\r\n [label]=\"label\"\r\n [iconPos]=\"menuIconPos\"\r\n [icon]=\"menuIcon\"\r\n />\r\n }\r\n </div>\r\n</div>\r\n<p-menu #menu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" />\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MenuModule }, { kind: "component", type: i2$7.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "component", type: ActionButtonComponent, selector: "v-action-button", inputs: ["disabled", "toolTip", "id", "icon", "outlined", "raised", "severity", "label", "size"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1391
- }
1392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActionButtonGroupComponent, decorators: [{
1393
- type: Component,
1394
- args: [{ selector: 'v-action-button-group', standalone: true, imports: [MenuModule, ButtonComponent, ActionButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1395
- {
1396
- provide: ACTION_BUTTON_GROUP_COMPONENT_TOKEN,
1397
- useExisting: ActionButtonGroupComponent,
1398
- },
1399
- ], template: "<div\r\n class=\"v-action-button-group align-items-center justify-content-center justify-content-md-end\"\r\n>\r\n <div class=\"v-action-button-group__actions d-flex gap-2\">\r\n @for (action of visibleActions; track action) {\r\n <v-action-button\r\n [disabled]=\"action.disabled\"\r\n [icon]=\"action.icon\"\r\n [id]=\"action.id\"\r\n [outlined]=\"action.outlined\"\r\n [raised]=\"action.raised\"\r\n [toolTip]=\"action.toolTip || action.label\"\r\n [severity]=\"action.severity\"\r\n [size]=\"action.size\"\r\n (click)=\"fireClick(action, $event)\"\r\n ></v-action-button>\r\n } @if (actions.length > visibleActions.length) {\r\n <v-button\r\n (click)=\"menu.toggle($event)\"\r\n [label]=\"label\"\r\n [iconPos]=\"menuIconPos\"\r\n [icon]=\"menuIcon\"\r\n />\r\n }\r\n </div>\r\n</div>\r\n<p-menu #menu [model]=\"menuItems\" [popup]=\"true\" appendTo=\"body\" />\r\n" }]
1400
- }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$3.ScreenSizeService }], propDecorators: { actions: [{
1401
- type: ContentChildren,
1402
- args: [ActionButtonComponent]
1403
- }], maxItems: [{
1404
- type: Input
1405
- }], maxItemsMobile: [{
1406
- type: Input
1407
- }], items: [{
1408
- type: Input
1409
- }], menuIconPos: [{
1410
- type: Input
1411
- }], menuIcon: [{
1412
- type: Input
1413
- }], label: [{
1414
- type: Input
1415
- }], icon: [{
1416
- type: Input
1417
- }] } });
1418
-
1419
- class DropdownComponent extends BaseFormInputComponent {
1420
- constructor(ngControl) {
1421
- super(ngControl);
1422
- this.options = [];
1423
- this.editable = false;
1424
- this.loading = false;
1425
- this.lazy = false;
1426
- this.filter = true;
1427
- this.forceMinWidth = false;
1428
- this.showFilter = false;
1429
- this.localSearch = false;
1430
- this.showed = new EventEmitter();
1431
- this.cleared = new EventEmitter();
1432
- this.lazyLoad = new EventEmitter();
1433
- this.filtered = new EventEmitter();
1434
- this.destroy$ = new Subject();
1435
- this.virtualOptionSize = 37.5;
1436
- }
1437
- ngOnChanges(changes) {
1438
- if (changes['lazy'] || changes['loading']) {
1439
- this.virtualScrollOptions = this.lazy
1440
- ? {
1441
- showLoader: this.loading,
1442
- lazy: true,
1443
- onLazyLoad: this.onLazyLoad.bind(this),
1444
- }
1445
- : undefined;
1446
- }
1447
- }
1448
- ngOnDestroy() {
1449
- this.destroy$.next();
1450
- this.destroy$.complete();
1451
- }
1452
- onLazyLoad(event) {
1453
- this.lazyLoad.emit({
1454
- offset: event.first,
1455
- limit: event.last - event.first,
1456
- });
1457
- }
1458
- filterChange(event) {
1459
- this.filtered.emit({
1460
- filter: event.filter,
1461
- });
1462
- }
1463
- onDropdownShow() {
1464
- this.showed.emit();
1465
- }
1466
- onDropdownClear() {
1467
- this.cleared.emit();
1468
- }
1469
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DropdownComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
1470
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DropdownComponent, isStandalone: true, selector: "v-dropdown", inputs: { options: "options", optionLabel: "optionLabel", optionValue: "optionValue", dropdownIcon: "dropdownIcon", floatLabel: "floatLabel", editable: "editable", loading: "loading", lazy: "lazy", filter: "filter", forceMinWidth: "forceMinWidth", showFilter: "showFilter", localSearch: "localSearch" }, outputs: { showed: "showed", cleared: "cleared", lazyLoad: "lazyLoad", filtered: "filtered" }, providers: [
1471
- {
1472
- provide: BaseInputControls,
1473
- useExisting: forwardRef(() => DropdownComponent),
1474
- multi: true,
1475
- },
1476
- {
1477
- provide: DROPDOWN_COMPONENT_TOKEN,
1478
- useExisting: DropdownComponent,
1479
- },
1480
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"v-dropdown\">\r\n <ng-container *ngIf=\"label && !floatLabel\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-dropdown\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [filter]=\"filter\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ?? ''\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [editable]=\"editable\"\r\n [dataKey]=\"optionValue\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (onFilter)=\"filterChange($event)\"\r\n >\r\n </p-dropdown>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"!label && !floatLabel\">\r\n <p-dropdown\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [filter]=\"filter\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [editable]=\"editable\"\r\n [dataKey]=\"optionValue\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (onFilter)=\"filterChange($event)\"\r\n >\r\n </p-dropdown>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel && !label\">\r\n <p-floatLabel>\r\n <p-dropdown\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [filter]=\"filter\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [editable]=\"editable\"\r\n [dataKey]=\"optionValue\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (onFilter)=\"filterChange($event)\"\r\n (lazyLoad)=\"onLazyLoad($any($event))\"\r\n >\r\n </p-dropdown>\r\n <label [for]=\"inputId\">{{ floatLabel }}</label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>", styles: [".v-dropdown{justify-content:center;width:100%}.p-dropdown-items-wrapper,.p-scroller-viewport,.p-scroller{min-width:8rem!important;overflow-x:hidden;overflow-y:auto}.p-dropdown{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3$7.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "ngmodule", type: MessageModule }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i4$1.FloatLabel, selector: "p-floatLabel" }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1481
- }
1482
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DropdownComponent, decorators: [{
1483
- type: Component,
1484
- args: [{ selector: 'v-dropdown', standalone: true, imports: [
1485
- CommonModule,
1486
- ReactiveFormsModule,
1487
- DropdownModule,
1488
- TooltipModule,
1489
- FormFieldComponent,
1490
- MessageModule,
1491
- FloatLabelModule,
1492
- ErrorComponent
1493
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
1494
- {
1495
- provide: BaseInputControls,
1496
- useExisting: forwardRef(() => DropdownComponent),
1497
- multi: true,
1498
- },
1499
- {
1500
- provide: DROPDOWN_COMPONENT_TOKEN,
1501
- useExisting: DropdownComponent,
1502
- },
1503
- ], template: "<div class=\"v-dropdown\">\r\n <ng-container *ngIf=\"label && !floatLabel\">\r\n <v-form-field\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-dropdown\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [filter]=\"filter\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ?? ''\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [editable]=\"editable\"\r\n [dataKey]=\"optionValue\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (onFilter)=\"filterChange($event)\"\r\n >\r\n </p-dropdown>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"!label && !floatLabel\">\r\n <p-dropdown\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [filter]=\"filter\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [editable]=\"editable\"\r\n [dataKey]=\"optionValue\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (onFilter)=\"filterChange($event)\"\r\n >\r\n </p-dropdown>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel && !label\">\r\n <p-floatLabel>\r\n <p-dropdown\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [filter]=\"filter\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [editable]=\"editable\"\r\n [dataKey]=\"optionValue\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (onFilter)=\"filterChange($event)\"\r\n (lazyLoad)=\"onLazyLoad($any($event))\"\r\n >\r\n </p-dropdown>\r\n <label [for]=\"inputId\">{{ floatLabel }}</label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>", styles: [".v-dropdown{justify-content:center;width:100%}.p-dropdown-items-wrapper,.p-scroller-viewport,.p-scroller{min-width:8rem!important;overflow-x:hidden;overflow-y:auto}.p-dropdown{width:100%}\n"] }]
1504
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
1505
- type: Optional
1506
- }, {
1507
- type: Self
1508
- }] }], propDecorators: { options: [{
1509
- type: Input
1510
- }], optionLabel: [{
1511
- type: Input
1512
- }], optionValue: [{
1513
- type: Input
1514
- }], dropdownIcon: [{
1515
- type: Input
1516
- }], floatLabel: [{
1517
- type: Input
1518
- }], editable: [{
1519
- type: Input
1520
- }], loading: [{
1521
- type: Input
1522
- }], lazy: [{
1523
- type: Input
1524
- }], filter: [{
1525
- type: Input
1526
- }], forceMinWidth: [{
1527
- type: Input
1528
- }], showFilter: [{
1529
- type: Input
1530
- }], localSearch: [{
1531
- type: Input
1532
- }], showed: [{
1533
- type: Output
1534
- }], cleared: [{
1535
- type: Output
1536
- }], lazyLoad: [{
1537
- type: Output
1538
- }], filtered: [{
1539
- type: Output
1540
- }] } });
1541
-
1542
- class MultiselectComponent extends BaseFormInputComponent {
1543
- constructor(ngControl) {
1544
- super(ngControl);
1545
- this.options = [];
1546
- this.editable = true;
1547
- this.loading = false;
1548
- this.lazy = false;
1549
- this.filter = true;
1550
- this.size = FieldSize.medium;
1551
- this.changed = new EventEmitter();
1552
- this.showed = new EventEmitter();
1553
- this.cleared = new EventEmitter();
1554
- this.lazyLoad = new EventEmitter();
1555
- this.filtered = new EventEmitter();
1556
- this.virtualOptionSize = 37.5;
1557
- }
1558
- ngOnChanges(changes) {
1559
- if (changes['lazy'] || changes['loading']) {
1560
- this.virtualScrollOptions = this.lazy
1561
- ? {
1562
- showLoader: this.loading,
1563
- lazy: true,
1564
- onLazyLoad: this.onLazyLoad.bind(this),
1565
- }
1566
- : undefined;
1567
- }
1568
- }
1569
- onLazyLoad(event) {
1570
- this.lazyLoad.emit({
1571
- offset: event.first,
1572
- limit: event.last - event.first,
1573
- });
1574
- }
1575
- selectionChange(event) {
1576
- this.cleared.emit(event);
1577
- }
1578
- onDropdownShow() {
1579
- this.showed.emit();
1580
- }
1581
- onDropdownClear() {
1582
- this.cleared.emit();
1583
- }
1584
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MultiselectComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
1585
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: MultiselectComponent, isStandalone: true, selector: "v-multiselect", inputs: { options: "options", optionLabel: "optionLabel", optionValue: "optionValue", dropdownIcon: "dropdownIcon", floatLabel: "floatLabel", editable: "editable", loading: "loading", lazy: "lazy", filter: "filter", size: "size" }, outputs: { changed: "changed", showed: "showed", cleared: "cleared", lazyLoad: "lazyLoad", filtered: "filtered" }, providers: [
1586
- {
1587
- provide: BaseInputControls,
1588
- useExisting: forwardRef(() => MultiselectComponent),
1589
- multi: true,
1590
- },
1591
- {
1592
- provide: MULTISELECT_COMPONENT_TOKEN,
1593
- useExisting: MultiselectComponent,
1594
- },
1595
- ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"v-multiple-select\">\r\n <ng-container *ngIf=\"label && !floatLabel\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-multiSelect\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [title]=\"label\"\r\n display=\"chip\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [virtualScrollItemSize]=\"25\"\r\n [lazy]=\"true\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (changeEvent)=\"selectionChange($event)\"\r\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\r\n ></p-multiSelect>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel\">\r\n <p-floatLabel>\r\n <p-multiSelect\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [virtualScrollItemSize]=\"25\"\r\n [lazy]=\"true\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [inputId]=\"inputId\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (changeEvent)=\"selectionChange($event)\"\r\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\r\n ></p-multiSelect>\r\n\r\n <label [for]=\"inputId\">{{ floatLabel }}</label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FloatLabelModule }, { kind: "component", type: i4$1.FloatLabel, selector: "p-floatLabel" }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i4$3.MultiSelect, selector: "p-multiSelect", inputs: ["id", "ariaLabel", "style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "variant", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "defaultLabel", "placeholder", "options", "filterValue", "itemSize", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1596
- }
1597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: MultiselectComponent, decorators: [{
1598
- type: Component,
1599
- args: [{ selector: 'v-multiselect', standalone: true, imports: [
1600
- CommonModule,
1601
- ReactiveFormsModule,
1602
- FloatLabelModule,
1603
- MultiSelectModule,
1604
- ErrorComponent,
1605
- FormFieldComponent,
1606
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
1607
- {
1608
- provide: BaseInputControls,
1609
- useExisting: forwardRef(() => MultiselectComponent),
1610
- multi: true,
1611
- },
1612
- {
1613
- provide: MULTISELECT_COMPONENT_TOKEN,
1614
- useExisting: MultiselectComponent,
1615
- },
1616
- ], template: "<div class=\"v-multiple-select\">\r\n <ng-container *ngIf=\"label && !floatLabel\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-multiSelect\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [title]=\"label\"\r\n display=\"chip\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [virtualScrollItemSize]=\"25\"\r\n [lazy]=\"true\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (changeEvent)=\"selectionChange($event)\"\r\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\r\n ></p-multiSelect>\r\n </v-form-field>\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </ng-container>\r\n <ng-container *ngIf=\"floatLabel\">\r\n <p-floatLabel>\r\n <p-multiSelect\r\n [baseZIndex]=\"9999\"\r\n class=\"w-100\"\r\n appendTo=\"body\"\r\n [formControl]=\"formControl\"\r\n [title]=\"label\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [loading]=\"loading\"\r\n [placeholder]=\"placeholder ? placeholder : label\"\r\n [virtualScrollItemSize]=\"25\"\r\n [lazy]=\"true\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [inputId]=\"inputId\"\r\n [showClear]=\"formControl && clearable && !readonly\"\r\n [virtualScroll]=\"lazy\"\r\n [virtualScrollItemSize]=\"virtualOptionSize\"\r\n [virtualScrollOptions]=\"virtualScrollOptions\"\r\n (showEvent)=\"onDropdownShow()\"\r\n (clearEvent)=\"onDropdownClear()\"\r\n (changeEvent)=\"selectionChange($event)\"\r\n (lazyLoadEvent)=\"onLazyLoad($any($event))\"\r\n ></p-multiSelect>\r\n\r\n <label [for]=\"inputId\">{{ floatLabel }}</label>\r\n </p-floatLabel>\r\n </ng-container>\r\n</div>\r\n" }]
1617
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
1618
- type: Optional
1619
- }, {
1620
- type: Self
1621
- }] }], propDecorators: { options: [{
1622
- type: Input
1623
- }], optionLabel: [{
1624
- type: Input
1625
- }], optionValue: [{
1626
- type: Input
1627
- }], dropdownIcon: [{
1628
- type: Input
1629
- }], floatLabel: [{
1630
- type: Input
1631
- }], editable: [{
1632
- type: Input
1633
- }], loading: [{
1634
- type: Input
1635
- }], lazy: [{
1636
- type: Input
1637
- }], filter: [{
1638
- type: Input
1639
- }], size: [{
1640
- type: Input
1641
- }], changed: [{
1642
- type: Output
1643
- }], showed: [{
1644
- type: Output
1645
- }], cleared: [{
1646
- type: Output
1647
- }], lazyLoad: [{
1648
- type: Output
1649
- }], filtered: [{
1650
- type: Output
1651
- }] } });
1652
-
1653
- class GenericFieldComponent extends BaseFormInputComponent {
1654
- constructor() {
1655
- super(...arguments);
1656
- this.type = GenericFieldType.text;
1657
- this.size = FieldSize.medium;
1658
- this.loading = false;
1659
- this.lazy = false;
1660
- this.filter = true;
1661
- this.changed = new EventEmitter();
1662
- this.showed = new EventEmitter();
1663
- this.cleared = new EventEmitter();
1664
- this.lazyLoad = new EventEmitter();
1665
- this.filtered = new EventEmitter();
1666
- this.fieldTypes = GenericFieldType;
1667
- this.icons = Icons;
1668
- }
1669
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1670
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: GenericFieldComponent, isStandalone: true, selector: "v-generic-field", inputs: { type: "type", floatLabel: "floatLabel", optionLabel: "optionLabel", optionValue: "optionValue", options: "options", size: "size", loading: "loading", lazy: "lazy", filter: "filter", datasource: "datasource", filterField: "filterField", showFilter: "showFilter", localSearch: "localSearch" }, outputs: { changed: "changed", showed: "showed", cleared: "cleared", lazyLoad: "lazyLoad", filtered: "filtered" }, providers: [
1671
- {
1672
- provide: GENERIC_FIELD_COMPONENT_TOKEN,
1673
- useExisting: GenericFieldComponent,
1674
- },
1675
- ], usesInheritance: true, ngImport: i0, template: "@if (!type || type === fieldTypes.text) {\r\n<v-textfield\r\n [label]=\"label\"\r\n [floatLabel]=\"floatLabel === true\"\r\n [size]=\"size\"\r\n [formControl]=\"formControl\"\r\n/>\r\n} @else if (type === fieldTypes.dropdown && !datasource) {\r\n<v-dropdown\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [loading]=\"loading\"\r\n [forceMinWidth]=\"true\"\r\n [formControl]=\"formControl\"\r\n [showFilter]=\"showFilter ?? false\"\r\n [localSearch]=\"localSearch ?? false\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n/> \r\n} @else if (type === fieldTypes.dropdown && datasource) {\r\n <v-dropdown\r\n useDatasource\r\n [forceMinWidth]=\"true\"\r\n [datasource]=\"datasource\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [loading]=\"loading\"\r\n [formControl]=\"formControl\"\r\n [showFilter]=\"showFilter ?? false\"\r\n [filterField]=\"filterField ?? 'fulltext'\"\r\n [localSearch]=\"localSearch ?? false\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n />\r\n} @else if (type === fieldTypes.multiselect && !datasource) {\r\n<v-multiselect\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [loading]=\"loading\"\r\n [formControl]=\"formControl\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n/>\r\n} @else if (type === fieldTypes.multiselect && datasource) {\r\n<v-multiselect\r\n useDatasource\r\n [datasource]=\"datasource\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [loading]=\"loading\"\r\n [formControl]=\"formControl\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n/>\r\n} @else if (type === fieldTypes.checkbox) {\r\n<v-tristatecheckbox\r\n [label]=\"label\"\r\n [testId]=\"testId\"\r\n [formControl]=\"formControl\"\r\n/>\r\n} @else if (type === fieldTypes.simplecheckbox) {\r\n<v-checkbox\r\n [label]=\"label\"\r\n [testId]=\"testId\"\r\n [formControl]=\"formControl\"\r\n/>\r\n} @else if (type === fieldTypes.calendar) {\r\n<v-calendar\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [formControl]=\"formControl\"\r\n [icon]=\"icons.calendar\"\r\n/>\r\n}\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: DropdownComponent, selector: "v-dropdown", inputs: ["options", "optionLabel", "optionValue", "dropdownIcon", "floatLabel", "editable", "loading", "lazy", "filter", "forceMinWidth", "showFilter", "localSearch"], outputs: ["showed", "cleared", "lazyLoad", "filtered"] }, { kind: "component", type: CalendarComponent, selector: "v-calendar", inputs: ["maxDate", "icon", "minDate", "header", "footer", "floatLabel", "selectionMode"] }, { kind: "component", type: TristatecheckboxComponent, selector: "v-tristatecheckbox" }, { kind: "component", type: MultiselectComponent, selector: "v-multiselect", inputs: ["options", "optionLabel", "optionValue", "dropdownIcon", "floatLabel", "editable", "loading", "lazy", "filter", "size"], outputs: ["changed", "showed", "cleared", "lazyLoad", "filtered"] }, { kind: "component", type: TextfieldComponent, selector: "v-textfield", inputs: ["size", "type", "floatLabel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: CheckboxComponent, selector: "v-checkbox" }, { kind: "directive", type: DatasourceDirective, selector: "v-dropdown[useDatasource], v-multiselect[useDatasource], v-generic-field[useDatasource]", inputs: ["datasource", "autoBind", "loadingText", "filterField", "transformFn", "extraFilter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1676
- }
1677
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFieldComponent, decorators: [{
1678
- type: Component,
1679
- args: [{ selector: 'v-generic-field', standalone: true, imports: [
1680
- CommonModule,
1681
- DropdownComponent,
1682
- CalendarComponent,
1683
- TristatecheckboxComponent,
1684
- MultiselectComponent,
1685
- TextfieldComponent,
1686
- ReactiveFormsModule,
1687
- CheckboxComponent,
1688
- DatasourceDirective,
1689
- ], providers: [
1690
- {
1691
- provide: GENERIC_FIELD_COMPONENT_TOKEN,
1692
- useExisting: GenericFieldComponent,
1693
- },
1694
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!type || type === fieldTypes.text) {\r\n<v-textfield\r\n [label]=\"label\"\r\n [floatLabel]=\"floatLabel === true\"\r\n [size]=\"size\"\r\n [formControl]=\"formControl\"\r\n/>\r\n} @else if (type === fieldTypes.dropdown && !datasource) {\r\n<v-dropdown\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [loading]=\"loading\"\r\n [forceMinWidth]=\"true\"\r\n [formControl]=\"formControl\"\r\n [showFilter]=\"showFilter ?? false\"\r\n [localSearch]=\"localSearch ?? false\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n/> \r\n} @else if (type === fieldTypes.dropdown && datasource) {\r\n <v-dropdown\r\n useDatasource\r\n [forceMinWidth]=\"true\"\r\n [datasource]=\"datasource\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [loading]=\"loading\"\r\n [formControl]=\"formControl\"\r\n [showFilter]=\"showFilter ?? false\"\r\n [filterField]=\"filterField ?? 'fulltext'\"\r\n [localSearch]=\"localSearch ?? false\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n />\r\n} @else if (type === fieldTypes.multiselect && !datasource) {\r\n<v-multiselect\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [loading]=\"loading\"\r\n [formControl]=\"formControl\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n/>\r\n} @else if (type === fieldTypes.multiselect && datasource) {\r\n<v-multiselect\r\n useDatasource\r\n [datasource]=\"datasource\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue ?? optionLabel\"\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [loading]=\"loading\"\r\n [formControl]=\"formControl\"\r\n (changeEvent)=\"changed.emit($event)\"\r\n (clearEvent)=\"cleared.emit($event)\"\r\n (lazyLoadEvent)=\"lazyLoad.emit($any($event))\"\r\n (showEvent)=\"showed.emit($event)\"\r\n/>\r\n} @else if (type === fieldTypes.checkbox) {\r\n<v-tristatecheckbox\r\n [label]=\"label\"\r\n [testId]=\"testId\"\r\n [formControl]=\"formControl\"\r\n/>\r\n} @else if (type === fieldTypes.simplecheckbox) {\r\n<v-checkbox\r\n [label]=\"label\"\r\n [testId]=\"testId\"\r\n [formControl]=\"formControl\"\r\n/>\r\n} @else if (type === fieldTypes.calendar) {\r\n<v-calendar\r\n [label]=\"!floatLabel ? label : ''\"\r\n [floatLabel]=\"floatLabel ? label : ''\"\r\n [testId]=\"testId\"\r\n [formControl]=\"formControl\"\r\n [icon]=\"icons.calendar\"\r\n/>\r\n}\r\n" }]
1695
- }], propDecorators: { type: [{
1696
- type: Input
1697
- }], floatLabel: [{
1698
- type: Input
1699
- }], optionLabel: [{
1700
- type: Input
1701
- }], optionValue: [{
1702
- type: Input
1703
- }], options: [{
1704
- type: Input
1705
- }], size: [{
1706
- type: Input
1707
- }], loading: [{
1708
- type: Input
1709
- }], lazy: [{
1710
- type: Input
1711
- }], filter: [{
1712
- type: Input
1713
- }], datasource: [{
1714
- type: Input
1715
- }], filterField: [{
1716
- type: Input
1717
- }], showFilter: [{
1718
- type: Input
1719
- }], localSearch: [{
1720
- type: Input
1721
- }], changed: [{
1722
- type: Output
1723
- }], showed: [{
1724
- type: Output
1725
- }], cleared: [{
1726
- type: Output
1727
- }], lazyLoad: [{
1728
- type: Output
1729
- }], filtered: [{
1730
- type: Output
1731
- }] } });
1732
-
1733
- function generateFormGroup(fields, lastGroupValue, inputGroup, inputGroupChanged = false) {
1734
- const formGroup = (inputGroupChanged
1735
- ? inputGroup ?? lastGroupValue
1736
- : lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});
1737
- fields?.forEach((field) => {
1738
- const control = formGroup.get(field.name);
1739
- if (!control) {
1740
- formGroup.addControl(field.name, new UntypedFormControl(field.value, field.validator));
1741
- }
1742
- else if (control && control.value !== field.value) {
1743
- control.setValue(field.value);
1744
- control.setValidators(field.validator ?? null);
1745
- }
1746
- else {
1747
- control.setValidators(field.validator ?? null);
1748
- }
1749
- if (field.readonly && (control || formGroup.get(field.name))) {
1750
- formGroup.get(field.name)?.disable();
1751
- }
1752
- });
1753
- if (!inputGroupChanged) {
1754
- for (const field in formGroup.controls) {
1755
- const control = fields?.find((x) => x.name == field);
1756
- if (!control) {
1757
- formGroup.removeControl(field);
1758
- }
1759
- }
1760
- }
1761
- return formGroup;
1762
- }
1763
- function getColumnClass(value) {
1764
- if (!value) {
1765
- return undefined;
1766
- }
1767
- switch (value) {
1768
- case 1:
1769
- return 'col-12';
1770
- case 2:
1771
- return 'col-12 col-md-6';
1772
- case 3:
1773
- return 'col-12 col-md-4';
1774
- case 4:
1775
- return 'col-12 col-md-3';
1776
- case 6:
1777
- return 'col-12 col-md-2';
1778
- }
1779
- return 'col-12 col-md-1';
1780
- }
1781
-
1782
- class GenericFormComponent {
1783
- ngOnChanges(changes) {
1784
- if (changes['fields'] || changes['formGroup']) {
1785
- this.formGroupComputed = generateFormGroup(this.fields, this.formGroupComputed, this.formGroup, !!changes['formGroup']);
1786
- }
1787
- if (changes['columns']) {
1788
- this.columnClass = getColumnClass(this.columns);
1789
- }
1790
- }
1791
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1792
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: GenericFormComponent, isStandalone: true, selector: "v-generic-form", inputs: { formGroup: "formGroup", fields: "fields", columns: "columns", showAsRow: "showAsRow" }, usesOnChanges: true, ngImport: i0, template: "@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: GenericFieldComponent, selector: "v-generic-field", inputs: ["type", "floatLabel", "optionLabel", "optionValue", "options", "size", "loading", "lazy", "filter", "datasource", "filterField", "showFilter", "localSearch"], outputs: ["changed", "showed", "cleared", "lazyLoad", "filtered"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3$8.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1793
- }
1794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFormComponent, decorators: [{
1795
- type: Component,
1796
- args: [{ selector: 'v-generic-form', standalone: true, imports: [
1797
- CommonModule,
1798
- GenericFieldComponent,
1799
- ReactiveFormsModule,
1800
- TranslateModule,
1801
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (formGroupComputed) {\r\n <div\r\n class=\"v-generic-form\"\r\n [ngClass]=\"showAsRow ? 'd-flex flex-row' : 'row'\"\r\n [formGroup]=\"formGroupComputed\"\r\n >\r\n @for(field of fields; track field) { @if (columnClass) {\r\n <div class=\"v-generic-form__column {{ columnClass }}\">\r\n <v-generic-field\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n </div>\r\n } @else {\r\n <v-generic-field\r\n class=\"me-4\"\r\n [type]=\"field.type\"\r\n [label]=\"field.label ?? 'NOT SET' | translate\"\r\n [floatLabel]=\"field.floatLabel\"\r\n [testId]=\"field.testId\"\r\n [options]=\"field.options\"\r\n [optionLabel]=\"field.optionLabel\"\r\n [optionValue]=\"field.optionValue ?? field.optionLabel\"\r\n [options]=\"field.options\"\r\n [size]=\"field.size\"\r\n [formControlName]=\"field.name\"\r\n [datasource]=\"field.datasource\"\r\n [showFilter]=\"field.showFilter\"\r\n [filterField]=\"field.filterField\"\r\n [localSearch]=\"field.localSearch\"\r\n ></v-generic-field>\r\n } }\r\n </div>\r\n }\r\n" }]
1802
- }], propDecorators: { formGroup: [{
1803
- type: Input
1804
- }], fields: [{
1805
- type: Input
1806
- }], columns: [{
1807
- type: Input
1808
- }], showAsRow: [{
1809
- type: Input
1810
- }] } });
1811
-
1812
- class FilterFieldDirective {
1813
- constructor() {
1814
- this.type = GenericFieldType.text;
1815
- }
1816
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterFieldDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
1817
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: FilterFieldDirective, isStandalone: true, selector: "v-filter-field", inputs: { name: "name", type: "type", label: "label", optionLabel: "optionLabel", optionValue: "optionValue", options: "options", value: "value", validator: "validator", datasource: "datasource", filterField: "filterField", showFilter: "showFilter", localSearch: "localSearch" }, ngImport: i0 }); }
1818
- }
1819
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterFieldDirective, decorators: [{
1820
- type: Directive,
1821
- args: [{
1822
- // eslint-disable-next-line @angular-eslint/directive-selector
1823
- selector: 'v-filter-field',
1824
- standalone: true,
1825
- }]
1826
- }], propDecorators: { name: [{
1827
- type: Input,
1828
- args: [{ required: true }]
1829
- }], type: [{
1830
- type: Input
1831
- }], label: [{
1832
- type: Input
1833
- }], optionLabel: [{
1834
- type: Input
1835
- }], optionValue: [{
1836
- type: Input
1837
- }], options: [{
1838
- type: Input
1839
- }], value: [{
1840
- type: Input
1841
- }], validator: [{
1842
- type: Input
1843
- }], datasource: [{
1844
- type: Input
1845
- }], filterField: [{
1846
- type: Input
1847
- }], showFilter: [{
1848
- type: Input
1849
- }], localSearch: [{
1850
- type: Input
1851
- }] } });
1852
-
1853
- function getFilledControlCount(formGroup) {
1854
- let count = 0;
1855
- Object.keys(formGroup.controls).forEach((key) => {
1856
- const control = formGroup.get(key);
1857
- if (control?.value) {
1858
- if (typeof control.value === 'boolean') {
1859
- count++;
1860
- }
1861
- if (typeof control.value === 'string' && control.value.trim() !== '') {
1862
- count++;
1863
- }
1864
- }
1865
- });
1866
- return count;
1867
- }
1868
-
1869
- class FilterComponent extends UnsubscribeComponent {
1870
- constructor() {
1871
- super(...arguments);
1872
- this.fields = [];
1873
- this.filters = [];
1874
- this.fulltextFieldName = 'searchField';
1875
- this.showFulltext = true;
1876
- this.showFilters = true;
1877
- this.autoBind = true;
1878
- this.debounceTime = DEFAULT_DEBOUNCE_TIME;
1879
- this.icons = Icons;
1880
- this.searchField = {
1881
- name: this.fulltextFieldName,
1882
- };
1883
- this.inputFields$ = new BehaviorSubject([...this.fields ?? [], ...this.filters ?? []]);
1884
- this.FieldSize = FieldSize;
1885
- this.screenSizeService = inject(ScreenSizeService);
1886
- this.changeDetectorRef = inject(ChangeDetectorRef);
1887
- this.dialogService = inject(DialogService);
1888
- this.formGroup = new FormGroup({});
1889
- this.filledFiltersCount$ = this.formGroup.valueChanges.pipe(startWith(this.formGroup), map(() => getFilledControlCount(this.formGroup).toString()));
1890
- this.lastFormFields = [];
1891
- }
1892
- ngOnInit() {
1893
- this.formGroup.valueChanges
1894
- .pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime ?? DEFAULT_DEBOUNCE_TIME), map((x) => this.convertFilter(x)), distinctUntilChanged())
1895
- .subscribe((value) => this.onChange?.(value));
1896
- }
1897
- ngOnChanges(changes) {
1898
- if (changes['fields'] || changes['filters']) {
1899
- this.inputFields$.next([...this.fields ?? [], ...this.filters ?? []]);
1900
- }
1901
- }
1902
- ngAfterContentInit() {
1903
- const fieldDeclaratios$ = this.fieldDeclarations.changes.pipe(startWith({}), map(() => this.fieldDeclarations.toArray()));
1904
- this.fieldDefinitios$ = this.inputFields$.pipe(combineLatestWith(fieldDeclaratios$), map(([inputs, views]) => {
1905
- this.searchField.name = this.fulltextFieldName;
1906
- this.lastFormFields = [this.searchField, ...(inputs ?? []), ...views];
1907
- return this.lastFormFields;
1908
- }));
1909
- this.simpleFormFieldDefinitions$ = this.fieldDefinitios$.pipe(map((fields) => {
1910
- return fields
1911
- .filter((x) => x.name !== this.fulltextFieldName)
1912
- .map((x) => ({ ...x, floatLabel: true, size: FieldSize.large }));
1913
- }));
1914
- this.formGroup$ = this.fieldDefinitios$.pipe(map((fields) => generateFormGroup(fields, this.formGroup, undefined, false)));
1915
- this.changeDetectorRef.detectChanges();
1916
- }
1917
- openFilter() {
1918
- const fields = this.lastFormFields.map((x) => ({
1919
- ...x,
1920
- label: x.name === this.fulltextFieldName ? 'Fulltext' : x.label ?? x.name,
1921
- }));
1922
- const formGroup = generateFormGroup(this.lastFormFields, undefined, undefined, false);
1923
- formGroup.patchValue(this.formGroup.value);
1924
- this.dialogService.showDialog({
1925
- title: 'Set filters',
1926
- headerIcon: this.icons.filter,
1927
- severity: 'primary',
1928
- componentType: GenericFormComponent,
1929
- data: {
1930
- formGroup,
1931
- fields: fields,
1932
- columns: 1,
1933
- },
1934
- confirmButtonFn: () => this.setFilterValues(formGroup),
1935
- confirmButtonText: 'Apply',
1936
- cancelButtonFn: () => this.clear(),
1937
- cancelButtonText: 'Clear all',
1938
- showCancelButton: true,
1939
- closable: false,
1940
- });
1941
- }
1942
- openSearch() {
1943
- this.dialogService.showDialog({
1944
- headerIcon: 'pi pi-search',
1945
- severity: 'primary',
1946
- innerHTML: '<p>Search</p>',
1947
- confirmButtonFn: () => this.submitValue(),
1948
- confirmButtonText: 'Apply',
1949
- cancelButtonFn: () => this.clear(),
1950
- cancelButtonText: 'Clear all',
1951
- showCancelButton: true,
1952
- closable: false,
1953
- });
1954
- }
1955
- writeValue(data) {
1956
- this.formGroup.patchValue(data);
1957
- }
1958
- registerOnChange(fn) {
1959
- this.onChange = fn;
1960
- }
1961
- registerOnTouched(fn) {
1962
- this.onTouch = fn;
1963
- }
1964
- setDisabledState(isDisabled) {
1965
- isDisabled ? this.formGroup.disable() : this.formGroup.enable();
1966
- }
1967
- submitValue() {
1968
- if (!this.autoBind) {
1969
- this.onChange?.(this.formGroup.value);
1970
- }
1971
- }
1972
- setFilterValues(dialogFormGroup) {
1973
- this.formGroup.setValue(dialogFormGroup.value);
1974
- this.submitValue();
1975
- }
1976
- clear() {
1977
- this.formGroup.reset();
1978
- this.submitValue();
1979
- }
1980
- convertFilter(value) {
1981
- if (value == undefined) {
1982
- return undefined;
1983
- }
1984
- const isEmpty = isFilterEmpty(value);
1985
- if (isEmpty) {
1986
- return undefined;
1987
- }
1988
- return value;
1989
- }
1990
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1991
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: FilterComponent, isStandalone: true, selector: "v-filter", inputs: { fields: "fields", filters: "filters", title: "title", fulltextFieldName: "fulltextFieldName", showFulltext: "showFulltext", showFilters: "showFilters", autoBind: "autoBind", debounceTime: "debounceTime" }, providers: [
1992
- {
1993
- provide: NG_VALUE_ACCESSOR,
1994
- useExisting: forwardRef(() => FilterComponent),
1995
- multi: true,
1996
- },
1997
- {
1998
- provide: FILTER_COMPONENT_TOKEN,
1999
- useExisting: FilterComponent,
2000
- },
2001
- ], queries: [{ propertyName: "fieldDeclarations", predicate: FilterFieldDirective }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"v-filter w-100 p-3 bg-primary\">\r\n @if (formGroup$ | async; as formGroup){\r\n <form [formGroup]=\"formGroup\" class=\"d-flex align-items-center\">\r\n @if (title) {\r\n <div class=\"v-filter_title pe-4\">\r\n <h2 class=\"text-white m-0\">{{ title }}</h2>\r\n </div>\r\n }\r\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\r\n @if (showFulltext){\r\n <v-textfield\r\n class=\"d-none d-lg-block\"\r\n placeholder=\"Search\"\r\n size=\"large\"\r\n formControlName=\"searchField\"\r\n type=\"search\"\r\n [clearable]=\"true\"\r\n >\r\n </v-textfield>\r\n }\r\n </div>\r\n @if (simpleFormFieldDefinitions$ | async; as declaration){\r\n @if (showFilters)\r\n {\r\n <div class=\"v-filter_filters d-none d-sm-block me-2\">\r\n <v-generic-form\r\n [fields]=\"declaration\"\r\n [formGroup]=\"formGroup\"\r\n ></v-generic-form>\r\n <v-button label=\"X\" class=\"mt-3\" (click)=\"clear()\" />\r\n </div>\r\n }\r\n <div class=\"v-filter_action-buttons d-flex\">\r\n @if (declaration.length && !showFilters) {\r\n <v-button \r\n class=\"me-4\"\r\n [icon]=\"icons.filter\"\r\n [label]=\"$any(filledFiltersCount$ | async)\"\r\n (click)=\"openFilter()\"\r\n />\r\n } @if (!autoBind) {\r\n <v-button\r\n useShortCut\r\n [shortCutFn]=\"submitValue.bind(this)\"\r\n shortCutKey=\"Enter\"\r\n class=\"text-white mx-2\"\r\n [outlined]=\"true\"\r\n size=\"small\"\r\n label=\"Apply\"\r\n (click)=\"submitValue()\"\r\n ></v-button>\r\n <v-button\r\n useShortCut\r\n [shortCutFn]=\"clear.bind(this)\"\r\n shortCutKey=\"Escape\"\r\n class=\"text-white\"\r\n [outlined]=\"true\"\r\n size=\"small\"\r\n label=\"Clear\"\r\n (click)=\"clear()\"\r\n ></v-button>\r\n } \r\n </div>\r\n }\r\n <ng-content select=\"v-action-button-group\"></ng-content>\r\n </form>\r\n }\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: TextfieldComponent, selector: "v-textfield", inputs: ["size", "type", "floatLabel"] }, { kind: "component", type: GenericFormComponent, selector: "v-generic-form", inputs: ["formGroup", "fields", "columns", "showAsRow"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "directive", type: ButtonShortCutDirective, selector: "v-button[useShortCut]", inputs: ["shortCutFn", "shortCutKey"], exportAs: ["useShortCut"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2002
- }
2003
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterComponent, decorators: [{
2004
- type: Component,
2005
- args: [{ selector: 'v-filter', standalone: true, imports: [
2006
- AsyncPipe,
2007
- ReactiveFormsModule,
2008
- BadgeModule,
2009
- TextfieldComponent,
2010
- GenericFormComponent,
2011
- ButtonComponent,
2012
- ButtonShortCutDirective,
2013
- ], providers: [
2014
- {
2015
- provide: NG_VALUE_ACCESSOR,
2016
- useExisting: forwardRef(() => FilterComponent),
2017
- multi: true,
2018
- },
2019
- {
2020
- provide: FILTER_COMPONENT_TOKEN,
2021
- useExisting: FilterComponent,
2022
- },
2023
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"v-filter w-100 p-3 bg-primary\">\r\n @if (formGroup$ | async; as formGroup){\r\n <form [formGroup]=\"formGroup\" class=\"d-flex align-items-center\">\r\n @if (title) {\r\n <div class=\"v-filter_title pe-4\">\r\n <h2 class=\"text-white m-0\">{{ title }}</h2>\r\n </div>\r\n }\r\n <div class=\"v-filter__fulltext flex-grow-1 pe-4\">\r\n @if (showFulltext){\r\n <v-textfield\r\n class=\"d-none d-lg-block\"\r\n placeholder=\"Search\"\r\n size=\"large\"\r\n formControlName=\"searchField\"\r\n type=\"search\"\r\n [clearable]=\"true\"\r\n >\r\n </v-textfield>\r\n }\r\n </div>\r\n @if (simpleFormFieldDefinitions$ | async; as declaration){\r\n @if (showFilters)\r\n {\r\n <div class=\"v-filter_filters d-none d-sm-block me-2\">\r\n <v-generic-form\r\n [fields]=\"declaration\"\r\n [formGroup]=\"formGroup\"\r\n ></v-generic-form>\r\n <v-button label=\"X\" class=\"mt-3\" (click)=\"clear()\" />\r\n </div>\r\n }\r\n <div class=\"v-filter_action-buttons d-flex\">\r\n @if (declaration.length && !showFilters) {\r\n <v-button \r\n class=\"me-4\"\r\n [icon]=\"icons.filter\"\r\n [label]=\"$any(filledFiltersCount$ | async)\"\r\n (click)=\"openFilter()\"\r\n />\r\n } @if (!autoBind) {\r\n <v-button\r\n useShortCut\r\n [shortCutFn]=\"submitValue.bind(this)\"\r\n shortCutKey=\"Enter\"\r\n class=\"text-white mx-2\"\r\n [outlined]=\"true\"\r\n size=\"small\"\r\n label=\"Apply\"\r\n (click)=\"submitValue()\"\r\n ></v-button>\r\n <v-button\r\n useShortCut\r\n [shortCutFn]=\"clear.bind(this)\"\r\n shortCutKey=\"Escape\"\r\n class=\"text-white\"\r\n [outlined]=\"true\"\r\n size=\"small\"\r\n label=\"Clear\"\r\n (click)=\"clear()\"\r\n ></v-button>\r\n } \r\n </div>\r\n }\r\n <ng-content select=\"v-action-button-group\"></ng-content>\r\n </form>\r\n }\r\n</div>\r\n" }]
2024
- }], propDecorators: { fieldDeclarations: [{
2025
- type: ContentChildren,
2026
- args: [FilterFieldDirective]
2027
- }], fields: [{
2028
- type: Input
2029
- }], filters: [{
2030
- type: Input
2031
- }], title: [{
2032
- type: Input
2033
- }], fulltextFieldName: [{
2034
- type: Input
2035
- }], showFulltext: [{
2036
- type: Input
2037
- }], showFilters: [{
2038
- type: Input
2039
- }], autoBind: [{
2040
- type: Input
2041
- }], debounceTime: [{
2042
- type: Input
2043
- }] } });
2044
-
2045
- class FeatureListFilterFieldDirective extends FilterFieldDirective {
2046
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListFilterFieldDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
2047
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: FeatureListFilterFieldDirective, isStandalone: true, selector: "v-feature-list-filter-field", usesInheritance: true, ngImport: i0 }); }
2048
- }
2049
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListFilterFieldDirective, decorators: [{
2050
- type: Directive,
2051
- args: [{
2052
- // eslint-disable-next-line @angular-eslint/directive-selector
2053
- selector: 'v-feature-list-filter-field',
2054
- standalone: true,
2055
- }]
2056
- }] });
2057
-
2058
- class FeatureListFilterPipe {
2059
- transform(value) {
2060
- if (!value) {
2061
- return undefined;
2062
- }
2063
- return value.filter(x => x.filter).map((x, index) => ({
2064
- name: x.id,
2065
- label: typeof x.headerName === 'function' ? x.headerName(x.id, index) : x.headerName ?? '',
2066
- type: x.type,
2067
- }));
2068
- }
2069
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListFilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2070
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: FeatureListFilterPipe, isStandalone: true, name: "featureListColumn" }); }
2071
- }
2072
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListFilterPipe, decorators: [{
2073
- type: Pipe,
2074
- args: [{
2075
- name: 'featureListColumn',
2076
- standalone: true,
2077
- }]
2078
- }] });
2079
-
2080
- class FeatureListPageComponent {
2081
- constructor(activatedRoute) {
2082
- this.config =
2083
- activatedRoute.snapshot.data[FEATURE_LIST_PAGE_CONFIG_PROPERTY];
2084
- }
2085
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListPageComponent, deps: [{ token: i1$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
2086
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FeatureListPageComponent, isStandalone: true, selector: "v-feature-list-page", ngImport: i0, template: `
2087
- <v-feature-list
2088
- [title]="config.title"
2089
- [tableName]="config.tableName"
2090
- [showAdd]="config.showAdd ?? true"
2091
- [showDownload]="config.showDownload ?? true"
2092
- [showDelete]="config.showDelete ?? true"
2093
- >
2094
- </v-feature-list>
2095
- `, isInline: true, dependencies: [{ kind: "component", type: FeatureListComponent, selector: "v-feature-list", inputs: ["autoBind", "title", "columns", "filters", "maxVisibleActions", "tableName", "ngrxFeatureKey", "maxVisibleMobileActions", "showExtendedFilter", "showDownload", "showDelete", "showAdd", "canDownload", "canDelete", "canAdd", "useRouterFilter", "fulltextFieldName", "showFulltext", "deleteConfirmMessage", "autoDeleteEnabled", "autoDownloadEnabled", "downloadFileName", "datasource", "extraFilter", "disableCustomClicks", "maximumColumnLength", "selectionMode"], outputs: ["addClick", "downloadClick", "deleteClick", "selectionChange"] }] }); }
2096
- }
2097
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListPageComponent, decorators: [{
2098
- type: Component,
2099
- args: [{
2100
- selector: 'v-feature-list-page',
2101
- standalone: true,
2102
- imports: [FeatureListComponent],
2103
- template: `
2104
- <v-feature-list
2105
- [title]="config.title"
2106
- [tableName]="config.tableName"
2107
- [showAdd]="config.showAdd ?? true"
2108
- [showDownload]="config.showDownload ?? true"
2109
- [showDelete]="config.showDelete ?? true"
2110
- >
2111
- </v-feature-list>
2112
- `,
2113
- }]
2114
- }], ctorParameters: () => [{ type: i1$2.ActivatedRoute }] });
2115
-
2116
- const FEATURE_LIST_PAGE_CONFIG_PROPERTY = 'feature_list_config';
2117
- function addFeatureListPage(value) {
2118
- const { config, ...route } = value;
2119
- return {
2120
- component: FeatureListPageComponent,
2121
- ...route,
2122
- data: {
2123
- [FEATURE_LIST_PAGE_CONFIG_PROPERTY]: config,
2124
- ...(route.data ?? {}),
2125
- },
2126
- };
2127
- }
2128
- const FEATURE_LIST_COLUMN_PROVIDER = new InjectionToken('FEATURE_LIST_COLUMN_PROVIDER');
2129
-
2130
- class FeatureListComponent {
2131
- constructor() {
2132
- this.autoBind = true;
2133
- this.maxVisibleActions = 2;
2134
- this.maxVisibleMobileActions = 0;
2135
- this.showExtendedFilter = false;
2136
- this.showDownload = false;
2137
- this.showDelete = false;
2138
- this.showAdd = false;
2139
- this.canDownload = true;
2140
- this.canDelete = true;
2141
- this.canAdd = true;
2142
- this.useRouterFilter = true;
2143
- this.fulltextFieldName = 'searchField';
2144
- this.showFulltext = true;
2145
- this.autoDeleteEnabled = true;
2146
- this.autoDownloadEnabled = true;
2147
- this.downloadFileName = 'export.csv';
2148
- this.disableCustomClicks = false;
2149
- this.maximumColumnLength = MAX_COLUMN_CHAR_COUNT;
2150
- this.addClick = new EventEmitter();
2151
- this.downloadClick = new EventEmitter();
2152
- this.deleteClick = new EventEmitter();
2153
- this.selectionChange = new EventEmitter();
2154
- this.icons = Icons;
2155
- this.httpClient = inject(HttpClient);
2156
- this.baseUrl = inject(BASE_URL_PATH);
2157
- this.cdRef = inject(ChangeDetectorRef);
2158
- this.dialogService = inject(DialogService);
2159
- this.selection = [];
2160
- }
2161
- set selectionMode(mode) {
2162
- this._selectionMode = mode;
2163
- }
2164
- get selectionMode() {
2165
- return this.canDelete
2166
- ? TableSelectionMode.single
2167
- : this._selectionMode;
2168
- }
2169
- ngAfterViewInit() {
2170
- if (this.viewColumns?.length) {
2171
- const vewColumns = this.viewColumns
2172
- ?.toArray()
2173
- .map((x) => x.getDefinition());
2174
- this.columns = [...(this.columns ?? []), ...(vewColumns ?? [])];
2175
- this.cdRef.detectChanges();
2176
- }
2177
- if (this.fieldDeclarations?.length) {
2178
- this.filters = this.fieldDeclarations?.toArray();
2179
- }
2180
- this.cdRef.detectChanges();
2181
- }
2182
- selectItems(items) {
2183
- this.selection = items ?? [];
2184
- if (this.selectionMode !== undefined) {
2185
- this.selectionChange.emit(this.selectionMode === 'multiple'
2186
- ? this.selection
2187
- : this.selection[0]);
2188
- }
2189
- }
2190
- startDeleteItems() {
2191
- if (!this.selection.length) {
2192
- return;
2193
- }
2194
- if (this.deleteConfirmMessage) {
2195
- const message = this.deleteConfirmMessage;
2196
- this.dialogService.showDialog({
2197
- innerHTML: message,
2198
- confirmButtonFn: () => this.deleteItems(this.selection),
2199
- });
2200
- }
2201
- else {
2202
- this.deleteItems(this.selection);
2203
- }
2204
- }
2205
- startDownload() {
2206
- this.downloadClick.emit();
2207
- if (!this.autoDownloadEnabled) {
2208
- return;
2209
- }
2210
- const dowloadFn = this.createDownloadFn(this.datasource);
2211
- if (dowloadFn) {
2212
- this.tableDatasourceDirective.params$
2213
- .pipe(take(1), switchMap((params) => dowloadFn(params)))
2214
- .subscribe((blob) => {
2215
- downloadFile(this.downloadFileName, blob);
2216
- });
2217
- }
2218
- }
2219
- deleteItems(items) {
2220
- if (!this.autoDeleteEnabled) {
2221
- this.deleteClick.emit(items);
2222
- }
2223
- else {
2224
- this.forceDelete(items);
2225
- }
2226
- }
2227
- forceDelete(items) {
2228
- const deleteFn = this.createDeleteFn(this.datasource);
2229
- if (deleteFn) {
2230
- const deleteMethods = items.map((x) => deleteFn(x));
2231
- forkJoin(deleteMethods)
2232
- .pipe(take(1))
2233
- .subscribe(() => this.finishDeletion(items));
2234
- }
2235
- else {
2236
- this.finishDeletion(items);
2237
- }
2238
- }
2239
- createDeleteFn(datasource) {
2240
- if (!datasource) {
2241
- return undefined;
2242
- }
2243
- if (typeof datasource === 'string') {
2244
- const service = new BaseHttpService(this.httpClient, this.baseUrl, datasource);
2245
- return (item) => service.delete(item.id);
2246
- }
2247
- if (datasource instanceof BaseHttpService) {
2248
- return (item) => datasource.delete(item.id);
2249
- }
2250
- return undefined;
2251
- }
2252
- createDownloadFn(datasource) {
2253
- if (!datasource) {
2254
- return undefined;
2255
- }
2256
- if (typeof datasource === 'string') {
2257
- const service = new BaseHttpService(this.httpClient, this.baseUrl, datasource);
2258
- return (request) => service.export(request);
2259
- }
2260
- if (datasource instanceof BaseHttpService) {
2261
- return (request) => datasource.export(request);
2262
- }
2263
- const fetchFunction = convertDatasource(datasource, this.baseUrl, this.httpClient);
2264
- return (request) => {
2265
- const allData = [];
2266
- let offset = 0;
2267
- const fetchAllData = () => {
2268
- return fetchFunction({
2269
- ...request,
2270
- offset,
2271
- limit: DEFAULT_PAGE_SIZE,
2272
- }).pipe(take(1), switchMap((response) => {
2273
- allData.push(...response.data);
2274
- if (allData.length < response.total) {
2275
- offset = offset + DEFAULT_PAGE_SIZE;
2276
- return fetchAllData();
2277
- }
2278
- else {
2279
- return of(this.convertToBlob(allData));
2280
- }
2281
- }));
2282
- };
2283
- return fetchAllData();
2284
- };
2285
- }
2286
- finishDeletion(items) {
2287
- if (this.datasource && Array.isArray(this.datasource)) {
2288
- this.datasource = this.datasource.filter((x) => !items.includes(x));
2289
- }
2290
- else {
2291
- this.tableDatasourceDirective.reload();
2292
- }
2293
- this.deleteClick.emit(items);
2294
- }
2295
- convertToBlob(data) {
2296
- const columnModel = this.columns.map((x) => new ColumnModel(x));
2297
- const headers = columnModel.map((x, index) => x.headerGetter(x.id, index));
2298
- const dataValues = data.map((row, rowIndex) => columnModel.map((column) => column.valueGetter(row, rowIndex)));
2299
- const csvData = [headers, ...dataValues]
2300
- .map((row) => row.join(','))
2301
- .join('\n');
2302
- return new Blob([csvData], { type: 'text/csv' });
2303
- }
2304
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2305
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: FeatureListComponent, isStandalone: true, selector: "v-feature-list", inputs: { autoBind: "autoBind", title: "title", columns: "columns", filters: "filters", maxVisibleActions: "maxVisibleActions", tableName: "tableName", ngrxFeatureKey: "ngrxFeatureKey", maxVisibleMobileActions: "maxVisibleMobileActions", showExtendedFilter: "showExtendedFilter", showDownload: "showDownload", showDelete: "showDelete", showAdd: "showAdd", canDownload: "canDownload", canDelete: "canDelete", canAdd: "canAdd", useRouterFilter: "useRouterFilter", fulltextFieldName: "fulltextFieldName", showFulltext: "showFulltext", deleteConfirmMessage: "deleteConfirmMessage", autoDeleteEnabled: "autoDeleteEnabled", autoDownloadEnabled: "autoDownloadEnabled", downloadFileName: "downloadFileName", datasource: "datasource", extraFilter: "extraFilter", disableCustomClicks: "disableCustomClicks", maximumColumnLength: "maximumColumnLength", selectionMode: "selectionMode" }, outputs: { addClick: "addClick", downloadClick: "downloadClick", deleteClick: "deleteClick", selectionChange: "selectionChange" }, queries: [{ propertyName: "viewColumns", predicate: FEATURE_LIST_COLUMN_PROVIDER }, { propertyName: "fieldDeclarations", predicate: FeatureListFilterFieldDirective }], viewQueries: [{ propertyName: "tableDatasourceDirective", first: true, predicate: TableDatasourceDirective, descendants: true }], ngImport: i0, template: "<div class=\"feature-list__container full-height-container\">\r\n <v-filter\r\n #filter\r\n [title]=\"title\"\r\n [fields]=\"columns | featureListColumn\"\r\n [filters]=\"filters\"\r\n [fulltextFieldName]=\"fulltextFieldName\"\r\n [showFulltext]=\"showFulltext\"\r\n [showFilters]=\"showExtendedFilter\"\r\n >\r\n <v-action-button-group\r\n [maxItems]=\"maxVisibleActions\"\r\n [maxItemsMobile]=\"maxVisibleMobileActions\"\r\n >\r\n @if (showAdd) {\r\n <v-action-button\r\n [icon]=\"icons.add\"\r\n label=\"Add\"\r\n [disabled]=\"!canAdd\"\r\n (click)=\"addClick.emit()\"\r\n ></v-action-button>\r\n } @if (showDelete){\r\n <v-action-button\r\n [icon]=\"icons.delete\"\r\n label=\"Delete\"\r\n [disabled]=\"!canDelete || !selection.length\"\r\n (click)=\"startDeleteItems()\"\r\n ></v-action-button>\r\n } @if (showDownload){\r\n <v-action-button\r\n [icon]=\"icons.download\"\r\n label=\"Download\"\r\n [disabled]=\"!canDownload\"\r\n (click)=\"startDownload()\"\r\n ></v-action-button>\r\n }\r\n </v-action-button-group>\r\n </v-filter>\r\n <div class=\"feature-list__table-container full-height-container\">\r\n <div class=\"full-height-container\">\r\n <v-table\r\n useDatasource\r\n useFilter\r\n [filterComponent]=\"filter\"\r\n class=\"full-height-container\"\r\n [selectionMode]=\"selectionMode\"\r\n [tableName]=\"tableName\"\r\n [autoBind]=\"true\"\r\n [datasource]=\"datasource\"\r\n [columns]=\"columns\"\r\n [extraFilter]=\"extraFilter\"\r\n [maximumColumnLength]=\"maximumColumnLength\"\r\n [disableCustomClicks]=\"disableCustomClicks\"\r\n (selectionChange)=\"selectItems($event)\"\r\n >\r\n </v-table>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".full-height-container,:host{display:flex;flex-direction:column;flex-grow:1;height:100%}\n"], dependencies: [{ kind: "component", type: TableComponent, selector: "v-table", inputs: ["data", "total", "filter", "loading", "scrollable", "pageSize", "currentPage", "showPaginator", "sortMultiple", "lazy", "selectionMode", "showPageSizePicker", "entityKey", "maximumColumnLength", "disableCustomClicks", "columns", "selection"], outputs: ["pageSizeChange", "selectionChange", "pageChange", "sortChange", "lazyLoad"] }, { kind: "directive", type: TableDatasourceDirective, selector: "v-table[useDatasource]", inputs: ["autoBind", "tableName", "debounceTime", "datasource", "extraFilter", "transformFn"], exportAs: ["useDatasource"] }, { kind: "component", type: FilterComponent, selector: "v-filter", inputs: ["fields", "filters", "title", "fulltextFieldName", "showFulltext", "showFilters", "autoBind", "debounceTime"] }, { kind: "directive", type: TableFilterDirective, selector: "v-table[useFilter]", inputs: ["filterComponent"], exportAs: ["tableFilterDirective"] }, { kind: "component", type: ActionButtonGroupComponent, selector: "v-action-button-group", inputs: ["maxItems", "maxItemsMobile", "items", "menuIconPos", "menuIcon", "label", "icon"] }, { kind: "component", type: ActionButtonComponent, selector: "v-action-button", inputs: ["disabled", "toolTip", "id", "icon", "outlined", "raised", "severity", "label", "size"], outputs: ["click"] }, { kind: "pipe", type: FeatureListFilterPipe, name: "featureListColumn" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2306
- }
2307
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListComponent, decorators: [{
2308
- type: Component,
2309
- args: [{ selector: 'v-feature-list', imports: [
2310
- TableComponent,
2311
- TableDatasourceDirective,
2312
- FilterComponent,
2313
- TableFilterDirective,
2314
- ActionButtonGroupComponent,
2315
- ActionButtonComponent,
2316
- FeatureListFilterPipe,
2317
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"feature-list__container full-height-container\">\r\n <v-filter\r\n #filter\r\n [title]=\"title\"\r\n [fields]=\"columns | featureListColumn\"\r\n [filters]=\"filters\"\r\n [fulltextFieldName]=\"fulltextFieldName\"\r\n [showFulltext]=\"showFulltext\"\r\n [showFilters]=\"showExtendedFilter\"\r\n >\r\n <v-action-button-group\r\n [maxItems]=\"maxVisibleActions\"\r\n [maxItemsMobile]=\"maxVisibleMobileActions\"\r\n >\r\n @if (showAdd) {\r\n <v-action-button\r\n [icon]=\"icons.add\"\r\n label=\"Add\"\r\n [disabled]=\"!canAdd\"\r\n (click)=\"addClick.emit()\"\r\n ></v-action-button>\r\n } @if (showDelete){\r\n <v-action-button\r\n [icon]=\"icons.delete\"\r\n label=\"Delete\"\r\n [disabled]=\"!canDelete || !selection.length\"\r\n (click)=\"startDeleteItems()\"\r\n ></v-action-button>\r\n } @if (showDownload){\r\n <v-action-button\r\n [icon]=\"icons.download\"\r\n label=\"Download\"\r\n [disabled]=\"!canDownload\"\r\n (click)=\"startDownload()\"\r\n ></v-action-button>\r\n }\r\n </v-action-button-group>\r\n </v-filter>\r\n <div class=\"feature-list__table-container full-height-container\">\r\n <div class=\"full-height-container\">\r\n <v-table\r\n useDatasource\r\n useFilter\r\n [filterComponent]=\"filter\"\r\n class=\"full-height-container\"\r\n [selectionMode]=\"selectionMode\"\r\n [tableName]=\"tableName\"\r\n [autoBind]=\"true\"\r\n [datasource]=\"datasource\"\r\n [columns]=\"columns\"\r\n [extraFilter]=\"extraFilter\"\r\n [maximumColumnLength]=\"maximumColumnLength\"\r\n [disableCustomClicks]=\"disableCustomClicks\"\r\n (selectionChange)=\"selectItems($event)\"\r\n >\r\n </v-table>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".full-height-container,:host{display:flex;flex-direction:column;flex-grow:1;height:100%}\n"] }]
2318
- }], propDecorators: { viewColumns: [{
2319
- type: ContentChildren,
2320
- args: [FEATURE_LIST_COLUMN_PROVIDER]
2321
- }], fieldDeclarations: [{
2322
- type: ContentChildren,
2323
- args: [FeatureListFilterFieldDirective]
2324
- }], tableDatasourceDirective: [{
2325
- type: ViewChild,
2326
- args: [TableDatasourceDirective]
2327
- }], autoBind: [{
2328
- type: Input
2329
- }], title: [{
2330
- type: Input
2331
- }], columns: [{
2332
- type: Input
2333
- }], filters: [{
2334
- type: Input
2335
- }], maxVisibleActions: [{
2336
- type: Input
2337
- }], tableName: [{
2338
- type: Input,
2339
- args: [{ required: true }]
2340
- }], ngrxFeatureKey: [{
2341
- type: Input
2342
- }], maxVisibleMobileActions: [{
2343
- type: Input
2344
- }], showExtendedFilter: [{
2345
- type: Input
2346
- }], showDownload: [{
2347
- type: Input
2348
- }], showDelete: [{
2349
- type: Input
2350
- }], showAdd: [{
2351
- type: Input
2352
- }], canDownload: [{
2353
- type: Input
2354
- }], canDelete: [{
2355
- type: Input
2356
- }], canAdd: [{
2357
- type: Input
2358
- }], useRouterFilter: [{
2359
- type: Input
2360
- }], fulltextFieldName: [{
2361
- type: Input
2362
- }], showFulltext: [{
2363
- type: Input
2364
- }], deleteConfirmMessage: [{
2365
- type: Input
2366
- }], autoDeleteEnabled: [{
2367
- type: Input
2368
- }], autoDownloadEnabled: [{
2369
- type: Input
2370
- }], downloadFileName: [{
2371
- type: Input
2372
- }], datasource: [{
2373
- type: Input
2374
- }], extraFilter: [{
2375
- type: Input
2376
- }], disableCustomClicks: [{
2377
- type: Input
2378
- }], maximumColumnLength: [{
2379
- type: Input
2380
- }], addClick: [{
2381
- type: Output
2382
- }], downloadClick: [{
2383
- type: Output
2384
- }], deleteClick: [{
2385
- type: Output
2386
- }], selectionChange: [{
2387
- type: Output
2388
- }], selectionMode: [{
2389
- type: Input
2390
- }] } });
2391
-
2392
- class FeatureListColumnDirective extends TableColumnDirective {
2393
- constructor() {
2394
- super(...arguments);
2395
- this.filter = false;
2396
- this.type = GenericFieldType.text;
2397
- }
2398
- getDefinition() {
2399
- const definition = super.getDefinition();
2400
- definition.filter = this.filter;
2401
- definition.type = this.type;
2402
- definition.format = this.format;
2403
- return definition;
2404
- }
2405
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListColumnDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
2406
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.8", type: FeatureListColumnDirective, isStandalone: true, selector: "v-feature-list-column", inputs: { filter: "filter", type: "type" }, providers: [
2407
- {
2408
- provide: FEATURE_LIST_COLUMN_PROVIDER,
2409
- useExisting: FeatureListColumnDirective,
2410
- multi: true,
2411
- },
2412
- ], usesInheritance: true, ngImport: i0 }); }
2413
- }
2414
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeatureListColumnDirective, decorators: [{
2415
- type: Directive,
2416
- args: [{
2417
- // eslint-disable-next-line @angular-eslint/directive-selector
2418
- selector: 'v-feature-list-column',
2419
- standalone: true,
2420
- providers: [
2421
- {
2422
- provide: FEATURE_LIST_COLUMN_PROVIDER,
2423
- useExisting: FeatureListColumnDirective,
2424
- multi: true,
2425
- },
2426
- ],
2427
- }]
2428
- }], propDecorators: { filter: [{
2429
- type: Input
2430
- }], type: [{
2431
- type: Input
2432
- }] } });
2433
-
2434
- /* eslint-disable @typescript-eslint/no-explicit-any */
2435
- class DynamicComponentFactoryService {
2436
- constructor(componentFactoryResolver) {
2437
- this.componentFactoryResolver = componentFactoryResolver;
2438
- }
2439
- ngOnDestroy() {
2440
- this.unsubscribeComponentEvents(this);
2441
- }
2442
- async createDynamicComponent(componentType, viewContainerRef, inputs, injector = undefined) {
2443
- const componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentType);
2444
- viewContainerRef.clear();
2445
- const component = viewContainerRef.createComponent(componentFactory, undefined, injector);
2446
- this.setComponentDataInt(componentFactory, component, inputs);
2447
- this.fireComponentEvents(component.instance, inputs);
2448
- return component;
2449
- }
2450
- setComponentData(component, inputs) {
2451
- const factory = this.componentFactoryResolver.resolveComponentFactory(component.componentType);
2452
- this.setComponentDataInt(factory, component, inputs);
2453
- }
2454
- unsubscribeComponentEvents(instance) {
2455
- const subscriptionStoreKey = '__outputSubscriptions__';
2456
- const subscriptions = instance[subscriptionStoreKey];
2457
- if (subscriptions) {
2458
- subscriptions.forEach((sub) => sub.unsubscribe());
2459
- subscriptions.clear();
2460
- }
2461
- }
2462
- fireComponentEvents(instance, inputs) {
2463
- if (!instance || typeof instance !== 'object')
2464
- return;
2465
- this.fireInputComponentEvents(instance, inputs);
2466
- this.fireOutputComponentEvents(instance, inputs);
2467
- }
2468
- setComponentDataInt(factory, component, inputs) {
2469
- if (inputs) {
2470
- const propertyNames = factory.inputs.map((x) => x.propName);
2471
- const inputsHash = new Set(propertyNames);
2472
- Object.keys(inputs)
2473
- .filter((x) => inputsHash.has(x))
2474
- .forEach((x) => {
2475
- component.instance[x] = inputs[x];
2476
- });
2477
- }
2478
- }
2479
- fireInputComponentEvents(instance, inputs) {
2480
- const onChangeComponent = instance;
2481
- if (onChangeComponent.ngOnChanges && inputs) {
2482
- const changeEventArgs = Object.keys(inputs).reduce((changes, key) => {
2483
- const inputValue = inputs[key];
2484
- changes[key] = new SimpleChange(undefined, inputValue, true);
2485
- return changes;
2486
- }, {});
2487
- onChangeComponent.ngOnChanges(changeEventArgs);
2488
- }
2489
- }
2490
- fireOutputComponentEvents(instance, inputs) {
2491
- const outputs = Object.keys(inputs).filter((key) => {
2492
- const emitter = instance[key];
2493
- return emitter instanceof EventEmitter;
2494
- });
2495
- const subscriptionStoreKey = '__outputSubscriptions__';
2496
- if (!(subscriptionStoreKey in instance)) {
2497
- instance[subscriptionStoreKey] = new Map();
2498
- }
2499
- const subscriptions = instance[subscriptionStoreKey];
2500
- for (const outputKey of outputs) {
2501
- const eventEmitter = instance[outputKey];
2502
- const callback = inputs[outputKey];
2503
- if (eventEmitter && typeof callback === 'function') {
2504
- if (subscriptions.has(outputKey)) {
2505
- subscriptions.get(outputKey).unsubscribe();
2506
- }
2507
- const subscription = eventEmitter.subscribe((value) => callback(value));
2508
- subscriptions.set(outputKey, subscription);
2509
- }
2510
- }
2511
- }
2512
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DynamicComponentFactoryService, deps: [{ token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
2513
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DynamicComponentFactoryService, providedIn: 'root' }); }
2514
- }
2515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DynamicComponentFactoryService, decorators: [{
2516
- type: Injectable,
2517
- args: [{
2518
- providedIn: 'root',
2519
- }]
2520
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }] });
2521
-
2522
- class DynamicComponent {
2523
- constructor() {
2524
- this.factoryServices = inject(DynamicComponentFactoryService);
2525
- this.changeDetectorRef = inject(ChangeDetectorRef);
2526
- this.injector = inject(Injector);
2527
- }
2528
- ngOnChanges() {
2529
- this.createComponent();
2530
- }
2531
- ngAfterViewInit() {
2532
- this.createComponent();
2533
- this.changeDetectorRef.detectChanges();
2534
- }
2535
- createComponent() {
2536
- if (this.container) {
2537
- this.factoryServices.createDynamicComponent(this.componentType, this.container, this.data, this.injector);
2538
- }
2539
- }
2540
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DynamicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2541
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DynamicComponent, isStandalone: true, selector: "v-dynamic-component", inputs: { componentType: "componentType", data: "data" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["dynamicContainer"], descendants: true, read: ViewContainerRef, static: true }], usesOnChanges: true, ngImport: i0, template: `<ng-container #dynamicContainer></ng-container>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2542
- }
2543
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DynamicComponent, decorators: [{
2544
- type: Component,
2545
- args: [{
2546
- selector: 'v-dynamic-component',
2547
- standalone: true,
2548
- changeDetection: ChangeDetectionStrategy.OnPush,
2549
- template: `<ng-container #dynamicContainer></ng-container>`,
2550
- }]
2551
- }], propDecorators: { componentType: [{
2552
- type: Input
2553
- }], data: [{
2554
- type: Input
2555
- }], container: [{
2556
- type: ViewChild,
2557
- args: ['dynamicContainer', { read: ViewContainerRef, static: true }]
2558
- }] } });
2559
-
2560
- class PageHeaderComponent extends PageHeaderCoreComponent {
2561
- constructor() {
2562
- super(...arguments);
2563
- this.icons = Icons;
2564
- }
2565
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PageHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2566
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: PageHeaderComponent, isStandalone: true, selector: "v-page-header", providers: [
2567
- { provide: PAGE_HEADER_COMPONENT_TOKEN, useExisting: PageHeaderComponent },
2568
- ], queries: [{ propertyName: "buttonGroup", first: true, predicate: ActionButtonGroupComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"v-page-header d-block d-md-flex px-3 w-100 gap-0 gap-md-4 align-items-center text-center text-md-start\"\r\n>\r\n <v-button\r\n *ngIf=\"showBackButton\"\r\n size=\"small\"\r\n [icon]=\"icons.arrowLeft\"\r\n label=\"Back\"\r\n [outlined]=\"true\"\r\n (click)=\"locationBack()\"\r\n ></v-button>\r\n <div\r\n class=\"align-items-center justify-content-center justify-content-md-start gap-2 w-100 d-flex\"\r\n >\r\n <h1 class=\"text-primary m-0\" [innerText]=\"title\"></h1>\r\n <div\r\n *ngIf=\"subtitle\"\r\n class=\"d-flex gap-2 align-items-center text-center text-md-start\"\r\n >\r\n <h1 class=\"text-default m-0\" [innerText]=\"'-'\"></h1>\r\n <h1 class=\"text-default\" [innerText]=\"subtitle\"></h1>\r\n </div>\r\n </div>\r\n <div\r\n class=\"align-content-center page-header-action-buttons justify-content-center w-100\"\r\n >\r\n <div *ngIf=\"buttonGroup\">\r\n <ng-content [select]=\"buttonGroup\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2569
- }
2570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: PageHeaderComponent, decorators: [{
2571
- type: Component,
2572
- args: [{ selector: 'v-page-header', standalone: true, imports: [CommonModule, ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2573
- { provide: PAGE_HEADER_COMPONENT_TOKEN, useExisting: PageHeaderComponent },
2574
- ], template: "<div\r\n class=\"v-page-header d-block d-md-flex px-3 w-100 gap-0 gap-md-4 align-items-center text-center text-md-start\"\r\n>\r\n <v-button\r\n *ngIf=\"showBackButton\"\r\n size=\"small\"\r\n [icon]=\"icons.arrowLeft\"\r\n label=\"Back\"\r\n [outlined]=\"true\"\r\n (click)=\"locationBack()\"\r\n ></v-button>\r\n <div\r\n class=\"align-items-center justify-content-center justify-content-md-start gap-2 w-100 d-flex\"\r\n >\r\n <h1 class=\"text-primary m-0\" [innerText]=\"title\"></h1>\r\n <div\r\n *ngIf=\"subtitle\"\r\n class=\"d-flex gap-2 align-items-center text-center text-md-start\"\r\n >\r\n <h1 class=\"text-default m-0\" [innerText]=\"'-'\"></h1>\r\n <h1 class=\"text-default\" [innerText]=\"subtitle\"></h1>\r\n </div>\r\n </div>\r\n <div\r\n class=\"align-content-center page-header-action-buttons justify-content-center w-100\"\r\n >\r\n <div *ngIf=\"buttonGroup\">\r\n <ng-content [select]=\"buttonGroup\"></ng-content>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
2575
- }], propDecorators: { buttonGroup: [{
2576
- type: ContentChild,
2577
- args: [ActionButtonGroupComponent]
2578
- }] } });
2579
-
2580
- class StepperComponent {
2581
- constructor() {
2582
- this.icons = Icons;
2583
- this.size = FieldSize.medium;
2584
- this.layout = LayoutType.horizontal;
2585
- this.activeIndex = 0;
2586
- this.activeIndexChange = new EventEmitter();
2587
- }
2588
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2589
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: StepperComponent, isStandalone: true, selector: "v-stepper", inputs: { items: "items", prefix: "prefix", label: "label", size: "size", layout: "layout", icon: "icon", activeIndex: "activeIndex", annotation: "annotation" }, outputs: { activeIndexChange: "activeIndexChange" }, providers: [
2590
- { provide: STEPPER_COMPONENT_TOKEN, useExisting: StepperComponent },
2591
- ], ngImport: i0, template: "<div class=\"v-stepper\">\r\n <p-stepper>\r\n <p-stepperPanel\r\n *ngFor=\"let item of items; let index = index\"\r\n [header]=\"item.header\"\r\n >\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n let-index=\"index\"\r\n >\r\n <ng-container *ngIf=\"item.template && item.template.elementRef\">\r\n <ng-template\r\n *ngTemplateOutlet=\"\r\n item.template;\r\n context: { item: item, index: index }\r\n \"\r\n />\r\n </ng-container>\r\n <div class=\"d-flex pt-4 justify-content-between\">\r\n <v-button\r\n *ngIf=\"index > 0\"\r\n label=\"Back\"\r\n [icon]=\"icons.arrowLeft\"\r\n size=\"small\"\r\n [outlined]=\"true\"\r\n (click)=\"prevCallback.emit()\"\r\n />\r\n\r\n <v-button\r\n *ngIf=\"index < items.length - 1\"\r\n label=\"Next\"\r\n size=\"small\"\r\n [icon]=\"icons.arrowRight\"\r\n iconPos=\"right\"\r\n (click)=\"nextCallback.emit()\"\r\n />\r\n </div>\r\n </ng-template>\r\n </p-stepperPanel>\r\n </p-stepper>\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "ngmodule", type: StepperModule }, { kind: "component", type: i2$8.Stepper, selector: "p-stepper", inputs: ["activeStep", "orientation", "linear", "transitionOptions"], outputs: ["onClick", "activeStepChange"] }, { kind: "component", type: i2$8.StepperPanel, selector: "p-stepperPanel", inputs: ["header"] }, { kind: "directive", type: i1$5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2592
- }
2593
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: StepperComponent, decorators: [{
2594
- type: Component,
2595
- args: [{ selector: 'v-stepper', standalone: true, imports: [CommonModule, ButtonComponent, StepperModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2596
- { provide: STEPPER_COMPONENT_TOKEN, useExisting: StepperComponent },
2597
- ], template: "<div class=\"v-stepper\">\r\n <p-stepper>\r\n <p-stepperPanel\r\n *ngFor=\"let item of items; let index = index\"\r\n [header]=\"item.header\"\r\n >\r\n <ng-template\r\n pTemplate=\"content\"\r\n let-nextCallback=\"nextCallback\"\r\n let-prevCallback=\"prevCallback\"\r\n let-index=\"index\"\r\n >\r\n <ng-container *ngIf=\"item.template && item.template.elementRef\">\r\n <ng-template\r\n *ngTemplateOutlet=\"\r\n item.template;\r\n context: { item: item, index: index }\r\n \"\r\n />\r\n </ng-container>\r\n <div class=\"d-flex pt-4 justify-content-between\">\r\n <v-button\r\n *ngIf=\"index > 0\"\r\n label=\"Back\"\r\n [icon]=\"icons.arrowLeft\"\r\n size=\"small\"\r\n [outlined]=\"true\"\r\n (click)=\"prevCallback.emit()\"\r\n />\r\n\r\n <v-button\r\n *ngIf=\"index < items.length - 1\"\r\n label=\"Next\"\r\n size=\"small\"\r\n [icon]=\"icons.arrowRight\"\r\n iconPos=\"right\"\r\n (click)=\"nextCallback.emit()\"\r\n />\r\n </div>\r\n </ng-template>\r\n </p-stepperPanel>\r\n </p-stepper>\r\n</div>\r\n" }]
2598
- }], propDecorators: { items: [{
2599
- type: Input
2600
- }], prefix: [{
2601
- type: Input
2602
- }], label: [{
2603
- type: Input
2604
- }], size: [{
2605
- type: Input
2606
- }], layout: [{
2607
- type: Input
2608
- }], icon: [{
2609
- type: Input
2610
- }], activeIndex: [{
2611
- type: Input
2612
- }], annotation: [{
2613
- type: Input
2614
- }], activeIndexChange: [{
2615
- type: Output
2616
- }] } });
2617
-
2618
- class SliderComponent extends BaseFormInputComponent {
2619
- constructor(ngControl) {
2620
- super(ngControl);
2621
- this.step = 1;
2622
- this.min = 0;
2623
- this.max = 100;
2624
- this.range = false;
2625
- }
2626
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SliderComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
2627
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SliderComponent, isStandalone: true, selector: "v-slider", inputs: { step: "step", min: "min", max: "max", range: "range" }, providers: [
2628
- {
2629
- provide: BaseInputControls,
2630
- useExisting: forwardRef(() => SliderComponent),
2631
- },
2632
- {
2633
- provide: SLIDER_COMPONENT_TOKEN,
2634
- useExisting: SliderComponent,
2635
- },
2636
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-slider\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n >\r\n <p-slider\r\n class=\"w-100\"\r\n [formControl]=\"formControl\"\r\n [step]=\"step\"\r\n [range]=\"range\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SliderModule }, { kind: "component", type: i2$9.Slider, selector: "p-slider", inputs: ["animate", "disabled", "min", "max", "orientation", "step", "range", "style", "styleClass", "ariaLabel", "ariaLabelledBy", "tabindex", "autofocus"], outputs: ["onChange", "onSlideEnd"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2637
- }
2638
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SliderComponent, decorators: [{
2639
- type: Component,
2640
- args: [{ selector: 'v-slider', standalone: true, imports: [
2641
- CommonModule,
2642
- SliderModule,
2643
- ReactiveFormsModule,
2644
- FormFieldComponent,
2645
- ErrorComponent
2646
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2647
- {
2648
- provide: BaseInputControls,
2649
- useExisting: forwardRef(() => SliderComponent),
2650
- },
2651
- {
2652
- provide: SLIDER_COMPONENT_TOKEN,
2653
- useExisting: SliderComponent,
2654
- },
2655
- ], template: "<div class=\"v-slider\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n >\r\n <p-slider\r\n class=\"w-100\"\r\n [formControl]=\"formControl\"\r\n [step]=\"step\"\r\n [range]=\"range\"\r\n [min]=\"min\"\r\n [max]=\"max\"\r\n />\r\n <v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>" }]
2656
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
2657
- type: Optional
2658
- }, {
2659
- type: Self
2660
- }] }], propDecorators: { step: [{
2661
- type: Input
2662
- }], min: [{
2663
- type: Input
2664
- }], max: [{
2665
- type: Input
2666
- }], range: [{
2667
- type: Input
2668
- }] } });
2669
-
2670
- class ConfirmDialogComponent extends UnsubscribeComponent {
2671
- constructor(dialogService, cdr) {
2672
- super();
2673
- this.dialogService = dialogService;
2674
- this.cdr = cdr;
2675
- this.visible = false;
2676
- this.closable = false;
2677
- }
2678
- ngOnInit() {
2679
- this.dialogService.showEvent
2680
- .pipe(takeUntil(this.destroyed$))
2681
- .subscribe((x) => {
2682
- this.data = x;
2683
- this.visible = true;
2684
- this.cdr.detectChanges();
2685
- });
2686
- }
2687
- dialogClick(confirm) {
2688
- const { confirmButtonFn, cancelButtonFn } = this.data;
2689
- if (confirm && confirmButtonFn) {
2690
- confirmButtonFn();
2691
- }
2692
- if (!confirm && cancelButtonFn) {
2693
- cancelButtonFn();
2694
- }
2695
- this.visible = false;
2696
- this.cdr.detectChanges();
2697
- }
2698
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConfirmDialogComponent, deps: [{ token: i1$3.DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
2699
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ConfirmDialogComponent, isStandalone: true, selector: "v-confirm-dialog", providers: [
2700
- {
2701
- provide: CONFIRM_DIALOG_COMPONENT_TOKEN,
2702
- useExisting: ConfirmDialogComponent,
2703
- },
2704
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-dialog d-flex justify-content-center\" *ngIf=\"data\">\r\n <p-dialog\r\n [(visible)]=\"visible\"\r\n [modal]=\"true\"\r\n [closable]=\"closable\"\r\n [style]=\"{ width: '25rem' }\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <div\r\n class=\"v-dialog-header w-100 align-items-center d-flex justify-content-center\"\r\n >\r\n <h1 class=\"text-center me-3\">{{ data.title }}</h1>\r\n <i class=\"{{ data.headerIcon }} text-{{ data.severity }}\"></i>\r\n </div>\r\n </ng-template>\r\n <div class=\"v-dialog-content w-100 align-items-center text-center\">\r\n @if (data.innerHTML) {\r\n <div [innerHTML]=\"data.innerHTML\"></div>\r\n } @else if (data.componentType) {\r\n <v-dynamic-component\r\n [componentType]=\"data.componentType\"\r\n [data]=\"$any(data.data)\"\r\n ></v-dynamic-component>\r\n }\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <div\r\n class=\"v-dialog-footer d-flex justify-content-center w-100 gap-3\"\r\n [ngClass]=\"{\r\n 'flex-row-reverse': data.buttonOrder === 'cancel-confirm'\r\n }\"\r\n >\r\n <v-button\r\n [label]=\"data.confirmButtonText ?? 'Yes'\"\r\n [severity]=\"data.severity\"\r\n (click)=\"data.confirmButtonFn ? dialogClick(true) : (visible = false)\"\r\n />\r\n <v-button\r\n *ngIf=\"data.showCancelButton && data.severity !== 'success'\"\r\n [label]=\"data.cancelButtonText ?? 'No'\"\r\n [outlined]=\"true\"\r\n [severity]=\"'secondary'\"\r\n (click)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\r\n />\r\n </div>\r\n </ng-template>\r\n </p-dialog>\r\n</div>\r\n", styles: [".v-dialog-content *{line-height:1.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3$9.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: i1$5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: ButtonComponent, selector: "v-button", inputs: ["label", "icon", "badge", "iconPos", "disabled", "rounded", "outlined", "raised", "severity", "routerLink", "size", "queryParams"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: DynamicComponent, selector: "v-dynamic-component", inputs: ["componentType", "data"] }] }); }
2705
- }
2706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ConfirmDialogComponent, decorators: [{
2707
- type: Component,
2708
- args: [{ selector: 'v-confirm-dialog', standalone: true, imports: [
2709
- CommonModule,
2710
- DialogModule,
2711
- ButtonComponent,
2712
- AvatarModule,
2713
- DynamicComponent,
2714
- ], providers: [
2715
- {
2716
- provide: CONFIRM_DIALOG_COMPONENT_TOKEN,
2717
- useExisting: ConfirmDialogComponent,
2718
- },
2719
- ], template: "<div class=\"v-dialog d-flex justify-content-center\" *ngIf=\"data\">\r\n <p-dialog\r\n [(visible)]=\"visible\"\r\n [modal]=\"true\"\r\n [closable]=\"closable\"\r\n [style]=\"{ width: '25rem' }\"\r\n >\r\n <ng-template pTemplate=\"header\">\r\n <div\r\n class=\"v-dialog-header w-100 align-items-center d-flex justify-content-center\"\r\n >\r\n <h1 class=\"text-center me-3\">{{ data.title }}</h1>\r\n <i class=\"{{ data.headerIcon }} text-{{ data.severity }}\"></i>\r\n </div>\r\n </ng-template>\r\n <div class=\"v-dialog-content w-100 align-items-center text-center\">\r\n @if (data.innerHTML) {\r\n <div [innerHTML]=\"data.innerHTML\"></div>\r\n } @else if (data.componentType) {\r\n <v-dynamic-component\r\n [componentType]=\"data.componentType\"\r\n [data]=\"$any(data.data)\"\r\n ></v-dynamic-component>\r\n }\r\n </div>\r\n <ng-template pTemplate=\"footer\">\r\n <div\r\n class=\"v-dialog-footer d-flex justify-content-center w-100 gap-3\"\r\n [ngClass]=\"{\r\n 'flex-row-reverse': data.buttonOrder === 'cancel-confirm'\r\n }\"\r\n >\r\n <v-button\r\n [label]=\"data.confirmButtonText ?? 'Yes'\"\r\n [severity]=\"data.severity\"\r\n (click)=\"data.confirmButtonFn ? dialogClick(true) : (visible = false)\"\r\n />\r\n <v-button\r\n *ngIf=\"data.showCancelButton && data.severity !== 'success'\"\r\n [label]=\"data.cancelButtonText ?? 'No'\"\r\n [outlined]=\"true\"\r\n [severity]=\"'secondary'\"\r\n (click)=\"data.cancelButtonFn ? dialogClick(false) : (visible = false)\"\r\n />\r\n </div>\r\n </ng-template>\r\n </p-dialog>\r\n</div>\r\n", styles: [".v-dialog-content *{line-height:1.5rem}\n"] }]
2720
- }], ctorParameters: () => [{ type: i1$3.DialogService }, { type: i0.ChangeDetectorRef }] });
2721
-
2722
- class SwitchComponent extends BaseFormInputComponent {
2723
- constructor(ngControl) {
2724
- super(ngControl);
2725
- this.id = v4();
2726
- }
2727
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SwitchComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
2728
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: SwitchComponent, isStandalone: true, selector: "v-switch", providers: [
2729
- {
2730
- provide: BaseInputControls,
2731
- useExisting: forwardRef(() => SwitchComponent),
2732
- multi: true,
2733
- },
2734
- {
2735
- provide: SWITCH_COMPONENT_TOKEN,
2736
- useExisting: SwitchComponent,
2737
- },
2738
- ], usesInheritance: true, ngImport: i0, template: "<div class=\"v-switch d-flex align-items-center\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-inputSwitch\r\n [formControl]=\"formControl\"\r\n [required]=\"isRequired()\"\r\n [title]=\"label\"\r\n [readonly]=\"readonly\"\r\n [inputId]=\"id\"\r\n /><v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: InputSwitchModule }, { kind: "component", type: i2$a.InputSwitch, selector: "p-inputSwitch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "v-form-field", inputs: ["display", "variant"] }, { kind: "component", type: ErrorComponent, selector: "v-validation-message", inputs: ["ngControl", "errorSlot", "messageSlot", "variant", "severity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2739
- }
2740
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: SwitchComponent, decorators: [{
2741
- type: Component,
2742
- args: [{ selector: 'v-switch', standalone: true, imports: [
2743
- CommonModule,
2744
- InputSwitchModule,
2745
- ReactiveFormsModule,
2746
- FormFieldComponent,
2747
- ErrorComponent
2748
- ], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
2749
- {
2750
- provide: BaseInputControls,
2751
- useExisting: forwardRef(() => SwitchComponent),
2752
- multi: true,
2753
- },
2754
- {
2755
- provide: SWITCH_COMPONENT_TOKEN,
2756
- useExisting: SwitchComponent,
2757
- },
2758
- ], template: "<div class=\"v-switch d-flex align-items-center\">\r\n <v-form-field\r\n class=\"w-100\"\r\n [label]=\"label\"\r\n [tooltip]=\"tooltip\"\r\n [required]=\"isRequired()\"\r\n [testId]=\"testId\"\r\n [display]=\"formDisplay\"\r\n >\r\n <p-inputSwitch\r\n [formControl]=\"formControl\"\r\n [required]=\"isRequired()\"\r\n [title]=\"label\"\r\n [readonly]=\"readonly\"\r\n [inputId]=\"id\"\r\n /><v-validation-message [ngControl]=\"ngControl\"></v-validation-message>\r\n </v-form-field>\r\n</div>\r\n" }]
2759
- }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
2760
- type: Optional
2761
- }, {
2762
- type: Self
2763
- }] }] });
2764
-
2765
- class HttpErrorMessageInterceptor {
2766
- constructor(snackbarService) {
2767
- this.snackbarService = snackbarService;
2768
- }
2769
- intercept(req, next) {
2770
- return next.handle(req).pipe(catchError((errorResponse) => {
2771
- if (!errorResponse.ok) {
2772
- if (errorResponse.status === 403) {
2773
- this.snackbarService.showError('Unauthorized request');
2774
- console.error('Unauthorized request');
2775
- }
2776
- else {
2777
- this.snackbarService.showError(errorResponse.message);
2778
- console.error(errorResponse);
2779
- }
2780
- }
2781
- return throwError(() => errorResponse);
2782
- }));
2783
- }
2784
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HttpErrorMessageInterceptor, deps: [{ token: SnackbarService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2785
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HttpErrorMessageInterceptor }); }
2786
- }
2787
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: HttpErrorMessageInterceptor, decorators: [{
2788
- type: Injectable
2789
- }], ctorParameters: () => [{ type: SnackbarService }] });
2790
-
2791
- class TabViewItemComponent {
2792
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2793
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: TabViewItemComponent, selector: "v-tab-view-item", inputs: { title: "title", url: "url", icon: "icon", disabled: "disabled", content: "content" }, viewQueries: [{ propertyName: "contentTemplate", first: true, predicate: ["contentTemplate"], descendants: true, static: true }], ngImport: i0, template: `<ng-template #contentTemplate>
2794
- <ng-content></ng-content>
2795
- </ng-template>`, isInline: true }); }
2796
- }
2797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabViewItemComponent, decorators: [{
2798
- type: Component,
2799
- args: [{
2800
- selector: 'v-tab-view-item',
2801
- template: `<ng-template #contentTemplate>
2802
- <ng-content></ng-content>
2803
- </ng-template>`,
2804
- }]
2805
- }], propDecorators: { contentTemplate: [{
2806
- type: ViewChild,
2807
- args: ['contentTemplate', { static: true }]
2808
- }], title: [{
2809
- type: Input
2810
- }], url: [{
2811
- type: Input
2812
- }], icon: [{
2813
- type: Input
2814
- }], disabled: [{
2815
- type: Input
2816
- }], content: [{
2817
- type: Input
2818
- }] } });
2819
-
2820
- class TabMenuPipe {
2821
- transform(value) {
2822
- if (!value) {
2823
- return undefined;
2824
- }
2825
- return value.map((x) => ({
2826
- label: x.title,
2827
- icon: x.icon,
2828
- disabled: x.disabled,
2829
- routerLink: x.url,
2830
- }));
2831
- }
2832
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabMenuPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2833
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TabMenuPipe, name: "tabMenu" }); }
2834
- }
2835
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabMenuPipe, decorators: [{
2836
- type: Pipe,
2837
- args: [{
2838
- name: 'tabMenu',
2839
- pure: true,
2840
- }]
2841
- }] });
2842
-
2843
- class TabViewComponent {
2844
- constructor() {
2845
- this.items = [];
2846
- this.useRouting = false;
2847
- this.activeIndex = 0;
2848
- this.activeIndexChange = new EventEmitter();
2849
- this.mergedItems = [];
2850
- }
2851
- ngAfterContentInit() {
2852
- this.mergedItems = [...this.items, ...this.children.toArray()];
2853
- }
2854
- activeItemChanged(item) {
2855
- let index;
2856
- if (typeof item === 'number') {
2857
- index = item;
2858
- }
2859
- else {
2860
- index = this.items.indexOf(item);
2861
- }
2862
- if (index != -1) {
2863
- this.activeIndexChange.emit(index);
2864
- }
2865
- }
2866
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2867
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: TabViewComponent, selector: "v-tab-view", inputs: { items: "items", useRouting: "useRouting", activeIndex: "activeIndex" }, outputs: { activeIndexChange: "activeIndexChange" }, queries: [{ propertyName: "children", predicate: TabViewItemComponent }], ngImport: i0, template: "<div class=\"v-tab-view\">\r\n @if (useRouting) {\r\n <p-tabMenu\r\n [model]=\"mergedItems | tabMenu\"\r\n [activeItem]=\"items[activeIndex]\"\r\n (activeItemChange)=\"activeItemChanged($event)\"\r\n >\r\n </p-tabMenu>\r\n <router-outlet></router-outlet>\r\n } @else {\r\n <p-tabView (activeIndexChange)=\"activeItemChanged($event)\">\r\n @for (item of mergedItems; track item; let index = $index) {\r\n <p-tabPanel [selected]=\"activeIndex === index\" [header]=\"item.title\" [disabled]=\"item.disabled === true\">\r\n @if (item.contentTemplate){\r\n <ng-container *ngTemplateOutlet=\"item.contentTemplate\"></ng-container>\r\n } @else if (item.content) {\r\n {{ item.content }}\r\n }\r\n </p-tabPanel>\r\n }\r\n </p-tabView>\r\n }\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i2$b.TabMenu, selector: "p-tabMenu", inputs: ["model", "activeItem", "scrollable", "popup", "style", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["activeItemChange"] }, { kind: "component", type: i3$a.TabView, selector: "p-tabView", inputs: ["style", "styleClass", "controlClose", "scrollable", "activeIndex", "selectOnFocus", "nextButtonAriaLabel", "prevButtonAriaLabel", "autoHideButtons", "tabindex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { kind: "component", type: i3$a.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TabMenuPipe, name: "tabMenu" }] }); }
2868
- }
2869
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabViewComponent, decorators: [{
2870
- type: Component,
2871
- args: [{ selector: 'v-tab-view', template: "<div class=\"v-tab-view\">\r\n @if (useRouting) {\r\n <p-tabMenu\r\n [model]=\"mergedItems | tabMenu\"\r\n [activeItem]=\"items[activeIndex]\"\r\n (activeItemChange)=\"activeItemChanged($event)\"\r\n >\r\n </p-tabMenu>\r\n <router-outlet></router-outlet>\r\n } @else {\r\n <p-tabView (activeIndexChange)=\"activeItemChanged($event)\">\r\n @for (item of mergedItems; track item; let index = $index) {\r\n <p-tabPanel [selected]=\"activeIndex === index\" [header]=\"item.title\" [disabled]=\"item.disabled === true\">\r\n @if (item.contentTemplate){\r\n <ng-container *ngTemplateOutlet=\"item.contentTemplate\"></ng-container>\r\n } @else if (item.content) {\r\n {{ item.content }}\r\n }\r\n </p-tabPanel>\r\n }\r\n </p-tabView>\r\n }\r\n</div>\r\n" }]
2872
- }], propDecorators: { children: [{
2873
- type: ContentChildren,
2874
- args: [TabViewItemComponent]
2875
- }], items: [{
2876
- type: Input
2877
- }], useRouting: [{
2878
- type: Input
2879
- }], activeIndex: [{
2880
- type: Input
2881
- }], activeIndexChange: [{
2882
- type: Output
2883
- }] } });
2884
-
2885
- class TabViewModule {
2886
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2887
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.8", ngImport: i0, type: TabViewModule, declarations: [TabViewComponent, TabViewItemComponent, TabMenuPipe], imports: [RouterOutlet, TabMenuModule, TabViewModule$1, NgTemplateOutlet], exports: [TabViewComponent, TabViewItemComponent] }); }
2888
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabViewModule, providers: [
2889
- { provide: TAB_VIEW_COMPONENT_TOKEN, useExisting: TabViewComponent },
2890
- ], imports: [TabMenuModule, TabViewModule$1] }); }
2891
- }
2892
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: TabViewModule, decorators: [{
2893
- type: NgModule,
2894
- args: [{
2895
- imports: [RouterOutlet, TabMenuModule, TabViewModule$1, NgTemplateOutlet],
2896
- declarations: [TabViewComponent, TabViewItemComponent, TabMenuPipe],
2897
- exports: [TabViewComponent, TabViewItemComponent],
2898
- providers: [
2899
- { provide: TAB_VIEW_COMPONENT_TOKEN, useExisting: TabViewComponent },
2900
- ],
2901
- }]
2902
- }] });
2903
-
2904
- /**
2905
- * Generated bundle index. Do not edit.
2906
- */
2907
-
2908
- export { ActionButtonComponent, ActionButtonGroupComponent, BreadcrumbComponent, ButtonComponent, CalendarComponent, CheckboxComponent, ConfirmDialogComponent, DropdownComponent, DynamicComponent, DynamicComponentFactoryService, FEATURE_LIST_COLUMN_PROVIDER, FEATURE_LIST_PAGE_CONFIG_PROPERTY, FeatureListColumnDirective, FeatureListComponent, FeatureListFilterFieldDirective, FeatureListFilterPipe, FilterComponent, FilterFieldDirective, FormFieldComponent, GenericFieldComponent, GenericFormComponent, HeaderComponent, HeaderProviderService, HttpErrorMessageInterceptor, Icons, InputGroupComponent, LoaderComponent, MultiselectComponent, NumberInputComponent, PageHeaderComponent, PasswordComponent, RadioButtonComponent, SectionComponent, SideMenuComponent, SideMenuModule, SliderComponent, SnackbarComponent, SnackbarService, StepperComponent, SwitchComponent, TabViewComponent, TabViewItemComponent, TabViewModule, TableComponent, TextareaComponent, TextfieldComponent, TristatecheckboxComponent, addFeatureListPage, generateFormGroup, getColumnClass };
2909
- //# sourceMappingURL=verisoft-ui-primeng.mjs.map