@mediusinc/mng-commons 4.1.0 → 5.0.0-rc.0-c31d5206

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 (251) hide show
  1. package/assets/i18n/en.json +13 -66
  2. package/assets/i18n/sl.json +12 -67
  3. package/data-api/README.md +3 -0
  4. package/data-api/class-dto/README.md +3 -0
  5. package/data-api/class-dto/helpers/tableview-crud-create.d.ts +40 -0
  6. package/data-api/class-dto/index.d.ts +7 -0
  7. package/data-api/class-dto/models/query-result.model.d.ts +13 -0
  8. package/data-api/class-dto/obsolete/README.md +3 -0
  9. package/data-api/class-dto/obsolete/helpers/query-param-convert.d.ts +23 -0
  10. package/data-api/class-dto/obsolete/helpers/tableview-crud-create.d.ts +22 -0
  11. package/data-api/class-dto/obsolete/index.d.ts +14 -0
  12. package/data-api/class-dto/obsolete/models/builders/query-param.builder.d.ts +36 -0
  13. package/{lib/api → data-api/class-dto/obsolete}/models/filter-param.model.d.ts +1 -1
  14. package/{lib/api → data-api/class-dto/obsolete}/models/query-param.model.d.ts +1 -1
  15. package/{lib/api → data-api/class-dto/obsolete}/models/query-result.model.d.ts +1 -1
  16. package/data-api/class-dto/obsolete/provide.d.ts +9 -0
  17. package/data-api/class-dto/obsolete/services/api.abstract.service.d.ts +36 -0
  18. package/{lib/api → data-api/class-dto/obsolete}/services/crud-api.abstract.service.d.ts +20 -5
  19. package/data-api/class-dto/obsolete/services/get-all-api.abstract.service.d.ts +30 -0
  20. package/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.d.ts +28 -0
  21. package/data-api/class-dto/obsolete/utils/query-param-map.util.d.ts +22 -0
  22. package/{lib/api/utils/object-serializer.util.d.ts → data-api/class-dto/serder/object-serializer.d.ts} +1 -1
  23. package/{lib/api → data-api/class-dto}/services/api.abstract.service.d.ts +2 -4
  24. package/data-api/class-dto/services/crud-api.abstract.service.d.ts +25 -0
  25. package/data-api/class-dto/services/get-all-api.abstract.service.d.ts +14 -0
  26. package/data-api/class-dto/tableview/tableview-crud.data-provider.d.ts +17 -0
  27. package/data-api/helpers/get-all-params.d.ts +69 -0
  28. package/data-api/helpers/tableview-get-all-params-create.d.ts +14 -0
  29. package/data-api/index.d.ts +5 -0
  30. package/data-api/models/request-params.model.d.ts +61 -0
  31. package/data-api/rxjs/map-to-data-list.operator.d.ts +9 -0
  32. package/data-api/types/extract-get-all-params.type.d.ts +14 -0
  33. package/esm2022/data-api/class-dto/helpers/tableview-crud-create.mjs +40 -0
  34. package/esm2022/data-api/class-dto/index.mjs +13 -0
  35. package/esm2022/data-api/class-dto/mediusinc-mng-commons-data-api-class-dto.mjs +5 -0
  36. package/esm2022/data-api/class-dto/models/query-result.model.mjs +24 -0
  37. package/esm2022/data-api/class-dto/obsolete/helpers/query-param-convert.mjs +103 -0
  38. package/esm2022/data-api/class-dto/obsolete/helpers/tableview-crud-create.mjs +21 -0
  39. package/esm2022/data-api/class-dto/obsolete/index.mjs +21 -0
  40. package/esm2022/data-api/class-dto/obsolete/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +5 -0
  41. package/esm2022/data-api/class-dto/obsolete/models/builders/query-param.builder.mjs +83 -0
  42. package/esm2022/data-api/class-dto/obsolete/models/filter-match-type.model.mjs +27 -0
  43. package/esm2022/data-api/class-dto/obsolete/models/filter-param.model.mjs +33 -0
  44. package/esm2022/data-api/class-dto/obsolete/models/query-mode.model.mjs +18 -0
  45. package/esm2022/data-api/class-dto/obsolete/models/query-param.model.mjs +68 -0
  46. package/esm2022/data-api/class-dto/obsolete/models/query-result.model.mjs +24 -0
  47. package/esm2022/data-api/class-dto/obsolete/provide.mjs +40 -0
  48. package/esm2022/data-api/class-dto/obsolete/services/api.abstract.service.mjs +70 -0
  49. package/esm2022/data-api/class-dto/obsolete/services/crud-api.abstract.service.mjs +83 -0
  50. package/esm2022/data-api/class-dto/obsolete/services/get-all-api.abstract.service.mjs +38 -0
  51. package/esm2022/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.mjs +51 -0
  52. package/esm2022/data-api/class-dto/obsolete/utils/query-param-map.util.mjs +57 -0
  53. package/esm2022/data-api/class-dto/serder/object-serializer.mjs +184 -0
  54. package/esm2022/data-api/class-dto/services/api.abstract.service.mjs +55 -0
  55. package/esm2022/data-api/class-dto/services/crud-api.abstract.service.mjs +82 -0
  56. package/esm2022/data-api/class-dto/services/get-all-api.abstract.service.mjs +49 -0
  57. package/esm2022/data-api/class-dto/tableview/tableview-crud.data-provider.mjs +49 -0
  58. package/esm2022/data-api/helpers/get-all-params.mjs +180 -0
  59. package/esm2022/data-api/helpers/tableview-get-all-params-create.mjs +18 -0
  60. package/esm2022/data-api/index.mjs +10 -0
  61. package/esm2022/data-api/mediusinc-mng-commons-data-api.mjs +5 -0
  62. package/esm2022/data-api/models/request-params.model.mjs +2 -0
  63. package/esm2022/data-api/rxjs/map-to-data-list.operator.mjs +19 -0
  64. package/esm2022/data-api/types/extract-get-all-params.type.mjs +2 -0
  65. package/esm2022/index.mjs +3 -6
  66. package/esm2022/lib/components/action/action.component.mjs +4 -5
  67. package/esm2022/lib/components/action/editor/injector-context/action-editor-injector-context.component.mjs +2 -2
  68. package/esm2022/lib/components/action/models/action-execution.model.mjs +5 -4
  69. package/esm2022/lib/components/action/route/action-route.component.mjs +1 -2
  70. package/esm2022/lib/components/action/table/action-table.component.mjs +4 -6
  71. package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +29 -17
  72. package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +3 -7
  73. package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +20 -18
  74. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +2 -2
  75. package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +23 -12
  76. package/esm2022/lib/components/table/column-filter-full/column-filter-full.component.mjs +162 -33
  77. package/esm2022/lib/components/table/column-value/column-value.component.mjs +3 -3
  78. package/esm2022/lib/components/table/models/table.event.mjs +1 -1
  79. package/esm2022/lib/components/table/models/table.interface.mjs +1 -1
  80. package/esm2022/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.mjs +4 -4
  81. package/esm2022/lib/components/table/table.component.mjs +117 -191
  82. package/esm2022/lib/components/tableview/actions/tableview-default-actions.mjs +215 -0
  83. package/esm2022/lib/components/tableview/builders/tableview-builder.mjs +162 -0
  84. package/esm2022/lib/components/tableview/helpers/tableview-create.mjs +24 -0
  85. package/esm2022/lib/components/tableview/index.mjs +5 -2
  86. package/esm2022/lib/components/tableview/models/tableview.model.mjs +2 -0
  87. package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +7 -39
  88. package/esm2022/lib/components/tableview/tableview.component.mjs +4 -4
  89. package/esm2022/lib/data-providers/editor.data-provider.mjs +13 -13
  90. package/esm2022/lib/data-providers/index.mjs +1 -2
  91. package/esm2022/lib/data-providers/lookup.data-provider.mjs +1 -1
  92. package/esm2022/lib/data-providers/table.data-provider.mjs +4 -5
  93. package/esm2022/lib/data-providers/tableview.data-provider.mjs +1 -1
  94. package/esm2022/lib/descriptors/action/action-confirmation.descriptor.mjs +1 -1
  95. package/esm2022/lib/descriptors/action/action-editor.descriptor.mjs +10 -6
  96. package/esm2022/lib/descriptors/action/action.descriptor.mjs +2 -3
  97. package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +13 -17
  98. package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +12 -17
  99. package/esm2022/lib/descriptors/editor/field.descriptor.mjs +5 -8
  100. package/esm2022/lib/descriptors/editor/internal/editor-fields.model.mjs +1 -1
  101. package/esm2022/lib/descriptors/filter/filter-lookup.descriptor.mjs +28 -52
  102. package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +40 -23
  103. package/esm2022/lib/descriptors/model/enum.descriptor.mjs +31 -0
  104. package/esm2022/lib/descriptors/model/index.mjs +3 -1
  105. package/esm2022/lib/descriptors/model/model.descriptor.mjs +10 -1
  106. package/esm2022/lib/descriptors/model/type.descriptor.mjs +11 -0
  107. package/esm2022/lib/descriptors/table/column.descriptor.mjs +12 -107
  108. package/esm2022/lib/descriptors/table/index.mjs +2 -1
  109. package/esm2022/lib/descriptors/table/internal/table-columns.model.mjs +1 -1
  110. package/esm2022/lib/descriptors/table/internal/table.model.mjs +1 -1
  111. package/esm2022/lib/descriptors/table/sort.descriptor.mjs +45 -0
  112. package/esm2022/lib/descriptors/table/table.descriptor.mjs +208 -57
  113. package/esm2022/lib/descriptors/tableview/internal/tableview.model.mjs +1 -1
  114. package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +114 -17
  115. package/esm2022/lib/descriptors/types/filter.type.mjs +1 -19
  116. package/esm2022/lib/descriptors/types/table.type.mjs +1 -5
  117. package/esm2022/lib/error/error.handler.mjs +1 -1
  118. package/esm2022/lib/helpers/data-provider-executors.mjs +80 -0
  119. package/esm2022/lib/models/data-list.model.mjs +2 -0
  120. package/esm2022/lib/models/filter-match.model.mjs +105 -0
  121. package/esm2022/lib/models/index.mjs +3 -1
  122. package/esm2022/lib/models/view-container.model.mjs +1 -1
  123. package/esm2022/lib/pipes/enum.pipe.mjs +6 -6
  124. package/esm2022/lib/provide.mjs +101 -0
  125. package/esm2022/lib/registry/type.registry.mjs +3 -10
  126. package/esm2022/lib/router/models/router.model.mjs +1 -1
  127. package/esm2022/lib/router/tableview-route-builder.mjs +1 -1
  128. package/esm2022/lib/services/action/action-executor.service.mjs +54 -32
  129. package/esm2022/lib/services/commons.service.mjs +1 -37
  130. package/esm2022/lib/services/data-provider-executor.service.mjs +52 -0
  131. package/esm2022/lib/services/index.mjs +2 -1
  132. package/esm2022/lib/services/view/view-container.service.mjs +1 -1
  133. package/esm2022/lib/types/action-descriptor.types.mjs +1 -1
  134. package/esm2022/lib/types/type.model.mjs +1 -1
  135. package/esm2022/lib/utils/data-list-params.util.mjs +416 -0
  136. package/esm2022/lib/utils/date.util.mjs +8 -2
  137. package/esm2022/lib/utils/enum.util.mjs +2 -1
  138. package/esm2022/lib/utils/error.util.mjs +3 -3
  139. package/esm2022/lib/utils/export.util.mjs +1 -1
  140. package/esm2022/lib/utils/index.mjs +2 -2
  141. package/esm2022/lib/utils/route.util.mjs +1 -2
  142. package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +698 -0
  143. package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs.map +1 -0
  144. package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs +480 -0
  145. package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs.map +1 -0
  146. package/fesm2022/mediusinc-mng-commons-data-api.mjs +224 -0
  147. package/fesm2022/mediusinc-mng-commons-data-api.mjs.map +1 -0
  148. package/fesm2022/mediusinc-mng-commons.mjs +2634 -2549
  149. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  150. package/index.d.ts +2 -4
  151. package/lib/components/action/action.component.d.ts +13 -13
  152. package/lib/components/action/models/action-execution.model.d.ts +47 -46
  153. package/lib/components/action/table/action-table.component.d.ts +15 -16
  154. package/lib/components/form/autocomplete/autocomplete.component.d.ts +1 -1
  155. package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +3 -5
  156. package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +10 -10
  157. package/lib/components/table/column-filter-full/column-filter-full.component.d.ts +25 -9
  158. package/lib/components/table/models/table.event.d.ts +2 -2
  159. package/lib/components/table/models/table.interface.d.ts +4 -1
  160. package/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.d.ts +2 -2
  161. package/lib/components/table/table.component.d.ts +19 -18
  162. package/lib/components/tableview/actions/tableview-default-actions.d.ts +36 -0
  163. package/lib/components/tableview/builders/tableview-builder.d.ts +115 -0
  164. package/lib/components/tableview/helpers/tableview-create.d.ts +16 -0
  165. package/lib/components/tableview/index.d.ts +4 -1
  166. package/lib/components/tableview/models/tableview.model.d.ts +8 -0
  167. package/lib/components/tableview/route/tableview-route.component.d.ts +5 -14
  168. package/lib/components/tableview/tableview.component.d.ts +12 -12
  169. package/lib/data-providers/editor.data-provider.d.ts +12 -12
  170. package/lib/data-providers/index.d.ts +0 -1
  171. package/lib/data-providers/lookup.data-provider.d.ts +2 -2
  172. package/lib/data-providers/table.data-provider.d.ts +25 -25
  173. package/lib/data-providers/tableview.data-provider.d.ts +18 -18
  174. package/lib/descriptors/action/action-confirmation.descriptor.d.ts +1 -1
  175. package/lib/descriptors/action/action-editor.descriptor.d.ts +20 -17
  176. package/lib/descriptors/editor/editor.descriptor.d.ts +8 -12
  177. package/lib/descriptors/editor/field-base.descriptor.d.ts +3 -3
  178. package/lib/descriptors/editor/field-lookup.descriptor.d.ts +11 -11
  179. package/lib/descriptors/editor/field-many.descriptor.d.ts +4 -4
  180. package/lib/descriptors/editor/field.descriptor.d.ts +2 -2
  181. package/lib/descriptors/editor/internal/editor-fields.model.d.ts +6 -5
  182. package/lib/descriptors/filter/filter-lookup.descriptor.d.ts +15 -14
  183. package/lib/descriptors/filter/filter.descriptor.d.ts +17 -18
  184. package/lib/descriptors/model/enum.descriptor.d.ts +14 -0
  185. package/lib/descriptors/model/index.d.ts +2 -0
  186. package/lib/descriptors/model/model.descriptor.d.ts +9 -0
  187. package/lib/descriptors/model/type.descriptor.d.ts +5 -0
  188. package/lib/descriptors/table/column.descriptor.d.ts +10 -24
  189. package/lib/descriptors/table/index.d.ts +1 -0
  190. package/lib/descriptors/table/internal/table-columns.model.d.ts +36 -5
  191. package/lib/descriptors/table/internal/table.model.d.ts +5 -2
  192. package/lib/descriptors/table/sort.descriptor.d.ts +17 -0
  193. package/lib/descriptors/table/table.descriptor.d.ts +57 -33
  194. package/lib/descriptors/tableview/internal/tableview.model.d.ts +3 -3
  195. package/lib/descriptors/tableview/tableview.descriptor.d.ts +49 -19
  196. package/lib/descriptors/types/filter.type.d.ts +0 -17
  197. package/lib/descriptors/types/table.type.d.ts +0 -3
  198. package/lib/error/error.handler.d.ts +1 -1
  199. package/lib/helpers/data-provider-executors.d.ts +19 -0
  200. package/lib/models/data-list.model.d.ts +27 -0
  201. package/lib/models/filter-match.model.d.ts +36 -0
  202. package/lib/models/index.d.ts +2 -0
  203. package/lib/models/view-container.model.d.ts +2 -2
  204. package/lib/pipes/enum.pipe.d.ts +2 -2
  205. package/lib/provide.d.ts +10 -0
  206. package/lib/router/models/router.model.d.ts +1 -1
  207. package/lib/router/tableview-route-builder.d.ts +1 -2
  208. package/lib/services/action/action-executor.service.d.ts +18 -16
  209. package/lib/services/data-provider-executor.service.d.ts +60 -0
  210. package/lib/services/index.d.ts +1 -0
  211. package/lib/services/view/view-container.service.d.ts +11 -11
  212. package/lib/types/action-descriptor.types.d.ts +2 -2
  213. package/lib/types/type.model.d.ts +1 -3
  214. package/lib/utils/data-list-params.util.d.ts +84 -0
  215. package/lib/utils/date.util.d.ts +3 -1
  216. package/lib/utils/enum.util.d.ts +4 -3
  217. package/lib/utils/export.util.d.ts +1 -1
  218. package/lib/utils/index.d.ts +1 -1
  219. package/openapi/angular/modelEnum.mustache +0 -3
  220. package/package.json +20 -2
  221. package/esm2022/lib/api/models/builders/query-param.builder.mjs +0 -59
  222. package/esm2022/lib/api/models/filter-match-type.model.mjs +0 -27
  223. package/esm2022/lib/api/models/filter-param.model.mjs +0 -33
  224. package/esm2022/lib/api/models/index.mjs +0 -7
  225. package/esm2022/lib/api/models/query-mode.model.mjs +0 -18
  226. package/esm2022/lib/api/models/query-param.model.mjs +0 -68
  227. package/esm2022/lib/api/models/query-result.model.mjs +0 -35
  228. package/esm2022/lib/api/services/api.abstract.service.mjs +0 -58
  229. package/esm2022/lib/api/services/crud-api.abstract.service.mjs +0 -75
  230. package/esm2022/lib/api/services/get-all-api.abstract.service.mjs +0 -30
  231. package/esm2022/lib/api/services/index.mjs +0 -4
  232. package/esm2022/lib/api/utils/index.mjs +0 -3
  233. package/esm2022/lib/api/utils/medius-rest.util.mjs +0 -293
  234. package/esm2022/lib/api/utils/object-serializer.util.mjs +0 -185
  235. package/esm2022/lib/components/tableview/route/tableview-route.abstract.component.mjs +0 -158
  236. package/esm2022/lib/data-providers/tableview-crud.data-provider.mjs +0 -32
  237. package/esm2022/lib/provide-commons.mjs +0 -88
  238. package/esm2022/lib/utils/action-data-provider.util.mjs +0 -171
  239. package/lib/api/models/builders/query-param.builder.d.ts +0 -13
  240. package/lib/api/models/index.d.ts +0 -6
  241. package/lib/api/services/get-all-api.abstract.service.d.ts +0 -14
  242. package/lib/api/services/index.d.ts +0 -3
  243. package/lib/api/utils/index.d.ts +0 -2
  244. package/lib/api/utils/medius-rest.util.d.ts +0 -32
  245. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +0 -35
  246. package/lib/data-providers/tableview-crud.data-provider.d.ts +0 -12
  247. package/lib/provide-commons.d.ts +0 -3
  248. package/lib/utils/action-data-provider.util.d.ts +0 -35
  249. package/templates/tableview-route.component.html +0 -5
  250. /package/{lib/api → data-api/class-dto/obsolete}/models/filter-match-type.model.d.ts +0 -0
  251. /package/{lib/api → data-api/class-dto/obsolete}/models/query-mode.model.d.ts +0 -0
