@mediusinc/mng-commons 6.2.1 → 7.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/core/index.d.ts +1743 -84
  2. package/fesm2022/mediusinc-mng-commons-core.mjs +104 -91
  3. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  4. package/fesm2022/mediusinc-mng-commons-filter.mjs +20 -0
  5. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  6. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  7. package/fesm2022/mediusinc-mng-commons-form.mjs +186 -103
  8. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  9. package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +1 -1
  10. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
  11. package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +1 -1
  12. package/fesm2022/mediusinc-mng-commons-table-api.mjs +0 -2
  13. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  14. package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-0Dtv48mq.mjs +30 -0
  15. package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-0Dtv48mq.mjs.map +1 -0
  16. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BsAwyXiN.mjs +2417 -0
  17. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BsAwyXiN.mjs.map +1 -0
  18. package/fesm2022/mediusinc-mng-commons-table.mjs +1 -1
  19. package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +1 -1
  20. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +19 -6
  21. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  22. package/fesm2022/mediusinc-mng-commons-tableview.mjs +326 -314
  23. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  24. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  25. package/filter/index.d.ts +411 -5
  26. package/form/api/index.d.ts +134 -7
  27. package/form/index.d.ts +343 -6
  28. package/i18n/en.json +5 -2
  29. package/i18n/sl.json +5 -2
  30. package/index.d.ts +11 -1
  31. package/model/class/index.d.ts +25 -4
  32. package/model/index.d.ts +71 -5
  33. package/package.json +10 -10
  34. package/table/api/class/index.d.ts +77 -5
  35. package/table/api/index.d.ts +1161 -14
  36. package/table/index.d.ts +580 -17
  37. package/tableview/api/class/index.d.ts +141 -10
  38. package/tableview/api/index.d.ts +2540 -63
  39. package/tableview/index.d.ts +1265 -54
  40. package/version-info.json +6 -6
  41. package/core/action/action-data.model.d.ts +0 -3
  42. package/core/action/action-parameters.model.d.ts +0 -44
  43. package/core/components/notification/notification-wrapper.component.d.ts +0 -14
  44. package/core/data-list/data-list-params-helpers.d.ts +0 -93
  45. package/core/data-list/data-list.model.d.ts +0 -28
  46. package/core/data-list/filter-match.model.d.ts +0 -36
  47. package/core/data-list/filter-metadata.model.d.ts +0 -20
  48. package/core/data-providers/base.data-provider.d.ts +0 -17
  49. package/core/data-providers/lookup.data-provider.d.ts +0 -10
  50. package/core/descriptors/action.descriptor.d.ts +0 -12
  51. package/core/descriptors/column.descriptor.d.ts +0 -3
  52. package/core/descriptors/editor.descriptor.d.ts +0 -11
  53. package/core/descriptors/enum.descriptor.d.ts +0 -6
  54. package/core/descriptors/filter.descriptor.d.ts +0 -3
  55. package/core/descriptors/lookup.descriptor.d.ts +0 -12
  56. package/core/descriptors/model.descriptor.d.ts +0 -5
  57. package/core/descriptors/table.descriptor.d.ts +0 -11
  58. package/core/descriptors/tableview.descriptor.d.ts +0 -11
  59. package/core/directives/component.directive.d.ts +0 -18
  60. package/core/directives/rerender.directive.d.ts +0 -9
  61. package/core/directives/template.directive.d.ts +0 -8
  62. package/core/enum/enum-helpers.d.ts +0 -54
  63. package/core/enum/enum.model.d.ts +0 -8
  64. package/core/error/error-handler.d.ts +0 -6
  65. package/core/error/error-helpers.d.ts +0 -136
  66. package/core/error/error.model.d.ts +0 -53
  67. package/core/helpers/coercion.d.ts +0 -10
  68. package/core/helpers/date.d.ts +0 -14
  69. package/core/helpers/notification.d.ts +0 -18
  70. package/core/helpers/number.d.ts +0 -5
  71. package/core/helpers/object.d.ts +0 -27
  72. package/core/helpers/route.d.ts +0 -34
  73. package/core/helpers/string.d.ts +0 -7
  74. package/core/helpers/templates.d.ts +0 -3
  75. package/core/helpers/type-helpers.d.ts +0 -37
  76. package/core/i18n/i18n-common.d.ts +0 -6
  77. package/core/i18n/i18n-error.d.ts +0 -3
  78. package/core/i18n/i18n-type.d.ts +0 -11
  79. package/core/log/log-publisher-console.service.d.ts +0 -4
  80. package/core/log/log.model.d.ts +0 -40
  81. package/core/log/logger.service.d.ts +0 -33
  82. package/core/models/class-attribute.model.d.ts +0 -6
  83. package/core/models/class-service.model.d.ts +0 -7
  84. package/core/models/getter.model.d.ts +0 -2
  85. package/core/models/i18n.model.d.ts +0 -1
  86. package/core/models/menu.model.d.ts +0 -42
  87. package/core/models/user.model.d.ts +0 -8
  88. package/core/models/version.model.d.ts +0 -31
  89. package/core/pipes/boolean.pipe.d.ts +0 -7
  90. package/core/pipes/class-map.pipe.d.ts +0 -7
  91. package/core/pipes/enum.pipe.d.ts +0 -8
  92. package/core/pipes/enumerate-async.pipe.d.ts +0 -9
  93. package/core/pipes/enumerate.pipe.d.ts +0 -16
  94. package/core/pipes/getter.pipe.d.ts +0 -8
  95. package/core/pipes/i18n-property.pipe.d.ts +0 -8
  96. package/core/pipes/json-path.pipe.d.ts +0 -13
  97. package/core/pipes/parametrize.pipe.d.ts +0 -16
  98. package/core/pipes/template.pipe.d.ts +0 -8
  99. package/core/provide.d.ts +0 -13
  100. package/core/reactivity/effect.d.ts +0 -16
  101. package/core/reflect/type-enum-decorator.d.ts +0 -2
  102. package/core/reflect/type-enum-metadata.d.ts +0 -32
  103. package/core/registry/registry.model.d.ts +0 -8
  104. package/core/registry/type-registry.d.ts +0 -27
  105. package/core/router/route-builder.d.ts +0 -187
  106. package/core/router/router.model.d.ts +0 -13
  107. package/core/router/routes-builder.d.ts +0 -33
  108. package/core/rxjs/map-data-list-result-operator.d.ts +0 -9
  109. package/core/security/permission-helpers.d.ts +0 -3
  110. package/core/security/permission.guard.d.ts +0 -2
  111. package/core/security/permission.service.d.ts +0 -25
  112. package/core/security/permissions.model.d.ts +0 -82
  113. package/core/services/commons-configuration.service.d.ts +0 -81
  114. package/core/services/commons-init.service.d.ts +0 -30
  115. package/core/services/commons-router.service.d.ts +0 -37
  116. package/core/services/commons-storage.service.d.ts +0 -12
  117. package/core/services/commons.service.d.ts +0 -47
  118. package/core/services/providers/commons-init.provider.d.ts +0 -4
  119. package/core/services/tokens/browser-storage.token.d.ts +0 -2
  120. package/core/services/tokens/commons-init.token.d.ts +0 -3
  121. package/core/services/tokens/log-publisher.token.d.ts +0 -3
  122. package/core/services/tokens/module-config.token.d.ts +0 -28
  123. package/core/styles/style-constants.d.ts +0 -11
  124. package/core/styles/style.model.d.ts +0 -18
  125. package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-CCyGSxaD.mjs +0 -30
  126. package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-CCyGSxaD.mjs.map +0 -1
  127. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-8TdW6NCC.mjs +0 -2145
  128. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-8TdW6NCC.mjs.map +0 -1
  129. package/filter/descriptors/filter-generic.descriptor.d.ts +0 -14
  130. package/filter/descriptors/filter-lookup.descriptor.d.ts +0 -97
  131. package/filter/descriptors/filter.descriptor.d.ts +0 -264
  132. package/filter/models/filter-generic-property.model.d.ts +0 -7
  133. package/filter/models/filter.model.d.ts +0 -16
  134. package/form/api/data-providers/lookup-data-provider.factory.d.ts +0 -19
  135. package/form/api/data-providers/lookup.data-provider.d.ts +0 -7
  136. package/form/api/descriptors/action-button.descriptor.d.ts +0 -23
  137. package/form/api/descriptors/button-style.builder.d.ts +0 -54
  138. package/form/api/models/button.model.d.ts +0 -19
  139. package/form/api/models/empty-value.model.d.ts +0 -7
  140. package/form/api/models/trim.model.d.ts +0 -1
  141. package/form/components/autocomplete/autocomplete.component.d.ts +0 -99
  142. package/form/components/date-range/date-range.component.d.ts +0 -37
  143. package/form/components/dropdown/dropdown.component.d.ts +0 -89
  144. package/form/components/number-range/number-range.component.d.ts +0 -35
  145. package/form/directives/input-empty-value.directive.d.ts +0 -40
  146. package/form/directives/input-trim.directive.d.ts +0 -9
  147. package/model/class/data-providers/base-from-class-data-provider.factory.d.ts +0 -3
  148. package/model/class/descriptors/model-class.descriptor.d.ts +0 -12
  149. package/model/class/descriptors/type-class.descriptor.d.ts +0 -3
  150. package/model/class/helpers/model.d.ts +0 -4
  151. package/model/data-providers/base-from-type-data-provider.factory.d.ts +0 -15
  152. package/model/descriptors/enum.descriptor.d.ts +0 -13
  153. package/model/descriptors/model.descriptor.d.ts +0 -25
  154. package/model/descriptors/type.descriptor.d.ts +0 -3
  155. package/model/helpers/i18n.d.ts +0 -13
  156. package/provide.d.ts +0 -7
  157. package/table/api/class/class-table-attribute-converter.d.ts +0 -15
  158. package/table/api/class/class-table-attribute.model.d.ts +0 -8
  159. package/table/api/class/class-table-data-provider.factory.d.ts +0 -4
  160. package/table/api/class/class-table-descriptor-helpers.d.ts +0 -42
  161. package/table/api/class/class-table-descriptor.factory.d.ts +0 -11
  162. package/table/api/data-providers/table-data-provider.factory.d.ts +0 -19
  163. package/table/api/data-providers/table.data-provider.d.ts +0 -27
  164. package/table/api/descriptors/column.descriptor.d.ts +0 -269
  165. package/table/api/descriptors/sort.descriptor.d.ts +0 -39
  166. package/table/api/descriptors/table-descriptor.factory.d.ts +0 -12
  167. package/table/api/descriptors/table.descriptor.d.ts +0 -672
  168. package/table/api/helpers/column-converter.d.ts +0 -7
  169. package/table/api/helpers/table-data-provider-descriptor-convert.d.ts +0 -20
  170. package/table/api/models/column-value.model.d.ts +0 -7
  171. package/table/api/models/column.model.d.ts +0 -18
  172. package/table/api/models/row-expandable-component.model.d.ts +0 -4
  173. package/table/api/models/table-columns.model.d.ts +0 -42
  174. package/table/api/models/table-event.model.d.ts +0 -18
  175. package/table/api/models/table.model.d.ts +0 -22
  176. package/table/components/column-filter/column-filter.component.d.ts +0 -81
  177. package/table/components/column-toggle/column-toggle.component.d.ts +0 -12
  178. package/table/components/column-value/column-value.component.d.ts +0 -33
  179. package/table/components/filter/filter-active-tag/filter-active-tag.component.d.ts +0 -20
  180. package/table/components/filter/filter-form/filter-form.component.d.ts +0 -56
  181. package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +0 -54
  182. package/table/components/table/table.component.d.ts +0 -83
  183. package/table/helpers/filters.d.ts +0 -37
  184. package/table/helpers/notification.d.ts +0 -13
  185. package/table/helpers/table-layout-prefs.d.ts +0 -7
  186. package/table/helpers/table.d.ts +0 -6
  187. package/table/models/column-preferences.model.d.ts +0 -12
  188. package/table/models/filter.model.d.ts +0 -36
  189. package/table/pipes/filter-value.pipe.d.ts +0 -19
  190. package/table/pipes/locale-default-row-class.pipe.d.ts +0 -10
  191. package/table/pipes/table-column-filter-class.pipe.d.ts +0 -8
  192. package/table/provide.d.ts +0 -15
  193. package/table/services/table-data.service.d.ts +0 -37
  194. package/table/services/table-feature-config.token.d.ts +0 -7
  195. package/table/services/table-metadata.service.d.ts +0 -31
  196. package/table/services/table-preferences.service.d.ts +0 -25
  197. package/tableview/action/components/action/action.component.d.ts +0 -63
  198. package/tableview/action/components/editor/action-editor.component.d.ts +0 -32
  199. package/tableview/action/components/editor/injector-context/action-editor-injector-context.component.d.ts +0 -79
  200. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +0 -19
  201. package/tableview/action/components/route/action-route.component.d.ts +0 -26
  202. package/tableview/action/components/table/action-table.component.d.ts +0 -50
  203. package/tableview/action/guards/unsaved-changes.guard.d.ts +0 -3
  204. package/tableview/action/helpers/action-execution.d.ts +0 -7
  205. package/tableview/action/helpers/i18n.d.ts +0 -47
  206. package/tableview/action/helpers/inject.d.ts +0 -39
  207. package/tableview/action/helpers/notification.d.ts +0 -40
  208. package/tableview/action/helpers/styles.d.ts +0 -5
  209. package/tableview/action/models/action-editor-dialog-data.model.d.ts +0 -11
  210. package/tableview/action/models/can-component-deactivate.model.d.ts +0 -4
  211. package/tableview/action/models/execution/action-context.model.d.ts +0 -43
  212. package/tableview/action/models/execution/action-instance.model.d.ts +0 -56
  213. package/tableview/action/services/action-error-mapper.service.d.ts +0 -18
  214. package/tableview/action/services/action-executor.service.d.ts +0 -174
  215. package/tableview/action/services/component-action-executor.service.d.ts +0 -9
  216. package/tableview/action/services/data-provider-executor.service.d.ts +0 -23
  217. package/tableview/action/services/navigation.service.d.ts +0 -15
  218. package/tableview/action/services/providers/provide-action-executor.d.ts +0 -2
  219. package/tableview/action/services/providers/provide-view-container.d.ts +0 -2
  220. package/tableview/action/services/root-action-executor.service.d.ts +0 -9
  221. package/tableview/action/services/tokens/action-editor.token.d.ts +0 -2
  222. package/tableview/action/services/view-container.service.d.ts +0 -25
  223. package/tableview/api/action/descriptors/action-descriptor.factory.d.ts +0 -25
  224. package/tableview/api/action/descriptors/action-editor-descriptor.factory.d.ts +0 -24
  225. package/tableview/api/action/descriptors/action-editor.descriptor.d.ts +0 -105
  226. package/tableview/api/action/descriptors/action-link-descriptor.factory.d.ts +0 -23
  227. package/tableview/api/action/descriptors/action-link.descriptor.d.ts +0 -27
  228. package/tableview/api/action/descriptors/action.descriptor.d.ts +0 -118
  229. package/tableview/api/action/descriptors/editor-action-descriptor.factory.d.ts +0 -21
  230. package/tableview/api/action/descriptors/editor-action-editor-descriptor.factory.d.ts +0 -21
  231. package/tableview/api/action/descriptors/table-action-descriptor.factory.d.ts +0 -36
  232. package/tableview/api/action/descriptors/table-action-editor-descriptor.factory.d.ts +0 -40
  233. package/tableview/api/action/helpers/data-provider-executors.d.ts +0 -23
  234. package/tableview/api/action/models/action-component.model.d.ts +0 -12
  235. package/tableview/api/action/models/action-confirmation.model.d.ts +0 -16
  236. package/tableview/api/action/models/action-descriptor.types.d.ts +0 -10
  237. package/tableview/api/action/models/action-editor.model.d.ts +0 -4
  238. package/tableview/api/action/models/action-error.model.d.ts +0 -14
  239. package/tableview/api/action/models/action.type.d.ts +0 -21
  240. package/tableview/api/action/models/execution/action-context-validation.model.d.ts +0 -11
  241. package/tableview/api/action/models/execution/action-context.model.d.ts +0 -25
  242. package/tableview/api/action/models/execution/action-execution-error.model.d.ts +0 -4
  243. package/tableview/api/action/models/execution/action-instance-state.model.d.ts +0 -30
  244. package/tableview/api/action/models/execution/action-instance.model.d.ts +0 -32
  245. package/tableview/api/action/models/execution/view-container.model.d.ts +0 -22
  246. package/tableview/api/action/models/tableview-action-default-categories.model.d.ts +0 -10
  247. package/tableview/api/action/services/data-provider-executor.service.d.ts +0 -39
  248. package/tableview/api/action/services/tokens/data-language-dropdown.token.d.ts +0 -2
  249. package/tableview/api/class/editor/class-editor-attribute-converter.d.ts +0 -21
  250. package/tableview/api/class/editor/class-editor-attribute.model.d.ts +0 -7
  251. package/tableview/api/class/editor/class-editor-data-provider.factory.d.ts +0 -4
  252. package/tableview/api/class/editor/class-editor-descriptor-helpers.d.ts +0 -40
  253. package/tableview/api/class/editor/class-editor-descriptor.factory.d.ts +0 -11
  254. package/tableview/api/class/tableview/class-tableview-attribute-converter.d.ts +0 -8
  255. package/tableview/api/class/tableview/class-tableview-attribute.model.d.ts +0 -3
  256. package/tableview/api/class/tableview/class-tableview-data-provider.factory.d.ts +0 -4
  257. package/tableview/api/class/tableview/class-tableview-descriptor-helpers.d.ts +0 -41
  258. package/tableview/api/class/tableview/class-tableview-descriptor.factory.d.ts +0 -12
  259. package/tableview/api/editor/data-providers/editor-data-provider.factory.d.ts +0 -19
  260. package/tableview/api/editor/data-providers/editor.data-provider.d.ts +0 -119
  261. package/tableview/api/editor/descriptors/editor-descriptor.factory.d.ts +0 -11
  262. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +0 -254
  263. package/tableview/api/editor/descriptors/field-action.descriptor.d.ts +0 -21
  264. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +0 -147
  265. package/tableview/api/editor/descriptors/field-group.descriptor.d.ts +0 -58
  266. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +0 -80
  267. package/tableview/api/editor/descriptors/field-many.descriptor.d.ts +0 -56
  268. package/tableview/api/editor/descriptors/field-validation.descriptor.d.ts +0 -16
  269. package/tableview/api/editor/descriptors/field.descriptor.d.ts +0 -239
  270. package/tableview/api/editor/descriptors/wrappers/editor-descriptor-nested-object-wrapper.d.ts +0 -25
  271. package/tableview/api/editor/models/editor-fields.model.d.ts +0 -42
  272. package/tableview/api/editor/models/editor.model.d.ts +0 -7
  273. package/tableview/api/editor/models/field-action-context.model.d.ts +0 -26
  274. package/tableview/api/editor/models/field-image-preview.model.d.ts +0 -4
  275. package/tableview/api/editor/models/field-validation.model.d.ts +0 -26
  276. package/tableview/api/editor/models/field.model.d.ts +0 -56
  277. package/tableview/api/editor/models/form-editor.event.d.ts +0 -74
  278. package/tableview/api/editor/models/form-editor.interface.d.ts +0 -53
  279. package/tableview/api/editor/models/formly-custom-field.model.d.ts +0 -30
  280. package/tableview/api/editor/models/formly-field.model.d.ts +0 -42
  281. package/tableview/api/editor/models/formly-options.model.d.ts +0 -15
  282. package/tableview/api/editor/models/radio.model.d.ts +0 -6
  283. package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +0 -24
  284. package/tableview/api/tableview/data-providers/tableview.data-provider.d.ts +0 -33
  285. package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +0 -23
  286. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +0 -153
  287. package/tableview/api/tableview/helpers/files-export.d.ts +0 -4
  288. package/tableview/api/tableview/helpers/tableview-create.d.ts +0 -29
  289. package/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.d.ts +0 -20
  290. package/tableview/api/tableview/helpers/tableview-default-actions.d.ts +0 -93
  291. package/tableview/api/tableview/helpers/tableview-input-builder.d.ts +0 -192
  292. package/tableview/api/tableview/models/tableview-descriptor-fields-manage-helper.type.d.ts +0 -9
  293. package/tableview/api/tableview/models/tableview-descriptor-helper.type.d.ts +0 -2
  294. package/tableview/api/tableview/models/tableview-input.model.d.ts +0 -8
  295. package/tableview/api/tableview/models/tableview-route.model.d.ts +0 -20
  296. package/tableview/editor/components/editor/auto-save-status/auto-save-status.component.d.ts +0 -10
  297. package/tableview/editor/components/editor/form-editor.component.d.ts +0 -117
  298. package/tableview/editor/components/formly/constants.d.ts +0 -1
  299. package/tableview/editor/components/formly/fields/formly-field-action/formly-field-action.component.d.ts +0 -15
  300. package/tableview/editor/components/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +0 -11
  301. package/tableview/editor/components/formly/fields/formly-field-custom/formly-field-custom.component.d.ts +0 -10
  302. package/tableview/editor/components/formly/fields/formly-field-datepicker/formly-field-datepicker.component.d.ts +0 -24
  303. package/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +0 -10
  304. package/tableview/editor/components/formly/fields/formly-field-fieldset/formly-field-fieldset.component.d.ts +0 -12
  305. package/tableview/editor/components/formly/fields/formly-field-input/formly-field-input.component.d.ts +0 -33
  306. package/tableview/editor/components/formly/fields/formly-field-label/formly-field-label.component.d.ts +0 -10
  307. package/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +0 -36
  308. package/tableview/editor/components/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +0 -22
  309. package/tableview/editor/components/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +0 -37
  310. package/tableview/editor/components/formly/fields/formly-field-tabs/formly-field-tabs.component.d.ts +0 -10
  311. package/tableview/editor/components/formly/fields/formly-field-type.abstract.component.d.ts +0 -11
  312. package/tableview/editor/components/formly/fields/formly-group-type.abstract.component.d.ts +0 -7
  313. package/tableview/editor/components/formly/fields/formly-type.abstract.component.d.ts +0 -20
  314. package/tableview/editor/components/formly/pipes/formly-field-label.pipe.d.ts +0 -8
  315. package/tableview/editor/components/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.d.ts +0 -18
  316. package/tableview/editor/components/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +0 -16
  317. package/tableview/editor/helpers/editor-autosave.d.ts +0 -17
  318. package/tableview/editor/helpers/editor-field.d.ts +0 -2
  319. package/tableview/editor/helpers/editor-formly.d.ts +0 -11
  320. package/tableview/editor/helpers/editor-validators.d.ts +0 -7
  321. package/tableview/editor/helpers/field-create.d.ts +0 -9
  322. package/tableview/editor/helpers/formly-config.d.ts +0 -18
  323. package/tableview/editor/helpers/notification.d.ts +0 -4
  324. package/tableview/editor/models/editor-auto-save-preview.model.d.ts +0 -10
  325. package/tableview/editor/models/formly-config.model.d.ts +0 -14
  326. package/tableview/editor/models/formly.model.d.ts +0 -23
  327. package/tableview/editor/services/form-editor.service.d.ts +0 -39
  328. package/tableview/editor/services/formly-config.provider.d.ts +0 -5
  329. package/tableview/provide.d.ts +0 -15
  330. package/tableview/tableview/components/route/tableview-route.component.d.ts +0 -7
  331. package/tableview/tableview/components/tableview/tableview.component.d.ts +0 -29
  332. package/tableview/tableview/router/tableview-route-builder.d.ts +0 -43
  333. package/tableview/tableview/services/tableview-feature-config.token.d.ts +0 -18
@@ -1,14 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, signal, inject, Injector, input, booleanAttribute, output, viewChild, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, model, effect, untracked, afterNextRender, HostListener, contentChildren, viewChildren, QueryList, ChangeDetectorRef, Directive, Pipe, LOCALE_ID, HostBinding, ViewChild } from '@angular/core';
2
+ import { InjectionToken, inject, Injectable, signal, Injector, input, booleanAttribute, output, viewChild, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, model, effect, untracked, afterNextRender, HostListener, contentChildren, ChangeDetectorRef, Directive, Pipe, LOCALE_ID, HostBinding, ViewChild } from '@angular/core';
3
3
  import { takeUntilDestroyed, toSignal, outputFromObservable, toObservable as toObservable$1 } from '@angular/core/rxjs-interop';
4
- import * as i1 from '@angular/router';
5
- import { NavigationEnd, Router, ActivatedRoute, RouterLink, NavigationStart, NavigationCancel, NavigationError, NavigationSkipped, RouterOutlet } from '@angular/router';
4
+ import { Router, NavigationEnd, ActivatedRoute, RouterLink, NavigationStart, NavigationCancel, NavigationError, NavigationSkipped, RouterOutlet } from '@angular/router';
6
5
  import { TranslateService, TranslatePipe } from '@ngx-translate/core';
7
6
  import { ButtonDirective, Button } from 'primeng/button';
8
7
  import { Menu } from 'primeng/menu';
9
8
  import { Tooltip } from 'primeng/tooltip';
10
9
  import { ReplaySubject, BehaviorSubject, distinctUntilChanged, Subject, take, of, switchMap, mergeMap as mergeMap$1, from, timeout, combineLatest, debounceTime, delay, tap, combineLatestWith, NEVER, isObservable, throwError, filter as filter$1 } from 'rxjs';
11
- import { getI18n, getI18nAsync, LoggerService, toastMessage, getI18nErrorParams, getI18nForError, CommonsService, ParametrizePipe, escapeHtmlAny, StyleLevelEnum, toObservable, CommonsInternalError, StyleSizeEnum, CommonsHttpError, PermissionService, effectWithDeps, Permissions, ComponentDirective, CommonsStorageService, objectDeepCopy, Styles, TemplateDirective, findTemplateByName, getI18nTypePropertyKey, getI18nTypeGroupKey, getI18nTypeTabKey, fromSubscribeError, getErrorLogLevel, getObjectPropertyByPath, FilterMatchMode, COMMONS_MODULE_CONFIG_IT, dateToIsoString, RouteBuilder, createLazyRoute, CommonsFeatureTypeEnum } from '@mediusinc/mng-commons/core';
10
+ import { getI18n, getI18nAsync, LoggerService, toastMessage, getI18nErrorParams, getI18nForError, CommonsService, ParametrizePipe, escapeHtmlAny, StyleLevelEnum, toObservable, CommonsInternalError, StyleSizeEnum, CommonsHttpError, PermissionService, effectWithDeps, Permissions, ComponentDirective, CommonsStorageService, objectDeepCopy, Styles, getI18nTypePropertyKey, getI18nTypeGroupKey, getI18nTypeTabKey, fromSubscribeError, getErrorLogLevel, getObjectPropertyByPath, FilterMatchMode, COMMONS_MODULE_CONFIG_IT, dateToIsoString, RouteBuilder, createLazyRoute, CommonsFeatureTypeEnum } from '@mediusinc/mng-commons/core';
12
11
  import { ButtonStyleBuilder, LookupDataProviderInst, lookupDataProvider } from '@mediusinc/mng-commons/form/api';
13
12
  import { ActionEditorDescriptorInst, ActionInstanceStateEnum, ActionActivationTriggerEnum, ActionTypeEnum, DataProviderExecutor, TableviewActionDefaultCategories, CommonsActionError, ActionLinkDescriptorInst, TableviewEditorTypeEnum, TableviewDescriptorInst, FieldInputDescriptor, FieldInputTypeEnum, FieldActionDescriptor, FieldLookupEnumDescriptor, FieldLookupTypeEnum, FieldLookupDescriptor, FieldManyToManyEditorDescriptor, FieldManyEditorDescriptor, FieldValidationDescriptor, FormEventTypeEnum, FormFieldEventComponentSubtype, ActionEditorSubmitTypeEnum, ActionEditorSubmitDescriptorInst, ActionPositionEnum, runFnFromDataProviderOrFallback, runGetAllFromDataProvider, runFetchFromDataProvider, runCreateFromDataProvider, runUpdateFromDataProvider, runDeleteFromDataProvider, FormFieldEventTypeEnum, AFieldDescriptor, AFieldGroupDescriptor, FieldGroupTypeEnum, FormFieldEventDialogSubtype, FieldManyEditorActionEnum, actionEditor, actionEditorCancel, action, FieldManyToManyEditorActionEnum, fieldDescriptorEmptyLabelType, EditorDescriptorNestedObjectWrapper, fieldLookupGetProviderCfgObj, DATA_LANGUAGE_DROPDOWN_COMPONENT_IT } from '@mediusinc/mng-commons/tableview/api';
14
13
  import { mergeMap, map, filter, startWith, catchError, first, take as take$1 } from 'rxjs/operators';
@@ -16,18 +15,16 @@ import { getI18nModelParams, getI18nModelParamsAsync } from '@mediusinc/mng-comm
16
15
  import { HttpErrorResponse } from '@angular/common/http';
17
16
  import { MessageService, ConfirmationService } from 'primeng/api';
18
17
  import { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';
19
- import * as i2 from '@angular/common';
20
- import { DatePipe, NgTemplateOutlet, NgClass } from '@angular/common';
18
+ import { Location, DatePipe, NgClass } from '@angular/common';
21
19
  import { ProgressSpinner } from 'primeng/progressspinner';
22
20
  import { Toolbar } from 'primeng/toolbar';
23
21
  import { ZIndexUtils } from 'primeng/utils';
24
- import * as i1$2 from '@angular/forms';
22
+ import * as i1 from '@angular/forms';
25
23
  import { Validators, UntypedFormGroup, FormGroup, FormArray, ReactiveFormsModule, FormsModule, FormBuilder, FormControl } from '@angular/forms';
26
- import * as i1$1 from '@ngx-formly/core';
27
- import { FormlyConfig, FormlyModule, FieldType, FieldWrapper, FORMLY_CONFIG } from '@ngx-formly/core';
24
+ import { FormlyConfig, FORMLY_CONFIG, FormlyForm, FieldType, FormlyAttributes, FormlyField, FormlyValidationMessage, FieldWrapper, provideFormlyCore } from '@ngx-formly/core';
28
25
  import { Message } from 'primeng/message';
29
26
  import { DropdownComponent, AutocompleteComponent, InputTrimDirective, InputEmptyValueDirective } from '@mediusinc/mng-commons/form';
30
- import { TableComponent } from '@mediusinc/mng-commons/table';
27
+ import { TableTemplateDirective, TableComponent } from '@mediusinc/mng-commons/table';
31
28
  import { TableSizeEnum } from '@mediusinc/mng-commons/table/api';
32
29
  import { Fieldset } from 'primeng/fieldset';
33
30
  import { FileUpload } from 'primeng/fileupload';
@@ -492,9 +489,9 @@ class DefaultActionErrorMapperService extends ActionErrorMapperService {
492
489
  }
493
490
 
494
491
  class NavigationService {
495
- constructor(router, location) {
496
- this.router = router;
497
- this.location = location;
492
+ constructor() {
493
+ this.router = inject(Router);
494
+ this.location = inject(Location);
498
495
  this.history = [];
499
496
  this.router.events.pipe(takeUntilDestroyed()).subscribe(event => {
500
497
  if (event instanceof NavigationEnd) {
@@ -530,12 +527,12 @@ class NavigationService {
530
527
  this.router.navigateByUrl('/');
531
528
  }
532
529
  }
533
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NavigationService, deps: [{ token: i1.Router }, { token: i2.Location }], target: i0.ɵɵFactoryTarget.Injectable }); }
534
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NavigationService }); }
530
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NavigationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
531
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NavigationService }); }
535
532
  }
