@mediusinc/mng-commons 0.0.1-rc.3 → 0.2.1-rc

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 (488) hide show
  1. package/.browserslistrc +16 -0
  2. package/README.md +96 -1
  3. package/assets/i18n/en.json +156 -0
  4. package/assets/i18n/sl.json +156 -0
  5. package/assets/images/effect-ondark.png +0 -0
  6. package/assets/images/effect-ondark.svg +38 -0
  7. package/assets/images/effect-ondark@2x.png +0 -0
  8. package/assets/images/effect-onlight.png +0 -0
  9. package/assets/images/effect-onlight.svg +38 -0
  10. package/assets/images/effect-onlight@2x.png +0 -0
  11. package/assets/images/pages/exception-ondark.png +0 -0
  12. package/assets/images/pages/exception-onlight.png +0 -0
  13. package/assets/images/pages/login-ondark.png +0 -0
  14. package/assets/images/pages/login-onlight.png +0 -0
  15. package/assets/templates/tableview-route.component.html +5 -0
  16. package/karma.conf.js +51 -0
  17. package/ng-package.json +14 -0
  18. package/package.json +3 -24
  19. package/scss/common/layout/_breadcrumb.scss +96 -0
  20. package/scss/common/layout/_config.scss +101 -0
  21. package/scss/common/layout/_dashboard.scss +16 -0
  22. package/scss/common/layout/_exception.scss +131 -0
  23. package/scss/common/layout/_footer.scss +29 -0
  24. package/scss/common/layout/_help.scss +157 -0
  25. package/scss/common/layout/_inlinemenu.scss +55 -0
  26. package/scss/common/layout/_invoice.scss +176 -0
  27. package/scss/common/layout/_landing.scss +639 -0
  28. package/scss/common/layout/_layout_dark.scss +23 -0
  29. package/scss/common/layout/_layout_light.scss +23 -0
  30. package/scss/common/layout/_loader.scss +18 -0
  31. package/scss/common/layout/_login.scss +106 -0
  32. package/scss/common/layout/_main.scss +45 -0
  33. package/scss/common/layout/_mixins.scss +214 -0
  34. package/scss/common/layout/_rightmenu.scss +125 -0
  35. package/scss/common/layout/_topbar.scss +189 -0
  36. package/scss/common/layout/_typography.scss +63 -0
  37. package/scss/common/layout/_utils.scss +96 -0
  38. package/scss/common/layout/_widgets.scss +391 -0
  39. package/scss/common/layout/menu/_menu.scss +7 -0
  40. package/scss/common/layout/menu/_menu_common.scss +183 -0
  41. package/scss/common/layout/menu/_menu_overlay.scss +52 -0
  42. package/scss/common/layout/menu/_menu_sidebar.scss +232 -0
  43. package/scss/common/layout/menu/_menu_slim.scss +138 -0
  44. package/scss/common/layout/menu/_menu_static.scss +70 -0
  45. package/scss/common/layout/menu/_menu_theme.scss +365 -0
  46. package/scss/common/theme/_theme_dark.scss +5 -0
  47. package/scss/common/theme/_theme_light.scss +5 -0
  48. package/scss/common/theme/designer/_colors.scss +18 -0
  49. package/scss/common/theme/designer/_common.scss +40 -0
  50. package/scss/common/theme/designer/_components.scss +101 -0
  51. package/scss/common/theme/designer/_mixins.scss +174 -0
  52. package/scss/common/theme/designer/components/button/_button.scss +560 -0
  53. package/scss/common/theme/designer/components/button/_speeddial.scss +79 -0
  54. package/scss/common/theme/designer/components/button/_splitbutton.scss +1 -0
  55. package/scss/common/theme/designer/components/data/_carousel.scss +37 -0
  56. package/scss/common/theme/designer/components/data/_datatable.scss +266 -0
  57. package/scss/common/theme/designer/components/data/_dataview.scss +55 -0
  58. package/scss/common/theme/designer/components/data/_filter.scss +138 -0
  59. package/scss/common/theme/designer/components/data/_fullcalendar.scss +324 -0
  60. package/scss/common/theme/designer/components/data/_orderlist.scss +91 -0
  61. package/scss/common/theme/designer/components/data/_organizationchart.scss +50 -0
  62. package/scss/common/theme/designer/components/data/_paginator.scss +83 -0
  63. package/scss/common/theme/designer/components/data/_picklist.scss +91 -0
  64. package/scss/common/theme/designer/components/data/_timeline.scss +38 -0
  65. package/scss/common/theme/designer/components/data/_tree.scss +144 -0
  66. package/scss/common/theme/designer/components/data/_treetable.scss +242 -0
  67. package/scss/common/theme/designer/components/data/_virtualscroller.scss +28 -0
  68. package/scss/common/theme/designer/components/file/_fileupload.scss +58 -0
  69. package/scss/common/theme/designer/components/input/_autocomplete.scss +103 -0
  70. package/scss/common/theme/designer/components/input/_calendar.scss +212 -0
  71. package/scss/common/theme/designer/components/input/_cascadeselect.scss +98 -0
  72. package/scss/common/theme/designer/components/input/_checkbox.scss +85 -0
  73. package/scss/common/theme/designer/components/input/_chips.scss +41 -0
  74. package/scss/common/theme/designer/components/input/_colorpicker.scss +19 -0
  75. package/scss/common/theme/designer/components/input/_dropdown.scss +136 -0
  76. package/scss/common/theme/designer/components/input/_editor.scss +122 -0
  77. package/scss/common/theme/designer/components/input/_inputgroup.scss +69 -0
  78. package/scss/common/theme/designer/components/input/_inputmask.scss +3 -0
  79. package/scss/common/theme/designer/components/input/_inputnumber.scss +3 -0
  80. package/scss/common/theme/designer/components/input/_inputswitch.scss +58 -0
  81. package/scss/common/theme/designer/components/input/_inputtext.scss +97 -0
  82. package/scss/common/theme/designer/components/input/_listbox.scss +82 -0
  83. package/scss/common/theme/designer/components/input/_multiselect.scss +164 -0
  84. package/scss/common/theme/designer/components/input/_password.scss +33 -0
  85. package/scss/common/theme/designer/components/input/_radiobutton.scss +78 -0
  86. package/scss/common/theme/designer/components/input/_rating.scss +48 -0
  87. package/scss/common/theme/designer/components/input/_selectbutton.scss +50 -0
  88. package/scss/common/theme/designer/components/input/_slider.scss +69 -0
  89. package/scss/common/theme/designer/components/input/_togglebutton.scss +48 -0
  90. package/scss/common/theme/designer/components/input/_treeselect.scss +89 -0
  91. package/scss/common/theme/designer/components/menu/_breadcrumb.scss +42 -0
  92. package/scss/common/theme/designer/components/menu/_contextmenu.scss +50 -0
  93. package/scss/common/theme/designer/components/menu/_dock.scss +51 -0
  94. package/scss/common/theme/designer/components/menu/_megamenu.scss +102 -0
  95. package/scss/common/theme/designer/components/menu/_menu.scss +41 -0
  96. package/scss/common/theme/designer/components/menu/_menubar.scss +179 -0
  97. package/scss/common/theme/designer/components/menu/_panelmenu.scss +137 -0
  98. package/scss/common/theme/designer/components/menu/_slidemenu.scss +55 -0
  99. package/scss/common/theme/designer/components/menu/_steps.scss +55 -0
  100. package/scss/common/theme/designer/components/menu/_tabmenu.scss +49 -0
  101. package/scss/common/theme/designer/components/menu/_tieredmenu.scss +56 -0
  102. package/scss/common/theme/designer/components/messages/_inlinemessage.scss +64 -0
  103. package/scss/common/theme/designer/components/messages/_message.scss +102 -0
  104. package/scss/common/theme/designer/components/messages/_toast.scss +95 -0
  105. package/scss/common/theme/designer/components/misc/_avatar.scss +30 -0
  106. package/scss/common/theme/designer/components/misc/_badge.scss +48 -0
  107. package/scss/common/theme/designer/components/misc/_blockui.scss +3 -0
  108. package/scss/common/theme/designer/components/misc/_chip.scss +36 -0
  109. package/scss/common/theme/designer/components/misc/_inplace.scss +17 -0
  110. package/scss/common/theme/designer/components/misc/_progressbar.scss +17 -0
  111. package/scss/common/theme/designer/components/misc/_scrolltop.scss +20 -0
  112. package/scss/common/theme/designer/components/misc/_skeleton.scss +8 -0
  113. package/scss/common/theme/designer/components/misc/_tag.scss +33 -0
  114. package/scss/common/theme/designer/components/misc/_terminal.scss +11 -0
  115. package/scss/common/theme/designer/components/multimedia/_galleria.scss +141 -0
  116. package/scss/common/theme/designer/components/overlay/_confirmpopup.scss +67 -0
  117. package/scss/common/theme/designer/components/overlay/_dialog.scss +63 -0
  118. package/scss/common/theme/designer/components/overlay/_overlaypanel.scss +62 -0
  119. package/scss/common/theme/designer/components/overlay/_sidebar.scss +27 -0
  120. package/scss/common/theme/designer/components/overlay/_tooltip.scss +33 -0
  121. package/scss/common/theme/designer/components/panel/_accordion.scss +119 -0
  122. package/scss/common/theme/designer/components/panel/_card.scss +30 -0
  123. package/scss/common/theme/designer/components/panel/_divider.scss +31 -0
  124. package/scss/common/theme/designer/components/panel/_fieldset.scss +47 -0
  125. package/scss/common/theme/designer/components/panel/_panel.scss +42 -0
  126. package/scss/common/theme/designer/components/panel/_scrollpanel.scss +6 -0
  127. package/scss/common/theme/designer/components/panel/_splitter.scss +19 -0
  128. package/scss/common/theme/designer/components/panel/_tabview.scss +66 -0
  129. package/scss/common/theme/designer/components/panel/_toolbar.scss +10 -0
  130. package/scss/common/theme/extensions/_button.scss +99 -0
  131. package/scss/common/theme/extensions/_calendar.scss +18 -0
  132. package/scss/common/theme/extensions/_card.scss +6 -0
  133. package/scss/common/theme/extensions/_carousel.scss +13 -0
  134. package/scss/common/theme/extensions/_checkbox.scss +10 -0
  135. package/scss/common/theme/extensions/_contextmenu.scss +16 -0
  136. package/scss/common/theme/extensions/_datatable.scss +83 -0
  137. package/scss/common/theme/extensions/_dialog.scss +14 -0
  138. package/scss/common/theme/extensions/_fieldset.scss +6 -0
  139. package/scss/common/theme/extensions/_galleria.scss +25 -0
  140. package/scss/common/theme/extensions/_megamenu.scss +18 -0
  141. package/scss/common/theme/extensions/_menu.scss +14 -0
  142. package/scss/common/theme/extensions/_menubar.scss +14 -0
  143. package/scss/common/theme/extensions/_orderlist.scss +38 -0
  144. package/scss/common/theme/extensions/_paginator.scss +19 -0
  145. package/scss/common/theme/extensions/_panelmenu.scss +20 -0
  146. package/scss/common/theme/extensions/_password.scss +5 -0
  147. package/scss/common/theme/extensions/_picklist.scss +38 -0
  148. package/scss/common/theme/extensions/_radiobutton.scss +8 -0
  149. package/scss/common/theme/extensions/_sidebar.scss +19 -0
  150. package/scss/common/theme/extensions/_slidemenu.scss +10 -0
  151. package/scss/common/theme/extensions/_slider.scss +6 -0
  152. package/scss/common/theme/extensions/_steps.scss +50 -0
  153. package/scss/common/theme/extensions/_tieredmenu.scss +14 -0
  154. package/scss/common/theme/extensions/_toast.scss +6 -0
  155. package/scss/common/theme/extensions/_tree.scss +36 -0
  156. package/scss/common/theme/extensions/_treetable.scss +35 -0
  157. package/scss/common/theme/extensions/_vendor_extensions.scss +27 -0
  158. package/scss/common/variables/layout/_common.scss +12 -0
  159. package/scss/common/variables/layout/_layout_dark.scss +71 -0
  160. package/scss/common/variables/layout/_layout_light.scss +71 -0
  161. package/scss/common/variables/theme/_theme_dark.scss +897 -0
  162. package/scss/common/variables/theme/_theme_light.scss +885 -0
  163. package/scss/layout/default/_mng-variables-layout-dark.scss +2 -0
  164. package/scss/layout/default/_mng-variables-layout-light.scss +2 -0
  165. package/scss/layout/default/layout-dark.scss +2 -0
  166. package/scss/layout/default/layout-light.scss +2 -0
  167. package/scss/mng-commons-dark.scss +5 -0
  168. package/scss/mng-commons-light.scss +5 -0
  169. package/scss/mng-overrides/_layout_action.scss +3 -0
  170. package/scss/mng-overrides/_layout_dialog.scss +34 -0
  171. package/scss/mng-overrides/_layout_forms.scss +31 -0
  172. package/scss/mng-overrides/_layout_radio.scss +3 -0
  173. package/scss/mng-overrides/_layout_styles.scss +4 -0
  174. package/scss/mng-overrides/_theme_datatable.scss +9 -0
  175. package/scss/mng-overrides/_theme_dialog.scss +9 -0
  176. package/scss/mng-overrides/_theme_dropdown.scss +6 -0
  177. package/scss/mng-overrides/_theme_styles.scss +9 -0
  178. package/scss/mng-overrides/_theme_tableview.scss +94 -0
  179. package/scss/theme/default/_mng-variables-theme-dark.scss +8 -0
  180. package/scss/theme/default/_mng-variables-theme-light.scss +8 -0
  181. package/scss/theme/default/theme-dark.scss +2 -0
  182. package/scss/theme/default/theme-light.scss +2 -0
  183. package/src/lib/api/models/builders/query-param.builder.ts +54 -0
  184. package/src/lib/api/models/filter-match-type.model.ts +25 -0
  185. package/src/lib/api/models/filter-param.model.ts +59 -0
  186. package/{lib/api/models/index.d.ts → src/lib/api/models/index.ts} +10 -8
  187. package/src/lib/api/models/mappers.ts +18 -0
  188. package/{lib/api/models/query-mode.model.d.ts → src/lib/api/models/query-mode.model.ts} +18 -16
  189. package/src/lib/api/models/query-param.model.ts +99 -0
  190. package/src/lib/api/models/query-result.model.ts +77 -0
  191. package/{lib/api/models/serialization.model.d.ts → src/lib/api/models/serialization.model.ts} +9 -8
  192. package/src/lib/api/services/crud-api.abstract.service.ts +113 -0
  193. package/src/lib/api/services/index.ts +1 -0
  194. package/{lib/api/utils/index.d.ts → src/lib/api/utils/index.ts} +2 -2
  195. package/src/lib/api/utils/medius-rest.util.ts +146 -0
  196. package/src/lib/api/utils/object-serializer.util.ts +227 -0
  197. package/src/lib/components/action/action.component.html +30 -0
  198. package/src/lib/components/action/action.component.ts +77 -0
  199. package/src/lib/components/action/dialog/action-dialog.component.html +26 -0
  200. package/src/lib/components/action/dialog/action-dialog.component.ts +171 -0
  201. package/{lib/components/action/index.d.ts → src/lib/components/action/index.ts} +3 -3
  202. package/src/lib/components/action/models/action-confirmation-service.model.ts +7 -0
  203. package/src/lib/components/action/models/action-execution.model.ts +81 -0
  204. package/src/lib/components/action/models/index.ts +2 -0
  205. package/src/lib/components/action/route/action-route.component.html +1 -0
  206. package/src/lib/components/action/route/action-route.component.ts +159 -0
  207. package/src/lib/components/form/autocomplete/autocomplete.component.html +16 -0
  208. package/src/lib/components/form/autocomplete/autocomplete.component.ts +113 -0
  209. package/src/lib/components/form/dropdown/dropdown.component.html +29 -0
  210. package/src/lib/components/form/dropdown/dropdown.component.ts +109 -0
  211. package/src/lib/components/form/editor/form-editor.component.html +5 -0
  212. package/src/lib/components/form/editor/form-editor.component.ts +149 -0
  213. package/src/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.html +7 -0
  214. package/src/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.ts +21 -0
  215. package/src/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.html +9 -0
  216. package/src/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.ts +22 -0
  217. package/src/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.html +8 -0
  218. package/src/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.ts +10 -0
  219. package/src/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.html +56 -0
  220. package/src/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.ts +22 -0
  221. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.html +13 -0
  222. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.scss +4 -0
  223. package/src/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.ts +114 -0
  224. package/src/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.html +37 -0
  225. package/src/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.ts +133 -0
  226. package/src/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.html +10 -0
  227. package/src/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.ts +10 -0
  228. package/{lib/components/form/formly/fields/index.d.ts → src/lib/components/form/formly/fields/index.ts} +7 -7
  229. package/src/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.html +7 -0
  230. package/src/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.ts +13 -0
  231. package/src/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.html +6 -0
  232. package/src/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.ts +13 -0
  233. package/{lib/components/form/formly/wrappers/index.d.ts → src/lib/components/form/formly/wrappers/index.ts} +2 -2
  234. package/src/lib/components/form/index.ts +3 -0
  235. package/src/lib/components/form/models/form-editor.event.ts +7 -0
  236. package/src/lib/components/form/models/index.ts +1 -0
  237. package/src/lib/components/layout/breadcrumb.component.html +5 -0
  238. package/src/lib/components/layout/breadcrumb.component.ts +12 -0
  239. package/src/lib/components/layout/footer.component.html +7 -0
  240. package/src/lib/components/layout/footer.component.ts +15 -0
  241. package/src/lib/components/layout/index.ts +6 -0
  242. package/src/lib/components/layout/main-layout.component.html +26 -0
  243. package/src/lib/components/layout/main-layout.component.ts +54 -0
  244. package/src/lib/components/layout/menu-item.component.html +41 -0
  245. package/src/lib/components/layout/menu-item.component.ts +170 -0
  246. package/src/lib/components/layout/menu.component.html +27 -0
  247. package/src/lib/components/layout/menu.component.ts +17 -0
  248. package/src/lib/components/layout/services/index.ts +1 -0
  249. package/src/lib/components/layout/services/main-layout.component.service.ts +231 -0
  250. package/src/lib/components/layout/topbar.component.html +38 -0
  251. package/src/lib/components/layout/topbar.component.ts +62 -0
  252. package/{lib/components/tableview/index.d.ts → src/lib/components/tableview/index.ts} +5 -3
  253. package/src/lib/components/tableview/models/index.ts +1 -0
  254. package/src/lib/components/tableview/models/table.event.ts +22 -0
  255. package/src/lib/components/tableview/route/tableview-route.abstract.component.ts +31 -0
  256. package/src/lib/components/tableview/services/index.ts +1 -0
  257. package/src/lib/components/tableview/services/tableview.component.service.ts +22 -0
  258. package/src/lib/components/tableview/table/column-filter/column-filter.component.html +36 -0
  259. package/src/lib/components/tableview/table/column-filter/column-filter.component.ts +70 -0
  260. package/src/lib/components/tableview/table/column-value/column-value.component.html +14 -0
  261. package/src/lib/components/tableview/table/column-value/column-value.component.ts +19 -0
  262. package/src/lib/components/tableview/table/table.component.html +110 -0
  263. package/src/lib/components/tableview/table/table.component.ts +327 -0
  264. package/src/lib/components/tableview/tableview.component.html +37 -0
  265. package/src/lib/components/tableview/tableview.component.ts +78 -0
  266. package/src/lib/config/formly.config.ts +154 -0
  267. package/{lib/config/index.d.ts → src/lib/config/index.ts} +1 -1
  268. package/{lib/models/config/index.d.ts → src/lib/config/models/index.ts} +1 -1
  269. package/src/lib/config/models/mng-config.model.ts +35 -0
  270. package/src/lib/data-providers/base.data-provider.ts +42 -0
  271. package/src/lib/data-providers/editor.data-provider.ts +60 -0
  272. package/src/lib/data-providers/index.ts +5 -0
  273. package/src/lib/data-providers/lookup.data-provider.ts +29 -0
  274. package/src/lib/data-providers/table.data-provider.ts +8 -0
  275. package/src/lib/data-providers/tableview.data-provider.ts +29 -0
  276. package/src/lib/descriptors/action.descriptor.ts +439 -0
  277. package/src/lib/descriptors/editor.descriptor.ts +880 -0
  278. package/src/lib/descriptors/field.validator.ts +35 -0
  279. package/src/lib/descriptors/index.ts +7 -0
  280. package/src/lib/descriptors/lookup.descriptor.ts +20 -0
  281. package/src/lib/descriptors/model.descriptor.ts +47 -0
  282. package/src/lib/descriptors/table.descriptor.ts +514 -0
  283. package/src/lib/descriptors/tableview.descriptor.ts +180 -0
  284. package/src/lib/directives/component.directive.ts +18 -0
  285. package/src/lib/directives/index.ts +2 -0
  286. package/src/lib/directives/template.directive.ts +24 -0
  287. package/src/lib/mng-commons.module.ts +240 -0
  288. package/src/lib/models/index.ts +2 -0
  289. package/src/lib/models/router.model.ts +16 -0
  290. package/src/lib/models/user.model.ts +9 -0
  291. package/src/lib/pipes/boolean.pipe.ts +17 -0
  292. package/{lib/pipes/index.d.ts → src/lib/pipes/index.ts} +2 -1
  293. package/src/lib/pipes/property-path.pipe.ts +30 -0
  294. package/src/lib/services/action.service.ts +310 -0
  295. package/src/lib/services/commons.service.ts +407 -0
  296. package/src/lib/services/configuration.service.ts +98 -0
  297. package/{lib/services/index.d.ts → src/lib/services/index.ts} +4 -6
  298. package/src/lib/services/navigation.service.ts +42 -0
  299. package/src/lib/services/providers/commons-init.provider.ts +5 -0
  300. package/src/lib/services/providers/config-service.provider.ts +22 -0
  301. package/src/lib/services/providers/formly-config.provider.ts +39 -0
  302. package/{lib/services/providers/index.d.ts → src/lib/services/providers/index.ts} +3 -2
  303. package/src/lib/services/tokens/browser-storage.token.ts +9 -0
  304. package/src/lib/services/tokens/index.ts +2 -0
  305. package/src/lib/services/tokens/module-config.token.ts +5 -0
  306. package/{lib/models/types/index.d.ts → src/lib/types/index.ts} +2 -2
  307. package/src/lib/types/type.decorator.ts +7 -0
  308. package/src/lib/types/type.model.ts +12 -0
  309. package/src/lib/utils/editor-formly.util.ts +193 -0
  310. package/src/lib/utils/i18n.util.ts +148 -0
  311. package/{lib/utils/index.d.ts → src/lib/utils/index.ts} +5 -4
  312. package/src/lib/utils/model.util.ts +66 -0
  313. package/src/lib/utils/toast.util.ts +49 -0
  314. package/src/lib/utils/type.util.ts +44 -0
  315. package/{public-api.d.ts → src/public-api.ts} +42 -22
  316. package/src/test.ts +26 -0
  317. package/tsconfig.lib.json +15 -0
  318. package/tsconfig.lib.prod.json +10 -0
  319. package/tsconfig.spec.json +17 -0
  320. package/esm2020/lib/api/models/builders/query-param.builder.mjs +0 -49
  321. package/esm2020/lib/api/models/filter-match-type.model.mjs +0 -24
  322. package/esm2020/lib/api/models/filter-param.model.mjs +0 -46
  323. package/esm2020/lib/api/models/index.mjs +0 -9
  324. package/esm2020/lib/api/models/mappers.mjs +0 -17
  325. package/esm2020/lib/api/models/query-mode.model.mjs +0 -19
  326. package/esm2020/lib/api/models/query-param.model.mjs +0 -69
  327. package/esm2020/lib/api/models/query-result.model.mjs +0 -45
  328. package/esm2020/lib/api/models/serialization.model.mjs +0 -2
  329. package/esm2020/lib/api/services/abstract-crud-api.service.mjs +0 -72
  330. package/esm2020/lib/api/services/index.mjs +0 -2
  331. package/esm2020/lib/api/utils/index.mjs +0 -3
  332. package/esm2020/lib/api/utils/medius-rest.util.mjs +0 -70
  333. package/esm2020/lib/api/utils/object-serializer.util.mjs +0 -226
  334. package/esm2020/lib/components/action/action.component.mjs +0 -63
  335. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +0 -148
  336. package/esm2020/lib/components/action/index.mjs +0 -4
  337. package/esm2020/lib/components/action/route/action-route.component.mjs +0 -144
  338. package/esm2020/lib/components/form/editor/form-editor.component.mjs +0 -140
  339. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +0 -58
  340. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +0 -51
  341. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +0 -16
  342. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +0 -26
  343. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +0 -94
  344. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +0 -124
  345. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +0 -17
  346. package/esm2020/lib/components/form/formly/fields/index.mjs +0 -8
  347. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +0 -17
  348. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +0 -16
  349. package/esm2020/lib/components/form/formly/wrappers/index.mjs +0 -3
  350. package/esm2020/lib/components/form/index.mjs +0 -2
  351. package/esm2020/lib/components/layout/app.breadcrumb.component.mjs +0 -27
  352. package/esm2020/lib/components/layout/app.footer.component.mjs +0 -35
  353. package/esm2020/lib/components/layout/app.main.component.mjs +0 -25
  354. package/esm2020/lib/components/layout/app.main.component.service.mjs +0 -133
  355. package/esm2020/lib/components/layout/app.menu.component.mjs +0 -38
  356. package/esm2020/lib/components/layout/app.menuitem.component.mjs +0 -243
  357. package/esm2020/lib/components/layout/app.topbar.component.mjs +0 -135
  358. package/esm2020/lib/components/layout/index.mjs +0 -7
  359. package/esm2020/lib/components/tableview/index.mjs +0 -4
  360. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +0 -31
  361. package/esm2020/lib/components/tableview/table/table.component.mjs +0 -173
  362. package/esm2020/lib/components/tableview/tableview.component.mjs +0 -82
  363. package/esm2020/lib/components/tableview/tableview.component.service.mjs +0 -18
  364. package/esm2020/lib/config/formly.config.mjs +0 -165
  365. package/esm2020/lib/config/index.mjs +0 -2
  366. package/esm2020/lib/directives/index.mjs +0 -2
  367. package/esm2020/lib/directives/template.directive.mjs +0 -25
  368. package/esm2020/lib/mng-commons.module.mjs +0 -338
  369. package/esm2020/lib/models/action/action.model.mjs +0 -58
  370. package/esm2020/lib/models/action/index.mjs +0 -2
  371. package/esm2020/lib/models/config/index.mjs +0 -2
  372. package/esm2020/lib/models/config/mng-config.model.mjs +0 -3
  373. package/esm2020/lib/models/descriptors/action-descriptor.model.mjs +0 -283
  374. package/esm2020/lib/models/descriptors/editor-descriptor.model.mjs +0 -647
  375. package/esm2020/lib/models/descriptors/index.mjs +0 -6
  376. package/esm2020/lib/models/descriptors/model-descriptor.model.mjs +0 -34
  377. package/esm2020/lib/models/descriptors/table-descriptor.model.mjs +0 -123
  378. package/esm2020/lib/models/descriptors/tableview-descriptor.model.mjs +0 -124
  379. package/esm2020/lib/models/events/editor-event.model.mjs +0 -14
  380. package/esm2020/lib/models/events/index.mjs +0 -3
  381. package/esm2020/lib/models/events/table-event.model.mjs +0 -16
  382. package/esm2020/lib/models/interfaces/confirmation-service.model.mjs +0 -2
  383. package/esm2020/lib/models/interfaces/index.mjs +0 -2
  384. package/esm2020/lib/models/providers/data-provider.model.mjs +0 -86
  385. package/esm2020/lib/models/providers/index.mjs +0 -2
  386. package/esm2020/lib/models/types/index.mjs +0 -3
  387. package/esm2020/lib/models/types/type.decorator.mjs +0 -8
  388. package/esm2020/lib/models/types/type.model.mjs +0 -2
  389. package/esm2020/lib/models/validators/field.validator.mjs +0 -21
  390. package/esm2020/lib/models/validators/index.mjs +0 -2
  391. package/esm2020/lib/pipes/index.mjs +0 -2
  392. package/esm2020/lib/pipes/property-path.pipe.mjs +0 -36
  393. package/esm2020/lib/services/action.service.mjs +0 -239
  394. package/esm2020/lib/services/breadcrumb.service.mjs +0 -21
  395. package/esm2020/lib/services/configuration.service.mjs +0 -77
  396. package/esm2020/lib/services/index.mjs +0 -7
  397. package/esm2020/lib/services/menu.service.mjs +0 -26
  398. package/esm2020/lib/services/navigation.service.mjs +0 -49
  399. package/esm2020/lib/services/providers/config-service.provider.mjs +0 -12
  400. package/esm2020/lib/services/providers/formly-config.provider.mjs +0 -31
  401. package/esm2020/lib/services/providers/index.mjs +0 -3
  402. package/esm2020/lib/services/settings.service.mjs +0 -40
  403. package/esm2020/lib/utils/editor-formly.util.mjs +0 -165
  404. package/esm2020/lib/utils/i18n.util.mjs +0 -75
  405. package/esm2020/lib/utils/index.mjs +0 -5
  406. package/esm2020/lib/utils/model.util.mjs +0 -38
  407. package/esm2020/lib/utils/type.util.mjs +0 -43
  408. package/esm2020/mediusinc-mng-commons.mjs +0 -5
  409. package/esm2020/public-api.mjs +0 -33
  410. package/fesm2015/mediusinc-mng-commons.mjs +0 -5056
  411. package/fesm2015/mediusinc-mng-commons.mjs.map +0 -1
  412. package/fesm2020/mediusinc-mng-commons.mjs +0 -5012
  413. package/fesm2020/mediusinc-mng-commons.mjs.map +0 -1
  414. package/lib/api/models/builders/query-param.builder.d.ts +0 -11
  415. package/lib/api/models/filter-match-type.model.d.ts +0 -21
  416. package/lib/api/models/filter-param.model.d.ts +0 -23
  417. package/lib/api/models/mappers.d.ts +0 -6
  418. package/lib/api/models/query-param.model.d.ts +0 -31
  419. package/lib/api/models/query-result.model.d.ts +0 -36
  420. package/lib/api/services/abstract-crud-api.service.d.ts +0 -23
  421. package/lib/api/services/index.d.ts +0 -1
  422. package/lib/api/utils/medius-rest.util.d.ts +0 -6
  423. package/lib/api/utils/object-serializer.util.d.ts +0 -30
  424. package/lib/components/action/action.component.d.ts +0 -36
  425. package/lib/components/action/dialog/action-dialog.component.d.ts +0 -48
  426. package/lib/components/action/route/action-route.component.d.ts +0 -32
  427. package/lib/components/form/editor/form-editor.component.d.ts +0 -37
  428. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +0 -21
  429. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +0 -19
  430. package/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +0 -6
  431. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +0 -12
  432. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +0 -17
  433. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +0 -36
  434. package/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +0 -6
  435. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +0 -8
  436. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +0 -8
  437. package/lib/components/form/index.d.ts +0 -1
  438. package/lib/components/layout/app.breadcrumb.component.d.ts +0 -16
  439. package/lib/components/layout/app.footer.component.d.ts +0 -8
  440. package/lib/components/layout/app.main.component.d.ts +0 -12
  441. package/lib/components/layout/app.main.component.service.d.ts +0 -40
  442. package/lib/components/layout/app.menu.component.d.ts +0 -14
  443. package/lib/components/layout/app.menuitem.component.d.ts +0 -31
  444. package/lib/components/layout/app.topbar.component.d.ts +0 -16
  445. package/lib/components/layout/index.d.ts +0 -6
  446. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +0 -15
  447. package/lib/components/tableview/table/table.component.d.ts +0 -47
  448. package/lib/components/tableview/tableview.component.d.ts +0 -36
  449. package/lib/components/tableview/tableview.component.service.d.ts +0 -11
  450. package/lib/config/formly.config.d.ts +0 -8
  451. package/lib/directives/index.d.ts +0 -1
  452. package/lib/directives/template.directive.d.ts +0 -11
  453. package/lib/mng-commons.module.d.ts +0 -74
  454. package/lib/models/action/action.model.d.ts +0 -53
  455. package/lib/models/action/index.d.ts +0 -1
  456. package/lib/models/config/mng-config.model.d.ts +0 -19
  457. package/lib/models/descriptors/action-descriptor.model.d.ts +0 -124
  458. package/lib/models/descriptors/editor-descriptor.model.d.ts +0 -248
  459. package/lib/models/descriptors/index.d.ts +0 -5
  460. package/lib/models/descriptors/model-descriptor.model.d.ts +0 -15
  461. package/lib/models/descriptors/table-descriptor.model.d.ts +0 -45
  462. package/lib/models/descriptors/tableview-descriptor.model.d.ts +0 -38
  463. package/lib/models/events/editor-event.model.d.ts +0 -11
  464. package/lib/models/events/index.d.ts +0 -2
  465. package/lib/models/events/table-event.model.d.ts +0 -17
  466. package/lib/models/interfaces/confirmation-service.model.d.ts +0 -6
  467. package/lib/models/interfaces/index.d.ts +0 -1
  468. package/lib/models/providers/data-provider.model.d.ts +0 -62
  469. package/lib/models/providers/index.d.ts +0 -1
  470. package/lib/models/types/type.decorator.d.ts +0 -2
  471. package/lib/models/types/type.model.d.ts +0 -10
  472. package/lib/models/validators/field.validator.d.ts +0 -18
  473. package/lib/models/validators/index.d.ts +0 -1
  474. package/lib/pipes/property-path.pipe.d.ts +0 -7
  475. package/lib/services/action.service.d.ts +0 -92
  476. package/lib/services/breadcrumb.service.d.ts +0 -9
  477. package/lib/services/configuration.service.d.ts +0 -35
  478. package/lib/services/menu.service.d.ts +0 -11
  479. package/lib/services/navigation.service.d.ts +0 -14
  480. package/lib/services/providers/config-service.provider.d.ts +0 -5
  481. package/lib/services/providers/formly-config.provider.d.ts +0 -4
  482. package/lib/services/settings.service.d.ts +0 -18
  483. package/lib/utils/editor-formly.util.d.ts +0 -9
  484. package/lib/utils/i18n.util.d.ts +0 -14
  485. package/lib/utils/model.util.d.ts +0 -5
  486. package/lib/utils/type.util.d.ts +0 -15
  487. package/mediusinc-mng-commons-0.0.1-rc.3.tgz +0 -0
  488. package/mediusinc-mng-commons.d.ts +0 -5