@@ -0,0 +1,17 @@
1
+ export declare class SortDescriptor<TableModel> {
2
+ protected readonly _property: string;
3
+ protected _showOnColumn: string;
4
+ protected _defaultIsEnabled: boolean;
5
+ protected _defaultIsAscending?: boolean;
6
+ protected _defaultOrder?: number;
7
+ constructor(property: string);
8
+ get property(): string;
9
+ get showOnColumn(): string;
10
+ get defaultIsEnabled(): boolean;
11
+ get defaultIsAscending(): boolean | undefined;
12
+ get defaultOrder(): number | undefined;
13
+ withShowOnColumn(property: keyof TableModel): this;
14
+ withShowOnColumnUnsafe(property: string): this;
15
+ withDefaultSort(enabled?: boolean, ascending?: boolean, order?: number): this;
16
+ copy(): SortDescriptor<TableModel>;
17
+ }
@@ -1,18 +1,18 @@
1
- import { MediusQueryResult } from '../../api/models';
2
1
  import { ILookupDataProvider } from '../../data-providers';
3
- import { TableviewAttributeDef } from '../../models';
4
- import { ClassType, EnumType } from '../../types';
5
- import { ModelDescriptor } from '../model';
6
- import { ColumnDisplayTypeEnum, ColumnTypeEnum, TableDynamicColumnsModeEnum, TableFilterDisplayEnum, TablePaginationModeEnum, TableSizeEnum } from '../types';
2
+ import { DataListResult, TableviewAttributeDef } from '../../models';
3
+ import { ClassType, EnumConstantType } from '../../types';
4
+ import { FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor } from '../filter';
5
+ import { EnumDescriptor, ModelDescriptor } from '../model';
6
+ import { ColumnDisplayTypeEnum, ColumnTypeEnum, TableDynamicColumnsModeEnum, TablePaginationModeEnum, TableSizeEnum } from '../types';
7
7
  import { ColumnDescriptor, ColumnDynamicDescriptor } from './column.descriptor';
