@verisoft/ui-govcz 18.6.4 → 18.6.5

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 (410) hide show
  1. package/esm2022/index.mjs +2 -0
  2. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +34 -0
  3. package/esm2022/lib/components/breadcrumb/index.mjs +2 -0
  4. package/esm2022/lib/components/button/button.component.mjs +87 -0
  5. package/esm2022/lib/components/button/index.mjs +2 -0
  6. package/esm2022/lib/components/calendar/calendar.component.mjs +87 -0
  7. package/esm2022/lib/components/calendar/index.mjs +2 -0
  8. package/esm2022/lib/components/checkbox/checkbox.component.mjs +62 -0
  9. package/esm2022/lib/components/checkbox/index.mjs +2 -0
  10. package/esm2022/lib/components/confirm-dialog/confirm-dialog.component.mjs +72 -0
  11. package/esm2022/lib/components/confirm-dialog/index.mjs +2 -0
  12. package/esm2022/lib/components/dropdown/dropdown-item.component.mjs +14 -0
  13. package/esm2022/lib/components/dropdown/dropdown.component.mjs +280 -0
  14. package/esm2022/lib/components/dropdown/dropdown.model.mjs +2 -0
  15. package/esm2022/lib/components/dropdown/index.mjs +2 -0
  16. package/esm2022/lib/components/errors/error.component.mjs +34 -0
  17. package/esm2022/lib/components/errors/index.mjs +2 -0
  18. package/esm2022/lib/components/form-field/form-field.component.mjs +92 -0
  19. package/esm2022/lib/components/form-field/index.mjs +2 -0
  20. package/esm2022/lib/components/header/header.component.mjs +85 -0
  21. package/esm2022/lib/components/header/index.mjs +2 -0
  22. package/esm2022/lib/components/index.mjs +34 -0
  23. package/esm2022/lib/components/input-group/index.mjs +2 -0
  24. package/esm2022/lib/components/input-group/input-group.component.mjs +89 -0
  25. package/esm2022/lib/components/loader/index.mjs +2 -0
  26. package/esm2022/lib/components/loader/loader.component.mjs +34 -0
  27. package/esm2022/lib/components/multiselect/index.mjs +2 -0
  28. package/esm2022/lib/components/multiselect/multiselect.component.mjs +121 -0
  29. package/esm2022/lib/components/number-input/index.mjs +2 -0
  30. package/esm2022/lib/components/number-input/number-input.component.mjs +104 -0
  31. package/esm2022/lib/components/page-header/index.mjs +2 -0
  32. package/esm2022/lib/components/page-header/page-header.component.mjs +28 -0
  33. package/esm2022/lib/components/password/index.mjs +2 -0
  34. package/esm2022/lib/components/password/password.component.mjs +94 -0
  35. package/esm2022/lib/components/radiobutton/index.mjs +2 -0
  36. package/esm2022/lib/components/radiobutton/radiobutton.component.mjs +50 -0
  37. package/esm2022/lib/components/search/index.mjs +2 -0
  38. package/esm2022/lib/components/search/search.component.mjs +40 -0
  39. package/esm2022/lib/components/section/index.mjs +2 -0
  40. package/esm2022/lib/components/section/section.component.mjs +70 -0
  41. package/esm2022/lib/components/shared-components/action-button-group/action-button-group.component.mjs +97 -0
  42. package/esm2022/lib/components/shared-components/action-button-group/components/action-button/action-button.component.mjs +64 -0
  43. package/esm2022/lib/components/shared-components/action-button-group/index.mjs +3 -0
  44. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.mjs +91 -0
  45. package/esm2022/lib/components/shared-components/dynamic-component/dynamic-component.component.mjs +42 -0
  46. package/esm2022/lib/components/shared-components/dynamic-component/index.mjs +3 -0
  47. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-column.directive.mjs +43 -0
  48. package/esm2022/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.mjs +16 -0
  49. package/esm2022/lib/components/shared-components/feature-list/feature-list-filter.pipe.mjs +24 -0
  50. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.component.mjs +43 -0
  51. package/esm2022/lib/components/shared-components/feature-list/feature-list-page.model.mjs +16 -0
  52. package/esm2022/lib/components/shared-components/feature-list/feature-list.component.mjs +285 -0
  53. package/esm2022/lib/components/shared-components/feature-list/index.mjs +6 -0
  54. package/esm2022/lib/components/shared-components/filter/directives/filter-field.directive.mjs +53 -0
  55. package/esm2022/lib/components/shared-components/filter/filter.component.mjs +195 -0
  56. package/esm2022/lib/components/shared-components/filter/filter.model.mjs +16 -0
  57. package/esm2022/lib/components/shared-components/filter/index.mjs +3 -0
  58. package/esm2022/lib/components/shared-components/generic-field/generic-field.component.mjs +98 -0
  59. package/esm2022/lib/components/shared-components/generic-field/index.mjs +2 -0
  60. package/esm2022/lib/components/shared-components/generic-form/generic-form.component.mjs +46 -0
  61. package/esm2022/lib/components/shared-components/generic-form/generic-form.model.mjs +50 -0
  62. package/esm2022/lib/components/shared-components/generic-form/index.mjs +3 -0
  63. package/esm2022/lib/components/shared-components/index.mjs +7 -0
  64. package/esm2022/lib/components/side-menu/index.mjs +3 -0
  65. package/esm2022/lib/components/side-menu/side-menu.component.mjs +48 -0
  66. package/esm2022/lib/components/side-menu/side-menu.module.mjs +73 -0
  67. package/esm2022/lib/components/snackbar/index.mjs +3 -0
  68. package/esm2022/lib/components/snackbar/services/snackbar.service.mjs +75 -0
  69. package/esm2022/lib/components/snackbar/snackbar.component.mjs +61 -0
  70. package/esm2022/lib/components/snackbar/snackbar.model.mjs +2 -0
  71. package/esm2022/lib/components/stepper/index.mjs +2 -0
  72. package/esm2022/lib/components/stepper/stepper.component.mjs +66 -0
  73. package/esm2022/lib/components/switch/index.mjs +2 -0
  74. package/esm2022/lib/components/switch/switch.component.mjs +45 -0
  75. package/esm2022/lib/components/tab-view/index.mjs +4 -0
  76. package/esm2022/lib/components/tab-view/tab-view-item.component.mjs +41 -0
  77. package/esm2022/lib/components/tab-view/tab-view.component.mjs +56 -0
  78. package/esm2022/lib/components/tab-view/tab-view.module.mjs +41 -0
  79. package/esm2022/lib/components/table/index.mjs +2 -0
  80. package/esm2022/lib/components/table/table-pagination-info.component.mjs +32 -0
  81. package/esm2022/lib/components/table/table.component.mjs +359 -0
  82. package/esm2022/lib/components/table/table.model.mjs +14 -0
  83. package/esm2022/lib/components/textarea/index.mjs +2 -0
  84. package/esm2022/lib/components/textarea/textarea.component.mjs +95 -0
  85. package/esm2022/lib/components/textfield/index.mjs +2 -0
  86. package/esm2022/lib/components/textfield/textfield.component.mjs +124 -0
  87. package/esm2022/lib/components/tooltip/index.mjs +2 -0
  88. package/esm2022/lib/components/tooltip/tooltip.component.mjs +66 -0
  89. package/esm2022/lib/components/tristatecheckbox/index.mjs +2 -0
  90. package/esm2022/lib/components/tristatecheckbox/tristatecheckbox.component.mjs +89 -0
  91. package/esm2022/lib/icons.mjs +35 -0
  92. package/esm2022/lib/index.mjs +6 -0
  93. package/esm2022/lib/init.service.mjs +17 -0
  94. package/esm2022/lib/pages/index.mjs +4 -0
  95. package/esm2022/lib/pages/not-authenticated/index.mjs +2 -0
  96. package/esm2022/lib/pages/not-authenticated/not-authenticated.component.mjs +17 -0
  97. package/esm2022/lib/pages/not-authorized/index.mjs +2 -0
  98. package/esm2022/lib/pages/not-authorized/not-authorized.component.mjs +20 -0
  99. package/esm2022/lib/pages/not-found/index.mjs +2 -0
  100. package/esm2022/lib/pages/not-found/not-found.component.mjs +20 -0
  101. package/esm2022/lib/pipes/color/color.pipe.mjs +27 -0
  102. package/esm2022/lib/pipes/index.mjs +4 -0
  103. package/esm2022/lib/pipes/multiselect/multiselect-options.pipe.mjs +52 -0
  104. package/esm2022/lib/pipes/size/size.pipe.mjs +23 -0
  105. package/esm2022/verisoft-ui-govcz.mjs +5 -0
  106. package/fesm2022/verisoft-ui-govcz.mjs +3742 -0
  107. package/fesm2022/verisoft-ui-govcz.mjs.map +1 -0
  108. package/index.d.ts +1 -0
  109. package/lib/components/breadcrumb/breadcrumb.component.d.ts +7 -0
  110. package/{src/lib/components/breadcrumb/index.ts → lib/components/breadcrumb/index.d.ts} +1 -1
  111. package/lib/components/button/button.component.d.ts +26 -0
  112. package/lib/components/button/index.d.ts +1 -0
  113. package/lib/components/calendar/calendar.component.d.ts +23 -0
  114. package/lib/components/calendar/index.d.ts +1 -0
  115. package/lib/components/checkbox/checkbox.component.d.ts +15 -0
  116. package/lib/components/checkbox/index.d.ts +1 -0
  117. package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +15 -0
  118. package/{src/lib/components/confirm-dialog/index.ts → lib/components/confirm-dialog/index.d.ts} +1 -1
  119. package/lib/components/dropdown/dropdown-item.component.d.ts +7 -0
  120. package/lib/components/dropdown/dropdown.component.d.ts +65 -0
  121. package/{src/lib/components/dropdown/dropdown.model.ts → lib/components/dropdown/dropdown.model.d.ts} +6 -6
  122. package/{src/lib/components/dropdown/index.ts → lib/components/dropdown/index.d.ts} +1 -1
  123. package/lib/components/errors/error.component.d.ts +14 -0
  124. package/lib/components/errors/index.d.ts +1 -0
  125. package/lib/components/form-field/form-field.component.d.ts +25 -0
  126. package/{src/lib/components/form-field/index.ts → lib/components/form-field/index.d.ts} +1 -1
  127. package/lib/components/header/header.component.d.ts +25 -0
  128. package/lib/components/header/index.d.ts +1 -0
  129. package/{src/lib/components/index.ts → lib/components/index.d.ts} +33 -33
  130. package/lib/components/input-group/index.d.ts +1 -0
  131. package/lib/components/input-group/input-group.component.d.ts +24 -0
  132. package/lib/components/loader/index.d.ts +1 -0
  133. package/lib/components/loader/loader.component.d.ts +8 -0
  134. package/lib/components/multiselect/index.d.ts +1 -0
  135. package/lib/components/multiselect/multiselect.component.d.ts +35 -0
  136. package/lib/components/number-input/index.d.ts +1 -0
  137. package/lib/components/number-input/number-input.component.d.ts +29 -0
  138. package/lib/components/page-header/index.d.ts +1 -0
  139. package/lib/components/page-header/page-header.component.d.ts +9 -0
  140. package/{src/lib/components/password/index.ts → lib/components/password/index.d.ts} +1 -1
  141. package/lib/components/password/password.component.d.ts +23 -0
  142. package/lib/components/radiobutton/index.d.ts +1 -0
  143. package/lib/components/radiobutton/radiobutton.component.d.ts +12 -0
  144. package/lib/components/search/index.d.ts +1 -0
  145. package/lib/components/search/search.component.d.ts +14 -0
  146. package/lib/components/section/index.d.ts +1 -0
  147. package/lib/components/section/section.component.d.ts +18 -0
  148. package/lib/components/shared-components/action-button-group/action-button-group.component.d.ts +29 -0
  149. package/lib/components/shared-components/action-button-group/components/action-button/action-button.component.d.ts +24 -0
  150. package/{src/lib/components/shared-components/action-button-group/index.ts → lib/components/shared-components/action-button-group/index.d.ts} +2 -2
  151. package/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.d.ts +17 -0
  152. package/lib/components/shared-components/dynamic-component/dynamic-component.component.d.ts +16 -0
  153. package/{src/lib/components/shared-components/dynamic-component/index.ts → lib/components/shared-components/dynamic-component/index.d.ts} +2 -2
  154. package/lib/components/shared-components/feature-list/directives/feature-list-column.directive.d.ts +10 -0
  155. package/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.d.ts +6 -0
  156. package/lib/components/shared-components/feature-list/feature-list-filter.pipe.d.ts +9 -0
  157. package/lib/components/shared-components/feature-list/feature-list-page.component.d.ts +9 -0
  158. package/lib/components/shared-components/feature-list/feature-list-page.model.d.ts +23 -0
  159. package/lib/components/shared-components/feature-list/feature-list.component.d.ts +62 -0
  160. package/{src/lib/components/shared-components/feature-list/index.ts → lib/components/shared-components/feature-list/index.d.ts} +5 -5
  161. package/lib/components/shared-components/filter/directives/filter-field.directive.d.ts +20 -0
  162. package/lib/components/shared-components/filter/filter.component.d.ts +53 -0
  163. package/lib/components/shared-components/filter/filter.model.d.ts +2 -0
  164. package/{src/lib/components/shared-components/filter/index.ts → lib/components/shared-components/filter/index.d.ts} +2 -2
  165. package/lib/components/shared-components/generic-field/generic-field.component.d.ts +28 -0
  166. package/{src/lib/components/shared-components/generic-field/index.ts → lib/components/shared-components/generic-field/index.d.ts} +1 -1
  167. package/lib/components/shared-components/generic-form/generic-form.component.d.ts +15 -0
  168. package/lib/components/shared-components/generic-form/generic-form.model.d.ts +4 -0
  169. package/{src/lib/components/shared-components/generic-form/index.ts → lib/components/shared-components/generic-form/index.d.ts} +2 -2
  170. package/{src/lib/components/shared-components/index.ts → lib/components/shared-components/index.d.ts} +6 -6
  171. package/{src/lib/components/side-menu/index.ts → lib/components/side-menu/index.d.ts} +2 -2
  172. package/lib/components/side-menu/side-menu.component.d.ts +15 -0
  173. package/lib/components/side-menu/side-menu.module.d.ts +12 -0
  174. package/{src/lib/components/snackbar/index.ts → lib/components/snackbar/index.d.ts} +2 -2
  175. package/lib/components/snackbar/services/snackbar.service.d.ts +18 -0
  176. package/lib/components/snackbar/snackbar.component.d.ts +18 -0
  177. package/{src/lib/components/snackbar/snackbar.model.ts → lib/components/snackbar/snackbar.model.d.ts} +10 -10
  178. package/lib/components/stepper/index.d.ts +1 -0
  179. package/lib/components/stepper/stepper.component.d.ts +20 -0
  180. package/lib/components/switch/index.d.ts +1 -0
  181. package/lib/components/switch/switch.component.d.ts +12 -0
  182. package/{src/lib/components/tab-view/index.ts → lib/components/tab-view/index.d.ts} +3 -3
  183. package/lib/components/tab-view/tab-view-item.component.d.ts +14 -0
  184. package/lib/components/tab-view/tab-view.component.d.ts +19 -0
  185. package/lib/components/tab-view/tab-view.module.d.ts +12 -0
  186. package/{src/lib/components/table/index.ts → lib/components/table/index.d.ts} +1 -1
  187. package/lib/components/table/table-pagination-info.component.d.ts +12 -0
  188. package/lib/components/table/table.component.d.ts +91 -0
  189. package/lib/components/table/table.model.d.ts +3 -0
  190. package/lib/components/textarea/index.d.ts +1 -0
  191. package/lib/components/textarea/textarea.component.d.ts +25 -0
  192. package/lib/components/textfield/index.d.ts +1 -0
  193. package/lib/components/textfield/textfield.component.d.ts +28 -0
  194. package/lib/components/tooltip/index.d.ts +1 -0
  195. package/lib/components/tooltip/tooltip.component.d.ts +18 -0
  196. package/{src/lib/components/tristatecheckbox/index.ts → lib/components/tristatecheckbox/index.d.ts} +1 -1
  197. package/lib/components/tristatecheckbox/tristatecheckbox.component.d.ts +27 -0
  198. package/lib/icons.d.ts +2 -0
  199. package/{src/lib/index.ts → lib/index.d.ts} +5 -5
  200. package/lib/init.service.d.ts +6 -0
  201. package/{src/lib/pages/index.ts → lib/pages/index.d.ts} +3 -3
  202. package/{src/lib/pages/not-authenticated/index.ts → lib/pages/not-authenticated/index.d.ts} +1 -1
  203. package/lib/pages/not-authenticated/not-authenticated.component.d.ts +5 -0
  204. package/{src/lib/pages/not-authorized/index.ts → lib/pages/not-authorized/index.d.ts} +1 -1
  205. package/lib/pages/not-authorized/not-authorized.component.d.ts +6 -0
  206. package/{src/lib/pages/not-found/index.ts → lib/pages/not-found/index.d.ts} +1 -1
  207. package/lib/pages/not-found/not-found.component.d.ts +6 -0
  208. package/lib/pipes/color/color.pipe.d.ts +8 -0
  209. package/{src/lib/pipes/index.ts → lib/pipes/index.d.ts} +3 -3
  210. package/lib/pipes/multiselect/multiselect-options.pipe.d.ts +9 -0
  211. package/lib/pipes/size/size.pipe.d.ts +8 -0
  212. package/package.json +38 -23
  213. package/.eslintrc.json +0 -48
  214. package/jest.config.ts +0 -21
  215. package/ng-package.json +0 -15
  216. package/project.json +0 -49
  217. package/src/assets/main.css +0 -18
  218. package/src/config.d.ts +0 -10
  219. package/src/index.ts +0 -1
  220. package/src/lib/components/breadcrumb/breadcrumb.component.html +0 -23
  221. package/src/lib/components/breadcrumb/breadcrumb.component.scss +0 -0
  222. package/src/lib/components/breadcrumb/breadcrumb.component.spec.ts +0 -21
  223. package/src/lib/components/breadcrumb/breadcrumb.component.ts +0 -30
  224. package/src/lib/components/button/button.component.html +0 -26
  225. package/src/lib/components/button/button.component.scss +0 -0
  226. package/src/lib/components/button/button.component.ts +0 -72
  227. package/src/lib/components/button/index.ts +0 -1
  228. package/src/lib/components/calendar/calendar.component.html +0 -28
  229. package/src/lib/components/calendar/calendar.component.scss +0 -0
  230. package/src/lib/components/calendar/calendar.component.ts +0 -79
  231. package/src/lib/components/calendar/index.ts +0 -1
  232. package/src/lib/components/checkbox/checkbox.component.html +0 -23
  233. package/src/lib/components/checkbox/checkbox.component.scss +0 -0
  234. package/src/lib/components/checkbox/checkbox.component.ts +0 -62
  235. package/src/lib/components/checkbox/index.ts +0 -1
  236. package/src/lib/components/confirm-dialog/confirm-dialog.component.html +0 -50
  237. package/src/lib/components/confirm-dialog/confirm-dialog.component.scss +0 -4
  238. package/src/lib/components/confirm-dialog/confirm-dialog.component.ts +0 -80
  239. package/src/lib/components/dropdown/dropdown-item.component.html +0 -8
  240. package/src/lib/components/dropdown/dropdown-item.component.ts +0 -18
  241. package/src/lib/components/dropdown/dropdown.component.html +0 -90
  242. package/src/lib/components/dropdown/dropdown.component.scss +0 -108
  243. package/src/lib/components/dropdown/dropdown.component.spec.ts +0 -21
  244. package/src/lib/components/dropdown/dropdown.component.ts +0 -297
  245. package/src/lib/components/errors/error.component.html +0 -11
  246. package/src/lib/components/errors/error.component.scss +0 -0
  247. package/src/lib/components/errors/error.component.spec.ts +0 -19
  248. package/src/lib/components/errors/error.component.ts +0 -30
  249. package/src/lib/components/errors/index.ts +0 -1
  250. package/src/lib/components/form-field/form-field.component.html +0 -14
  251. package/src/lib/components/form-field/form-field.component.scss +0 -0
  252. package/src/lib/components/form-field/form-field.component.spec.ts +0 -21
  253. package/src/lib/components/form-field/form-field.component.ts +0 -78
  254. package/src/lib/components/header/header.component.html +0 -122
  255. package/src/lib/components/header/header.component.scss +0 -0
  256. package/src/lib/components/header/header.component.ts +0 -91
  257. package/src/lib/components/header/index.ts +0 -1
  258. package/src/lib/components/input-group/index.ts +0 -1
  259. package/src/lib/components/input-group/input-group.component.html +0 -41
  260. package/src/lib/components/input-group/input-group.component.scss +0 -0
  261. package/src/lib/components/input-group/input-group.component.ts +0 -77
  262. package/src/lib/components/loader/index.ts +0 -1
  263. package/src/lib/components/loader/loader.component.html +0 -7
  264. package/src/lib/components/loader/loader.component.scss +0 -0
  265. package/src/lib/components/loader/loader.component.spec.ts +0 -21
  266. package/src/lib/components/loader/loader.component.ts +0 -33
  267. package/src/lib/components/multiselect/index.ts +0 -1
  268. package/src/lib/components/multiselect/multiselect.component.html +0 -21
  269. package/src/lib/components/multiselect/multiselect.component.scss +0 -0
  270. package/src/lib/components/multiselect/multiselect.component.spec.ts +0 -21
  271. package/src/lib/components/multiselect/multiselect.component.ts +0 -119
  272. package/src/lib/components/number-input/index.ts +0 -1
  273. package/src/lib/components/number-input/number-input.component.html +0 -48
  274. package/src/lib/components/number-input/number-input.component.scss +0 -0
  275. package/src/lib/components/number-input/number-input.component.ts +0 -82
  276. package/src/lib/components/page-header/index.ts +0 -1
  277. package/src/lib/components/page-header/page-header.component.html +0 -3
  278. package/src/lib/components/page-header/page-header.component.scss +0 -11
  279. package/src/lib/components/page-header/page-header.component.spec.ts +0 -21
  280. package/src/lib/components/page-header/page-header.component.ts +0 -29
  281. package/src/lib/components/password/password.component.html +0 -31
  282. package/src/lib/components/password/password.component.scss +0 -0
  283. package/src/lib/components/password/password.component.spec.ts +0 -21
  284. package/src/lib/components/password/password.component.ts +0 -85
  285. package/src/lib/components/radiobutton/index.ts +0 -1
  286. package/src/lib/components/radiobutton/radiobutton.component.html +0 -23
  287. package/src/lib/components/radiobutton/radiobutton.component.scss +0 -0
  288. package/src/lib/components/radiobutton/radiobutton.component.ts +0 -58
  289. package/src/lib/components/search/index.ts +0 -1
  290. package/src/lib/components/search/search.component.html +0 -23
  291. package/src/lib/components/search/search.component.scss +0 -0
  292. package/src/lib/components/search/search.component.ts +0 -47
  293. package/src/lib/components/section/index.ts +0 -1
  294. package/src/lib/components/section/section.component.html +0 -26
  295. package/src/lib/components/section/section.component.scss +0 -0
  296. package/src/lib/components/section/section.component.ts +0 -57
  297. package/src/lib/components/shared-components/action-button-group/action-button-group.component.html +0 -27
  298. package/src/lib/components/shared-components/action-button-group/action-button-group.component.scss +0 -0
  299. package/src/lib/components/shared-components/action-button-group/action-button-group.component.spec.ts +0 -21
  300. package/src/lib/components/shared-components/action-button-group/action-button-group.component.ts +0 -114
  301. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.html +0 -11
  302. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.scss +0 -0
  303. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.spec.ts +0 -21
  304. package/src/lib/components/shared-components/action-button-group/components/action-button/action-button.component.ts +0 -71
  305. package/src/lib/components/shared-components/dynamic-component/dynamic-component-factory.service.ts +0 -142
  306. package/src/lib/components/shared-components/dynamic-component/dynamic-component.component.ts +0 -56
  307. package/src/lib/components/shared-components/feature-list/directives/feature-list-column.directive.ts +0 -32
  308. package/src/lib/components/shared-components/feature-list/directives/feature-list-filter-field.directive.ts +0 -8
  309. package/src/lib/components/shared-components/feature-list/feature-list-filter.pipe.ts +0 -21
  310. package/src/lib/components/shared-components/feature-list/feature-list-page.component.ts +0 -31
  311. package/src/lib/components/shared-components/feature-list/feature-list-page.model.ts +0 -42
  312. package/src/lib/components/shared-components/feature-list/feature-list.component.html +0 -59
  313. package/src/lib/components/shared-components/feature-list/feature-list.component.scss +0 -10
  314. package/src/lib/components/shared-components/feature-list/feature-list.component.ts +0 -342
  315. package/src/lib/components/shared-components/filter/directives/filter-field.directive.ts +0 -35
  316. package/src/lib/components/shared-components/filter/filter.component.html +0 -68
  317. package/src/lib/components/shared-components/filter/filter.component.scss +0 -0
  318. package/src/lib/components/shared-components/filter/filter.component.spec.ts +0 -21
  319. package/src/lib/components/shared-components/filter/filter.component.stories.ts +0 -23
  320. package/src/lib/components/shared-components/filter/filter.component.ts +0 -284
  321. package/src/lib/components/shared-components/filter/filter.model.ts +0 -18
  322. package/src/lib/components/shared-components/generic-field/generic-field.component.html +0 -97
  323. package/src/lib/components/shared-components/generic-field/generic-field.component.spec.ts +0 -21
  324. package/src/lib/components/shared-components/generic-field/generic-field.component.ts +0 -94
  325. package/src/lib/components/shared-components/generic-form/generic-form.component.html +0 -46
  326. package/src/lib/components/shared-components/generic-form/generic-form.component.spec.ts +0 -21
  327. package/src/lib/components/shared-components/generic-form/generic-form.component.ts +0 -57
  328. package/src/lib/components/shared-components/generic-form/generic-form.model.spec.ts +0 -82
  329. package/src/lib/components/shared-components/generic-form/generic-form.model.ts +0 -68
  330. package/src/lib/components/side-menu/side-menu.component.html +0 -25
  331. package/src/lib/components/side-menu/side-menu.component.scss +0 -23
  332. package/src/lib/components/side-menu/side-menu.component.ts +0 -42
  333. package/src/lib/components/side-menu/side-menu.module.ts +0 -64
  334. package/src/lib/components/sidemenu/index.ts +0 -2
  335. package/src/lib/components/snackbar/services/snackbar.service.ts +0 -73
  336. package/src/lib/components/snackbar/snackbar.component.html +0 -14
  337. package/src/lib/components/snackbar/snackbar.component.scss +0 -0
  338. package/src/lib/components/snackbar/snackbar.component.spec.ts +0 -21
  339. package/src/lib/components/snackbar/snackbar.component.ts +0 -45
  340. package/src/lib/components/stepper/index.ts +0 -1
  341. package/src/lib/components/stepper/stepper.component.html +0 -35
  342. package/src/lib/components/stepper/stepper.component.scss +0 -9
  343. package/src/lib/components/stepper/stepper.component.ts +0 -61
  344. package/src/lib/components/switch/index.ts +0 -1
  345. package/src/lib/components/switch/switch.component.html +0 -16
  346. package/src/lib/components/switch/switch.component.scss +0 -0
  347. package/src/lib/components/switch/switch.component.ts +0 -37
  348. package/src/lib/components/tab-view/tab-view-item.component.ts +0 -23
  349. package/src/lib/components/tab-view/tab-view.component.html +0 -51
  350. package/src/lib/components/tab-view/tab-view.component.scss +0 -43
  351. package/src/lib/components/tab-view/tab-view.component.ts +0 -61
  352. package/src/lib/components/tab-view/tab-view.module.ts +0 -25
  353. package/src/lib/components/table/table-pagination-info.component.html +0 -9
  354. package/src/lib/components/table/table-pagination-info.component.ts +0 -22
  355. package/src/lib/components/table/table.component.html +0 -198
  356. package/src/lib/components/table/table.component.scss +0 -193
  357. package/src/lib/components/table/table.component.ts +0 -387
  358. package/src/lib/components/table/table.model.ts +0 -17
  359. package/src/lib/components/table/table.models.ts +0 -12
  360. package/src/lib/components/textarea/index.ts +0 -1
  361. package/src/lib/components/textarea/textarea.component.html +0 -50
  362. package/src/lib/components/textarea/textarea.component.scss +0 -0
  363. package/src/lib/components/textarea/textarea.component.ts +0 -78
  364. package/src/lib/components/textfield/index.ts +0 -1
  365. package/src/lib/components/textfield/textfield.component.html +0 -56
  366. package/src/lib/components/textfield/textfield.component.scss +0 -0
  367. package/src/lib/components/textfield/textfield.component.ts +0 -114
  368. package/src/lib/components/tooltip/index.ts +0 -1
  369. package/src/lib/components/tooltip/tooltip.component.html +0 -10
  370. package/src/lib/components/tooltip/tooltip.component.scss +0 -0
  371. package/src/lib/components/tooltip/tooltip.component.ts +0 -57
  372. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.html +0 -23
  373. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.scss +0 -0
  374. package/src/lib/components/tristatecheckbox/tristatecheckbox.component.ts +0 -103
  375. package/src/lib/icons.ts +0 -36
  376. package/src/lib/init.service.ts +0 -11
  377. package/src/lib/interceptors/http-error-message.interceptor.ts +0 -45
  378. package/src/lib/pages/bad-request-page/bad-request-page.component.html +0 -5
  379. package/src/lib/pages/bad-request-page/bad-request-page.component.scss +0 -0
  380. package/src/lib/pages/bad-request-page/bad-request-page.component.ts +0 -15
  381. package/src/lib/pages/error-page/error-page.component.html +0 -5
  382. package/src/lib/pages/error-page/error-page.component.scss +0 -0
  383. package/src/lib/pages/error-page/error-page.component.ts +0 -32
  384. package/src/lib/pages/error-page/error-page.constants.ts +0 -19
  385. package/src/lib/pages/internal-server-error-page/internal-server-error-page.component.html +0 -5
  386. package/src/lib/pages/internal-server-error-page/internal-server-error-page.component.scss +0 -0
  387. package/src/lib/pages/internal-server-error-page/internal-server-error-page.component.ts +0 -16
  388. package/src/lib/pages/not-authenticated/not-authenticated.component.html +0 -5
  389. package/src/lib/pages/not-authenticated/not-authenticated.component.ts +0 -14
  390. package/src/lib/pages/not-authorized/not-authorized.component.html +0 -5
  391. package/src/lib/pages/not-authorized/not-authorized.component.ts +0 -18
  392. package/src/lib/pages/not-found/not-found.component.html +0 -5
  393. package/src/lib/pages/not-found/not-found.component.ts +0 -18
  394. package/src/lib/pages/not-found-page/not-found-page.component.html +0 -6
  395. package/src/lib/pages/not-found-page/not-found-page.component.scss +0 -0
  396. package/src/lib/pages/not-found-page/not-found-page.component.ts +0 -16
  397. package/src/lib/pipes/color/color.pipe.ts +0 -24
  398. package/src/lib/pipes/multiselect/multiselect-options.pipe.ts +0 -61
  399. package/src/lib/pipes/size/size.pipe.ts +0 -20
  400. package/src/test-setup.ts +0 -8
  401. package/tsconfig.json +0 -30
  402. package/tsconfig.lib.json +0 -17
  403. package/tsconfig.lib.prod.json +0 -9
  404. package/tsconfig.spec.json +0 -16
  405. /package/{src/sass → sass}/header.css +0 -0
  406. /package/{src/sass → sass}/header.scss +0 -0
  407. /package/{src/sass → sass}/main.scss +0 -0
  408. /package/{src/sass → sass}/scrollbar.scss +0 -0
  409. /package/{src/sass → sass}/sidemenu.css +0 -0
  410. /package/{src/sass → sass}/vendors/_bootstrap.scss +0 -0