536
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: NavigationService, decorators: [{
533
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: NavigationService, decorators: [{
537
534
  type: Injectable
538
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.Location }] });
535
+ }], ctorParameters: () => [] });
539
536
 
540
537
  const ACTION_EDITOR_COMPONENT_IT = new InjectionToken('ACTION_EDITOR_COMPONENT');
541
538
 
@@ -544,9 +541,9 @@ const ACTION_EDITOR_COMPONENT_IT = new InjectionToken('ACTION_EDITOR_COMPONENT')
544
541
  */
545
542
  class ViewContainer {
546
543
  constructor() {
547
- this.dataProvider = signal(undefined);
548
- this.routeTriggeredActionInstance = signal(undefined);
549
- this.actions = signal([]);
544
+ this.dataProvider = signal(undefined, ...(ngDevMode ? [{ debugName: "dataProvider" }] : []));
545
+ this.routeTriggeredActionInstance = signal(undefined, ...(ngDevMode ? [{ debugName: "routeTriggeredActionInstance" }] : []));
546
+ this.actions = signal([], ...(ngDevMode ? [{ debugName: "actions" }] : []));
550
547
  this._tableReloadSubject = new Subject();
551
548
  this._editorResetSubject = new Subject();
552
549
  this._editorCloseSubject = new Subject();
@@ -569,10 +566,10 @@ class ViewContainer {
569
566
  closeEditor(event) {
570
567
  this._editorCloseSubject.next(event ?? {});
571
568
  }
572
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ViewContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
573
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ViewContainer }); }
569
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ViewContainer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
570
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ViewContainer }); }
574
571
  }
575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ViewContainer, decorators: [{
572
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ViewContainer, decorators: [{
576
573
  type: Injectable
577
574
  }] });
578
575
 
@@ -1344,10 +1341,10 @@ class RootActionExecutorService extends ActionExecutorService {
1344
1341
  get instances() {
1345
1342
  return this._instances;
1346
1343
  }
1347
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RootActionExecutorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1348
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RootActionExecutorService }); }
1344
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RootActionExecutorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1345
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RootActionExecutorService }); }
1349
1346
  }
1350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: RootActionExecutorService, decorators: [{
1347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: RootActionExecutorService, decorators: [{
1351
1348
  type: Injectable
1352
1349
  }] });
1353
1350
 
@@ -1359,10 +1356,10 @@ class ComponentActionExecutorService extends ActionExecutorService {
1359
1356
  get instances() {
1360
1357
  return this.rootActionExecutorService.instances;
1361
1358
  }
1362
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ComponentActionExecutorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1363
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ComponentActionExecutorService }); }
1359
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ComponentActionExecutorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
1360
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ComponentActionExecutorService }); }
1364
1361
  }
1365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ComponentActionExecutorService, decorators: [{
1362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ComponentActionExecutorService, decorators: [{
1366
1363
  type: Injectable
1367
1364
  }] });
1368
1365
 
@@ -1382,34 +1379,34 @@ class ActionComponent {
1382
1379
  this.actionExecutor = inject(ActionExecutorService);
1383
1380
  this.viewContainer = inject((ViewContainer), { optional: true });
1384
1381
  // metadata and editor mode input
1385
- this.action = input.required();
1386
- this.item = input();
1387
- this.itemId = input();
1388
- this.actionData = input();
1389
- this.dataListParams = input();
1390
- this.dataProvider = input();
1391
- this.hostComponent = input();
1392
- this.routeInit = input(undefined, { alias: 'route' });
1393
- this.inputDisabled = input(false, { alias: 'disabled', transform: booleanAttribute });
1394
- this.inputLoading = input(false, { alias: 'loading', transform: booleanAttribute });
1395
- this.selectedItems = input([]);
1382
+ this.action = input.required(...(ngDevMode ? [{ debugName: "action" }] : []));
1383
+ this.item = input(...(ngDevMode ? [undefined, { debugName: "item" }] : []));
1384
+ this.itemId = input(...(ngDevMode ? [undefined, { debugName: "itemId" }] : []));
1385
+ this.actionData = input(...(ngDevMode ? [undefined, { debugName: "actionData" }] : []));
1386
+ this.dataListParams = input(...(ngDevMode ? [undefined, { debugName: "dataListParams" }] : []));
1387
+ this.dataProvider = input(...(ngDevMode ? [undefined, { debugName: "dataProvider" }] : []));
1388
+ this.hostComponent = input(...(ngDevMode ? [undefined, { debugName: "hostComponent" }] : []));
1389
+ this.routeInit = input(undefined, ...(ngDevMode ? [{ debugName: "routeInit", alias: 'route' }] : [{ alias: 'route' }]));
1390
+ this.inputDisabled = input(false, ...(ngDevMode ? [{ debugName: "inputDisabled", alias: 'disabled', transform: booleanAttribute }] : [{ alias: 'disabled', transform: booleanAttribute }]));
1391
+ this.inputLoading = input(false, ...(ngDevMode ? [{ debugName: "inputLoading", alias: 'loading', transform: booleanAttribute }] : [{ alias: 'loading', transform: booleanAttribute }]));
1392
+ this.selectedItems = input([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
1396
1393
  // eslint-disable-next-line @angular-eslint/no-output-native
1397
1394
  this.finish = output();
1398
- this.subactionsMenu = viewChild(Menu);
1399
- this.hostClass = computed(() => this.action().button?.style?.class ?? 'mng-action-button');
1400
- this.isHostHidden = computed(() => !this.isVisible() || !this.isPermitted());
1401
- this.loading = signal(false);
1402
- this.isVisible = signal(true);
1403
- this.isPermitted = signal(true);
1404
- this.isEnabled = signal(true);
1405
- this.label = signal('');
1406
- this.tooltip = signal('');
1395
+ this.subactionsMenu = viewChild(Menu, ...(ngDevMode ? [{ debugName: "subactionsMenu" }] : []));
1396
+ this.hostClass = computed(() => this.action().button?.style?.class ?? 'mng-action-button', ...(ngDevMode ? [{ debugName: "hostClass" }] : []));
1397
+ this.isHostHidden = computed(() => !this.isVisible() || !this.isPermitted(), ...(ngDevMode ? [{ debugName: "isHostHidden" }] : []));
1398
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
1399
+ this.isVisible = signal(true, ...(ngDevMode ? [{ debugName: "isVisible" }] : []));
1400
+ this.isPermitted = signal(true, ...(ngDevMode ? [{ debugName: "isPermitted" }] : []));
1401
+ this.isEnabled = signal(true, ...(ngDevMode ? [{ debugName: "isEnabled" }] : []));
1402
+ this.label = signal('', ...(ngDevMode ? [{ debugName: "label" }] : []));
1403
+ this.tooltip = signal('', ...(ngDevMode ? [{ debugName: "tooltip" }] : []));
1407
1404
  this.actionLink = computed(() => {
1408
1405
  const action = this.action();
1409
1406
  return action instanceof ActionLinkDescriptorInst ? action : undefined;
1410
- });
1411
- this.hasNoTitle = computed(() => this.action().button?.label === null);
1412
- this.route = computed(() => this.routeInit() ?? this.routeService);
1407
+ }, ...(ngDevMode ? [{ debugName: "actionLink" }] : []));
1408
+ this.hasNoTitle = computed(() => this.action().button?.label === null, ...(ngDevMode ? [{ debugName: "hasNoTitle" }] : []));
1409
+ this.route = computed(() => this.routeInit() ?? this.routeService, ...(ngDevMode ? [{ debugName: "route" }] : []));
1413
1410
  this.routeData = toSignal(this.route().data);
1414
1411
  this.routePermissions = computed(() => {
1415
1412
  const routeData = this.routeData();
@@ -1421,12 +1418,12 @@ class ActionComponent {
1421
1418
  }
1422
1419
  }
1423
1420
  return undefined;
1424
- });
1421
+ }, ...(ngDevMode ? [{ debugName: "routePermissions" }] : []));
1425
1422
  this.buttonClass = computed(() => {
1426
1423
  const action = this.action();
1427
1424
  return (action.button?.style instanceof ButtonStyleBuilder ? action.button.style : ButtonStyleBuilder.from(action.button?.style)).build(this.hasNoTitle());
1428
- });
1429
- this.subactions = signal([]);
1425
+ }, ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
1426
+ this.subactions = signal([], ...(ngDevMode ? [{ debugName: "subactions" }] : []));
1430
1427
  this.subactionSubscriptions = [];
1431
1428
  this.#actionProcessingParams = computed(() => ({
1432
1429
  itemId: this.itemId(),
@@ -1436,7 +1433,7 @@ class ActionComponent {
1436
1433
  dataListParams: this.dataListParams(),
1437
1434
  routePermissions: this.routePermissions(),
1438
1435
  hostComponent: this.hostComponent()
1439
- }));
1436
+ }), ...(ngDevMode ? [{ debugName: "#actionProcessingParams" }] : []));
1440
1437
  effectWithDeps([this.action, this.dataProvider, this.route, this.hasNoTitle, this.#actionProcessingParams], ([action, dataProvider, route, hasNoTitle, processingParams]) => this.processSubscriptions(action, dataProvider, route, hasNoTitle, processingParams));
1441
1438
  }
1442
1439
  ngOnDestroy() {
@@ -1627,17 +1624,17 @@ class ActionComponent {
1627
1624
  return menuItem;
1628
1625
  });
1629
1626
  }
1630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1631
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: ActionComponent, isStandalone: true, selector: "mng-action", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: false, transformFunction: null }, dataListParams: { classPropertyName: "dataListParams", publicName: "dataListParams", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, hostComponent: { classPropertyName: "hostComponent", publicName: "hostComponent", isSignal: true, isRequired: false, transformFunction: null }, routeInit: { classPropertyName: "routeInit", publicName: "route", isSignal: true, isRequired: false, transformFunction: null }, inputDisabled: { classPropertyName: "inputDisabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputLoading: { classPropertyName: "inputLoading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { finish: "finish" }, host: { properties: { "class": "hostClass()", "class.m-0": "isHostHidden()" } }, providers: [provideActionExecutor()], viewQueries: [{ propertyName: "subactionsMenu", first: true, predicate: Menu, descendants: true, isSignal: true }], ngImport: i0, template: "@if (isVisible() && isPermitted()) {\n @if (actionLink(); as actionLink) {\n @if (actionLink.url !== '') {\n <a\n pButton\n [label]=\"label()\"\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [href]=\"!isEnabled() || inputDisabled() ? null : (actionLink.url | mngParametrize: itemId() : item() : actionData())\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"!isEnabled() || inputDisabled()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [class]=\"buttonClass()\"></a>\n } @else {\n <a\n pButton\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"!isEnabled() || inputDisabled() ? null : (actionLink.pathSegments | mngParametrize: itemId() : item() : actionData())\"\n [relativeTo]=\"route()\"\n [queryParams]=\"actionLink.queryParams | mngParametrize: itemId() : item() : actionData()\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"!isEnabled() || inputDisabled()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [class]=\"buttonClass()\"></a>\n }\n } @else if (action().component || action().componentFromDi) {\n <ng-container\n [mngComponent]=\"action().component\"\n [injectionToken]=\"action().componentFromDi\"\n [inputs]=\"{\n action: action(),\n item: item(),\n itemId: itemId(),\n actionData: actionData(),\n enabled: isEnabled(),\n loading: loading()\n }\"\n (instanceCreated)=\"onCustomActionCmpInst($event)\">\n </ng-container>\n } @else if (action().subactions.length > 0 && !action().subactionsAsMenu) {\n @defer (on idle) {\n <p-splitButton\n [icon]=\"action().button?.icon ?? undefined\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [disabled]=\"!isEnabled() || inputDisabled()\"\n (onClick)=\"triggerAction(action())\"\n [class]=\"buttonClass()\"\n [model]=\"subactions()\" />\n }\n } @else {\n <button\n pButton\n type=\"button\"\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [loading]=\"loading() || inputLoading()\"\n [disabled]=\"!isEnabled() || inputDisabled()\"\n (click)=\"triggerAction(action(), undefined, $event)\"\n [class]=\"buttonClass()\"></button>\n @defer (on idle) {\n <p-menu #subactionsMenu [model]=\"subactions()\" [popup]=\"true\" appendTo=\"body\" styleClass=\"mng-action-menu\"></p-menu>\n }\n }\n}\n", styles: ["mng-action{margin:var(--mng-action-margin-y, .15rem) var(--mng-action-margin-y, .15rem)}mng-action a.disabled{opacity:var(--mng-action-anchor-disabled-opacity, .6);cursor:default}\n"], dependencies: [{ kind: "pipe", type: ParametrizePipe, name: "mngParametrize" }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [Tooltip, import('primeng/splitbutton').then(m => m.SplitButton)], () => [Menu]] }); }
1627
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1628
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: ActionComponent, isStandalone: true, selector: "mng-action", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: false, transformFunction: null }, dataListParams: { classPropertyName: "dataListParams", publicName: "dataListParams", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, hostComponent: { classPropertyName: "hostComponent", publicName: "hostComponent", isSignal: true, isRequired: false, transformFunction: null }, routeInit: { classPropertyName: "routeInit", publicName: "route", isSignal: true, isRequired: false, transformFunction: null }, inputDisabled: { classPropertyName: "inputDisabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, inputLoading: { classPropertyName: "inputLoading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { finish: "finish" }, host: { properties: { "class": "hostClass()", "class.m-0": "isHostHidden()" } }, providers: [provideActionExecutor()], viewQueries: [{ propertyName: "subactionsMenu", first: true, predicate: Menu, descendants: true, isSignal: true }], ngImport: i0, template: "@if (isVisible() && isPermitted()) {\n @if (actionLink(); as actionLink) {\n @if (actionLink.url !== '') {\n <a\n pButton\n [label]=\"label()\"\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [href]=\"!isEnabled() || inputDisabled() ? null : (actionLink.url | mngParametrize: itemId() : item() : actionData())\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"!isEnabled() || inputDisabled()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [class]=\"buttonClass()\"></a>\n } @else {\n <a\n pButton\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"!isEnabled() || inputDisabled() ? null : (actionLink.pathSegments | mngParametrize: itemId() : item() : actionData())\"\n [relativeTo]=\"route()\"\n [queryParams]=\"actionLink.queryParams | mngParametrize: itemId() : item() : actionData()\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"!isEnabled() || inputDisabled()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [class]=\"buttonClass()\"></a>\n }\n } @else if (action().component || action().componentFromDi) {\n <ng-container\n [mngComponent]=\"action().component\"\n [injectionToken]=\"action().componentFromDi\"\n [inputs]=\"{\n action: action(),\n item: item(),\n itemId: itemId(),\n actionData: actionData(),\n enabled: isEnabled(),\n loading: loading()\n }\"\n (instanceCreated)=\"onCustomActionCmpInst($event)\">\n </ng-container>\n } @else if (action().subactions.length > 0 && !action().subactionsAsMenu) {\n @defer (on idle) {\n <p-splitButton\n [icon]=\"action().button?.icon ?? undefined\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [disabled]=\"!isEnabled() || inputDisabled()\"\n (onClick)=\"triggerAction(action())\"\n [class]=\"buttonClass()\"\n [model]=\"subactions()\" />\n }\n } @else {\n <button\n pButton\n type=\"button\"\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [loading]=\"loading() || inputLoading()\"\n [disabled]=\"!isEnabled() || inputDisabled()\"\n (click)=\"triggerAction(action(), undefined, $event)\"\n [class]=\"buttonClass()\"></button>\n @defer (on idle) {\n <p-menu #subactionsMenu [model]=\"subactions()\" [popup]=\"true\" appendTo=\"body\" styleClass=\"mng-action-menu\"></p-menu>\n }\n }\n}\n", styles: ["mng-action{margin:var(--mng-action-margin-y, .15rem) var(--mng-action-margin-y, .15rem)}mng-action a.disabled{opacity:var(--mng-action-anchor-disabled-opacity, .6);cursor:default}\n"], dependencies: [{ kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "pipe", type: ParametrizePipe, name: "mngParametrize" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None, deferBlockDependencies: [() => [Tooltip, import('primeng/splitbutton').then(m => m.SplitButton)], () => [Menu]] }); }
1632
1629
  }