8
8
  import { IColumnsManageInterface } from './internal/table-columns.model';
9
9
  import { ITableDescriptorInternal } from './internal/table.model';
10
- export declare class TableDescriptorInst<TableModel> implements ITableDescriptorInternal<TableModel>, IColumnsManageInterface<TableModel> {
10
+ import { SortDescriptor } from './sort.descriptor';
11
+ export declare class TableDescriptorInst<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel> implements ITableDescriptorInternal<TableModel>, IColumnsManageInterface<TableModel, Sorts, Filters> {
11
12
  private readonly _model;
12
13
  protected readonly _autoGenerated: boolean;
13
14
  private _identifier?;
14
15
  private _trackProperty?;
15
- private _filterDisplay;
16
16
  private _paginationMode?;
17
17
  private _rowsPerPageOptions?;
18
18
  private _defaultNumRows?;
@@ -21,9 +21,6 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
21
21
  private _hideHeader;
22
22
  private _loadingText?;
23
23
  private _loadingIcon;
24
- private _hasDefaultSort;
25
- private _defaultSortProperty;
26
- private _defaultSortAsc;
27
24
  private _hasHover;
28
25
  private _hasGridlines;
29
26
  private _hasResizableColumns;
@@ -37,23 +34,23 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
37
34
  private _rowClassNameMapFn?;
38
35
  private _tableFullHeightOffset?;
39
36
  private _rowHeight?;
37
+ private _filters;
38
+ private _sorts;
40
39
  private _isLocalized;
41
40
  private _localizationLocaleProperty?;
42
41
  protected constructor(model: ModelDescriptor<TableModel>, autoGenerated?: boolean);
43
42
  get identifier(): string | undefined;
44
43
  get trackProperty(): string | undefined;
45
- get filterDisplay(): TableFilterDisplayEnum;
46
44
  get paginationMode(): TablePaginationModeEnum | undefined;
47
45
  get rowsPerPageOptions(): number[] | undefined;
48
46
  get defaultNumRows(): number | undefined;
49
- get columns(): ColumnDescriptor<any, TableModel, any, string>[];
47
+ get columns(): ColumnDescriptor<any, TableModel, any>[];
50
48
  get title(): string | undefined;
51
49
  get hideHeader(): boolean;
52
50
  get loadingText(): string | undefined;
53
51
  get loadingIcon(): string | null;
54
- get hasDefaultSort(): boolean;
55
- get defaultSortProperty(): string[];
56
- get defaultSortAsc(): boolean[];
52
+ get filters(): FilterDescriptor<any, TableModel>[];
53
+ get sorts(): SortDescriptor<TableModel>[];
57
54
  get model(): ModelDescriptor<TableModel, import("../../types").ClassOptType<TableModel>>;
58
55
  get className(): string;
59
56
  get size(): TableSizeEnum;
@@ -78,15 +75,15 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
78
75
  withIdentifier(identifier: string): this;
79
76
  withTrackProperty(property?: keyof TableModel): this;
80
77
  withTrackPropertyUnsafe(property?: string): this;
81
- getColumn(property: keyof TableModel): ColumnDescriptor<any, TableModel, any, string> | null;
82
- getColumnUnsafe(property: string): ColumnDescriptor<any, TableModel, any, string> | null;
78
+ getColumn(property: keyof TableModel): ColumnDescriptor<any, TableModel, any> | null;
79
+ getColumnUnsafe(property: string): ColumnDescriptor<any, TableModel, any> | null;
83
80
  removeColumn(property: keyof TableModel): void;
84
81
  removeColumnUnsafe(property: string): void;
85
- addColumnDescriptor<CT>(column: ColumnDescriptor<CT, TableModel>): this;
82
+ withColumn<ColumnModel, ColumnValue = ColumnModel>(column: ColumnDescriptor<ColumnModel, TableModel, ColumnValue>): this;
86
83
  addColumn<PropertyKey extends keyof TableModel>(property: PropertyKey): ColumnDescriptor<NonNullable<TableModel[PropertyKey]>, TableModel, TableModel[PropertyKey]>;
84
+ addColumnEnum<PropertyKey extends keyof TableModel, Enum extends NonNullable<TableModel[PropertyKey]>>(property: PropertyKey, enumDesc: EnumDescriptor<Enum>): ColumnDescriptor<Enum, TableModel, TableModel[PropertyKey]>;
87
85
  addColumnUnsafe<ColumnModel = unknown>(property: string): ColumnDescriptor<ColumnModel, TableModel>;
88
- addColumns(...properties: (keyof TableModel)[]): this;
89
- withFilterDisplay(filterDisplayType: TableFilterDisplayEnum): this;
86
+ withColumns(...properties: (keyof TableModel)[]): this;
90
87
  withPaginationMode(paginationMode: TablePaginationModeEnum): this;
91
88
  withRowsPerPage(rows: number, options?: Array<number>): this;
92
89
  withTitle(title: string): this;
@@ -102,8 +99,35 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
102
99
  * @param columnsToggleable
103
100
  */
104
101
  withCurrentColumnsToggleable(columnsToggleable?: boolean): this;
105
- withDefaultSort(property: keyof TableModel, asc?: boolean): this;
106
- withDefaultSortUnsafe(property: string, asc?: boolean): this;
102
+ getSort(property: Sorts): SortDescriptor<TableModel> | null;
103
+ getSortUnsafe(property: string): SortDescriptor<TableModel> | null;
104
+ removeSort(property: Sorts): void;
105
+ removeSortUnsafe(property: string): void;
106
+ addSort(property: Sorts, isDefault?: boolean, ascending?: boolean): SortDescriptor<TableModel>;
107
+ addSortUnsafe(property: string, isDefault?: boolean, ascending?: boolean): SortDescriptor<TableModel>;
108
+ withSort(property: Sorts, isDefault?: boolean, ascending?: boolean): this;
109
+ withSortUnsafe(property: string, isDefault?: boolean, ascending?: boolean): this;
110
+ withDefaultSort(property: Sorts, ascending?: boolean, order?: number, enabled?: boolean): this;
111
+ withDefaultSortUnsafe(property: string, ascending?: boolean, order?: number, enabled?: boolean): this;
112
+ withSorts(...properties: Sorts[]): this;
113
+ withSortsUnsafe(...properties: string[]): this;
114
+ getFilter(property: Filters): FilterDescriptor<any, TableModel> | null;
115
+ getFilterUnsafe(property: string): FilterDescriptor<any, TableModel> | null;
116
+ removeFilter(property: Filters): void;
117
+ removeFilterUnsafe(property: string): void;
118
+ addFilter<FilterModel = Filters extends keyof TableModel ? TableModel[Filters] : never>(property: Filters): FilterDescriptor<FilterModel, TableModel>;
119
+ addFilterUnsafe<FilterModel>(property: string): FilterDescriptor<FilterModel, TableModel>;
120
+ addFilterLookup<FilterModel = Filters extends keyof TableModel ? NonNullable<TableModel[Filters]> : never, Service = undefined>(property: Filters, provider?: ILookupDataProvider<FilterModel, Service>, optionsValueProperty?: keyof FilterModel): FilterLookupDescriptor<FilterModel, TableModel, Service>;
121
+ addFilterLookupUnsafe<FilterModel, Service = undefined>(property: string, provider?: ILookupDataProvider<FilterModel, Service>, optionsValueProperty?: string): FilterLookupDescriptor<FilterModel, TableModel, Service>;
122
+ addFilterLookupEnum<Enum>(property: Filters, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>): FilterLookupEnumDescriptor<Enum, unknown>;
123
+ addFilterLookupEnumUnsafe<Enum = EnumConstantType>(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>): FilterLookupEnumDescriptor<Enum, unknown>;
124
+ addFilterFromColumn(property: Extract<Filters, keyof TableModel>, forceSimple?: boolean): FilterDescriptor<any, TableModel>;
125
+ withFiltersFromColumns(...properties: Extract<Filters, keyof TableModel>[]): this;
126
+ withFiltersFromColumnsUnsafe(...properties: string[]): this;
127
+ addFilterFromColumnUnsafe(property: string, forceSimple?: boolean): FilterDescriptor<any, TableModel>;
128
+ addFilterFromColumnDescriptorUnsafe<ColumnModel, ColumnValue>(column: ColumnDescriptor<ColumnModel, TableModel, ColumnValue>, forceSimple: boolean): FilterDescriptor<any, TableModel>;
129
+ withFilter<FilterModel>(property: Filters, filter: FilterDescriptor<FilterModel, TableModel>): this;
130
+ withFilterUnsafe<FilterModel>(filter: FilterDescriptor<FilterModel, TableModel>): this;
107
131
  withClassName(className: string): this;
108
132
  withSize(size?: TableSizeEnum): this;
109
133
  withTableFullHeightOffset(tableFullHeightOffset: number): this;
@@ -126,8 +150,8 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
126
150
  withHeaderClassName(headerClassName: string): this;
127
151
  withLocalized(): this;
128
152
  withLocalizationLocaleProperty(localizationLocaleProperty: string): this;
129
- protected copyFieldsTo(obj: TableDescriptorInst<any>): void;
130
- copy(): TableDescriptorInst<TableModel>;
153
+ protected copyFieldsTo(obj: TableDescriptorInst<any, any, any>): void;
154
+ copy(): TableDescriptorInst<TableModel, Sorts, Filters>;
131
155
  /**
132
156
  * defines modified type of column
133
157
  * DO NOT USE with enum (use withCustomEnumType)
@@ -141,10 +165,10 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
141
165
  /**
142
166
  * defines custom enum type for column
143
167
  * @param property column name
144
- * @param enumType
168
+ * @param enumDesc Enum descriptor.
145
169
  */
146
- withColumnModifiedEnum(property: keyof TableModel, enumType?: EnumType): this;
147
- withColumnModifiedEnumUnsafe(property: string, enumType?: EnumType): this;
170
+ withColumnModifiedEnum<Property extends keyof TableModel, Enum extends NonNullable<TableModel[Property]>>(property: keyof TableModel, enumDesc?: EnumDescriptor<Enum>): this;
171
+ withColumnModifiedEnumUnsafe<Enum = any>(property: string, enumDesc?: EnumDescriptor<Enum>): this;
148
172
  /**
149
173
  * modifies column with class and lookup provider
150
174
  * @param property column name
@@ -153,7 +177,7 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
153
177
  * @param filterProperty
154
178
  */
155
179
  withModifiedLookup<ColumnLookupModel>(property: keyof TableModel, lookupProvider?: ILookupDataProvider<ColumnLookupModel>, optionsLabelProperty?: string, filterProperty?: string): this;
156
- withColumnModifiedLookupUnsafe<ColumnLookupModel>(property: string, lookupProvider?: ILookupDataProvider<ColumnLookupModel>, titleProperty?: string, optionsLabelProperty?: string, filterProperty?: string): this;
180
+ withColumnModifiedLookupUnsafe<ColumnLookupModel>(property: string, lookupProvider?: ILookupDataProvider<ColumnLookupModel>, optionsLabelProperty?: string, filterProperty?: string): this;
157
181
  /**
158
182
  * generates column based on attributes
159
183
  * @param desc Table descriptor
@@ -161,13 +185,13 @@ export declare class TableDescriptorInst<TableModel> implements ITableDescriptor
161
185
  * @param column if provided, replaced by new, otherwise new is created
162
186
  * @param args additional parameters
163
187
  */
164
- protected static upsertColumnFromAttributeDef<ColumnModel, TableModel>(desc: TableDescriptorInst<TableModel>, attribute: TableviewAttributeDef, column?: ColumnDescriptor<ColumnModel, TableModel>, ...args: any[]): ColumnDescriptor<ColumnModel, TableModel>;
188
+ protected static upsertColumnFromAttributeDef<ColumnModel, TableModel>(desc: TableDescriptorInst<TableModel, any, any>, attribute: TableviewAttributeDef, column?: ColumnDescriptor<ColumnModel, TableModel>, ...args: any[]): ColumnDescriptor<ColumnModel, TableModel>;
165
189
  }
166
190
  export declare class TableDescriptor extends TableDescriptorInst<any> {
167
191
  protected constructor();
168
- static create<TableModel>(idProperty?: keyof TableModel, titleProperty?: keyof TableModel, i18nBaseKey?: string | ClassType<unknown>): TableDescriptorInst<TableModel>;
169
- static fromClass<TableModel>(type: ClassType<TableModel>, idProperty?: keyof TableModel, titleProperty?: keyof TableModel, i18nBaseKey?: ClassType<unknown> | string, isAutoGenerated?: boolean): TableDescriptorInst<TableModel>;
170
- static fromModel<TableModel>(model: ModelDescriptor<TableModel>): TableDescriptorInst<TableModel>;
192
+ static create<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(idProperty?: keyof TableModel, titleProperty?: keyof TableModel, i18nBaseKey?: string | ClassType<unknown>): TableDescriptorInst<TableModel, Sorts, Filters>;
193
+ static fromClass<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(type: ClassType<TableModel>, idProperty?: keyof TableModel, titleProperty?: keyof TableModel, i18nBaseKey?: ClassType<unknown> | string, isAutoGenerated?: boolean): TableDescriptorInst<TableModel, Sorts, Filters>;
194
+ static fromModel<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(model: ModelDescriptor<TableModel>): TableDescriptorInst<TableModel, Sorts, Filters>;
171
195
  /**
172
196
  * generates descriptor based on type attribute definition
173
197
  * @param type class type
@@ -228,7 +252,7 @@ export declare class TableDynamicDescriptorInst extends TableDescriptorInst<any>
228
252
  * generates columns defined on table based on data fetched from api
229
253
  * @param data data from api
230
254
  */
231
- toTableDescriptorFromData(data: MediusQueryResult<any>): TableDescriptorInst<any>;
255
+ toTableDescriptorFromData(data: DataListResult): TableDescriptorInst<any>;
232
256
  /**
233
257
  * adds ColumnDynamicDescriptor to this table
234
258
  * @param property column's property
@@ -1,11 +1,11 @@
1
1
  import { EditorDescriptorInst } from '../../editor';
2
2
  import { ModelDescriptor } from '../../model';
3
3
  import { TableDescriptorInst } from '../../table';
4
- export interface ITableviewDescriptorInternal<TableviewModel> {
4
+ export interface ITableviewDescriptorInternal<TableviewModel, SortProperty, FilterProperty> {
5
5
  model: ModelDescriptor<TableviewModel>;
6
- table: TableDescriptorInst<TableviewModel>;
6
+ table: TableDescriptorInst<TableviewModel, SortProperty, FilterProperty>;
7
7
  detailsEditor: EditorDescriptorInst<TableviewModel>;
8
8
  addEditor: EditorDescriptorInst<TableviewModel>;
9
9
  editEditor: EditorDescriptorInst<TableviewModel>;
10
- copy(): ITableviewDescriptorInternal<TableviewModel>;
10
+ copy(): ITableviewDescriptorInternal<TableviewModel, SortProperty, FilterProperty>;
11
11
  }
@@ -1,31 +1,32 @@
1
1
  import { FieldValidatorFn } from '@ngx-formly/core/lib/models/config';
2
2
  import { ILookupDataProvider, ITableDataProvider } from '../../data-providers';
3
3
  import { TableviewAttributeDef } from '../../models';
4
- import { ArrayItemType, ClassType, EnumConstantType, EnumType, IdType, Nullable } from '../../types';
4
+ import { ArrayItemType, ClassType, EnumConstantType, IdType, Nullable } from '../../types';
5
5
  import { AFieldDescriptor, EditorDescriptorInst, FieldInputDescriptorType, FieldLookupProviderType } from '../editor';
6
6
  import { IFieldsManageInterface } from '../editor/internal/editor-fields.model';
7
- import { ModelDescriptor } from '../model';
7
+ import { FilterDescriptor } from '../filter';
8
+ import { EnumDescriptor, ModelDescriptor } from '../model';
8
9
  import { ColumnDescriptor, TableDescriptorInst, TableDynamicDescriptorInst } from '../table';
9
10
  import { IColumnsManageInterface } from '../table/internal/table-columns.model';
10
11
  import { ColumnDisplayTypeEnum, ColumnTypeEnum, FieldInputTypeEnum, TableviewEditorTypeEnum } from '../types';
11
12
  import { ITableviewDescriptorInternal } from './internal/tableview.model';
12
- export declare class TableviewDescriptorInst<TableviewModel> implements ITableviewDescriptorInternal<TableviewModel>, IColumnsManageInterface<TableviewModel>, IFieldsManageInterface<TableviewModel> {
13
+ export declare class TableviewDescriptorInst<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel> implements ITableviewDescriptorInternal<TableviewModel, Sorts, Filters>, IColumnsManageInterface<TableviewModel, Sorts, Filters>, IFieldsManageInterface<TableviewModel> {
13
14
  private readonly _model;
14
- protected _table: TableDescriptorInst<TableviewModel>;
15
+ protected _table: TableDescriptorInst<TableviewModel, Sorts, Filters>;
15
16
  protected _detailsEditor: EditorDescriptorInst<TableviewModel>;
16
17
  protected _addEditor: EditorDescriptorInst<TableviewModel>;
17
18
  protected _editEditor: EditorDescriptorInst<TableviewModel>;
18
19
  protected _tableTitle?: string;
19
20
  protected _isLocalized: boolean;
20
21
  protected constructor(model: ModelDescriptor<TableviewModel>);
21
- get table(): TableDescriptorInst<TableviewModel>;
22
+ get table(): TableDescriptorInst<TableviewModel, Sorts, Filters>;
22
23
  get detailsEditor(): EditorDescriptorInst<TableviewModel>;
23
24
  get addEditor(): EditorDescriptorInst<TableviewModel>;
24
25
  get editEditor(): EditorDescriptorInst<TableviewModel>;
25
26
  get tableTitle(): string | undefined;
26
27
  get model(): ModelDescriptor<TableviewModel, import("../../types").ClassOptType<TableviewModel>>;
27
28
  isLocalized(): boolean;
28
- withTableDescriptor(descriptor: TableDescriptorInst<TableviewModel>): this;
29
+ withTableDescriptor(descriptor: TableDescriptorInst<TableviewModel, Sorts, Filters>): this;
29
30
  withEditorDescriptors(descriptor: EditorDescriptorInst<TableviewModel>): this;
30
31
  withDetailsDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this;
31
32
  withAddDescriptor(descriptor: EditorDescriptorInst<TableviewModel>): this;
@@ -38,14 +39,43 @@ export declare class TableviewDescriptorInst<TableviewModel> implements ITablevi
38
39
  withDisabledEditorDescriptor(type?: TableviewEditorTypeEnum): this;
39
40
  withTableTitle(title: string): this;
40
41
  withValidator(name: string, expression: FieldValidatorFn): this;
41
- getColumn(property: keyof TableviewModel): ColumnDescriptor<any, TableviewModel, any, string> | null;
42
- getColumnUnsafe(property: string): ColumnDescriptor<any, TableviewModel, any, string> | null;
42
+ getColumn(property: keyof TableviewModel): ColumnDescriptor<any, TableviewModel, any> | null;
43
+ getColumnUnsafe(property: string): ColumnDescriptor<any, TableviewModel, any> | null;
43
44
  removeColumn(property: keyof TableviewModel): void;
44
45
  removeColumnUnsafe(property: string): void;
45
- addColumnDescriptor<CT>(column: ColumnDescriptor<CT, TableviewModel>): this;
46
+ withColumn<ColumnModel, ColumnValue = ColumnModel>(column: ColumnDescriptor<ColumnModel, TableviewModel, ColumnValue>): this;
46
47
  addColumn<Property extends keyof TableviewModel>(property: Property): ColumnDescriptor<NonNullable<TableviewModel[Property]>, TableviewModel, TableviewModel[Property]>;
48
+ addColumnEnum<PropertyKey extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[PropertyKey]>>(property: PropertyKey, enumDesc: EnumDescriptor<Enum>): ColumnDescriptor<Enum, TableviewModel, TableviewModel[PropertyKey]>;
47
49
  addColumnUnsafe<ColumnModel = any>(property: string): ColumnDescriptor<ColumnModel, TableviewModel>;
48
- addColumns(...properties: (keyof TableviewModel)[]): this;
50
+ withColumns(...properties: (keyof TableviewModel)[]): this;
51
+ getSort(property: Sorts): import("../table").SortDescriptor<TableviewModel> | null;
52
+ getSortUnsafe(property: string): import("../table").SortDescriptor<TableviewModel> | null;
53
+ removeSort(property: Sorts): void;
54
+ removeSortUnsafe(property: string): void;
55
+ addSort(property: Sorts, isDefault?: boolean, ascending?: boolean): import("../table").SortDescriptor<TableviewModel>;
56
+ addSortUnsafe(property: string, isDefault?: boolean, ascending?: boolean): import("../table").SortDescriptor<TableviewModel>;
57
+ withSort(property: Sorts, isDefault?: boolean, ascending?: boolean): this;
58
+ withSortUnsafe(property: string, isDefault?: boolean, ascending?: boolean): this;
59
+ withDefaultSort(property: Sorts, ascending?: boolean, order?: number, enabled?: boolean): this;
60
+ withDefaultSortUnsafe(property: string, ascending?: boolean, order?: number, enabled?: boolean): this;
61
+ withSorts(...properties: Sorts[]): this;
62
+ withSortsUnsafe(...properties: string[]): this;
63
+ getFilter(property: Filters): FilterDescriptor<any, TableviewModel> | null;
64
+ getFilterUnsafe(property: string): FilterDescriptor<any, TableviewModel> | null;
65
+ removeFilter(property: Filters): void;
66
+ removeFilterUnsafe(property: string): void;
67
+ addFilter<FilterModel = Filters extends keyof TableviewModel ? TableviewModel[Filters] : never>(property: Filters): FilterDescriptor<FilterModel, TableviewModel>;
68
+ addFilterUnsafe<FilterModel>(property: string): FilterDescriptor<FilterModel, TableviewModel>;
69
+ addFilterLookup<FilterModel = Filters extends keyof TableviewModel ? NonNullable<TableviewModel[Filters]> : never, Service = undefined>(property: Filters, provider?: ILookupDataProvider<FilterModel, Service>, optionsValueProperty?: keyof FilterModel): import("../filter").FilterLookupDescriptor<FilterModel, TableviewModel, Service>;
70
+ addFilterLookupUnsafe<FilterModel, Service = undefined>(property: string, provider?: ILookupDataProvider<FilterModel, Service>, optionsValueProperty?: string): import("../filter").FilterLookupDescriptor<FilterModel, TableviewModel, Service>;
71
+ addFilterLookupEnum<Enum>(property: Filters, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>): import("../filter").FilterLookupEnumDescriptor<Enum, unknown>;
72
+ addFilterLookupEnumUnsafe<Enum = EnumConstantType>(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>): import("../filter").FilterLookupEnumDescriptor<Enum, unknown>;
73
+ addFilterFromColumn(property: Extract<Filters, keyof TableviewModel>, forceSimple?: boolean): FilterDescriptor<any, TableviewModel>;
74
+ withFiltersFromColumns(...properties: Extract<Filters, keyof TableviewModel>[]): this;
75
+ withFiltersFromColumnsUnsafe(...properties: string[]): this;
76
+ addFilterFromColumnUnsafe(property: string, forceSimple?: boolean): FilterDescriptor<any, TableviewModel>;
77
+ withFilter<FilterModel>(property: Filters, filter: FilterDescriptor<FilterModel, TableviewModel>): this;
78
+ withFilterUnsafe<FilterModel>(filter: FilterDescriptor<FilterModel, TableviewModel>): this;
49
79
  getField(property: keyof TableviewModel, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, TableviewModel> | null;
50
80
  getFieldUnsafe(property: string, editorType: TableviewEditorTypeEnum): AFieldDescriptor<any, TableviewModel> | null;
51
81
  removeField(property: keyof TableviewModel): void;
@@ -65,8 +95,8 @@ export declare class TableviewDescriptorInst<TableviewModel> implements ITablevi
65
95
  addFieldLookupWithPropertyAsValueUnsafe<FieldModel, FieldValue = Nullable<IdType>>(property: string, optionsValueProperty: string): import("../editor").FieldLookupDescriptor<FieldModel, TableviewModel, undefined, FieldValue, string>;
66
96
  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
97
  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>;
98
+ addFieldLookupEnum<Property extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[Property]>>(property: Property, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>): import("../editor").FieldLookupEnumDescriptor<Enum, TableviewModel>;
99
+ addFieldLookupEnumUnsafe<Enum = EnumConstantType>(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>): import("../editor").FieldLookupEnumDescriptor<Enum, TableviewModel>;
70
100
  addFieldManyEditor<Property extends keyof TableviewModel, FieldModel = ArrayItemType<TableviewModel[Property]>, FieldValue = TableviewModel[Property]>(property: Property, tableviewDescriptor: TableviewDescriptorInst<FieldModel>): import("../editor").FieldManyEditorDescriptor<FieldModel, TableviewModel, FieldValue>;
71
101
  addFieldManyEditorUnsafe<FieldModel, FieldValue = FieldModel[]>(property: string, tableviewDescriptor: TableviewDescriptorInst<FieldModel>): import("../editor").FieldManyEditorDescriptor<FieldModel, TableviewModel, FieldValue>;
72
102
  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>;
@@ -75,7 +105,7 @@ export declare class TableviewDescriptorInst<TableviewModel> implements ITablevi
75
105
  addFieldManyToManyEditorWithProviderUnsafe<FieldModel, ServiceType, FieldValue = FieldModel[]>(property: string, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, ServiceType>): import("../editor").FieldManyToManyEditorDescriptor<FieldModel, TableviewModel, ServiceType, FieldValue>;
76
106
  createTabGroup(name: string, title?: string): this;
77
107
  createFieldGroup(name: string, title?: string): this;
78
- copy(): TableviewDescriptorInst<TableviewModel>;
108
+ copy(): TableviewDescriptorInst<TableviewModel, Sorts, Filters>;
79
109
  /**
80
110
  * creates column and field with custom type, for example currency
81
111
  * if field exists, it is replaced
@@ -93,11 +123,11 @@ export declare class TableviewDescriptorInst<TableviewModel> implements ITablevi
93
123
  * creates column with enum type
94
124
  * if fields exists, it is replaced
95
125
  * @param property property name
96
- * @param enumType type of enum
126
+ * @param enumDesc type of enum
97
127
  * @param fieldType type of field, optional, default is Text
98
128
  */
99
- withModifiedEnum(property: keyof TableviewModel, enumType?: EnumType, fieldType?: FieldInputTypeEnum): this;
100
- withModifiedEnumUnsafe(property: string, enumType?: EnumType, fieldType?: FieldInputTypeEnum): this;
129
+ withModifiedEnum<Property extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[Property]>>(property: Property, enumDesc?: EnumDescriptor<Enum>, fieldType?: FieldInputTypeEnum): this;
130
+ withModifiedEnumUnsafe<Enum = any>(property: string, enumDesc?: EnumDescriptor<Enum>, fieldType?: FieldInputTypeEnum): this;
101
131
  /**
102
132
  * generates column with custom class type
103
133
  * field is generated only if lookupProvider is provided
@@ -115,9 +145,9 @@ export declare class TableviewDescriptorInst<TableviewModel> implements ITablevi
115
145
  }
116
146
  export declare class TableviewDescriptor extends TableviewDescriptorInst<any> {
117
147
  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>;
148
+ static create<TableviewModel, SortProperty = keyof TableviewModel, FilterProperty = keyof TableviewModel>(idProperty?: keyof TableviewModel, titleProperty?: keyof TableviewModel, i18nBaseKey?: string | ClassType<unknown>): TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty>;
149
+ static fromClass<TableviewModel, SortProperty = keyof TableviewModel, FilterProperty = keyof TableviewModel>(type: ClassType<TableviewModel>, idProperty?: keyof TableviewModel, titleProperty?: keyof TableviewModel, i18nBaseKey?: ClassType<unknown> | string): TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty>;
150
+ static fromModel<TableviewModel, SortProperty = keyof TableviewModel, FilterProperty = keyof TableviewModel>(model: ModelDescriptor<TableviewModel>): TableviewDescriptorInst<TableviewModel, SortProperty, FilterProperty>;
121
151
  /**
122
152
  * generates descriptor from attribute definition of openapi model
123
153
  * @param type class type
@@ -6,23 +6,6 @@ export declare enum FilterTypeEnum {
6
6
  Lookup = 4,
7
7
  LookupEnum = 5
8
8
  }
9
- export declare enum FilterMatchModeEnum {
10
- StartsWith = "startsWith",
11
- Contains = "contains",
12
- EndsWith = "endsWith",
13
- Equals = "equals",
14
- NotEquals = "notEquals",
15
- In = "in",
16
- LessThan = "lt",
17
- GreaterThan = "gt",
18
- Between = "between",
19
- DateIs = "dateIs",
20
- DateIsNot = "dateIsNot",
21
- DateBefore = "dateBefore",
22
- DateAfter = "dateAfter",
23
- Exists = "is",
24
- DoesNotExist = "isNot"
25
- }
26
9
  export declare enum FilterLookupTypeEnum {
27
10
  Dropdown = 0,
28
11
  Autocomplete = 1
@@ -3,9 +3,6 @@ export declare enum TablePaginationModeEnum {
3
3
  InfiniteScroll = 1,
4
4
  None = 2
5
5
  }
6
- export declare enum TableFilterDisplayEnum {
7
- Row = 0
8
- }
9
6
  export declare enum TableSizeEnum {
10
7
  Small = 0,
11
8
  Normal = 1,
@@ -2,5 +2,5 @@ import { ErrorHandler } from '@angular/core';
2
2
  export declare class MngErrorHandler implements ErrorHandler {
3
3
  private static readonly logCategory;
4
4
  private readonly logger;
5
- handleError(error: any): void;
5
+ handleError(error: Error): void;
6
6
  }
@@ -0,0 +1,19 @@
1
+ import { Injector } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ActionContext } from '../components/action/models';
4
+ import { IDataProvider } from '../data-providers';
5
+ import { DataListResult } from '../models';
6
+ export declare function runFnFromDataProviderOrFallback<Item, Service, Return, FallbackReturn = Return>(ctx: ActionContext<Item, Service>, fn: (ctx: ActionContext<Item, Service>) => Observable<Return> | null, fallback: Observable<FallbackReturn>): Observable<Return | FallbackReturn>;
7
+ export declare function runFnFromDataProviderOrFail<Item, Service, Return>(ctx: ActionContext<Item, Service>, fn: (ctx: ActionContext<Item, Service>) => Observable<Return> | null): Observable<Return>;
8
+ export declare function runGetAllFromDataProvider<Item, Service>(ctx: ActionContext<Item, Service>): Observable<DataListResult<Item>> | null;
9
+ export declare function runFetchFromDataProvider<Item, Service>(ctx: ActionContext<Item, Service>): Observable<Item> | null;
10
+ export declare function runCreateFromDataProvider<Item, Service>(ctx: ActionContext<Item, Service>): Observable<Item> | null;
11
+ export declare function runUpdateFromDataProvider<Item, service>(ctx: ActionContext<Item, service>): Observable<Item> | null;
12
+ export declare function runDeleteFromDataProvider<Item, Service>(ctx: ActionContext<Item, Service>): Observable<Item | null> | null;
13
+ /**
14
+ * Gets service instance of data provider.
15
+ *
16
+ * @param injector Injector instance
17
+ * @param dataProvider Data provider instance.
18
+ */
19
+ export declare function getDataProviderService<Item, Service>(injector: Injector, dataProvider?: IDataProvider<Item, Service>): Service | null;
@@ -0,0 +1,27 @@
1
+ import { FilterMatchModeExtendedType } from './filter-match.model';
2
+ export interface DataListParams<Sorts = string, Filters extends keyof any = string> {
3
+ offset?: number;
4
+ limit?: number;
5
+ sort?: DataListSort<Sorts>[];
6
+ search?: string;
7
+ filters?: DataListFiltersType<Filters>;
8
+ }
9
+ export interface DataListSort<Property = string> {
10
+ property: Property;
11
+ ascending?: boolean;
12
+ }
13
+ export type DataListFilterBaseValueType = string | number | boolean | Date | undefined | null;
14
+ export type DataListFilterValueType = DataListFilterBaseValueType | DataListFilterBaseValueType[] | undefined | null;
15
+ export type DataListFilterFromUrlValueType = string | string[] | undefined | null;
16
+ export type DataListFiltersType<Filters extends keyof any = string> = {
17
+ [Prop in Filters]: DataListFilter;
18
+ };
19
+ export interface DataListFilter<Value = DataListFilterValueType> {
20
+ value?: Value;
21
+ matchMode?: FilterMatchModeExtendedType;
22
+ caseSensitive?: boolean;
23
+ }
24
+ export interface DataListResult<Item = any> {
25
+ data: Item[];
26
+ totalCount?: number;
27
+ }
@@ -0,0 +1,36 @@
1
+ export type FilterMatchModeType = 'equals' | 'notEquals' | 'contains' | 'notContains' | 'in' | 'notIn' | 'startsWith' | 'endsWith' | 'lessThan' | 'lessThanOrEqualTo' | 'greaterThan' | 'greaterThanOrEqualTo' | 'between' | 'exists' | 'doesNotExist';
2
+ export type FilterMatchModeExtendedType = FilterMatchModeType | string;
3
+ export declare class FilterMatchMode {
4
+ static Equals: FilterMatchModeType;
5
+ static EqualsAbbr: string;
6
+ static NotEquals: FilterMatchModeType;
7
+ static NotEqualsAbbr: string;
8
+ static Contains: FilterMatchModeType;
9
+ static ContainsAbbr: string;
10
+ static NotContains: FilterMatchModeType;
11
+ static NotContainsAbbr: string;
12
+ static In: FilterMatchModeType;
13
+ static InAbbr: string;
14
+ static NotIn: FilterMatchModeType;
15
+ static NotInAbbr: string;
16
+ static StartsWith: FilterMatchModeType;
17
+ static StartsWithAbbr: string;
18
+ static EndsWith: FilterMatchModeType;
19
+ static EndsWithAbbr: string;
20
+ static LessThan: FilterMatchModeType;
21
+ static LessThanAbbr: string;
22
+ static LessThanOrEqualTo: FilterMatchModeType;
23
+ static LessThanOrEqualToAbbr: string;
24
+ static GreaterThan: FilterMatchModeType;
25
+ static GreaterThanAbbr: string;
26
+ static GreaterThanOrEqualTo: FilterMatchModeType;
27
+ static GreaterThanOrEqualToAbbr: string;
28
+ static Between: FilterMatchModeType;
29
+ static BetweenAbbr: string;
30
+ static Exists: FilterMatchModeType;
31
+ static ExistsAbbr: string;
32
+ static DoesNotExist: FilterMatchModeType;
33
+ static DoesNotExistAbbr: string;
34
+ static getAbbreviation(mode: string): string | null;
35
+ static fromAbbreviation(abbr: string): string | null;
36
+ }
@@ -1,8 +1,10 @@
1
1
  export * from './column-value.model';
2
2
  export * from './config.model';
3
3
  export * from './class.model';
4
+ export * from './data-list.model';
4
5
  export * from './enum.model';
5
6
  export * from './error.model';
7
+ export * from './filter-match.model';
6
8
  export * from './log.model';
7
9
  export * from './menu.model';
8
10
  export * from './radio.model';
@@ -1,8 +1,8 @@
1
- import { MediusQueryParam } from '../api/models';
1
+ import { DataListParams } from './data-list.model';
2
2
  export interface ViewContainerTableReloadEvent {
3
3
  emitEvent?: boolean;
4
4
  resetParams?: boolean;
5
- queryParam?: MediusQueryParam;
5
+ params?: DataListParams;
6
6
  data?: {
7
7
  [key: string]: any;
8
8
  };
@@ -1,8 +1,8 @@
1
1
  import { PipeTransform } from '@angular/core';
2
- import { EnumType } from '../types';
2
+ import { EnumDescriptor } from '../descriptors/model';
3
3
  import * as i0 from "@angular/core";
4
4
  export declare class MngEnumPipe implements PipeTransform {
5
- transform(value: unknown, enumObj: EnumType | undefined, i18nPath?: string | null, nameAsValue?: boolean): any;
5
+ transform(value: unknown, enumDesc?: EnumDescriptor<any>, i18nPath?: string | null): any;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<MngEnumPipe, never>;
7
7
  static ɵpipe: i0.ɵɵPipeDeclaration<MngEnumPipe, "enum", true>;
8
8
  }
@@ -0,0 +1,10 @@
1
+ import { Provider } from '@angular/core';
2
+ import { MngModuleConfig } from './models';
3
+ export declare enum CommonsFeatureTypeEnum {
4
+ DataApiObsolete = 0
5
+ }
6
+ export interface CommonsFeature {
7
+ type: CommonsFeatureTypeEnum;
8
+ providers: Provider[];
9
+ }
10
+ export declare function provideMngCommons(config: MngModuleConfig, ...features: CommonsFeature[]): Provider[];
@@ -13,7 +13,7 @@ export interface MngRouterData extends Data {
13
13
  breadcrumb?: BreadcrumbType | null;
14
14
  pageTitle?: string;
15
15
  tableview?: {
16
- descriptor: TableviewDescriptorInst<any>;
16
+ descriptor: TableviewDescriptorInst<any, any, any>;
17
17
  dataProvider: ITableviewDataProvider;
18
18
  actions?: Array<ActionDescriptorInst<any>>;
19
19
  };
@@ -1,6 +1,5 @@
1
1
  import { Type } from '@angular/core';
2
2
  import { Route } from '@angular/router';
3
- import { AMngTableviewRouteComponent } from '../components/tableview';
4
3
  import { ITableviewDataProvider } from '../data-providers';
5
4
  import { ActionDescriptorInst } from '../descriptors/action';
6
5
  import { TableviewDescriptorInst } from '../descriptors/tableview';
@@ -40,6 +39,6 @@ export declare class TableviewRouteBuilderInternal extends RouteBuilder {
40
39
  protected findMenuItemPermissions(): APermissions | undefined;
41
40
  }
42
41
  export declare class TableviewRouteBuilder {
43
- static fromComponent<C extends AMngTableviewRouteComponent<any, any>>(path: string, component: Type<C>): TableviewRouteBuilderInternal;
42
+ static fromComponent<C>(path: string, component: Type<C>): TableviewRouteBuilderInternal;
44
43
  static from(path: string, descriptor: TableviewDescriptorInst<any>, dataProvider: ITableviewDataProvider, actions: Array<ActionDescriptorInst<any>>): TableviewRouteBuilderInternal;
45
44
  }