@mediusinc/mng-commons 3.6.0 → 4.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 (341) hide show
  1. package/README.md +6 -5
  2. package/esm2022/index.mjs +6 -3
  3. package/esm2022/lib/api/models/filter-param.model.mjs +1 -1
  4. package/esm2022/lib/api/models/index.mjs +1 -3
  5. package/esm2022/lib/api/models/query-param.model.mjs +1 -1
  6. package/esm2022/lib/api/models/query-result.model.mjs +12 -1
  7. package/esm2022/lib/api/services/api.abstract.service.mjs +2 -2
  8. package/esm2022/lib/api/services/get-all-api.abstract.service.mjs +1 -1
  9. package/esm2022/lib/api/utils/index.mjs +2 -2
  10. package/esm2022/lib/api/utils/object-serializer.util.mjs +53 -137
  11. package/esm2022/lib/components/action/action.component.mjs +17 -16
  12. package/esm2022/lib/components/action/editor/action-editor.component.mjs +12 -12
  13. package/esm2022/lib/components/action/localization/data-language-dropdown.component.mjs +7 -7
  14. package/esm2022/lib/components/action/models/action-component.model.mjs +1 -1
  15. package/esm2022/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  16. package/esm2022/lib/components/action/models/action-execution.model.mjs +5 -5
  17. package/esm2022/lib/components/action/route/action-route.component.mjs +6 -6
  18. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +74 -65
  19. package/esm2022/lib/components/form/date-range/date-range.component.mjs +6 -7
  20. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +39 -39
  21. package/esm2022/lib/components/form/editor/form-editor.component.mjs +14 -16
  22. package/esm2022/lib/components/form/formly/fields/formly-field-action/formly-field-action.component.mjs +6 -6
  23. package/esm2022/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +5 -5
  24. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-custom-field-base.model.mjs +3 -3
  25. package/esm2022/lib/components/form/formly/fields/formly-field-custom/formly-field-custom.component.mjs +3 -3
  26. package/esm2022/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +5 -5
  27. package/esm2022/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +5 -6
  28. package/esm2022/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +10 -13
  29. package/esm2022/lib/components/form/formly/fields/formly-field-label/formly-field-label.component.mjs +3 -3
  30. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +13 -13
  31. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +26 -15
  32. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +14 -14
  33. package/esm2022/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +5 -6
  34. package/esm2022/lib/components/form/formly/wrappers/formly-field-no-label-wrapper/formly-field-no-label-wrapper.component.mjs +5 -6
  35. package/esm2022/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +39 -18
  36. package/esm2022/lib/components/layout/breadcrumb.component.mjs +4 -4
  37. package/esm2022/lib/components/layout/footer.component.mjs +4 -4
  38. package/esm2022/lib/components/layout/main-layout.component.mjs +8 -8
  39. package/esm2022/lib/components/layout/menu-item.component.mjs +8 -8
  40. package/esm2022/lib/components/layout/menu.component.mjs +7 -7
  41. package/esm2022/lib/components/layout/services/main-layout.component.service.mjs +4 -4
  42. package/esm2022/lib/components/layout/topbar-user.component.mjs +9 -9
  43. package/esm2022/lib/components/layout/topbar.component.mjs +8 -8
  44. package/esm2022/lib/components/layout/version.component.mjs +11 -11
  45. package/esm2022/lib/components/layoutV2/breadcrumb.component.mjs +6 -6
  46. package/esm2022/lib/components/layoutV2/footer.component.mjs +3 -3
  47. package/esm2022/lib/components/layoutV2/main-layout.component.mjs +14 -11
  48. package/esm2022/lib/components/layoutV2/menu-item.component.mjs +12 -9
  49. package/esm2022/lib/components/layoutV2/menu.component.mjs +5 -6
  50. package/esm2022/lib/components/layoutV2/model/layout-state.model.mjs +1 -1
  51. package/esm2022/lib/components/layoutV2/services/main-layout.component.service.mjs +30 -21
  52. package/esm2022/lib/components/layoutV2/services/menu.service.mjs +3 -3
  53. package/esm2022/lib/components/layoutV2/sidebar.component.mjs +18 -9
  54. package/esm2022/lib/components/layoutV2/topbar-user.component.mjs +6 -6
  55. package/esm2022/lib/components/layoutV2/topbar.component.mjs +6 -7
  56. package/esm2022/lib/components/layoutV2/version.component.mjs +11 -11
  57. package/esm2022/lib/components/pages/error/error.page.component.mjs +4 -4
  58. package/esm2022/lib/components/pages/not-found/not-found.page.component.mjs +4 -4
  59. package/esm2022/lib/components/tableview/index.mjs +1 -2
  60. package/esm2022/lib/components/tableview/models/table.event.mjs +1 -1
  61. package/esm2022/lib/components/tableview/route/tableview-route.abstract.component.mjs +18 -18
  62. package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +5 -5
  63. package/esm2022/lib/components/tableview/table/column-filter-full/column-filter-full.component.mjs +8 -12
  64. package/esm2022/lib/components/tableview/table/column-value/column-value.component.mjs +9 -32
  65. package/esm2022/lib/components/tableview/table/table.component.mjs +20 -25
  66. package/esm2022/lib/components/tableview/tableview.component.mjs +8 -10
  67. package/esm2022/lib/data-providers/base.data-provider.mjs +43 -12
  68. package/esm2022/lib/data-providers/editor.data-provider.mjs +82 -14
  69. package/esm2022/lib/data-providers/lookup.data-provider.mjs +38 -9
  70. package/esm2022/lib/data-providers/table.data-provider.mjs +41 -14
  71. package/esm2022/lib/data-providers/tableview-crud.data-provider.mjs +14 -6
  72. package/esm2022/lib/data-providers/tableview.data-provider.mjs +89 -29
  73. package/esm2022/lib/descriptors/action/action-confirmation.descriptor.mjs +2 -2
  74. package/esm2022/lib/descriptors/action/action-editor.descriptor.mjs +262 -0
  75. package/esm2022/lib/descriptors/action/action-link.descriptor.mjs +90 -0
  76. package/esm2022/lib/descriptors/action/action.descriptor.mjs +91 -352
  77. package/esm2022/lib/descriptors/action/index.mjs +3 -1
  78. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +215 -102
  79. package/esm2022/lib/descriptors/editor/field-action.descriptor.mjs +50 -0
  80. package/esm2022/lib/descriptors/editor/field-base.descriptor.mjs +293 -0
  81. package/esm2022/lib/descriptors/editor/field-group.descriptor.mjs +97 -0
  82. package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +211 -0
  83. package/esm2022/lib/descriptors/editor/field-many.descriptor.mjs +153 -0
  84. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +81 -852
  85. package/esm2022/lib/descriptors/editor/index.mjs +6 -1
  86. package/esm2022/lib/descriptors/editor/internal/editor-fields.model.mjs +2 -0
  87. package/esm2022/lib/descriptors/editor/internal/editor.model.mjs +2 -0
  88. package/esm2022/lib/descriptors/filter/filter-lookup.descriptor.mjs +210 -0
  89. package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +2 -208
  90. package/esm2022/lib/descriptors/filter/index.mjs +2 -1
  91. package/esm2022/lib/descriptors/interfaces/lookup-descriptor.interface.mjs +1 -1
  92. package/esm2022/lib/descriptors/model/index.mjs +2 -0
  93. package/esm2022/lib/descriptors/model/model.descriptor.mjs +70 -0
  94. package/esm2022/lib/descriptors/table/column.descriptor.mjs +38 -49
  95. package/esm2022/lib/descriptors/table/internal/table-columns.model.mjs +2 -0
  96. package/esm2022/lib/descriptors/table/internal/table.model.mjs +2 -0
  97. package/esm2022/lib/descriptors/table/table.descriptor.mjs +143 -124
  98. package/esm2022/lib/descriptors/tableview/internal/tableview.model.mjs +2 -0
  99. package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +240 -131
  100. package/esm2022/lib/directives/component.directive.mjs +11 -11
  101. package/esm2022/lib/directives/dialog-keydown-handler.directive.mjs +3 -3
  102. package/esm2022/lib/directives/template.directive.mjs +9 -9
  103. package/esm2022/lib/helpers/coercion.mjs +45 -0
  104. package/esm2022/lib/models/class.model.mjs +2 -0
  105. package/esm2022/lib/models/enum.model.mjs +1 -1
  106. package/esm2022/lib/models/index.mjs +4 -1
  107. package/esm2022/lib/models/radio.model.mjs +2 -0
  108. package/esm2022/lib/models/tableview-attr.model.mjs +1 -1
  109. package/esm2022/lib/models/type-registry.model.mjs +2 -0
  110. package/esm2022/lib/models/view-container.model.mjs +1 -1
  111. package/esm2022/lib/pipes/boolean.pipe.mjs +3 -3
  112. package/esm2022/lib/pipes/class-map.pipe.mjs +3 -3
  113. package/esm2022/lib/pipes/enum.pipe.mjs +6 -6
  114. package/esm2022/lib/pipes/enumerate-async.pipe.mjs +5 -5
  115. package/esm2022/lib/pipes/enumerate.pipe.mjs +5 -5
  116. package/esm2022/lib/pipes/getter.pipe.mjs +5 -5
  117. package/esm2022/lib/pipes/i18n-property.pipe.mjs +4 -4
  118. package/esm2022/lib/pipes/json-path.pipe.mjs +3 -3
  119. package/esm2022/lib/pipes/locale-default-row-class.pipe.mjs +5 -5
  120. package/esm2022/lib/pipes/parametrize.pipe.mjs +3 -3
  121. package/esm2022/lib/pipes/template.pipe.mjs +4 -4
  122. package/esm2022/lib/provide-commons.mjs +4 -4
  123. package/esm2022/lib/registry/type.registry.mjs +114 -0
  124. package/esm2022/lib/router/models/router.model.mjs +1 -1
  125. package/esm2022/lib/router/tableview-route-builder.mjs +5 -5
  126. package/esm2022/lib/security/authorization.service.mjs +9 -11
  127. package/esm2022/lib/services/action-executor.service.mjs +14 -12
  128. package/esm2022/lib/services/commons-init.service.mjs +3 -3
  129. package/esm2022/lib/services/commons.service.mjs +6 -5
  130. package/esm2022/lib/services/mng-localstorage-config.service.mjs +4 -4
  131. package/esm2022/lib/services/navigation.service.mjs +5 -5
  132. package/esm2022/lib/services/router.service.mjs +4 -4
  133. package/esm2022/lib/services/version.service.mjs +5 -5
  134. package/esm2022/lib/services/view-container.component.service.mjs +5 -5
  135. package/esm2022/lib/styles/styles.util.mjs +1 -1
  136. package/esm2022/lib/types/action-descriptor.types.mjs +2 -0
  137. package/esm2022/lib/types/data-provider.types.mjs +2 -0
  138. package/esm2022/lib/types/getter.type.mjs +2 -0
  139. package/esm2022/lib/types/index.mjs +5 -2
  140. package/esm2022/lib/types/localstorage-config-value.type.mjs +2 -0
  141. package/esm2022/lib/types/type.decorator.mjs +4 -14
  142. package/esm2022/lib/types/type.model.mjs +1 -1
  143. package/esm2022/lib/utils/action-data-provider.util.mjs +14 -8
  144. package/esm2022/lib/utils/decorator-metadata.util.mjs +61 -0
  145. package/esm2022/lib/utils/editor-formly.util.mjs +6 -5
  146. package/esm2022/lib/utils/enum.util.mjs +1 -1
  147. package/esm2022/lib/utils/export.util.mjs +5 -4
  148. package/esm2022/lib/utils/i18n.util.mjs +22 -22
  149. package/esm2022/lib/utils/index.mjs +2 -3
  150. package/esm2022/lib/utils/model.util.mjs +40 -36
  151. package/esm2022/lib/utils/notification.util.mjs +1 -1
  152. package/esm2022/lib/utils/tableview.util.mjs +17 -17
  153. package/fesm2022/mediusinc-mng-commons.mjs +11491 -11384
  154. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  155. package/index.d.ts +3 -2
  156. package/lib/api/models/filter-param.model.d.ts +3 -3
  157. package/lib/api/models/index.d.ts +0 -2
  158. package/lib/api/models/query-param.model.d.ts +3 -3
  159. package/lib/api/models/query-result.model.d.ts +3 -3
  160. package/lib/api/services/api.abstract.service.d.ts +1 -1
  161. package/lib/api/utils/index.d.ts +1 -1
  162. package/lib/api/utils/object-serializer.util.d.ts +3 -19
  163. package/lib/components/action/action.component.d.ts +5 -5
  164. package/lib/components/action/editor/action-editor.component.d.ts +7 -7
  165. package/lib/components/action/localization/data-language-dropdown.component.d.ts +6 -6
  166. package/lib/components/action/models/action-component.model.d.ts +4 -4
  167. package/lib/components/action/models/action-confirmation-service.model.d.ts +2 -2
  168. package/lib/components/action/models/action-execution.model.d.ts +14 -14
  169. package/lib/components/action/route/action-route.component.d.ts +2 -2
  170. package/lib/components/form/autocomplete/autocomplete.component.d.ts +15 -18
  171. package/lib/components/form/dropdown/dropdown.component.d.ts +9 -9
  172. package/lib/components/form/editor/form-editor.component.d.ts +8 -11
  173. package/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.d.ts +4 -0
  174. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +4 -4
  175. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +3 -2
  176. package/lib/components/layout/topbar-user.component.d.ts +2 -2
  177. package/lib/components/layout/version.component.d.ts +2 -2
  178. package/lib/components/layoutV2/model/layout-state.model.d.ts +8 -9
  179. package/lib/components/layoutV2/services/main-layout.component.service.d.ts +1 -1
  180. package/lib/components/layoutV2/version.component.d.ts +2 -2
  181. package/lib/components/tableview/index.d.ts +0 -1
  182. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +20 -20
  183. package/lib/components/tableview/route/tableview-route.component.d.ts +7 -7
  184. package/lib/components/tableview/table/table.component.d.ts +9 -9
  185. package/lib/components/tableview/tableview.component.d.ts +8 -8
  186. package/lib/data-providers/base.data-provider.d.ts +30 -12
  187. package/lib/data-providers/editor.data-provider.d.ts +86 -23
  188. package/lib/data-providers/lookup.data-provider.d.ts +24 -11
  189. package/lib/data-providers/table.data-provider.d.ts +30 -17
  190. package/lib/data-providers/tableview-crud.data-provider.d.ts +8 -4
  191. package/lib/data-providers/tableview.data-provider.d.ts +41 -29
  192. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +3 -3
  193. package/lib/descriptors/action/action-editor.descriptor.d.ts +115 -0
  194. package/lib/descriptors/action/action-link.descriptor.d.ts +34 -0
  195. package/lib/descriptors/action/action.descriptor.d.ts +74 -160
  196. package/lib/descriptors/action/index.d.ts +2 -0
  197. package/lib/descriptors/editor/editor.descriptor.d.ts +131 -79
  198. package/lib/descriptors/editor/field-action.descriptor.d.ts +23 -0
  199. package/lib/descriptors/editor/field-base.descriptor.d.ts +126 -0
  200. package/lib/descriptors/editor/field-group.descriptor.d.ts +42 -0
  201. package/lib/descriptors/editor/field-lookup.descriptor.d.ts +80 -0
  202. package/lib/descriptors/editor/field-many.descriptor.d.ts +63 -0
  203. package/lib/descriptors/editor/field.descriptor.d.ts +100 -326
  204. package/lib/descriptors/editor/index.d.ts +5 -0
  205. package/lib/descriptors/editor/internal/editor-fields.model.d.ts +32 -0
  206. package/lib/descriptors/editor/internal/editor.model.d.ts +15 -0
  207. package/lib/descriptors/filter/filter-lookup.descriptor.d.ts +69 -0
  208. package/lib/descriptors/filter/filter.descriptor.d.ts +9 -67
  209. package/lib/descriptors/filter/index.d.ts +1 -0
  210. package/lib/descriptors/interfaces/lookup-descriptor.interface.d.ts +11 -16
  211. package/lib/descriptors/model/model.descriptor.d.ts +22 -0
  212. package/lib/descriptors/table/column.descriptor.d.ts +45 -33
  213. package/lib/descriptors/table/internal/table-columns.model.d.ts +11 -0
  214. package/lib/descriptors/table/internal/table.model.d.ts +9 -0
  215. package/lib/descriptors/table/table.descriptor.d.ts +82 -71
  216. package/lib/descriptors/tableview/internal/tableview.model.d.ts +11 -0
  217. package/lib/descriptors/tableview/tableview.descriptor.d.ts +106 -74
  218. package/lib/directives/component.directive.d.ts +5 -6
  219. package/lib/directives/template.directive.d.ts +2 -3
  220. package/lib/helpers/coercion.d.ts +9 -0
  221. package/lib/models/class.model.d.ts +6 -0
  222. package/lib/models/enum.model.d.ts +3 -2
  223. package/lib/models/index.d.ts +3 -0
  224. package/lib/models/radio.model.d.ts +6 -0
  225. package/lib/models/tableview-attr.model.d.ts +2 -2
  226. package/lib/models/type-registry.model.d.ts +7 -0
  227. package/lib/models/view-container.model.d.ts +6 -6
  228. package/lib/pipes/getter.pipe.d.ts +2 -1
  229. package/lib/pipes/i18n-property.pipe.d.ts +1 -1
  230. package/lib/pipes/locale-default-row-class.pipe.d.ts +2 -2
  231. package/lib/registry/type.registry.d.ts +25 -0
  232. package/lib/router/models/router.model.d.ts +5 -5
  233. package/lib/router/tableview-route-builder.d.ts +6 -6
  234. package/lib/security/authorization.service.d.ts +4 -7
  235. package/lib/services/action-executor.service.d.ts +7 -7
  236. package/lib/services/mng-localstorage-config.service.d.ts +3 -3
  237. package/lib/services/view-container.component.service.d.ts +3 -3
  238. package/lib/styles/styles.util.d.ts +5 -5
  239. package/lib/types/action-descriptor.types.d.ts +4 -0
  240. package/lib/types/data-provider.types.d.ts +3 -0
  241. package/lib/types/getter.type.d.ts +2 -0
  242. package/lib/types/index.d.ts +4 -1
  243. package/lib/types/localstorage-config-value.type.d.ts +1 -0
  244. package/lib/types/type.decorator.d.ts +0 -2
  245. package/lib/types/type.model.d.ts +12 -2
  246. package/lib/utils/action-data-provider.util.d.ts +6 -5
  247. package/lib/utils/{type.util.d.ts → decorator-metadata.util.d.ts} +2 -26
  248. package/lib/utils/editor-formly.util.d.ts +2 -2
  249. package/lib/utils/enum.util.d.ts +2 -2
  250. package/lib/utils/export.util.d.ts +2 -2
  251. package/lib/utils/i18n.util.d.ts +10 -11
  252. package/lib/utils/index.d.ts +1 -2
  253. package/lib/utils/model.util.d.ts +5 -3
  254. package/lib/utils/notification.util.d.ts +4 -4
  255. package/lib/utils/tableview.util.d.ts +6 -6
  256. package/openapi/templates/model.mustache +15 -2
  257. package/openapi/templates/models.mustache +0 -44
  258. package/package.json +10 -10
  259. package/scss/mng-commons-dark-v2.scss +2 -2
  260. package/scss/mng-commons-light-v2.scss +1 -1
  261. package/scss/v2/theme/{theme-base/components/data → extensions}/_fullcalendar.scss +14 -15
  262. package/scss/v2/theme/theme-base/_colors.scss +11 -12
  263. package/scss/v2/theme/theme-base/_common.scss +8 -5
  264. package/scss/v2/theme/theme-base/_components.scss +93 -89
  265. package/scss/v2/theme/theme-base/_mixins.scss +205 -71
  266. package/scss/v2/theme/theme-base/components/button/_button.scss +80 -68
  267. package/scss/v2/theme/theme-base/components/button/_speeddial.scss +11 -1
  268. package/scss/v2/theme/theme-base/components/button/_splitbutton.scss +128 -161
  269. package/scss/v2/theme/theme-base/components/data/_carousel.scss +1 -1
  270. package/scss/v2/theme/theme-base/components/data/_datatable.scss +3 -3
  271. package/scss/v2/theme/theme-base/components/data/_dataview.scss +0 -9
  272. package/scss/v2/theme/theme-base/components/data/_filter.scss +5 -6
  273. package/scss/v2/theme/theme-base/components/data/_orderlist.scss +15 -4
  274. package/scss/v2/theme/theme-base/components/data/_organizationchart.scss +1 -1
  275. package/scss/v2/theme/theme-base/components/data/_picklist.scss +14 -3
  276. package/scss/v2/theme/theme-base/components/data/_timeline.scss +3 -6
  277. package/scss/v2/theme/theme-base/components/data/_tree.scss +7 -6
  278. package/scss/v2/theme/theme-base/components/data/_treetable.scss +3 -4
  279. package/scss/v2/theme/theme-base/components/file/_fileupload.scss +6 -0
  280. package/scss/v2/theme/theme-base/components/input/_autocomplete.scss +43 -24
  281. package/scss/v2/theme/theme-base/components/input/_calendar.scss +9 -5
  282. package/scss/v2/theme/theme-base/components/input/_cascadeselect.scss +25 -20
  283. package/scss/v2/theme/theme-base/components/input/_checkbox.scss +9 -5
  284. package/scss/v2/theme/theme-base/components/input/_chips.scss +24 -13
  285. package/scss/v2/theme/theme-base/components/input/_dropdown.scss +29 -13
  286. package/scss/v2/theme/theme-base/components/input/_editor.scss +7 -7
  287. package/scss/v2/theme/theme-base/components/input/_inputgroup.scss +1 -2
  288. package/scss/v2/theme/theme-base/components/input/_inputmask.scss +2 -2
  289. package/scss/v2/theme/theme-base/components/input/_inputnumber.scss +7 -7
  290. package/scss/v2/theme/theme-base/components/input/_inputswitch.scss +3 -3
  291. package/scss/v2/theme/theme-base/components/input/_inputtext.scss +4 -3
  292. package/scss/v2/theme/theme-base/components/input/_listbox.scss +23 -8
  293. package/scss/v2/theme/theme-base/components/input/_multiselect.scss +31 -27
  294. package/scss/v2/theme/theme-base/components/input/_radiobutton.scss +2 -2
  295. package/scss/v2/theme/theme-base/components/input/_rating.scss +33 -28
  296. package/scss/v2/theme/theme-base/components/input/_treeselect.scss +6 -6
  297. package/scss/v2/theme/theme-base/components/menu/_breadcrumb.scss +3 -3
  298. package/scss/v2/theme/theme-base/components/menu/_contextmenu.scss +8 -30
  299. package/scss/v2/theme/theme-base/components/menu/_dock.scss +11 -2
  300. package/scss/v2/theme/theme-base/components/menu/_megamenu.scss +14 -65
  301. package/scss/v2/theme/theme-base/components/menu/_menu.scss +5 -13
  302. package/scss/v2/theme/theme-base/components/menu/_menubar.scss +32 -80
  303. package/scss/v2/theme/theme-base/components/menu/_panelmenu.scss +52 -39
  304. package/scss/v2/theme/theme-base/components/menu/_slidemenu.scss +15 -20
  305. package/scss/v2/theme/theme-base/components/menu/_steps.scss +2 -2
  306. package/scss/v2/theme/theme-base/components/menu/_tabmenu.scss +1 -2
  307. package/scss/v2/theme/theme-base/components/menu/_tieredmenu.scss +10 -32
  308. package/scss/v2/theme/theme-base/components/messages/_message.scss +2 -2
  309. package/scss/v2/theme/theme-base/components/messages/_toast.scss +2 -3
  310. package/scss/v2/theme/theme-base/components/misc/_chip.scss +7 -3
  311. package/scss/v2/theme/theme-base/components/misc/_inplace.scss +0 -1
  312. package/scss/v2/theme/theme-base/components/misc/_terminal.scss +9 -8
  313. package/scss/v2/theme/theme-base/components/multimedia/_galleria.scss +6 -0
  314. package/scss/v2/theme/theme-base/components/overlay/_confirmpopup.scss +3 -5
  315. package/scss/v2/theme/theme-base/components/panel/_accordion.scss +4 -4
  316. package/scss/v2/theme/theme-base/components/panel/_fieldset.scss +1 -1
  317. package/scss/v2/theme/theme-base/components/panel/_panel.scss +10 -5
  318. package/scss/v2/theme/theme-base/components/panel/_tabview.scss +6 -2
  319. package/scss/v2/theme/theme-dark/_variables.scss +756 -765
  320. package/scss/v2/theme/theme-dark/blue/theme.scss +1 -0
  321. package/scss/v2/theme/theme-light/_variables.scss +81 -94
  322. package/scss/v2/theme/theme-light/blue/theme.scss +1 -0
  323. package/esm2022/lib/api/models/mappers.mjs +0 -13
  324. package/esm2022/lib/api/models/serialization.model.mjs +0 -2
  325. package/esm2022/lib/components/tableview/table/column-filter/column-filter.component.mjs +0 -121
  326. package/esm2022/lib/descriptors/index.mjs +0 -2
  327. package/esm2022/lib/descriptors/model.descriptor.mjs +0 -45
  328. package/esm2022/lib/mng-commons.module.mjs +0 -472
  329. package/esm2022/lib/types/mng-localstorage-config-value.type.mjs +0 -2
  330. package/esm2022/lib/utils/coercion.util.mjs +0 -6
  331. package/esm2022/lib/utils/type.util.mjs +0 -94
  332. package/lib/api/models/mappers.d.ts +0 -6
  333. package/lib/api/models/serialization.model.d.ts +0 -9
  334. package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +0 -37
  335. package/lib/descriptors/model.descriptor.d.ts +0 -18
  336. package/lib/mng-commons.module.d.ts +0 -105
  337. package/lib/types/mng-localstorage-config-value.type.d.ts +0 -1
  338. package/lib/utils/coercion.util.d.ts +0 -2
  339. package/openapi/templates/serializer-registration/model.mustache +0 -97
  340. package/openapi/templates/serializer-registration/models.mustache +0 -6
  341. /package/lib/descriptors/{index.d.ts → model/index.d.ts} +0 -0
