@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
@@ -1,23 +1,23 @@
1
- import { Type } from '@angular/core';
2
1
  import { MediusQueryResult } from '../../api/models';
3
2
  import { ILookupDataProvider } from '../../data-providers';
4
- import { IColumnValueComponent, TableviewAttributeDef } from '../../models';
3
+ import { TableviewAttributeDef } from '../../models';
5
4
  import { ClassType, EnumType } from '../../types';
6
- import { ModelDescriptor } from '../model.descriptor';
5
+ import { ModelDescriptor } from '../model';
7
6
  import { ColumnDisplayTypeEnum, ColumnTypeEnum, TableDynamicColumnsModeEnum, TableFilterDisplayEnum, TablePaginationModeEnum, TableSizeEnum } from '../types';
8
7
  import { ColumnDescriptor, ColumnDynamicDescriptor } from './column.descriptor';
9
- export declare class TableDescriptor<T> {
8
+ import { IColumnsManageInterface } from './internal/table-columns.model';
9
+ import { ITableDescriptorInternal } from './internal/table.model';
10
+ export declare class TableDescriptorInst<TableModel> implements ITableDescriptorInternal<TableModel>, IColumnsManageInterface<TableModel> {
10
11
  private readonly _model;
11
- private _dataKey?;
12
- private _modelType;
12
+ protected readonly _autoGenerated: boolean;
13
+ private _trackProperty?;
13
14
  private _filterDisplay;
14
15
  private _paginationMode?;
15
16
  private _rowsPerPageOptions;
16
17
  private _defaultNumRows;
17
- protected _columns: Array<ColumnDescriptor<any, T>>;
18
+ protected _columns: Array<ColumnDescriptor<any, TableModel>>;
18
19
  private _title?;
19
20
  private _hideHeader;
20
- private _dataKeyProperty?;
21
21
  private _loadingText?;
22
22
  private _loadingIcon;
23
23
  private _hasDefaultSort;
@@ -36,41 +36,23 @@ export declare class TableDescriptor<T> {
36
36
  private _headerClassName?;
37
37
  private _rowClassName?;
38
38
  private _rowClassNameMapFn?;
39
- private _autoGenerated;
40
39
  private _isLocalized;
41
40
  private _localizationLocaleProperty?;
42
- private _deprecatedFilters;
43
- constructor(modelType: ClassType<T>, idProperty?: string, titleProperty?: string, i18nBaseKey?: string | ClassType<unknown>);
44
- /**
45
- * generates descriptor based on modelType attribute definition
46
- * @param modelType class type
47
- * @param idProperty
48
- * @param titleProperty
49
- */
50
- static from<T>(modelType: ClassType<T>, idProperty?: string, titleProperty?: string): TableDescriptor<T>;
51
- /**
52
- * generates descriptor base on given attribute definition
53
- * @param modelType class type
54
- * @param attributes attributes from which descriptor is generated
55
- * @param idProperty
56
- * @param titleProperty
57
- */
58
- static fromModelWithAttributes<T>(modelType: ClassType<T>, attributes: TableviewAttributeDef[], idProperty?: string, titleProperty?: string): TableDescriptor<T>;
59
- get dataKey(): string | undefined;
41
+ protected constructor(model: ModelDescriptor<TableModel>, autoGenerated?: boolean);
42
+ get trackProperty(): string | undefined;
60
43
  get filterDisplay(): TableFilterDisplayEnum;
61
44
  get paginationMode(): TablePaginationModeEnum | undefined;
62
45
  get rowsPerPageOptions(): number[];
63
46
  get defaultNumRows(): number;
64
- get columns(): ColumnDescriptor<any, T>[];
47
+ get columns(): ColumnDescriptor<any, TableModel, any, string>[];
65
48
  get title(): string | undefined;
66
49
  get hideHeader(): boolean;
67
- get dataKeyProperty(): string | undefined;
68
50
  get loadingText(): string | undefined;
69
51
  get loadingIcon(): string | null;
70
52
  get hasDefaultSort(): boolean;
71
53
  get defaultSortProperty(): string[];
72
54
  get defaultSortAsc(): boolean[];
73
- get model(): ModelDescriptor<T>;
55
+ get model(): ModelDescriptor<TableModel, import("../../types").ClassOptType<TableModel>>;
74
56
  get className(): string;
75
57
  get size(): TableSizeEnum;
76
58
  get tableFullHeightOffset(): number | undefined;
@@ -80,46 +62,45 @@ export declare class TableDescriptor<T> {
80
62
  get hasResizableColumns(): boolean;
81
63
  get columnResizeMode(): "fit" | "expand";
82
64
  get rowClassName(): string | undefined;
83
- get rowClassNameMapFn(): ((className?: string | undefined, item?: T | undefined) => string) | undefined;
65
+ get rowClassNameMapFn(): ((className?: string | undefined, item?: TableModel | undefined) => string) | undefined;
84
66
  get selectionColumnFrozen(): boolean | undefined;
85
67
  get actionColumnFrozen(): boolean | undefined;
86
68
  get headerClassName(): string | undefined;
87
69
  get isLocalized(): boolean;
88
70
  get localizationLocaleProperty(): string | undefined;
89
- get deprecatedFilters(): boolean;
90
71
  /**
91
- * dataKey is used for the purpose of combined saving user preferences in localstorage if 2 tables have the same dataKey they will share the same localstorage entry.
72
+ * Track property is used for the purpose of combined saving user preferences in localstorage if 2 tables have the same track properties they will share the same localstorage entry.
92
73
  * Similarly, this property can also be used to differentiate two tables of the same model on the same url (so that they have separate entries in localstorage).
93
- * @param dataKey
94
- */
95
- withDataKey(dataKey?: string): this;
96
- getColumn(property: string): ColumnDescriptor<string, T> | undefined;
97
- addColumnDescriptor<CT>(column: ColumnDescriptor<CT, T>): TableDescriptor<T>;
98
- addColumn(property: string): ColumnDescriptor<string, T>;
99
- addColumnNumber(property: string, displayFormat?: string): ColumnDescriptor<number, T>;
100
- addColumnDate(property: string, displayFormat?: string): ColumnDescriptor<Date, T>;
101
- addColumnBoolean(property: string, yes?: string, no?: string, asIcon?: boolean): ColumnDescriptor<boolean, T>;
102
- addColumnEnum(property: string, enumType: EnumType, nameAsValue?: boolean, titlePath?: string | null): ColumnDescriptor<EnumType, T>;
103
- addColumnCustomComponent(property: string, customComponentType: Type<IColumnValueComponent<T>>): ColumnDescriptor<any, T>;
104
- removeColumn(property: string): void;
74
+ * @param property
75
+ */
76
+ withTrackProperty(property?: keyof TableModel): this;
77
+ withTrackPropertyUnsafe(property?: string): this;
78
+ getColumn(property: keyof TableModel): ColumnDescriptor<any, TableModel, any, string> | null;
79
+ getColumnUnsafe(property: string): ColumnDescriptor<any, TableModel, any, string> | null;
80
+ removeColumn(property: keyof TableModel): void;
81
+ removeColumnUnsafe(property: string): void;
82
+ addColumnDescriptor<CT>(column: ColumnDescriptor<CT, TableModel>): this;
83
+ addColumn<PropertyKey extends keyof TableModel>(property: PropertyKey): ColumnDescriptor<NonNullable<TableModel[PropertyKey]>, TableModel, TableModel[PropertyKey]>;
84
+ addColumnUnsafe<ColumnModel = unknown>(property: string): ColumnDescriptor<ColumnModel, TableModel>;
85
+ addColumns(...properties: (keyof TableModel)[]): this;
105
86
  withFilterDisplay(filterDisplayType: TableFilterDisplayEnum): this;
106
87
  withPaginationMode(paginationMode: TablePaginationModeEnum): this;
107
88
  withRowsPerPage(rows: number, options?: Array<number>): this;
108
89
  withTitle(title: string): this;
109
90
  withHideHeader(hideHeader?: boolean): this;
110
- withDataKeyProperty(property: string): this;
111
91
  withLoading(text?: string, icon?: string | null): this;
112
92
  /**
113
93
  * Helper method that enables/disables reorderable property on all columns currently in the descriptor.
114
- * @param columnsReorderable: boolean
94
+ * @param columnsReorderable
115
95
  */
116
96
  withCurrentColumnsReorderable(columnsReorderable?: boolean): this;
117
97
  /**
118
98
  * Helper method that enables/disables toggleable property on all columns currently in the descriptor.
119
- * @param columnsToggleable: boolean
99
+ * @param columnsToggleable
120
100
  */
121
101
  withCurrentColumnsToggleable(columnsToggleable?: boolean): this;
122
- withDefaultSort(property: string, asc?: boolean): this;
102
+ withDefaultSort(property: keyof TableModel, asc?: boolean): this;
103
+ withDefaultSortUnsafe(property: string, asc?: boolean): this;
123
104
  withClassName(className: string): this;
124
105
  withSize(size?: TableSizeEnum): this;
125
106
  withTableFullHeightOffset(tableFullHeightOffset: number): this;
@@ -138,51 +119,76 @@ export declare class TableDescriptor<T> {
138
119
  * @param actionColumnFrozen True to freeze action column, false to unfreeze it.
139
120
  */
140
121
  withColumnFrozen(selectionColumnFrozen?: boolean, actionColumnFrozen?: boolean): this;
141
- withRowClassName(rowClassName?: string, classNameMapFn?: (className?: string, item?: T) => string): this;
122
+ withRowClassName(rowClassName?: string, classNameMapFn?: (className?: string, item?: TableModel) => string): this;
142
123
  withHeaderClassName(headerClassName: string): this;
143
124
  withLocalized(): this;
144
125
  withLocalizationLocaleProperty(localizationLocaleProperty: string): this;
145
- protected copyFieldsTo(obj: TableDescriptor<T>): void;
146
- copy(): TableDescriptor<T>;
147
- /**
148
- * generates column based on attributes
149
- * @param attribute attribute map
150
- * @param column if provided, replaced by new, otherwise new is created
151
- * @param args additional parameters
152
- */
153
- private upsertColumnFromAttributeDef;
126
+ protected copyFieldsTo(obj: TableDescriptorInst<any>): void;
127
+ copy(): TableDescriptorInst<TableModel>;
154
128
  /**
155
129
  * defines modified type of column
156
130
  * DO NOT USE with enum (use withCustomEnumType)
157
131
  * @param property column name
158
132
  * @param columnType modified type
159
133
  * @param args additional attributes
134
+ * @param columnDisplayType
160
135
  */
161
- withColumnModifiedType(property: string, columnType?: ColumnTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum, ...args: any[]): this;
136
+ withColumnModifiedType(property: keyof TableModel, columnType?: ColumnTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum, ...args: any[]): this;
137
+ withColumnModifiedTypeUnsafe(property: string, columnType?: ColumnTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum, ...args: any[]): this;
162
138
  /**
163
139
  * defines custom enum type for column
164
140
  * @param property column name
165
141
  * @param enumType
166
142
  */
167
- withColumnModifiedEnum(property: string, enumType?: EnumType): this;
143
+ withColumnModifiedEnum(property: keyof TableModel, enumType?: EnumType): this;
144
+ withColumnModifiedEnumUnsafe(property: string, enumType?: EnumType): this;
168
145
  /**
169
146
  * modifies column with class and lookup provider
170
147
  * @param property column name
171
148
  * @param lookupProvider lookupProvider for class
172
- * @param itemsLabelProperty
149
+ * @param optionsLabelProperty
173
150
  * @param filterProperty
174
151
  */
175
- withColumnModifiedLookup(property: string, lookupProvider: ILookupDataProvider<any, any>, itemsLabelProperty?: string, filterProperty?: string): this;
176
- withDeprecatedFilters(deprecatedFilters?: boolean): this;
152
+ withModifiedLookup<ColumnLookupModel>(property: keyof TableModel, lookupProvider?: ILookupDataProvider<ColumnLookupModel>, optionsLabelProperty?: string, filterProperty?: string): this;
153
+ withColumnModifiedLookupUnsafe<ColumnLookupModel>(property: string, lookupProvider?: ILookupDataProvider<ColumnLookupModel>, titleProperty?: string, optionsLabelProperty?: string, filterProperty?: string): this;
154
+ /**
155
+ * generates column based on attributes
156
+ * @param desc Table descriptor
157
+ * @param attribute attribute map
158
+ * @param column if provided, replaced by new, otherwise new is created
159
+ * @param args additional parameters
160
+ */
161
+ protected static upsertColumnFromAttributeDef<ColumnModel, TableModel>(desc: TableDescriptorInst<TableModel>, attribute: TableviewAttributeDef, column?: ColumnDescriptor<ColumnModel, TableModel>, ...args: any[]): ColumnDescriptor<ColumnModel, TableModel>;
162
+ }
163
+ export declare class TableDescriptor extends TableDescriptorInst<any> {
164
+ protected constructor();
165
+ static create<TableModel>(idProperty: keyof TableModel, titleProperty: keyof TableModel, i18nBaseKey: string | ClassType<unknown>): TableDescriptorInst<TableModel>;
166
+ static fromClass<TableModel>(type: ClassType<TableModel>, idProperty?: keyof TableModel, titleProperty?: keyof TableModel, i18nBaseKey?: ClassType<unknown> | string, isAutoGenerated?: boolean): TableDescriptorInst<TableModel>;
167
+ static fromModel<TableModel>(model: ModelDescriptor<TableModel>): TableDescriptorInst<TableModel>;
168
+ /**
169
+ * generates descriptor based on type attribute definition
170
+ * @param type class type
171
+ * @param idProperty
172
+ * @param titleProperty
173
+ */
174
+ static fromClassWithAutoAttrsDef<TableModel>(type: ClassType<TableModel>, idProperty?: keyof TableModel, titleProperty?: keyof TableModel): TableDescriptorInst<TableModel>;
175
+ /**
176
+ * generates descriptor base on given attribute definition
177
+ * @param type class type
178
+ * @param attributes attributes from which descriptor is generated
179
+ * @param idProperty
180
+ * @param titleProperty
181
+ */
182
+ static fromClassWithCustomAttrsDef<TableModel>(type: ClassType<TableModel>, attributes: TableviewAttributeDef[], idProperty?: keyof TableModel, titleProperty?: keyof TableModel): TableDescriptorInst<TableModel>;
177
183
  }
178
- export declare class TableDynamicDescriptor extends TableDescriptor<any> {
184
+ export declare class TableDynamicDescriptorInst extends TableDescriptorInst<any> {
179
185
  private _excludedColumns;
180
186
  private _filterColumns;
181
187
  private _sortColumns;
182
188
  private _sortColumnMode;
183
189
  private _filterColumnMode;
184
190
  protected _columns: ColumnDynamicDescriptor[];
185
- constructor(idProperty?: string, titleProperty?: string, i18nBaseKey?: string);
191
+ protected constructor(model: ModelDescriptor<any>);
186
192
  get columns(): ColumnDynamicDescriptor[];
187
193
  /**
188
194
  * defines excluded columns when generating descriptor
@@ -219,16 +225,21 @@ export declare class TableDynamicDescriptor extends TableDescriptor<any> {
219
225
  * generates columns defined on table based on data fetched from api
220
226
  * @param data data from api
221
227
  */
222
- toTableDescriptorFromData(data: MediusQueryResult<any>): TableDescriptor<any>;
228
+ toTableDescriptorFromData(data: MediusQueryResult<any>): TableDescriptorInst<any>;
223
229
  /**
224
230
  * adds ColumnDynamicDescriptor to this table
225
231
  * @param property column's property
226
232
  */
227
- addColumn(property: string): ColumnDynamicDescriptor;
228
- removeColumn(property: string): this;
233
+ addColumn(property: keyof any): ColumnDynamicDescriptor;
234
+ removeColumn(property: keyof any): this;
229
235
  /**
230
236
  * creates deep copy of table dynamic descriptor
231
237
  */
232
- copy(): TableDynamicDescriptor;
233
- toTableDescriptor(): TableDescriptor<any>;
238
+ copy(): TableDynamicDescriptorInst;
239
+ toTableDescriptor(): TableDescriptorInst<any>;
240
+ }
241
+ export declare class TableDynamicDescriptor extends TableDynamicDescriptorInst {
242
+ protected constructor();
243
+ static create(idProperty?: string, titleProperty?: string, i18nBaseKey?: string | ClassType<any>): TableDynamicDescriptorInst;
244
+ static fromModel(model: ModelDescriptor<any>): TableDynamicDescriptorInst;
234
245
  }
@@ -0,0 +1,11 @@
1
+ import { EditorDescriptorInst } from '../../editor';
2
+ import { ModelDescriptor } from '../../model';
3
+ import { TableDescriptorInst } from '../../table';
4
+ export interface ITableviewDescriptorInternal<TableviewModel> {
5
+ model: ModelDescriptor<TableviewModel>;
6
+ table: TableDescriptorInst<TableviewModel>;
7
+ detailsEditor: EditorDescriptorInst<TableviewModel>;
8
+ addEditor: EditorDescriptorInst<TableviewModel>;
9
+ editEditor: EditorDescriptorInst<TableviewModel>;
10
+ copy(): ITableviewDescriptorInternal<TableviewModel>;
11
+ }
@@ -1,81 +1,81 @@
1
- import { Type } from '@angular/core';
2
1
  import { FieldValidatorFn } from '@ngx-formly/core/lib/models/config';
3
- import { Observable } from 'rxjs';
4
- import { MediusQueryParam } from '../../api/models';
5
- import { ILookupDataProvider } from '../../data-providers';
6
- import { IColumnValueComponent, TableviewAttributeDef } from '../../models';
7
- import { ClassType, EnumConstantType, EnumType } from '../../types';
8
- import { AFieldDescriptor, EditorDescriptor, FieldInputDescriptor, FieldLookupDescriptor, FieldLookupEnumDescriptor, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor } from '../editor';
9
- import { ModelDescriptor } from '../model.descriptor';
10
- import { ColumnDescriptor, TableDescriptor, TableDynamicDescriptor } from '../table';
2
+ import { ILookupDataProvider, ITableDataProvider } from '../../data-providers';
3
+ import { TableviewAttributeDef } from '../../models';
4
+ import { ArrayItemType, ClassType, EnumConstantType, EnumType, IdType, Nullable } from '../../types';
5
+ import { AFieldDescriptor, EditorDescriptorInst, FieldInputDescriptorType, FieldLookupProviderType } from '../editor';
6
+ import { IFieldsManageInterface } from '../editor/internal/editor-fields.model';
7
+ import { ModelDescriptor } from '../model';
8
+ import { ColumnDescriptor, TableDescriptorInst, TableDynamicDescriptorInst } from '../table';
9
+ import { IColumnsManageInterface } from '../table/internal/table-columns.model';
11
10
  import { ColumnDisplayTypeEnum, ColumnTypeEnum, FieldInputTypeEnum, TableviewEditorTypeEnum } from '../types';
12
- export declare class TableviewDescriptor<T> {
11
+ import { ITableviewDescriptorInternal } from './internal/tableview.model';
12
+ export declare class TableviewDescriptorInst<TableviewModel> implements ITableviewDescriptorInternal<TableviewModel>, IColumnsManageInterface<TableviewModel>, IFieldsManageInterface<TableviewModel> {
13
13
  private readonly _model;
14
- private _modelType;
15
- protected _table: TableDescriptor<T>;
16
- protected _detailsEditor: EditorDescriptor<T>;
17
- protected _addEditor: EditorDescriptor<T>;
18
- protected _editEditor: EditorDescriptor<T>;
14
+ protected _table: TableDescriptorInst<TableviewModel>;
15
+ protected _detailsEditor: EditorDescriptorInst<TableviewModel>;
16
+ protected _addEditor: EditorDescriptorInst<TableviewModel>;
17
+ protected _editEditor: EditorDescriptorInst<TableviewModel>;
19
18
  protected _tableTitle?: string;
20
19
  protected _isLocalized: boolean;
21
- protected _localizationLocaleProperty?: string;
22
- protected _localizationLocalizationProperty?: string;
23
- constructor(modelType: ClassType<T>, idProperty?: string, titleProperty?: string, i18nBaseKey?: string | ClassType<unknown>);
24
- /**
25
- * generates descriptor from attribute definition of openaapi model
26
- * @param modelType class type
27
- * @param idProperty
28
- * @param titleProperty
29
- */
30
- static from<T>(modelType: ClassType<T>, idProperty?: string, titleProperty?: string): TableviewDescriptor<T>;
31
- /**
32
- * generates descriptor from given attribute definition
33
- * @param modelType class type
34
- * @param columnAttributes attribute definition to generate columns
35
- * @param fieldAttributes attribute definition to generate fields, if undefined columnDefinition is used, if null editors are not generated
36
- * @param idProperty
37
- * @param titleProperty
38
- */
39
- static fromModelWithDefinition<T>(modelType: ClassType<T>, columnAttributes: TableviewAttributeDef[], fieldAttributes?: TableviewAttributeDef[] | null, idProperty?: string, titleProperty?: string): TableviewDescriptor<T>;
40
- get table(): TableDescriptor<T>;
41
- get detailsEditor(): EditorDescriptor<T>;
42
- get addEditor(): EditorDescriptor<T>;
43
- get editEditor(): EditorDescriptor<T>;
20
+ protected constructor(model: ModelDescriptor<TableviewModel>);
21
+ get table(): TableDescriptorInst<TableviewModel>;
22
+ get detailsEditor(): EditorDescriptorInst<TableviewModel>;
23
+ get addEditor(): EditorDescriptorInst<TableviewModel>;
24
+ get editEditor(): EditorDescriptorInst<TableviewModel>;
44
25
  get tableTitle(): string | undefined;
45
- get model(): ModelDescriptor<T>;
26
+ get model(): ModelDescriptor<TableviewModel, import("../../types").ClassOptType<TableviewModel>>;
46
27
  isLocalized(): boolean;
47
- withTableDescriptor(descriptor: TableDescriptor<T>): this;
48
- withEditorDescriptors(descriptor: EditorDescriptor<T>): this;
49
- withDetailsDescriptor(descriptor: EditorDescriptor<T>): this;
50
- withAddDescriptor(descriptor: EditorDescriptor<T>): this;
51
- withEditDescriptor(descriptor: EditorDescriptor<T>): this;
28
+ withTableDescriptor(descriptor: TableDescriptorInst<TableviewModel>): this;
29
+ withEditorDescriptors(descriptor: EditorDescriptorInst<TableviewModel>): this;
30
+ withDetailsDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this;
31
+ withAddDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this;
32
+ withEditDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this;
52
33
  /**
53
34
  * creates new copy of editor descriptor and makes it disabled
54
- * usable in combination with this::withEditorDescriptors, where detailsDescriptor is made non disabled
35
+ * usable in combination with this::withEditorDescriptors, where detailsDescriptor is made non-disabled
55
36
  * @param type which editor type to set to disabled
56
37
  */
57
38
  withDisabledEditorDescriptor(type?: TableviewEditorTypeEnum): this;
58
39
  withTableTitle(title: string): this;
59
40
  withValidator(name: string, expression: FieldValidatorFn): this;
60
- addColumnDescriptor<CT>(column: ColumnDescriptor<CT, T>): TableDescriptor<T>;
61
- addColumn(property: string): ColumnDescriptor<string, T>;
62
- removeColumn(property: string): void;
63
- getField(property: string, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, T> | null;
64
- removeField(property: string): void;
65
- addColumnNumber(property: string, displayFormat?: string): ColumnDescriptor<number, T>;
66
- addColumnDate(property: string, displayFormat?: string): ColumnDescriptor<Date, T>;
67
- addColumnBoolean(property: string, yes?: string, no?: string, asIcon?: boolean): ColumnDescriptor<boolean, T>;
68
- addColumnEnum(property: string, enumType: EnumType, nameAsValue?: boolean, titlePath?: string | null): ColumnDescriptor<EnumType, T>;
69
- addColumnCustomComponent(property: string, customComponentType: Type<IColumnValueComponent<T>>): ColumnDescriptor<any, T>;
41
+ getColumn(property: keyof TableviewModel): ColumnDescriptor<any, TableviewModel, any, string> | null;
42
+ getColumnUnsafe(property: string): ColumnDescriptor<any, TableviewModel, any, string> | null;
43
+ removeColumn(property: keyof TableviewModel): void;
44
+ removeColumnUnsafe(property: string): void;
45
+ addColumnDescriptor<CT>(column: ColumnDescriptor<CT, TableviewModel>): this;
46
+ addColumn<Property extends keyof TableviewModel>(property: Property): ColumnDescriptor<NonNullable<TableviewModel[Property]>, TableviewModel, TableviewModel[Property]>;
47
+ addColumnUnsafe<ColumnModel = any>(property: string): ColumnDescriptor<ColumnModel, TableviewModel>;
48
+ addColumns(...properties: (keyof TableviewModel)[]): this;
49
+ getField(property: keyof TableviewModel, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, TableviewModel> | null;
50
+ getFieldUnsafe(property: string, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, TableviewModel> | null;
51
+ removeField(property: keyof TableviewModel): void;
52
+ removeFieldUnsafe(property: string): void;
53
+ addFieldDescriptor<FieldModel>(field: AFieldDescriptor<FieldModel, TableviewModel>): this;
54
+ addField<Property extends keyof TableviewModel, FieldModel = NonNullable<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property): import("../editor").FieldInputDescriptor<TableviewModel, FieldModel, FieldValue>;
55
+ addFieldUnsafe<FieldModel = FieldInputDescriptorType, FieldValue = FieldModel>(property: string): import("../editor").FieldInputDescriptor<TableviewModel, FieldModel, FieldValue>;
56
+ addFields(...properties: (keyof TableviewModel)[]): this;
57
+ private addFieldToEditAndAdd;
58
+ /**
59
+ * Adds lookup field.
60
+ * @param property Model property name.
61
+ * @param type Model's class type.
62
+ */
63
+ addFieldLookup<Property extends keyof TableviewModel, FieldModel = NonNullable<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property, type?: ClassType<FieldModel>): import("../editor").FieldLookupDescriptor<FieldModel, TableviewModel, undefined, FieldValue, string>;
64
+ addFieldLookupUnsafe<FieldModel, FieldValue = FieldModel>(property: string, type?: ClassType<FieldModel>): import("../editor").FieldLookupDescriptor<FieldModel, TableviewModel, undefined, FieldValue, string>;
65
+ addFieldLookupWithPropertyAsValueUnsafe<FieldModel, FieldValue = Nullable<IdType>>(property: string, optionsValueProperty: string): import("../editor").FieldLookupDescriptor<FieldModel, TableviewModel, undefined, FieldValue, string>;
66
+ addFieldLookupWithProvider<ServiceType, Property extends keyof TableviewModel, FieldModel = NonNullable<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property, provider: FieldLookupProviderType<FieldModel, ServiceType>, type?: ClassType<FieldModel>): import("../editor").FieldLookupDescriptor<FieldModel, TableviewModel, ServiceType, FieldValue, string>;
67
+ addFieldLookupWithProviderUnsafe<ServiceType, FieldModel, FieldValue = FieldModel>(property: string, provider: FieldLookupProviderType<FieldModel, ServiceType>, type?: ClassType<FieldModel>): import("../editor").FieldLookupDescriptor<FieldModel, TableviewModel, ServiceType, FieldValue, string>;
68
+ addFieldLookupEnum(property: keyof TableviewModel, enumType: EnumType, options?: Array<EnumConstantType>, nameAsValue?: boolean, optionsTitlePath?: string | null): import("../editor").FieldLookupEnumDescriptor<TableviewModel>;
69
+ addFieldLookupEnumUnsafe(property: string, enumType: EnumType, options?: Array<EnumConstantType>, nameAsValue?: boolean, optionsTitlePath?: string | null): import("../editor").FieldLookupEnumDescriptor<TableviewModel>;
70
+ addFieldManyEditor<Property extends keyof TableviewModel, FieldModel = ArrayItemType<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property, tableviewDescriptor: TableviewDescriptorInst<FieldModel>): import("../editor").FieldManyEditorDescriptor<FieldModel, TableviewModel, FieldValue>;
71
+ addFieldManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, tableviewDescriptor: TableviewDescriptorInst<FieldModel>): import("../editor").FieldManyEditorDescriptor<FieldModel, TableviewModel, FieldValue>;
72
+ addFieldManyToManyEditor<Property extends keyof TableviewModel, FieldModel = ArrayItemType<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>): import("../editor").FieldManyToManyEditorDescriptor<FieldModel, TableviewModel, undefined, FieldValue>;
73
+ addFieldManyToManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>): import("../editor").FieldManyToManyEditorDescriptor<FieldModel, TableviewModel, undefined, FieldValue>;
74
+ addFieldManyToManyEditorWithProvider<Property extends keyof TableviewModel, ServiceType, FieldModel = ArrayItemType<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, ServiceType>): import("../editor").FieldManyToManyEditorDescriptor<FieldModel, TableviewModel, ServiceType, FieldValue>;
75
+ addFieldManyToManyEditorWithProviderUnsafe<FieldModel, ServiceType, FieldValue = FieldModel[]>(property: string, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, ServiceType>): import("../editor").FieldManyToManyEditorDescriptor<FieldModel, TableviewModel, ServiceType, FieldValue>;
70
76
  createTabGroup(name: string, title?: string): this;
71
77
  createFieldGroup(name: string, title?: string): this;
72
- addFieldDescriptor<FT>(field: AFieldDescriptor<FT, T>): this;
73
- addField(property: string): FieldInputDescriptor<T>;
74
- addFieldLookup<FT>(property: string, modelType: ClassType<FT>): FieldLookupDescriptor<FT, T>;
75
- addFieldLookupEnum(property: string, enumType: EnumType, options?: Array<EnumConstantType>, nameAsValue?: boolean, optionsTitlePath?: string | null): FieldLookupEnumDescriptor<T>;
76
- addFieldManyEditor<FT>(property: string, tableviewDescriptor: TableviewDescriptor<FT>): FieldManyEditorDescriptor<FT, T>;
77
- addFieldManyToManyEditor<FT>(property: string, mainTableDescriptor: TableDescriptor<FT>, lookupTableDescriptor: TableDescriptor<FT>): FieldManyToManyEditorDescriptor<FT, T>;
78
- copy(): TableviewDescriptor<T>;
78
+ copy(): TableviewDescriptorInst<TableviewModel>;
79
79
  /**
80
80
  * creates column and field with custom type, for example currency
81
81
  * if field exists, it is replaced
@@ -85,8 +85,10 @@ export declare class TableviewDescriptor<T> {
85
85
  * @param property name of field
86
86
  * @param columnType required column type
87
87
  * @param fieldType optional, if not provided it is converted from column type
88
+ * @param columnDisplayType optional
88
89
  */
89
- withModifiedType(property: string, columnType: ColumnTypeEnum, fieldType?: FieldInputTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum): this;
90
+ withModifiedType(property: keyof TableviewModel, columnType: ColumnTypeEnum, fieldType?: FieldInputTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum): this;
91
+ withModifiedTypeUnsafe(property: string, columnType: ColumnTypeEnum, fieldType?: FieldInputTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum): this;
90
92
  /**
91
93
  * creates column with enum type
92
94
  * if fields exists, it is replaced
@@ -94,29 +96,54 @@ export declare class TableviewDescriptor<T> {
94
96
  * @param enumType type of enum
95
97
  * @param fieldType type of field, optional, default is Text
96
98
  */
97
- withModifiedEnum(property: string, enumType?: EnumType, fieldType?: FieldInputTypeEnum): this;
99
+ withModifiedEnum(property: keyof TableviewModel, enumType?: EnumType, fieldType?: FieldInputTypeEnum): this;
100
+ withModifiedEnumUnsafe(property: string, enumType?: EnumType, fieldType?: FieldInputTypeEnum): this;
98
101
  /**
99
102
  * generates column with custom class type
100
103
  * field is generated only if lookupProvider is provided
101
104
  * @param property property name
102
- * @param modelType class type of object
105
+ * @param type class type of object
103
106
  * @param titleProperty
104
107
  * @param lookupProvider
105
- * @param itemsLabelProperty
108
+ * @param optionsLabelProperty
106
109
  * @param filterProperty
107
110
  */
108
- withModifiedLookup<MT>(property: string, modelType?: ClassType<MT>, lookupProvider?: ILookupDataProvider<MT, any>, titleProperty?: string, itemsLabelProperty?: string, filterProperty?: string): this;
109
- localized<S>(localizationProperty?: string, localeProperty?: string, localizationBeanType?: ClassType<any>, localeLookup?: (queryParam?: MediusQueryParam, service?: S, search?: string) => Observable<Array<string>>): this;
111
+ withModifiedLookup<LookupModel>(property: keyof TableviewModel, type?: ClassType<LookupModel>, lookupProvider?: ILookupDataProvider<LookupModel>, titleProperty?: string, optionsLabelProperty?: string, filterProperty?: string): this;
112
+ withModifiedLookupUnsafe<LookupModel>(property: string, type?: ClassType<LookupModel>, lookupProvider?: ILookupDataProvider<LookupModel>, titleProperty?: string, optionsLabelProperty?: string, filterProperty?: string): this;
113
+ localized<Property extends keyof TableviewModel, LocalizationModel = ArrayItemType<TableviewModel[Property]>>(property: Property, model: ModelDescriptor<LocalizationModel>, localeProperty: keyof LocalizationModel): this;
114
+ localizedUnsafe<LocalizationModel>(property: string, model: ModelDescriptor<LocalizationModel>, localeProperty: string): this;
110
115
  }
111
- export declare class TableviewDynamicDescriptor extends TableviewDescriptor<any> {
112
- protected _table: TableDynamicDescriptor;
113
- constructor(idProperty?: string, titleProperty?: string, i18nBaseKey?: string);
114
- get table(): TableDynamicDescriptor;
116
+ export declare class TableviewDescriptor extends TableviewDescriptorInst<any> {
117
+ protected constructor();
118
+ static create<TableviewModel>(idProperty: keyof TableviewModel, titleProperty: keyof TableviewModel, i18nBaseKey: string | ClassType<unknown>): TableviewDescriptorInst<TableviewModel>;
119
+ static fromClass<TableviewModel>(type: ClassType<TableviewModel>, idProperty?: keyof TableviewModel, titleProperty?: keyof TableviewModel, i18nBaseKey?: ClassType<unknown> | string): TableviewDescriptorInst<TableviewModel>;
120
+ static fromModel<TableviewModel>(model: ModelDescriptor<TableviewModel>): TableviewDescriptorInst<TableviewModel>;
121
+ /**
122
+ * generates descriptor from attribute definition of openapi model
123
+ * @param type class type
124
+ * @param idProperty
125
+ * @param titleProperty
126
+ */
127
+ static fromClassWithAutoAttrsDef<TableviewModel>(type: ClassType<TableviewModel>, idProperty?: keyof TableviewModel, titleProperty?: keyof TableviewModel): TableviewDescriptorInst<TableviewModel>;
128
+ /**
129
+ * generates descriptor from given attribute definition
130
+ * @param type class type
131
+ * @param columnAttributes attribute definition to generate columns
132
+ * @param fieldAttributes attribute definition to generate fields, if undefined columnDefinition is used, if null editors are not generated
133
+ * @param idProperty
134
+ * @param titleProperty
135
+ */
136
+ static fromClassWithCustomAttrsDef<TableviewModel>(type: ClassType<TableviewModel>, columnAttributes: TableviewAttributeDef[], fieldAttributes?: TableviewAttributeDef[] | null, idProperty?: keyof TableviewModel, titleProperty?: keyof TableviewModel): TableviewDescriptorInst<TableviewModel>;
137
+ }
138
+ export declare class TableviewDynamicDescriptorInt extends TableviewDescriptorInst<any> {
139
+ protected _table: TableDynamicDescriptorInst;
140
+ protected constructor(model: ModelDescriptor<any>);
141
+ get table(): TableDynamicDescriptorInst;
115
142
  /**
116
143
  * sets custom table descriptor
117
144
  * @param descriptor
118
145
  */
119
- withTableDescriptor(descriptor: TableDynamicDescriptor): this;
146
+ withTableDescriptor(descriptor: TableDynamicDescriptorInst): this;
120
147
  /**
121
148
  * sets visibility hidden state to column with given property
122
149
  * equals to be removing in auto and base tableview descriptor
@@ -127,5 +154,10 @@ export declare class TableviewDynamicDescriptor extends TableviewDescriptor<any>
127
154
  /**
128
155
  * creates deep copy of tableview object and its children
129
156
  */
130
- copy(): TableviewDynamicDescriptor;
157
+ copy(): TableviewDynamicDescriptorInt;
158
+ }
159
+ export declare class TableviewDynamicDescriptor extends TableviewDynamicDescriptorInt {
160
+ protected constructor();
161
+ static create(idProperty?: string, titleProperty?: string, i18nBaseKey?: string | ClassType<any>): TableviewDynamicDescriptorInt;
162
+ static fromModel(model: ModelDescriptor<any>): TableviewDynamicDescriptorInt;
131
163
  }
@@ -1,10 +1,10 @@
1
- import { ApplicationRef, ComponentRef, ElementRef, Injector, OnInit, Type, ViewContainerRef } from '@angular/core';
1
+ import { ComponentRef, OnInit, Type } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class MngComponentDirective<C> implements OnInit {
4
- viewContainerRef: ViewContainerRef;
5
- private elementRef;
6
- private applicationRef;
7
- private injector;
4
+ private readonly injector;
5
+ private readonly elementRef;
6
+ private readonly applicationRef;
7
+ private readonly viewContainerRef;
8
8
  component: Type<C>;
9
9
  inputs?: {
10
10
  [key: string]: any;
@@ -12,7 +12,6 @@ export declare class MngComponentDirective<C> implements OnInit {
12
12
  attachToHost: boolean;
13
13
  private componentInstanceEventEmitter;
14
14
  componentRef: ComponentRef<C>;
15
- constructor(viewContainerRef: ViewContainerRef, elementRef: ElementRef, applicationRef: ApplicationRef, injector: Injector);
16
15
  ngOnInit(): void;
17
16
  private isCmpInstanceOfColumnValue;
18
17
  static ɵfac: i0.ɵɵFactoryDeclaration<MngComponentDirective<any>, never>;
@@ -1,11 +1,10 @@
1
1
  import { TemplateRef, ViewContainerRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class MngTemplateDirective {
4
- template: TemplateRef<any>;
5
- private viewContainerRef;
4
+ readonly template: TemplateRef<any>;
5
+ private readonly viewContainerRef;
6
6
  type: string;
7
7
  name: string;
8
- constructor(template: TemplateRef<any>, viewContainerRef: ViewContainerRef);
9
8
  getType(): string;
10
9
  getViewContainerRef(): ViewContainerRef;
11
10
  static ɵfac: i0.ɵɵFactoryDeclaration<MngTemplateDirective, never>;
@@ -0,0 +1,9 @@
1
+ import { Observable } from 'rxjs';
2
+ import { IdType, Nullable } from '../types';
3
+ export declare function boolean$Attribute(value: unknown): Observable<boolean>;
4
+ export declare function number$Attribute(value: unknown): Observable<number>;
5
+ export declare const toObservable: <T>(value: T | Observable<T>) => Observable<T>;
6
+ export declare const itemIdToNumber: (value?: IdType) => number;
7
+ export declare const itemIdToString: (value?: IdType) => string;
8
+ export declare const itemIdToDefined: (value?: IdType) => IdType;
9
+ export declare const valueToDefined: <T>(value: Nullable<T>) => T;
@@ -0,0 +1,6 @@
1
+ export interface ClassAttributeDef {
2
+ name: string;
3
+ baseName: string;
4
+ type: string;
5
+ subtype?: string;
6
+ }
@@ -1,6 +1,7 @@
1
- export interface EnumValue<T> {
1
+ import { EnumConstantType } from '../types';
2
+ export interface EnumValue {
2
3
  name?: string;
3
- value: T;
4
+ value: EnumConstantType;
4
5
  title: string;
5
6
  disabled?: boolean;
6
7
  }
@@ -1,9 +1,12 @@
1
1
  export * from './column-value.model';
2
2
  export * from './config.model';
3
+ export * from './class.model';
3
4
  export * from './enum.model';
4
5
  export * from './error.model';
5
6
  export * from './log.model';
6
7
  export * from './menu.model';
8
+ export * from './radio.model';
9
+ export * from './type-registry.model';
7
10
  export * from './user.model';
8
11
  export * from './version.model';
9
12
  export * from './view-container.model';
@@ -0,0 +1,6 @@
1
+ export interface RadioValue<V = string | number | boolean> {
2
+ name?: string;
3
+ value: V;
4
+ title: string;
5
+ disabled?: boolean;
6
+ }
@@ -1,7 +1,7 @@
1
- import { AttributeDef } from '../api/models';
2
1
  import { ColumnDisplayTypeEnum, ColumnTypeEnum, FieldInputTypeEnum } from '../descriptors/types';
3
2
  import { ClassType, EnumType } from '../types';
4
- export interface TableviewAttributeDef extends AttributeDef {
3
+ import { ClassAttributeDef } from './class.model';
4
+ export interface TableviewAttributeDef extends ClassAttributeDef {
5
5
  columnType: ColumnTypeEnum;
6
6
  columnDisplayType: ColumnDisplayTypeEnum;
7
7
  fieldType?: FieldInputTypeEnum;
@@ -0,0 +1,7 @@
1
+ import { ClassType, EnumType } from '../types';
2
+ export interface RegistryTypeMap {
3
+ [index: string]: ClassType<any>;
4
+ }
5
+ export interface RegistryEnumMap {
6
+ [index: string]: EnumType;
7
+ }