1633
- i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "19.2.10", ngImport: i0, type: ActionComponent, resolveDeferredDeps: () => [import('primeng/splitbutton').then(m => m.SplitButton)], resolveMetadata: SplitButton => ({ decorators: [{
1630
+ i0.ɵɵngDeclareClassMetadataAsync({ minVersion: "18.0.0", version: "20.1.7", ngImport: i0, type: ActionComponent, resolveDeferredDeps: () => [import('primeng/splitbutton').then(m => m.SplitButton)], resolveMetadata: SplitButton => ({ decorators: [{
1634
1631
  type: Component,
1635
1632
  args: [{ selector: 'mng-action', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ParametrizePipe, ComponentDirective, RouterLink, ButtonDirective, Tooltip, SplitButton, Menu], providers: [provideActionExecutor()], host: { '[class]': 'hostClass()', '[class.m-0]': 'isHostHidden()' }, encapsulation: ViewEncapsulation.None, template: "@if (isVisible() && isPermitted()) {\n @if (actionLink(); as actionLink) {\n @if (actionLink.url !== '') {\n <a\n pButton\n [label]=\"label()\"\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [href]=\"!isEnabled() || inputDisabled() ? null : (actionLink.url | mngParametrize: itemId() : item() : actionData())\"\n [target]=\"actionLink.target\"\n [class.disabled]=\"!isEnabled() || inputDisabled()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [class]=\"buttonClass()\"></a>\n } @else {\n <a\n pButton\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [target]=\"actionLink.target\"\n [replaceUrl]=\"actionLink.replaceUrl\"\n [routerLink]=\"!isEnabled() || inputDisabled() ? null : (actionLink.pathSegments | mngParametrize: itemId() : item() : actionData())\"\n [relativeTo]=\"route()\"\n [queryParams]=\"actionLink.queryParams | mngParametrize: itemId() : item() : actionData()\"\n [queryParamsHandling]=\"actionLink.queryParamsHandling\"\n [class.disabled]=\"!isEnabled() || inputDisabled()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [class]=\"buttonClass()\"></a>\n }\n } @else if (action().component || action().componentFromDi) {\n <ng-container\n [mngComponent]=\"action().component\"\n [injectionToken]=\"action().componentFromDi\"\n [inputs]=\"{\n action: action(),\n item: item(),\n itemId: itemId(),\n actionData: actionData(),\n enabled: isEnabled(),\n loading: loading()\n }\"\n (instanceCreated)=\"onCustomActionCmpInst($event)\">\n </ng-container>\n } @else if (action().subactions.length > 0 && !action().subactionsAsMenu) {\n @defer (on idle) {\n <p-splitButton\n [icon]=\"action().button?.icon ?? undefined\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [disabled]=\"!isEnabled() || inputDisabled()\"\n (onClick)=\"triggerAction(action())\"\n [class]=\"buttonClass()\"\n [model]=\"subactions()\" />\n }\n } @else {\n <button\n pButton\n type=\"button\"\n [icon]=\"$any(action().button?.icon)\"\n [iconPos]=\"action().button?.iconPosition ?? 'left'\"\n [label]=\"label()\"\n [pTooltip]=\"tooltip()\"\n [tooltipPosition]=\"action().button?.tooltipPosition ?? 'top'\"\n [loading]=\"loading() || inputLoading()\"\n [disabled]=\"!isEnabled() || inputDisabled()\"\n (click)=\"triggerAction(action(), undefined, $event)\"\n [class]=\"buttonClass()\"></button>\n @defer (on idle) {\n <p-menu #subactionsMenu [model]=\"subactions()\" [popup]=\"true\" appendTo=\"body\" styleClass=\"mng-action-menu\"></p-menu>\n }\n }\n}\n", styles: ["mng-action{margin:var(--mng-action-margin-y, .15rem) var(--mng-action-margin-y, .15rem)}mng-action a.disabled{opacity:var(--mng-action-anchor-disabled-opacity, .6);cursor:default}\n"] }]
1636
1633
  }], ctorParameters: () => [], propDecorators: null }) });
1637
1634
 
1638
1635
  class EditorAutoSaveStatusComponent {
1639
1636
  constructor() {
1640
- this.status = input();
1637
+ this.status = input(...(ngDevMode ? [undefined, { debugName: "status" }] : []));
1641
1638
  this.label = computed(() => {
1642
1639
  switch (this.status()?.state) {
1643
1640
  case 'saving':
@@ -1652,7 +1649,7 @@ class EditorAutoSaveStatusComponent {
1652
1649
  default:
1653
1650
  return undefined;
1654
1651
  }
1655
- });
1652
+ }, ...(ngDevMode ? [{ debugName: "label" }] : []));
1656
1653
  this.timestampDateFormat = computed(() => {
1657
1654
  switch (this.status()?.state) {
1658
1655
  case 'saving':
@@ -1661,7 +1658,7 @@ class EditorAutoSaveStatusComponent {
1661
1658
  default:
1662
1659
  return 'dd. MM. yyyy HH:mm:ss';
1663
1660
  }
1664
- });
1661
+ }, ...(ngDevMode ? [{ debugName: "timestampDateFormat" }] : []));
1665
1662
  this.icon = computed(() => {
1666
1663
  switch (this.status()?.state) {
1667
1664
  case 'saved':
@@ -1676,10 +1673,10 @@ class EditorAutoSaveStatusComponent {
1676
1673
  default:
1677
1674
  return undefined;
1678
1675
  }
1679
- });
1676
+ }, ...(ngDevMode ? [{ debugName: "icon" }] : []));
1680
1677
  }
1681
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: EditorAutoSaveStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1682
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: EditorAutoSaveStatusComponent, isStandalone: true, selector: "mng-editor-auto-save-status", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1678
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: EditorAutoSaveStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1679
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: EditorAutoSaveStatusComponent, isStandalone: true, selector: "mng-editor-auto-save-status", inputs: { status: { classPropertyName: "status", publicName: "status", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
1683
1680
  <span>
1684
1681
  @if (icon(); as icon) {
1685
1682
  <i [class]="icon"></i>
@@ -1691,7 +1688,7 @@ class EditorAutoSaveStatusComponent {
1691
1688
  </span>
1692
1689
  `, isInline: true, dependencies: [{ kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1693
1690
  }
1694
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: EditorAutoSaveStatusComponent, decorators: [{
1691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: EditorAutoSaveStatusComponent, decorators: [{
1695
1692
  type: Component,
1696
1693
  args: [{
1697
1694
  selector: 'mng-editor-auto-save-status',
@@ -2284,16 +2281,17 @@ class FormEditorService {
2284
2281
  resetFieldValueUnsafe(key, value) {
2285
2282
  return this.formComponent.resetFieldValueUnsafe(key, value);
2286
2283
  }
2284
+ // eslint-disable-next-line @angular-eslint/prefer-inject
2287
2285
  constructor(parentForm) {
2288
2286
  this._parentForm = parentForm;
2289
2287
  }
2290
2288
  init(formComponent) {
2291
2289
  this._formComponent = formComponent;
2292
2290
  }
2293
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormEditorService, deps: [{ token: FormEditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2294
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormEditorService }); }
2291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormEditorService, deps: [{ token: FormEditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2292
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormEditorService }); }
2295
2293
  }
2296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormEditorService, decorators: [{
2294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormEditorService, decorators: [{
2297
2295
  type: Injectable
2298
2296
  }], ctorParameters: () => [{ type: FormEditorService }] });
2299
2297
  function provideFormComponent() {
@@ -2329,6 +2327,8 @@ class FormEditorComponent {
2329
2327
  get formlyInitialItem() {
2330
2328
  return this._formlyInitialItem;
2331
2329
  }
2330
+ #formlyConfig;
2331
+ #formlyConfigs;
2332
2332
  constructor() {
2333
2333
  this.destroyRef = inject(DestroyRef);
2334
2334
  this.elementRef = inject(ElementRef);
@@ -2341,22 +2341,22 @@ class FormEditorComponent {
2341
2341
  this.commonsStorageService = inject(CommonsStorageService);
2342
2342
  this.router = inject(Router);
2343
2343
  this.autoSaveStorageKeyCompInit = true;
2344
- this.autoSaveStorageKey = computed(() => generateAutosaveEditorKey(this.descriptor(), this.item(), this.router.url, { editorId: this.editorId(), itemId: this.itemId() }));
2345
- this.descriptor = input.required();
2346
- this.submitLoading = input(false, { transform: booleanAttribute });
2347
- this.item = model(undefined);
2348
- this.isFormDisabled = input(false, { transform: booleanAttribute });
2349
- this.editorId = input(undefined);
2350
- this.itemId = input(undefined);
2351
- this.showAutoSaveStatus = input(true, { transform: booleanAttribute });
2344
+ this.autoSaveStorageKey = computed(() => generateAutosaveEditorKey(this.descriptor(), this.item(), this.router.url, { editorId: this.editorId(), itemId: this.itemId() }), ...(ngDevMode ? [{ debugName: "autoSaveStorageKey" }] : []));
2345
+ this.descriptor = input.required(...(ngDevMode ? [{ debugName: "descriptor" }] : []));
2346
+ this.submitLoading = input(false, ...(ngDevMode ? [{ debugName: "submitLoading", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
2347
+ this.item = model(undefined, ...(ngDevMode ? [{ debugName: "item" }] : []));
2348
+ this.isFormDisabled = input(false, ...(ngDevMode ? [{ debugName: "isFormDisabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
2349
+ this.editorId = input(undefined, ...(ngDevMode ? [{ debugName: "editorId" }] : []));
2350
+ this.itemId = input(undefined, ...(ngDevMode ? [{ debugName: "itemId" }] : []));
2351
+ this.showAutoSaveStatus = input(true, ...(ngDevMode ? [{ debugName: "showAutoSaveStatus", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
2352
2352
  // event outputs
2353
2353
  this.formSubmit = output();
2354
2354
  this.valueChange = output();
2355
2355
  this.autoSaveStatusSubject = new BehaviorSubject({ state: 'initial', timestamp: new Date() });
2356
2356
  this.autoSaveStatus = outputFromObservable(this.autoSaveStatusSubject.asObservable());
2357
2357
  // content and view queries
2358
- this.submitButtonElementRef = viewChild('submitButton');
2359
- this.focusThiefElRef = viewChild('focusThiefInput');
2358
+ this.submitButtonElementRef = viewChild('submitButton', ...(ngDevMode ? [{ debugName: "submitButtonElementRef" }] : []));
2359
+ this.focusThiefElRef = viewChild('focusThiefInput', ...(ngDevMode ? [{ debugName: "focusThiefElRef" }] : []));
2360
2360
  // formly specifics
2361
2361
  this._form = new UntypedFormGroup({});
2362
2362
  this._formlyStateDisabledSubject = new BehaviorSubject(false);
@@ -2371,13 +2371,13 @@ class FormEditorComponent {
2371
2371
  };
2372
2372
  this._formlyFields = []; // initialized in ngOnInit, should not be changed after
2373
2373
  this._formlyInitialItem = {}; // initialized in ngOnInit, should not be changed after
2374
- this.setterFields = computed(() => this.descriptor().fields.filter(f => typeof f.setter === 'function'));
2375
- this.formMessages = signal([]);
2374
+ this.setterFields = computed(() => this.descriptor().fields.filter(f => typeof f.setter === 'function'), ...(ngDevMode ? [{ debugName: "setterFields" }] : []));
2375
+ this.formMessages = signal([], ...(ngDevMode ? [{ debugName: "formMessages" }] : []));
2376
2376
  // autosave
2377
2377
  this.restoreLocalStateButtonStyle = ButtonStyleBuilder.from({ level: StyleLevelEnum.Success, size: StyleSizeEnum.Small }).build();
2378
2378
  this.previewLocalStateButtonStyle = ButtonStyleBuilder.from({ level: StyleLevelEnum.Info, size: StyleSizeEnum.Small }).build();
2379
2379
  this.clearLocalStateButtonStyle = ButtonStyleBuilder.from({ level: StyleLevelEnum.Danger, size: StyleSizeEnum.Small, rounded: false, textButton: true }).build();
2380
- this.autoSaveRestore = signal(null);
2380
+ this.autoSaveRestore = signal(null, ...(ngDevMode ? [{ debugName: "autoSaveRestore" }] : []));
2381
2381
  this.autoSave = toSignal(this.autoSaveStatusSubject);
2382
2382
  this.autoSavePreviewButtonLabel = computed(() => {
2383
2383
  switch (this.autoSave()?.state) {
@@ -2388,11 +2388,13 @@ class FormEditorComponent {
2388
2388
  default:
2389
2389
  return 'mngEditor.autoSave.restore.preview';
2390
2390
  }
2391
- });
2392
- this.autoSaveShowRestore = computed(() => this.autoSaveRestore()?.saved != null);
2393
- this.autoSavePreviewDisabledForm = signal(false);
2391
+ }, ...(ngDevMode ? [{ debugName: "autoSavePreviewButtonLabel" }] : []));
2392
+ this.autoSaveShowRestore = computed(() => this.autoSaveRestore()?.saved != null, ...(ngDevMode ? [{ debugName: "autoSaveShowRestore" }] : []));
2393
+ this.autoSavePreviewDisabledForm = signal(false, ...(ngDevMode ? [{ debugName: "autoSavePreviewDisabledForm" }] : []));
2394
2394
  // autofocus
2395
- this.autofocusEnabled = computed(() => (this.descriptor().autofocusOnField ?? true) && !this._formlyStateDisabled());
2395
+ this.autofocusEnabled = computed(() => (this.descriptor().autofocusOnField ?? true) && !this._formlyStateDisabled(), ...(ngDevMode ? [{ debugName: "autofocusEnabled" }] : []));
2396
+ this.#formlyConfig = inject(FormlyConfig);
2397
+ this.#formlyConfigs = inject(FORMLY_CONFIG);
2396
2398
  this.formService.init(this);
2397
2399
  effect(() => {
2398
2400
  const item = this.item();
@@ -2753,12 +2755,12 @@ class FormEditorComponent {
2753
2755
  this.autoSaveRestore.set(this.commonsStorageService.getItem(this.cmpTypeName, this.autoSaveStorageKey()) ?? null);
2754
2756
  }
2755
2757
  }
2756
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2757
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormEditorComponent, isStandalone: true, selector: "mng-form-editor", inputs: { descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, submitLoading: { classPropertyName: "submitLoading", publicName: "submitLoading", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isFormDisabled: { classPropertyName: "isFormDisabled", publicName: "isFormDisabled", isSignal: true, isRequired: false, transformFunction: null }, editorId: { classPropertyName: "editorId", publicName: "editorId", isSignal: true, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, showAutoSaveStatus: { classPropertyName: "showAutoSaveStatus", publicName: "showAutoSaveStatus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { item: "itemChange", formSubmit: "formSubmit", valueChange: "valueChange", autoSaveStatus: "autoSaveStatus" }, providers: [provideFormComponent()], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true, isSignal: true }, { propertyName: "focusThiefElRef", first: true, predicate: ["focusThiefInput"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (autoSaveShowRestore()) {\n <p-message severity=\"warn\" icon=\"pi pi-save\">\n <ng-template #container>\n <div class=\"flex w-full justify-end items-center\">\n <div class=\"grow\">\n {{\n 'mngEditor.autoSave.restore.title'\n | translate: {lastChange: autoSaveRestore()?.savedAt ? (autoSaveRestore()?.savedAt! | date: 'dd. MM. YYYY HH:mm:ss') : ''}\n }}\n </div>\n <div>\n <button\n pButton\n icon=\"pi pi-sync\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.restore' | translate\"\n [class]=\"restoreLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSaveRestore()\"></button>\n @if (autoSave()?.state !== 'preview' || autoSave()?.state !== 'previewCurrent') {\n <button\n pButton\n icon=\"pi pi-eye\"\n size=\"small\"\n [label]=\"autoSavePreviewButtonLabel() | translate\"\n [class]=\"previewLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSavePreview()\"></button>\n }\n <button\n pButton\n icon=\"pi pi-times\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.dismiss' | translate\"\n [class]=\"clearLocalStateButtonStyle\"\n (click)=\"onAutoSaveDismiss()\"></button>\n </div>\n </div>\n </ng-template>\n </p-message>\n}\n\n@if (autofocusEnabled()) {\n <input type=\"hidden\" class=\"!hidden\" #focusThiefInput tabindex=\"0\" />\n}\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formlyFields\" [options]=\"formlyOptions\" [model]=\"formlyInitialItem\"></formly-form>\n <button #submitButton type=\"submit\" class=\"!hidden\"></button>\n</form>\n@for (message of formMessages(); track message) {\n <p-message [severity]=\"message.severity\" [text]=\"message.detail\" [icon]=\"message.icon\" />\n}\n\n@if (descriptor().autoSave && showAutoSaveStatus()) {\n <mng-editor-auto-save-status [status]=\"autoSave()\" />\n}\n", styles: ["mng-form-editor .mng-field-control{width:100%}mng-form-editor .mng-field{margin:var(--mng-field-margin, 0 0 .5rem 0)}mng-form-editor .mng-field:is(.mng-field-number,.mng-field-currency) :is(.p-inputnumber,input){width:100%}mng-form-editor .mng-field.mng-field-switch .mng-field-control{width:var(--p-toggleswitch-width)}mng-form-editor .mng-field.mng-field-radio .mng-field-control{width:var(--p-radiobutton-width)}mng-form-editor .mng-field.mng-field-datepicker .mng-field-control-input{max-width:var(--mng-field-datepicker-max-width, 400px)}mng-form-editor .mng-field.mng-field-autocomplete .p-autocomplete{width:100%}mng-form-editor .mng-field:is(.mng-field-dropdown,.mng-field-enum) .p-select{width:100%}mng-form-editor .mng-localized-input-translation-missing :is(input,textarea){border-color:var(--p-button-warn-background)}mng-form-editor .field.table .p-datatable .p-datatable-header{border-top:none;padding-left:0;padding-right:0;padding-top:0;padding-bottom:.25rem}mng-form-editor .p-fieldset{margin-bottom:1rem}mng-form-editor .p-fieldset .p-fieldset-content{padding:.75rem 0 0}mng-form-editor .mng-field-validation-messages{color:var(--p-form-field-invalid-placeholder-color)}\n"], dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1$1.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "component", type: EditorAutoSaveStatusComponent, selector: "mng-editor-auto-save-status", inputs: ["status"] }, { kind: "component", type: Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2758
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2759
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormEditorComponent, isStandalone: true, selector: "mng-form-editor", inputs: { descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, submitLoading: { classPropertyName: "submitLoading", publicName: "submitLoading", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isFormDisabled: { classPropertyName: "isFormDisabled", publicName: "isFormDisabled", isSignal: true, isRequired: false, transformFunction: null }, editorId: { classPropertyName: "editorId", publicName: "editorId", isSignal: true, isRequired: false, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, showAutoSaveStatus: { classPropertyName: "showAutoSaveStatus", publicName: "showAutoSaveStatus", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { item: "itemChange", formSubmit: "formSubmit", valueChange: "valueChange", autoSaveStatus: "autoSaveStatus" }, providers: [provideFormComponent()], viewQueries: [{ propertyName: "submitButtonElementRef", first: true, predicate: ["submitButton"], descendants: true, isSignal: true }, { propertyName: "focusThiefElRef", first: true, predicate: ["focusThiefInput"], descendants: true, isSignal: true }], ngImport: i0, template: "@if (autoSaveShowRestore()) {\n <p-message severity=\"warn\" icon=\"pi pi-save\">\n <ng-template #container>\n <div class=\"flex w-full justify-end items-center\">\n <div class=\"grow\">\n {{\n 'mngEditor.autoSave.restore.title'\n | translate: {lastChange: autoSaveRestore()?.savedAt ? (autoSaveRestore()?.savedAt! | date: 'dd. MM. yyyy HH:mm:ss') : ''}\n }}\n </div>\n <div>\n <button\n pButton\n icon=\"pi pi-sync\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.restore' | translate\"\n [class]=\"restoreLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSaveRestore()\"></button>\n @if (autoSave()?.state !== 'preview' || autoSave()?.state !== 'previewCurrent') {\n <button\n pButton\n icon=\"pi pi-eye\"\n size=\"small\"\n [label]=\"autoSavePreviewButtonLabel() | translate\"\n [class]=\"previewLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSavePreview()\"></button>\n }\n <button\n pButton\n icon=\"pi pi-times\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.dismiss' | translate\"\n [class]=\"clearLocalStateButtonStyle\"\n (click)=\"onAutoSaveDismiss()\"></button>\n </div>\n </div>\n </ng-template>\n </p-message>\n}\n\n@if (autofocusEnabled()) {\n <input type=\"hidden\" class=\"hidden!\" #focusThiefInput tabindex=\"0\" />\n}\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formlyFields\" [options]=\"formlyOptions\" [model]=\"formlyInitialItem\"></formly-form>\n <button #submitButton type=\"submit\" class=\"hidden!\"></button>\n</form>\n@for (message of formMessages(); track message) {\n <p-message [severity]=\"message.severity\" [text]=\"message.detail\" [icon]=\"message.icon\" />\n}\n\n@if (descriptor().autoSave && showAutoSaveStatus()) {\n <mng-editor-auto-save-status [status]=\"autoSave()\" />\n}\n", styles: ["mng-form-editor .mng-field-control{width:100%}mng-form-editor .mng-field{margin:var(--mng-field-margin, 0 0 .5rem 0)}:is(mng-form-editor .mng-field.mng-field-number,mng-form-editor .mng-field.mng-field-currency) .p-inputnumber,:is(mng-form-editor .mng-field.mng-field-number,mng-form-editor .mng-field.mng-field-currency) input{width:100%}mng-form-editor .mng-field.mng-field-switch .mng-field-control{width:var(--p-toggleswitch-width)}mng-form-editor .mng-field.mng-field-radio .mng-field-control{width:var(--p-radiobutton-width)}mng-form-editor .mng-field.mng-field-datepicker .mng-field-control-input{max-width:var(--mng-field-datepicker-max-width, 400px)}mng-form-editor .mng-field.mng-field-autocomplete .p-autocomplete{width:100%}:is(mng-form-editor .mng-field.mng-field-dropdown,mng-form-editor .mng-field.mng-field-enum) .p-select{width:100%}mng-form-editor .mng-localized-input-translation-missing input,mng-form-editor .mng-localized-input-translation-missing textarea{border-color:var(--p-button-warn-background)}mng-form-editor .field.table .p-datatable .p-datatable-header{border-top:none;padding-left:0;padding-right:0;padding-top:0;padding-bottom:.25rem}mng-form-editor .p-fieldset{margin-bottom:1rem}mng-form-editor .p-fieldset .p-fieldset-content{padding:.75rem 0 0}mng-form-editor .mng-field-validation-messages{color:var(--p-form-field-invalid-placeholder-color)}\n"], dependencies: [{ kind: "component", type: FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: EditorAutoSaveStatusComponent, selector: "mng-editor-auto-save-status", inputs: ["status"] }, { kind: "component", type: Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
2758
2760
  }
2759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormEditorComponent, decorators: [{
2761
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormEditorComponent, decorators: [{
2760
2762
  type: Component,
2761
- args: [{ selector: 'mng-form-editor', imports: [FormlyModule, ReactiveFormsModule, TranslatePipe, DatePipe, EditorAutoSaveStatusComponent, Message, ButtonDirective], providers: [provideFormComponent()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (autoSaveShowRestore()) {\n <p-message severity=\"warn\" icon=\"pi pi-save\">\n <ng-template #container>\n <div class=\"flex w-full justify-end items-center\">\n <div class=\"grow\">\n {{\n 'mngEditor.autoSave.restore.title'\n | translate: {lastChange: autoSaveRestore()?.savedAt ? (autoSaveRestore()?.savedAt! | date: 'dd. MM. YYYY HH:mm:ss') : ''}\n }}\n </div>\n <div>\n <button\n pButton\n icon=\"pi pi-sync\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.restore' | translate\"\n [class]=\"restoreLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSaveRestore()\"></button>\n @if (autoSave()?.state !== 'preview' || autoSave()?.state !== 'previewCurrent') {\n <button\n pButton\n icon=\"pi pi-eye\"\n size=\"small\"\n [label]=\"autoSavePreviewButtonLabel() | translate\"\n [class]=\"previewLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSavePreview()\"></button>\n }\n <button\n pButton\n icon=\"pi pi-times\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.dismiss' | translate\"\n [class]=\"clearLocalStateButtonStyle\"\n (click)=\"onAutoSaveDismiss()\"></button>\n </div>\n </div>\n </ng-template>\n </p-message>\n}\n\n@if (autofocusEnabled()) {\n <input type=\"hidden\" class=\"!hidden\" #focusThiefInput tabindex=\"0\" />\n}\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formlyFields\" [options]=\"formlyOptions\" [model]=\"formlyInitialItem\"></formly-form>\n <button #submitButton type=\"submit\" class=\"!hidden\"></button>\n</form>\n@for (message of formMessages(); track message) {\n <p-message [severity]=\"message.severity\" [text]=\"message.detail\" [icon]=\"message.icon\" />\n}\n\n@if (descriptor().autoSave && showAutoSaveStatus()) {\n <mng-editor-auto-save-status [status]=\"autoSave()\" />\n}\n", styles: ["mng-form-editor .mng-field-control{width:100%}mng-form-editor .mng-field{margin:var(--mng-field-margin, 0 0 .5rem 0)}mng-form-editor .mng-field:is(.mng-field-number,.mng-field-currency) :is(.p-inputnumber,input){width:100%}mng-form-editor .mng-field.mng-field-switch .mng-field-control{width:var(--p-toggleswitch-width)}mng-form-editor .mng-field.mng-field-radio .mng-field-control{width:var(--p-radiobutton-width)}mng-form-editor .mng-field.mng-field-datepicker .mng-field-control-input{max-width:var(--mng-field-datepicker-max-width, 400px)}mng-form-editor .mng-field.mng-field-autocomplete .p-autocomplete{width:100%}mng-form-editor .mng-field:is(.mng-field-dropdown,.mng-field-enum) .p-select{width:100%}mng-form-editor .mng-localized-input-translation-missing :is(input,textarea){border-color:var(--p-button-warn-background)}mng-form-editor .field.table .p-datatable .p-datatable-header{border-top:none;padding-left:0;padding-right:0;padding-top:0;padding-bottom:.25rem}mng-form-editor .p-fieldset{margin-bottom:1rem}mng-form-editor .p-fieldset .p-fieldset-content{padding:.75rem 0 0}mng-form-editor .mng-field-validation-messages{color:var(--p-form-field-invalid-placeholder-color)}\n"] }]
2763
+ args: [{ selector: 'mng-form-editor', imports: [FormlyForm, ReactiveFormsModule, TranslatePipe, DatePipe, EditorAutoSaveStatusComponent, Message, ButtonDirective], providers: [provideFormComponent()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@if (autoSaveShowRestore()) {\n <p-message severity=\"warn\" icon=\"pi pi-save\">\n <ng-template #container>\n <div class=\"flex w-full justify-end items-center\">\n <div class=\"grow\">\n {{\n 'mngEditor.autoSave.restore.title'\n | translate: {lastChange: autoSaveRestore()?.savedAt ? (autoSaveRestore()?.savedAt! | date: 'dd. MM. yyyy HH:mm:ss') : ''}\n }}\n </div>\n <div>\n <button\n pButton\n icon=\"pi pi-sync\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.restore' | translate\"\n [class]=\"restoreLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSaveRestore()\"></button>\n @if (autoSave()?.state !== 'preview' || autoSave()?.state !== 'previewCurrent') {\n <button\n pButton\n icon=\"pi pi-eye\"\n size=\"small\"\n [label]=\"autoSavePreviewButtonLabel() | translate\"\n [class]=\"previewLocalStateButtonStyle\"\n [text]=\"true\"\n (click)=\"onAutoSavePreview()\"></button>\n }\n <button\n pButton\n icon=\"pi pi-times\"\n size=\"small\"\n [label]=\"'mngEditor.autoSave.restore.dismiss' | translate\"\n [class]=\"clearLocalStateButtonStyle\"\n (click)=\"onAutoSaveDismiss()\"></button>\n </div>\n </div>\n </ng-template>\n </p-message>\n}\n\n@if (autofocusEnabled()) {\n <input type=\"hidden\" class=\"hidden!\" #focusThiefInput tabindex=\"0\" />\n}\n<form [formGroup]=\"form\" (ngSubmit)=\"onSubmit($event)\">\n <formly-form [form]=\"form\" [fields]=\"formlyFields\" [options]=\"formlyOptions\" [model]=\"formlyInitialItem\"></formly-form>\n <button #submitButton type=\"submit\" class=\"hidden!\"></button>\n</form>\n@for (message of formMessages(); track message) {\n <p-message [severity]=\"message.severity\" [text]=\"message.detail\" [icon]=\"message.icon\" />\n}\n\n@if (descriptor().autoSave && showAutoSaveStatus()) {\n <mng-editor-auto-save-status [status]=\"autoSave()\" />\n}\n", styles: ["mng-form-editor .mng-field-control{width:100%}mng-form-editor .mng-field{margin:var(--mng-field-margin, 0 0 .5rem 0)}:is(mng-form-editor .mng-field.mng-field-number,mng-form-editor .mng-field.mng-field-currency) .p-inputnumber,:is(mng-form-editor .mng-field.mng-field-number,mng-form-editor .mng-field.mng-field-currency) input{width:100%}mng-form-editor .mng-field.mng-field-switch .mng-field-control{width:var(--p-toggleswitch-width)}mng-form-editor .mng-field.mng-field-radio .mng-field-control{width:var(--p-radiobutton-width)}mng-form-editor .mng-field.mng-field-datepicker .mng-field-control-input{max-width:var(--mng-field-datepicker-max-width, 400px)}mng-form-editor .mng-field.mng-field-autocomplete .p-autocomplete{width:100%}:is(mng-form-editor .mng-field.mng-field-dropdown,mng-form-editor .mng-field.mng-field-enum) .p-select{width:100%}mng-form-editor .mng-localized-input-translation-missing input,mng-form-editor .mng-localized-input-translation-missing textarea{border-color:var(--p-button-warn-background)}mng-form-editor .field.table .p-datatable .p-datatable-header{border-top:none;padding-left:0;padding-right:0;padding-top:0;padding-bottom:.25rem}mng-form-editor .p-fieldset{margin-bottom:1rem}mng-form-editor .p-fieldset .p-fieldset-content{padding:.75rem 0 0}mng-form-editor .mng-field-validation-messages{color:var(--p-form-field-invalid-placeholder-color)}\n"] }]
2762
2764
  }], ctorParameters: () => [] });
2763
2765
 
2764
2766
  class ActionEditorInjectorContextComponent {
@@ -2773,19 +2775,19 @@ class ActionEditorInjectorContextComponent {
2773
2775
  this.actionExecutor = inject(ActionExecutorService);
2774
2776
  this.viewContainer = inject(ViewContainer, { optional: true });
2775
2777
  // metadata and editor mode input
2776
- this.data = input.required();
2778
+ this.data = input.required(...(ngDevMode ? [{ debugName: "data" }] : []));
2777
2779
  this.actionRun = output();
2778
2780
  this.actionCancel = output();
2779
2781
  // content and view queries
2780
- this.formEditorCmp = viewChild((FormEditorComponent));
2781
- this.hasTitle = computed(() => this.editorAction().editorTitle !== null);
2782
- this.title = signal(undefined);
2783
- this.isFormDisabled = signal(false);
2782
+ this.formEditorCmp = viewChild((FormEditorComponent), ...(ngDevMode ? [{ debugName: "formEditorCmp" }] : []));
2783
+ this.hasTitle = computed(() => this.editorAction().editorTitle !== null, ...(ngDevMode ? [{ debugName: "hasTitle" }] : []));
2784
+ this.title = signal(undefined, ...(ngDevMode ? [{ debugName: "title" }] : []));
2785
+ this.isFormDisabled = signal(false, ...(ngDevMode ? [{ debugName: "isFormDisabled" }] : []));
2784
2786
  // data
2785
- this.item = signal(undefined);
2786
- this.itemId = signal(undefined);
2787
- this.actionData = signal(undefined);
2788
- this.editorAction = computed(() => this.data().descriptor);
2787
+ this.item = signal(undefined, ...(ngDevMode ? [{ debugName: "item" }] : []));
2788
+ this.itemId = signal(undefined, ...(ngDevMode ? [{ debugName: "itemId" }] : []));
2789
+ this.actionData = signal(undefined, ...(ngDevMode ? [{ debugName: "actionData" }] : []));
2790
+ this.editorAction = computed(() => this.data().descriptor, ...(ngDevMode ? [{ debugName: "editorAction" }] : []));
2789
2791
  // actions
2790
2792
  this.actions = computed(() => {
2791
2793
  const actions = [];
@@ -2823,19 +2825,19 @@ class ActionEditorInjectorContextComponent {
2823
2825
  actions.push(action);
2824
2826
  }
2825
2827
  return actions;
2826
- });
2827
- this.toolbarLeftActions = computed(() => this.actions().filter(a => a.position === ActionPositionEnum.ToolbarLeft));
2828
+ }, ...(ngDevMode ? [{ debugName: "actions" }] : []));
2829
+ this.toolbarLeftActions = computed(() => this.actions().filter(a => a.position === ActionPositionEnum.ToolbarLeft), ...(ngDevMode ? [{ debugName: "toolbarLeftActions" }] : []));
2828
2830
  this.toolbarRightActions = computed(() => this.actions()
2829
2831
  .filter(a => a.position === ActionPositionEnum.ToolbarRight)
2830
- .reverse());
2831
- this.footerLeftActions = computed(() => this.actions().filter(a => a.position === ActionPositionEnum.FooterLeft));
2832
+ .reverse(), ...(ngDevMode ? [{ debugName: "toolbarRightActions" }] : []));
2833
+ this.footerLeftActions = computed(() => this.actions().filter(a => a.position === ActionPositionEnum.FooterLeft), ...(ngDevMode ? [{ debugName: "footerLeftActions" }] : []));
2832
2834
  this.footerRightActions = computed(() => this.actions()
2833
2835
  .filter(a => a.position === ActionPositionEnum.FooterRight)
2834
- .reverse());
2835
- this.loading = signal(false);
2836
- this.formValue = signal(undefined);
2837
- this.submitLoading = signal(false);
2838
- this.autoSaveStatus = signal(undefined);
2836
+ .reverse(), ...(ngDevMode ? [{ debugName: "footerRightActions" }] : []));
2837
+ this.loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
2838
+ this.formValue = signal(undefined, ...(ngDevMode ? [{ debugName: "formValue" }] : []));
2839
+ this.submitLoading = signal(false, ...(ngDevMode ? [{ debugName: "submitLoading" }] : []));
2840
+ this.autoSaveStatus = signal(undefined, ...(ngDevMode ? [{ debugName: "autoSaveStatus" }] : []));
2839
2841
  this.#dataEffect = effectWithDeps([this.data], ([data]) => {
2840
2842
  this.item.set(data.item);
2841
2843
  this.itemId.set(data.itemId);
@@ -3148,10 +3150,10 @@ class ActionEditorInjectorContextComponent {
3148
3150
  sourceComponent: this
3149
3151
  };
3150
3152
  }
3151
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionEditorInjectorContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3152
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: ActionEditorInjectorContextComponent, isStandalone: true, selector: "mng-action-editor-injector-context", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { actionRun: "actionRun", actionCancel: "actionCancel" }, host: { listeners: { "window:beforeunload": "beforeWindowUnload()", "window:keydown.Escape": "onEscapePressed()" } }, providers: [provideActionExecutor()], viewQueries: [{ propertyName: "formEditorCmp", first: true, predicate: (FormEditorComponent), descendants: true, isSignal: true }], ngImport: i0, template: "@if (!data().isDialog && title()) {\n <h5>{{ title() }}</h5>\n}\n@if (data().isDialog && editorAction().activationTrigger === ActionActivationTriggerEnum.OnRoute) {\n <span class=\"p-dialog-header mng-action-editor-dialog-close-button-wrapper\">\n <button\n class=\"p-dialog-header-icon p-dialog-header-maximize\"\n type=\"button\"\n (click)=\"closeWithUnsavedChangesConfirmation()\"\n (keydown.enter)=\"closeWithUnsavedChangesConfirmation()\">\n <span class=\"p-dialog-header-close-icon pi pi-times\"></span>\n </button>\n </span>\n}\n<div class=\"h-full flex flex-col\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <div class=\"grow mng-action-editor-toolbar-container\">\n <p-toolbar styleClass=\"mng-action-editor-toolbar\">\n <ng-template #start>\n @for (action of toolbarLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n <ng-template #end>\n @for (action of toolbarRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n </div>\n }\n\n <div class=\"grow mng-action-editor-form-container\">\n @if (loading()) {\n <div class=\"text-center\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n }\n @if (editorAction().editorDescriptor && !loading()) {\n <mng-form-editor\n [descriptor]=\"editorAction().editorDescriptor\"\n [editorId]=\"editorAction().actionNameLong\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"\n [isFormDisabled]=\"isFormDisabled()\"\n showAutoSaveStatus=\"false\"\n (valueChange)=\"onValueChange($event)\"\n (formSubmit)=\"onSubmit($event)\"\n (autoSaveStatus)=\"onAutoSave($event)\" />\n }\n </div>\n\n <div class=\"flex flex-row justify-between items-center mng-action-editor-footer-container\">\n <div>\n @for (action of footerLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n @if (editorAction().editorDescriptor.autoSave) {\n <mng-editor-auto-save-status [status]=\"autoSaveStatus()\"></mng-editor-auto-save-status>\n }\n </div>\n <div>\n @for (action of footerRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </div>\n </div>\n</div>\n", styles: [".p-dialog.mng-dialog.mng-action-editor-dialog .p-dialog-header.mng-action-editor-dialog-close-button-wrapper{position:absolute;top:1.286rem;right:1.714rem;background:transparent;padding:0}mng-action-editor-injector-context.p-toolbar.mng-action-editor-toolbar{border:none}\n"], dependencies: [{ kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "component", type: FormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isFormDisabled", "editorId", "itemId", "showAutoSaveStatus"], outputs: ["itemChange", "formSubmit", "valueChange", "autoSaveStatus"] }, { kind: "component", type: EditorAutoSaveStatusComponent, selector: "mng-editor-auto-save-status", inputs: ["status"] }, { kind: "component", type: ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass", "ariaLabelledBy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3153
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionEditorInjectorContextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3154
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: ActionEditorInjectorContextComponent, isStandalone: true, selector: "mng-action-editor-injector-context", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { actionRun: "actionRun", actionCancel: "actionCancel" }, host: { listeners: { "window:beforeunload": "beforeWindowUnload()", "window:keydown.Escape": "onEscapePressed()" } }, providers: [provideActionExecutor()], viewQueries: [{ propertyName: "formEditorCmp", first: true, predicate: (FormEditorComponent), descendants: true, isSignal: true }], ngImport: i0, template: "@if (!data().isDialog && title()) {\n <h5>{{ title() }}</h5>\n}\n@if (data().isDialog && editorAction().activationTrigger === ActionActivationTriggerEnum.OnRoute) {\n <span class=\"p-dialog-header mng-action-editor-dialog-close-button-wrapper\">\n <button\n class=\"p-dialog-header-icon p-dialog-header-maximize\"\n type=\"button\"\n (click)=\"closeWithUnsavedChangesConfirmation()\"\n (keydown.enter)=\"closeWithUnsavedChangesConfirmation()\">\n <span class=\"p-dialog-header-close-icon pi pi-times\"></span>\n </button>\n </span>\n}\n<div class=\"h-full flex flex-col\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <div class=\"grow mng-action-editor-toolbar-container\">\n <p-toolbar styleClass=\"mng-action-editor-toolbar\">\n <ng-template #start>\n @for (action of toolbarLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n <ng-template #end>\n @for (action of toolbarRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n </div>\n }\n\n <div class=\"grow mng-action-editor-form-container\">\n @if (loading()) {\n <div class=\"text-center\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n }\n @if (editorAction().editorDescriptor && !loading()) {\n <mng-form-editor\n [descriptor]=\"editorAction().editorDescriptor\"\n [editorId]=\"editorAction().actionNameLong\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"\n [isFormDisabled]=\"isFormDisabled()\"\n showAutoSaveStatus=\"false\"\n (valueChange)=\"onValueChange($event)\"\n (formSubmit)=\"onSubmit($event)\"\n (autoSaveStatus)=\"onAutoSave($event)\" />\n }\n </div>\n\n <div class=\"flex flex-row justify-between items-center mng-action-editor-footer-container\">\n <div>\n @for (action of footerLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n @if (editorAction().editorDescriptor.autoSave) {\n <mng-editor-auto-save-status [status]=\"autoSaveStatus()\"></mng-editor-auto-save-status>\n }\n </div>\n <div>\n @for (action of footerRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </div>\n </div>\n</div>\n", styles: [".p-dialog.mng-dialog.mng-action-editor-dialog .p-dialog-header.mng-action-editor-dialog-close-button-wrapper{position:absolute;top:1.286rem;right:1.714rem;background:transparent;padding:0}mng-action-editor-injector-context.p-toolbar.mng-action-editor-toolbar{border:none}\n"], dependencies: [{ kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "component", type: FormEditorComponent, selector: "mng-form-editor", inputs: ["descriptor", "submitLoading", "item", "isFormDisabled", "editorId", "itemId", "showAutoSaveStatus"], outputs: ["itemChange", "formSubmit", "valueChange", "autoSaveStatus"] }, { kind: "component", type: EditorAutoSaveStatusComponent, selector: "mng-editor-auto-save-status", inputs: ["status"] }, { kind: "component", type: ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3153
3155
  }
3154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionEditorInjectorContextComponent, decorators: [{
3156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionEditorInjectorContextComponent, decorators: [{
3155
3157
  type: Component,
3156
3158
  args: [{ selector: 'mng-action-editor-injector-context', imports: [ActionComponent, FormEditorComponent, EditorAutoSaveStatusComponent, ProgressSpinner, Toolbar], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [provideActionExecutor()], template: "@if (!data().isDialog && title()) {\n <h5>{{ title() }}</h5>\n}\n@if (data().isDialog && editorAction().activationTrigger === ActionActivationTriggerEnum.OnRoute) {\n <span class=\"p-dialog-header mng-action-editor-dialog-close-button-wrapper\">\n <button\n class=\"p-dialog-header-icon p-dialog-header-maximize\"\n type=\"button\"\n (click)=\"closeWithUnsavedChangesConfirmation()\"\n (keydown.enter)=\"closeWithUnsavedChangesConfirmation()\">\n <span class=\"p-dialog-header-close-icon pi pi-times\"></span>\n </button>\n </span>\n}\n<div class=\"h-full flex flex-col\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <div class=\"grow mng-action-editor-toolbar-container\">\n <p-toolbar styleClass=\"mng-action-editor-toolbar\">\n <ng-template #start>\n @for (action of toolbarLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n <ng-template #end>\n @for (action of toolbarRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n </div>\n }\n\n <div class=\"grow mng-action-editor-form-container\">\n @if (loading()) {\n <div class=\"text-center\">\n <p-progressSpinner [style]=\"{width: '3rem', height: '3rem'}\" strokeWidth=\"3\"></p-progressSpinner>\n </div>\n }\n @if (editorAction().editorDescriptor && !loading()) {\n <mng-form-editor\n [descriptor]=\"editorAction().editorDescriptor\"\n [editorId]=\"editorAction().actionNameLong\"\n [item]=\"item()\"\n [itemId]=\"itemId()\"\n [isFormDisabled]=\"isFormDisabled()\"\n showAutoSaveStatus=\"false\"\n (valueChange)=\"onValueChange($event)\"\n (formSubmit)=\"onSubmit($event)\"\n (autoSaveStatus)=\"onAutoSave($event)\" />\n }\n </div>\n\n <div class=\"flex flex-row justify-between items-center mng-action-editor-footer-container\">\n <div>\n @for (action of footerLeftActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n @if (editorAction().editorDescriptor.autoSave) {\n <mng-editor-auto-save-status [status]=\"autoSaveStatus()\"></mng-editor-auto-save-status>\n }\n </div>\n <div>\n @for (action of footerRightActions(); track action) {\n <mng-action\n [action]=\"action\"\n [disabled]=\"submitLoading()\"\n [loading]=\"$any(action).submitType === actionEditorSubmitTypeSubmit ? submitLoading() : false\"\n [hostComponent]=\"this\"\n [item]=\"formValue()\"\n [itemId]=\"itemId()\"></mng-action>\n }\n </div>\n </div>\n</div>\n", styles: [".p-dialog.mng-dialog.mng-action-editor-dialog .p-dialog-header.mng-action-editor-dialog-close-button-wrapper{position:absolute;top:1.286rem;right:1.714rem;background:transparent;padding:0}mng-action-editor-injector-context.p-toolbar.mng-action-editor-toolbar{border:none}\n"] }]
3157
3159
  }], propDecorators: { beforeWindowUnload: [{
@@ -3172,15 +3174,15 @@ class ActionEditorComponent {
3172
3174
  constructor() {
3173
3175
  this.injContextCmpType = ActionEditorInjectorContextComponent;
3174
3176
  this.dialogConfig = inject(DynamicDialogConfig, { optional: true });
3175
- this.action = input.required();
3177
+ this.action = input.required(...(ngDevMode ? [{ debugName: "action" }] : []));
3176
3178
  this.dialogData = this.dialogConfig?.data;
3177
3179
  this.isDialog = !!this.dialogData;
3178
3180
  this.parentInjector = this.dialogData?.injector;
3179
3181
  // data source inputs
3180
- this.itemId = input();
3181
- this.item = input();
3182
- this.actionData = input();
3183
- this.dataProvider = input();
3182
+ this.itemId = input(...(ngDevMode ? [undefined, { debugName: "itemId" }] : []));
3183
+ this.item = input(...(ngDevMode ? [undefined, { debugName: "item" }] : []));
3184
+ this.actionData = input(...(ngDevMode ? [undefined, { debugName: "actionData" }] : []));
3185
+ this.dataProvider = input(...(ngDevMode ? [undefined, { debugName: "dataProvider" }] : []));
3184
3186
  this.actionRun = output();
3185
3187
  this.actionCancel = output();
3186
3188
  this.actionEditorWInjContextInputData = computed(() => {
@@ -3195,7 +3197,7 @@ class ActionEditorComponent {
3195
3197
  actionData: this.dialogData?.action.instance.activationParameters?.actionData ?? this.actionData,
3196
3198
  dataProvider: this.dataProvider()
3197
3199
  };
3198
- });
3200
+ }, ...(ngDevMode ? [{ debugName: "actionEditorWInjContextInputData" }] : []));
3199
3201
  this.itemIdFirstUpdate = true;
3200
3202
  this.itemFirstUpdate = true;
3201
3203
  effect(() => {
@@ -3235,10 +3237,10 @@ class ActionEditorComponent {
3235
3237
  triggerSubmit() {
3236
3238
  this.actionEditorWInjContextCmp?.triggerSubmit();
3237
3239
  }
3238
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3239
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: ActionEditorComponent, isStandalone: true, selector: "mng-action-editor", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionRun: "actionRun", actionCancel: "actionCancel" }, ngImport: i0, template: "<div\n [mngComponent]=\"injContextCmpType\"\n [inputs]=\"{\n data: actionEditorWInjContextInputData()\n }\"\n [parentInjector]=\"parentInjector\"\n (instanceCreated)=\"onActionEditorWInjContextCmp($event)\"></div>\n", dependencies: [{ kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3240
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3241
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.7", type: ActionEditorComponent, isStandalone: true, selector: "mng-action-editor", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: false, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { actionRun: "actionRun", actionCancel: "actionCancel" }, ngImport: i0, template: "<div\n [mngComponent]=\"injContextCmpType\"\n [inputs]=\"{\n data: actionEditorWInjContextInputData()\n }\"\n [parentInjector]=\"parentInjector\"\n (instanceCreated)=\"onActionEditorWInjContextCmp($event)\"></div>\n", dependencies: [{ kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3240
3242
  }
3241
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionEditorComponent, decorators: [{
3243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionEditorComponent, decorators: [{
3242
3244
  type: Component,
3243
3245
  args: [{ selector: 'mng-action-editor', imports: [ComponentDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [mngComponent]=\"injContextCmpType\"\n [inputs]=\"{\n data: actionEditorWInjContextInputData()\n }\"\n [parentInjector]=\"parentInjector\"\n (instanceCreated)=\"onActionEditorWInjContextCmp($event)\"></div>\n" }]
3244
3246
  }], ctorParameters: () => [] });
@@ -3247,24 +3249,24 @@ class DataLanguageDropdownComponent {
3247
3249
  constructor() {
3248
3250
  this.viewContainer = inject(ViewContainer, { optional: true });
3249
3251
  this.commons = inject(CommonsService);
3250
- this.action = input.required();
3251
- this.actionData = input.required();
3252
- this.item = input.required();
3253
- this.itemId = input.required();
3254
- this.enabled = input.required();
3255
- this.loading = input.required();
3252
+ this.action = input.required(...(ngDevMode ? [{ debugName: "action" }] : []));
3253
+ this.actionData = input.required(...(ngDevMode ? [{ debugName: "actionData" }] : []));
3254
+ this.item = input.required(...(ngDevMode ? [{ debugName: "item" }] : []));
3255
+ this.itemId = input.required(...(ngDevMode ? [{ debugName: "itemId" }] : []));
3256
+ this.enabled = input.required(...(ngDevMode ? [{ debugName: "enabled" }] : []));
3257
+ this.loading = input.required(...(ngDevMode ? [{ debugName: "loading" }] : []));
3256
3258
  this.trigger = output();
3257
3259
  // dropdown properties
3258
- this.selectionItemsDataProvider = computed(() => lookupDataProvider().withLookup(() => of(this.commons.appDataLocales())));
3260
+ this.selectionItemsDataProvider = computed(() => lookupDataProvider().withLookup(() => of(this.commons.appDataLocales())), ...(ngDevMode ? [{ debugName: "selectionItemsDataProvider" }] : []));
3259
3261
  }
3260
3262
  updateDataLocale(dataLang) {
3261
3263
  this.commons.setAppDataLocale(dataLang);
3262
3264
  this.viewContainer?.reloadTable({});
3263
3265
  }
3264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DataLanguageDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3265
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: DataLanguageDropdownComponent, isStandalone: true, selector: "mng-data-language-dropdown", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: true, transformFunction: null }, enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { trigger: "trigger" }, ngImport: i0, template: "<mng-dropdown [dataProvider]=\"selectionItemsDataProvider()\" [ngModel]=\"commons.appDataLocale()\" [showClear]=\"false\" (valueChange)=\"updateDataLocale($event)\"></mng-dropdown>\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3266
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DataLanguageDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3267
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.7", type: DataLanguageDropdownComponent, isStandalone: true, selector: "mng-data-language-dropdown", inputs: { action: { classPropertyName: "action", publicName: "action", isSignal: true, isRequired: true, transformFunction: null }, actionData: { classPropertyName: "actionData", publicName: "actionData", isSignal: true, isRequired: true, transformFunction: null }, item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: true, transformFunction: null }, itemId: { classPropertyName: "itemId", publicName: "itemId", isSignal: true, isRequired: true, transformFunction: null }, enabled: { classPropertyName: "enabled", publicName: "enabled", isSignal: true, isRequired: true, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { trigger: "trigger" }, ngImport: i0, template: "<mng-dropdown [dataProvider]=\"selectionItemsDataProvider()\" [ngModel]=\"commons.appDataLocale()\" [showClear]=\"false\" (valueChange)=\"updateDataLocale($event)\"></mng-dropdown>\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "templates", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3266
3268
  }
3267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DataLanguageDropdownComponent, decorators: [{
3269
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DataLanguageDropdownComponent, decorators: [{
3268
3270
  type: Component,
3269
3271
  args: [{ selector: 'mng-data-language-dropdown', imports: [DropdownComponent, FormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-dropdown [dataProvider]=\"selectionItemsDataProvider()\" [ngModel]=\"commons.appDataLocale()\" [showClear]=\"false\" (valueChange)=\"updateDataLocale($event)\"></mng-dropdown>\n" }]
3270
3272
  }] });
@@ -3396,10 +3398,10 @@ class ActionRouteComponent {
3396
3398
  this.instanceStateSubscription?.unsubscribe();
3397
3399
  this.instanceReactivationSubscription?.unsubscribe();
3398
3400
  }
3399
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3400
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: ActionRouteComponent, isStandalone: true, selector: "mng-action-route", providers: [provideActionExecutor()], ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3401
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3402
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.7", type: ActionRouteComponent, isStandalone: true, selector: "mng-action-route", providers: [provideActionExecutor()], ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3401
3403
  }
3402
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionRouteComponent, decorators: [{
3404
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionRouteComponent, decorators: [{
3403
3405
  type: Component,
3404
3406
  args: [{ selector: 'mng-action-route', changeDetection: ChangeDetectionStrategy.OnPush, providers: [provideActionExecutor()], template: "" }]
3405
3407
  }] });
@@ -3445,49 +3447,44 @@ class ActionTableComponent {
3445
3447
  this.actionExecutor = inject(ActionExecutorService);
3446
3448
  this.viewContainer = inject((ViewContainer), { optional: true });
3447
3449
  // metadata input
3448
- this.descriptor = input.required();
3450
+ this.descriptor = input.required(...(ngDevMode ? [{ debugName: "descriptor" }] : []));
3449
3451
  // data source inputs
3450
- this.items = input();
3451
- this.result = input();
3452
- this.loading = input(false, { transform: booleanAttribute });
3453
- this.dataProvider = input();
3454
- this.useQueryParams = input(false);
3452
+ this.items = input(...(ngDevMode ? [undefined, { debugName: "items" }] : []));
3453
+ this.result = input(...(ngDevMode ? [undefined, { debugName: "result" }] : []));
3454
+ this.loading = input(false, ...(ngDevMode ? [{ debugName: "loading", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
3455
+ this.dataProvider = input(...(ngDevMode ? [undefined, { debugName: "dataProvider" }] : []));
3456
+ this.useQueryParams = input(false, ...(ngDevMode ? [{ debugName: "useQueryParams" }] : []));
3455
3457
  // extra features input
3456
- this.tableClassName = input();
3457
- this.selectionMode = input('multiple');
3458
- this.selectionEnabled = input(false);
3459
- this.globalFilterFields = input();
3460
- this.rowReorderEnabled = input(true);
3458
+ this.tableTemplates = input([], ...(ngDevMode ? [{ debugName: "tableTemplates" }] : []));
3459
+ this.tableClassName = input(...(ngDevMode ? [undefined, { debugName: "tableClassName" }] : []));
3460
+ this.selectionMode = input('multiple', ...(ngDevMode ? [{ debugName: "selectionMode" }] : []));
3461
+ this.selectionEnabled = input(false, ...(ngDevMode ? [{ debugName: "selectionEnabled" }] : []));
3462
+ this.globalFilterFields = input(...(ngDevMode ? [undefined, { debugName: "globalFilterFields" }] : []));
3463
+ this.rowReorderEnabled = input(true, ...(ngDevMode ? [{ debugName: "rowReorderEnabled" }] : []));
3461
3464
  // actions
3462
- this.actions = input([]); // can be anything
3465
+ this.actions = input([], ...(ngDevMode ? [{ debugName: "actions" }] : [])); // can be anything
3463
3466
  // component inputs
3464
- this.captionComponent = input();
3465
- this.columnActionComponent = input();
3466
- this.columnActionMinWidthInput = input(undefined, { alias: 'columnActionMinWidth' });
3467
+ this.columnActionMinWidthInput = input(undefined, ...(ngDevMode ? [{ debugName: "columnActionMinWidthInput", alias: 'columnActionMinWidth' }] : [{ alias: 'columnActionMinWidth' }]));
3467
3468
  this.columnActionMinWidth = computed(() => this.descriptor() && !this.columnActionMinWidthInput()
3468
3469
  ? calculateTableColumnActionWidth(this.descriptor(), this.rowInlineActions())
3469
- : this.columnActionMinWidthInput());
3470
+ : this.columnActionMinWidthInput(), ...(ngDevMode ? [{ debugName: "columnActionMinWidth" }] : []));
3470
3471
  // event outputs
3471
3472
  this.tableLoad = output();
3472
3473
  this.selectionChange = output();
3473
- this.captionComponentInstance = output();
3474
- this.columnActionComponentInstance = output();
3475
3474
  this.rowReorder = output();
3476
3475
  // content and view queries
3477
- this.templates = contentChildren(TemplateDirective);
3478
- this.components = viewChildren((QueryList));
3476
+ this.contentTemplates = contentChildren(TableTemplateDirective, ...(ngDevMode ? [{ debugName: "contentTemplates" }] : []));
3479
3477
  this.table = viewChild.required(TableComponent);
3480
- // templates
3481
- this.captionTemplate = computed(() => findTemplateByName([...this.templates()], 'caption'));
3482
- this.footerTemplate = computed(() => findTemplateByName([...this.templates()], 'footer'));
3483
- this.rowExpandTemplate = computed(() => findTemplateByName([...this.templates()], 'rowExpandContent'));
3478
+ this.tableTemplatesMerged = computed(() => {
3479
+ return [...this.contentTemplates(), ...this.tableTemplates()];
3480
+ }, ...(ngDevMode ? [{ debugName: "tableTemplatesMerged" }] : []));
3484
3481
  // actions
3485
3482
  this.rowClickActions = computed(() => {
3486
3483
  return this.actions().filter(action => action.position === ActionPositionEnum.RowClick);
3487
- });
3484
+ }, ...(ngDevMode ? [{ debugName: "rowClickActions" }] : []));
3488
3485
  this.rowInlineActions = computed(() => {
3489
3486
  return this.actions().filter(action => action.position === ActionPositionEnum.RowInline);
3490
- });
3487
+ }, ...(ngDevMode ? [{ debugName: "rowInlineActions" }] : []));
3491
3488
  this.viewContainer?.tableReload$.pipe(takeUntilDestroyed()).subscribe(e => this.reload(e));
3492
3489
  }
3493
3490
  reload(e) {
@@ -3521,12 +3518,12 @@ class ActionTableComponent {
3521
3518
  this.reload();
3522
3519
  }
3523
3520
  }
3524
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3525
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: ActionTableComponent, isStandalone: true, selector: "mng-action-table", inputs: { descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, result: { classPropertyName: "result", publicName: "result", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, useQueryParams: { classPropertyName: "useQueryParams", publicName: "useQueryParams", isSignal: true, isRequired: false, transformFunction: null }, tableClassName: { classPropertyName: "tableClassName", publicName: "tableClassName", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionEnabled: { classPropertyName: "selectionEnabled", publicName: "selectionEnabled", isSignal: true, isRequired: false, transformFunction: null }, globalFilterFields: { classPropertyName: "globalFilterFields", publicName: "globalFilterFields", isSignal: true, isRequired: false, transformFunction: null }, rowReorderEnabled: { classPropertyName: "rowReorderEnabled", publicName: "rowReorderEnabled", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, captionComponent: { classPropertyName: "captionComponent", publicName: "captionComponent", isSignal: true, isRequired: false, transformFunction: null }, columnActionComponent: { classPropertyName: "columnActionComponent", publicName: "columnActionComponent", isSignal: true, isRequired: false, transformFunction: null }, columnActionMinWidthInput: { classPropertyName: "columnActionMinWidthInput", publicName: "columnActionMinWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tableLoad: "tableLoad", selectionChange: "selectionChange", captionComponentInstance: "captionComponentInstance", columnActionComponentInstance: "columnActionComponentInstance", rowReorder: "rowReorder" }, providers: [provideActionExecutor()], queries: [{ propertyName: "templates", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "components", predicate: (QueryList), descendants: true, isSignal: true }, { propertyName: "table", first: true, predicate: TableComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<mng-table\n [descriptor]=\"descriptor()\"\n [items]=\"items()\"\n [result]=\"result()\"\n [loading]=\"loading()\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"useQueryParams()\"\n [selectionMode]=\"selectionMode()\"\n [selectionEnabled]=\"selectionEnabled()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [captionComponent]=\"captionComponent()\"\n [columnCustomLastComponent]=\"columnActionComponent()\"\n [columnLastMinWidth]=\"columnActionMinWidth()\"\n [cellClickEnabled]=\"this.rowClickActions().length > 0\"\n [rowReorderEnabled]=\"rowReorderEnabled()\"\n [class]=\"tableClassName()\"\n (tableLoad)=\"tableLoad.emit($event)\"\n (cellClick)=\"onCellClick($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"captionComponentInstance.emit($event)\"\n (columnCustomLastComponentInstance)=\"columnActionComponentInstance.emit($event)\"\n (rowReorder)=\"onRowReorder($event)\">\n @if (!columnActionComponent() && rowInlineActions().length > 0) {\n <ng-template mngTemplate=\"columnCustomLast\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n @for (action of rowInlineActions(); track action.actionNameLong) {\n <mng-action\n [action]=\"action\"\n [item]=\"item\"\n [hostComponent]=\"this\"\n [itemId]=\"descriptor().model.idProperty ? item[descriptor().model.idProperty!] : null\"\n [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n }\n </ng-template>\n }\n @if (captionTemplate() && !captionComponent()) {\n <ng-template mngTemplate=\"caption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate()\"></ng-container>\n </ng-template>\n }\n @if (rowExpandTemplate()) {\n <ng-template mngTemplate=\"rowExpandContent\" let-item=\"rowItem\">\n <ng-container *ngTemplateOutlet=\"rowExpandTemplate(); context: {rowItem: item}\"></ng-container>\n </ng-template>\n }\n @if (footerTemplate()) {\n <ng-template mngTemplate=\"footer\" let-data=\"data\" let-totalCount=\"totalCount\">\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: {data, totalCount}\"></ng-container>\n </ng-template>\n }\n</mng-table>\n", dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }, { kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "directive", type: TemplateDirective, selector: "[mngTemplate]", inputs: ["mngTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3521
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3522
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: ActionTableComponent, isStandalone: true, selector: "mng-action-table", inputs: { descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, result: { classPropertyName: "result", publicName: "result", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, useQueryParams: { classPropertyName: "useQueryParams", publicName: "useQueryParams", isSignal: true, isRequired: false, transformFunction: null }, tableTemplates: { classPropertyName: "tableTemplates", publicName: "tableTemplates", isSignal: true, isRequired: false, transformFunction: null }, tableClassName: { classPropertyName: "tableClassName", publicName: "tableClassName", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionEnabled: { classPropertyName: "selectionEnabled", publicName: "selectionEnabled", isSignal: true, isRequired: false, transformFunction: null }, globalFilterFields: { classPropertyName: "globalFilterFields", publicName: "globalFilterFields", isSignal: true, isRequired: false, transformFunction: null }, rowReorderEnabled: { classPropertyName: "rowReorderEnabled", publicName: "rowReorderEnabled", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, columnActionMinWidthInput: { classPropertyName: "columnActionMinWidthInput", publicName: "columnActionMinWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { tableLoad: "tableLoad", selectionChange: "selectionChange", rowReorder: "rowReorder" }, providers: [provideActionExecutor()], queries: [{ propertyName: "contentTemplates", predicate: TableTemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "table", first: true, predicate: TableComponent, descendants: true, isSignal: true }], ngImport: i0, template: "<mng-table\n [descriptor]=\"descriptor()\"\n [items]=\"items()\"\n [result]=\"result()\"\n [loading]=\"loading()\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"useQueryParams()\"\n [selectionMode]=\"selectionMode()\"\n [selectionEnabled]=\"selectionEnabled()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [columnLastMinWidth]=\"columnActionMinWidth()\"\n [cellClickEnabled]=\"this.rowClickActions().length > 0\"\n [rowReorderEnabled]=\"rowReorderEnabled()\"\n [class]=\"tableClassName()\"\n [templates]=\"tableTemplatesMerged()\"\n (tableLoad)=\"tableLoad.emit($event)\"\n (cellClick)=\"onCellClick($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (rowReorder)=\"onRowReorder($event)\">\n @if (rowInlineActions().length > 0) {\n <ng-template mngTableTemplate name=\"columnCustomLast\" let-item=\"item\" let-idx=\"index\">\n @for (action of rowInlineActions(); track action.actionNameLong) {\n <mng-action\n [action]=\"action\"\n [item]=\"item\"\n [hostComponent]=\"this\"\n [itemId]=\"descriptor().model.idProperty ? item[descriptor().model.idProperty!] : null\"\n [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n }\n </ng-template>\n }\n</mng-table>\n", dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "globalFilterFields", "templates"], outputs: ["tableLoad", "cellClick", "selectionChange", "rowReorder"] }, { kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "directive", type: TableTemplateDirective, selector: "[mngTableTemplate]", inputs: ["name"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3526
3523
  }
3527
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ActionTableComponent, decorators: [{
3524
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ActionTableComponent, decorators: [{
3528
3525
  type: Component,
3529
- args: [{ selector: 'mng-action-table', imports: [TableComponent, ActionComponent, TemplateDirective, NgTemplateOutlet], providers: [provideActionExecutor()], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table\n [descriptor]=\"descriptor()\"\n [items]=\"items()\"\n [result]=\"result()\"\n [loading]=\"loading()\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"useQueryParams()\"\n [selectionMode]=\"selectionMode()\"\n [selectionEnabled]=\"selectionEnabled()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [captionComponent]=\"captionComponent()\"\n [columnCustomLastComponent]=\"columnActionComponent()\"\n [columnLastMinWidth]=\"columnActionMinWidth()\"\n [cellClickEnabled]=\"this.rowClickActions().length > 0\"\n [rowReorderEnabled]=\"rowReorderEnabled()\"\n [class]=\"tableClassName()\"\n (tableLoad)=\"tableLoad.emit($event)\"\n (cellClick)=\"onCellClick($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"captionComponentInstance.emit($event)\"\n (columnCustomLastComponentInstance)=\"columnActionComponentInstance.emit($event)\"\n (rowReorder)=\"onRowReorder($event)\">\n @if (!columnActionComponent() && rowInlineActions().length > 0) {\n <ng-template mngTemplate=\"columnCustomLast\" let-item=\"rowItem\" let-idx=\"rowIndex\">\n @for (action of rowInlineActions(); track action.actionNameLong) {\n <mng-action\n [action]=\"action\"\n [item]=\"item\"\n [hostComponent]=\"this\"\n [itemId]=\"descriptor().model.idProperty ? item[descriptor().model.idProperty!] : null\"\n [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n }\n </ng-template>\n }\n @if (captionTemplate() && !captionComponent()) {\n <ng-template mngTemplate=\"caption\">\n <ng-container *ngTemplateOutlet=\"captionTemplate()\"></ng-container>\n </ng-template>\n }\n @if (rowExpandTemplate()) {\n <ng-template mngTemplate=\"rowExpandContent\" let-item=\"rowItem\">\n <ng-container *ngTemplateOutlet=\"rowExpandTemplate(); context: {rowItem: item}\"></ng-container>\n </ng-template>\n }\n @if (footerTemplate()) {\n <ng-template mngTemplate=\"footer\" let-data=\"data\" let-totalCount=\"totalCount\">\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: {data, totalCount}\"></ng-container>\n </ng-template>\n }\n</mng-table>\n" }]
3526
+ args: [{ selector: 'mng-action-table', imports: [TableComponent, ActionComponent, TableTemplateDirective], providers: [provideActionExecutor()], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table\n [descriptor]=\"descriptor()\"\n [items]=\"items()\"\n [result]=\"result()\"\n [loading]=\"loading()\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"useQueryParams()\"\n [selectionMode]=\"selectionMode()\"\n [selectionEnabled]=\"selectionEnabled()\"\n [globalFilterFields]=\"globalFilterFields()\"\n [columnLastMinWidth]=\"columnActionMinWidth()\"\n [cellClickEnabled]=\"this.rowClickActions().length > 0\"\n [rowReorderEnabled]=\"rowReorderEnabled()\"\n [class]=\"tableClassName()\"\n [templates]=\"tableTemplatesMerged()\"\n (tableLoad)=\"tableLoad.emit($event)\"\n (cellClick)=\"onCellClick($event)\"\n (selectionChange)=\"onSelectionChange($event)\"\n (rowReorder)=\"onRowReorder($event)\">\n @if (rowInlineActions().length > 0) {\n <ng-template mngTableTemplate name=\"columnCustomLast\" let-item=\"item\" let-idx=\"index\">\n @for (action of rowInlineActions(); track action.actionNameLong) {\n <mng-action\n [action]=\"action\"\n [item]=\"item\"\n [hostComponent]=\"this\"\n [itemId]=\"descriptor().model.idProperty ? item[descriptor().model.idProperty!] : null\"\n [actionData]=\"{itemIndex: idx}\"\n (finish)=\"onActionFinish($event)\">\n </mng-action>\n }\n </ng-template>\n }\n</mng-table>\n" }]
3530
3527
  }], ctorParameters: () => [] });
3531
3528
 
3532
3529
  const unsavedChangesGuard = (component) => {
@@ -3552,18 +3549,17 @@ class TableviewComponent {
3552
3549
  constructor() {
3553
3550
  this.viewContainer = inject(ViewContainer, { optional: true });
3554
3551
  this.actionTable = viewChild.required((ActionTableComponent));
3555
- this.descriptor = input.required();
3556
- this.dataProvider = input();
3557
- this.actions = input([]);
3558
- this.toolbarLeftActions = computed(() => this.filterActionsByPositions(this.actions(), [ActionPositionEnum.ToolbarLeft]));
3559
- this.toolbarRightActions = computed(() => this.filterActionsByPositions(this.actions(), [ActionPositionEnum.ToolbarRight]).reverse());
3560
- this.tableActions = computed(() => this.filterActionsByPositions(this.actions(), [ActionPositionEnum.TableHeader, ActionPositionEnum.RowInline, ActionPositionEnum.RowClick]));
3561
- this.tableParams = signal(undefined);
3562
- this.hasItemSelectionAction = computed(() => [...this.toolbarLeftActions(), ...this.toolbarRightActions()].some(e => e.hasItemsSelection));
3563
- this.selectedItems = signal([]);
3564
- this.templates = contentChildren(TemplateDirective);
3565
- this.footerTemplate = computed(() => findTemplateByName([...this.templates()], 'footer'));
3566
- this.rowExpandTemplate = computed(() => findTemplateByName([...this.templates()], 'rowExpandContent'));
3552
+ this.descriptor = input.required(...(ngDevMode ? [{ debugName: "descriptor" }] : []));
3553
+ this.dataProvider = input(...(ngDevMode ? [undefined, { debugName: "dataProvider" }] : []));
3554
+ this.actions = input([], ...(ngDevMode ? [{ debugName: "actions" }] : []));
3555
+ this.toolbarLeftActions = computed(() => this.filterActionsByPositions(this.actions(), [ActionPositionEnum.ToolbarLeft]), ...(ngDevMode ? [{ debugName: "toolbarLeftActions" }] : []));
3556
+ this.toolbarRightActions = computed(() => this.filterActionsByPositions(this.actions(), [ActionPositionEnum.ToolbarRight]).reverse(), ...(ngDevMode ? [{ debugName: "toolbarRightActions" }] : []));
3557
+ this.tableActions = computed(() => this.filterActionsByPositions(this.actions(), [ActionPositionEnum.TableHeader, ActionPositionEnum.RowInline, ActionPositionEnum.RowClick]), ...(ngDevMode ? [{ debugName: "tableActions" }] : []));
3558
+ this.tableParams = signal(undefined, ...(ngDevMode ? [{ debugName: "tableParams" }] : []));
3559
+ this.hasItemSelectionAction = computed(() => [...this.toolbarLeftActions(), ...this.toolbarRightActions()].some(e => e.hasItemsSelection), ...(ngDevMode ? [{ debugName: "hasItemSelectionAction" }] : []));
3560
+ this.selectedItems = signal([], ...(ngDevMode ? [{ debugName: "selectedItems" }] : []));
3561
+ this.contentTableTemplates = contentChildren(TableTemplateDirective, ...(ngDevMode ? [{ debugName: "contentTableTemplates" }] : []));
3562
+ this.tableTemplates = computed(() => [...this.contentTableTemplates()], ...(ngDevMode ? [{ debugName: "tableTemplates" }] : []));
3567
3563
  }
3568
3564
  ngOnInit() {
3569
3565
  if (this.viewContainer) {
@@ -3575,25 +3571,25 @@ class TableviewComponent {
3575
3571
  }
3576
3572
  }
3577
3573
  onTableLoad(event) {
3578
- // TODO: table item in event
3579
3574
  this.tableParams.set(event.params);
3580
3575
  }
3581
3576
  selectionChange(selectedItems) {
3582
- // TODO: table item in selected item
3583
3577
  this.selectedItems.set(selectedItems);
3584
3578
  }
3585
3579
  filterActionsByPositions(actions, actionPositions) {
3586
3580
  return actions.filter(action => (action.positionTableviewCategories?.includes(TableviewActionDefaultCategories.READ) ?? true) && actionPositions.includes(action.position));
3587
3581
  }
3588
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TableviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3589
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: TableviewComponent, isStandalone: true, selector: "mng-tableview", inputs: { descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideViewContainer()], queries: [{ propertyName: "templates", predicate: TemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "actionTable", first: true, predicate: (ActionTableComponent), descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"mng-tableview\">\n <div class=\"card\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <p-toolbar styleClass=\"mb-6\">\n <ng-template #start>\n @for (action of toolbarLeftActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n <ng-template #end>\n @for (action of toolbarRightActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n }\n\n <mng-action-table\n [descriptor]=\"descriptor().table\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"true\"\n [actions]=\"tableActions()\"\n [selectionEnabled]=\"hasItemSelectionAction()\"\n [selectionMode]=\"'multiple'\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\n @if (rowExpandTemplate()) {\n <ng-template mngTemplate=\"rowExpandContent\" let-item=\"rowItem\">\n <ng-container *ngTemplateOutlet=\"rowExpandTemplate(); context: {rowItem: item}\"></ng-container>\n </ng-template>\n }\n\n @if (footerTemplate()) {\n <ng-template mngTemplate=\"footer\" let-data=\"data\" let-totalCount=\"totalCount\">\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: {data, totalCount}\"></ng-container>\n </ng-template>\n }\n </mng-action-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", styles: [".mng-tableview .p-paginator .p-paginator-current{margin-left:auto}.mng-tableview .p-progressbar{height:.5rem;background-color:#d8dadc}.mng-tableview .p-progressbar .p-progressbar-value{background-color:#607d8b}.mng-tableview .p-datatable .p-datatable-scrollable-table>.p-datatable-thead{z-index:2}.mng-tableview .p-datatable .p-datatable-loading-overlay{z-index:3}.mng-tableview .p-datatable .p-datatable-header{text-align:left;font-size:1.5rem}.mng-tableview .p-datatable .p-datatable-thead>tr>th{text-align:left}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "component", type: ActionTableComponent, selector: "mng-action-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "tableClassName", "selectionMode", "selectionEnabled", "globalFilterFields", "rowReorderEnabled", "actions", "captionComponent", "columnActionComponent", "columnActionMinWidth"], outputs: ["tableLoad", "selectionChange", "captionComponentInstance", "columnActionComponentInstance", "rowReorder"] }, { kind: "directive", type: TemplateDirective, selector: "[mngTemplate]", inputs: ["mngTemplate"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: Toolbar, selector: "p-toolbar", inputs: ["style", "styleClass", "ariaLabelledBy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3582
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: TableviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3583
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: TableviewComponent, isStandalone: true, selector: "mng-tableview", inputs: { descriptor: { classPropertyName: "descriptor", publicName: "descriptor", isSignal: true, isRequired: true, transformFunction: null }, dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideViewContainer()], queries: [{ propertyName: "contentTableTemplates", predicate: TableTemplateDirective, isSignal: true }], viewQueries: [{ propertyName: "actionTable", first: true, predicate: (ActionTableComponent), descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"mng-tableview\">\n <div class=\"card\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <p-toolbar styleClass=\"mb-6\">\n <ng-template #start>\n @for (action of toolbarLeftActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n <ng-template #end>\n @for (action of toolbarRightActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n }\n\n <mng-action-table\n [descriptor]=\"descriptor().table\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"true\"\n [actions]=\"tableActions()\"\n [selectionEnabled]=\"hasItemSelectionAction()\"\n [selectionMode]=\"'multiple'\"\n [tableTemplates]=\"tableTemplates()\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\n </mng-action-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", styles: [".mng-tableview .p-paginator .p-paginator-current{margin-left:auto}.mng-tableview .p-progressbar{height:.5rem;background-color:#d8dadc}.mng-tableview .p-progressbar .p-progressbar-value{background-color:#607d8b}.mng-tableview .p-datatable .p-datatable-scrollable-table>.p-datatable-thead{z-index:2}.mng-tableview .p-datatable .p-datatable-loading-overlay{z-index:3}.mng-tableview .p-datatable .p-datatable-header{text-align:left;font-size:1.5rem}.mng-tableview .p-datatable .p-datatable-thead>tr>th{text-align:left}\n"], dependencies: [{ kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "component", type: ActionTableComponent, selector: "mng-action-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "tableTemplates", "tableClassName", "selectionMode", "selectionEnabled", "globalFilterFields", "rowReorderEnabled", "actions", "columnActionMinWidth"], outputs: ["tableLoad", "selectionChange", "rowReorder"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
3590
3584
  }
3591
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TableviewComponent, decorators: [{
3585
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: TableviewComponent, decorators: [{
3592
3586
  type: Component,
3593
- args: [{ selector: 'mng-tableview', imports: [NgTemplateOutlet, ActionComponent, ActionTableComponent, TemplateDirective, RouterOutlet, Toolbar], providers: [provideViewContainer()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"mng-tableview\">\n <div class=\"card\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <p-toolbar styleClass=\"mb-6\">\n <ng-template #start>\n @for (action of toolbarLeftActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n <ng-template #end>\n @for (action of toolbarRightActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n }\n\n <mng-action-table\n [descriptor]=\"descriptor().table\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"true\"\n [actions]=\"tableActions()\"\n [selectionEnabled]=\"hasItemSelectionAction()\"\n [selectionMode]=\"'multiple'\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\n @if (rowExpandTemplate()) {\n <ng-template mngTemplate=\"rowExpandContent\" let-item=\"rowItem\">\n <ng-container *ngTemplateOutlet=\"rowExpandTemplate(); context: {rowItem: item}\"></ng-container>\n </ng-template>\n }\n\n @if (footerTemplate()) {\n <ng-template mngTemplate=\"footer\" let-data=\"data\" let-totalCount=\"totalCount\">\n <ng-container *ngTemplateOutlet=\"footerTemplate(); context: {data, totalCount}\"></ng-container>\n </ng-template>\n }\n </mng-action-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", styles: [".mng-tableview .p-paginator .p-paginator-current{margin-left:auto}.mng-tableview .p-progressbar{height:.5rem;background-color:#d8dadc}.mng-tableview .p-progressbar .p-progressbar-value{background-color:#607d8b}.mng-tableview .p-datatable .p-datatable-scrollable-table>.p-datatable-thead{z-index:2}.mng-tableview .p-datatable .p-datatable-loading-overlay{z-index:3}.mng-tableview .p-datatable .p-datatable-header{text-align:left;font-size:1.5rem}.mng-tableview .p-datatable .p-datatable-thead>tr>th{text-align:left}\n"] }]
3587
+ args: [{ selector: 'mng-tableview', imports: [ActionComponent, ActionTableComponent, RouterOutlet, Toolbar], providers: [provideViewContainer()], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"mng-tableview\">\n <div class=\"card\">\n @if (toolbarLeftActions().length > 0 || toolbarRightActions().length > 0) {\n <p-toolbar styleClass=\"mb-6\">\n <ng-template #start>\n @for (action of toolbarLeftActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n <ng-template #end>\n @for (action of toolbarRightActions(); track action) {\n <mng-action [action]=\"action\" [dataListParams]=\"tableParams()\" [hostComponent]=\"this\" [selectedItems]=\"selectedItems()\"></mng-action>\n }\n </ng-template>\n </p-toolbar>\n }\n\n <mng-action-table\n [descriptor]=\"descriptor().table\"\n [dataProvider]=\"dataProvider()\"\n [useQueryParams]=\"true\"\n [actions]=\"tableActions()\"\n [selectionEnabled]=\"hasItemSelectionAction()\"\n [selectionMode]=\"'multiple'\"\n [tableTemplates]=\"tableTemplates()\"\n (tableLoad)=\"onTableLoad($event)\"\n (selectionChange)=\"selectionChange($event)\">\n </mng-action-table>\n </div>\n\n <router-outlet></router-outlet>\n</div>\n", styles: [".mng-tableview .p-paginator .p-paginator-current{margin-left:auto}.mng-tableview .p-progressbar{height:.5rem;background-color:#d8dadc}.mng-tableview .p-progressbar .p-progressbar-value{background-color:#607d8b}.mng-tableview .p-datatable .p-datatable-scrollable-table>.p-datatable-thead{z-index:2}.mng-tableview .p-datatable .p-datatable-loading-overlay{z-index:3}.mng-tableview .p-datatable .p-datatable-header{text-align:left;font-size:1.5rem}.mng-tableview .p-datatable .p-datatable-thead>tr>th{text-align:left}\n"] }]
3594
3588
  }] });
3595
3589
 
3596
- function getActionParentFormEditor(ctx, editorType) {
3590
+ function getActionParentFormEditor(ctx,
3591
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3592
+ editorType) {
3597
3593
  return ctx.injector.get(FormEditorService, null, { optional: true });
3598
3594
  }
3599
3595
  /**
@@ -3617,7 +3613,9 @@ function getActionFormEditor(ctx) {
3617
3613
  *
3618
3614
  * @return {TableComponent<Item, Sorts, Filters> | null} The parent table associated with the action context and descriptor, or null if not found.
3619
3615
  */
3620
- function getActionParentTable(ctx, tableType) {
3616
+ function getActionParentTable(ctx,
3617
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
3618
+ tableType) {
3621
3619
  return (ctx.injector.get(ActionTableComponent, null, { optional: true }) ?? ctx.injector.get(TableviewComponent, null, { optional: true })?.actionTable())?.table() ?? null;
3622
3620
  }
3623
3621
 
@@ -3651,10 +3649,10 @@ class DefaultDataProviderExecutor extends DataProviderExecutor {
3651
3649
  runDelete(ctx, fallback) {
3652
3650
  return fallback ? runFnFromDataProviderOrFallback(ctx, runDeleteFromDataProvider, fallback) : runDeleteFromDataProvider(ctx);
3653
3651
  }
3654
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DefaultDataProviderExecutor, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3655
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DefaultDataProviderExecutor }); }
3652
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DefaultDataProviderExecutor, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3653
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DefaultDataProviderExecutor }); }
3656
3654
  }
3657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: DefaultDataProviderExecutor, decorators: [{
3655
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: DefaultDataProviderExecutor, decorators: [{
3658
3656
  type: Injectable
3659
3657
  }] });
3660
3658
 
@@ -3665,8 +3663,8 @@ class ACommonsFormlyType extends FieldType {
3665
3663
  this.cd = inject(ChangeDetectorRef);
3666
3664
  this.formStateDisabledSubject = new BehaviorSubject(false);
3667
3665
  this.formStateDisabled$ = this.formStateDisabledSubject.asObservable();
3668
- this.descriptorSig = signal(undefined);
3669
- this.fieldSig = signal(undefined);
3666
+ this.descriptorSig = signal(undefined, ...(ngDevMode ? [{ debugName: "descriptorSig" }] : []));
3667
+ this.fieldSig = signal(undefined, ...(ngDevMode ? [{ debugName: "fieldSig" }] : []));
3670
3668
  }
3671
3669
  get descriptor() {
3672
3670
  return this.props.descriptor;
@@ -3693,32 +3691,32 @@ class ACommonsFormlyType extends FieldType {
3693
3691
  .pipe(startWith(this.formState.disabled ?? false), takeUntilDestroyed(this.destroyRef))
3694
3692
  .subscribe(value => this.formStateDisabledSubject.next(value));
3695
3693
  }
3696
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ACommonsFormlyType, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
3697
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: ACommonsFormlyType, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
3694
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ACommonsFormlyType, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
3695
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: ACommonsFormlyType, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
3698
3696
  }
3699
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ACommonsFormlyType, decorators: [{
3697
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ACommonsFormlyType, decorators: [{
3700
3698
  type: Directive
3701
3699
  }] });
3702
3700
 
3703
3701
  class ACommonsFormlyFieldType extends ACommonsFormlyType {
3704
3702
  constructor() {
3705
3703
  super(...arguments);
3706
- this.controlClassName = computed(() => ['mng-field-control', this.descriptorSig()?.className?.control].filter(c => !!c).join(' '));
3707
- this.labelClassName = computed(() => ['mng-field-label', this.descriptorSig()?.className?.label].filter(c => !!c).join(' '));
3708
- this.controlInputClassName = computed(() => ['mng-field-control-input', this.descriptorSig()?.className?.input].filter(c => !!c).join(' '));
3709
- this.controlWithInputClassName = computed(() => this.controlClassName() + ' ' + this.controlInputClassName());
3704
+ this.controlClassName = computed(() => ['mng-field-control', this.descriptorSig()?.className?.control].filter(c => !!c).join(' '), ...(ngDevMode ? [{ debugName: "controlClassName" }] : []));
3705
+ this.labelClassName = computed(() => ['mng-field-label', this.descriptorSig()?.className?.label].filter(c => !!c).join(' '), ...(ngDevMode ? [{ debugName: "labelClassName" }] : []));
3706
+ this.controlInputClassName = computed(() => ['mng-field-control-input', this.descriptorSig()?.className?.input].filter(c => !!c).join(' '), ...(ngDevMode ? [{ debugName: "controlInputClassName" }] : []));
3707
+ this.controlWithInputClassName = computed(() => this.controlClassName() + ' ' + this.controlInputClassName(), ...(ngDevMode ? [{ debugName: "controlWithInputClassName" }] : []));
3710
3708
  }
3711
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ACommonsFormlyFieldType, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
3712
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: ACommonsFormlyFieldType, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
3709
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ACommonsFormlyFieldType, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
3710
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: ACommonsFormlyFieldType, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
3713
3711
  }
3714
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ACommonsFormlyFieldType, decorators: [{
3712
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ACommonsFormlyFieldType, decorators: [{
3715
3713
  type: Directive
3716
3714
  }] });
3717
3715
 
3718
3716
  class FormlyFieldActionComponent extends ACommonsFormlyFieldType {
3719
3717
  constructor() {
3720
3718
  super(...arguments);
3721
- this.buttonClass = signal('p-button-primary');
3719
+ this.buttonClass = signal('p-button-primary', ...(ngDevMode ? [{ debugName: "buttonClass" }] : []));
3722
3720
  }
3723
3721
  ngOnInit() {
3724
3722
  super.ngOnInit();
@@ -3758,10 +3756,10 @@ class FormlyFieldActionComponent extends ACommonsFormlyFieldType {
3758
3756
  this.actionMessage = res.message;
3759
3757
  }
3760
3758
  }
3761
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3762
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldActionComponent, isStandalone: true, selector: "mng-formly-field-action", usesInheritance: true, ngImport: i0, template: "<div class=\"mng-field flex items-center\">\n <button\n type=\"button\"\n pButton\n [icon]=\"$any(descriptor.button?.icon)\"\n [label]=\"$any(descriptor.button?.label === null ? null : (descriptor.button?.label ?? props!.label)) | translate\"\n [pTooltip]=\"$any(descriptor.button?.tooltip) | translate\"\n [disabled]=\"formControl.disabled\"\n (click)=\"onClick()\"\n [class]=\"buttonClass()\"></button>\n @if (actionMessage) {\n <p-message [text]=\"actionMessage.content\" [severity]=\"actionMessage.severity ?? 'success'\" closable=\"true\"></p-message>\n }\n</div>\n", dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3759
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldActionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3760
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldActionComponent, isStandalone: true, selector: "mng-formly-field-action", usesInheritance: true, ngImport: i0, template: "<div class=\"mng-field flex items-center\">\n <button\n type=\"button\"\n pButton\n [icon]=\"$any(descriptor.button?.icon)\"\n [label]=\"$any(descriptor.button?.label === null ? null : (descriptor.button?.label ?? props!.label)) | translate\"\n [pTooltip]=\"$any(descriptor.button?.tooltip) | translate\"\n [disabled]=\"formControl.disabled\"\n (click)=\"onClick()\"\n [class]=\"buttonClass()\"></button>\n @if (actionMessage) {\n <p-message [text]=\"actionMessage.content\" [severity]=\"actionMessage.severity ?? 'success'\" closable=\"true\"></p-message>\n }\n</div>\n", dependencies: [{ kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: Message, selector: "p-message", inputs: ["severity", "text", "escape", "style", "styleClass", "closable", "icon", "closeIcon", "life", "showTransitionOptions", "hideTransitionOptions", "size", "variant"], outputs: ["onClose"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3763
3761
  }
3764
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldActionComponent, decorators: [{
3762
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldActionComponent, decorators: [{
3765
3763
  type: Component,
3766
3764
  args: [{ selector: 'mng-formly-field-action', imports: [TranslatePipe, Tooltip, Message, ButtonDirective], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mng-field flex items-center\">\n <button\n type=\"button\"\n pButton\n [icon]=\"$any(descriptor.button?.icon)\"\n [label]=\"$any(descriptor.button?.label === null ? null : (descriptor.button?.label ?? props!.label)) | translate\"\n [pTooltip]=\"$any(descriptor.button?.tooltip) | translate\"\n [disabled]=\"formControl.disabled\"\n (click)=\"onClick()\"\n [class]=\"buttonClass()\"></button>\n @if (actionMessage) {\n <p-message [text]=\"actionMessage.content\" [severity]=\"actionMessage.severity ?? 'success'\" closable=\"true\"></p-message>\n }\n</div>\n" }]
3767
3765
  }] });
@@ -3791,12 +3789,12 @@ class FormlyFieldAutocompleteComponent extends ACommonsFormlyFieldType {
3791
3789
  eventSubtype: FormFieldEventComponentSubtype.ON_DESTROY
3792
3790
  });
3793
3791
  }
3794
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3795
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: FormlyFieldAutocompleteComponent, isStandalone: true, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\"\n [showClear]=\"!props.required\"\n [selectFirst]=\"descriptor.autocompleteSelectFirst ?? false\"\n [autoClear]=\"descriptor.autocompleteAutoClear ?? false\"\n [openOnFocus]=\"descriptor.autocompleteAutoClear ?? true\"\n [inlineSearch]=\"descriptor.autocompleteInlineSearch ?? false\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\">\n</mng-autocomplete>\n", dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "optionsTrackProperty", "optionsValueProperty", "optionsLabelProperty", "optionsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName", "showClear", "autoClear", "selectFirst", "searchTrim", "disabled"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i1$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3792
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldAutocompleteComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3793
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.7", type: FormlyFieldAutocompleteComponent, isStandalone: true, selector: "mng-formly-field-autocomplete", usesInheritance: true, ngImport: i0, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\"\n [showClear]=\"!props.required\"\n [selectFirst]=\"descriptor.autocompleteSelectFirst ?? false\"\n [autoClear]=\"descriptor.autocompleteAutoClear ?? false\"\n [openOnFocus]=\"descriptor.autocompleteAutoClear ?? true\"\n [inlineSearch]=\"descriptor.autocompleteInlineSearch ?? false\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\">\n</mng-autocomplete>\n", dependencies: [{ kind: "component", type: AutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "optionsTrackProperty", "optionsValueProperty", "optionsLabelProperty", "optionsLabelTranslate", "inlineSearch", "openOnFocus", "multiselect", "placeholder", "className", "dropdownClassName", "showClear", "autoClear", "selectFirst", "searchTrim", "disabled", "templates"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3796
3794
  }
3797
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldAutocompleteComponent, decorators: [{
3795
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldAutocompleteComponent, decorators: [{
3798
3796
  type: Component,
3799
- args: [{ selector: 'mng-formly-field-autocomplete', imports: [AutocompleteComponent, ReactiveFormsModule, FormlyModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\"\n [showClear]=\"!props.required\"\n [selectFirst]=\"descriptor.autocompleteSelectFirst ?? false\"\n [autoClear]=\"descriptor.autocompleteAutoClear ?? false\"\n [openOnFocus]=\"descriptor.autocompleteAutoClear ?? true\"\n [inlineSearch]=\"descriptor.autocompleteInlineSearch ?? false\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\">\n</mng-autocomplete>\n" }]
3797
+ args: [{ selector: 'mng-formly-field-autocomplete', imports: [AutocompleteComponent, ReactiveFormsModule, TranslatePipe, FormlyAttributes], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-autocomplete\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\"\n [showClear]=\"!props.required\"\n [selectFirst]=\"descriptor.autocompleteSelectFirst ?? false\"\n [autoClear]=\"descriptor.autocompleteAutoClear ?? false\"\n [openOnFocus]=\"descriptor.autocompleteAutoClear ?? true\"\n [inlineSearch]=\"descriptor.autocompleteInlineSearch ?? false\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\">\n</mng-autocomplete>\n" }]
3800
3798
  }] });
3801
3799
 
3802
3800
  class FormlyFieldCustomComponent extends ACommonsFormlyFieldType {
@@ -3820,10 +3818,10 @@ class FormlyFieldCustomComponent extends ACommonsFormlyFieldType {
3820
3818
  ...this.descriptor.customComponentInputs
3821
3819
  };
3822
3820
  }
3823
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldCustomComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3824
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: FormlyFieldCustomComponent, isStandalone: true, selector: "mng-formly-field-custom", usesInheritance: true, ngImport: i0, template: `<ng-container [mngComponent]="descriptor.customComponentType!" [inputs]="inputs"></ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3821
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldCustomComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3822
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.7", type: FormlyFieldCustomComponent, isStandalone: true, selector: "mng-formly-field-custom", usesInheritance: true, ngImport: i0, template: `<ng-container [mngComponent]="descriptor.customComponentType!" [inputs]="inputs"></ng-container>`, isInline: true, dependencies: [{ kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3825
3823
  }
3826
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldCustomComponent, decorators: [{
3824
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldCustomComponent, decorators: [{
3827
3825
  type: Component,
3828
3826
  args: [{
3829
3827
  selector: 'mng-formly-field-custom',
@@ -3853,12 +3851,12 @@ class FormlyFieldDropdownComponent extends ACommonsFormlyFieldType {
3853
3851
  eventSubtype: FormFieldEventComponentSubtype.ON_DESTROY
3854
3852
  });
3855
3853
  }
3856
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3857
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: FormlyFieldDropdownComponent, isStandalone: true, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsLabelTranslate]=\"descriptor.optionsLabelTranslate\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [optionsDisabledProperty]=\"descriptor.optionsDisabledProperty\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [showClear]=\"!props.required\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\">\n</mng-dropdown>\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i1$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3854
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldDropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3855
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.7", type: FormlyFieldDropdownComponent, isStandalone: true, selector: "mng-formly-field-dropdown", usesInheritance: true, ngImport: i0, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsLabelTranslate]=\"descriptor.optionsLabelTranslate\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [optionsDisabledProperty]=\"descriptor.optionsDisabledProperty\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [showClear]=\"!props.required\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\">\n</mng-dropdown>\n", dependencies: [{ kind: "component", type: DropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "options", "optionsTrackProperty", "optionsLabelProperty", "optionsLabelTranslate", "optionsValueProperty", "optionsDisabledProperty", "multiselect", "placeholder", "showClear", "selectFirstItem", "className", "dropdownClassName", "changeValueOnBlur", "loading", "disabled", "allowInput", "appendTo", "templates", "inlineSearch", "searchTrim"], outputs: ["valueChange", "blur"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3858
3856
  }
3859
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldDropdownComponent, decorators: [{
3857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldDropdownComponent, decorators: [{
3860
3858
  type: Component,
3861
- args: [{ selector: 'mng-formly-field-dropdown', imports: [DropdownComponent, ReactiveFormsModule, FormlyModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsLabelTranslate]=\"descriptor.optionsLabelTranslate\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [optionsDisabledProperty]=\"descriptor.optionsDisabledProperty\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [showClear]=\"!props.required\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\">\n</mng-dropdown>\n" }]
3859
+ args: [{ selector: 'mng-formly-field-dropdown', imports: [DropdownComponent, ReactiveFormsModule, TranslatePipe, FormlyAttributes], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-dropdown\n [id]=\"$any(key)\"\n [formControl]=\"$any(formControl)\"\n [formlyAttributes]=\"field\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [dataProvider]=\"descriptor.dataProvider\"\n [optionsLabelProperty]=\"descriptor.optionsLabelProperty\"\n [optionsLabelTranslate]=\"descriptor.optionsLabelTranslate\"\n [optionsValueProperty]=\"descriptor.optionsValueProperty\"\n [optionsDisabledProperty]=\"descriptor.optionsDisabledProperty\"\n [optionsTrackProperty]=\"descriptor.optionsTrackProperty\"\n [showClear]=\"!props.required\"\n [className]=\"controlInputClassName()\"\n [class]=\"controlClassName()\">\n</mng-dropdown>\n" }]
3862
3860
  }] });
3863
3861
 
3864
3862
  function getEditorFieldLabel(descriptor, editorDescriptor) {
@@ -3902,10 +3900,10 @@ class FormlyFieldLabelPipe {
3902
3900
  transform(value, editorDescriptor) {
3903
3901
  return getEditorFieldLabel(value, editorDescriptor) ?? '';
3904
3902
  }
3905
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3906
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldLabelPipe, isStandalone: true, name: "mngFormlyFieldLabel" }); }
3903
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldLabelPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
3904
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldLabelPipe, isStandalone: true, name: "mngFormlyFieldLabel" }); }
3907
3905
  }
3908
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldLabelPipe, decorators: [{
3906
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldLabelPipe, decorators: [{
3909
3907
  type: Pipe,
3910
3908
  args: [{
3911
3909
  name: 'mngFormlyFieldLabel',
@@ -3914,10 +3912,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
3914
3912
  }] });
3915
3913
 
3916
3914
  class ACommonsFormlyGroupType extends ACommonsFormlyType {
3917
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ACommonsFormlyGroupType, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
3918
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.10", type: ACommonsFormlyGroupType, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
3915
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ACommonsFormlyGroupType, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
3916
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.1.7", type: ACommonsFormlyGroupType, isStandalone: true, usesInheritance: true, ngImport: i0 }); }
3919
3917
  }
3920
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: ACommonsFormlyGroupType, decorators: [{
3918
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: ACommonsFormlyGroupType, decorators: [{
3921
3919
  type: Directive
3922
3920
  }] });
3923
3921
 
@@ -3933,14 +3931,14 @@ class FormlyFieldFieldsetComponent extends ACommonsFormlyGroupType {
3933
3931
  type: f.props.descriptor?.type,
3934
3932
  config: f
3935
3933
  }));
3936
- });
3934
+ }, ...(ngDevMode ? [{ debugName: "fieldGroup" }] : []));
3937
3935
  }