@@ -0,0 +1,63 @@
1
+ import { ITableDataProvider, TableDataProviderGetAllFnType } from '../../data-providers';
2
+ import { ServiceClassType } from '../../types';
3
+ import { ActionDescriptorInst } from '../action';
4
+ import { TableDescriptorInst } from '../table';
5
+ import { TableviewDescriptorInst } from '../tableview';
6
+ import { FieldManyEditorActionEnum, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorTypeEnum } from '../types';
7
+ import { AFieldDescriptor } from './field-base.descriptor';
8
+ import { IEditorDescriptorInternal } from './internal/editor.model';
9
+ export type FieldManyToManyEditorDescriptorConstructorOptsType<FieldModel, Service> = FieldManyToManyEditorDescriptorCreateOptsProviderType<FieldModel, Service>;
10
+ export type FieldManyToManyEditorDescriptorCreateOptsProviderType<FieldModel, Service> = {
11
+ lookupServiceType?: ServiceClassType<Service>;
12
+ lookupDataProvider?: ITableDataProvider<FieldModel, Service>;
13
+ };
14
+ export type FieldManyToManyEditorProviderType<FieldModel, Service> = ServiceClassType<Service> | ITableDataProvider<FieldModel, Service>;
15
+ export declare const fieldManyToManyGetProviderCfgObj: <FieldModel, Service>(serviceOrDataProvider?: FieldManyToManyEditorProviderType<FieldModel, Service> | undefined) => FieldManyToManyEditorDescriptorCreateOptsProviderType<FieldModel, Service>;
16
+ export declare class FieldManyToManyEditorDescriptor<FieldModel, EditorModel, Service = any, FieldValue = FieldModel[]> extends AFieldDescriptor<FieldModel, EditorModel, FieldValue> {
17
+ private readonly _mainTableDescriptor;
18
+ private readonly _lookupTableDescriptor;
19
+ private readonly _lookupTableDataProvider;
20
+ private _fieldType;
21
+ private _actions;
22
+ private _hasLookupExcludeValues;
23
+ private _excludeFilterProperty;
24
+ private _excludeValueProperty;
25
+ private _searchEnabled;
26
+ private _searchFields?;
27
+ constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, cfg?: FieldManyToManyEditorDescriptorConstructorOptsType<FieldModel, Service>);
28
+ get fieldType(): FieldManyToManyEditorTypeEnum;
29
+ get actions(): FieldManyToManyEditorActionEnum[];
30
+ get hasLookupExcludeValues(): boolean;
31
+ get excludeFilterProperty(): string;
32
+ get excludeValueProperty(): string;
33
+ get mainTableDescriptor(): TableDescriptorInst<FieldModel>;
34
+ get lookupTableDescriptor(): TableDescriptorInst<FieldModel>;
35
+ get lookupTableDataProvider(): ITableDataProvider<FieldModel, Service>;
36
+ get searchEnabled(): boolean;
37
+ get searchFields(): string[] | undefined;
38
+ withLookup(fn: TableDataProviderGetAllFnType<FieldModel, Service>): this;
39
+ withActions(actions?: Array<FieldManyToManyEditorActionEnum>): this;
40
+ withLookupExclude(filterProperty: keyof FieldModel, valueProperty: keyof FieldModel, hasLookupExclude?: boolean): this;
41
+ withLookupExcludeUnsafe(filterProperty: string, valueProperty: string, hasLookupExclude?: boolean): this;
42
+ withSearch(enabled?: boolean, searchFields?: string[]): this;
43
+ copy(): FieldManyToManyEditorDescriptor<FieldModel, EditorModel, Service, FieldValue>;
44
+ }
45
+ export declare class FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue = FieldModel[]> extends AFieldDescriptor<FieldModel, EditorModel, FieldValue> {
46
+ private readonly _tableviewDescriptor;
47
+ private _fieldType;
48
+ private _fieldActions;
49
+ private _actions;
50
+ constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string, tableviewDescriptor: TableviewDescriptorInst<FieldModel>);
51
+ get fieldType(): FieldManyEditorTypeEnum;
52
+ get fieldActions(): FieldManyEditorActionEnum[];
53
+ get actions(): ActionDescriptorInst<FieldModel, any>[];
54
+ get tableviewDescriptor(): TableviewDescriptorInst<FieldModel>;
55
+ get tableDescriptor(): TableDescriptorInst<FieldModel>;
56
+ get editorForCreate(): import("@mediusinc/mng-commons").EditorDescriptorInst<FieldModel>;
57
+ get editorForRead(): import("@mediusinc/mng-commons").EditorDescriptorInst<FieldModel>;
58
+ get editorForUpdate(): import("@mediusinc/mng-commons").EditorDescriptorInst<FieldModel>;
59
+ withFieldAction(action: FieldManyEditorActionEnum): this;
60
+ withFieldActions(actions: FieldManyEditorActionEnum[]): this;
61
+ withAction(action: ActionDescriptorInst<FieldModel>): this;
62
+ copy(): FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue>;
63
+ }
@@ -1,142 +1,75 @@
1
1
  import { Type } from '@angular/core';