@@ -0,0 +1,195 @@
1
+ import { AsyncPipe } from '@angular/common';
2
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, forwardRef, inject, Input, QueryList, } from '@angular/core';
3
+ import { FormGroup, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
4
+ import { ButtonShortCutDirective, DEFAULT_DEBOUNCE_TIME, DialogService, FieldSize, FILTER_COMPONENT_TOKEN, isFilterEmpty, ScreenSizeService, UnsubscribeComponent, } from '@verisoft/ui-core';
5
+ import { BadgeModule } from 'primeng/badge';
6
+ import { BehaviorSubject, combineLatestWith, debounceTime, distinctUntilChanged, map, startWith, takeUntil, } from 'rxjs';
7
+ import { Icons } from '../../../icons';
8
+ import { ButtonComponent } from '../../button';
9
+ import { TextfieldComponent } from '../../textfield';
10
+ import { generateFormGroup, GenericFormComponent } from '../generic-form';
11
+ import { FilterFieldDirective } from './directives/filter-field.directive';
12
+ import { getFilledControlCount } from './filter.model';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@angular/forms";
15
+ export class FilterComponent extends UnsubscribeComponent {
16
+ fieldDeclarations;
17
+ fields = [];
18
+ filters = [];
19
+ title;
20
+ fulltextFieldName = 'searchField';
21
+ showFulltext = true;
22
+ showFilters = true;
23
+ autoBind = true;
24
+ debounceTime = DEFAULT_DEBOUNCE_TIME;
25
+ icons = Icons;
26
+ fieldDefinitios$;
27
+ formGroup$;
28
+ simpleFormFieldDefinitions$;
29
+ searchField = {
30
+ name: this.fulltextFieldName,
31
+ };
32
+ onTouch;
33
+ onChange;
34
+ inputFields$ = new BehaviorSubject([...this.fields ?? [], ...this.filters ?? []]);
35
+ FieldSize = FieldSize;
36
+ screenSizeService = inject(ScreenSizeService);
37
+ changeDetectorRef = inject(ChangeDetectorRef);
38
+ dialogService = inject(DialogService);
39
+ service;
40
+ formGroup = new FormGroup({});
41
+ filledFiltersCount$ = this.formGroup.valueChanges.pipe(startWith(this.formGroup), map(() => getFilledControlCount(this.formGroup).toString()));
42
+ lastFormFields = [];
43
+ ngOnInit() {
44
+ this.formGroup.valueChanges
45
+ .pipe(takeUntil(this.destroyed$), debounceTime(this.debounceTime ?? DEFAULT_DEBOUNCE_TIME), map((x) => this.convertFilter(x)), distinctUntilChanged())
46
+ .subscribe((value) => this.onChange?.(value));
47
+ }
48
+ ngOnChanges(changes) {
49
+ if (changes['fields'] || changes['filters']) {
50
+ this.inputFields$.next([...this.fields ?? [], ...this.filters ?? []]);
51
+ }
52
+ }
53
+ ngAfterContentInit() {
54
+ const fieldDeclaratios$ = this.fieldDeclarations.changes.pipe(startWith({}), map(() => this.fieldDeclarations.toArray()));
55
+ this.fieldDefinitios$ = this.inputFields$.pipe(combineLatestWith(fieldDeclaratios$), map(([inputs, views]) => {
56
+ this.searchField.name = this.fulltextFieldName;
57
+ this.lastFormFields = [this.searchField, ...(inputs ?? []), ...views];
58
+ return this.lastFormFields;
59
+ }));
60
+ this.simpleFormFieldDefinitions$ = this.fieldDefinitios$.pipe(map((fields) => {
61
+ return fields
62
+ .filter((x) => x.name !== this.fulltextFieldName)
63
+ .map((x) => ({ ...x, floatLabel: true, size: FieldSize.large }));
64
+ }));
65
+ this.formGroup$ = this.fieldDefinitios$.pipe(map((fields) => generateFormGroup(fields, this.formGroup, undefined, false)));
66
+ this.changeDetectorRef.detectChanges();
67
+ }
68
+ openFilter() {
69
+ const fields = this.lastFormFields.map((x) => ({
70
+ ...x,
71
+ label: x.name === this.fulltextFieldName ? 'Fulltext' : x.label ?? x.name,
72
+ }));
73
+ const formGroup = generateFormGroup(this.lastFormFields, undefined, undefined, false);
74
+ formGroup.patchValue(this.formGroup.value);
75
+ this.dialogService.showDialog({
76
+ title: 'Set filters',
77
+ headerIcon: this.icons.filter,
78
+ severity: 'primary',
79
+ componentType: GenericFormComponent,
80
+ data: {
81
+ formGroup,
82
+ fields: fields,
83
+ columns: 1,
84
+ },
85
+ confirmButtonFn: () => this.setFilterValues(formGroup),
86
+ confirmButtonText: 'Apply',
87
+ cancelButtonFn: () => this.clear(),
88
+ cancelButtonText: 'Clear all',
89
+ showCancelButton: true,
90
+ closable: false,
91
+ });
92
+ }
93
+ openSearch() {
94
+ this.dialogService.showDialog({
95
+ headerIcon: 'pi pi-search',
96
+ severity: 'primary',
97
+ innerHTML: '<p>Search</p>',
98
+ confirmButtonFn: () => this.submitValue(),
99
+ confirmButtonText: 'Apply',
100
+ cancelButtonFn: () => this.clear(),
101
+ cancelButtonText: 'Clear all',
102
+ showCancelButton: true,
103
+ closable: false,
104
+ });
105
+ }
106
+ writeValue(data) {
107
+ this.formGroup.patchValue(data);
108
+ }
109
+ registerOnChange(fn) {
110
+ this.onChange = fn;
111
+ }
112
+ registerOnTouched(fn) {
113
+ this.onTouch = fn;
114
+ }
115
+ setDisabledState(isDisabled) {
116
+ isDisabled ? this.formGroup.disable() : this.formGroup.enable();
117
+ }
118
+ submitValue() {
119
+ if (!this.autoBind) {
120
+ this.onChange?.(this.formGroup.value);
121
+ }
122
+ }
123
+ setFilterValues(dialogFormGroup) {
124
+ this.formGroup.setValue(dialogFormGroup.value);
125
+ this.submitValue();
126
+ }
127
+ clear() {
128
+ this.formGroup.reset();
129
+ this.submitValue();
130
+ }
131
+ convertFilter(value) {
132
+ if (value == undefined) {
133
+ return undefined;
134
+ }
135
+ const isEmpty = isFilterEmpty(value);
136
+ if (isEmpty) {
137
+ return undefined;
138
+ }
139
+ return value;
140
+ }
141
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
142
+ static ɵ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: [
143
+ {
144
+ provide: NG_VALUE_ACCESSOR,
145
+ useExisting: forwardRef(() => FilterComponent),
146
+ multi: true,
147
+ },
148
+ {
149
+ provide: FILTER_COMPONENT_TOKEN,
150
+ useExisting: FilterComponent,
151
+ },
152
+ ], 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: ["floatLabel", "type", "minlength", "maxlength", "min", "max", "prefix", "sufix", "message", "name", "role", "size", "icon", "iconPos", "labelSlot", "errorSlot", "messageSlot"] }, { 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", "routerLink", "size", "queryParams", "severity", "type", "expanded", "name"], outputs: ["click"] }, { kind: "directive", type: ButtonShortCutDirective, selector: "v-button[useShortCut]", inputs: ["shortCutFn", "shortCutKey"], exportAs: ["useShortCut"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
153
+ }
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FilterComponent, decorators: [{
155
+ type: Component,
156
+ args: [{ selector: 'v-filter', standalone: true, imports: [
157
+ AsyncPipe,
158
+ ReactiveFormsModule,
159
+ BadgeModule,
160
+ TextfieldComponent,
161
+ GenericFormComponent,
162
+ ButtonComponent,
163
+ ButtonShortCutDirective,
164
+ ], providers: [
165
+ {
166
+ provide: NG_VALUE_ACCESSOR,
167
+ useExisting: forwardRef(() => FilterComponent),
168
+ multi: true,
169
+ },
170
+ {
171
+ provide: FILTER_COMPONENT_TOKEN,
172
+ useExisting: FilterComponent,
173
+ },
174
+ ], 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" }]
175
+ }], propDecorators: { fieldDeclarations: [{
176
+ type: ContentChildren,
177
+ args: [FilterFieldDirective]
178
+ }], fields: [{
179
+ type: Input
180
+ }], filters: [{
181
+ type: Input
182
+ }], title: [{
183
+ type: Input
184
+ }], fulltextFieldName: [{
185
+ type: Input
186
+ }], showFulltext: [{
187
+ type: Input
188
+ }], showFilters: [{
189
+ type: Input
190
+ }], autoBind: [{
191
+ type: Input
192
+ }], debounceTime: [{
193
+ type: Input
194
+ }] } });
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsZUFBZSxFQUNmLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUdMLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixtQkFBbUIsR0FDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixhQUFhLEVBQ2IsU0FBUyxFQUNULHNCQUFzQixFQUd0QixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLG9CQUFvQixHQUNyQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsWUFBWSxFQUNaLG9CQUFvQixFQUNwQixHQUFHLEVBRUgsU0FBUyxFQUNULFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FB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QixhQUNVO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGdCQUFnQixDQUFDOzRCQUM5QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsc0JBQXNCOzRCQUMvQixXQUFXLGlCQUFpQjt5QkFDN0I7cUJBQ0YsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU07OEJBTy9DLGlCQUFpQjtzQkFEaEIsZUFBZTt1QkFBQyxvQkFBb0I7Z0JBRzVCLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXN5bmNQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGRyZW4sXHJcbiAgZm9yd2FyZFJlZixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBRdWVyeUxpc3QsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBGb3JtR3JvdXAsXHJcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2VIdHRwU2VydmljZSB9IGZyb20gJ0B2ZXJpc29mdC9jb3JlJztcclxuaW1wb3J0IHtcclxuICBCdXR0b25TaG9ydEN1dERpcmVjdGl2ZSxcclxuICBERUZBVUxUX0RFQk9VTkNFX1RJTUUsXHJcbiAgRGlhbG9nU2VydmljZSxcclxuICBGaWVsZFNpemUsXHJcbiAgRklMVEVSX0NPTVBPTkVOVF9UT0tFTixcclxuICBGaWx0ZXJDb3JlLFxyXG4gIEdlbmVyaWNGaWVsZERlZmluaXRpb24sXHJcbiAgaXNGaWx0ZXJFbXB0eSxcclxuICBTY3JlZW5TaXplU2VydmljZSxcclxuICBVbnN1YnNjcmliZUNvbXBvbmVudCxcclxufSBmcm9tICdAdmVyaXNvZnQvdWktY29yZSc7XHJcbmltcG9ydCB7IEJhZGdlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9iYWRnZSc7XHJcbmltcG9ydCB7XHJcbiAgQmVoYXZpb3JTdWJqZWN0LFxyXG4gIGNvbWJpbmVMYXRlc3RXaXRoLFxyXG4gIGRlYm91bmNlVGltZSxcclxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcclxuICBtYXAsXHJcbiAgT2JzZXJ2YWJsZSxcclxuICBzdGFydFdpdGgsXHJcbiAgdGFrZVVudGlsLFxyXG59IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBJY29ucyB9IGZyb20gJy4uLy4uLy4uL2ljb25zJztcclxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vYnV0dG9uJztcclxuaW1wb3J0IHsgVGV4dGZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGV4dGZpZWxkJztcclxuaW1wb3J0IHsgZ2VuZXJhdGVGb3JtR3JvdXAsIEdlbmVyaWNGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VuZXJpYy1mb3JtJztcclxuaW1wb3J0IHsgRmlsdGVyRmllbGREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZmlsdGVyLWZpZWxkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IGdldEZpbGxlZENvbnRyb2xDb3VudCB9IGZyb20gJy4vZmlsdGVyLm1vZGVsJztcclxuXHJcbnR5cGUgRmlsdGVyVmFsdWVUeXBlID0geyBba2V5OiBzdHJpbmddOiB1bmtub3duIH07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3YtZmlsdGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEFzeW5jUGlwZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBCYWRnZU1vZHVsZSxcclxuICAgIFRleHRmaWVsZENvbXBvbmVudCxcclxuICAgIEdlbmVyaWNGb3JtQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uQ29tcG9uZW50LFxyXG4gICAgQnV0dG9uU2hvcnRDdXREaXJlY3RpdmUsXHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEZpbHRlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogRklMVEVSX0NPTVBPTkVOVF9UT0tFTixcclxuICAgICAgdXNlRXhpc3Rpbmc6IEZpbHRlckNvbXBvbmVudCxcclxuICAgIH0sXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZmlsdGVyLmNvbXBvbmVudC5zY3NzJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgb2JqZWN0PlxyXG4gIGV4dGVuZHMgVW5zdWJzY3JpYmVDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBGaWx0ZXJDb3JlXHJcbntcclxuICBAQ29udGVudENoaWxkcmVuKEZpbHRlckZpZWxkRGlyZWN0aXZlKVxyXG4gIGZpZWxkRGVjbGFyYXRpb25zITogUXVlcnlMaXN0PEZpbHRlckZpZWxkRGlyZWN0aXZlPjtcclxuXHJcbiAgQElucHV0KCkgZmllbGRzOiBHZW5lcmljRmllbGREZWZpbml0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KCkgZmlsdGVyczogR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBmdWxsdGV4dEZpZWxkTmFtZSA9ICdzZWFyY2hGaWVsZCc7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dGdWxsdGV4dCA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dGaWx0ZXJzID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgYXV0b0JpbmQgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBkZWJvdW5jZVRpbWU/OiBudW1iZXIgPSBERUZBVUxUX0RFQk9VTkNFX1RJTUU7XHJcblxyXG4gIGljb25zID0gSWNvbnM7XHJcblxyXG4gIGZpZWxkRGVmaW5pdGlvcyQ/OiBPYnNlcnZhYmxlPEdlbmVyaWNGaWVsZERlZmluaXRpb25bXT47XHJcblxyXG4gIGZvcm1Hcm91cCQ/OiBPYnNlcnZhYmxlPEZvcm1Hcm91cD47XHJcblxyXG4gIHNpbXBsZUZvcm1GaWVsZERlZmluaXRpb25zJD86IE9ic2VydmFibGU8R2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdPjtcclxuXHJcbiAgcHJpdmF0ZSBzZWFyY2hGaWVsZDogR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbiA9IHtcclxuICAgIG5hbWU6IHRoaXMuZnVsbHRleHRGaWVsZE5hbWUsXHJcbiAgfTtcclxuXHJcbiAgcHJpdmF0ZSBvblRvdWNoPzogKCkgPT4gdm9pZDtcclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZT86ICh2YWx1ZTogRmlsdGVyVmFsdWVUeXBlIHwgdW5kZWZpbmVkKSA9PiB2b2lkO1xyXG5cclxuICBwcml2YXRlIGlucHV0RmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8XHJcbiAgICBHZW5lcmljRmllbGREZWZpbml0aW9uW10gfCB1bmRlZmluZWRcclxuICA+KFsuLi50aGlzLmZpZWxkcyA/PyBbXSwgLi4udGhpcy5maWx0ZXJzID8/IFtdXSk7XHJcblxyXG4gIEZpZWxkU2l6ZSA9IEZpZWxkU2l6ZTtcclxuXHJcbiAgcHJvdGVjdGVkIHNjcmVlblNpemVTZXJ2aWNlID0gaW5qZWN0KFNjcmVlblNpemVTZXJ2aWNlKTtcclxuICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByb3RlY3RlZCBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KERpYWxvZ1NlcnZpY2UpO1xyXG5cclxuICBzZXJ2aWNlITogQmFzZUh0dHBTZXJ2aWNlPFQ+O1xyXG5cclxuICBmb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcclxuXHJcbiAgZmlsbGVkRmlsdGVyc0NvdW50JDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5mb3JtR3JvdXAudmFsdWVDaGFuZ2VzLnBpcGUoXHJcbiAgICBzdGFydFdpdGgodGhpcy5mb3JtR3JvdXApLFxyXG4gICAgbWFwKCgpID0+IGdldEZpbGxlZENvbnRyb2xDb3VudCh0aGlzLmZvcm1Hcm91cCkudG9TdHJpbmcoKSlcclxuICApO1xyXG5cclxuICBwcml2YXRlIGxhc3RGb3JtRmllbGRzOiBHZW5lcmljRmllbGREZWZpbml0aW9uW10gPSBbXTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC52YWx1ZUNoYW5nZXNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCksXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKHRoaXMuZGVib3VuY2VUaW1lID8/IERFRkFVTFRfREVCT1VOQ0VfVElNRSksXHJcbiAgICAgICAgbWFwKCh4KSA9PiB0aGlzLmNvbnZlcnRGaWx0ZXIoeCkpLFxyXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4gdGhpcy5vbkNoYW5nZT8uKHZhbHVlKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGRzJ10gfHwgY2hhbmdlc1snZmlsdGVycyddKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRGaWVsZHMkLm5leHQoWy4uLnRoaXMuZmllbGRzID8/IFtdLCAuLi50aGlzLmZpbHRlcnMgPz8gW11dKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZpZWxkRGVjbGFyYXRpb3MkOiBPYnNlcnZhYmxlPEdlbmVyaWNGaWVsZERlZmluaXRpb25bXT4gPVxyXG4gICAgICB0aGlzLmZpZWxkRGVjbGFyYXRpb25zLmNoYW5nZXMucGlwZShcclxuICAgICAgICBzdGFydFdpdGgoe30pLFxyXG4gICAgICAgIG1hcCgoKSA9PiB0aGlzLmZpZWxkRGVjbGFyYXRpb25zLnRvQXJyYXkoKSlcclxuICAgICAgKTtcclxuXHJcbiAgICB0aGlzLmZpZWxkRGVmaW5pdGlvcyQgPSB0aGlzLmlucHV0RmllbGRzJC5waXBlKFxyXG4gICAgICBjb21iaW5lTGF0ZXN0V2l0aChmaWVsZERlY2xhcmF0aW9zJCksXHJcbiAgICAgIG1hcCgoW2lucHV0cywgdmlld3NdKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZC5uYW1lID0gdGhpcy5mdWxsdGV4dEZpZWxkTmFtZTtcclxuICAgICAgICB0aGlzLmxhc3RGb3JtRmllbGRzID0gW3RoaXMuc2VhcmNoRmllbGQsIC4uLihpbnB1dHMgPz8gW10pLCAuLi52aWV3c107XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdEZvcm1GaWVsZHM7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2ltcGxlRm9ybUZpZWxkRGVmaW5pdGlvbnMkID0gdGhpcy5maWVsZERlZmluaXRpb3MkLnBpcGUoXHJcbiAgICAgIG1hcCgoZmllbGRzKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGZpZWxkc1xyXG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4geC5uYW1lICE9PSB0aGlzLmZ1bGx0ZXh0RmllbGROYW1lKVxyXG4gICAgICAgICAgLm1hcCgoeCkgPT4gKHsgLi4ueCwgZmxvYXRMYWJlbDogdHJ1ZSwgc2l6ZTogRmllbGRTaXplLmxhcmdlIH0pKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5mb3JtR3JvdXAkID0gdGhpcy5maWVsZERlZmluaXRpb3MkLnBpcGUoXHJcbiAgICAgIG1hcCgoZmllbGRzKSA9PlxyXG4gICAgICAgIGdlbmVyYXRlRm9ybUdyb3VwKGZpZWxkcywgdGhpcy5mb3JtR3JvdXAsIHVuZGVmaW5lZCwgZmFsc2UpXHJcbiAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3BlbkZpbHRlcigpIHtcclxuICAgIGNvbnN0IGZpZWxkcyA9IHRoaXMubGFzdEZvcm1GaWVsZHMubWFwKCh4KSA9PiAoe1xyXG4gICAgICAuLi54LFxyXG4gICAgICBsYWJlbDpcclxuICAgICAgICB4Lm5hbWUgPT09IHRoaXMuZnVsbHRleHRGaWVsZE5hbWUgPyAnRnVsbHRleHQnIDogeC5sYWJlbCA/PyB4Lm5hbWUsXHJcbiAgICB9KSk7XHJcblxyXG4gICAgY29uc3QgZm9ybUdyb3VwID0gZ2VuZXJhdGVGb3JtR3JvdXAoXHJcbiAgICAgIHRoaXMubGFzdEZvcm1GaWVsZHMsXHJcbiAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgdW5kZWZpbmVkLFxyXG4gICAgICBmYWxzZVxyXG4gICAgKTtcclxuICAgIGZvcm1Hcm91cC5wYXRjaFZhbHVlKHRoaXMuZm9ybUdyb3VwLnZhbHVlKTtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93RGlhbG9nKHtcclxuICAgICAgdGl0bGU6ICdTZXQgZmlsdGVycycsXHJcbiAgICAgIGhlYWRlckljb246IHRoaXMuaWNvbnMuZmlsdGVyLFxyXG4gICAgICBzZXZlcml0eTogJ3ByaW1hcnknLFxyXG4gICAgICBjb21wb25lbnRUeXBlOiBHZW5lcmljRm9ybUNvbXBvbmVudCxcclxuICAgICAgZGF0YToge1xyXG4gICAgICAgIGZvcm1Hcm91cCxcclxuICAgICAgICBmaWVsZHM6IGZpZWxkcyxcclxuICAgICAgICBjb2x1bW5zOiAxLFxyXG4gICAgICB9LFxyXG4gICAgICBjb25maXJtQnV0dG9uRm46ICgpID0+IHRoaXMuc2V0RmlsdGVyVmFsdWVzKGZvcm1Hcm91cCksXHJcbiAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAnQXBwbHknLFxyXG4gICAgICBjYW5jZWxCdXR0b25GbjogKCkgPT4gdGhpcy5jbGVhcigpLFxyXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiAnQ2xlYXIgYWxsJyxcclxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgY2xvc2FibGU6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgb3BlblNlYXJjaCgpIHtcclxuICAgIHRoaXMuZGlhbG9nU2VydmljZS5zaG93RGlhbG9nKHtcclxuICAgICAgaGVhZGVySWNvbjogJ3BpIHBpLXNlYXJjaCcsXHJcbiAgICAgIHNldmVyaXR5OiAncHJpbWFyeScsXHJcbiAgICAgIGlubmVySFRNTDogJzxwPlNlYXJjaDwvcD4nLFxyXG4gICAgICBjb25maXJtQnV0dG9uRm46ICgpID0+IHRoaXMuc3VibWl0VmFsdWUoKSxcclxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6ICdBcHBseScsXHJcbiAgICAgIGNhbmNlbEJ1dHRvbkZuOiAoKSA9PiB0aGlzLmNsZWFyKCksXHJcbiAgICAgIGNhbmNlbEJ1dHRvblRleHQ6ICdDbGVhciBhbGwnLFxyXG4gICAgICBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlLFxyXG4gICAgICBjbG9zYWJsZTogZmFsc2UsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUoZGF0YTogRmlsdGVyVmFsdWVUeXBlKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1Hcm91cC5wYXRjaFZhbHVlKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBGaWx0ZXJWYWx1ZVR5cGUgfCB1bmRlZmluZWQpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlzRGlzYWJsZWQgPyB0aGlzLmZvcm1Hcm91cC5kaXNhYmxlKCkgOiB0aGlzLmZvcm1Hcm91cC5lbmFibGUoKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdFZhbHVlKCkge1xyXG4gICAgaWYgKCF0aGlzLmF1dG9CaW5kKSB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2U/Lih0aGlzLmZvcm1Hcm91cC52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRGaWx0ZXJWYWx1ZXMoZGlhbG9nRm9ybUdyb3VwOiBGb3JtR3JvdXApIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnNldFZhbHVlKGRpYWxvZ0Zvcm1Hcm91cC52YWx1ZSk7XHJcbiAgICB0aGlzLnN1Ym1pdFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwLnJlc2V0KCk7XHJcbiAgICB0aGlzLnN1Ym1pdFZhbHVlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnZlcnRGaWx0ZXIoXHJcbiAgICB2YWx1ZTogRmlsdGVyVmFsdWVUeXBlIHwgdW5kZWZpbmVkXHJcbiAgKTogRmlsdGVyVmFsdWVUeXBlIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICh2YWx1ZSA9PSB1bmRlZmluZWQpIHtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBpc0VtcHR5ID0gaXNGaWx0ZXJFbXB0eSh2YWx1ZSk7XHJcbiAgICBpZiAoaXNFbXB0eSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInYtZmlsdGVyIHctMTAwIHAtMyBiZy1wcmltYXJ5XCI+XHJcbiAgQGlmIChmb3JtR3JvdXAkIHwgYXN5bmM7IGFzIGZvcm1Hcm91cCl7XHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgIEBpZiAodGl0bGUpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ2LWZpbHRlcl90aXRsZSBwZS00XCI+XHJcbiAgICAgIDxoMiBjbGFzcz1cInRleHQtd2hpdGUgbS0wXCI+e3sgdGl0bGUgfX08L2gyPlxyXG4gICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICA8ZGl2IGNsYXNzPVwidi1maWx0ZXJfX2Z1bGx0ZXh0IGZsZXgtZ3Jvdy0xIHBlLTRcIj5cclxuICAgICAgQGlmIChzaG93RnVsbHRleHQpe1xyXG4gICAgICA8di10ZXh0ZmllbGRcclxuICAgICAgICBjbGFzcz1cImQtbm9uZSBkLWxnLWJsb2NrXCJcclxuICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiXHJcbiAgICAgICAgc2l6ZT1cImxhcmdlXCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzZWFyY2hGaWVsZFwiXHJcbiAgICAgICAgdHlwZT1cInNlYXJjaFwiXHJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcclxuICAgICAgPlxyXG4gICAgICA8L3YtdGV4dGZpZWxkPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoc2ltcGxlRm9ybUZpZWxkRGVmaW5pdGlvbnMkIHwgYXN5bmM7IGFzIGRlY2xhcmF0aW9uKXtcclxuICAgICAgIEBpZiAoc2hvd0ZpbHRlcnMpXHJcbiAgICB7XHJcbiAgICA8ZGl2IGNsYXNzPVwidi1maWx0ZXJfZmlsdGVycyBkLW5vbmUgZC1zbS1ibG9jayBtZS0yXCI+XHJcbiAgICAgIDx2LWdlbmVyaWMtZm9ybVxyXG4gICAgICAgIFtmaWVsZHNdPVwiZGVjbGFyYXRpb25cIlxyXG4gICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcclxuICAgICAgPjwvdi1nZW5lcmljLWZvcm0+XHJcbiAgICAgIDx2LWJ1dHRvbiBsYWJlbD1cIlhcIiBjbGFzcz1cIm10LTNcIiAoY2xpY2spPVwiY2xlYXIoKVwiIC8+XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgICA8ZGl2IGNsYXNzPVwidi1maWx0ZXJfYWN0aW9uLWJ1dHRvbnMgZC1mbGV4XCI+XHJcbiAgICAgIEBpZiAoZGVjbGFyYXRpb24ubGVuZ3RoICYmICFzaG93RmlsdGVycykge1xyXG4gICAgICA8di1idXR0b24gXHJcbiAgICAgICAgY2xhc3M9XCJtZS00XCJcclxuICAgICAgICBbaWNvbl09XCJpY29ucy5maWx0ZXJcIlxyXG4gICAgICAgIFtsYWJlbF09XCIkYW55KGZpbGxlZEZpbHRlcnNDb3VudCQgfCBhc3luYylcIlxyXG4gICAgICAgIChjbGljayk9XCJvcGVuRmlsdGVyKClcIlxyXG4gICAgICAvPlxyXG4gICAgICB9IEBpZiAoIWF1dG9CaW5kKSB7XHJcbiAgICAgIDx2LWJ1dHRvblxyXG4gICAgICAgIHVzZVNob3J0Q3V0XHJcbiAgICAgICAgW3Nob3J0Q3V0Rm5dPVwic3VibWl0VmFsdWUuYmluZCh0aGlzKVwiXHJcbiAgICAgICAgc2hvcnRDdXRLZXk9XCJFbnRlclwiXHJcbiAgICAgICAgY2xhc3M9XCJ0ZXh0LXdoaXRlIG14LTJcIlxyXG4gICAgICAgIFtvdXRsaW5lZF09XCJ0cnVlXCJcclxuICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgIGxhYmVsPVwiQXBwbHlcIlxyXG4gICAgICAgIChjbGljayk9XCJzdWJtaXRWYWx1ZSgpXCJcclxuICAgICAgPjwvdi1idXR0b24+XHJcbiAgICAgIDx2LWJ1dHRvblxyXG4gICAgICAgIHVzZVNob3J0Q3V0XHJcbiAgICAgICAgW3Nob3J0Q3V0Rm5dPVwiY2xlYXIuYmluZCh0aGlzKVwiXHJcbiAgICAgICAgc2hvcnRDdXRLZXk9XCJFc2NhcGVcIlxyXG4gICAgICAgIGNsYXNzPVwidGV4dC13aGl0ZVwiXHJcbiAgICAgICAgW291dGxpbmVkXT1cInRydWVcIlxyXG4gICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgbGFiZWw9XCJDbGVhclwiXHJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIlxyXG4gICAgICA+PC92LWJ1dHRvbj5cclxuICAgICAgfSBcclxuICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidi1hY3Rpb24tYnV0dG9uLWdyb3VwXCI+PC9uZy1jb250ZW50PlxyXG4gIDwvZm9ybT5cclxuICB9XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,16 @@
1
+ export function getFilledControlCount(formGroup) {
2
+ let count = 0;
3
+ Object.keys(formGroup.controls).forEach((key) => {
4
+ const control = formGroup.get(key);
5
+ if (control?.value) {
6
+ if (typeof control.value === 'boolean') {
7
+ count++;
8
+ }
9
+ if (typeof control.value === 'string' && control.value.trim() !== '') {
10
+ count++;
11
+ }
12
+ }
13
+ });
14
+ return count;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktZ292Y3ovc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxVQUFVLHFCQUFxQixDQUFDLFNBQW9CO0lBQ3hELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQzlDLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkMsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDbkIsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZDLEtBQUssRUFBRSxDQUFDO1lBQ1YsQ0FBQztZQUNELElBQUksT0FBTyxPQUFPLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNyRSxLQUFLLEVBQUUsQ0FBQztZQUNWLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsbGVkQ29udHJvbENvdW50KGZvcm1Hcm91cDogRm9ybUdyb3VwKTogbnVtYmVyIHtcclxuICBsZXQgY291bnQgPSAwO1xyXG4gIE9iamVjdC5rZXlzKGZvcm1Hcm91cC5jb250cm9scykuZm9yRWFjaCgoa2V5KSA9PiB7XHJcbiAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xyXG4gICAgaWYgKGNvbnRyb2w/LnZhbHVlKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgY29udHJvbC52YWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgY291bnQrKztcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIGNvbnRyb2wudmFsdWUgPT09ICdzdHJpbmcnICYmIGNvbnRyb2wudmFsdWUudHJpbSgpICE9PSAnJykge1xyXG4gICAgICAgIGNvdW50Kys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIGNvdW50O1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './filter.component';
2
+ export * from './directives/filter-field.directive';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1nb3Zjei9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZmlsdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxxQ0FBcUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZmlsdGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9maWx0ZXItZmllbGQuZGlyZWN0aXZlJztcclxuIl19
@@ -0,0 +1,98 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { BaseFormInputComponent, DatasourceDirective, FieldSize, GENERIC_FIELD_COMPONENT_TOKEN, GenericFieldType, } from '@verisoft/ui-core';
5
+ import { Icons } from '../../../icons';
6
+ import { CalendarComponent } from '../../calendar';
7
+ import { CheckboxComponent } from '../../checkbox';
8
+ import { DropdownComponent } from '../../dropdown';
9
+ import { MultiselectComponent } from '../../multiselect';
10
+ import { TextfieldComponent } from '../../textfield';
11
+ import { TristatecheckboxComponent } from '../../tristatecheckbox';
12
+ import * as i0 from "@angular/core";
13
+ import * as i1 from "@angular/forms";
14
+ export class GenericFieldComponent extends BaseFormInputComponent {
15
+ type = GenericFieldType.text;
16
+ floatLabel;
17
+ optionLabel;
18
+ optionValue;
19
+ options;
20
+ size = FieldSize.medium;
21
+ loading = false;
22
+ lazy = false;
23
+ filter = true;
24
+ datasource;
25
+ filterField;
26
+ showFilter;
27
+ localSearch;
28
+ changed = new EventEmitter();
29
+ showed = new EventEmitter();
30
+ cleared = new EventEmitter();
31
+ lazyLoad = new EventEmitter();
32
+ filtered = new EventEmitter();
33
+ fieldTypes = GenericFieldType;
34
+ icons = Icons;
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵ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: [
37
+ {
38
+ provide: GENERIC_FIELD_COMPONENT_TOKEN,
39
+ useExisting: GenericFieldComponent,
40
+ },
41
+ ], 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", "lazy", "filter", "editable", "loading", "size", "showFilter", "localSearch", "forceMinWidth"], outputs: ["changed", "showed", "cleared", "lazyLoad", "filtered"] }, { kind: "component", type: CalendarComponent, selector: "v-calendar", inputs: ["icon", "floatLabel", "maxDate", "minDate", "header", "footer", "selectionMode", "size", "errorSlot", "labelSlot", "messageSlot", "message", "name"] }, { kind: "component", type: TristatecheckboxComponent, selector: "v-tristatecheckbox", inputs: ["size", "value", "name", "noLabel", "errorSlot", "checked"] }, { kind: "component", type: MultiselectComponent, selector: "v-multiselect", inputs: ["options", "optionLabel", "optionValue", "dropdownIcon", "floatLabel", "editable", "display", "errorSlot", "lazy", "filter", "loading", "size"], outputs: ["changed", "showed", "cleared", "lazyLoad", "filtered"] }, { kind: "component", type: TextfieldComponent, selector: "v-textfield", inputs: ["floatLabel", "type", "minlength", "maxlength", "min", "max", "prefix", "sufix", "message", "name", "role", "size", "icon", "iconPos", "labelSlot", "errorSlot", "messageSlot"] }, { 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", inputs: ["size", "value", "name", "indeterminate", "noLabel"] }, { 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 });
42
+ }
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFieldComponent, decorators: [{
44
+ type: Component,
45
+ args: [{ selector: 'v-generic-field', standalone: true, imports: [
46
+ CommonModule,
47
+ DropdownComponent,
48
+ CalendarComponent,
49
+ TristatecheckboxComponent,
50
+ MultiselectComponent,
51
+ TextfieldComponent,
52
+ ReactiveFormsModule,
53
+ CheckboxComponent,
54
+ DatasourceDirective,
55
+ ], providers: [
56
+ {
57
+ provide: GENERIC_FIELD_COMPONENT_TOKEN,
58
+ useExisting: GenericFieldComponent,
59
+ },
60
+ ], 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" }]
61
+ }], propDecorators: { type: [{
62
+ type: Input
63
+ }], floatLabel: [{
64
+ type: Input
65
+ }], optionLabel: [{
66
+ type: Input
67
+ }], optionValue: [{
68
+ type: Input
69
+ }], options: [{
70
+ type: Input
71
+ }], size: [{
72
+ type: Input
73
+ }], loading: [{
74
+ type: Input
75
+ }], lazy: [{
76
+ type: Input
77
+ }], filter: [{
78
+ type: Input
79
+ }], datasource: [{
80
+ type: Input
81
+ }], filterField: [{
82
+ type: Input
83
+ }], showFilter: [{
84
+ type: Input
85
+ }], localSearch: [{
86
+ type: Input
87
+ }], changed: [{
88
+ type: Output
89
+ }], showed: [{
90
+ type: Output
91
+ }], cleared: [{
92
+ type: Output
93
+ }], lazyLoad: [{
94
+ type: Output
95
+ }], filtered: [{
96
+ type: Output
97
+ }] } });
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1nb3Zjei9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZ2VuZXJpYy1maWVsZC9nZW5lcmljLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9nZW5lcmljLWZpZWxkL2dlbmVyaWMtZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXJELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLFNBQVMsRUFFVCw2QkFBNkIsRUFFN0IsZ0JBQWdCLEdBRWpCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUF5Qm5FLE1BQU0sT0FBTyxxQkFDWCxTQUFRLHNCQUFzQjtJQUdyQixJQUFJLEdBQTBCLGdCQUFnQixDQUFDLElBQUksQ0FBQztJQUVwRCxVQUFVLENBQVc7SUFFckIsV0FBVyxDQUFxQjtJQUVoQyxXQUFXLENBQXFCO0lBRWhDLE9BQU8sQ0FBa0I7SUFFekIsSUFBSSxHQUFtQixTQUFTLENBQUMsTUFBTSxDQUFDO0lBRXhDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUViLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFFZCxVQUFVLENBQW9CO0lBRTlCLFdBQVcsQ0FBVTtJQUVyQixVQUFVLENBQVc7SUFFckIsV0FBVyxDQUFXO0lBRXJCLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2pDLE9BQU8sR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ2xDLFFBQVEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUM3QyxRQUFRLEdBQUcsSUFBSSxZQUFZLEVBQWUsQ0FBQztJQUVyRCxVQUFVLEdBQUcsZ0JBQWdCLENBQUM7SUFDOUIsS0FBSyxHQUFHLEtBQUssQ0FBQzt1R0FyQ0gscUJBQXFCOzJGQUFyQixxQkFBcUIsK2RBVHJCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLDZCQUE2QjtnQkFDdEMsV0FBVyxFQUFFLHFCQUFxQjthQUNuQztTQUNGLGlEQ25ESCw4d0dBaUdBLDJDRDdESSxZQUFZLCtCQUNaLGlCQUFpQiwwU0FDakIsaUJBQWlCLHNOQUNqQix5QkFBeUIscUlBQ3pCLG9CQUFvQix1UkFDcEIsa0JBQWtCLGlQQUNsQixtQkFBbUIsMFRBQ25CLGlCQUFpQixzSEFDakIsbUJBQW1COzsyRkFXVixxQkFBcUI7a0JBdkJqQyxTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsbUJBQW1CO3FCQUN0QixhQUNZO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSw2QkFBNkI7NEJBQ3RDLFdBQVcsdUJBQXVCO3lCQUNuQztxQkFDRixtQkFFZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFNdEMsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsV0FBVztzQkFBbkIsS0FBSztnQkFFSSxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgRGF0YXNvdXJjZVR5cGUsXHJcbiAgRmlsdGVyRXZlbnQsXHJcbiAgTGF6eUxvYWRFdmVudCxcclxufSBmcm9tICdAdmVyaXNvZnQvY29yZSc7XHJcbmltcG9ydCB7XHJcbiAgQmFzZUZvcm1JbnB1dENvbXBvbmVudCxcclxuICBEYXRhc291cmNlRGlyZWN0aXZlLFxyXG4gIEZpZWxkU2l6ZSxcclxuICBGaWVsZFNpemVUeXBlLFxyXG4gIEdFTkVSSUNfRklFTERfQ09NUE9ORU5UX1RPS0VOLFxyXG4gIEdlbmVyaWNGaWVsZENvcmUsXHJcbiAgR2VuZXJpY0ZpZWxkVHlwZSxcclxuICBHZW5lcmljRmllbGRUeXBlVHlwZSxcclxufSBmcm9tICdAdmVyaXNvZnQvdWktY29yZSc7XHJcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vLi4vLi4vaWNvbnMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jaGVja2JveCc7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBNdWx0aXNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uL211bHRpc2VsZWN0JztcclxuaW1wb3J0IHsgVGV4dGZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdGV4dGZpZWxkJztcclxuaW1wb3J0IHsgVHJpc3RhdGVjaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RyaXN0YXRlY2hlY2tib3gnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2LWdlbmVyaWMtZmllbGQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRHJvcGRvd25Db21wb25lbnQsXHJcbiAgICBDYWxlbmRhckNvbXBvbmVudCxcclxuICAgIFRyaXN0YXRlY2hlY2tib3hDb21wb25lbnQsXHJcbiAgICBNdWx0aXNlbGVjdENvbXBvbmVudCxcclxuICAgIFRleHRmaWVsZENvbXBvbmVudCxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBDaGVja2JveENvbXBvbmVudCxcclxuICAgIERhdGFzb3VyY2VEaXJlY3RpdmUsXHJcbl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEdFTkVSSUNfRklFTERfQ09NUE9ORU5UX1RPS0VOLFxyXG4gICAgICB1c2VFeGlzdGluZzogR2VuZXJpY0ZpZWxkQ29tcG9uZW50LFxyXG4gICAgfSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9nZW5lcmljLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIEdlbmVyaWNGaWVsZENvbXBvbmVudDxUPlxyXG4gIGV4dGVuZHMgQmFzZUZvcm1JbnB1dENvbXBvbmVudFxyXG4gIGltcGxlbWVudHMgR2VuZXJpY0ZpZWxkQ29yZTxUPlxyXG57XHJcbiAgQElucHV0KCkgdHlwZT86IEdlbmVyaWNGaWVsZFR5cGVUeXBlID0gR2VuZXJpY0ZpZWxkVHlwZS50ZXh0O1xyXG5cclxuICBASW5wdXQoKSBmbG9hdExhYmVsPzogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KCkgb3B0aW9uczogVFtdIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKSBzaXplPzogRmllbGRTaXplVHlwZSA9IEZpZWxkU2l6ZS5tZWRpdW07XHJcblxyXG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGF6eSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKSBmaWx0ZXIgPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKSBkYXRhc291cmNlPzogRGF0YXNvdXJjZVR5cGU8VD5cclxuXHJcbiAgQElucHV0KCkgZmlsdGVyRmllbGQ/OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dGaWx0ZXI/OiBib29sZWFuO1xyXG5cclxuICBASW5wdXQoKSBsb2NhbFNlYXJjaD86IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKSBjaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIHNob3dlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjbGVhcmVkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIGxhenlMb2FkID0gbmV3IEV2ZW50RW1pdHRlcjxMYXp5TG9hZEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmaWx0ZXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyRXZlbnQ+KCk7XHJcblxyXG4gIGZpZWxkVHlwZXMgPSBHZW5lcmljRmllbGRUeXBlO1xyXG4gIGljb25zID0gSWNvbnM7XHJcbn1cclxuIiwiQGlmICghdHlwZSB8fCB0eXBlID09PSBmaWVsZFR5cGVzLnRleHQpIHtcclxuPHYtdGV4dGZpZWxkXHJcbiAgW2xhYmVsXT1cImxhYmVsXCJcclxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsID09PSB0cnVlXCJcclxuICBbc2l6ZV09XCJzaXplXCJcclxuICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4vPlxyXG59IEBlbHNlIGlmICh0eXBlID09PSBmaWVsZFR5cGVzLmRyb3Bkb3duICYmICFkYXRhc291cmNlKSB7XHJcbjx2LWRyb3Bkb3duXHJcbiAgW2xhYmVsXT1cIiFmbG9hdExhYmVsID8gbGFiZWwgOiAnJ1wiXHJcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbCA/IGxhYmVsIDogJydcIlxyXG4gIFt0ZXN0SWRdPVwidGVzdElkXCJcclxuICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZSA/PyBvcHRpb25MYWJlbFwiXHJcbiAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgW2ZvcmNlTWluV2lkdGhdPVwidHJ1ZVwiXHJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICBbc2hvd0ZpbHRlcl09XCJzaG93RmlsdGVyID8/IGZhbHNlXCJcclxuICBbbG9jYWxTZWFyY2hdPVwibG9jYWxTZWFyY2ggPz8gZmFsc2VcIlxyXG4gIChjaGFuZ2VFdmVudCk9XCJjaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgKGNsZWFyRXZlbnQpPVwiY2xlYXJlZC5lbWl0KCRldmVudClcIlxyXG4gIChsYXp5TG9hZEV2ZW50KT1cImxhenlMb2FkLmVtaXQoJGFueSgkZXZlbnQpKVwiXHJcbiAgKHNob3dFdmVudCk9XCJzaG93ZWQuZW1pdCgkZXZlbnQpXCJcclxuLz4gXHJcbn0gQGVsc2UgaWYgKHR5cGUgPT09IGZpZWxkVHlwZXMuZHJvcGRvd24gJiYgZGF0YXNvdXJjZSkge1xyXG4gIDx2LWRyb3Bkb3duXHJcbiAgICB1c2VEYXRhc291cmNlXHJcbiAgICBbZm9yY2VNaW5XaWR0aF09XCJ0cnVlXCJcclxuICAgIFtkYXRhc291cmNlXT1cImRhdGFzb3VyY2VcIlxyXG4gICAgW29wdGlvbkxhYmVsXT1cIm9wdGlvbkxhYmVsXCJcclxuICAgIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZSA/PyBvcHRpb25MYWJlbFwiXHJcbiAgICBbbGFiZWxdPVwiIWZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcclxuICAgIFtmbG9hdExhYmVsXT1cImZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcclxuICAgIFt0ZXN0SWRdPVwidGVzdElkXCJcclxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxyXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgIFtzaG93RmlsdGVyXT1cInNob3dGaWx0ZXIgPz8gZmFsc2VcIlxyXG4gICAgW2ZpbHRlckZpZWxkXT1cImZpbHRlckZpZWxkID8/ICdmdWxsdGV4dCdcIlxyXG4gICAgW2xvY2FsU2VhcmNoXT1cImxvY2FsU2VhcmNoID8/IGZhbHNlXCJcclxuICAgIChjaGFuZ2VFdmVudCk9XCJjaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAoY2xlYXJFdmVudCk9XCJjbGVhcmVkLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAobGF6eUxvYWRFdmVudCk9XCJsYXp5TG9hZC5lbWl0KCRhbnkoJGV2ZW50KSlcIlxyXG4gICAgKHNob3dFdmVudCk9XCJzaG93ZWQuZW1pdCgkZXZlbnQpXCJcclxuICAvPlxyXG59IEBlbHNlIGlmICh0eXBlID09PSBmaWVsZFR5cGVzLm11bHRpc2VsZWN0ICYmICFkYXRhc291cmNlKSB7XHJcbjx2LW11bHRpc2VsZWN0XHJcbiAgW2xhYmVsXT1cIiFmbG9hdExhYmVsID8gbGFiZWwgOiAnJ1wiXHJcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbCA/IGxhYmVsIDogJydcIlxyXG4gIFt0ZXN0SWRdPVwidGVzdElkXCJcclxuICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZSA/PyBvcHRpb25MYWJlbFwiXHJcbiAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAoY2hhbmdlRXZlbnQpPVwiY2hhbmdlZC5lbWl0KCRldmVudClcIlxyXG4gIChjbGVhckV2ZW50KT1cImNsZWFyZWQuZW1pdCgkZXZlbnQpXCJcclxuICAobGF6eUxvYWRFdmVudCk9XCJsYXp5TG9hZC5lbWl0KCRhbnkoJGV2ZW50KSlcIlxyXG4gIChzaG93RXZlbnQpPVwic2hvd2VkLmVtaXQoJGV2ZW50KVwiXHJcbi8+XHJcbn0gQGVsc2UgaWYgKHR5cGUgPT09IGZpZWxkVHlwZXMubXVsdGlzZWxlY3QgJiYgZGF0YXNvdXJjZSkge1xyXG48di1tdWx0aXNlbGVjdFxyXG4gIHVzZURhdGFzb3VyY2VcclxuICBbZGF0YXNvdXJjZV09XCJkYXRhc291cmNlXCJcclxuICBbb3B0aW9uTGFiZWxdPVwib3B0aW9uTGFiZWxcIlxyXG4gIFtvcHRpb25WYWx1ZV09XCJvcHRpb25WYWx1ZSA/PyBvcHRpb25MYWJlbFwiXHJcbiAgW2xhYmVsXT1cIiFmbG9hdExhYmVsID8gbGFiZWwgOiAnJ1wiXHJcbiAgW2Zsb2F0TGFiZWxdPVwiZmxvYXRMYWJlbCA/IGxhYmVsIDogJydcIlxyXG4gIFt0ZXN0SWRdPVwidGVzdElkXCJcclxuICBbbG9hZGluZ109XCJsb2FkaW5nXCJcclxuICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gIChjaGFuZ2VFdmVudCk9XCJjaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXHJcbiAgKGNsZWFyRXZlbnQpPVwiY2xlYXJlZC5lbWl0KCRldmVudClcIlxyXG4gIChsYXp5TG9hZEV2ZW50KT1cImxhenlMb2FkLmVtaXQoJGFueSgkZXZlbnQpKVwiXHJcbiAgKHNob3dFdmVudCk9XCJzaG93ZWQuZW1pdCgkZXZlbnQpXCJcclxuLz5cclxufSBAZWxzZSBpZiAodHlwZSA9PT0gZmllbGRUeXBlcy5jaGVja2JveCkge1xyXG48di10cmlzdGF0ZWNoZWNrYm94XHJcbiAgW2xhYmVsXT1cImxhYmVsXCJcclxuICBbdGVzdElkXT1cInRlc3RJZFwiXHJcbiAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuLz5cclxufSBAZWxzZSBpZiAodHlwZSA9PT0gZmllbGRUeXBlcy5zaW1wbGVjaGVja2JveCkge1xyXG48di1jaGVja2JveFxyXG4gIFtsYWJlbF09XCJsYWJlbFwiXHJcbiAgW3Rlc3RJZF09XCJ0ZXN0SWRcIlxyXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbi8+XHJcbn0gQGVsc2UgaWYgKHR5cGUgPT09IGZpZWxkVHlwZXMuY2FsZW5kYXIpIHtcclxuPHYtY2FsZW5kYXJcclxuICBbbGFiZWxdPVwiIWZsb2F0TGFiZWwgPyBsYWJlbCA6ICcnXCJcclxuICBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsID8gbGFiZWwgOiAnJ1wiXHJcbiAgW3Rlc3RJZF09XCJ0ZXN0SWRcIlxyXG4gIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXHJcbiAgW2ljb25dPVwiaWNvbnMuY2FsZW5kYXJcIlxyXG4vPlxyXG59XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './generic-field.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1nb3Zjei9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZ2VuZXJpYy1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9nZW5lcmljLWZpZWxkLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -0,0 +1,46 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
3
+ import { ReactiveFormsModule, UntypedFormGroup } from '@angular/forms';
4
+ import { TranslateModule } from '@ngx-translate/core';
5
+ import { GenericFieldComponent } from '../generic-field';
6
+ import { generateFormGroup, getColumnClass, } from './generic-form.model';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/common";
9
+ import * as i2 from "@angular/forms";
10
+ import * as i3 from "@ngx-translate/core";
11
+ export class GenericFormComponent {
12
+ formGroup;
13
+ fields;
14
+ columns;
15
+ showAsRow;
16
+ formGroupComputed;
17
+ columnClass;
18
+ ngOnChanges(changes) {
19
+ if (changes['fields'] || changes['formGroup']) {
20
+ this.formGroupComputed = generateFormGroup(this.fields, this.formGroupComputed, this.formGroup, !!changes['formGroup']);
21
+ }
22
+ if (changes['columns']) {
23
+ this.columnClass = getColumnClass(this.columns);
24
+ }
25
+ }
26
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
27
+ static ɵ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: i1.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: GenericFormComponent, decorators: [{
30
+ type: Component,
31
+ args: [{ selector: 'v-generic-form', standalone: true, imports: [
32
+ CommonModule,
33
+ GenericFieldComponent,
34
+ ReactiveFormsModule,
35
+ TranslateModule,
36
+ ], 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" }]
37
+ }], propDecorators: { formGroup: [{
38
+ type: Input
39
+ }], fields: [{
40
+ type: Input
41
+ }], columns: [{
42
+ type: Input
43
+ }], showAsRow: [{
44
+ type: Input
45
+ }] } });
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9nZW5lcmljLWZvcm0vZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWJzL3VpLWdvdmN6L3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9nZW5lcmljLWZvcm0vZ2VuZXJpYy1mb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsY0FBYyxHQUNmLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBYzlCLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsU0FBUyxDQUFvQjtJQUU3QixNQUFNLENBQTRCO0lBRWxDLE9BQU8sQ0FBVTtJQUVqQixTQUFTLENBQVc7SUFFN0IsaUJBQWlCLENBQW9CO0lBRXJDLFdBQVcsQ0FBVTtJQUVyQixXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUN4QyxJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxpQkFBaUIsRUFDdEIsSUFBSSxDQUFDLFNBQVMsRUFDZCxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUN2QixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO3VHQTFCVSxvQkFBb0I7MkZBQXBCLG9CQUFvQixpTUM3QmpDLGlzREE4Q0EsMkNEekJJLFlBQVksNkhBQ1oscUJBQXFCLHNTQUNyQixtQkFBbUIsbWxCQUNuQixlQUFlOzsyRkFLTixvQkFBb0I7a0JBWmhDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBQ2QsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1oscUJBQXFCO3dCQUNyQixtQkFBbUI7d0JBQ25CLGVBQWU7cUJBQ2hCLG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZXJpc29mdC91aS1jb3JlJztcclxuaW1wb3J0IHsgR2VuZXJpY0ZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vZ2VuZXJpYy1maWVsZCc7XHJcbmltcG9ydCB7XHJcbiAgZ2VuZXJhdGVGb3JtR3JvdXAsXHJcbiAgZ2V0Q29sdW1uQ2xhc3MsXHJcbn0gZnJvbSAnLi9nZW5lcmljLWZvcm0ubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd2LWdlbmVyaWMtZm9ybScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBHZW5lcmljRmllbGRDb21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBHZW5lcmljRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwPzogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgQElucHV0KCkgZmllbGRzPzogR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbltdO1xyXG5cclxuICBASW5wdXQoKSBjb2x1bW5zPzogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBzaG93QXNSb3chOiBib29sZWFuO1xyXG5cclxuICBmb3JtR3JvdXBDb21wdXRlZCE6IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGNvbHVtbkNsYXNzPzogc3RyaW5nO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZmllbGRzJ10gfHwgY2hhbmdlc1snZm9ybUdyb3VwJ10pIHtcclxuICAgICAgdGhpcy5mb3JtR3JvdXBDb21wdXRlZCA9IGdlbmVyYXRlRm9ybUdyb3VwKFxyXG4gICAgICAgIHRoaXMuZmllbGRzLFxyXG4gICAgICAgIHRoaXMuZm9ybUdyb3VwQ29tcHV0ZWQsXHJcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAsXHJcbiAgICAgICAgISFjaGFuZ2VzWydmb3JtR3JvdXAnXVxyXG4gICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzWydjb2x1bW5zJ10pIHtcclxuICAgICAgdGhpcy5jb2x1bW5DbGFzcyA9IGdldENvbHVtbkNsYXNzKHRoaXMuY29sdW1ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoZm9ybUdyb3VwQ29tcHV0ZWQpIHtcclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInYtZ2VuZXJpYy1mb3JtXCJcclxuICAgIFtuZ0NsYXNzXT1cInNob3dBc1JvdyA/ICdkLWZsZXggZmxleC1yb3cnIDogJ3JvdydcIlxyXG4gICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBDb21wdXRlZFwiXHJcbiAgPlxyXG4gICAgQGZvcihmaWVsZCBvZiBmaWVsZHM7IHRyYWNrIGZpZWxkKSB7IEBpZiAoY29sdW1uQ2xhc3MpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJ2LWdlbmVyaWMtZm9ybV9fY29sdW1uIHt7IGNvbHVtbkNsYXNzIH19XCI+XHJcbiAgICAgIDx2LWdlbmVyaWMtZmllbGRcclxuICAgICAgICBbdHlwZV09XCJmaWVsZC50eXBlXCJcclxuICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWwgPz8gJ05PVCBTRVQnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgICBbZmxvYXRMYWJlbF09XCJmaWVsZC5mbG9hdExhYmVsXCJcclxuICAgICAgICBbdGVzdElkXT1cImZpZWxkLnRlc3RJZFwiXHJcbiAgICAgICAgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiXHJcbiAgICAgICAgW29wdGlvbkxhYmVsXT1cImZpZWxkLm9wdGlvbkxhYmVsXCJcclxuICAgICAgICBbb3B0aW9uVmFsdWVdPVwiZmllbGQub3B0aW9uVmFsdWUgPz8gZmllbGQub3B0aW9uTGFiZWxcIlxyXG4gICAgICAgIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxyXG4gICAgICAgIFtzaXplXT1cImZpZWxkLnNpemVcIlxyXG4gICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiXHJcbiAgICAgICAgW2RhdGFzb3VyY2VdPVwiZmllbGQuZGF0YXNvdXJjZVwiXHJcbiAgICAgICAgW3Nob3dGaWx0ZXJdPVwiZmllbGQuc2hvd0ZpbHRlclwiXHJcbiAgICAgICAgW2ZpbHRlckZpZWxkXT1cImZpZWxkLmZpbHRlckZpZWxkXCJcclxuICAgICAgICBbbG9jYWxTZWFyY2hdPVwiZmllbGQubG9jYWxTZWFyY2hcIlxyXG4gICAgICA+PC92LWdlbmVyaWMtZmllbGQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgPHYtZ2VuZXJpYy1maWVsZFxyXG4gICAgICBjbGFzcz1cIm1lLTRcIlxyXG4gICAgICBbdHlwZV09XCJmaWVsZC50eXBlXCJcclxuICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsID8/ICdOT1QgU0VUJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgIFtmbG9hdExhYmVsXT1cImZpZWxkLmZsb2F0TGFiZWxcIlxyXG4gICAgICBbdGVzdElkXT1cImZpZWxkLnRlc3RJZFwiXHJcbiAgICAgIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIlxyXG4gICAgICBbb3B0aW9uTGFiZWxdPVwiZmllbGQub3B0aW9uTGFiZWxcIlxyXG4gICAgICBbb3B0aW9uVmFsdWVdPVwiZmllbGQub3B0aW9uVmFsdWUgPz8gZmllbGQub3B0aW9uTGFiZWxcIlxyXG4gICAgICBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCJcclxuICAgICAgW3NpemVdPVwiZmllbGQuc2l6ZVwiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiXHJcbiAgICAgIFtkYXRhc291cmNlXT1cImZpZWxkLmRhdGFzb3VyY2VcIlxyXG4gICAgICBbc2hvd0ZpbHRlcl09XCJmaWVsZC5zaG93RmlsdGVyXCJcclxuICAgICAgW2ZpbHRlckZpZWxkXT1cImZpZWxkLmZpbHRlckZpZWxkXCJcclxuICAgICAgW2xvY2FsU2VhcmNoXT1cImZpZWxkLmxvY2FsU2VhcmNoXCJcclxuICAgID48L3YtZ2VuZXJpYy1maWVsZD5cclxuICAgIH0gfVxyXG4gIDwvZGl2PlxyXG4gIH1cclxuIl19
@@ -0,0 +1,50 @@
1
+ import { UntypedFormControl, UntypedFormGroup, } from '@angular/forms';
2
+ export function generateFormGroup(fields, lastGroupValue, inputGroup, inputGroupChanged = false) {
3
+ const formGroup = (inputGroupChanged
4
+ ? inputGroup ?? lastGroupValue
5
+ : lastGroupValue ?? inputGroup) ?? new UntypedFormGroup({});
6
+ fields?.forEach((field) => {
7
+ const control = formGroup.get(field.name);
8
+ if (!control) {
9
+ formGroup.addControl(field.name, new UntypedFormControl(field.value, field.validator));
10
+ }
11
+ else if (control && control.value !== field.value) {
12
+ control.setValue(field.value);
13
+ control.setValidators(field.validator ?? null);
14
+ }
15
+ else {
16
+ control.setValidators(field.validator ?? null);
17
+ }
18
+ if (field.readonly && (control || formGroup.get(field.name))) {
19
+ formGroup.get(field.name)?.disable();
20
+ }
21
+ });
22
+ if (!inputGroupChanged) {
23
+ for (const field in formGroup.controls) {
24
+ const control = fields?.find((x) => x.name == field);
25
+ if (!control) {
26
+ formGroup.removeControl(field);
27
+ }
28
+ }
29
+ }
30
+ return formGroup;
31
+ }
32
+ export function getColumnClass(value) {
33
+ if (!value) {
34
+ return undefined;
35
+ }
36
+ switch (value) {
37
+ case 1:
38
+ return 'col-12';
39
+ case 2:
40
+ return 'col-12 col-md-6';
41
+ case 3:
42
+ return 'col-12 col-md-4';
43
+ case 4:
44
+ return 'col-12 col-md-3';
45
+ case 6:
46
+ return 'col-12 col-md-2';
47
+ }
48
+ return 'col-12 col-md-1';
49
+ }
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1mb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYnMvdWktZ292Y3ovc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2dlbmVyaWMtZm9ybS9nZW5lcmljLWZvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixnQkFBZ0IsR0FDakIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixNQUFNLFVBQVUsaUJBQWlCLENBQy9CLE1BQTRDLEVBQzVDLGNBQTRDLEVBQzVDLFVBQXdDLEVBQ3hDLGlCQUFpQixHQUFHLEtBQUs7SUFFekIsTUFBTSxTQUFTLEdBQ2IsQ0FBQyxpQkFBaUI7UUFDaEIsQ0FBQyxDQUFDLFVBQVUsSUFBSSxjQUFjO1FBQzlCLENBQUMsQ0FBQyxjQUFjLElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVoRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDeEIsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2IsU0FBUyxDQUFDLFVBQVUsQ0FDbEIsS0FBSyxDQUFDLElBQUksRUFDVixJQUFJLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUNyRCxDQUFDO1FBQ0osQ0FBQzthQUFNLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3BELE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDO2FBQ0ksQ0FBQztZQUNKLE9BQU8sQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RCxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN2QixLQUFLLE1BQU0sS0FBSyxJQUFJLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxNQUFNLE9BQU8sR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDYixTQUFTLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQWM7SUFDM0MsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELFFBQVEsS0FBSyxFQUFFLENBQUM7UUFDZCxLQUFLLENBQUM7WUFDSixPQUFPLFFBQVEsQ0FBQztRQUNsQixLQUFLLENBQUM7WUFDSixPQUFPLGlCQUFpQixDQUFDO1FBQzNCLEtBQUssQ0FBQztZQUNKLE9BQU8saUJBQWlCLENBQUM7UUFDM0IsS0FBSyxDQUFDO1lBQ0osT0FBTyxpQkFBaUIsQ0FBQztRQUMzQixLQUFLLENBQUM7WUFDSixPQUFPLGlCQUFpQixDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLGlCQUFpQixDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFVudHlwZWRGb3JtQ29udHJvbCxcclxuICBVbnR5cGVkRm9ybUdyb3VwLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgR2VuZXJpY0ZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJ0B2ZXJpc29mdC91aS1jb3JlJztcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUZvcm1Hcm91cChcclxuICBmaWVsZHM6IEdlbmVyaWNGaWVsZERlZmluaXRpb25bXSB8IHVuZGVmaW5lZCxcclxuICBsYXN0R3JvdXBWYWx1ZTogVW50eXBlZEZvcm1Hcm91cCB8IHVuZGVmaW5lZCxcclxuICBpbnB1dEdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwIHwgdW5kZWZpbmVkLFxyXG4gIGlucHV0R3JvdXBDaGFuZ2VkID0gZmFsc2VcclxuKTogVW50eXBlZEZvcm1Hcm91cCB7XHJcbiAgY29uc3QgZm9ybUdyb3VwID1cclxuICAgIChpbnB1dEdyb3VwQ2hhbmdlZFxyXG4gICAgICA/IGlucHV0R3JvdXAgPz8gbGFzdEdyb3VwVmFsdWVcclxuICAgICAgOiBsYXN0R3JvdXBWYWx1ZSA/PyBpbnB1dEdyb3VwKSA/PyBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XHJcblxyXG4gIGZpZWxkcz8uZm9yRWFjaCgoZmllbGQpID0+IHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSBmb3JtR3JvdXAuZ2V0KGZpZWxkLm5hbWUpO1xyXG4gICAgaWYgKCFjb250cm9sKSB7XHJcbiAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKFxyXG4gICAgICAgIGZpZWxkLm5hbWUsXHJcbiAgICAgICAgbmV3IFVudHlwZWRGb3JtQ29udHJvbChmaWVsZC52YWx1ZSwgZmllbGQudmFsaWRhdG9yKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIGlmIChjb250cm9sICYmIGNvbnRyb2wudmFsdWUgIT09IGZpZWxkLnZhbHVlKSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZmllbGQudmFsdWUpO1xyXG4gICAgICBjb250cm9sLnNldFZhbGlkYXRvcnMoZmllbGQudmFsaWRhdG9yID8/IG51bGwpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsaWRhdG9ycyhmaWVsZC52YWxpZGF0b3IgPz8gbnVsbCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpZWxkLnJlYWRvbmx5ICYmIChjb250cm9sIHx8IGZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSkpKSB7XHJcbiAgICAgIGZvcm1Hcm91cC5nZXQoZmllbGQubmFtZSk/LmRpc2FibGUoKTtcclxuICAgIH1cclxuICB9KTtcclxuICBpZiAoIWlucHV0R3JvdXBDaGFuZ2VkKSB7XHJcbiAgICBmb3IgKGNvbnN0IGZpZWxkIGluIGZvcm1Hcm91cC5jb250cm9scykge1xyXG4gICAgICBjb25zdCBjb250cm9sID0gZmllbGRzPy5maW5kKCh4KSA9PiB4Lm5hbWUgPT0gZmllbGQpO1xyXG4gICAgICBpZiAoIWNvbnRyb2wpIHtcclxuICAgICAgICBmb3JtR3JvdXAucmVtb3ZlQ29udHJvbChmaWVsZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJldHVybiBmb3JtR3JvdXA7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRDb2x1bW5DbGFzcyh2YWx1ZT86IG51bWJlcik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgaWYgKCF2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIHN3aXRjaCAodmFsdWUpIHtcclxuICAgIGNhc2UgMTpcclxuICAgICAgcmV0dXJuICdjb2wtMTInO1xyXG4gICAgY2FzZSAyOlxyXG4gICAgICByZXR1cm4gJ2NvbC0xMiBjb2wtbWQtNic7XHJcbiAgICBjYXNlIDM6XHJcbiAgICAgIHJldHVybiAnY29sLTEyIGNvbC1tZC00JztcclxuICAgIGNhc2UgNDpcclxuICAgICAgcmV0dXJuICdjb2wtMTIgY29sLW1kLTMnO1xyXG4gICAgY2FzZSA2OlxyXG4gICAgICByZXR1cm4gJ2NvbC0xMiBjb2wtbWQtMic7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gJ2NvbC0xMiBjb2wtbWQtMSc7XHJcbn1cclxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './generic-form.component';
2
+ export * from './generic-form.model';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1nb3Zjei9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZ2VuZXJpYy1mb3JtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy1mb3JtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy1mb3JtLm1vZGVsJztcclxuIl19
@@ -0,0 +1,7 @@
1
+ export * from './action-button-group';
2
+ export * from './filter';
3
+ export * from './feature-list';
4
+ export * from './generic-field';
5
+ export * from './generic-form';
6
+ export * from './dynamic-component';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1nb3Zjei9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24tYnV0dG9uLWdyb3VwJztcclxuZXhwb3J0ICogZnJvbSAnLi9maWx0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUtbGlzdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy1maWVsZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZ2VuZXJpYy1mb3JtJztcclxuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './side-menu.component';
2
+ export * from './side-menu.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGlicy91aS1nb3Zjei9zcmMvbGliL2NvbXBvbmVudHMvc2lkZS1tZW51L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2lkZS1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2lkZS1tZW51Lm1vZHVsZSc7XHJcbiJdfQ==