@@ -1,94 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FieldType } from '@ngx-formly/core';
3
- import { of, ReplaySubject } from 'rxjs';
4
- import { startWith } from 'rxjs/operators';
5
- import { FieldManyEditorDescriptor, ActionDescriptor, ActionEditorDescriptor, ActionLevelEnum } from '../../../../../models/descriptors';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../../../../tableview/table/table.component";
8
- import * as i2 from "../../../../action/action.component";
9
- import * as i3 from "../../../../../directives/template.directive";
10
- import * as i4 from "@angular/common";
11
- import * as i5 from "@ngx-translate/core";
12
- export class FormlyFieldTableDialogFormComponent extends FieldType {
13
- constructor() {
14
- super(...arguments);
15
- this.itemsSubject = new ReplaySubject(1);
16
- this.items$ = this.itemsSubject.asObservable();
17
- this.toolbarActions = [];
18
- this.rowActions = [];
19
- this.subscriptions = [];
20
- }
21
- ngOnInit() {
22
- this.descriptor = this.to['descriptor'];
23
- const hasAddAction = this.descriptor.actions.some(a => a === FieldManyEditorDescriptor.ActionEnum.Add);
24
- const hasEditAction = this.descriptor.actions.some(a => a === FieldManyEditorDescriptor.ActionEnum.Edit);
25
- const hasDeleteAction = this.descriptor.actions.some(a => a === FieldManyEditorDescriptor.ActionEnum.Delete);
26
- if (hasAddAction) {
27
- console.log(this.descriptor.tableviewDescriptor.addEditor);
28
- const addAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.addEditor, 'add', this.descriptor.editor.model.type, this.descriptor.property)
29
- .withTitle(null)
30
- .withIcon('pi pi-plus')
31
- .withClassName('mng-formly-field-table-form-dialog')
32
- .withSubmitFunction(ctx => {
33
- this.formState.submittedOn = Date.now();
34
- let value = this.formControl.value;
35
- value = [...value, ctx.data?.item];
36
- this.formControl.patchValue(value);
37
- return of(value);
38
- })
39
- .withIsVisibleFunction(ctx => of(!this.options?.formState.disabled));
40
- this.toolbarActions.push(addAction);
41
- }
42
- if (hasEditAction) {
43
- const editAction = new ActionEditorDescriptor(this.descriptor.tableviewDescriptor.editEditor, 'edit', this.descriptor.editor.model.type, this.descriptor.property)
44
- .withTitle(null)
45
- .withIcon('pi pi-pencil')
46
- .withClassName('mng-formly-field-table-form-dialog')
47
- .withSubmitFunction(ctx => {
48
- this.formState.submittedOn = Date.now();
49
- let value = this.formControl.value;
50
- value[ctx.data?.actionData?.['itemIndex']] = ctx.data?.item;
51
- this.formControl.patchValue(value);
52
- return of(value);
53
- })
54
- .withIsVisibleFunction(ctx => of(!this.options?.formState.disabled));
55
- this.rowActions.push(editAction);
56
- }
57
- if (hasDeleteAction) {
58
- const deleteAction = new ActionDescriptor(this.descriptor.tableviewDescriptor.model, 'delete', this.descriptor.editor.model.type, this.descriptor.property)
59
- .withLevel(ActionLevelEnum.Danger)
60
- .withTitle(null)
61
- .withIcon('pi pi-trash')
62
- .withRunFunction(ctx => {
63
- let value = this.formControl.value;
64
- // TODO: resolve ts ignore
65
- // @ts-ignore
66
- value = value.filter(i => i[this.descriptor.tableDescriptor.dataKeyProperty] !== ctx.data.item?.[this.descriptor.tableDescriptor.dataKeyProperty]);
67
- this.formControl.patchValue(value);
68
- return of(value);
69
- })
70
- .withIsVisibleFunction(ctx => of(!this.options?.formState.disabled));
71
- this.rowActions.push(deleteAction);
72
- }
73
- // init values
74
- if (typeof this.formControl.value === 'undefined' || this.formControl.value === null) {
75
- this.formControl.patchValue([]);
76
- }
77
- const subscription = this.formControl.valueChanges
78
- .pipe(startWith(this.formControl.value))
79
- .subscribe(v => {
80
- this.itemsSubject.next(v);
81
- });
82
- this.subscriptions.push(subscription);
83
- }
84
- ngOnDestroy() {
85
- this.subscriptions.forEach(s => s.unsubscribe());
86
- }
87
- }
88
- FormlyFieldTableDialogFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
89
- FormlyFieldTableDialogFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldTableDialogFormComponent, selector: "mng-formly-table-dialog-form-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action *ngFor=\"let action of rowActions\"\n [action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\" [actionData]=\"{ itemIndex: idx }\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"], components: [{ type: i1.TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }, { type: i2.ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData"] }], directives: [{ type: i3.TemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i5.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogFormComponent, decorators: [{
91
- type: Component,
92
- args: [{ selector: 'mng-formly-table-dialog-form-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table [descriptor]=\"descriptor.tableDescriptor\" [items]=\"items$\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <mng-action *ngFor=\"let action of toolbarActions\" [action]=\"action\"></mng-action>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n <mng-action *ngFor=\"let action of rowActions\"\n [action]=\"action\" [item]=\"item\" [itemId]=\"descriptor.tableviewDescriptor.model.idPropertyName ? item[descriptor.tableviewDescriptor.model.idPropertyName] : undefined\" [actionData]=\"{ itemIndex: idx }\">\n </mng-action>\n </ng-template>\n</mng-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"] }]
93
- }] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS9maWVsZHMvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS9mb3JtbHktZmllbGQtdGFibGUtZGlhbG9nLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFcEYsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzNDLE9BQU8sRUFBYSxFQUFFLEVBQUUsYUFBYSxFQUF3QixNQUFNLE1BQU0sQ0FBQztBQUMxRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGdCQUFnQixFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7O0FBVXZJLE1BQU0sT0FBTyxtQ0FBMkMsU0FBUSxTQUFTO0lBTnpFOztRQVVXLGlCQUFZLEdBQXNCLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELFdBQU0sR0FBeUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUVoRSxtQkFBYyxHQUErQixFQUFFLENBQUM7UUFDaEQsZUFBVSxH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dUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQge0ZpZWxkVHlwZX0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge09ic2VydmFibGUsIG9mLCBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtzdGFydFdpdGh9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yLCBBY3Rpb25EZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JEZXNjcmlwdG9yLCBBY3Rpb25MZXZlbEVudW19IGZyb20gJy4uLy4uLy4uLy4uLy4uL21vZGVscy9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge0FjdGlvbkV4ZWNDb250ZXh0fSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvYWN0aW9uJztcbmltcG9ydCB7SURhdGFQcm92aWRlciwgSUVkaXRvckRhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vbW9kZWxzL3Byb3ZpZGVycyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS10YWJsZS1kaWFsb2ctZm9ybS1maWVsZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRUYWJsZURpYWxvZ0Zvcm1Db21wb25lbnQ8VCwgRVQ+IGV4dGVuZHMgRmllbGRUeXBlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgcHVibGljIGRlc2NyaXB0b3IhOiBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yPFQsIEVUPjtcblxuICAgIHB1YmxpYyBpdGVtc1N1YmplY3Q6IFN1YmplY3Q8QXJyYXk8VD4+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG4gICAgcHVibGljIGl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxUPj4gPSB0aGlzLml0ZW1zU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHB1YmxpYyB0b29sYmFyQWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4gPSBbXTtcbiAgICBwdWJsaWMgcm93QWN0aW9uczogQXJyYXk8QWN0aW9uRGVzY3JpcHRvcjxUPj4gPSBbXTtcblxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcblxuICAgICAgICB0aGlzLmRlc2NyaXB0b3IgPSB0aGlzLnRvWydkZXNjcmlwdG9yJ107XG4gICAgICAgIGNvbnN0IGhhc0FkZEFjdGlvbiA9IHRoaXMuZGVzY3JpcHRvci5hY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yLkFjdGlvbkVudW0uQWRkKTtcbiAgICAgICAgY29uc3QgaGFzRWRpdEFjdGlvbiA9IHRoaXMuZGVzY3JpcHRvci5hY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yLkFjdGlvbkVudW0uRWRpdCk7XG4gICAgICAgIGNvbnN0IGhhc0RlbGV0ZUFjdGlvbiA9IHRoaXMuZGVzY3JpcHRvci5hY3Rpb25zLnNvbWUoYSA9PiBhID09PSBGaWVsZE1hbnlFZGl0b3JEZXNjcmlwdG9yLkFjdGlvbkVudW0uRGVsZXRlKTtcblxuICAgICAgICBpZiAoaGFzQWRkQWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmRlc2NyaXB0b3IudGFibGV2aWV3RGVzY3JpcHRvci5hZGRFZGl0b3IpO1xuICAgICAgICAgICAgY29uc3QgYWRkQWN0aW9uID0gbmV3IEFjdGlvbkVkaXRvckRlc2NyaXB0b3IodGhpcy5kZXNjcmlwdG9yLnRhYmxldmlld0Rlc2NyaXB0b3IuYWRkRWRpdG9yLCAnYWRkJywgdGhpcy5kZXNjcmlwdG9yLmVkaXRvci5tb2RlbC50eXBlLCB0aGlzLmRlc2NyaXB0b3IucHJvcGVydHkpXG4gICAgICAgICAgICAgICAgLndpdGhUaXRsZShudWxsKVxuICAgICAgICAgICAgICAgIC53aXRoSWNvbigncGkgcGktcGx1cycpXG4gICAgICAgICAgICAgICAgLndpdGhDbGFzc05hbWUoJ21uZy1mb3JtbHktZmllbGQtdGFibGUtZm9ybS1kaWFsb2cnKVxuICAgICAgICAgICAgICAgIC53aXRoU3VibWl0RnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtU3RhdGUuc3VibWl0dGVkT24gPSBEYXRlLm5vdygpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgdmFsdWUgPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IFsuLi52YWx1ZSwgY3R4LmRhdGE/Lml0ZW1dO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnBhdGNoVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YodmFsdWUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLndpdGhJc1Zpc2libGVGdW5jdGlvbihjdHggPT4gb2YoIXRoaXMub3B0aW9ucz8uZm9ybVN0YXRlLmRpc2FibGVkKSk7XG4gICAgICAgICAgICB0aGlzLnRvb2xiYXJBY3Rpb25zLnB1c2goYWRkQWN0aW9uIGFzIEFjdGlvbkRlc2NyaXB0b3I8VD4pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChoYXNFZGl0QWN0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBlZGl0QWN0aW9uID0gbmV3IEFjdGlvbkVkaXRvckRlc2NyaXB0b3IodGhpcy5kZXNjcmlwdG9yLnRhYmxldmlld0Rlc2NyaXB0b3IuZWRpdEVkaXRvciwgJ2VkaXQnLCB0aGlzLmRlc2NyaXB0b3IuZWRpdG9yLm1vZGVsLnR5cGUsIHRoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eSlcbiAgICAgICAgICAgICAgICAud2l0aFRpdGxlKG51bGwpXG4gICAgICAgICAgICAgICAgLndpdGhJY29uKCdwaSBwaS1wZW5jaWwnKVxuICAgICAgICAgICAgICAgIC53aXRoQ2xhc3NOYW1lKCdtbmctZm9ybWx5LWZpZWxkLXRhYmxlLWZvcm0tZGlhbG9nJylcbiAgICAgICAgICAgICAgICAud2l0aFN1Ym1pdEZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybVN0YXRlLnN1Ym1pdHRlZE9uID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWVbY3R4LmRhdGE/LmFjdGlvbkRhdGE/LlsnaXRlbUluZGV4J11dID0gY3R4LmRhdGE/Lml0ZW07XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAud2l0aElzVmlzaWJsZUZ1bmN0aW9uKGN0eCA9PiBvZighdGhpcy5vcHRpb25zPy5mb3JtU3RhdGUuZGlzYWJsZWQpKTtcbiAgICAgICAgICAgIHRoaXMucm93QWN0aW9ucy5wdXNoKGVkaXRBY3Rpb24gYXMgQWN0aW9uRGVzY3JpcHRvcjxUPik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGhhc0RlbGV0ZUFjdGlvbikge1xuICAgICAgICAgICAgY29uc3QgZGVsZXRlQWN0aW9uID0gbmV3IEFjdGlvbkRlc2NyaXB0b3IodGhpcy5kZXNjcmlwdG9yLnRhYmxldmlld0Rlc2NyaXB0b3IubW9kZWwsICdkZWxldGUnLCB0aGlzLmRlc2NyaXB0b3IuZWRpdG9yLm1vZGVsLnR5cGUsIHRoaXMuZGVzY3JpcHRvci5wcm9wZXJ0eSlcbiAgICAgICAgICAgICAgICAud2l0aExldmVsKEFjdGlvbkxldmVsRW51bS5EYW5nZXIpXG4gICAgICAgICAgICAgICAgLndpdGhUaXRsZShudWxsKVxuICAgICAgICAgICAgICAgIC53aXRoSWNvbigncGkgcGktdHJhc2gnKVxuICAgICAgICAgICAgICAgIC53aXRoUnVuRnVuY3Rpb24oY3R4ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogcmVzb2x2ZSB0cyBpZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLmZpbHRlcihpID0+IGlbdGhpcy5kZXNjcmlwdG9yLnRhYmxlRGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHldICE9PSBjdHguZGF0YS5pdGVtPy5bdGhpcy5kZXNjcmlwdG9yLnRhYmxlRGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHldKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHZhbHVlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC53aXRoSXNWaXNpYmxlRnVuY3Rpb24oY3R4ID0+IG9mKCF0aGlzLm9wdGlvbnM/LmZvcm1TdGF0ZS5kaXNhYmxlZCkpO1xuICAgICAgICAgICAgdGhpcy5yb3dBY3Rpb25zLnB1c2goZGVsZXRlQWN0aW9uKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGluaXQgdmFsdWVzXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mb3JtQ29udHJvbC52YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKFtdKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXNTdWJqZWN0Lm5leHQodik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG59XG4iLCI8bW5nLXRhYmxlIFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IudGFibGVEZXNjcmlwdG9yXCIgW2l0ZW1zXT1cIml0ZW1zJFwiPlxuICAgIDxuZy10ZW1wbGF0ZSBtbmdUZW1wbGF0ZT1cImNhcHRpb25cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gbWQ6ZmxleC1yb3cgbWQ6anVzdGlmeS1jb250ZW50LWVuZCB0YWJsZS1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cIm1uZy1kYXRhdGFibGUtZm9ybS1sYWJlbCBwLW0tMFwiIFtmb3JdPVwia2V5XCI+e3sgdG8/LmxhYmVsISB8IHRyYW5zbGF0ZSB9fSA8c3BhbiAqbmdJZj1cInRvLnJlcXVpcmVkICYmIHRvWydoaWRlUmVxdWlyZWRNYXJrZXInXSAhPT0gdHJ1ZVwiPio8L3NwYW4+PC9sYWJlbD5cbiAgICAgICAgICAgIDxtbmctYWN0aW9uICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgdG9vbGJhckFjdGlvbnNcIiBbYWN0aW9uXT1cImFjdGlvblwiPjwvbW5nLWFjdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJjb2x1bW5BY3Rpb25cIiBsZXQtaXRlbT1cInJvd0l0ZW1cIiBsZXQtaWR4PVwicm93SW5kZXhcIj5cbiAgICAgICAgPG1uZy1hY3Rpb24gKm5nRm9yPVwibGV0IGFjdGlvbiBvZiByb3dBY3Rpb25zXCJcbiAgICAgICAgICAgICAgICAgICAgW2FjdGlvbl09XCJhY3Rpb25cIiBbaXRlbV09XCJpdGVtXCIgW2l0ZW1JZF09XCJkZXNjcmlwdG9yLnRhYmxldmlld0Rlc2NyaXB0b3IubW9kZWwuaWRQcm9wZXJ0eU5hbWUgPyBpdGVtW2Rlc2NyaXB0b3IudGFibGV2aWV3RGVzY3JpcHRvci5tb2RlbC5pZFByb3BlcnR5TmFtZV0gOiB1bmRlZmluZWRcIiBbYWN0aW9uRGF0YV09XCJ7IGl0ZW1JbmRleDogaWR4IH1cIj5cbiAgICAgICAgPC9tbmctYWN0aW9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L21uZy10YWJsZT5cbiJdfQ==
@@ -1,124 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FieldType } from '@ngx-formly/core';
3
- import { finalize, first, startWith } from 'rxjs/operators';
4
- import { ReplaySubject } from 'rxjs';
5
- import { FilterMatchType, QueryParamBuilder } from '../../../../../api/models';
6
- import { FieldManyToManyEditorDescriptor } from '../../../../../models/descriptors';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "../../../../tableview/table/table.component";
9
- import * as i2 from "primeng/dialog";
10
- import * as i3 from "primeng/messages";
11
- import * as i4 from "../../../../../directives/template.directive";
12
- import * as i5 from "@angular/common";
13
- import * as i6 from "primeng/button";
14
- import * as i7 from "primeng/ripple";
15
- import * as i8 from "primeng/api";
16
- import * as i9 from "@ngx-translate/core";
17
- export class FormlyFieldTableDialogMultiselectComponent extends FieldType {
18
- constructor(injector) {
19
- super();
20
- this.injector = injector;
21
- this.itemsSubject = new ReplaySubject(1);
22
- this.itemsAsync = this.itemsSubject.asObservable();
23
- this.addItemsSubject = new ReplaySubject(1);
24
- this.addItemsAsync = this.addItemsSubject.asObservable();
25
- this.dialogUseDataProvider = false;
26
- this.dialogDataProviderService = null;
27
- this.dialogIsLoadingSubject = new ReplaySubject(1);
28
- this.isDialogVisible = false;
29
- this.dialogAreItemsLoaded = false;
30
- this.dialogSelectedAddItems = [];
31
- this.dialogMessages = [];
32
- this.dialogIsLoading$ = this.dialogIsLoadingSubject.asObservable();
33
- this.hasAddAction = false;
34
- this.hasDeleteAction = false;
35
- this.subscriptions = [];
36
- }
37
- ngOnInit() {
38
- this.descriptor = this.to['descriptor'];
39
- if (this.descriptor.lookupTableDataProvider?.serviceType) {
40
- this.dialogUseDataProvider = true;
41
- this.dialogDataProviderService = this.injector.get(this.descriptor.lookupTableDataProvider.serviceType);
42
- }
43
- this.hasAddAction = this.descriptor.actions.some(a => a === FieldManyToManyEditorDescriptor.ActionEnum.Add);
44
- this.hasDeleteAction = this.descriptor.actions.some(a => a === FieldManyToManyEditorDescriptor.ActionEnum.Delete);
45
- // init values
46
- if (typeof this.formControl.value === 'undefined' || this.formControl.value === null) {
47
- this.formControl.patchValue([]);
48
- }
49
- const subscription = this.formControl.valueChanges
50
- .pipe(startWith(this.formControl.value))
51
- .subscribe(v => {
52
- this.itemsSubject.next(v);
53
- });
54
- this.subscriptions.push(subscription);
55
- }
56
- ngOnDestroy() {
57
- this.subscriptions.forEach(s => s.unsubscribe());
58
- }
59
- openAddDialog() {
60
- if (!this.dialogAreItemsLoaded && this.dialogUseDataProvider) {
61
- this.dialogIsLoadingSubject.next(true);
62
- const queryParamBuilder = QueryParamBuilder.create(50);
63
- if (this.descriptor.lookupTableDescriptor.hasDefaultSort) {
64
- this.descriptor.lookupTableDescriptor.defaultSortProperty.forEach((p, idx) => queryParamBuilder.withSort(p, this.descriptor.lookupTableDescriptor.defaultSortAsc[idx]));
65
- }
66
- if (this.descriptor.hasLookupExcludeValues) {
67
- // TODO: resolve ts ignore
68
- // @ts-ignore
69
- const filterValues = this.formControl.value.map(i => i[this.descriptor.excludeValueProperty]);
70
- queryParamBuilder.withFilter(this.descriptor.excludeFilterProperty, filterValues, undefined, FilterMatchType.NotIn);
71
- }
72
- this.descriptor.lookupTableDataProvider?.getAll(queryParamBuilder.build(), this.dialogDataProviderService)
73
- .pipe(first(), finalize(() => this.dialogIsLoadingSubject.next(false)))
74
- .subscribe(res => {
75
- this.addItemsSubject.next(res);
76
- this.dialogAreItemsLoaded = true;
77
- });
78
- }
79
- this.dialogSelectedAddItems = [];
80
- this.isDialogVisible = true;
81
- }
82
- onSelectionChange(items) {
83
- this.dialogSelectedAddItems = items;
84
- }
85
- hideDialog() {
86
- this.isDialogVisible = false;
87
- }
88
- addItems() {
89
- let value = this.formControl.value;
90
- if (Array.isArray(value)) {
91
- value = [...value, ...this.dialogSelectedAddItems];
92
- this.formControl.patchValue(value);
93
- this.dialogSelectedAddItems = [];
94
- this.dialogAreItemsLoaded = false;
95
- this.hideDialog();
96
- }
97
- else {
98
- console.error("Values are not an valid array, cannot add selected items to array");
99
- this.dialogMessages = [{ severity: 'error', summary: 'Error', detail: 'Selected items could not be added' }];
100
- }
101
- }
102
- removeItem(item) {
103
- let value = this.formControl.value;
104
- if (Array.isArray(value)) {
105
- const compareProperty = this.descriptor.mainTableDescriptor.dataKeyProperty ? this.descriptor.mainTableDescriptor.dataKeyProperty : this.descriptor.mainTableDescriptor.model.idPropertyName;
106
- if (!compareProperty) {
107
- throw new Error('Cannot compare items, please provide main table data key property or model id property.');
108
- }
109
- value = value.filter(i => i[compareProperty] !== item[compareProperty]);
110
- this.formControl.patchValue(value);
111
- this.dialogAreItemsLoaded = false;
112
- }
113
- else {
114
- console.error("Values are not an valid array, cannot delete selected item from array");
115
- }
116
- }
117
- }
118
- FormlyFieldTableDialogMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
119
- FormlyFieldTableDialogMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldTableDialogMultiselectComponent, selector: "mng-formly-table-multiselect-add-field", usesInheritance: true, ngImport: i0, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button *ngIf=\"hasAddAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-plus\" class=\"p-button-rounded p-button-success\"\n (click)=\"openAddDialog()\">\n </button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button *ngIf=\"hasDeleteAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"\n (click)=\"removeItem(item)\">\n </button>\n </ng-template>\n</mng-table>\n\n<p-dialog *ngIf=\"hasAddAction\" [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (onSelectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button pButton pRipple type=\"button\" [label]=\"'general.add' | translate\" icon=\"pi pi-check\" class=\"p-button-text\" (click)=\"addItems()\" [loading]=\"(dialogIsLoading$ | async) ?? false\" [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n", components: [{ type: i1.TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "queryResult", "loading", "dataProvider", "selectionEnabled"], outputs: ["onLoad", "onCellClick", "onSelectionChange"] }, { type: i2.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { type: i3.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange"] }], directives: [{ type: i4.TemplateDirective, selector: "[mngTemplate]", inputs: ["type", "mngTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { type: i7.Ripple, selector: "[pRipple]" }, { type: i8.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i9.TranslatePipe, "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, decorators: [{
121
- type: Component,
122
- args: [{ selector: 'mng-formly-table-multiselect-add-field', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table [descriptor]=\"descriptor.mainTableDescriptor\" [items]=\"itemsAsync\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex flex-column md:flex-row md:justify-content-end table-header\">\n <label class=\"mng-datatable-form-label p-m-0\" [for]=\"key\">{{ to?.label! | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <button *ngIf=\"hasAddAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-plus\" class=\"p-button-rounded p-button-success\"\n (click)=\"openAddDialog()\">\n </button>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnAction\" let-item=\"rowItem\">\n <button *ngIf=\"hasDeleteAction && !formControl.disabled\" pButton pRipple type=\"button\" icon=\"pi pi-trash\" class=\"p-button-rounded p-button-danger\"\n (click)=\"removeItem(item)\">\n </button>\n </ng-template>\n</mng-table>\n\n<p-dialog *ngIf=\"hasAddAction\" [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: to?.label!}\"\n [modal]=\"true\"\n styleClass=\"p-fluid mng-formly-field-table-multiselect-dialog\">\n <ng-template pTemplate=\"content\">\n <mng-table [descriptor]=\"descriptor.mainTableDescriptor\"\n [queryResult]=\"addItemsAsync\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading$\"\n (onSelectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n <p-messages [value]=\"dialogMessages\"></p-messages>\n </ng-template>\n\n <ng-template pTemplate=\"footer\">\n <button pButton pRipple type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" class=\"p-button-text\" (click)=\"hideDialog()\"></button>\n <button pButton pRipple type=\"button\" [label]=\"'general.add' | translate\" icon=\"pi pi-check\" class=\"p-button-text\" (click)=\"addItems()\" [loading]=\"(dialogIsLoading$ | async) ?? false\" [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n" }]
123
- }], ctorParameters: function () { return [{ type: i0.Injector }]; } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QvZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUE4QixNQUFNLGVBQWUsQ0FBQztBQUU5RixPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUQsT0FBTyxFQUFhLGFBQWEsRUFBd0IsTUFBTSxNQUFNLENBQUM7QUFFdEUsT0FBTyxFQUFDLGVBQWUsRUFBRSxpQkFBaUIsRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBQzFGLE9BQU8sRUFBQywrQkFBK0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7Ozs7OztBQU9sRixNQUFNLE9BQU8sMENBQWtELFNBQVEsU0FBUztJQXdCNUUsWUFBb0IsUUFBa0I7UUFDbEMsS0FBSyxFQUFFLENBQUM7UUFEUSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBcEIvQixpQkFB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QUFVLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO1lBQzdMLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ2xCLE1BQU0sSUFBSSxLQUFLLENBQUMseUZBQXlGLENBQUMsQ0FBQzthQUM5RztZQUNELEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxLQUFLLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7U0FDckM7YUFBTTtZQUNILE9BQU8sQ0FBQyxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQztTQUMxRjtJQUNMLENBQUM7O3VJQXRIUSwwQ0FBMEM7MkhBQTFDLDBDQUEwQyxxR0NmdkQsd3FFQW9DQTsyRkRyQmEsMENBQTBDO2tCQUx0RCxTQUFTOytCQUNJLHdDQUF3QyxtQkFFakMsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtGaWVsZFR5cGV9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHtNZXNzYWdlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge2ZpbmFsaXplLCBmaXJzdCwgc3RhcnRXaXRofSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge09ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7RmlsdGVyTWF0Y2hUeXBlLCBRdWVyeVBhcmFtQnVpbGRlciwgUXVlcnlSZXN1bHR9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtGaWVsZE1hbnlUb01hbnlFZGl0b3JEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9tb2RlbHMvZGVzY3JpcHRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy1mb3JtbHktdGFibGUtbXVsdGlzZWxlY3QtYWRkLWZpZWxkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1tdWx0aXNlbGVjdC5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRUYWJsZURpYWxvZ011bHRpc2VsZWN0Q29tcG9uZW50PFQsIEVUPiBleHRlbmRzIEZpZWxkVHlwZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICAgIHB1YmxpYyBkZXNjcmlwdG9yITogRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvcjxULCBFVD47XG5cbiAgICBwdWJsaWMgaXRlbXNTdWJqZWN0OiBTdWJqZWN0PEFycmF5PFQ+PiA9IG5ldyBSZXBsYXlTdWJqZWN0KDEpO1xuICAgIHB1YmxpYyBpdGVtc0FzeW5jOiBPYnNlcnZhYmxlPEFycmF5PFQ+PiA9IHRoaXMuaXRlbXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBhZGRJdGVtc1N1YmplY3Q6IFN1YmplY3Q8UXVlcnlSZXN1bHQ8VD4+ID0gbmV3IFJlcGxheVN1YmplY3QoMSk7XG4gICAgcHVibGljIGFkZEl0ZW1zQXN5bmM6IE9ic2VydmFibGU8UXVlcnlSZXN1bHQ8VD4+ID0gdGhpcy5hZGRJdGVtc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBwdWJsaWMgZGlhbG9nVXNlRGF0YVByb3ZpZGVyOiBib29sZWFuID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBkaWFsb2dEYXRhUHJvdmlkZXJTZXJ2aWNlOiBhbnkgPSBudWxsO1xuICAgIHByaXZhdGUgZGlhbG9nSXNMb2FkaW5nU3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PGJvb2xlYW4+KDEpO1xuXG4gICAgcHVibGljIGlzRGlhbG9nVmlzaWJsZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBkaWFsb2dBcmVJdGVtc0xvYWRlZCA9IGZhbHNlO1xuICAgIHB1YmxpYyBkaWFsb2dTZWxlY3RlZEFkZEl0ZW1zOiBBcnJheTxhbnk+ID0gW107XG4gICAgcHVibGljIGRpYWxvZ01lc3NhZ2VzOiBNZXNzYWdlW10gPSBbXTtcbiAgICBwdWJsaWMgZGlhbG9nSXNMb2FkaW5nJCA9IHRoaXMuZGlhbG9nSXNMb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICAgIHB1YmxpYyBoYXNBZGRBY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBwdWJsaWMgaGFzRGVsZXRlQWN0aW9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcblxuICAgICAgICB0aGlzLmRlc2NyaXB0b3IgPSB0aGlzLnRvWydkZXNjcmlwdG9yJ107XG4gICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IubG9va3VwVGFibGVEYXRhUHJvdmlkZXI/LnNlcnZpY2VUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1VzZURhdGFQcm92aWRlciA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGFQcm92aWRlclNlcnZpY2UgPSB0aGlzLmluamVjdG9yLmdldDxhbnk+KHRoaXMuZGVzY3JpcHRvci5sb29rdXBUYWJsZURhdGFQcm92aWRlci5zZXJ2aWNlVHlwZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oYXNBZGRBY3Rpb24gPSB0aGlzLmRlc2NyaXB0b3IuYWN0aW9ucy5zb21lKGEgPT4gYSA9PT0gRmllbGRNYW55VG9NYW55RWRpdG9yRGVzY3JpcHRvci5BY3Rpb25FbnVtLkFkZCk7XG4gICAgICAgIHRoaXMuaGFzRGVsZXRlQWN0aW9uID0gdGhpcy5kZXNjcmlwdG9yLmFjdGlvbnMuc29tZShhID0+IGEgPT09IEZpZWxkTWFueVRvTWFueUVkaXRvckRlc2NyaXB0b3IuQWN0aW9uRW51bS5EZWxldGUpO1xuXG4gICAgICAgIC8vIGluaXQgdmFsdWVzXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5mb3JtQ29udHJvbC52YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHwgdGhpcy5mb3JtQ29udHJvbC52YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKFtdKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLmZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZm9ybUNvbnRyb2wudmFsdWUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXNTdWJqZWN0Lm5leHQodik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goc3Vic2NyaXB0aW9uKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBvcGVuQWRkRGlhbG9nKCkge1xuICAgICAgICBpZiAoIXRoaXMuZGlhbG9nQXJlSXRlbXNMb2FkZWQgJiYgdGhpcy5kaWFsb2dVc2VEYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nSXNMb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xuICAgICAgICAgICAgY29uc3QgcXVlcnlQYXJhbUJ1aWxkZXIgPSBRdWVyeVBhcmFtQnVpbGRlci5jcmVhdGUoNTApO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGVzY3JpcHRvci5sb29rdXBUYWJsZURlc2NyaXB0b3IuaGFzRGVmYXVsdFNvcnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRlc2NyaXB0b3IubG9va3VwVGFibGVEZXNjcmlwdG9yLmRlZmF1bHRTb3J0UHJvcGVydHkuZm9yRWFjaCgocCwgaWR4KSA9PiBxdWVyeVBhcmFtQnVpbGRlci53aXRoU29ydChwLCB0aGlzLmRlc2NyaXB0b3IubG9va3VwVGFibGVEZXNjcmlwdG9yLmRlZmF1bHRTb3J0QXNjW2lkeF0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmRlc2NyaXB0b3IuaGFzTG9va3VwRXhjbHVkZVZhbHVlcykge1xuICAgICAgICAgICAgICAgIC8vIFRPRE86IHJlc29sdmUgdHMgaWdub3JlXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlclZhbHVlcyA9IHRoaXMuZm9ybUNvbnRyb2wudmFsdWUubWFwKGkgPT4gaVt0aGlzLmRlc2NyaXB0b3IuZXhjbHVkZVZhbHVlUHJvcGVydHldKVxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1CdWlsZGVyLndpdGhGaWx0ZXIodGhpcy5kZXNjcmlwdG9yLmV4Y2x1ZGVGaWx0ZXJQcm9wZXJ0eSwgZmlsdGVyVmFsdWVzLCB1bmRlZmluZWQsIEZpbHRlck1hdGNoVHlwZS5Ob3RJbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRlc2NyaXB0b3IubG9va3VwVGFibGVEYXRhUHJvdmlkZXI/LmdldEFsbChxdWVyeVBhcmFtQnVpbGRlci5idWlsZCgpLCB0aGlzLmRpYWxvZ0RhdGFQcm92aWRlclNlcnZpY2UpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuZGlhbG9nSXNMb2FkaW5nU3ViamVjdC5uZXh0KGZhbHNlKSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZEl0ZW1zU3ViamVjdC5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nQXJlSXRlbXNMb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGlhbG9nU2VsZWN0ZWRBZGRJdGVtcyA9IFtdO1xuICAgICAgICB0aGlzLmlzRGlhbG9nVmlzaWJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgb25TZWxlY3Rpb25DaGFuZ2UoaXRlbXM6IEFycmF5PGFueT4pIHtcbiAgICAgICAgdGhpcy5kaWFsb2dTZWxlY3RlZEFkZEl0ZW1zID0gaXRlbXM7XG4gICAgfVxuXG4gICAgaGlkZURpYWxvZygpIHtcbiAgICAgICAgdGhpcy5pc0RpYWxvZ1Zpc2libGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBhZGRJdGVtcygpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IFsuLi52YWx1ZSwgLi4udGhpcy5kaWFsb2dTZWxlY3RlZEFkZEl0ZW1zXTtcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1NlbGVjdGVkQWRkSXRlbXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQXJlSXRlbXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGlkZURpYWxvZygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlZhbHVlcyBhcmUgbm90IGFuIHZhbGlkIGFycmF5LCBjYW5ub3QgYWRkIHNlbGVjdGVkIGl0ZW1zIHRvIGFycmF5XCIpO1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dNZXNzYWdlcyA9IFt7IHNldmVyaXR5OiAnZXJyb3InLCBzdW1tYXJ5OiAnRXJyb3InLCBkZXRhaWw6ICdTZWxlY3RlZCBpdGVtcyBjb3VsZCBub3QgYmUgYWRkZWQnIH1dO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlSXRlbShpdGVtOiBhbnkpIHtcbiAgICAgICAgbGV0IHZhbHVlID0gdGhpcy5mb3JtQ29udHJvbC52YWx1ZTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wYXJlUHJvcGVydHkgPSB0aGlzLmRlc2NyaXB0b3IubWFpblRhYmxlRGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHkgPyB0aGlzLmRlc2NyaXB0b3IubWFpblRhYmxlRGVzY3JpcHRvci5kYXRhS2V5UHJvcGVydHkgOiB0aGlzLmRlc2NyaXB0b3IubWFpblRhYmxlRGVzY3JpcHRvci5tb2RlbC5pZFByb3BlcnR5TmFtZTtcbiAgICAgICAgICAgIGlmICghY29tcGFyZVByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY29tcGFyZSBpdGVtcywgcGxlYXNlIHByb3ZpZGUgbWFpbiB0YWJsZSBkYXRhIGtleSBwcm9wZXJ0eSBvciBtb2RlbCBpZCBwcm9wZXJ0eS4nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUuZmlsdGVyKGkgPT4gaVtjb21wYXJlUHJvcGVydHldICE9PSBpdGVtW2NvbXBhcmVQcm9wZXJ0eV0pO1xuICAgICAgICAgICAgdGhpcy5mb3JtQ29udHJvbC5wYXRjaFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQXJlSXRlbXNMb2FkZWQgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJWYWx1ZXMgYXJlIG5vdCBhbiB2YWxpZCBhcnJheSwgY2Fubm90IGRlbGV0ZSBzZWxlY3RlZCBpdGVtIGZyb20gYXJyYXlcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8bW5nLXRhYmxlIFtkZXNjcmlwdG9yXT1cImRlc2NyaXB0b3IubWFpblRhYmxlRGVzY3JpcHRvclwiIFtpdGVtc109XCJpdGVtc0FzeW5jXCI+XG4gICAgPG5nLXRlbXBsYXRlIG1uZ1RlbXBsYXRlPVwiY2FwdGlvblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBtZDpmbGV4LXJvdyBtZDpqdXN0aWZ5LWNvbnRlbnQtZW5kIHRhYmxlLWhlYWRlclwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibW5nLWRhdGF0YWJsZS1mb3JtLWxhYmVsIHAtbS0wXCIgW2Zvcl09XCJrZXlcIj57eyB0bz8ubGFiZWwhIHwgdHJhbnNsYXRlIH19IDxzcGFuICpuZ0lmPVwidG8ucmVxdWlyZWQgJiYgdG9bJ2hpZGVSZXF1aXJlZE1hcmtlciddICE9PSB0cnVlXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImhhc0FkZEFjdGlvbiAmJiAhZm9ybUNvbnRyb2wuZGlzYWJsZWRcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS1wbHVzXCIgY2xhc3M9XCJwLWJ1dHRvbi1yb3VuZGVkIHAtYnV0dG9uLXN1Y2Nlc3NcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkFkZERpYWxvZygpXCI+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgbW5nVGVtcGxhdGU9XCJjb2x1bW5BY3Rpb25cIiBsZXQtaXRlbT1cInJvd0l0ZW1cIj5cbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImhhc0RlbGV0ZUFjdGlvbiAmJiAhZm9ybUNvbnRyb2wuZGlzYWJsZWRcIiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIGljb249XCJwaSBwaS10cmFzaFwiIGNsYXNzPVwicC1idXR0b24tcm91bmRlZCBwLWJ1dHRvbi1kYW5nZXJcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJdGVtKGl0ZW0pXCI+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG48L21uZy10YWJsZT5cblxuPHAtZGlhbG9nICpuZ0lmPVwiaGFzQWRkQWN0aW9uXCIgWyh2aXNpYmxlKV09XCJpc0RpYWxvZ1Zpc2libGVcIlxuICAgICAgICAgIFtkcmFnZ2FibGVdPVwiZmFsc2VcIlxuICAgICAgICAgIFtoZWFkZXJdPVwiJ2dlbmVyYWwuYWRkSXRlbScgfCB0cmFuc2xhdGU6IHtpdGVtOiB0bz8ubGFiZWwhfVwiXG4gICAgICAgICAgW21vZGFsXT1cInRydWVcIlxuICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLWZsdWlkIG1uZy1mb3JtbHktZmllbGQtdGFibGUtbXVsdGlzZWxlY3QtZGlhbG9nXCI+XG4gICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNvbnRlbnRcIj5cbiAgICAgICAgPG1uZy10YWJsZSBbZGVzY3JpcHRvcl09XCJkZXNjcmlwdG9yLm1haW5UYWJsZURlc2NyaXB0b3JcIlxuICAgICAgICAgICAgICAgICAgIFtxdWVyeVJlc3VsdF09XCJhZGRJdGVtc0FzeW5jXCJcbiAgICAgICAgICAgICAgICAgICBbc2VsZWN0aW9uRW5hYmxlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJkaWFsb2dJc0xvYWRpbmckXCJcbiAgICAgICAgICAgICAgICAgICAob25TZWxlY3Rpb25DaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiPlxuICAgICAgICA8L21uZy10YWJsZT5cbiAgICAgICAgPHAtbWVzc2FnZXMgW3ZhbHVlXT1cImRpYWxvZ01lc3NhZ2VzXCI+PC9wLW1lc3NhZ2VzPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+XG4gICAgICAgIDxidXR0b24gcEJ1dHRvbiBwUmlwcGxlIHR5cGU9XCJidXR0b25cIiBbbGFiZWxdPVwiJ2dlbmVyYWwuY2FuY2VsJyB8IHRyYW5zbGF0ZVwiIGljb249XCJwaSBwaS10aW1lc1wiIGNsYXNzPVwicC1idXR0b24tdGV4dFwiIChjbGljayk9XCJoaWRlRGlhbG9nKClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBwQnV0dG9uIHBSaXBwbGUgdHlwZT1cImJ1dHRvblwiIFtsYWJlbF09XCInZ2VuZXJhbC5hZGQnIHwgdHJhbnNsYXRlXCIgaWNvbj1cInBpIHBpLWNoZWNrXCIgY2xhc3M9XCJwLWJ1dHRvbi10ZXh0XCIgKGNsaWNrKT1cImFkZEl0ZW1zKClcIiBbbG9hZGluZ109XCIoZGlhbG9nSXNMb2FkaW5nJCB8IGFzeW5jKSA/PyBmYWxzZVwiIFtkaXNhYmxlZF09XCJmb3JtLmRpc2FibGVkXCI+PC9idXR0b24+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvcC1kaWFsb2c+XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Component, ChangeDetectionStrategy } from '@angular/core';
2
- import { FieldType } from '@ngx-formly/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "primeng/tabview";
5
- import * as i2 from "@ngx-formly/core";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "primeng/api";
8
- import * as i5 from "@ngx-translate/core";
9
- export class FormlyFieldTabsComponent extends FieldType {
10
- }
11
- FormlyFieldTabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- FormlyFieldTabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldTabsComponent, selector: "mng-formly-field-tabs", usesInheritance: true, ngImport: i0, template: "<p-tabView>\n <p-tabPanel *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last;\"\n [header]=\"tab.templateOptions?.label!\"\n [headerStyleClass]=\"formControl.valid ? 'p-tabview-title' : 'bla'\">\n <ng-template pTemplate=\"header\">\n <span class=\"p-tabview-title\" [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\">{{ tab.templateOptions?.label! | translate }}</span>\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n", components: [{ type: i1.TabView, selector: "p-tabView", inputs: ["orientation", "style", "styleClass", "controlClose", "scrollable", "activeIndex"], outputs: ["onChange", "onClose", "activeIndexChange"] }, { type: i1.TabPanel, selector: "p-tabPanel", inputs: ["closable", "headerStyle", "headerStyleClass", "cache", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "selected", "disabled", "header", "leftIcon", "rightIcon"] }, { type: i2.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }], pipes: { "translate": i5.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldTabsComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'mng-formly-field-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-tabView>\n <p-tabPanel *ngFor=\"let tab of field.fieldGroup; let i = index; let last = last;\"\n [header]=\"tab.templateOptions?.label!\"\n [headerStyleClass]=\"formControl.valid ? 'p-tabview-title' : 'bla'\">\n <ng-template pTemplate=\"header\">\n <span class=\"p-tabview-title\" [class.p-tabview-title-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : tab.templateOptions?.label!) + '_invalid']\">{{ tab.templateOptions?.label! | translate }}</span>\n </ng-template>\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabPanel>\n</p-tabView>\n" }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L2ZpZWxkcy9mb3JtbHktZmllbGQtdGFicy9mb3JtbHktZmllbGQtdGFicy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2Zvcm1seS1maWVsZC10YWJzL2Zvcm1seS1maWVsZC10YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7Ozs7O0FBTzdDLE1BQU0sT0FBTyx3QkFBeUIsU0FBUSxTQUFTOztxSEFBMUMsd0JBQXdCO3lHQUF4Qix3QkFBd0Isb0ZDUnJDLG1vQkFVQTsyRkRGYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksdUJBQXVCLG1CQUVoQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy1mb3JtbHktZmllbGQtdGFicycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Zvcm1seS1maWVsZC10YWJzLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50IGV4dGVuZHMgRmllbGRUeXBlIHtcbn1cbiIsIjxwLXRhYlZpZXc+XG4gICAgPHAtdGFiUGFuZWwgKm5nRm9yPVwibGV0IHRhYiBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7XCJcbiAgICAgICAgICAgICAgICBbaGVhZGVyXT1cInRhYi50ZW1wbGF0ZU9wdGlvbnM/LmxhYmVsIVwiXG4gICAgICAgICAgICAgICAgW2hlYWRlclN0eWxlQ2xhc3NdPVwiZm9ybUNvbnRyb2wudmFsaWQgPyAncC10YWJ2aWV3LXRpdGxlJyA6ICdibGEnXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC10YWJ2aWV3LXRpdGxlXCIgW2NsYXNzLnAtdGFidmlldy10aXRsZS1lcnJvcl09XCJmb3JtU3RhdGUuc3VibWl0dGVkT24gJiYgZm9ybVN0YXRlWyd0YWJfJyArICh0YWIuaWQgPyB0YWIuaWQgOiB0YWIudGVtcGxhdGVPcHRpb25zPy5sYWJlbCEpICsgJ19pbnZhbGlkJ11cIj57eyB0YWIudGVtcGxhdGVPcHRpb25zPy5sYWJlbCEgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDxmb3JtbHktZmllbGQgW2ZpZWxkXT1cInRhYlwiPjwvZm9ybWx5LWZpZWxkPlxuICAgIDwvcC10YWJQYW5lbD5cbjwvcC10YWJWaWV3PlxuIl19
@@ -1,8 +0,0 @@
1
- export * from './formly-field-autocomplete/formly-field-autocomplete.component';
2
- export * from './formly-field-input/formly-field-input.component';
3
- export * from './formly-field-dropdown/formly-field-dropdown.component';
4
- export * from './formly-field-table-dialog-form/formly-field-table-dialog-form.component';
5
- export * from './formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component';
6
- export * from './formly-field-tabs/formly-field-tabs.component';
7
- export * from './formly-field-fieldset/formly-field-fieldset.component';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvZmllbGRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyx5RkFBeUYsQ0FBQztBQUN4RyxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMseURBQXlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zvcm1seS1maWVsZC1hdXRvY29tcGxldGUvZm9ybWx5LWZpZWxkLWF1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtbHktZmllbGQtaW5wdXQvZm9ybWx5LWZpZWxkLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1seS1maWVsZC1kcm9wZG93bi9mb3JtbHktZmllbGQtZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5LWZpZWxkLXRhYmxlLWRpYWxvZy1mb3JtL2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtbHktZmllbGQtdGFibGUtZGlhbG9nLW11bHRpc2VsZWN0L2Zvcm1seS1maWVsZC10YWJsZS1kaWFsb2ctbXVsdGlzZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5LWZpZWxkLXRhYnMvZm9ybWx5LWZpZWxkLXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybWx5LWZpZWxkLWZpZWxkc2V0L2Zvcm1seS1maWVsZC1maWVsZHNldC5jb21wb25lbnQnO1xuIl19
@@ -1,17 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FieldWrapper } from '@ngx-formly/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngx-formly/core";
5
- import * as i2 from "@angular/common";
6
- import * as i3 from "@ngx-translate/core";
7
- export class FormlyFieldWrapperComponent extends FieldWrapper {
8
- ngOnInit() {
9
- }
10
- }
11
- FormlyFieldWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
- FormlyFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyFieldWrapperComponent, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field\">\n <label [for]=\"key\">{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyFieldWrapperComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'mng-formly-field-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"field\">\n <label [for]=\"key\">{{ $any(to?.label) | translate }} <span *ngIf=\"to.required && to['hideRequiredMarker'] !== true\">*</span></label>\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS1maWVsZC13cmFwcGVyL2Zvcm1seS1maWVsZC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS93cmFwcGVycy9mb3JtbHktZmllbGQtd3JhcHBlci9mb3JtbHktZmllbGQtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7QUFPaEQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLFlBQVk7SUFFbEQsUUFBUTtJQUNmLENBQUM7O3dIQUhRLDJCQUEyQjs0R0FBM0IsMkJBQTJCLHVGQ1J4QyxzWEFPQTsyRkRDYSwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0ksMEJBQTBCLG1CQUVuQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmllbGRXcmFwcGVyIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWZvcm1seS1maWVsZC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9ybWx5LWZpZWxkLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkV3JhcHBlckNvbXBvbmVudCBleHRlbmRzIEZpZWxkV3JhcHBlciBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZpZWxkXCI+XG4gICAgPGxhYmVsIFtmb3JdPVwia2V5XCI+e3sgJGFueSh0bz8ubGFiZWwpIHwgdHJhbnNsYXRlIH19IDxzcGFuICpuZ0lmPVwidG8ucmVxdWlyZWQgJiYgdG9bJ2hpZGVSZXF1aXJlZE1hcmtlciddICE9PSB0cnVlXCI+Kjwvc3Bhbj48L2xhYmVsPlxuICAgIDxuZy1jb250YWluZXIgI2ZpZWxkQ29tcG9uZW50PjwvbmctY29udGFpbmVyPlxuICAgIDxzbWFsbCAqbmdJZj1cInNob3dFcnJvclwiIGNsYXNzPVwicC1lcnJvclwiPlxuICAgICAgICA8Zm9ybWx5LXZhbGlkYXRpb24tbWVzc2FnZSBbZmllbGRdPVwiZmllbGRcIj48L2Zvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2U+XG4gICAgPC9zbWFsbD5cbjwvZGl2PlxuIl19
@@ -1,16 +0,0 @@
1
- import { ChangeDetectionStrategy, Component } from '@angular/core';
2
- import { FieldWrapper } from '@ngx-formly/core';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngx-formly/core";
5
- import * as i2 from "@angular/common";
6
- export class FormlyTableWrapperComponent extends FieldWrapper {
7
- ngOnInit() {
8
- }
9
- }
10
- FormlyTableWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyTableWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
11
- FormlyTableWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: FormlyTableWrapperComponent, selector: "mng-formly-table-wrapper", usesInheritance: true, ngImport: i0, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n", components: [{ type: i1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: FormlyTableWrapperComponent, decorators: [{
13
- type: Component,
14
- args: [{ selector: 'mng-formly-table-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"field table\">\n <ng-container #fieldComponent></ng-container>\n <small *ngIf=\"showError\" class=\"p-error\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n</div>\n" }]
15
- }] });
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXRhYmxlLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybWx5L3dyYXBwZXJzL2Zvcm1seS10YWJsZS13cmFwcGVyL2Zvcm1seS10YWJsZS13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21uZy1jb21tb25zL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2Zvcm1seS93cmFwcGVycy9mb3JtbHktdGFibGUtd3JhcHBlci9mb3JtbHktdGFibGUtd3JhcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQU9oRCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsWUFBWTtJQUVsRCxRQUFRO0lBQ2YsQ0FBQzs7d0hBSFEsMkJBQTJCOzRHQUEzQiwyQkFBMkIsdUZDUnhDLDhPQU1BOzJGREVhLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDSSwwQkFBMEIsbUJBRW5CLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFdyYXBwZXIgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctZm9ybWx5LXRhYmxlLXdyYXBwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtbHktdGFibGUtd3JhcHBlci5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5VGFibGVXcmFwcGVyQ29tcG9uZW50IGV4dGVuZHMgRmllbGRXcmFwcGVyIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmllbGQgdGFibGVcIj5cbiAgICA8bmctY29udGFpbmVyICNmaWVsZENvbXBvbmVudD48L25nLWNvbnRhaW5lcj5cbiAgICA8c21hbGwgKm5nSWY9XCJzaG93RXJyb3JcIiBjbGFzcz1cInAtZXJyb3JcIj5cbiAgICAgICAgPGZvcm1seS12YWxpZGF0aW9uLW1lc3NhZ2UgW2ZpZWxkXT1cImZpZWxkXCI+PC9mb3JtbHktdmFsaWRhdGlvbi1tZXNzYWdlPlxuICAgIDwvc21hbGw+XG48L2Rpdj5cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './formly-field-wrapper/formly-field-wrapper.component';
2
- export * from './formly-table-wrapper/formly-table-wrapper.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9mb3JtbHkvd3JhcHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLHVEQUF1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtbHktZmllbGQtd3JhcHBlci9mb3JtbHktZmllbGQtd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtbHktdGFibGUtd3JhcHBlci9mb3JtbHktdGFibGUtd3JhcHBlci5jb21wb25lbnQnO1xuIl19
@@ -1,2 +0,0 @@
1
- export * from './editor/form-editor.component';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvZm9ybS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lZGl0b3IvZm9ybS1lZGl0b3IuY29tcG9uZW50JztcbiJdfQ==
@@ -1,27 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/breadcrumb.service";
4
- import * as i2 from "primeng/breadcrumb";
5
- export class AppBreadcrumbComponent {
6
- constructor(breadcrumbService) {
7
- this.breadcrumbService = breadcrumbService;
8
- this.items = [];
9
- this.search = '';
10
- this.subscription = breadcrumbService.itemsHandler.subscribe(response => {
11
- this.items = response;
12
- });
13
- this.home = { icon: 'pi pi-home', routerLink: '/' };
14
- }
15
- ngOnDestroy() {
16
- if (this.subscription) {
17
- this.subscription.unsubscribe();
18
- }
19
- }
20
- }
21
- AppBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AppBreadcrumbComponent, deps: [{ token: i1.AppBreadcrumbService }], target: i0.ɵɵFactoryTarget.Component });
22
- AppBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AppBreadcrumbComponent, selector: "app-breadcrumb", ngImport: i0, template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [model]=\"items\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n", components: [{ type: i2.Breadcrumb, selector: "p-breadcrumb", inputs: ["model", "style", "styleClass", "home", "homeAriaLabel"], outputs: ["onItemClick"] }] });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AppBreadcrumbComponent, decorators: [{
24
- type: Component,
25
- args: [{ selector: 'app-breadcrumb', template: "<div class=\"layout-breadcrumb-container\">\n <div class=\"layout-breadcrumb\">\n <p-breadcrumb [model]=\"items\" styleClass=\"layout-breadcrumb py-2\"></p-breadcrumb>\n </div>\n</div>\n" }]
26
- }], ctorParameters: function () { return [{ type: i1.AppBreadcrumbService }]; } });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9hcHAuYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2FwcC5icmVhZGNydW1iLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsTUFBTSxlQUFlLENBQUM7Ozs7QUFXckQsTUFBTSxPQUFPLHNCQUFzQjtJQVUvQixZQUFtQixpQkFBdUM7UUFBdkMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQU4xRCxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBSXZCLFdBQU0sR0FBVyxFQUFFLENBQUM7UUFHaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3BFLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ25CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDbkM7SUFDTCxDQUFDOzttSEF0QlEsc0JBQXNCO3VHQUF0QixzQkFBc0Isc0RDWG5DLHlNQUtBOzJGRE1hLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDSSxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuXG5pbXBvcnQge0FwcEJyZWFkY3J1bWJTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9icmVhZGNydW1iLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1icmVhZGNydW1iJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLmJyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFwcEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gICAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBpdGVtczogTWVudUl0ZW1bXSA9IFtdO1xuXG4gICAgaG9tZTogTWVudUl0ZW07XG5cbiAgICBzZWFyY2g6IHN0cmluZyA9ICcnO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGJyZWFkY3J1bWJTZXJ2aWNlOiBBcHBCcmVhZGNydW1iU2VydmljZSkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IGJyZWFkY3J1bWJTZXJ2aWNlLml0ZW1zSGFuZGxlci5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgdGhpcy5pdGVtcyA9IHJlc3BvbnNlO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmhvbWUgPSB7IGljb246ICdwaSBwaS1ob21lJywgcm91dGVyTGluazogJy8nIH07XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJsYXlvdXQtYnJlYWRjcnVtYi1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibGF5b3V0LWJyZWFkY3J1bWJcIj5cbiAgICAgICAgPHAtYnJlYWRjcnVtYiBbbW9kZWxdPVwiaXRlbXNcIiBzdHlsZUNsYXNzPVwibGF5b3V0LWJyZWFkY3J1bWIgcHktMlwiPjwvcC1icmVhZGNydW1iPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "../../services/settings.service";
4
- import * as i2 from "@ngx-translate/core";
5
- export class AppFooterComponent {
6
- constructor(appSettings) {
7
- this.appSettings = appSettings;
8
- }
9
- }
10
- AppFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AppFooterComponent, deps: [{ token: i1.AppSettingsService }], target: i0.ɵɵFactoryTarget.Component });
11
- AppFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AppFooterComponent, selector: "app-footer", ngImport: i0, template: `
12
- <div class="layout-footer">
13
- <div class="footer-logo-container">
14
- <img id="footer-logo" [src]="'assets/layout/images/logo-'+ (appSettings.colorScheme === 'light' ? 'dark' : 'light') + '.png'" alt="atlantis-layout"/>
15
- <span class="app-name">{{ 'app.name' | translate }}</span>
16
- </div>
17
- <span class="copyright">&#169; Ministrstvo za javno upravo - 2021</span>
18
- </div>
19
- `, isInline: true, pipes: { "translate": i2.TranslatePipe } });
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AppFooterComponent, decorators: [{
21
- type: Component,
22
- args: [{
23
- selector: 'app-footer',
24
- template: `
25
- <div class="layout-footer">
26
- <div class="footer-logo-container">
27
- <img id="footer-logo" [src]="'assets/layout/images/logo-'+ (appSettings.colorScheme === 'light' ? 'dark' : 'light') + '.png'" alt="atlantis-layout"/>
28
- <span class="app-name">{{ 'app.name' | translate }}</span>
29
- </div>
30
- <span class="copyright">&#169; Ministrstvo za javno upravo - 2021</span>
31
- </div>
32
- `
33
- }]
34
- }], ctorParameters: function () { return [{ type: i1.AppSettingsService }]; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmZvb3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2FwcC5mb290ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7Ozs7QUFnQnhDLE1BQU0sT0FBTyxrQkFBa0I7SUFDM0IsWUFBbUIsV0FBK0I7UUFBL0IsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO0lBQUcsQ0FBQzs7K0dBRDdDLGtCQUFrQjttR0FBbEIsa0JBQWtCLGtEQVZqQjs7Ozs7Ozs7S0FRVDsyRkFFUSxrQkFBa0I7a0JBWjlCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRTs7Ozs7Ozs7S0FRVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtBcHBTZXR0aW5nc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NldHRpbmdzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FwcC1mb290ZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZm9vdGVyLWxvZ28tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgPGltZyBpZD1cImZvb3Rlci1sb2dvXCIgICBbc3JjXT1cIidhc3NldHMvbGF5b3V0L2ltYWdlcy9sb2dvLScrIChhcHBTZXR0aW5ncy5jb2xvclNjaGVtZSA9PT0gJ2xpZ2h0JyA/ICdkYXJrJyA6ICdsaWdodCcpICsgJy5wbmcnXCIgYWx0PVwiYXRsYW50aXMtbGF5b3V0XCIvPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLW5hbWVcIj57eyAnYXBwLm5hbWUnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNvcHlyaWdodFwiPiYjMTY5OyBNaW5pc3Ryc3R2byB6YSBqYXZubyB1cHJhdm8gLSAyMDIxPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIEFwcEZvb3RlckNvbXBvbmVudCB7XG4gICAgY29uc3RydWN0b3IocHVibGljIGFwcFNldHRpbmdzOiBBcHBTZXR0aW5nc1NlcnZpY2UpIHt9XG59XG4iXX0=
@@ -1,25 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import { AppMainComponentService } from './app.main.component.service';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/menu.service";
5
- import * as i2 from "../../services/settings.service";
6
- import * as i3 from "./app.main.component.service";
7
- import * as i4 from "./app.topbar.component";
8
- import * as i5 from "./app.menu.component";
9
- import * as i6 from "./app.footer.component";
10
- import * as i7 from "@angular/common";
11
- import * as i8 from "@angular/router";
12
- export class AppMainComponent {
13
- constructor(menuService, appSettings, appMainService) {
14
- this.menuService = menuService;
15
- this.appSettings = appSettings;
16
- this.appMainService = appMainService;
17
- }
18
- }
19
- AppMainComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AppMainComponent, deps: [{ token: i1.MenuService }, { token: i2.AppSettingsService }, { token: i3.AppMainComponentService }], target: i0.ɵɵFactoryTarget.Component });
20
- AppMainComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: AppMainComponent, selector: "app-main", providers: [AppMainComponentService], ngImport: i0, template: "<div class=\"layout-wrapper\" (click)=\"appMainService.onLayoutClick()\"\n [ngClass]=\"{'layout-static': appSettings.menuMode === 'static',\n 'layout-overlay': appSettings.menuMode === 'overlay',\n 'layout-slim': appSettings.menuMode === 'slim',\n 'layout-horizontal': appSettings.menuMode === 'horizontal',\n 'layout-sidebar': appSettings.menuMode === 'sidebar',\n 'layout-sidebar-static': appSettings.menuMode === 'sidebar' && appMainService.sidebarStatic,\n 'layout-overlay-active': appMainService.overlayMenuActive,\n 'layout-mobile-active': appMainService.staticMenuMobileActive,\n 'layout-static-inactive': appMainService.staticMenuDesktopInactive && appSettings.menuMode === 'static'}\">\n\n <div class=\"layout-main\">\n\n <app-topbar></app-topbar>\n\n <app-menu *ngIf=\"!appMainService.isMobile() && (appSettings.isStatic() || appSettings.isSlim() || appSettings.isSidebar())\"></app-menu>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer></app-footer>\n </div>\n\n</div>\n", components: [{ type: i4.AppTopbarComponent, selector: "app-topbar" }, { type: i5.AppMenuComponent, selector: "app-menu" }, { type: i6.AppFooterComponent, selector: "app-footer" }], directives: [{ type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: AppMainComponent, decorators: [{
22
- type: Component,
23
- args: [{ selector: 'app-main', providers: [AppMainComponentService], template: "<div class=\"layout-wrapper\" (click)=\"appMainService.onLayoutClick()\"\n [ngClass]=\"{'layout-static': appSettings.menuMode === 'static',\n 'layout-overlay': appSettings.menuMode === 'overlay',\n 'layout-slim': appSettings.menuMode === 'slim',\n 'layout-horizontal': appSettings.menuMode === 'horizontal',\n 'layout-sidebar': appSettings.menuMode === 'sidebar',\n 'layout-sidebar-static': appSettings.menuMode === 'sidebar' && appMainService.sidebarStatic,\n 'layout-overlay-active': appMainService.overlayMenuActive,\n 'layout-mobile-active': appMainService.staticMenuMobileActive,\n 'layout-static-inactive': appMainService.staticMenuDesktopInactive && appSettings.menuMode === 'static'}\">\n\n <div class=\"layout-main\">\n\n <app-topbar></app-topbar>\n\n <app-menu *ngIf=\"!appMainService.isMobile() && (appSettings.isStatic() || appSettings.isSlim() || appSettings.isSidebar())\"></app-menu>\n\n <div class=\"layout-main-content\">\n <router-outlet></router-outlet>\n </div>\n\n <app-footer></app-footer>\n </div>\n\n</div>\n" }]
24
- }], ctorParameters: function () { return [{ type: i1.MenuService }, { type: i2.AppSettingsService }, { type: i3.AppMainComponentService }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1haW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW5nLWNvbW1vbnMvc3JjL2xpYi9jb21wb25lbnRzL2xheW91dC9hcHAubWFpbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbmctY29tbW9ucy9zcmMvbGliL2NvbXBvbmVudHMvbGF5b3V0L2FwcC5tYWluLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJeEMsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFPckUsTUFBTSxPQUFPLGdCQUFnQjtJQUV6QixZQUFvQixXQUF3QixFQUFTLFdBQStCLEVBQVMsY0FBdUM7UUFBaEgsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFBUyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFBUyxtQkFBYyxHQUFkLGNBQWMsQ0FBeUI7SUFBRyxDQUFDOzs2R0FGL0gsZ0JBQWdCO2lHQUFoQixnQkFBZ0IsbUNBRmQsQ0FBQyx1QkFBdUIsQ0FBQywwQkNUeEMsMnJDQXlCQTsyRkRkYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0ksVUFBVSxhQUVULENBQUMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QXBwU2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZXR0aW5ncy5zZXJ2aWNlJztcbmltcG9ydCB7TWVudVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL21lbnUuc2VydmljZSc7XG5pbXBvcnQge0FwcE1haW5Db21wb25lbnRTZXJ2aWNlfSBmcm9tICcuL2FwcC5tYWluLmNvbXBvbmVudC5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhcHAtbWFpbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FwcC5tYWluLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtBcHBNYWluQ29tcG9uZW50U2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgQXBwTWFpbkNvbXBvbmVudCB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSwgcHVibGljIGFwcFNldHRpbmdzOiBBcHBTZXR0aW5nc1NlcnZpY2UsIHB1YmxpYyBhcHBNYWluU2VydmljZTogQXBwTWFpbkNvbXBvbmVudFNlcnZpY2UpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwibGF5b3V0LXdyYXBwZXJcIiAgKGNsaWNrKT1cImFwcE1haW5TZXJ2aWNlLm9uTGF5b3V0Q2xpY2soKVwiXG4gICAgIFtuZ0NsYXNzXT1cInsnbGF5b3V0LXN0YXRpYyc6IGFwcFNldHRpbmdzLm1lbnVNb2RlID09PSAnc3RhdGljJyxcbiAgICAgICAgICAgICAgICAnbGF5b3V0LW92ZXJsYXknOiBhcHBTZXR0aW5ncy5tZW51TW9kZSA9PT0gJ292ZXJsYXknLFxuICAgICAgICAgICAgICAgICdsYXlvdXQtc2xpbSc6IGFwcFNldHRpbmdzLm1lbnVNb2RlID09PSAnc2xpbScsXG4gICAgICAgICAgICAgICAgJ2xheW91dC1ob3Jpem9udGFsJzogYXBwU2V0dGluZ3MubWVudU1vZGUgPT09ICdob3Jpem9udGFsJyxcbiAgICAgICAgICAgICAgICAnbGF5b3V0LXNpZGViYXInOiBhcHBTZXR0aW5ncy5tZW51TW9kZSA9PT0gJ3NpZGViYXInLFxuICAgICAgICAgICAgICAgICdsYXlvdXQtc2lkZWJhci1zdGF0aWMnOiBhcHBTZXR0aW5ncy5tZW51TW9kZSA9PT0gJ3NpZGViYXInICYmIGFwcE1haW5TZXJ2aWNlLnNpZGViYXJTdGF0aWMsXG4gICAgICAgICAgICAgICAgJ2xheW91dC1vdmVybGF5LWFjdGl2ZSc6IGFwcE1haW5TZXJ2aWNlLm92ZXJsYXlNZW51QWN0aXZlLFxuICAgICAgICAgICAgICAgICdsYXlvdXQtbW9iaWxlLWFjdGl2ZSc6IGFwcE1haW5TZXJ2aWNlLnN0YXRpY01lbnVNb2JpbGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgJ2xheW91dC1zdGF0aWMtaW5hY3RpdmUnOiBhcHBNYWluU2VydmljZS5zdGF0aWNNZW51RGVza3RvcEluYWN0aXZlICYmIGFwcFNldHRpbmdzLm1lbnVNb2RlID09PSAnc3RhdGljJ31cIj5cblxuICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFpblwiPlxuXG4gICAgICAgIDxhcHAtdG9wYmFyPjwvYXBwLXRvcGJhcj5cblxuICAgICAgICA8YXBwLW1lbnUgKm5nSWY9XCIhYXBwTWFpblNlcnZpY2UuaXNNb2JpbGUoKSAmJiAoYXBwU2V0dGluZ3MuaXNTdGF0aWMoKSB8fCBhcHBTZXR0aW5ncy5pc1NsaW0oKSB8fCBhcHBTZXR0aW5ncy5pc1NpZGViYXIoKSlcIj48L2FwcC1tZW51PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsYXlvdXQtbWFpbi1jb250ZW50XCI+XG4gICAgICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxhcHAtZm9vdGVyPjwvYXBwLWZvb3Rlcj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=