2
2
  import { AbstractControl } from '@angular/forms';
3
- import { FormlyFieldConfig } from '@ngx-formly/core';
4
- import { Observable, Subject } from 'rxjs';
5
- import { MediusQueryParam, MediusQueryResult } from '../../api/models';
6
3
  import { AMngFormlyCustomFieldComponent } from '../../components/form/formly/fields/';
7
- import { MngFormlyFieldConfig, MngFormlyHookFn } from '../../components/form/formly/models';
8
- import { FieldActionContext, FieldActionResult, MngFormFieldEvent, MngFormFieldEventData, MngFormFieldEventTypeEnum } from '../../components/form/models';
9
- import { ILookupDataProvider, ITableDataProvider } from '../../data-providers';
10
- import { EnumValue } from '../../models';
11
- import { StyleLevelEnum } from '../../styles/models';
12
- import { ClassType, EnumConstantType, EnumType, MngFieldAsyncValidator, MngFieldValidationMessage, MngFieldValidator } from '../../types';
13
- import { ActionButtonDescriptor, ActionDescriptor } from '../action';
14
- import { FieldConfig, FieldLookupConfig, ILookupDescriptor } from '../interfaces';
15
- import { TableDescriptor } from '../table';
16
- import { TableviewDescriptor } from '../tableview';
17
- import { FieldGroupTypeEnum, FieldInputTypeEnum, FieldLookupTypeEnum, FieldManyEditorActionEnum, FieldManyEditorTypeEnum, FieldManyToManyEditorActionEnum, FieldManyToManyEditorTypeEnum, FieldSizeEnum } from '../types';
18
- import { EditorDescriptor } from './editor.descriptor';
19
- import { FieldValidationDescriptor } from './field-validation.descriptor';
20
- export declare abstract class AGenericFieldDescriptor<ET> {
21
- protected readonly _editor: EditorDescriptor<ET>;
22
- protected _config: FieldConfig;
23
- protected constructor(editor: EditorDescriptor<ET>);
24
- get editor(): EditorDescriptor<ET>;
25
- get config(): FieldConfig;
26
- withConfig(config: FieldConfig): this;
27
- /**
28
- * Override toJSON implementation to prevent overflow with circular dependency.
29
- * @ignore
30
- */
31
- protected toJSON(): string;
32
- }
33
- export declare abstract class AFieldDescriptor<T, ET, VT = T> extends AGenericFieldDescriptor<ET> {
34
- /** @ignore */ protected readonly _property: string;
35
- /** @ignore */ protected _label?: string | null;
36
- /** @ignore */ protected _placeholder?: string;
37
- /** @ignore */ protected _helpText?: string;
38
- /** @ignore */ protected _required: boolean;
39
- /** @ignore */ protected _requiredHideLabelMarker: boolean;
40
- /** @ignore */ protected _disabled: boolean;
41
- /** @ignore */ protected _defaultValue?: VT;
42
- /** @ignore */ protected _getter?: (item: ET) => VT;
43
- /** @ignore */ protected _setter?: (item: ET, value: VT) => void;
44
- /** @ignore */ protected _validations: Array<FieldValidationDescriptor>;
45
- /** @ignore */ protected _asyncValidations: Array<FieldValidationDescriptor>;
46
- /** @ignore */ protected _requiredExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>;
47
- /** @ignore */ protected _disabledExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>;
48
- /** @ignore */ protected _hiddenExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>;
49
- /** @ignore */ protected _updateOn: 'change' | 'blur' | 'submit';
50
- /** @ignore */ protected _onInit?: MngFormlyHookFn;
51
- /** @ignore */ protected _onChanges?: MngFormlyHookFn;
52
- /** @ignore */ protected _afterContentInit?: MngFormlyHookFn;
53
- /** @ignore */ protected _afterViewInit?: MngFormlyHookFn;
54
- /** @ignore */ protected _onDestroy?: MngFormlyHookFn;
55
- /** @ignore */ protected _onValueChange?: (field: MngFormlyFieldConfig, value: any) => void;
56
- /** @ignore */ protected _className: string;
57
- /** @ignore */ protected _fieldClassName?: string;
58
- /** @ignore */ protected _labelClassName: string;
59
- /** @ignore */ protected _inputClassName: string;
60
- /** @ignore */ protected _size: FieldSizeEnum;
61
- /** @ignore */ protected _isLocalized: boolean;
62
- /** @ignore */ protected _localizationTableview?: TableviewDescriptor<any>;
63
- /** @ignore */ protected readonly _eventsSubject: Subject<MngFormFieldEvent<T, ET>>;
64
- protected constructor(editor: EditorDescriptor<ET>, property: string);
65
- get property(): string;
66
- get label(): string | null | undefined;
67
- get placeholder(): string | undefined;
68
- get helpText(): string | undefined;
69
- get required(): boolean;
70
- get requiredHideLabelMarker(): boolean;
71
- get disabled(): boolean;
72
- get defaultValue(): VT | undefined;
73
- get getter(): ((item: ET) => VT) | undefined;
74
- get setter(): ((item: ET, value: VT) => void) | undefined;
75
- get validations(): FieldValidationDescriptor[];
76
- get asyncValidations(): FieldValidationDescriptor[];
77
- get requiredExpression(): string | Observable<boolean> | ((field?: FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
78
- [additionalProperties: string]: any;
79
- }> | undefined) => boolean) | undefined;
80
- get disabledExpression(): string | Observable<boolean> | ((field?: FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
81
- [additionalProperties: string]: any;
82
- }> | undefined) => boolean) | undefined;
83
- get hiddenExpression(): string | Observable<boolean> | ((field?: FormlyFieldConfig<import("@ngx-formly/core").FormlyFieldProps & {
84
- [additionalProperties: string]: any;
85
- }> | undefined) => boolean) | undefined;
86
- get updateOn(): "change" | "blur" | "submit";
87
- get onInit(): MngFormlyHookFn | undefined;
88
- get onChanges(): MngFormlyHookFn | undefined;
89
- get afterContentInit(): MngFormlyHookFn | undefined;
90
- get afterViewInit(): MngFormlyHookFn | undefined;
91
- get onDestroy(): MngFormlyHookFn | undefined;
92
- get onValueChange(): ((field: MngFormlyFieldConfig<import("../../components/form/formly/models").MngFormlyFieldProps>, value: any) => void) | undefined;
93
- get className(): string;
94
- get fieldClassName(): string | undefined;
95
- get labelClassName(): string;
96
- get inputClassName(): string;
97
- get size(): FieldSizeEnum;
98
- get localizationTableview(): TableviewDescriptor<any> | undefined;
99
- get isSizeSmall(): boolean;
100
- get isSizeLarge(): boolean;
101
- get isLocalized(): boolean;
102
- abstract copy(): AFieldDescriptor<T, ET, VT>;
103
- withLabel(label: string | null): this;
104
- withPlaceholder(placeholder: string): this;
105
- withHelpText(helpText: string): this;
106
- withRequired(required?: boolean, requiredExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>, hideLabelMarker?: boolean): this;
107
- withDisabled(disabled?: boolean, disabledExpression?: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>): this;
108
- withHidden(hiddenExpression: string | ((field?: FormlyFieldConfig) => boolean) | Observable<boolean>): this;
109
- withUpdateOn(updateOn: 'change' | 'blur' | 'submit'): this;
110
- withOnInit(onInit?: MngFormlyHookFn): this;
111
- withOnChanges(onChanges?: MngFormlyHookFn): this;
112
- withAfterContentInit(afterContentInit?: MngFormlyHookFn): this;
113
- withAfterViewInit(afterViewInit?: MngFormlyHookFn): this;
114
- withOnDestroy(onDestroy?: MngFormlyHookFn): this;
115
- withOnValueChange(onValueChange?: (field: MngFormlyFieldConfig, value: any) => void): this;
116
- withDefaultValue(defaultValue: VT): this;
117
- withGetter(getter: (item: ET) => VT): this;
118
- withSetter(setter: (item: ET, value: VT) => void): this;
119
- withValidation(name: string, validator?: MngFieldValidator, message?: MngFieldValidationMessage): this;
120
- withAsyncValidation(name: string, asyncValidator?: MngFieldAsyncValidator, message?: MngFieldValidationMessage): this;
121
- withClassName(className: string, labelClassName?: string, inputClassName?: string, fieldClassName?: string): this;
122
- withSize(size?: FieldSizeEnum): this;
123
- /**
124
- * This method adds an icon with text Show all translations above the field and after clicking on it, it displays a new dialog with tableview.
125
- * This new table view shows all available translations for specific property and allows editing it.
126
- * @param tableview with lookup provider for locales
127
- */
128
- localized(tableview?: TableviewDescriptor<T>): this;
129
- nextEvent(type: MngFormFieldEventTypeEnum, cmpType: Type<any>, cmpInstance: any, data?: MngFormFieldEventData<T, ET>): void;
130
- get events$(): Observable<MngFormFieldEvent<T, ET>>;
131
- protected copyFieldsTo(obj: AFieldDescriptor<T, ET, VT>): void;
132
- }
133
- export declare class FieldInputDescriptor<ET> extends AFieldDescriptor<string | string[] | number | boolean | Date | File | File[], ET> {
4
+ import { RadioValue } from '../../models';
5
+ import { EnumConstantType, EnumType } from '../../types';
6
+ import { FieldInputTypeEnum } from '../types';
7
+ import { AFieldDescriptor } from './field-base.descriptor';
8
+ import { IEditorDescriptorInternal } from './internal/editor.model';
9
+ export type FieldInputDescriptorType = string | string[] | number | boolean | Date | File | File[];
10
+ export type FieldInputTextOptsType = {
11
+ email?: boolean;
12
+ } & FieldInputTextValidationOptsType;
13
+ export type FieldInputTextareaOptsType = {
14
+ rows?: number;
15
+ } & FieldInputTextValidationOptsType;
16
+ export type FieldInputTextValidationOptsType = {
17
+ minLength?: number;
18
+ maxLength?: number;
19
+ pattern?: string | RegExp;
20
+ };
21
+ export type FieldInputCurrencyOptsType<Property = string> = {
22
+ currencyProperty?: Property;
23
+ currency?: string;
24
+ currencyDisplay?: 'symbol' | 'code' | 'name';
25
+ } & FieldInputNumberGroupingOptsType & FieldInputNumberFractionOptsType & FieldInputNumberValidationOptsType & FieldInputLocaleOptsType;
26
+ export type FieldInputNumberOptsType = FieldInputNumberGroupingOptsType & FieldInputNumberFractionOptsType & FieldInputNumberValidationOptsType & FieldInputLocaleOptsType;
27
+ export type FieldInputNumberGroupingOptsType = {
28
+ groupSeparator?: boolean;
29
+ };
30
+ export type FieldInputNumberValidationOptsType = {
31
+ min?: number;
32
+ max?: number;
33
+ step?: number;
34
+ autoCorrect?: boolean;
35
+ };
36
+ export type FieldInputNumberFractionOptsType = {
37
+ minFractionDigits?: number;
38
+ maxFractionDigits?: number;
39
+ };
40
+ export type FieldInputLocaleOptsType = {
41
+ locale?: string;
42
+ };
43
+ export type FieldInputDatePickerOptsType = {
44
+ format?: string;
45
+ min?: Date;
46
+ max?: Date;
47
+ showTime?: boolean;
48
+ showSeconds?: boolean;
49
+ };
50
+ export type FieldInputFileOpts = {
51
+ multiple?: boolean;
52
+ maxFileSize?: number;
53
+ accept?: string;
54
+ onFileSelectHandlerFn?: FieldInputFileOnSelectHandlerFnType;
55
+ };
56
+ export type FieldInputImageUrlOpts = {
57
+ multiple?: boolean;
58
+ preview?: boolean;
59
+ inputVisibleOnDisabled?: boolean;
60
+ };
61
+ export type FieldInputComponentOpts = {
62
+ fieldWrappers?: string[];
63
+ inputs?: Record<string, any>;
64
+ };
65
+ export type FieldInputFileOnSelectHandlerFnType = (file: File[] | null, control: AbstractControl) => void;
66
+ export declare class FieldInputDescriptor<EditorModel, FieldModel = FieldInputDescriptorType, FieldValue = FieldModel> extends AFieldDescriptor<FieldModel, EditorModel, FieldValue> {
134
67
  private _fieldType;
135
68
  private _rows?;
136
69
  private _numberMin?;
137
70
  private _numberMax?;
138
71
  private _numberStep?;
139
- private _numberAutoCorrect;
72
+ private _numberAutoCorrect?;
140
73
  private _numberMinFractionDigits?;
141
74
  private _numberMaxFractionDigits?;
142
75
  private _numberUseGrouping;
@@ -148,24 +81,23 @@ export declare class FieldInputDescriptor<ET> extends AFieldDescriptor<string |
148
81
  private _datePickerFormat?;
149
82
  private _datePickerMin?;
150
83
  private _datePickerMax?;
151
- private _datePickerShowTime;
152
- private _datePickerShowSeconds;
84
+ private _datePickerShowTime?;
85
+ private _datePickerShowSeconds?;
153
86
  private _maxLength?;
154
87
  private _minLength?;
155
88
  private _pattern?;
156
89
  private _mask?;
157
90
  private _slotChar?;
158
- private _fileMultiple;
159
- private _fileMaxFileSize;
91
+ private _fileMultiple?;
92
+ private _fileMaxFileSize?;
160
93
  private _fileAccept?;
161
94
  private _fileOnSelectHandler?;
162
- private _imagePreview;
163
- private _imageUrlInputHiddenOnDisabled;
164
- private _customComponentName?;
95
+ private _imagePreview?;
96
+ private _imageUrlInputHiddenOnDisabled?;
165
97
  private _customComponentType?;
166
98
  private _customComponentInputs?;
167
- private _customComponentWrappers;
168
- constructor(editor: EditorDescriptor<ET>, property: string);
99
+ private _customComponentWrappers?;
100
+ constructor(editor: IEditorDescriptorInternal<EditorModel>, property: string);
169
101
  /**
170
102
  * converts field to given type with additional arguments
171
103
  * @param fieldType field type enum
@@ -177,214 +109,56 @@ export declare class FieldInputDescriptor<ET> extends AFieldDescriptor<string |
177
109
  get numberMin(): number | undefined;
178
110
  get numberMax(): number | undefined;
179
111
  get numberStep(): number | undefined;
180
- get numberAutoCorrect(): boolean;
112
+ get numberAutoCorrect(): boolean | undefined;
181
113
  get numberMinFractionDigits(): number | undefined;
182
114
  get numberMaxFractionDigits(): number | undefined;
183
115
  get numberUseGrouping(): boolean;
184
- get radioOptions(): EnumValue<string | number | boolean | Date>[];
116
+ get radioOptions(): RadioValue<string | number | boolean>[];
185
117
  get datePickerFormat(): string | undefined;
186
118
  get datePickerMin(): Date | undefined;
187
119
  get datePickerMax(): Date | undefined;
188
- get datePickerShowTime(): boolean;
189
- get datePickerShowSeconds(): boolean;
120
+ get datePickerShowTime(): boolean | undefined;
121
+ get datePickerShowSeconds(): boolean | undefined;
190
122
  get maxLength(): number | undefined;
191
123
  get minLength(): number | undefined;
192
124
  get pattern(): string | RegExp | undefined;
193
125
  get mask(): string | undefined;
194
126
  get slotChar(): string | undefined;
195
- get fileMultiple(): boolean;
196
- get fileMaxFileSize(): number;
127
+ get fileMultiple(): boolean | undefined;
128
+ get fileMaxFileSize(): number | undefined;
197
129
  get fileAccept(): string | undefined;
198
- get fileOnSelectHandler(): ((file: File[] | null, control: AbstractControl<any, any>) => void) | undefined;
199
- get imagePreview(): boolean;
200
- get imageUrlInputVisibleOnDisabled(): boolean;
201
- get customComponentName(): string | undefined;
130
+ get fileOnSelectHandler(): FieldInputFileOnSelectHandlerFnType | undefined;
131
+ get imagePreview(): boolean | undefined;
132
+ get imageUrlInputVisibleOnDisabled(): boolean | undefined;
202
133
  get customComponentType(): Type<AMngFormlyCustomFieldComponent> | undefined;
203
134
  get customComponentInputs(): Record<string, any> | undefined;
204
- get customComponentWrappers(): string[];
135
+ get customComponentWrappers(): string[] | undefined;
205
136
  get locale(): string | undefined;
206
137
  get currency(): string | undefined;
207
138
  get currencyFromProperty(): string | undefined;
208
139
  get currencyDisplay(): "symbol" | "name" | "code";
209
140
  asHidden(): this;
210
141
  asLabel(): this;
211
- asText(): this;
212
- asTextarea(rows?: number): this;
213
- asNumber(): this;
214
- asCurrency(currencyFromProperty?: string, currency?: string, currencyDisplay?: 'symbol' | 'code' | 'name'): this;
142
+ asText(opts?: FieldInputTextOptsType): this;
143
+ asTextarea(opts?: FieldInputTextareaOptsType): this;
144
+ asNumber(opts?: FieldInputNumberOptsType): this;
145
+ asCurrency(opts?: FieldInputCurrencyOptsType<keyof EditorModel>): this;
146
+ asCurrencyUnsafe(opts?: FieldInputCurrencyOptsType): this;
215
147
  asSwitch(): this;
216
- asRadio(options: Array<string | number>, optionsTitlePath?: string): this;
148
+ asRadio(options: Array<string | number | boolean>, optionsTitlePath?: string): this;
217
149
  asRadioFromEnum(enumType: EnumType, optionsTitlePath?: string | null, values?: Array<EnumConstantType>, nameAsValue?: boolean): this;
218
- asDatePicker(format?: string, min?: Date, max?: Date, showTime?: boolean, showSeconds?: boolean): this;
150
+ asDatePicker(opts?: FieldInputDatePickerOptsType): this;
219
151
  asMask(mask: string, slotChar: string): this;
220
- asFile(multiple?: boolean, maxFileSize?: number, accept?: string): this;
221
- asImageFile(multiple?: boolean, maxFileSize?: number, accept?: string): this;
222
- asImageUrl(multiple?: boolean, preview?: boolean, inputVisibleOnDisabled?: boolean): this;
223
- asCustomComponent(customComponent: string | Type<AMngFormlyCustomFieldComponent>, wrappers?: string[], componentInputs?: Record<string, any>): this;
224
- withNumberValidation(min?: number, max?: number, step?: number, autoCorrect?: boolean): this;
225
- withLocale(locale: string): this;
226
- withNumberFractions(min?: number, max?: number): this;
152
+ asFile(opts?: FieldInputFileOpts): this;
153
+ asImageFile(opts?: FieldInputFileOpts): this;
154
+ asImageUrl(opts?: FieldInputImageUrlOpts): this;
155
+ asCustomComponent(component: Type<AMngFormlyCustomFieldComponent>, opts?: FieldInputComponentOpts): this;
156
+ withNumberValidation(opts?: FieldInputNumberValidationOptsType): this;
157
+ withLocale(locale?: string): this;
158
+ withNumberFractions(opts?: FieldInputNumberFractionOptsType): this;
227
159
  withNumberGrouping(useGrouping?: boolean): this;
228
- withTextValidation(minLength?: number, maxLength?: number, pattern?: string | RegExp): this;
229
- withTextValidationEmail(): this;
230
- withFileOnSelectHandler(fn: (file: File[] | null, control: AbstractControl) => void): void;
231
- copy(): FieldInputDescriptor<ET>;
232
- }
233
- export declare class FieldActionDescriptor<ET> extends AFieldDescriptor<void, ET> {
234
- protected readonly _fieldActionName: string;
235
- protected readonly _fieldActionNameLong: string;
236
- protected _button: ActionButtonDescriptor;
237
- protected _runFunction?: (ctx: FieldActionContext<ET>) => void | FieldActionResult | Observable<FieldActionResult>;
238
- private _wrappers;
239
- constructor(editor: EditorDescriptor<ET>, property: string);
240
- get button(): ActionButtonDescriptor;
241
- get runFunction(): ((ctx: FieldActionContext<ET>) => void | FieldActionResult | Observable<FieldActionResult>) | undefined;
242
- get wrappers(): string[];
243
- withButtonDescriptor(button: ActionButtonDescriptor): this;
244
- withButton(label?: string | null, icon?: string | null, styleLevel?: StyleLevelEnum, styleText?: boolean): this;
245
- withRunFunction(fn: (ctx: FieldActionContext<ET>) => void): this;
246
- withWrappers(wrappers: string[]): this;
247
- copy(): FieldActionDescriptor<ET>;
248
- }
249
- export declare class FieldLookupDescriptor<T, ET> extends AFieldDescriptor<T, ET> implements ILookupDescriptor<T> {
250
- protected readonly _modelType: ClassType<T> | null;
251
- protected _lookupType: FieldLookupTypeEnum;
252
- protected _itemsLabelProperty?: string;
253
- protected _itemsLabelTranslate: boolean;
254
- protected _itemsValueProperty?: string;
255
- protected _itemsDisabledProperty?: string;
256
- protected _dataKeyProperty?: string;
257
- protected _dataProvider?: ILookupDataProvider<T, any>;
258
- protected _dropdownClassName: string;
259
- protected _autocompleteOpenOnFocus: boolean;
260
- protected _autocompleteInlineSearch: boolean;
261
- protected _autocompleteAutoClear: boolean;
262
- protected _autocompleteSelectFirst: boolean;
263
- protected _dialogTableDescriptor?: TableDescriptor<T>;
264
- protected _dialogTableDataProvider?: ITableDataProvider<T, any>;
265
- protected _customComponentName?: string;
266
- constructor(editor: EditorDescriptor<ET>, property: string, modelType: ClassType<T> | null);
267
- get lookupType(): FieldLookupTypeEnum;
268
- get itemsLabelProperty(): string | undefined;
269
- get itemsLabelTranslate(): boolean;
270
- get itemsValueProperty(): string | undefined;
271
- get itemsDisabledProperty(): string | undefined;
272
- get dataKeyProperty(): string | undefined;
273
- get dataProvider(): ILookupDataProvider<T, any> | undefined;
274
- get autocompleteOpenOnFocus(): boolean;
275
- get autocompleteInlineSearch(): boolean;
276
- get autocompleteAutoClear(): boolean;
277
- get autocompleteSelectFirst(): boolean;
278
- get dropdownClassName(): string;
279
- get modelType(): ClassType<T> | null;
280
- get dialogTableDescriptor(): TableDescriptor<T> | undefined;
281
- get dialogTableDataProvider(): ITableDataProvider<T, any> | undefined;
282
- get customComponentName(): string | undefined;
283
- withItemsLabelProperty(itemsLabelProperty: string, translate?: boolean): this;
284
- withItemsValueProperty(itemsValueProperty: string): this;
285
- withItemsDisabledProperty(itemsDisabledProperty: string): this;
286
- withDataKeyProperty(property: string): this;
287
- withLookup<S>(lookup: (queryParam?: MediusQueryParam, service?: S, search?: string) => Observable<Array<T>>, serviceType?: Type<S>): this;
288
- withLookupDataProvider(dataProvider: ILookupDataProvider<T, any>): this;
289
- withConfig(config: FieldLookupConfig): this;
290
- asAutocomplete(openOnFocus?: boolean, inlineSearch?: boolean, selectFirst?: boolean, autoClear?: boolean): this;
291
- asDialog(lookupTableDescriptor: TableDescriptor<T>, tableDataProvider?: ITableDataProvider<T, any>): this;
292
- asCustomComponent(customComponentName: string): this;
293
- copy(): FieldLookupDescriptor<T, ET>;
294
- }
295
- export declare class FieldLookupEnumDescriptor<ET> extends FieldLookupDescriptor<EnumValue<string | number>, ET> {
296
- private readonly _enumType;
297
- private readonly _optionEnumValues;
298
- private readonly _nameAsValue;
299
- constructor(editor: EditorDescriptor<ET>, property: string, enumType: EnumType, options?: Array<EnumConstantType>, nameAsValue?: boolean, optionsTitlePath?: string | null);
300
- get enumType(): EnumType;
301
- withDisabledOptions(...disabledOptions: Array<EnumConstantType>): this;
302
- withDefaultValueEnum(defaultValue: EnumConstantType): this;
303
- asAutocomplete(openOnFocus?: boolean): this;
304
- copy(): FieldLookupEnumDescriptor<ET>;
305
- }
306
- export declare class FieldManyToManyEditorDescriptor<T, ET> extends AFieldDescriptor<T, ET, T[]> {
307
- private readonly _mainTableDescriptor;
308
- private readonly _lookupTableDescriptor;
309
- private _fieldType;
310
- private _lookupTableDataProvider;
311
- private _actions;
312
- private _hasLookupExcludeValues;
313
- private _excludeFilterProperty;
314
- private _excludeValueProperty;
315
- private _searchEnabled;
316
- private _searchFields?;
317
- constructor(editor: EditorDescriptor<ET>, property: string, mainTableDescriptor: TableDescriptor<T>, lookupTableDescriptor: TableDescriptor<T>);
318
- get fieldType(): FieldManyToManyEditorTypeEnum;
319
- get lookupTableDataProvider(): ITableDataProvider<T, any> | null;
320
- get actions(): FieldManyToManyEditorActionEnum[];
321
- get hasLookupExcludeValues(): boolean;
322
- get excludeFilterProperty(): string;
323
- get excludeValueProperty(): string;
324
- get mainTableDescriptor(): TableDescriptor<T>;
325
- get lookupTableDescriptor(): TableDescriptor<T>;
326
- get searchEnabled(): boolean;
327
- get searchFields(): string[] | undefined;
328
- withLookup<S>(getAll: (queryParam: MediusQueryParam, service?: S) => Observable<MediusQueryResult<T>>, serviceType?: Type<S>): this;
329
- withLookupDataProvider(dataProvider: ITableDataProvider<T, any>): this;
330
- withActions(actions?: Array<FieldManyToManyEditorActionEnum>): this;
331
- withLookupExclude(filterProperty: string, valueProperty: string, hasLookupExclude?: boolean): this;
332
- withSearch(enabled?: boolean, searchFields?: string[]): this;
333
- copy(): FieldManyToManyEditorDescriptor<T, ET>;
334
- }
335
- export declare class FieldManyEditorDescriptor<T, ET> extends AFieldDescriptor<T, ET, T[]> {
336
- private readonly _tableviewDescriptor;
337
- private _fieldType;
338
- private _fieldActions;
339
- private _actions;
340
- constructor(editor: EditorDescriptor<ET>, property: string, tableviewDescriptor: TableviewDescriptor<T>);
341
- get fieldType(): FieldManyEditorTypeEnum;
342
- get fieldActions(): FieldManyEditorActionEnum[];
343
- get actions(): ActionDescriptor<T>[];
344
- get tableviewDescriptor(): TableviewDescriptor<T>;
345
- get tableDescriptor(): TableDescriptor<T>;
346
- get editorForCreate(): EditorDescriptor<T>;
347
- get editorForRead(): EditorDescriptor<T>;
348
- get editorForUpdate(): EditorDescriptor<T>;
349
- withFieldAction(action: FieldManyEditorActionEnum): this;
350
- withFieldActions(actions: FieldManyEditorActionEnum[]): this;
351
- withAction(action: ActionDescriptor<T>): this;
352
- copy(): FieldManyEditorDescriptor<T, ET>;
353
- }
354
- export declare abstract class AFieldGroupDescriptor<ET> extends AGenericFieldDescriptor<ET> {
355
- protected readonly _name: string;
356
- protected readonly _default: boolean;
357
- protected _title?: string;
358
- protected _fields: AGenericFieldDescriptor<ET>[];
359
- protected _validations: Array<FieldValidationDescriptor>;
360
- protected constructor(editor: EditorDescriptor<ET>, name: string);
361
- removeField(property: string, filterFunction: (fields: AGenericFieldDescriptor<ET>[]) => AGenericFieldDescriptor<ET>[]): AGenericFieldDescriptor<ET>[];
362
- get title(): string | undefined;
363
- abstract get fields(): AGenericFieldDescriptor<ET>[];
364
- get validations(): FieldValidationDescriptor[];
365
- get baseName(): string;
366
- get name(): string;
367
- get default(): boolean;
368
- abstract groupName(): string;
369
- abstract addField(field: AGenericFieldDescriptor<ET>): this;
370
- abstract copy(): AFieldGroupDescriptor<ET>;
371
- withTitle(title: string): this;
372
- withValidation(name: string, validator?: MngFieldValidator, message?: MngFieldValidationMessage): this;
373
- }
374
- export declare class FieldTabGroupDescriptor<ET> extends AFieldGroupDescriptor<ET> {
375
- constructor(editor: EditorDescriptor<ET>, name: string);
376
- get fields(): Array<FieldGroupDescriptor<ET>>;
377
- groupName(): string;
378
- addField(field: FieldGroupDescriptor<ET>): this;
379
- copy(): FieldTabGroupDescriptor<ET>;
380
- }
381
- export declare class FieldGroupDescriptor<ET> extends AFieldGroupDescriptor<ET> {
382
- private _type;
383
- constructor(editor: EditorDescriptor<ET>, name: string);
384
- get type(): FieldGroupTypeEnum;
385
- get fields(): Array<AFieldDescriptor<any, ET>>;
386
- groupName(): string;
387
- addField(field: AFieldDescriptor<any, ET>): this;
388
- asLogical(): this;
389
- copy(): FieldGroupDescriptor<ET>;
160
+ withTextValidation(opts?: FieldInputTextValidationOptsType): this;
161
+ withTextValidationEmail(email?: boolean): this;
162
+ withFileOnSelectHandler(fn?: FieldInputFileOnSelectHandlerFnType): this;
163
+ copy(): FieldInputDescriptor<EditorModel, FieldModel, FieldValue>;
390
164
  }
@@ -1,3 +1,8 @@
1
1
  export * from './editor.descriptor';
2
2
  export * from './field.descriptor';
3
+ export * from './field-action.descriptor';
4
+ export * from './field-base.descriptor';
5
+ export * from './field-group.descriptor';
6
+ export * from './field-lookup.descriptor';
7
+ export * from './field-many.descriptor';
3
8
  export * from './field-validation.descriptor';
@@ -0,0 +1,32 @@
1
+ import { ITableDataProvider } from '../../../data-providers';
2
+ import { ArrayItemType, ClassType, EnumConstantType, EnumType, IdType, Nullable } from '../../../types';
3
+ import { ITableDescriptorInternal } from '../../table/internal/table.model';
4
+ import { ITableviewDescriptorInternal } from '../../tableview/internal/tableview.model';
5
+ import { TableviewEditorTypeEnum } from '../../types';
6
+ import { AFieldDescriptor } from '../field-base.descriptor';
7
+ import { FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldLookupProviderType } from '../field-lookup.descriptor';
8
+ import { FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor } from '../field-many.descriptor';
9
+ import { FieldInputDescriptor, FieldInputDescriptorType } from '../field.descriptor';
10
+ export interface IFieldsManageInterface<EditorModel> {
11
+ getField(property: keyof EditorModel, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, EditorModel> | null;
12
+ getFieldUnsafe(property: string, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, EditorModel> | null;
13
+ removeField(property: keyof EditorModel): void;
14
+ removeFieldUnsafe(property: string): void;
15
+ addFieldDescriptor<FieldModel>(field: AFieldDescriptor<FieldModel, EditorModel>): this;
16
+ addField<Property extends keyof EditorModel, FieldModel = NonNullable<EditorModel[Property]>, FieldValue = EditorModel[Property]>(property: Property): FieldInputDescriptor<EditorModel, FieldModel, FieldValue>;
17
+ addFieldUnsafe<FieldModel = FieldInputDescriptorType, FieldValue = FieldModel>(property: string): FieldInputDescriptor<EditorModel, FieldModel, FieldValue>;
18
+ addFields(...properties: (keyof EditorModel)[]): this;
19
+ addFieldLookup<Property extends keyof EditorModel, FieldModel = NonNullable<EditorModel[Property]>, FieldValue = EditorModel[Property]>(property: Property, type?: ClassType<FieldModel>): FieldLookupDescriptor<FieldModel, EditorModel, undefined, FieldValue>;
20
+ addFieldLookupUnsafe<FieldModel, FieldValue = FieldModel>(property: string, type?: ClassType<FieldModel>): FieldLookupDescriptor<FieldModel, EditorModel, undefined, FieldValue>;
21
+ addFieldLookupWithPropertyAsValueUnsafe<FieldModel, FieldValue = Nullable<IdType>>(property: string, optionsValueProperty: string): FieldLookupDescriptor<FieldModel, EditorModel, undefined, FieldValue>;
22
+ addFieldLookupWithProvider<Service, Property extends keyof EditorModel, FieldModel = NonNullable<EditorModel[Property]>, FieldValue = EditorModel[Property]>(property: Property, provider: FieldLookupProviderType<FieldModel, Service>, type?: ClassType<FieldModel>): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue>;
23
+ addFieldLookupWithProviderUnsafe<Service, FieldModel, FieldValue = FieldModel>(property: string, provider: FieldLookupProviderType<FieldModel, Service>, type?: ClassType<FieldModel>): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue>;
24
+ addFieldLookupEnum(property: keyof EditorModel, enumType: EnumType, options?: Array<EnumConstantType>, nameAsValue?: boolean, optionsTitlePath?: string | null): FieldLookupEnumDescriptor<EditorModel>;
25
+ addFieldLookupEnumUnsafe(property: string, enumType: EnumType, options?: Array<EnumConstantType>, nameAsValue?: boolean, optionsTitlePath?: string | null): FieldLookupEnumDescriptor<EditorModel>;
26
+ addFieldManyEditor<Property extends keyof EditorModel, FieldModel = ArrayItemType<EditorModel[Property]>, FieldValue = EditorModel[Property]>(property: Property, tableviewDescriptor: ITableviewDescriptorInternal<FieldModel>): FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue>;
27
+ addFieldManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, tableviewDescriptor: ITableviewDescriptorInternal<FieldModel>): FieldManyEditorDescriptor<FieldModel, EditorModel, FieldValue>;
28
+ addFieldManyToManyEditor<Property extends keyof EditorModel, FieldModel = ArrayItemType<EditorModel[Property]>, FieldValue = EditorModel[Property]>(property: Property, mainTableDescriptor: ITableDescriptorInternal<FieldModel>, lookupTableDescriptor: ITableDescriptorInternal<FieldModel>): FieldManyToManyEditorDescriptor<FieldModel, EditorModel, undefined, FieldValue>;
29
+ addFieldManyToManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, mainTableDescriptor: ITableDescriptorInternal<FieldModel>, lookupTableDescriptor: ITableDescriptorInternal<FieldModel>): FieldManyToManyEditorDescriptor<FieldModel, EditorModel, undefined, FieldValue>;
30
+ addFieldManyToManyEditorWithProvider<Property extends keyof EditorModel, Service, FieldModel = ArrayItemType<EditorModel[Property]>, FieldValue = EditorModel[Property]>(property: Property, mainTableDescriptor: ITableDescriptorInternal<FieldModel>, lookupTableDescriptor: ITableDescriptorInternal<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, Service>): FieldManyToManyEditorDescriptor<FieldModel, EditorModel, Service, FieldValue>;
31
+ addFieldManyToManyEditorWithProviderUnsafe<FieldModel, Service, FieldValue = FieldModel[]>(property: string, mainTableDescriptor: ITableDescriptorInternal<FieldModel>, lookupTableDescriptor: ITableDescriptorInternal<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, Service>): FieldManyToManyEditorDescriptor<FieldModel, EditorModel, Service, FieldValue>;
32
+ }
@@ -0,0 +1,15 @@
1
+ import { ArrayItemType } from '../../../types';
2
+ import { ModelDescriptor } from '../../model';
3
+ /**
4
+ * This one is internal only to prevent circular dependencies between editor and fields.
5
+ */
6
+ export interface IEditorDescriptorInternal<EditorModel> {
7
+ model: ModelDescriptor<EditorModel>;
8
+ isLocalized: boolean;
9
+ localizationLocaleProperty?: string;
10
+ localizationModel?: ModelDescriptor<any>;
11
+ localizationLocalizationProperty?: string;
12
+ localized<K extends keyof EditorModel, LocalizationModel = ArrayItemType<EditorModel[K]>>(property: K, model: ModelDescriptor<LocalizationModel>, localeProperty: keyof LocalizationModel): this;
13
+ localizedUnsafe<LocalizationModel>(property: string, model: ModelDescriptor<LocalizationModel>, localeProperty: string): this;
14
+ }
15
+ export declare const EDITOR_DEFAULT_GROUP_NAME = "_default";