3938
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldFieldsetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3939
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldFieldsetComponent, isStandalone: true, selector: "mng-formly-field-fieldset", usesInheritance: true, ngImport: i0, template: "@for (group of fieldGroup(); track group) {\n @switch (group.type) {\n @case (typeFieldset) {\n <p-fieldset\n [legend]=\"group.config.props.descriptor | mngFormlyFieldLabel: group.config.props.editorDescriptor | translate\"\n [hidden]=\"group.config.props['groupHidden']\">\n <formly-field [field]=\"group.config\"></formly-field>\n </p-fieldset>\n }\n @default {\n <formly-field [field]=\"group.config\"></formly-field>\n }\n }\n}\n", dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1$1.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }, { kind: "component", type: Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3936
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldFieldsetComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3937
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldFieldsetComponent, isStandalone: true, selector: "mng-formly-field-fieldset", usesInheritance: true, ngImport: i0, template: "@for (group of fieldGroup(); track group) {\n @switch (group.type) {\n @case (typeFieldset) {\n <p-fieldset\n [legend]=\"group.config.props.descriptor | mngFormlyFieldLabel: group.config.props.editorDescriptor | translate\"\n [hidden]=\"group.config.props['groupHidden']\">\n <formly-field [field]=\"group.config\"></formly-field>\n </p-fieldset>\n }\n @default {\n <formly-field [field]=\"group.config\"></formly-field>\n }\n }\n}\n", dependencies: [{ kind: "component", type: Fieldset, selector: "p-fieldset", inputs: ["legend", "toggleable", "collapsed", "style", "styleClass", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "component", type: FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3940
3938
  }
3941
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldFieldsetComponent, decorators: [{
3939
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldFieldsetComponent, decorators: [{
3942
3940
  type: Component,
3943
- args: [{ selector: 'mng-formly-field-fieldset', imports: [FormlyModule, TranslatePipe, FormlyFieldLabelPipe, Fieldset], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (group of fieldGroup(); track group) {\n @switch (group.type) {\n @case (typeFieldset) {\n <p-fieldset\n [legend]=\"group.config.props.descriptor | mngFormlyFieldLabel: group.config.props.editorDescriptor | translate\"\n [hidden]=\"group.config.props['groupHidden']\">\n <formly-field [field]=\"group.config\"></formly-field>\n </p-fieldset>\n }\n @default {\n <formly-field [field]=\"group.config\"></formly-field>\n }\n }\n}\n" }]
3941
+ args: [{ selector: 'mng-formly-field-fieldset', imports: [TranslatePipe, FormlyFieldLabelPipe, Fieldset, FormlyField], changeDetection: ChangeDetectionStrategy.OnPush, template: "@for (group of fieldGroup(); track group) {\n @switch (group.type) {\n @case (typeFieldset) {\n <p-fieldset\n [legend]=\"group.config.props.descriptor | mngFormlyFieldLabel: group.config.props.editorDescriptor | translate\"\n [hidden]=\"group.config.props['groupHidden']\">\n <formly-field [field]=\"group.config\"></formly-field>\n </p-fieldset>\n }\n @default {\n <formly-field [field]=\"group.config\"></formly-field>\n }\n }\n}\n" }]
3944
3942
  }] });
3945
3943
 
3946
3944
  class FormlyFieldInputComponent extends ACommonsFormlyFieldType {
@@ -4090,15 +4088,14 @@ class FormlyFieldInputComponent extends ACommonsFormlyFieldType {
4090
4088
  return 'pi-file';
4091
4089
  }
4092
4090
  }
4093
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4094
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldInputComponent, isStandalone: true, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "@switch (props.type) {\n @case ('number') {\n <p-inputNumber\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"descriptor.numberAutoCorrect ? (descriptor.numberMin ?? NUMBER_MIN_SAFE) : undefined\"\n [max]=\"descriptor.numberAutoCorrect ? (descriptor.numberMax ?? NUMBER_MAX_SAFE) : undefined\"\n [step]=\"$any(descriptor.numberStep)\"\n [useGrouping]=\"descriptor.numberUseGrouping\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [locale]=\"descriptor.locale ?? applicationLocale\"\n [mode]=\"numberFieldMode\"\n [prefix]=\"descriptor.numberPrefix\"\n [suffix]=\"descriptor.numberSuffix\"\n [currency]=\"currency\"\n [currencyDisplay]=\"descriptor.currencyDisplay\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </p-inputNumber>\n }\n @case ('switch') {\n <div class=\"flex flex-col\">\n <label [for]=\"key\" [class]=\"labelClassName()\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n </label>\n <p-toggle-switch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-toggle-switch>\n @if (showError) {\n <small class=\"mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n </div>\n }\n @case ('radio') {\n @for (option of descriptor.radioOptions; track option) {\n <div [id]=\"key\" class=\"mb-2\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'ml-2 ' + (descriptor.radioLabelClassName ?? '')\">{{ option.title | translate }}</label>\n </div>\n }\n }\n @case ('textarea') {\n <textarea\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pTextarea\n [class]=\"controlWithInputClassName()\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </textarea>\n }\n @case ('mask') {\n <p-inputMask\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"descriptor.mask\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"controlWithInputClassName()\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\" />\n }\n @case ('file') {\n <p-fileUpload\n #fileUploadInput\n [id]=\"$any(key)\"\n [disabled]=\"iFormControl.disabled\"\n [multiple]=\"descriptor.fileMultiple ?? false\"\n [accept]=\"descriptor.fileAccept ?? (descriptor.fieldType === DESC_INPUT_TYPE_IMAGE_FILE ? 'image/*' : undefined)\"\n [maxFileSize]=\"descriptor.fileMaxFileSize ?? 500000\"\n [showUploadButton]=\"false\"\n chooseStyleClass=\"p-button-sm p-button-outlined\"\n cancelStyleClass=\"p-button-sm p-button-outlined\"\n [styleClass]=\"controlClassName()\"\n mode=\"advanced\"\n (onSelect)=\"onFileSelect($event)\"\n (onRemove)=\"onFileRemove($event)\"\n (onClear)=\"onFileClear($event)\">\n <ng-template #file let-file let-idx=\"index\">\n <div class=\"p-fileupload-file\">\n <div>\n @if (fileUploadInput.isImage(file)) {\n @if (descriptor.imagePreview) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: file.objectURL\n }\">\n </ng-container>\n } @else if (!isFileImageSvg(file) || descriptor.imagePreviewAllowSvg) {\n <img [src]=\"file.objectURL\" [width]=\"fileUploadInput.previewWidth\" (error)=\"fileUploadInput.imageError($event)\" />\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i [class]=\"'pi ' + getFileDocumentTypeIcon(file) + ' text-2xl'\"></i>\n </span>\n }\n </div>\n <div class=\"p-fileupload-file-info\">\n <div class=\"p-fileupload-file-name\">{{ file.name }}</div>\n <span class=\"p-fileupload-file-size\">{{ fileUploadInput.formatSize(file.size) }}</span>\n </div>\n <div class=\"p-fileupload-file-actions\">\n <p-button\n icon=\"pi pi-times\"\n severity=\"danger\"\n size=\"small\"\n outlined=\"true\"\n rounded=\"true\"\n (click)=\"fileUploadInput.remove($event, idx)\"\n [disabled]=\"fileUploadInput.uploading\" />\n </div>\n </div>\n </ng-template>\n <ng-template #empty>\n <div class=\"text-gray-300 mng-fileupload-dragdrop-zone\">\n <span><i class=\"pi pi-file-import mr-2\"></i>{{ 'fileUpload.dragAndDrop' | translate }}</span>\n </div>\n </ng-template>\n </p-fileUpload>\n }\n @case ('imageUrl') {\n <div>\n @if (descriptor.imagePreview) {\n <div class=\"flex flex-wrap justify-start\">\n @for (image of imageFormArray.controls; track image; let idx = $index) {\n @if (imageFormArray.at(idx).valid && imageFormArray.at(idx).value) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: imageFormArray.at(idx).value\n }\">\n </ng-container>\n } @else if (!isUrlSvgImage(imageFormArray.at(idx).value) || descriptor.imagePreviewAllowSvg) {\n <p-image [src]=\"imageFormArray.at(idx).value\" [preview]=\"true\" (onImageError)=\"onImageUrlLoadError()\" styleClass=\"mng-image m-2\"></p-image>\n } @else {\n <span class=\"mng-image m-2 p-image-preview mng-no-image\">\n <div class=\"p-image-preview-indicator\">\n <i class=\"p-image-preview-icon pi pi-ban\"></i>\n </div>\n </span>\n }\n }\n }\n </div>\n }\n @if (!descriptor.imagePreview || descriptor.imageUrlInputVisibleOnDisabled || !iFormControl.disabled) {\n @for (imageCtrlName of imageFormArray.controls; track imageCtrlName; let idx = $index) {\n <p-inputgroup [styleClass]=\"controlClassName() + ' mb-1'\">\n <input\n pInputText\n [placeholder]=\"'mngEditor.imageUrlPlaceholder' | translate\"\n [id]=\"$any(key)\"\n type=\"text\"\n [class]=\"controlInputClassName()\"\n [formControl]=\"$any(imageFormArray.at(idx))\"\n [formlyAttributes]=\"field\" />\n @if (descriptor.fileMultiple && !iFormControl.disabled && imageFormArray.controls.length > 1) {\n <p-inputgroup-addon>\n <p-button type=\"button\" icon=\"pi pi-minus\" severity=\"secondary\" (click)=\"removeImageUrlAt(idx)\"></p-button>\n </p-inputgroup-addon>\n }\n </p-inputgroup>\n }\n @if (descriptor.fileMultiple && !iFormControl.disabled) {\n <p-button\n type=\"button\"\n icon=\"pi pi-plus\"\n size=\"small\"\n severity=\"primary\"\n outlined=\"true\"\n styleClass=\"mt-2\"\n [label]=\"'mngEditor.imageUrlAdd' | translate\"\n (click)=\"addImageUrl()\"></p-button>\n }\n }\n </div>\n }\n @default {\n <input\n pInputText\n [class]=\"controlWithInputClassName()\"\n [id]=\"$any(key)\"\n [type]=\"props.type || 'text'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n }\n}\n", styles: ["mng-formly-field-input .mng-image.p-image-preview{height:150px}mng-formly-field-input .mng-image.p-image-preview img{max-height:100%}mng-formly-field-input .mng-image.p-image-preview.mng-no-image{width:150px}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator{background-color:var(--p-surface-200);height:100%;opacity:1;cursor:default;display:flex;align-items:center;justify-content:center}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator .p-image-preview-icon{color:var(--p-primary-800);font-size:1.5rem}mng-formly-field-input .p-fileupload .p-fileupload-content{gap:var(--mng-fileupload-content-gap, 0);padding:var(--p-panel-header-padding)}mng-formly-field-input .p-fileupload .p-fileupload-content .p-progressbar{display:none}mng-formly-field-input .p-fileupload .p-fileupload-content .mng-fileupload-dragdrop-zone{height:5rem;display:flex;border:dashed;border-radius:8px;align-items:center;justify-content:center}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file>div:first-child{flex-grow:0;flex-shrink:0;width:50px;padding:0}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file img{max-width:100%}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar span.p-fileupload-choose{width:auto}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar p-button button{width:auto}\n"], dependencies: [{ kind: "component", type: InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "style", "placeholder", "size", "maxlength", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "name", "required", "autocomplete", "min", "max", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "step", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "variant", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus", "disabled", "fluid"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i1$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "component", type: i1$1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "formControlName", "name", "disabled", "variant", "size", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "autofocus", "binary"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "size", "maxlength", "tabindex", "title", "variant", "ariaLabel", "ariaLabelledBy", "ariaRequired", "disabled", "readonly", "unmask", "name", "required", "characterPattern", "autofocus", "autoFocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "component", type: FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }, { kind: "directive", type: InputTrimDirective, selector: "[mngInputTrim]", inputs: ["mngInputTrim"] }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }, { kind: "directive", type: Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "variant", "fluid", "pSize"], outputs: ["onResize"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "fluid", "buttonProps"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["style", "styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "component", type: ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["style", "styleClass", "tabindex", "inputId", "name", "disabled", "readonly", "trueValue", "falseValue", "ariaLabel", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "component", type: Image, selector: "p-image", inputs: ["imageClass", "imageStyle", "styleClass", "style", "src", "srcSet", "sizes", "previewImageSrc", "previewImageSrcSet", "previewImageSizes", "alt", "width", "height", "loading", "appendTo", "preview", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide", "onImageError"] }, { kind: "directive", type: InputEmptyValueDirective, selector: "[mngInputEmptyValue]", inputs: ["mngInputEmptyValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4091
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4092
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldInputComponent, isStandalone: true, selector: "mng-formly-field-input", usesInheritance: true, ngImport: i0, template: "@switch (props.type) {\n @case ('number') {\n <p-inputNumber\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"(descriptor.numberAutoCorrect ? descriptor.numberMin : undefined) ?? NUMBER_MIN_SAFE\"\n [max]=\"(descriptor.numberAutoCorrect ? descriptor.numberMax : undefined) ?? NUMBER_MAX_SAFE\"\n [step]=\"descriptor.numberStep ?? 1\"\n [useGrouping]=\"descriptor.numberUseGrouping\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [locale]=\"descriptor.locale ?? applicationLocale\"\n [mode]=\"numberFieldMode\"\n [prefix]=\"descriptor.numberPrefix\"\n [suffix]=\"descriptor.numberSuffix\"\n [currency]=\"currency\"\n [currencyDisplay]=\"descriptor.currencyDisplay\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </p-inputNumber>\n }\n @case ('switch') {\n <div class=\"flex flex-col\">\n <label [for]=\"key\" [class]=\"labelClassName()\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n </label>\n <p-toggle-switch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-toggle-switch>\n @if (showError) {\n <small class=\"mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n </div>\n }\n @case ('radio') {\n @for (option of descriptor.radioOptions; track option) {\n <div [id]=\"key\" class=\"mb-2\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'ml-2 ' + (descriptor.radioLabelClassName ?? '')\">{{ option.title | translate }}</label>\n </div>\n }\n }\n @case ('textarea') {\n <textarea\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pTextarea\n [class]=\"controlWithInputClassName()\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </textarea>\n }\n @case ('mask') {\n <p-inputMask\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"descriptor.mask\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"controlWithInputClassName()\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\" />\n }\n @case ('file') {\n <p-fileUpload\n #fileUploadInput\n [id]=\"$any(key)\"\n [disabled]=\"iFormControl.disabled\"\n [multiple]=\"descriptor.fileMultiple ?? false\"\n [accept]=\"descriptor.fileAccept ?? (descriptor.fieldType === DESC_INPUT_TYPE_IMAGE_FILE ? 'image/*' : undefined)\"\n [maxFileSize]=\"descriptor.fileMaxFileSize ?? 500000\"\n [showUploadButton]=\"false\"\n chooseStyleClass=\"p-button-sm p-button-outlined\"\n cancelStyleClass=\"p-button-sm p-button-outlined\"\n [styleClass]=\"controlClassName()\"\n mode=\"advanced\"\n (onSelect)=\"onFileSelect($event)\"\n (onRemove)=\"onFileRemove($event)\"\n (onClear)=\"onFileClear($event)\">\n <ng-template #file let-file let-idx=\"index\">\n <div class=\"p-fileupload-file\">\n <div>\n @if (fileUploadInput.isImage(file)) {\n @if (descriptor.imagePreview) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: file.objectURL\n }\">\n </ng-container>\n } @else if (!isFileImageSvg(file) || descriptor.imagePreviewAllowSvg) {\n <img [src]=\"file.objectURL\" [width]=\"fileUploadInput.previewWidth\" (error)=\"fileUploadInput.imageError($event)\" />\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i [class]=\"'pi ' + getFileDocumentTypeIcon(file) + ' text-2xl'\"></i>\n </span>\n }\n </div>\n <div class=\"p-fileupload-file-info\">\n <div class=\"p-fileupload-file-name\">{{ file.name }}</div>\n <span class=\"p-fileupload-file-size\">{{ fileUploadInput.formatSize(file.size) }}</span>\n </div>\n <div class=\"p-fileupload-file-actions\">\n <p-button\n icon=\"pi pi-times\"\n severity=\"danger\"\n size=\"small\"\n outlined=\"true\"\n rounded=\"true\"\n (click)=\"fileUploadInput.remove($event, idx)\"\n [disabled]=\"fileUploadInput.uploading\" />\n </div>\n </div>\n </ng-template>\n <ng-template #empty>\n <div class=\"text-gray-300 mng-fileupload-dragdrop-zone\">\n <span><i class=\"pi pi-file-import mr-2\"></i>{{ 'fileUpload.dragAndDrop' | translate }}</span>\n </div>\n </ng-template>\n </p-fileUpload>\n }\n @case ('imageUrl') {\n <div>\n @if (descriptor.imagePreview) {\n <div class=\"flex flex-wrap justify-start\">\n @for (image of imageFormArray.controls; track image; let idx = $index) {\n @if (imageFormArray.at(idx).valid && imageFormArray.at(idx).value) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: imageFormArray.at(idx).value\n }\">\n </ng-container>\n } @else if (!isUrlSvgImage(imageFormArray.at(idx).value) || descriptor.imagePreviewAllowSvg) {\n <p-image [src]=\"imageFormArray.at(idx).value\" [preview]=\"true\" (onImageError)=\"onImageUrlLoadError()\" styleClass=\"mng-image m-2\"></p-image>\n } @else {\n <span class=\"mng-image m-2 p-image-preview mng-no-image\">\n <div class=\"p-image-preview-indicator\">\n <i class=\"p-image-preview-icon pi pi-ban\"></i>\n </div>\n </span>\n }\n }\n }\n </div>\n }\n @if (!descriptor.imagePreview || descriptor.imageUrlInputVisibleOnDisabled || !iFormControl.disabled) {\n @for (imageCtrlName of imageFormArray.controls; track imageCtrlName; let idx = $index) {\n <p-inputgroup [styleClass]=\"controlClassName() + ' mb-1'\">\n <input\n pInputText\n [placeholder]=\"'mngEditor.imageUrlPlaceholder' | translate\"\n [id]=\"$any(key)\"\n type=\"text\"\n [class]=\"controlInputClassName()\"\n [formControl]=\"$any(imageFormArray.at(idx))\"\n [formlyAttributes]=\"field\" />\n @if (descriptor.fileMultiple && !iFormControl.disabled && imageFormArray.controls.length > 1) {\n <p-inputgroup-addon>\n <p-button type=\"button\" icon=\"pi pi-minus\" severity=\"secondary\" (click)=\"removeImageUrlAt(idx)\"></p-button>\n </p-inputgroup-addon>\n }\n </p-inputgroup>\n }\n @if (descriptor.fileMultiple && !iFormControl.disabled) {\n <p-button\n type=\"button\"\n icon=\"pi pi-plus\"\n size=\"small\"\n severity=\"primary\"\n outlined=\"true\"\n styleClass=\"mt-2\"\n [label]=\"'mngEditor.imageUrlAdd' | translate\"\n (click)=\"addImageUrl()\"></p-button>\n }\n }\n </div>\n }\n @default {\n <input\n pInputText\n [class]=\"controlWithInputClassName()\"\n [id]=\"$any(key)\"\n [type]=\"props.type || 'text'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n }\n}\n", styles: ["mng-formly-field-input .mng-image.p-image-preview{height:150px}mng-formly-field-input .mng-image.p-image-preview img{max-height:100%}mng-formly-field-input .mng-image.p-image-preview.mng-no-image{width:150px}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator{background-color:var(--p-surface-200);height:100%;opacity:1;cursor:default;display:flex;align-items:center;justify-content:center}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator .p-image-preview-icon{color:var(--p-primary-800);font-size:1.5rem}mng-formly-field-input .p-fileupload .p-fileupload-content{gap:var(--mng-fileupload-content-gap, 0);padding:var(--p-panel-header-padding)}mng-formly-field-input .p-fileupload .p-fileupload-content .p-progressbar{display:none}mng-formly-field-input .p-fileupload .p-fileupload-content .mng-fileupload-dragdrop-zone{height:5rem;display:flex;border:dashed;border-radius:8px;align-items:center;justify-content:center}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file>div:first-child{flex-grow:0;flex-shrink:0;width:50px;padding:0}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file img{max-width:100%}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar span.p-fileupload-choose{width:auto}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar p-button button{width:auto}\n"], dependencies: [{ kind: "component", type: InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: RadioButton, selector: "p-radioButton, p-radiobutton, p-radio-button", inputs: ["value", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "styleClass", "autofocus", "binary", "variant", "size"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "component", type: FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }, { kind: "directive", type: InputTrimDirective, selector: "[mngInputTrim]", inputs: ["mngInputTrim"] }, { kind: "directive", type: Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "pSize", "variant", "fluid", "invalid"], outputs: ["onResize"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "component", type: ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "component", type: Image, selector: "p-image", inputs: ["imageClass", "imageStyle", "styleClass", "src", "srcSet", "sizes", "previewImageSrc", "previewImageSrcSet", "previewImageSizes", "alt", "width", "height", "loading", "preview", "showTransitionOptions", "hideTransitionOptions", "appendTo"], outputs: ["onShow", "onHide", "onImageError"] }, { kind: "directive", type: InputEmptyValueDirective, selector: "[mngInputEmptyValue]", inputs: ["mngInputEmptyValue"] }, { kind: "directive", type: FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "component", type: FormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4095
4093
  }
4096
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldInputComponent, decorators: [{
4094
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldInputComponent, decorators: [{
4097
4095
  type: Component,
4098
4096
  args: [{ selector: 'mng-formly-field-input', imports: [
4099
4097
  InputNumber,
4100
4098
  ReactiveFormsModule,
4101
- FormlyModule,
4102
4099
  TranslatePipe,
4103
4100
  RadioButton,
4104
4101
  InputMask,
@@ -4113,8 +4110,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4113
4110
  InputGroupAddon,
4114
4111
  ToggleSwitch,
4115
4112
  Image,
4116
- InputEmptyValueDirective
4117
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@switch (props.type) {\n @case ('number') {\n <p-inputNumber\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"descriptor.numberAutoCorrect ? (descriptor.numberMin ?? NUMBER_MIN_SAFE) : undefined\"\n [max]=\"descriptor.numberAutoCorrect ? (descriptor.numberMax ?? NUMBER_MAX_SAFE) : undefined\"\n [step]=\"$any(descriptor.numberStep)\"\n [useGrouping]=\"descriptor.numberUseGrouping\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [locale]=\"descriptor.locale ?? applicationLocale\"\n [mode]=\"numberFieldMode\"\n [prefix]=\"descriptor.numberPrefix\"\n [suffix]=\"descriptor.numberSuffix\"\n [currency]=\"currency\"\n [currencyDisplay]=\"descriptor.currencyDisplay\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </p-inputNumber>\n }\n @case ('switch') {\n <div class=\"flex flex-col\">\n <label [for]=\"key\" [class]=\"labelClassName()\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n </label>\n <p-toggle-switch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-toggle-switch>\n @if (showError) {\n <small class=\"mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n </div>\n }\n @case ('radio') {\n @for (option of descriptor.radioOptions; track option) {\n <div [id]=\"key\" class=\"mb-2\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'ml-2 ' + (descriptor.radioLabelClassName ?? '')\">{{ option.title | translate }}</label>\n </div>\n }\n }\n @case ('textarea') {\n <textarea\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pTextarea\n [class]=\"controlWithInputClassName()\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </textarea>\n }\n @case ('mask') {\n <p-inputMask\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"descriptor.mask\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"controlWithInputClassName()\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\" />\n }\n @case ('file') {\n <p-fileUpload\n #fileUploadInput\n [id]=\"$any(key)\"\n [disabled]=\"iFormControl.disabled\"\n [multiple]=\"descriptor.fileMultiple ?? false\"\n [accept]=\"descriptor.fileAccept ?? (descriptor.fieldType === DESC_INPUT_TYPE_IMAGE_FILE ? 'image/*' : undefined)\"\n [maxFileSize]=\"descriptor.fileMaxFileSize ?? 500000\"\n [showUploadButton]=\"false\"\n chooseStyleClass=\"p-button-sm p-button-outlined\"\n cancelStyleClass=\"p-button-sm p-button-outlined\"\n [styleClass]=\"controlClassName()\"\n mode=\"advanced\"\n (onSelect)=\"onFileSelect($event)\"\n (onRemove)=\"onFileRemove($event)\"\n (onClear)=\"onFileClear($event)\">\n <ng-template #file let-file let-idx=\"index\">\n <div class=\"p-fileupload-file\">\n <div>\n @if (fileUploadInput.isImage(file)) {\n @if (descriptor.imagePreview) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: file.objectURL\n }\">\n </ng-container>\n } @else if (!isFileImageSvg(file) || descriptor.imagePreviewAllowSvg) {\n <img [src]=\"file.objectURL\" [width]=\"fileUploadInput.previewWidth\" (error)=\"fileUploadInput.imageError($event)\" />\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i [class]=\"'pi ' + getFileDocumentTypeIcon(file) + ' text-2xl'\"></i>\n </span>\n }\n </div>\n <div class=\"p-fileupload-file-info\">\n <div class=\"p-fileupload-file-name\">{{ file.name }}</div>\n <span class=\"p-fileupload-file-size\">{{ fileUploadInput.formatSize(file.size) }}</span>\n </div>\n <div class=\"p-fileupload-file-actions\">\n <p-button\n icon=\"pi pi-times\"\n severity=\"danger\"\n size=\"small\"\n outlined=\"true\"\n rounded=\"true\"\n (click)=\"fileUploadInput.remove($event, idx)\"\n [disabled]=\"fileUploadInput.uploading\" />\n </div>\n </div>\n </ng-template>\n <ng-template #empty>\n <div class=\"text-gray-300 mng-fileupload-dragdrop-zone\">\n <span><i class=\"pi pi-file-import mr-2\"></i>{{ 'fileUpload.dragAndDrop' | translate }}</span>\n </div>\n </ng-template>\n </p-fileUpload>\n }\n @case ('imageUrl') {\n <div>\n @if (descriptor.imagePreview) {\n <div class=\"flex flex-wrap justify-start\">\n @for (image of imageFormArray.controls; track image; let idx = $index) {\n @if (imageFormArray.at(idx).valid && imageFormArray.at(idx).value) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: imageFormArray.at(idx).value\n }\">\n </ng-container>\n } @else if (!isUrlSvgImage(imageFormArray.at(idx).value) || descriptor.imagePreviewAllowSvg) {\n <p-image [src]=\"imageFormArray.at(idx).value\" [preview]=\"true\" (onImageError)=\"onImageUrlLoadError()\" styleClass=\"mng-image m-2\"></p-image>\n } @else {\n <span class=\"mng-image m-2 p-image-preview mng-no-image\">\n <div class=\"p-image-preview-indicator\">\n <i class=\"p-image-preview-icon pi pi-ban\"></i>\n </div>\n </span>\n }\n }\n }\n </div>\n }\n @if (!descriptor.imagePreview || descriptor.imageUrlInputVisibleOnDisabled || !iFormControl.disabled) {\n @for (imageCtrlName of imageFormArray.controls; track imageCtrlName; let idx = $index) {\n <p-inputgroup [styleClass]=\"controlClassName() + ' mb-1'\">\n <input\n pInputText\n [placeholder]=\"'mngEditor.imageUrlPlaceholder' | translate\"\n [id]=\"$any(key)\"\n type=\"text\"\n [class]=\"controlInputClassName()\"\n [formControl]=\"$any(imageFormArray.at(idx))\"\n [formlyAttributes]=\"field\" />\n @if (descriptor.fileMultiple && !iFormControl.disabled && imageFormArray.controls.length > 1) {\n <p-inputgroup-addon>\n <p-button type=\"button\" icon=\"pi pi-minus\" severity=\"secondary\" (click)=\"removeImageUrlAt(idx)\"></p-button>\n </p-inputgroup-addon>\n }\n </p-inputgroup>\n }\n @if (descriptor.fileMultiple && !iFormControl.disabled) {\n <p-button\n type=\"button\"\n icon=\"pi pi-plus\"\n size=\"small\"\n severity=\"primary\"\n outlined=\"true\"\n styleClass=\"mt-2\"\n [label]=\"'mngEditor.imageUrlAdd' | translate\"\n (click)=\"addImageUrl()\"></p-button>\n }\n }\n </div>\n }\n @default {\n <input\n pInputText\n [class]=\"controlWithInputClassName()\"\n [id]=\"$any(key)\"\n [type]=\"props.type || 'text'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n }\n}\n", styles: ["mng-formly-field-input .mng-image.p-image-preview{height:150px}mng-formly-field-input .mng-image.p-image-preview img{max-height:100%}mng-formly-field-input .mng-image.p-image-preview.mng-no-image{width:150px}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator{background-color:var(--p-surface-200);height:100%;opacity:1;cursor:default;display:flex;align-items:center;justify-content:center}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator .p-image-preview-icon{color:var(--p-primary-800);font-size:1.5rem}mng-formly-field-input .p-fileupload .p-fileupload-content{gap:var(--mng-fileupload-content-gap, 0);padding:var(--p-panel-header-padding)}mng-formly-field-input .p-fileupload .p-fileupload-content .p-progressbar{display:none}mng-formly-field-input .p-fileupload .p-fileupload-content .mng-fileupload-dragdrop-zone{height:5rem;display:flex;border:dashed;border-radius:8px;align-items:center;justify-content:center}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file>div:first-child{flex-grow:0;flex-shrink:0;width:50px;padding:0}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file img{max-width:100%}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar span.p-fileupload-choose{width:auto}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar p-button button{width:auto}\n"] }]
4113
+ InputEmptyValueDirective,
4114
+ FormlyAttributes,
4115
+ FormlyValidationMessage
4116
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "@switch (props.type) {\n @case ('number') {\n <p-inputNumber\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [min]=\"(descriptor.numberAutoCorrect ? descriptor.numberMin : undefined) ?? NUMBER_MIN_SAFE\"\n [max]=\"(descriptor.numberAutoCorrect ? descriptor.numberMax : undefined) ?? NUMBER_MAX_SAFE\"\n [step]=\"descriptor.numberStep ?? 1\"\n [useGrouping]=\"descriptor.numberUseGrouping\"\n [minFractionDigits]=\"descriptor.numberMinFractionDigits || 0\"\n [maxFractionDigits]=\"descriptor.numberMaxFractionDigits || 0\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [locale]=\"descriptor.locale ?? applicationLocale\"\n [mode]=\"numberFieldMode\"\n [prefix]=\"descriptor.numberPrefix\"\n [suffix]=\"descriptor.numberSuffix\"\n [currency]=\"currency\"\n [currencyDisplay]=\"descriptor.currencyDisplay\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </p-inputNumber>\n }\n @case ('switch') {\n <div class=\"flex flex-col\">\n <label [for]=\"key\" [class]=\"labelClassName()\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n </label>\n <p-toggle-switch [id]=\"$any(key)\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-toggle-switch>\n @if (showError) {\n <small class=\"mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n </div>\n }\n @case ('radio') {\n @for (option of descriptor.radioOptions; track option) {\n <div [id]=\"key\" class=\"mb-2\">\n <p-radioButton [name]=\"$any(key)\" [value]=\"option.value\" [formControl]=\"iFormControl\" [formlyAttributes]=\"field\" [styleClass]=\"controlClassName()\"></p-radioButton>\n <label [for]=\"option.value\" [class]=\"'ml-2 ' + (descriptor.radioLabelClassName ?? '')\">{{ option.title | translate }}</label>\n </div>\n }\n }\n @case ('textarea') {\n <textarea\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [rows]=\"descriptor.rows ?? 3\"\n pTextarea\n [class]=\"controlWithInputClassName()\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\">\n </textarea>\n }\n @case ('mask') {\n <p-inputMask\n [id]=\"$any(key)\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mask]=\"descriptor.mask\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n [slotChar]=\"$any(descriptor.slotChar)\"\n [styleClass]=\"controlWithInputClassName()\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\" />\n }\n @case ('file') {\n <p-fileUpload\n #fileUploadInput\n [id]=\"$any(key)\"\n [disabled]=\"iFormControl.disabled\"\n [multiple]=\"descriptor.fileMultiple ?? false\"\n [accept]=\"descriptor.fileAccept ?? (descriptor.fieldType === DESC_INPUT_TYPE_IMAGE_FILE ? 'image/*' : undefined)\"\n [maxFileSize]=\"descriptor.fileMaxFileSize ?? 500000\"\n [showUploadButton]=\"false\"\n chooseStyleClass=\"p-button-sm p-button-outlined\"\n cancelStyleClass=\"p-button-sm p-button-outlined\"\n [styleClass]=\"controlClassName()\"\n mode=\"advanced\"\n (onSelect)=\"onFileSelect($event)\"\n (onRemove)=\"onFileRemove($event)\"\n (onClear)=\"onFileClear($event)\">\n <ng-template #file let-file let-idx=\"index\">\n <div class=\"p-fileupload-file\">\n <div>\n @if (fileUploadInput.isImage(file)) {\n @if (descriptor.imagePreview) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: file.objectURL\n }\">\n </ng-container>\n } @else if (!isFileImageSvg(file) || descriptor.imagePreviewAllowSvg) {\n <img [src]=\"file.objectURL\" [width]=\"fileUploadInput.previewWidth\" (error)=\"fileUploadInput.imageError($event)\" />\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i class=\"pi pi-image text-2xl\"></i>\n </span>\n }\n } @else {\n <span class=\"flex items-center justify-center\">\n <i [class]=\"'pi ' + getFileDocumentTypeIcon(file) + ' text-2xl'\"></i>\n </span>\n }\n </div>\n <div class=\"p-fileupload-file-info\">\n <div class=\"p-fileupload-file-name\">{{ file.name }}</div>\n <span class=\"p-fileupload-file-size\">{{ fileUploadInput.formatSize(file.size) }}</span>\n </div>\n <div class=\"p-fileupload-file-actions\">\n <p-button\n icon=\"pi pi-times\"\n severity=\"danger\"\n size=\"small\"\n outlined=\"true\"\n rounded=\"true\"\n (click)=\"fileUploadInput.remove($event, idx)\"\n [disabled]=\"fileUploadInput.uploading\" />\n </div>\n </div>\n </ng-template>\n <ng-template #empty>\n <div class=\"text-gray-300 mng-fileupload-dragdrop-zone\">\n <span><i class=\"pi pi-file-import mr-2\"></i>{{ 'fileUpload.dragAndDrop' | translate }}</span>\n </div>\n </ng-template>\n </p-fileUpload>\n }\n @case ('imageUrl') {\n <div>\n @if (descriptor.imagePreview) {\n <div class=\"flex flex-wrap justify-start\">\n @for (image of imageFormArray.controls; track image; let idx = $index) {\n @if (imageFormArray.at(idx).valid && imageFormArray.at(idx).value) {\n @if (descriptor.imagePreviewComponent) {\n <ng-container\n [mngComponent]=\"descriptor.imagePreviewComponent\"\n [inputs]=\"{\n imageUrl: imageFormArray.at(idx).value\n }\">\n </ng-container>\n } @else if (!isUrlSvgImage(imageFormArray.at(idx).value) || descriptor.imagePreviewAllowSvg) {\n <p-image [src]=\"imageFormArray.at(idx).value\" [preview]=\"true\" (onImageError)=\"onImageUrlLoadError()\" styleClass=\"mng-image m-2\"></p-image>\n } @else {\n <span class=\"mng-image m-2 p-image-preview mng-no-image\">\n <div class=\"p-image-preview-indicator\">\n <i class=\"p-image-preview-icon pi pi-ban\"></i>\n </div>\n </span>\n }\n }\n }\n </div>\n }\n @if (!descriptor.imagePreview || descriptor.imageUrlInputVisibleOnDisabled || !iFormControl.disabled) {\n @for (imageCtrlName of imageFormArray.controls; track imageCtrlName; let idx = $index) {\n <p-inputgroup [styleClass]=\"controlClassName() + ' mb-1'\">\n <input\n pInputText\n [placeholder]=\"'mngEditor.imageUrlPlaceholder' | translate\"\n [id]=\"$any(key)\"\n type=\"text\"\n [class]=\"controlInputClassName()\"\n [formControl]=\"$any(imageFormArray.at(idx))\"\n [formlyAttributes]=\"field\" />\n @if (descriptor.fileMultiple && !iFormControl.disabled && imageFormArray.controls.length > 1) {\n <p-inputgroup-addon>\n <p-button type=\"button\" icon=\"pi pi-minus\" severity=\"secondary\" (click)=\"removeImageUrlAt(idx)\"></p-button>\n </p-inputgroup-addon>\n }\n </p-inputgroup>\n }\n @if (descriptor.fileMultiple && !iFormControl.disabled) {\n <p-button\n type=\"button\"\n icon=\"pi pi-plus\"\n size=\"small\"\n severity=\"primary\"\n outlined=\"true\"\n styleClass=\"mt-2\"\n [label]=\"'mngEditor.imageUrlAdd' | translate\"\n (click)=\"addImageUrl()\"></p-button>\n }\n }\n </div>\n }\n @default {\n <input\n pInputText\n [class]=\"controlWithInputClassName()\"\n [id]=\"$any(key)\"\n [type]=\"props.type || 'text'\"\n [formControl]=\"iFormControl\"\n [formlyAttributes]=\"field\"\n [mngInputTrim]=\"descriptor.textTrim ?? 'both'\"\n [mngInputEmptyValue]=\"descriptor.emptyValue ?? 'undefined'\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n }\n}\n", styles: ["mng-formly-field-input .mng-image.p-image-preview{height:150px}mng-formly-field-input .mng-image.p-image-preview img{max-height:100%}mng-formly-field-input .mng-image.p-image-preview.mng-no-image{width:150px}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator{background-color:var(--p-surface-200);height:100%;opacity:1;cursor:default;display:flex;align-items:center;justify-content:center}mng-formly-field-input .mng-image.p-image-preview.mng-no-image .p-image-preview-indicator .p-image-preview-icon{color:var(--p-primary-800);font-size:1.5rem}mng-formly-field-input .p-fileupload .p-fileupload-content{gap:var(--mng-fileupload-content-gap, 0);padding:var(--p-panel-header-padding)}mng-formly-field-input .p-fileupload .p-fileupload-content .p-progressbar{display:none}mng-formly-field-input .p-fileupload .p-fileupload-content .mng-fileupload-dragdrop-zone{height:5rem;display:flex;border:dashed;border-radius:8px;align-items:center;justify-content:center}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file>div:first-child{flex-grow:0;flex-shrink:0;width:50px;padding:0}mng-formly-field-input .p-fileupload .p-fileupload-content .p-fileupload-file-list .p-fileupload-file img{max-width:100%}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar span.p-fileupload-choose{width:auto}mng-formly-field-input .p-fileupload .p-fileupload-buttonbar p-button button{width:auto}\n"] }]
4118
4117
  }] });
4119
4118
 
4120
4119
  class FormlyFieldLabelComponent extends ACommonsFormlyFieldType {
@@ -4126,10 +4125,10 @@ class FormlyFieldLabelComponent extends ACommonsFormlyFieldType {
4126
4125
  super.ngOnInit();
4127
4126
  this.formControl?.patchValue(this.descriptor.label);
4128
4127
  }
4129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: FormlyFieldLabelComponent, isStandalone: true, selector: "mng-formly-field-label", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4128
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldLabelComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4129
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.7", type: FormlyFieldLabelComponent, isStandalone: true, selector: "mng-formly-field-label", host: { properties: { "class": "this.className" } }, usesInheritance: true, ngImport: i0, template: "", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4131
4130
  }
4132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldLabelComponent, decorators: [{
4131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldLabelComponent, decorators: [{
4133
4132
  type: Component,
4134
4133
  args: [{ selector: 'mng-formly-field-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "" }]
4135
4134
  }], propDecorators: { className: [{
@@ -4138,18 +4137,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4138
4137
  }] } });
4139
4138
 
4140
4139
  class FormlyFieldLookupDialogComponent extends ACommonsFormlyFieldType {
4141
- constructor(injector) {
4142
- super();
4143
- this.injector = injector;
4140
+ constructor() {
4141
+ super(...arguments);
4142
+ this.injector = inject(Injector);
4144
4143
  this.logger = inject(LoggerService).create('FormlyFieldLookupDialogComponent');
4145
4144
  this.fieldLabelFormControl = new FormControl();
4146
- this.addItems = signal({ data: [], totalCount: 0 });
4145
+ this.addItems = signal({ data: [], totalCount: 0 }, ...(ngDevMode ? [{ debugName: "addItems" }] : []));
4147
4146
  this.dialogUseDataProvider = false;
4148
4147
  this.dialogDataProviderService = null;
4149
4148
  this.isDialogVisible = false;
4150
4149
  this.dialogAreItemsLoaded = false;
4151
4150
  this.dialogSelectedItem = null;
4152
- this.dialogIsLoading = signal(false);
4151
+ this.dialogIsLoading = signal(false, ...(ngDevMode ? [{ debugName: "dialogIsLoading" }] : []));
4153
4152
  }
4154
4153
  ngOnInit() {
4155
4154
  super.ngOnInit();
@@ -4242,18 +4241,6 @@ class FormlyFieldLookupDialogComponent extends ACommonsFormlyFieldType {
4242
4241
  onSelectionChange(item) {
4243
4242
  this.dialogSelectedItem = item;
4244
4243
  }
4245
- onCaptionCmpInst(instance) {
4246
- this.descriptor.nextEvent(FormFieldEventTypeEnum.DialogLifecycle, this, {
4247
- eventSubtype: FormFieldEventDialogSubtype.TABLE_CAPTION_COMPONENT_INSTANCE,
4248
- captionComponentInstance: instance
4249
- });
4250
- }
4251
- onColumnActionCmpInst(instance) {
4252
- this.descriptor.nextEvent(FormFieldEventTypeEnum.DialogLifecycle, this, {
4253
- eventSubtype: FormFieldEventDialogSubtype.TABLE_COLUMN_ACTIONS_COMPONENT_INSTANCE,
4254
- captionComponentInstance: instance
4255
- });
4256
- }
4257
4244
  clear() {
4258
4245
  this.formControl.setValue(undefined);
4259
4246
  this.formControl.markAsTouched();
@@ -4293,16 +4280,25 @@ class FormlyFieldLookupDialogComponent extends ACommonsFormlyFieldType {
4293
4280
  this.fieldLabelFormControl.setValue(value);
4294
4281
  }
4295
4282
  }
4296
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldLookupDialogComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
4297
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldLookupDialogComponent, isStandalone: true, selector: "mng-formly-field-lookup-dialog", providers: [provideViewContainer(false)], viewQueries: [{ propertyName: "table", first: true, predicate: TableComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<p-inputgroup [styleClass]=\"controlClassName()\">\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-search\" text=\"true\" severity=\"secondary\" [disabled]=\"formControl.disabled\" (click)=\"openSelectDialog()\"></button>\n </p-inputgroup-addon>\n <input\n pInputText\n type=\"text\"\n (click)=\"openSelectDialog()\"\n [id]=\"$any(key)\"\n [readonly]=\"true\"\n [formlyAttributes]=\"field\"\n [formControl]=\"fieldLabelFormControl\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n @if (!props.required && formControl.value && !formControl.disabled) {\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"clear()\"></button>\n </p-inputgroup-addon>\n }\n</p-inputgroup>\n\n<p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.search' | translate: {item: props.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-formly-field-lookup-dialog\">\n <ng-template #content>\n <mng-table\n [descriptor]=\"descriptor.dialogTableDescriptor!\"\n [dataProvider]=\"descriptor.dialogTableDataProvider\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [selectionMode]=\"'single'\"\n [loading]=\"dialogIsLoading()\"\n [captionComponent]=\"config.table?.captionComponent\"\n [columnCustomLastComponent]=\"config.table?.columnActionComponent\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"onCaptionCmpInst($event)\"\n (columnCustomLastComponentInstance)=\"onColumnActionCmpInst($event)\">\n </mng-table>\n </ng-template>\n\n <ng-template #footer>\n <button pButton type=\"button\" severity=\"secondary\" text=\"true\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.select' | translate\"\n icon=\"pi pi-check\"\n (click)=\"onAddItem()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n", dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i1$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["variant", "fluid", "pSize"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["style", "styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4283
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldLookupDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4284
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldLookupDialogComponent, isStandalone: true, selector: "mng-formly-field-lookup-dialog", providers: [provideViewContainer(false)], usesInheritance: true, ngImport: i0, template: "<p-inputgroup [styleClass]=\"controlClassName()\">\n <p-inputgroup [styleClass]=\"controlClassName()\">\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-search\" text=\"true\" severity=\"secondary\" [disabled]=\"formControl.disabled\" (click)=\"openSelectDialog()\"></button>\n </p-inputgroup-addon>\n <input\n pInputText\n type=\"text\"\n (click)=\"openSelectDialog()\"\n [id]=\"$any(key)\"\n [readonly]=\"true\"\n [formlyAttributes]=\"field\"\n [formControl]=\"fieldLabelFormControl\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n @if (!props.required && formControl.value && !formControl.disabled) {\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"clear()\"></button>\n </p-inputgroup-addon>\n }\n </p-inputgroup>\n\n <p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.search' | translate: {item: props.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-formly-field-lookup-dialog\">\n <ng-template #content>\n <mng-table\n [descriptor]=\"descriptor.dialogTableDescriptor!\"\n [dataProvider]=\"descriptor.dialogTableDataProvider\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [selectionMode]=\"'single'\"\n [loading]=\"dialogIsLoading()\"\n (selectionChange)=\"onSelectionChange($event)\">\n @if (config.table?.headerTitleComponent; as captionComponent) {\n <ng-template mngTableTemplate name=\"headerTitle\">\n <ng-container [mngComponent]=\"captionComponent\" attachToHost=\"true\"></ng-container>\n </ng-template>\n }\n @if (config.table?.columnActionComponent; as columnActionComponent) {\n <ng-template mngTableTemplate name=\"columnCustomLast\">\n <ng-container [mngComponent]=\"columnActionComponent\" attachToHost=\"true\"></ng-container>\n </ng-template>\n }\n </mng-table>\n </ng-template>\n\n <ng-template #footer>\n <button pButton type=\"button\" severity=\"secondary\" text=\"true\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.select' | translate\"\n icon=\"pi pi-check\"\n (click)=\"onAddItem()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n </p-dialog>\n</p-inputgroup>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "globalFilterFields", "templates"], outputs: ["tableLoad", "cellClick", "selectionChange", "rowReorder"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["pSize", "variant", "fluid", "invalid"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "directive", type: TableTemplateDirective, selector: "[mngTableTemplate]", inputs: ["name"] }, { kind: "directive", type: ComponentDirective, selector: "[mngComponent]", inputs: ["mngComponent", "injectionToken", "inputs", "attachToHost", "parentInjector"], outputs: ["instanceCreated"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4298
4285
  }
4299
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldLookupDialogComponent, decorators: [{
4286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldLookupDialogComponent, decorators: [{
4300
4287
  type: Component,
4301
- args: [{ selector: 'mng-formly-field-lookup-dialog', imports: [TranslatePipe, FormlyModule, ReactiveFormsModule, Dialog, TableComponent, InputText, InputGroup, InputGroupAddon, ButtonDirective], providers: [provideViewContainer(false)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-inputgroup [styleClass]=\"controlClassName()\">\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-search\" text=\"true\" severity=\"secondary\" [disabled]=\"formControl.disabled\" (click)=\"openSelectDialog()\"></button>\n </p-inputgroup-addon>\n <input\n pInputText\n type=\"text\"\n (click)=\"openSelectDialog()\"\n [id]=\"$any(key)\"\n [readonly]=\"true\"\n [formlyAttributes]=\"field\"\n [formControl]=\"fieldLabelFormControl\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n @if (!props.required && formControl.value && !formControl.disabled) {\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"clear()\"></button>\n </p-inputgroup-addon>\n }\n</p-inputgroup>\n\n<p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.search' | translate: {item: props.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-formly-field-lookup-dialog\">\n <ng-template #content>\n <mng-table\n [descriptor]=\"descriptor.dialogTableDescriptor!\"\n [dataProvider]=\"descriptor.dialogTableDataProvider\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [selectionMode]=\"'single'\"\n [loading]=\"dialogIsLoading()\"\n [captionComponent]=\"config.table?.captionComponent\"\n [columnCustomLastComponent]=\"config.table?.columnActionComponent\"\n (selectionChange)=\"onSelectionChange($event)\"\n (captionComponentInstance)=\"onCaptionCmpInst($event)\"\n (columnCustomLastComponentInstance)=\"onColumnActionCmpInst($event)\">\n </mng-table>\n </ng-template>\n\n <ng-template #footer>\n <button pButton type=\"button\" severity=\"secondary\" text=\"true\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.select' | translate\"\n icon=\"pi pi-check\"\n (click)=\"onAddItem()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n</p-dialog>\n" }]
4302
- }], ctorParameters: () => [{ type: i0.Injector }], propDecorators: { table: [{
4303
- type: ViewChild,
4304
- args: [TableComponent]
4305
- }] } });
4288
+ args: [{ selector: 'mng-formly-field-lookup-dialog', imports: [
4289
+ TranslatePipe,
4290
+ ReactiveFormsModule,
4291
+ Dialog,
4292
+ TableComponent,
4293
+ InputText,
4294
+ InputGroup,
4295
+ InputGroupAddon,
4296
+ ButtonDirective,
4297
+ FormlyAttributes,
4298
+ TableTemplateDirective,
4299
+ ComponentDirective
4300
+ ], providers: [provideViewContainer(false)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-inputgroup [styleClass]=\"controlClassName()\">\n <p-inputgroup [styleClass]=\"controlClassName()\">\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-search\" text=\"true\" severity=\"secondary\" [disabled]=\"formControl.disabled\" (click)=\"openSelectDialog()\"></button>\n </p-inputgroup-addon>\n <input\n pInputText\n type=\"text\"\n (click)=\"openSelectDialog()\"\n [id]=\"$any(key)\"\n [readonly]=\"true\"\n [formlyAttributes]=\"field\"\n [formControl]=\"fieldLabelFormControl\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\" />\n @if (!props.required && formControl.value && !formControl.disabled) {\n <p-inputgroup-addon>\n <button pButton type=\"button\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"clear()\"></button>\n </p-inputgroup-addon>\n }\n </p-inputgroup>\n\n <p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.search' | translate: {item: props.label!}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-formly-field-lookup-dialog\">\n <ng-template #content>\n <mng-table\n [descriptor]=\"descriptor.dialogTableDescriptor!\"\n [dataProvider]=\"descriptor.dialogTableDataProvider\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [selectionMode]=\"'single'\"\n [loading]=\"dialogIsLoading()\"\n (selectionChange)=\"onSelectionChange($event)\">\n @if (config.table?.headerTitleComponent; as captionComponent) {\n <ng-template mngTableTemplate name=\"headerTitle\">\n <ng-container [mngComponent]=\"captionComponent\" attachToHost=\"true\"></ng-container>\n </ng-template>\n }\n @if (config.table?.columnActionComponent; as columnActionComponent) {\n <ng-template mngTableTemplate name=\"columnCustomLast\">\n <ng-container [mngComponent]=\"columnActionComponent\" attachToHost=\"true\"></ng-container>\n </ng-template>\n }\n </mng-table>\n </ng-template>\n\n <ng-template #footer>\n <button pButton type=\"button\" severity=\"secondary\" text=\"true\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.select' | translate\"\n icon=\"pi pi-check\"\n (click)=\"onAddItem()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </ng-template>\n </p-dialog>\n</p-inputgroup>\n" }]
4301
+ }] });
4306
4302
 
4307
4303
  const labelInfoTooltipDefaultIcon = 'pi pi-info-circle';
4308
4304
 
@@ -4311,7 +4307,7 @@ class FormlyFieldTableDialogFormComponent extends ACommonsFormlyFieldType {
4311
4307
  super(...arguments);
4312
4308
  this.injector = inject(Injector);
4313
4309
  this.labelInfoTooltipDefaultIcon = labelInfoTooltipDefaultIcon;
4314
- this.items = signal([]);
4310
+ this.items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : []));
4315
4311
  this.actions = [];
4316
4312
  this.toolbarRightActions = [];
4317
4313
  this.isDisabledSubject = new BehaviorSubject(false);
@@ -4523,12 +4519,12 @@ class FormlyFieldTableDialogFormComponent extends ACommonsFormlyFieldType {
4523
4519
  }
4524
4520
  return false;
4525
4521
  }
4526
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldTableDialogFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4527
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldTableDialogFormComponent, isStandalone: true, selector: "mng-formly-table-dialog-form-field", providers: [provideViewContainer(false)], usesInheritance: true, ngImport: i0, template: "<mng-action-table\n [descriptor]=\"descriptor.tableDescriptor\"\n [items]=\"items()\"\n [actions]=\"actions\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n tableClassName=\"mng-table-header-compact pb-2\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex justify-end items-center\">\n <label class=\"grow\" [for]=\"key\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n <div>\n @for (action of toolbarRightActions; track action) {\n <mng-action [action]=\"action\" [hostComponent]=\"this\"></mng-action>\n }\n </div>\n </div>\n </ng-template>\n</mng-action-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "component", type: ActionTableComponent, selector: "mng-action-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "tableClassName", "selectionMode", "selectionEnabled", "globalFilterFields", "rowReorderEnabled", "actions", "captionComponent", "columnActionComponent", "columnActionMinWidth"], outputs: ["tableLoad", "selectionChange", "captionComponentInstance", "columnActionComponentInstance", "rowReorder"] }, { kind: "directive", type: TemplateDirective, selector: "[mngTemplate]", inputs: ["mngTemplate"] }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4522
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldTableDialogFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4523
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldTableDialogFormComponent, isStandalone: true, selector: "mng-formly-table-dialog-form-field", providers: [provideViewContainer(false)], usesInheritance: true, ngImport: i0, template: "<mng-action-table\n [descriptor]=\"descriptor.tableDescriptor\"\n [items]=\"items()\"\n [actions]=\"actions\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n tableClassName=\"mng-table-header-compact pb-2\">\n <ng-template mngTableTemplate name=\"headerTitle\">\n <div class=\"flex justify-end items-center\">\n <label class=\"grow\" [for]=\"key\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n </div>\n </ng-template>\n <ng-template mngTableTemplate name=\"headerTitleRowRight\">\n <div class=\"flex justify-end items-center grow\">\n @for (action of toolbarRightActions; track action) {\n <mng-action [action]=\"action\" [hostComponent]=\"this\"></mng-action>\n }\n </div>\n </ng-template>\n</mng-action-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"], dependencies: [{ kind: "component", type: ActionComponent, selector: "mng-action", inputs: ["action", "item", "itemId", "actionData", "dataListParams", "dataProvider", "hostComponent", "route", "disabled", "loading", "selectedItems"], outputs: ["finish"] }, { kind: "component", type: ActionTableComponent, selector: "mng-action-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "tableTemplates", "tableClassName", "selectionMode", "selectionEnabled", "globalFilterFields", "rowReorderEnabled", "actions", "columnActionMinWidth"], outputs: ["tableLoad", "selectionChange", "rowReorder"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "directive", type: TableTemplateDirective, selector: "[mngTableTemplate]", inputs: ["name"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4528
4524
  }
4529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldTableDialogFormComponent, decorators: [{
4525
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldTableDialogFormComponent, decorators: [{
4530
4526
  type: Component,
4531
- args: [{ selector: 'mng-formly-table-dialog-form-field', imports: [TranslatePipe, ActionComponent, ActionTableComponent, TemplateDirective, FormlyFieldLabelPipe, NgClass, Tooltip], providers: [provideViewContainer(false)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-action-table\n [descriptor]=\"descriptor.tableDescriptor\"\n [items]=\"items()\"\n [actions]=\"actions\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n tableClassName=\"mng-table-header-compact pb-2\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex justify-end items-center\">\n <label class=\"grow\" [for]=\"key\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n <div>\n @for (action of toolbarRightActions; track action) {\n <mng-action [action]=\"action\" [hostComponent]=\"this\"></mng-action>\n }\n </div>\n </div>\n </ng-template>\n</mng-action-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"] }]
4527
+ args: [{ selector: 'mng-formly-table-dialog-form-field', imports: [TranslatePipe, ActionComponent, ActionTableComponent, FormlyFieldLabelPipe, NgClass, Tooltip, TableTemplateDirective], providers: [provideViewContainer(false)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-action-table\n [descriptor]=\"descriptor.tableDescriptor\"\n [items]=\"items()\"\n [actions]=\"actions\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n tableClassName=\"mng-table-header-compact pb-2\">\n <ng-template mngTableTemplate name=\"headerTitle\">\n <div class=\"flex justify-end items-center\">\n <label class=\"grow\" [for]=\"key\"\n >{{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n </div>\n </ng-template>\n <ng-template mngTableTemplate name=\"headerTitleRowRight\">\n <div class=\"flex justify-end items-center grow\">\n @for (action of toolbarRightActions; track action) {\n <mng-action [action]=\"action\" [hostComponent]=\"this\"></mng-action>\n }\n </div>\n </ng-template>\n</mng-action-table>\n", styles: [".submit-button{display:none!important;visibility:hidden}\n"] }]
4532
4528
  }] });
4533
4529
 
4534
4530
  class FormlyFieldTableDialogMultiselectComponent extends ACommonsFormlyFieldType {
@@ -4537,13 +4533,13 @@ class FormlyFieldTableDialogMultiselectComponent extends ACommonsFormlyFieldType
4537
4533
  this.injector = inject(Injector);
4538
4534
  this.logger = inject(LoggerService).create('FormlyFieldTableDialogMultiselectComponent');
4539
4535
  this.labelInfoTooltipDefaultIcon = labelInfoTooltipDefaultIcon;
4540
- this.items = signal([]);
4541
- this.addItems = signal({ data: [], totalCount: 0 });
4536
+ this.items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : []));
4537
+ this.addItems = signal({ data: [], totalCount: 0 }, ...(ngDevMode ? [{ debugName: "addItems" }] : []));
4542
4538
  this.dialogDataProviderService = null;
4543
4539
  this.isDialogVisible = false;
4544
4540
  this.dialogAreItemsLoaded = false;
4545
4541
  this.dialogSelectedAddItems = [];
4546
- this.dialogIsLoading = signal(false);
4542
+ this.dialogIsLoading = signal(false, ...(ngDevMode ? [{ debugName: "dialogIsLoading" }] : []));
4547
4543
  this.hasAddAction = false;
4548
4544
  this.hasDeleteAction = false;
4549
4545
  this.searchDebounceSubject = new Subject();
@@ -4700,12 +4696,12 @@ class FormlyFieldTableDialogMultiselectComponent extends ACommonsFormlyFieldType
4700
4696
  this.formControl.setValue(newValue);
4701
4697
  this.descriptor.nextEvent(FormFieldEventTypeEnum.RowReorder, this, { dragIndex: event.dragIndex, dropIndex: event.dropIndex });
4702
4698
  }
4703
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4704
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldTableDialogMultiselectComponent, isStandalone: true, selector: "mng-formly-table-multiselect-add-field", providers: [provideViewContainer(false)], viewQueries: [{ propertyName: "addTableComponent", first: true, predicate: ["addTableComponent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mng-table\n [descriptor]=\"descriptor.mainTableDescriptor\"\n [items]=\"items()\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n class=\"mng-table-header-compact\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex justify-end items-center\">\n <label class=\"grow\" [for]=\"key\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n <div>\n @if (hasAddAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-plus\"\n rounded=\"true\"\n outlined=\"true\"\n class=\"mng-button-xs\"\n (click)=\"openAddDialog()\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </div>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnCustomLast\" let-item=\"rowItem\">\n @if (hasDeleteAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n outlined=\"true\"\n severity=\"danger\"\n rounded=\"true\"\n class=\"mng-button-xs\"\n (click)=\"removeItem(item)\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </ng-template>\n</mng-table>\n\n@if (hasAddAction) {\n <p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: props.label! | translate}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-dialog-sm mng-formly-field-table-multiselect-dialog\">\n <ng-template #content class=\"table-container\">\n <div class=\"h-full flex flex-col\">\n <div class=\"grow formly-field-table-multiselect-dialog-form-container\">\n <div class=\"mng-formly-field-table-multiselect-dialog-table\">\n <mng-table\n #addTableComponent\n [descriptor]=\"descriptor.lookupTableDescriptor\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading()\"\n (selectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n </div>\n </div>\n <div class=\"flex flex-row justify-end mng-formly-field-table-multiselect-dialog-footer\">\n <button pButton type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.add' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-primary\"\n (click)=\"onAddItems()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </div>\n </div>\n </ng-template>\n </p-dialog>\n}\n", styles: [".table-footer{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;align-content:center;margin-top:2rem}.table-container{overflow:hidden}.table-footer button{width:8rem}.table-footer button:not(:first-child){margin-left:1.5rem}.table-scroll{max-height:75vh;overflow-y:auto}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "captionComponent", "columnCustomLastComponent", "globalFilterFields"], outputs: ["tableLoad", "cellClick", "selectionChange", "captionComponentInstance", "columnCustomLastComponentInstance", "rowReorder"] }, { kind: "directive", type: TemplateDirective, selector: "[mngTemplate]", inputs: ["mngTemplate"] }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4699
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4700
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldTableDialogMultiselectComponent, isStandalone: true, selector: "mng-formly-table-multiselect-add-field", providers: [provideViewContainer(false)], viewQueries: [{ propertyName: "addTableComponent", first: true, predicate: ["addTableComponent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<mng-table\n [descriptor]=\"descriptor.mainTableDescriptor\"\n [items]=\"items()\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n class=\"mng-table-header-compact\">\n <ng-template mngTableTemplate name=\"headerTitle\">\n <label [for]=\"key\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n </ng-template>\n <ng-template mngTableTemplate name=\"headerTitleRowRight\">\n <div class=\"flex grow justify-end\">\n @if (hasAddAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-plus\"\n rounded=\"true\"\n outlined=\"true\"\n class=\"mng-button-xs\"\n (click)=\"openAddDialog()\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </div>\n </ng-template>\n <ng-template mngTableTemplate name=\"columnCustomLast\" let-item=\"item\">\n @if (hasDeleteAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n outlined=\"true\"\n severity=\"danger\"\n rounded=\"true\"\n class=\"mng-button-xs\"\n (click)=\"removeItem(item)\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </ng-template>\n</mng-table>\n\n@if (hasAddAction) {\n <p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: props.label! | translate}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-dialog-sm mng-formly-field-table-multiselect-dialog\">\n <ng-template #content class=\"table-container\">\n <div class=\"h-full flex flex-col\">\n <div class=\"grow formly-field-table-multiselect-dialog-form-container\">\n <div class=\"mng-formly-field-table-multiselect-dialog-table\">\n <mng-table\n #addTableComponent\n [descriptor]=\"descriptor.lookupTableDescriptor\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading()\"\n (selectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n </div>\n </div>\n <div class=\"flex flex-row justify-end mng-formly-field-table-multiselect-dialog-footer\">\n <button pButton type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.add' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-primary\"\n (click)=\"onAddItems()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </div>\n </div>\n </ng-template>\n </p-dialog>\n}\n", styles: [".table-footer{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;align-content:center;margin-top:2rem}.table-container{overflow:hidden}.table-footer button{width:8rem}.table-footer button:not(:first-child){margin-left:1.5rem}.table-scroll{max-height:75vh;overflow-y:auto}\n"], dependencies: [{ kind: "component", type: TableComponent, selector: "mng-table", inputs: ["descriptor", "items", "result", "loading", "dataProvider", "useQueryParams", "cellClickEnabled", "selectionMode", "selectionEnabled", "rowReorderEnabled", "columnLastMinWidth", "globalFilterFields", "templates"], outputs: ["tableLoad", "cellClick", "selectionChange", "rowReorder"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "fluid", "label", "icon", "buttonProps"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "directive", type: TableTemplateDirective, selector: "[mngTableTemplate]", inputs: ["name"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4705
4701
  }
4706
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, decorators: [{
4702
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldTableDialogMultiselectComponent, decorators: [{
4707
4703
  type: Component,
4708
- args: [{ selector: 'mng-formly-table-multiselect-add-field', imports: [TranslatePipe, TableComponent, TemplateDirective, FormlyFieldLabelPipe, NgClass, ButtonDirective, Tooltip, Dialog], providers: [provideViewContainer(false)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table\n [descriptor]=\"descriptor.mainTableDescriptor\"\n [items]=\"items()\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n class=\"mng-table-header-compact\">\n <ng-template mngTemplate=\"caption\">\n <div class=\"flex justify-end items-center\">\n <label class=\"grow\" [for]=\"key\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n <div>\n @if (hasAddAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-plus\"\n rounded=\"true\"\n outlined=\"true\"\n class=\"mng-button-xs\"\n (click)=\"openAddDialog()\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </div>\n </div>\n </ng-template>\n <ng-template mngTemplate=\"columnCustomLast\" let-item=\"rowItem\">\n @if (hasDeleteAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n outlined=\"true\"\n severity=\"danger\"\n rounded=\"true\"\n class=\"mng-button-xs\"\n (click)=\"removeItem(item)\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </ng-template>\n</mng-table>\n\n@if (hasAddAction) {\n <p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: props.label! | translate}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-dialog-sm mng-formly-field-table-multiselect-dialog\">\n <ng-template #content class=\"table-container\">\n <div class=\"h-full flex flex-col\">\n <div class=\"grow formly-field-table-multiselect-dialog-form-container\">\n <div class=\"mng-formly-field-table-multiselect-dialog-table\">\n <mng-table\n #addTableComponent\n [descriptor]=\"descriptor.lookupTableDescriptor\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading()\"\n (selectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n </div>\n </div>\n <div class=\"flex flex-row justify-end mng-formly-field-table-multiselect-dialog-footer\">\n <button pButton type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.add' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-primary\"\n (click)=\"onAddItems()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </div>\n </div>\n </ng-template>\n </p-dialog>\n}\n", styles: [".table-footer{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;align-content:center;margin-top:2rem}.table-container{overflow:hidden}.table-footer button{width:8rem}.table-footer button:not(:first-child){margin-left:1.5rem}.table-scroll{max-height:75vh;overflow-y:auto}\n"] }]
4704
+ args: [{ selector: 'mng-formly-table-multiselect-add-field', imports: [TranslatePipe, TableComponent, FormlyFieldLabelPipe, NgClass, ButtonDirective, Tooltip, Dialog, TableTemplateDirective], providers: [provideViewContainer(false)], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-table\n [descriptor]=\"descriptor.mainTableDescriptor\"\n [items]=\"items()\"\n [rowReorderEnabled]=\"!disableRowReorder()\"\n (rowReorder)=\"onRowReorder($event)\"\n class=\"mng-table-header-compact\">\n <ng-template mngTableTemplate name=\"headerTitle\">\n <label [for]=\"key\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n </ng-template>\n <ng-template mngTableTemplate name=\"headerTitleRowRight\">\n <div class=\"flex grow justify-end\">\n @if (hasAddAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-plus\"\n rounded=\"true\"\n outlined=\"true\"\n class=\"mng-button-xs\"\n (click)=\"openAddDialog()\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </div>\n </ng-template>\n <ng-template mngTableTemplate name=\"columnCustomLast\" let-item=\"item\">\n @if (hasDeleteAction && !options.formState?.disabled) {\n <button\n pButton\n type=\"button\"\n icon=\"pi pi-trash\"\n outlined=\"true\"\n severity=\"danger\"\n rounded=\"true\"\n class=\"mng-button-xs\"\n (click)=\"removeItem(item)\"\n [disabled]=\"formControl!.disabled\"></button>\n }\n </ng-template>\n</mng-table>\n\n@if (hasAddAction) {\n <p-dialog\n [(visible)]=\"isDialogVisible\"\n [draggable]=\"false\"\n [header]=\"'general.addItem' | translate: {item: props.label! | translate}\"\n [modal]=\"true\"\n appendTo=\"body\"\n styleClass=\"mng-dialog mng-dialog-sm mng-formly-field-table-multiselect-dialog\">\n <ng-template #content class=\"table-container\">\n <div class=\"h-full flex flex-col\">\n <div class=\"grow formly-field-table-multiselect-dialog-form-container\">\n <div class=\"mng-formly-field-table-multiselect-dialog-table\">\n <mng-table\n #addTableComponent\n [descriptor]=\"descriptor.lookupTableDescriptor\"\n [result]=\"addItems()\"\n [selectionEnabled]=\"true\"\n [loading]=\"dialogIsLoading()\"\n (selectionChange)=\"onSelectionChange($event)\">\n </mng-table>\n </div>\n </div>\n <div class=\"flex flex-row justify-end mng-formly-field-table-multiselect-dialog-footer\">\n <button pButton type=\"button\" [label]=\"'general.cancel' | translate\" icon=\"pi pi-times\" text=\"true\" severity=\"secondary\" (click)=\"hideDialog()\"></button>\n <button\n pButton\n type=\"button\"\n [label]=\"'general.add' | translate\"\n icon=\"pi pi-check\"\n class=\"p-button-primary\"\n (click)=\"onAddItems()\"\n [loading]=\"dialogIsLoading()\"\n [disabled]=\"form.disabled\"></button>\n </div>\n </div>\n </ng-template>\n </p-dialog>\n}\n", styles: [".table-footer{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:flex-end;align-items:center;align-content:center;margin-top:2rem}.table-container{overflow:hidden}.table-footer button{width:8rem}.table-footer button:not(:first-child){margin-left:1.5rem}.table-scroll{max-height:75vh;overflow-y:auto}\n"] }]
4709
4705
  }], propDecorators: { addTableComponent: [{
4710
4706
  type: ViewChild,
4711
4707
  args: ['addTableComponent']
@@ -4714,27 +4710,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4714
4710
  class FormlyFieldTabsComponent extends ACommonsFormlyGroupType {
4715
4711
  constructor() {
4716
4712
  super(...arguments);
4717
- this.fieldGroup = signal([]);
4713
+ this.fieldGroup = signal([], ...(ngDevMode ? [{ debugName: "fieldGroup" }] : []));
4718
4714
  }
4719
4715
  ngOnInit() {
4720
4716
  super.ngOnInit();
4721
4717
  this.fieldGroup.set(this.field.fieldGroup === undefined ? [] : this.field.fieldGroup);
4722
4718
  }
4723
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4724
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldTabsComponent, isStandalone: true, selector: "mng-formly-field-tabs", usesInheritance: true, ngImport: i0, template: "<p-tabs scrollable=\"true\" [value]=\"fieldGroup()[0].id ?? 0\">\n <p-tablist>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tab [value]=\"tab.id ?? idx\" [class.!hidden]=\"tab.props['groupHidden']\">\n <span class=\"mng-tab-title\" [class.mng-tab-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : (tab.key ?? '')) + '_invalid']\">\n {{ tab.props.descriptor | mngFormlyFieldLabel: tab.props.editorDescriptor | translate }}\n </span>\n </p-tab>\n }\n </p-tablist>\n <p-tabpanels>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tabpanel [value]=\"tab.id ?? idx\" [class.!hidden]=\"tab.props['groupHidden']\">\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabpanel>\n }\n </p-tabpanels>\n</p-tabs>\n", styles: ["mng-formly-field-tabs .p-tab .mng-tab-title.mng-tab-error{color:var(--p-form-field-float-label-invalid-color)!important}\n"], dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1$1.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }, { kind: "component", type: Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: TabList, selector: "p-tablist" }, { kind: "component", type: Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TabPanels, selector: "p-tabpanels" }, { kind: "component", type: TabPanel, selector: "p-tabpanel", inputs: ["value"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4719
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldTabsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4720
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldTabsComponent, isStandalone: true, selector: "mng-formly-field-tabs", usesInheritance: true, ngImport: i0, template: "<p-tabs scrollable=\"true\" [value]=\"fieldGroup()[0].id ?? 0\">\n <p-tablist>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tab [value]=\"tab.id ?? idx\" [class.hidden!]=\"tab.props['groupHidden']\">\n <span class=\"mng-tab-title\" [class.mng-tab-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : (tab.key ?? '')) + '_invalid']\">\n {{ tab.props.descriptor | mngFormlyFieldLabel: tab.props.editorDescriptor | translate }}\n </span>\n </p-tab>\n }\n </p-tablist>\n <p-tabpanels>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tabpanel [value]=\"tab.id ?? idx\" [class.hidden!]=\"tab.props['groupHidden']\">\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabpanel>\n }\n </p-tabpanels>\n</p-tabs>\n", styles: ["mng-formly-field-tabs .p-tab .mng-tab-title.mng-tab-error{color:var(--p-form-field-float-label-invalid-color)!important}\n"], dependencies: [{ kind: "component", type: Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: TabList, selector: "p-tablist" }, { kind: "component", type: Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TabPanels, selector: "p-tabpanels" }, { kind: "component", type: TabPanel, selector: "p-tabpanel", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
4725
4721
  }
4726
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldTabsComponent, decorators: [{
4722
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldTabsComponent, decorators: [{
4727
4723
  type: Component,
4728
- args: [{ selector: 'mng-formly-field-tabs', imports: [TranslatePipe, FormlyModule, FormlyFieldLabelPipe, Tabs, TabList, Tab, TabPanels, TabPanel], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<p-tabs scrollable=\"true\" [value]=\"fieldGroup()[0].id ?? 0\">\n <p-tablist>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tab [value]=\"tab.id ?? idx\" [class.!hidden]=\"tab.props['groupHidden']\">\n <span class=\"mng-tab-title\" [class.mng-tab-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : (tab.key ?? '')) + '_invalid']\">\n {{ tab.props.descriptor | mngFormlyFieldLabel: tab.props.editorDescriptor | translate }}\n </span>\n </p-tab>\n }\n </p-tablist>\n <p-tabpanels>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tabpanel [value]=\"tab.id ?? idx\" [class.!hidden]=\"tab.props['groupHidden']\">\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabpanel>\n }\n </p-tabpanels>\n</p-tabs>\n", styles: ["mng-formly-field-tabs .p-tab .mng-tab-title.mng-tab-error{color:var(--p-form-field-float-label-invalid-color)!important}\n"] }]
4724
+ args: [{ selector: 'mng-formly-field-tabs', imports: [TranslatePipe, FormlyFieldLabelPipe, Tabs, TabList, Tab, TabPanels, TabPanel, FormlyField], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<p-tabs scrollable=\"true\" [value]=\"fieldGroup()[0].id ?? 0\">\n <p-tablist>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tab [value]=\"tab.id ?? idx\" [class.hidden!]=\"tab.props['groupHidden']\">\n <span class=\"mng-tab-title\" [class.mng-tab-error]=\"formState.submittedOn && formState['tab_' + (tab.id ? tab.id : (tab.key ?? '')) + '_invalid']\">\n {{ tab.props.descriptor | mngFormlyFieldLabel: tab.props.editorDescriptor | translate }}\n </span>\n </p-tab>\n }\n </p-tablist>\n <p-tabpanels>\n @for (tab of fieldGroup(); track tab; let idx = $index) {\n <p-tabpanel [value]=\"tab.id ?? idx\" [class.hidden!]=\"tab.props['groupHidden']\">\n <formly-field [field]=\"tab\"></formly-field>\n </p-tabpanel>\n }\n </p-tabpanels>\n</p-tabs>\n", styles: ["mng-formly-field-tabs .p-tab .mng-tab-title.mng-tab-error{color:var(--p-form-field-float-label-invalid-color)!important}\n"] }]
4729
4725
  }] });
4730
4726
 
4731
4727
  class FormlyFieldNoLabelWrapperComponent extends FieldWrapper {
4732
4728
  constructor() {
4733
4729
  super(...arguments);
4734
4730
  this.destroyRef = inject(DestroyRef);
4735
- this.wrapperClassName = signal('mng-field-wrapper');
4736
- this.helpText = signal(undefined);
4737
- this.shouldShowError = signal(false);
4731
+ this.wrapperClassName = signal('mng-field-wrapper', ...(ngDevMode ? [{ debugName: "wrapperClassName" }] : []));
4732
+ this.helpText = signal(undefined, ...(ngDevMode ? [{ debugName: "helpText" }] : []));
4733
+ this.shouldShowError = signal(false, ...(ngDevMode ? [{ debugName: "shouldShowError" }] : []));
4738
4734
  }
4739
4735
  ngOnInit() {
4740
4736
  this.descriptor = this.props?.descriptor;
@@ -4758,12 +4754,12 @@ class FormlyFieldNoLabelWrapperComponent extends FieldWrapper {
4758
4754
  }
4759
4755
  return field;
4760
4756
  }
4761
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldNoLabelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4762
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldNoLabelWrapperComponent, isStandalone: true, selector: "mng-formly-field-no-label-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"wrapperClassName()\">\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError && shouldShowError()) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"sanitizeErrorsForGroups(field)\"></formly-validation-message>\n </small>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1$1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4757
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldNoLabelWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4758
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldNoLabelWrapperComponent, isStandalone: true, selector: "mng-formly-field-no-label-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"wrapperClassName()\">\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError && shouldShowError()) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"sanitizeErrorsForGroups(field)\"></formly-validation-message>\n </small>\n }\n</div>\n", dependencies: [{ kind: "component", type: FormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4763
4759
  }
4764
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldNoLabelWrapperComponent, decorators: [{
4760
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldNoLabelWrapperComponent, decorators: [{
4765
4761
  type: Component,
4766
- args: [{ selector: 'mng-formly-field-no-label-wrapper', imports: [FormlyModule, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"wrapperClassName()\">\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError && shouldShowError()) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"sanitizeErrorsForGroups(field)\"></formly-validation-message>\n </small>\n }\n</div>\n" }]
4762
+ args: [{ selector: 'mng-formly-field-no-label-wrapper', imports: [TranslatePipe, FormlyValidationMessage], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"wrapperClassName()\">\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError && shouldShowError()) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"sanitizeErrorsForGroups(field)\"></formly-validation-message>\n </small>\n }\n</div>\n" }]
4767
4763
  }] });
4768
4764
 
4769
4765
  class FormlyFieldWrapperComponent extends FieldWrapper {
@@ -4771,9 +4767,9 @@ class FormlyFieldWrapperComponent extends FieldWrapper {
4771
4767
  super(...arguments);
4772
4768
  this.destroyRef = inject(DestroyRef);
4773
4769
  this.labelInfoTooltipDefaultIcon = labelInfoTooltipDefaultIcon;
4774
- this.wrapperClassName = signal('mng-field-wrapper');
4775
- this.emptyLabel = signal(false);
4776
- this.helpText = signal(undefined);
4770
+ this.wrapperClassName = signal('mng-field-wrapper', ...(ngDevMode ? [{ debugName: "wrapperClassName" }] : []));
4771
+ this.emptyLabel = signal(false, ...(ngDevMode ? [{ debugName: "emptyLabel" }] : []));
4772
+ this.helpText = signal(undefined, ...(ngDevMode ? [{ debugName: "helpText" }] : []));
4777
4773
  }
4778
4774
  ngOnInit() {
4779
4775
  const descriptor = this.props?.descriptor;
@@ -4808,26 +4804,26 @@ class FormlyFieldWrapperComponent extends FieldWrapper {
4808
4804
  this.helpText.set(descriptor.helpText);
4809
4805
  }
4810
4806
  }
4811
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4812
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: FormlyFieldWrapperComponent, isStandalone: true, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"wrapperClassName()\">\n <div>\n @if (emptyLabel()) {\n <label [for]=\"key\" class=\"col\" [class]=\"descriptor.className?.label\">&nbsp;</label>\n } @else if (descriptor.label !== null) {\n <label [for]=\"key\" [class]=\"descriptor.className?.label\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n }\n </div>\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n</div>\n", dependencies: [{ kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1$1.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4807
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4808
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.7", type: FormlyFieldWrapperComponent, isStandalone: true, selector: "mng-formly-field-wrapper", usesInheritance: true, ngImport: i0, template: "<div [class]=\"wrapperClassName()\">\n <div>\n @if (emptyLabel()) {\n <label [for]=\"key\" class=\"col\" [class]=\"descriptor.className?.label\">&nbsp;</label>\n } @else if (descriptor.label !== null) {\n <label [for]=\"key\" [class]=\"descriptor.className?.label\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n }\n </div>\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }, { kind: "component", type: FormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: FormlyFieldLabelPipe, name: "mngFormlyFieldLabel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4813
4809
  }
4814
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldWrapperComponent, decorators: [{
4810
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldWrapperComponent, decorators: [{
4815
4811
  type: Component,
4816
- args: [{ selector: 'mng-formly-field-wrapper', imports: [TranslatePipe, FormlyModule, FormlyFieldLabelPipe, NgClass, Tooltip], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"wrapperClassName()\">\n <div>\n @if (emptyLabel()) {\n <label [for]=\"key\" class=\"col\" [class]=\"descriptor.className?.label\">&nbsp;</label>\n } @else if (descriptor.label !== null) {\n <label [for]=\"key\" [class]=\"descriptor.className?.label\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n }\n </div>\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n</div>\n" }]
4812
+ args: [{ selector: 'mng-formly-field-wrapper', imports: [TranslatePipe, FormlyFieldLabelPipe, NgClass, Tooltip, FormlyValidationMessage], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [class]=\"wrapperClassName()\">\n <div>\n @if (emptyLabel()) {\n <label [for]=\"key\" class=\"col\" [class]=\"descriptor.className?.label\">&nbsp;</label>\n } @else if (descriptor.label !== null) {\n <label [for]=\"key\" [class]=\"descriptor.className?.label\">\n {{ descriptor | mngFormlyFieldLabel: editorDescriptor | translate }}\n @if (props.required && props['hideRequiredMarker'] !== true) {\n <span>*</span>\n }\n @if (descriptor.labelInfoTooltip !== undefined) {\n <span [ngClass]=\"{'ml-1': props.required && props['hideRequiredMarker'] !== true}\">\n <i [class]=\"descriptor.labelInfoTooltipIcon ?? labelInfoTooltipDefaultIcon\" [pTooltip]=\"descriptor.labelInfoTooltip | translate\"></i>\n </span>\n }\n </label>\n }\n </div>\n <ng-container #fieldComponent></ng-container>\n @if (helpText(); as ht) {\n <small class=\"block\">{{ ht | translate }}</small>\n }\n @if (showError) {\n <small class=\"block mng-field-validation-messages\">\n <formly-validation-message [field]=\"field\"></formly-validation-message>\n </small>\n }\n</div>\n" }]
4817
4813
  }] });
4818
4814
 
4819
4815
  class FormlyFieldDatepickerComponent extends ACommonsFormlyFieldType {
4820
4816
  constructor() {
4821
4817
  super(...arguments);
4822
4818
  this.dpFormControl = new FormControl();
4823
- this.#validationClassName = signal('ng-valid');
4824
- this.styleClass = computed(() => [this.controlClassName(), this.#validationClassName()].join(' '));
4819
+ this.#validationClassName = signal('ng-valid', ...(ngDevMode ? [{ debugName: "#validationClassName" }] : []));
4820
+ this.styleClass = computed(() => [this.controlClassName(), this.#validationClassName()].join(' '), ...(ngDevMode ? [{ debugName: "styleClass" }] : []));
4825
4821
  this.moduleConfig = inject(COMMONS_MODULE_CONFIG_IT, { optional: true });
4826
4822
  this.dateTimeInUtc = this.moduleConfig?.serialization?.dateTimeInUtc ?? false;
4827
4823
  this.dateTimeWithTimezone = this.moduleConfig?.serialization?.dateTimeWithTimezone ?? true;
4828
4824
  this.dateTimeWithMillis = this.moduleConfig?.serialization?.dateTimeWithMillis ?? true;
4829
- this.minDate = signal(undefined);
4830
- this.maxDate = signal(undefined);
4825
+ this.minDate = signal(undefined, ...(ngDevMode ? [{ debugName: "minDate" }] : []));
4826
+ this.maxDate = signal(undefined, ...(ngDevMode ? [{ debugName: "maxDate" }] : []));
4831
4827
  }
4832
4828
  #validationClassName;
4833
4829
  ngOnInit() {
@@ -4954,12 +4950,12 @@ class FormlyFieldDatepickerComponent extends ACommonsFormlyFieldType {
4954
4950
  eventSubtype: FormFieldEventComponentSubtype.ON_DESTROY
4955
4951
  });
4956
4952
  }
4957
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4958
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: FormlyFieldDatepickerComponent, isStandalone: true, selector: "mng-formly-field-datepicker", usesInheritance: true, ngImport: i0, template: "<p-date-picker\n appendTo=\"body\"\n [class]=\"styleClass()\"\n [formControl]=\"dpFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [minDate]=\"$any(minDate())\"\n [maxDate]=\"$any(maxDate())\"\n [showTime]=\"descriptor.datePickerShowTime ?? false\"\n [showSeconds]=\"descriptor.datePickerShowSeconds ?? false\"\n showIcon=\"true\"\n showButtonBar=\"true\"\n [showClear]=\"!props.required\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [firstDayOfWeek]=\"1\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n (onBlur)=\"onBlur()\">\n</p-date-picker>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i1$1.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "fluid", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "size", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4953
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4954
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.7", type: FormlyFieldDatepickerComponent, isStandalone: true, selector: "mng-formly-field-datepicker", usesInheritance: true, ngImport: i0, template: "<p-date-picker\n appendTo=\"body\"\n [class]=\"styleClass()\"\n [formControl]=\"dpFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [minDate]=\"$any(minDate())\"\n [maxDate]=\"$any(maxDate())\"\n [showTime]=\"descriptor.datePickerShowTime ?? false\"\n [showSeconds]=\"descriptor.datePickerShowSeconds ?? false\"\n showIcon=\"true\"\n showButtonBar=\"true\"\n [showClear]=\"!props.required\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [firstDayOfWeek]=\"1\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n (onBlur)=\"onBlur()\">\n</p-date-picker>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "styleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "readonlyInput", "shortYearCutoff", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "view", "defaultDate", "appendTo"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "directive", type: FormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4959
4955
  }
4960
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: FormlyFieldDatepickerComponent, decorators: [{
4956
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: FormlyFieldDatepickerComponent, decorators: [{
4961
4957
  type: Component,
4962
- args: [{ selector: 'mng-formly-field-datepicker', imports: [ReactiveFormsModule, FormlyModule, TranslatePipe, DatePicker], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-date-picker\n appendTo=\"body\"\n [class]=\"styleClass()\"\n [formControl]=\"dpFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [minDate]=\"$any(minDate())\"\n [maxDate]=\"$any(maxDate())\"\n [showTime]=\"descriptor.datePickerShowTime ?? false\"\n [showSeconds]=\"descriptor.datePickerShowSeconds ?? false\"\n showIcon=\"true\"\n showButtonBar=\"true\"\n [showClear]=\"!props.required\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [firstDayOfWeek]=\"1\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n (onBlur)=\"onBlur()\">\n</p-date-picker>\n" }]
4958
+ args: [{ selector: 'mng-formly-field-datepicker', imports: [ReactiveFormsModule, TranslatePipe, DatePicker, FormlyAttributes], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-date-picker\n appendTo=\"body\"\n [class]=\"styleClass()\"\n [formControl]=\"dpFormControl\"\n [formlyAttributes]=\"field\"\n [dateFormat]=\"descriptor.datePickerFormat ?? 'dd.mm.yy'\"\n [minDate]=\"$any(minDate())\"\n [maxDate]=\"$any(maxDate())\"\n [showTime]=\"descriptor.datePickerShowTime ?? false\"\n [showSeconds]=\"descriptor.datePickerShowSeconds ?? false\"\n showIcon=\"true\"\n showButtonBar=\"true\"\n [showClear]=\"!props.required\"\n [styleClass]=\"controlClassName()\"\n [inputStyleClass]=\"controlInputClassName()\"\n [firstDayOfWeek]=\"1\"\n [placeholder]=\"descriptor.placeholder ?? '' | translate\"\n (onBlur)=\"onBlur()\">\n</p-date-picker>\n" }]
4963
4959
  }] });
4964
4960
 
4965
4961
  const formlyWrappersConfig = [
@@ -5259,12 +5255,12 @@ function commonsFormlyConfigProvider(translate, datePipe, config = {}) {
5259
5255
 
5260
5256
  class TableviewRouteComponent {
5261
5257
  constructor() {
5262
- this.tableview = input.required();
5258
+ this.tableview = input.required(...(ngDevMode ? [{ debugName: "tableview" }] : []));
5263
5259
  }
5264
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TableviewRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5265
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.10", type: TableviewRouteComponent, isStandalone: true, selector: "mng-tableview-route", inputs: { tableview: { classPropertyName: "tableview", publicName: "tableview", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mng-tableview [descriptor]=\"tableview().descriptor\" [dataProvider]=\"tableview().dataProvider\" [actions]=\"tableview().actions\"> </mng-tableview>\n", dependencies: [{ kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5260
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: TableviewRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5261
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.1.7", type: TableviewRouteComponent, isStandalone: true, selector: "mng-tableview-route", inputs: { tableview: { classPropertyName: "tableview", publicName: "tableview", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: "<mng-tableview [descriptor]=\"tableview().descriptor\" [dataProvider]=\"tableview().dataProvider\" [actions]=\"tableview().actions\"> </mng-tableview>\n", dependencies: [{ kind: "component", type: TableviewComponent, selector: "mng-tableview", inputs: ["descriptor", "dataProvider", "actions"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5266
5262
  }
5267
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: TableviewRouteComponent, decorators: [{
5263
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImport: i0, type: TableviewRouteComponent, decorators: [{
5268
5264
  type: Component,
5269
5265
  args: [{ selector: 'mng-tableview-route', imports: [TableviewComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<mng-tableview [descriptor]=\"tableview().descriptor\" [dataProvider]=\"tableview().dataProvider\" [actions]=\"tableview().actions\"> </mng-tableview>\n" }]
5270
5266
  }] });
@@ -5446,6 +5442,10 @@ function createTableviewLazyRoute(path, loadComponent) {
5446
5442
  * @returns {CommonsFeature} The `CommonsFeature` object with the layout configuration.
5447
5443
  */
5448
5444
  function withTableview(config) {
5445
+ let formlyProviders = [];
5446
+ if (config?.formly?.skip !== true) {
5447
+ formlyProviders = provideTableviewFormly();
5448
+ }
5449
5449
  return {
5450
5450
  type: CommonsFeatureTypeEnum.Tableview,
5451
5451
  providers: [
@@ -5455,12 +5455,7 @@ function withTableview(config) {
5455
5455
  provide: COMMONS_TABLEVIEW_FEATURE_CONFIG_IT,
5456
5456
  useValue: config
5457
5457
  },
5458
- {
5459
- provide: FORMLY_CONFIG,
5460
- multi: true,
5461
- useFactory: commonsFormlyConfigProvider,
5462
- deps: [TranslateService, DatePipe, COMMONS_TABLEVIEW_FEATURE_CONFIG_IT]
5463
- },
5458
+ ...formlyProviders,
5464
5459
  {
5465
5460
  provide: ACTION_EDITOR_COMPONENT_IT,
5466
5461
  useValue: ActionEditorComponent
@@ -5492,6 +5487,10 @@ function withTableview(config) {
5492
5487
  * @returns {CommonsFeature} The `CommonsFeature` object with the layout configuration.
5493
5488
  */
5494
5489
  function provideTableviewChild(config) {
5490
+ let formlyProviders = [];
5491
+ if (config?.formly?.skip !== true) {
5492
+ formlyProviders = provideTableviewFormly();
5493
+ }
5495
5494
  return [
5496
5495
  DatePipe,
5497
5496
  NavigationService,
@@ -5499,12 +5498,7 @@ function provideTableviewChild(config) {
5499
5498
  provide: COMMONS_TABLEVIEW_FEATURE_CONFIG_IT,
5500
5499
  useValue: config
5501
5500
  },
5502
- {
5503
- provide: FORMLY_CONFIG,
5504
- multi: true,
5505
- useFactory: commonsFormlyConfigProvider,
5506
- deps: [TranslateService, DatePipe, COMMONS_TABLEVIEW_FEATURE_CONFIG_IT]
5507
- },
5501
+ ...formlyProviders,
5508
5502
  {
5509
5503
  provide: ACTION_EDITOR_COMPONENT_IT,
5510
5504
  useValue: ActionEditorComponent
@@ -5529,6 +5523,24 @@ function provideTableviewChild(config) {
5529
5523
  }
5530
5524
  ];
5531
5525
  }
5526
+ /**
5527
+ * Prepares providers for formly, including formly core.
5528
+ * If you choose to include formly with custom initialization and with tableview editor features, used this provider.
5529
+ * Currently multiple injections of `FORMLY_CONFIG` token won't work because of bug: https://github.com/ngx-formly/ngx-formly/issues/4107
5530
+ */
5531
+ function provideTableviewFormly() {
5532
+ const formlyProviders = provideFormlyCore(); // must case, because it wrongly returns Provider
5533
+ return [
5534
+ ...formlyProviders,
5535
+ // add custom provider for commons config
5536
+ {
5537
+ provide: FORMLY_CONFIG,
5538
+ multi: true,
5539
+ useFactory: commonsFormlyConfigProvider,
5540
+ deps: [TranslateService, DatePipe, COMMONS_TABLEVIEW_FEATURE_CONFIG_IT]
5541
+ }
5542
+ ];
5543
+ }
5532
5544
 
5533
5545
  // action components
5534
5546
 
@@ -5536,5 +5548,5 @@ function provideTableviewChild(config) {
5536
5548
  * Generated bundle index. Do not edit.
5537
5549
  */
5538
5550
 
5539
- export { ACTION_EDITOR_COMPONENT_IT, ActionComponent, ActionContext, ActionDataProviderSource, ActionEditorComponent, ActionErrorMapperService, ActionExecutorService, ActionInstance, ActionTableComponent, COMMONS_TABLEVIEW_FEATURE_CONFIG_IT, ComponentActionExecutorService, DataLanguageDropdownComponent, DefaultActionErrorMapperService, DefaultDataProviderExecutor, EditorAutoSaveStatusComponent, FormEditorComponent, FormEditorService, FormlyFieldActionComponent, FormlyFieldAutocompleteComponent, FormlyFieldCustomComponent, FormlyFieldDropdownComponent, FormlyFieldFieldsetComponent, FormlyFieldInputComponent, FormlyFieldLabelComponent, FormlyFieldLookupDialogComponent, FormlyFieldNoLabelWrapperComponent, FormlyFieldTableDialogFormComponent, FormlyFieldTableDialogMultiselectComponent, FormlyFieldTabsComponent, FormlyFieldWrapperComponent, NavigationService, RootActionExecutorService, TableviewComponent, TableviewRouteBuilder, TableviewRouteComponent, ViewContainer, actionNotificationError, actionNotificationSuccess, addAsyncValidationsToFormlyField, addValidationsToFormlyField, calculateTableColumnActionWidth, commonsFormlyConfigProvider, createFormlyConfigFromDescriptor, createFormlyField, createFormlyFields, createFormlyGroupType, createFormlyLocalizationsTab, createFormlyTabType, createFormlyValidation, createTableviewLazyRoute, createTableviewRoute, emailValidationName, emailValidator, fieldLookupWithOptionsValueProperty, fieldProjectFieldToProperty, formlyTypesConfig, formlyWrappersConfig, getActionButtonRoundedWidth, getActionFormEditor, getActionParentFormEditor, getActionParentTable, getEditorFieldLabel, getEmailValidationMessage, getFormEditorInfoMessage, getFormEditorWarningMessage, getFormlyValidationMessages, getI18nActionEditorTitleAsync, getI18nActionParams, getI18nActionParamsAsync, getI18nActionTitleAsync, getI18nForAction, getI18nForActionAsync, getMaxDateValidationMessage, getMaxLengthValidationMessage, getMaxValidationMessage, getMinDateValidationMessage, getMinLengthValidationMessage, getMinValidationMessage, getRequiredValidationMessage, getTableCellPaddingX, getTextPatternValidationMessage, maxDateValidationName, maxDateValidator, minDateValidationName, minDateValidator, populateI18nActionParams, provideActionExecutor, provideFormComponent, provideTableviewChild, provideViewContainer, unsavedChangesGuard, withTableview };
5551
+ export { ACTION_EDITOR_COMPONENT_IT, ActionComponent, ActionContext, ActionDataProviderSource, ActionEditorComponent, ActionErrorMapperService, ActionExecutorService, ActionInstance, ActionTableComponent, COMMONS_TABLEVIEW_FEATURE_CONFIG_IT, ComponentActionExecutorService, DataLanguageDropdownComponent, DefaultActionErrorMapperService, DefaultDataProviderExecutor, EditorAutoSaveStatusComponent, FormEditorComponent, FormEditorService, FormlyFieldActionComponent, FormlyFieldAutocompleteComponent, FormlyFieldCustomComponent, FormlyFieldDropdownComponent, FormlyFieldFieldsetComponent, FormlyFieldInputComponent, FormlyFieldLabelComponent, FormlyFieldLookupDialogComponent, FormlyFieldNoLabelWrapperComponent, FormlyFieldTableDialogFormComponent, FormlyFieldTableDialogMultiselectComponent, FormlyFieldTabsComponent, FormlyFieldWrapperComponent, NavigationService, RootActionExecutorService, TableviewComponent, TableviewRouteBuilder, TableviewRouteComponent, ViewContainer, actionNotificationError, actionNotificationSuccess, addAsyncValidationsToFormlyField, addValidationsToFormlyField, calculateTableColumnActionWidth, commonsFormlyConfigProvider, createFormlyConfigFromDescriptor, createFormlyField, createFormlyFields, createFormlyGroupType, createFormlyLocalizationsTab, createFormlyTabType, createFormlyValidation, createTableviewLazyRoute, createTableviewRoute, emailValidationName, emailValidator, fieldLookupWithOptionsValueProperty, fieldProjectFieldToProperty, formlyTypesConfig, formlyWrappersConfig, getActionButtonRoundedWidth, getActionFormEditor, getActionParentFormEditor, getActionParentTable, getEditorFieldLabel, getEmailValidationMessage, getFormEditorInfoMessage, getFormEditorWarningMessage, getFormlyValidationMessages, getI18nActionEditorTitleAsync, getI18nActionParams, getI18nActionParamsAsync, getI18nActionTitleAsync, getI18nForAction, getI18nForActionAsync, getMaxDateValidationMessage, getMaxLengthValidationMessage, getMaxValidationMessage, getMinDateValidationMessage, getMinLengthValidationMessage, getMinValidationMessage, getRequiredValidationMessage, getTableCellPaddingX, getTextPatternValidationMessage, maxDateValidationName, maxDateValidator, minDateValidationName, minDateValidator, populateI18nActionParams, provideActionExecutor, provideFormComponent, provideTableviewChild, provideTableviewFormly, provideViewContainer, unsavedChangesGuard, withTableview };
5540
5552
  //# sourceMappingURL=mediusinc-mng-commons-tableview.mjs.map