@mediusinc/mng-commons 7.4.0 → 8.0.0-rc.2

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 (48) hide show
  1. package/README.md +74 -62
  2. package/fesm2022/mediusinc-mng-commons-core.mjs +159 -302
  3. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  4. package/fesm2022/mediusinc-mng-commons-filter.mjs +3 -9
  5. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  6. package/fesm2022/mediusinc-mng-commons-form-api.mjs +4 -4
  7. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  8. package/fesm2022/mediusinc-mng-commons-form.mjs +285 -203
  9. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  10. package/fesm2022/mediusinc-mng-commons-model.mjs +2 -5
  11. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
  12. package/fesm2022/mediusinc-mng-commons-table-api.mjs +1 -0
  13. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  14. package/fesm2022/{mediusinc-mng-commons-table-column-toggle.component-BS5xvoDR.mjs → mediusinc-mng-commons-table-column-toggle.component-BHIzrUZz.mjs} +14 -12
  15. package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-BHIzrUZz.mjs.map +1 -0
  16. package/fesm2022/{mediusinc-mng-commons-table-mediusinc-mng-commons-table-BfEYZG7s.mjs → mediusinc-mng-commons-table-mediusinc-mng-commons-table-BPgwJRZk.mjs} +558 -522
  17. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BPgwJRZk.mjs.map +1 -0
  18. package/fesm2022/mediusinc-mng-commons-table.mjs +1 -1
  19. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +10 -75
  20. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  21. package/fesm2022/mediusinc-mng-commons-tableview.mjs +460 -326
  22. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  23. package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
  24. package/i18n/en.json +1 -1
  25. package/i18n/sl.json +2 -2
  26. package/package.json +11 -24
  27. package/types/mediusinc-mng-commons-core.d.ts +55 -115
  28. package/types/mediusinc-mng-commons-filter.d.ts +4 -8
  29. package/types/mediusinc-mng-commons-form-api.d.ts +7 -7
  30. package/types/mediusinc-mng-commons-form.d.ts +11 -11
  31. package/types/mediusinc-mng-commons-table-api.d.ts +2 -2
  32. package/types/mediusinc-mng-commons-table.d.ts +21 -25
  33. package/types/mediusinc-mng-commons-tableview-api.d.ts +9 -51
  34. package/types/mediusinc-mng-commons-tableview.d.ts +9 -15
  35. package/fesm2022/mediusinc-mng-commons-model-class.mjs +0 -97
  36. package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +0 -1
  37. package/fesm2022/mediusinc-mng-commons-table-api-class.mjs +0 -204
  38. package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +0 -1
  39. package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-BS5xvoDR.mjs.map +0 -1
  40. package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BfEYZG7s.mjs.map +0 -1
  41. package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs +0 -374
  42. package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +0 -1
  43. package/model/class/README.md +0 -8
  44. package/table/api/class/README.md +0 -10
  45. package/tableview/api/class/README.md +0 -13
  46. package/types/mediusinc-mng-commons-model-class.d.ts +0 -25
  47. package/types/mediusinc-mng-commons-table-api-class.d.ts +0 -77
  48. package/types/mediusinc-mng-commons-tableview-api-class.d.ts +0 -141
@@ -1,374 +0,0 @@
1
- import { CommonsInternalError, TypeRegistry } from '@mediusinc/mng-commons/core';
2
- import { ColumnTypeEnum, ColumnDisplayTypeEnum } from '@mediusinc/mng-commons/table/api';
3
- import { FieldInputTypeEnum, EditorDataProviderInst, FieldInputDescriptor, EditorDescriptorInst, TableviewDescriptorInst, TableviewEditorTypeEnum, TableviewDataProviderInst } from '@mediusinc/mng-commons/tableview/api';
4
- import { ModelClassDescriptor, modelClass, findClassTitleAttribute } from '@mediusinc/mng-commons/model/class';
5
- import { enumModelGeneric } from '@mediusinc/mng-commons/model';
6
- import { getColumnTypeFromClassAttributeDefType, getColumnDisplayTypeFromColumnType, tableDescriptorFromClassAttrsDef, modifyTableClassAttributeColumnTypeUnsafe, tableDescriptorModifyEnumColumnUnsafe, modifyTableColumnFilterLookupUnsafe } from '@mediusinc/mng-commons/table/api/class';
7
-
8
- /**
9
- * converts string type to type enum, default is text
10
- * @param attributeType
11
- */
12
- function getFieldInputTypeFromClassAttributeDefType(attributeType) {
13
- switch (attributeType) {
14
- case 'hidden':
15
- return FieldInputTypeEnum.Hidden;
16
- case 'label':
17
- return FieldInputTypeEnum.Label;
18
- case 'textarea':
19
- return FieldInputTypeEnum.Textarea;
20
- case 'number':
21
- return FieldInputTypeEnum.Number;
22
- case 'currency':
23
- return FieldInputTypeEnum.Currency;
24
- case 'switch':
25
- case 'boolean':
26
- return FieldInputTypeEnum.Switch;
27
- case 'radio':
28
- return FieldInputTypeEnum.Radio;
29
- case 'datepicker':
30
- return FieldInputTypeEnum.Datepicker;
31
- case 'mask':
32
- return FieldInputTypeEnum.Mask;
33
- case 'file':
34
- return FieldInputTypeEnum.File;
35
- case 'custom':
36
- return FieldInputTypeEnum.Custom;
37
- case 'text':
38
- default:
39
- return FieldInputTypeEnum.Text;
40
- }
41
- }
42
- /**
43
- * convert column type to equivalent field input type
44
- * @param type column type
45
- * @param displayType column display type
46
- */
47
- function getFieldInputTypeFromColumnType(type, displayType) {
48
- switch (type) {
49
- case ColumnTypeEnum.Number:
50
- return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;
51
- case ColumnTypeEnum.Boolean:
52
- return FieldInputTypeEnum.Switch;
53
- case ColumnTypeEnum.Date:
54
- return FieldInputTypeEnum.Datepicker;
55
- case ColumnTypeEnum.Custom:
56
- return FieldInputTypeEnum.Custom;
57
- case ColumnTypeEnum.String:
58
- case ColumnTypeEnum.Enum:
59
- default:
60
- return FieldInputTypeEnum.Text;
61
- }
62
- }
63
- function expandClassAttributeDefWithEditorDef(attributes) {
64
- if (!attributes) {
65
- throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', { name: 'TableviewUtilsError' });
66
- }
67
- const typeRegistry = TypeRegistry.get();
68
- const editorClassAttributeDef = [];
69
- for (const attribute of attributes) {
70
- editorClassAttributeDef.push({
71
- name: attribute.name,
72
- baseName: attribute.baseName,
73
- type: attribute.type,
74
- subtype: attribute.subtype,
75
- fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),
76
- classType: typeRegistry.findType(attribute.type),
77
- enumType: typeRegistry.findEnum(attribute.type)
78
- });
79
- }
80
- return editorClassAttributeDef;
81
- }
82
- /**
83
- * returns attributes from class type and extends to typed def with column and field enum type
84
- * @param type class type
85
- */
86
- function getEditorClassAttributeDef(type) {
87
- return expandClassAttributeDefWithEditorDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));
88
- }
89
-
90
- function editorDataProviderFromClass(type, serviceType) {
91
- return new EditorDataProviderInst(serviceType);
92
- }
93
-
94
- /**
95
- * Generates field based on attribute definition, used for auto model
96
- * @param descriptor Editor descriptor instance.
97
- * @param attribute Attribute definition.
98
- * @param field Optional, if defined will be replaced, otherwise new will be generated.
99
- * @param args Optional additional arguments mapped to filed type. Arguments depend on possible arguments on fields.
100
- * @internal
101
- */
102
- function upsertEditorFieldFromAttributeDef(descriptor, attribute, field, ...args) {
103
- if (field == null) {
104
- field = descriptor.addFieldUnsafe(attribute.name);
105
- }
106
- if (field instanceof FieldInputDescriptor) {
107
- if (attribute.enumType) {
108
- return field.asRadioFromEnum(enumModelGeneric(attribute.enumType));
109
- }
110
- else {
111
- const tableColumnType = getColumnTypeFromClassAttributeDefType(attribute.type);
112
- const tableColumnDisplayType = getColumnDisplayTypeFromColumnType(tableColumnType, attribute.type);
113
- return field.asType(attribute.fieldType ?? getFieldInputTypeFromColumnType(tableColumnType, tableColumnDisplayType), ...args);
114
- }
115
- }
116
- return field;
117
- }
118
- /**
119
- * Modifies selected field by field property. For enums use {withFieldModifiedEnum} instead.
120
- * @param descriptor Editor descriptor.
121
- * @param property Model's property name.
122
- * @param fieldType new field type for selected field
123
- * @param args additional parameters for field
124
- */
125
- function modifyEditorClassAttributeFieldType(descriptor, property, fieldType, ...args) {
126
- return modifyEditorClassAttributeFieldTypeUnsafe(descriptor, property, fieldType, ...args);
127
- }
128
- function modifyEditorClassAttributeFieldTypeUnsafe(descriptor, property, fieldType, ...args) {
129
- if (!(descriptor.model instanceof ModelClassDescriptor)) {
130
- throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);
131
- }
132
- const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(attribute => attribute.name === property);
133
- if (attribute) {
134
- attribute.fieldType = fieldType;
135
- return upsertEditorFieldFromAttributeDef(descriptor, attribute, descriptor.fields.find(fi => fi.property === property), ...args);
136
- }
137
- return null;
138
- }
139
- /**
140
- * Modifies selected field with enum type.
141
- * @param descriptor Editor descriptor.
142
- * @param property Model's property name.
143
- * @param enumModel Enum descriptor.
144
- * @param values
145
- */
146
- function modifyEditorClassAttributeFieldEnum(descriptor, property, enumModel, values) {
147
- return modifyEditorClassAttributeFieldEnumUnsafe(descriptor, property, enumModel, values);
148
- }
149
- function modifyEditorClassAttributeFieldEnumUnsafe(descriptor, property, enumDesc, values) {
150
- if (!(descriptor.model instanceof ModelClassDescriptor)) {
151
- throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);
152
- }
153
- const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(a => a.name === property);
154
- if (attribute) {
155
- attribute.fieldType = FieldInputTypeEnum.Radio;
156
- const field = descriptor.fields.find(f => f.property === property);
157
- if (field && field instanceof FieldInputDescriptor) {
158
- field.asRadioFromEnum(enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attribute.type)), values);
159
- }
160
- return field ?? null;
161
- }
162
- return null;
163
- }
164
- /**
165
- * Modifies selected field with lookup field.
166
- * @param descriptor Editor descriptor.
167
- * @param property Model's property name.
168
- * @param lookupProvider provider to be added to field
169
- * @param titleProperty
170
- */
171
- function modifyEditorFieldLookup(descriptor, property, lookupProvider, titleProperty) {
172
- return modifyEditorFieldLookupUnsafe(descriptor, property, lookupProvider, titleProperty);
173
- }
174
- function modifyEditorFieldLookupUnsafe(descriptor, property, lookupProvider, titleProperty) {
175
- descriptor.removeFieldUnsafe(property);
176
- const field = descriptor.addFieldLookupUnsafe(property, { serviceProvider: lookupProvider }).asAutocomplete();
177
- if (titleProperty) {
178
- field.withOptionsLabelPropertyUnsafe(titleProperty);
179
- }
180
- return field;
181
- }
182
-
183
- function editorDescriptorFromClass(type, opts) {
184
- return new EditorDescriptorInst(modelClass(type, opts), opts?.tableviewEditorType);
185
- }
186
- /**
187
- * Generates descriptor based on type attribute definition
188
- * @param type class type
189
- * @param attributes
190
- * @param opts
191
- */
192
- function editorDescriptorFromClassAttrsDef(type, attributes, opts) {
193
- const descriptor = new EditorDescriptorInst(modelClass(type, opts), opts?.tableviewEditorType);
194
- (attributes ?? getEditorClassAttributeDef(type))
195
- .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))
196
- .forEach(attr => upsertEditorFieldFromAttributeDef(descriptor, attr));
197
- return descriptor;
198
- }
199
-
200
- function expandClassAttributeDefWithTableviewDef(attributes) {
201
- if (!attributes) {
202
- throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', { name: 'TableviewUtilsError' });
203
- }
204
- const typeRegistry = TypeRegistry.get();
205
- const tableClassAttributeDef = [];
206
- for (const attribute of attributes) {
207
- const enumType = typeRegistry.findEnum(attribute.type);
208
- const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);
209
- tableClassAttributeDef.push({
210
- name: attribute.name,
211
- baseName: attribute.baseName,
212
- type: attribute.type,
213
- subtype: attribute.subtype,
214
- columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),
215
- columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),
216
- fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),
217
- enumType: typeRegistry.findEnum(attribute.type),
218
- classType: typeRegistry.findType(attribute.type)
219
- });
220
- }
221
- return tableClassAttributeDef;
222
- }
223
- /**
224
- * returns attributes from class type and extends to typed def with column and field enum type
225
- * @param type class type
226
- */
227
- function getTableviewClassAttributeDef(type) {
228
- return expandClassAttributeDefWithTableviewDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));
229
- }
230
-
231
- function tableviewDescriptorFromClass(type, opts) {
232
- return new TableviewDescriptorInst(modelClass(type, opts));
233
- }
234
- /**
235
- * generates descriptor based on type attribute definition
236
- * @param type class type
237
- * @param columnAttributes
238
- * @param fieldAttributes
239
- * @param opts
240
- */
241
- function tableviewDescriptorFromClassAttrsDef(type, columnAttributes, fieldAttributes, opts) {
242
- const model = modelClass(type, opts);
243
- const descriptor = new TableviewDescriptorInst(model);
244
- descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef(type, columnAttributes, opts));
245
- if (fieldAttributes !== null) {
246
- const editorOpts = {
247
- ...opts,
248
- parentEditorType: opts?.parentEditorType
249
- };
250
- descriptor.withEditDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {
251
- ...editorOpts,
252
- tableviewEditorType: TableviewEditorTypeEnum.Edit
253
- }));
254
- descriptor.withDetailsDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Details }).withDisabled());
255
- descriptor.withAddDescriptor(editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, { ...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Add }));
256
- }
257
- return descriptor;
258
- }
259
-
260
- /**
261
- * creates column and field with custom type, for example currency
262
- * if field exists, it is replaced
263
- * DO NOT USE WITH TYPES WHERE ARGS ARE REQUIRED - ERROR WILL BE THROWN
264
- * for enum use withEnumType
265
- * for custom class use withClassType
266
- * @param descriptor Tableview descriptor
267
- * @param property name of field
268
- * @param columnType required column type
269
- * @param fieldType optional, if not provided it is converted from column type
270
- * @param columnDisplayType optional
271
- */
272
- function modifyTableviewClassAttributeType(descriptor, property, columnType, fieldType, columnDisplayType) {
273
- return modifyTableviewClassAttributeTypeUnsafe(descriptor, property, columnType, fieldType, columnDisplayType);
274
- }
275
- function modifyTableviewClassAttributeTypeUnsafe(descriptor, property, columnType, fieldType, columnDisplayType) {
276
- if (!(descriptor.model instanceof ModelClassDescriptor)) {
277
- throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);
278
- }
279
- if (columnType === ColumnTypeEnum.Enum) {
280
- throw new CommonsInternalError('Do not use with types where args are required', { name: 'TableviewDescriptorError' });
281
- }
282
- const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);
283
- if (attributeDef != null) {
284
- fieldType ??= getFieldInputTypeFromColumnType(columnType, columnDisplayType);
285
- attributeDef.fieldType = fieldType;
286
- modifyTableClassAttributeColumnTypeUnsafe(descriptor.table, property, columnType, columnDisplayType);
287
- modifyEditorClassAttributeFieldTypeUnsafe(descriptor.editEditor, property, fieldType);
288
- modifyEditorClassAttributeFieldTypeUnsafe(descriptor.addEditor, property, fieldType);
289
- modifyEditorClassAttributeFieldTypeUnsafe(descriptor.detailsEditor, property, fieldType);
290
- return true;
291
- }
292
- return false;
293
- }
294
- /**
295
- * creates column with enum type
296
- * if fields exists, it is replaced
297
- * @param descriptor Tableview descriptor
298
- * @param property property name
299
- * @param enumDesc type of enum
300
- * @param fieldType type of field, optional, default is Text
301
- */
302
- function modifyTableviewClassAttributeEnum(descriptor, property, enumDesc, fieldType) {
303
- return modifyTableviewClassAttributeEnumUnsafe(descriptor, property, enumDesc, fieldType);
304
- }
305
- function modifyTableviewClassAttributeEnumUnsafe(descriptor, property, enumDesc, fieldType) {
306
- if (!(descriptor.model instanceof ModelClassDescriptor)) {
307
- throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);
308
- }
309
- const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);
310
- if (attributeDef != null) {
311
- attributeDef.fieldType = fieldType ?? FieldInputTypeEnum.Text;
312
- tableDescriptorModifyEnumColumnUnsafe(descriptor.table, property, enumDesc);
313
- modifyEditorClassAttributeFieldEnumUnsafe(descriptor.editEditor, property, enumDesc);
314
- modifyEditorClassAttributeFieldEnumUnsafe(descriptor.addEditor, property, enumDesc);
315
- modifyEditorClassAttributeFieldEnumUnsafe(descriptor.detailsEditor, property, enumDesc);
316
- return true;
317
- }
318
- return false;
319
- }
320
- /**
321
- * generates column with custom class type
322
- * field is generated only if lookupProvider is provided
323
- * @param descriptor Tableview descriptor
324
- * @param property property name
325
- * @param type class type of object
326
- * @param titleProperty
327
- * @param lookupProvider
328
- * @param optionsLabelProperty
329
- * @param filterProperty
330
- */
331
- function modifyTableviewLookup(descriptor, property, type, lookupProvider, titleProperty, optionsLabelProperty, filterProperty) {
332
- return modifyTableviewLookupUnsafe(descriptor, property, type, lookupProvider, titleProperty, optionsLabelProperty, filterProperty);
333
- }
334
- function modifyTableviewLookupUnsafe(descriptor, property, type, lookupProvider, titleProperty, optionsLabelProperty, filterProperty) {
335
- if (!(descriptor.model instanceof ModelClassDescriptor)) {
336
- throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);
337
- }
338
- const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);
339
- if (attributeDef != null) {
340
- type ??= attributeDef.classType ?? TypeRegistry.get().findType(attributeDef.type);
341
- titleProperty ??= type ? (findClassTitleAttribute(type) ?? undefined) : undefined;
342
- optionsLabelProperty ??= titleProperty;
343
- attributeDef.columnType = ColumnTypeEnum.String;
344
- attributeDef.fieldType = FieldInputTypeEnum.Text;
345
- if (lookupProvider != null) {
346
- modifyTableColumnFilterLookupUnsafe(descriptor.table, property, lookupProvider, optionsLabelProperty, filterProperty);
347
- modifyEditorFieldLookupUnsafe(descriptor.addEditor, property, lookupProvider, optionsLabelProperty);
348
- modifyEditorFieldLookupUnsafe(descriptor.detailsEditor, property, lookupProvider, optionsLabelProperty);
349
- modifyEditorFieldLookupUnsafe(descriptor.editEditor, property, lookupProvider, optionsLabelProperty);
350
- return true;
351
- }
352
- else {
353
- const column = descriptor.table.getColumnUnsafe(property) ?? descriptor.addColumnUnsafe(property);
354
- if (titleProperty) {
355
- column.withGetter(value => value?.[titleProperty]);
356
- }
357
- return true;
358
- }
359
- }
360
- return false;
361
- }
362
-
363
- function tableviewDataProviderFromClass(type, serviceType) {
364
- return new TableviewDataProviderInst(serviceType);
365
- }
366
-
367
- // editor
368
-
369
- /**
370
- * Generated bundle index. Do not edit.
371
- */
372
-
373
- export { editorDataProviderFromClass, editorDescriptorFromClass, editorDescriptorFromClassAttrsDef, expandClassAttributeDefWithEditorDef, expandClassAttributeDefWithTableviewDef, getEditorClassAttributeDef, getFieldInputTypeFromClassAttributeDefType, getFieldInputTypeFromColumnType, getTableviewClassAttributeDef, modifyEditorClassAttributeFieldEnum, modifyEditorClassAttributeFieldEnumUnsafe, modifyEditorClassAttributeFieldType, modifyEditorClassAttributeFieldTypeUnsafe, modifyEditorFieldLookup, modifyEditorFieldLookupUnsafe, modifyTableviewClassAttributeEnum, modifyTableviewClassAttributeEnumUnsafe, modifyTableviewClassAttributeType, modifyTableviewClassAttributeTypeUnsafe, modifyTableviewLookup, modifyTableviewLookupUnsafe, tableviewDataProviderFromClass, tableviewDescriptorFromClass, tableviewDescriptorFromClassAttrsDef, upsertEditorFieldFromAttributeDef };
374
- //# sourceMappingURL=mediusinc-mng-commons-tableview-api-class.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mediusinc-mng-commons-tableview-api-class.mjs","sources":["../../tableview/api/class/src/editor/class-editor-attribute-converter.ts","../../tableview/api/class/src/editor/class-editor-data-provider.factory.ts","../../tableview/api/class/src/editor/class-editor-descriptor-helpers.ts","../../tableview/api/class/src/editor/class-editor-descriptor.factory.ts","../../tableview/api/class/src/tableview/class-tableview-attribute-converter.ts","../../tableview/api/class/src/tableview/class-tableview-descriptor.factory.ts","../../tableview/api/class/src/tableview/class-tableview-descriptor-helpers.ts","../../tableview/api/class/src/tableview/class-tableview-data-provider.factory.ts","../../tableview/api/class/src/index.ts","../../tableview/api/class/src/mediusinc-mng-commons-tableview-api-class.ts"],"sourcesContent":["import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {FieldInputTypeEnum} from '@mediusinc/mng-commons/tableview/api';\n\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\n\n/**\n * converts string type to type enum, default is text\n * @param attributeType\n */\nexport function getFieldInputTypeFromClassAttributeDefType(attributeType: string): FieldInputTypeEnum {\n switch (attributeType) {\n case 'hidden':\n return FieldInputTypeEnum.Hidden;\n case 'label':\n return FieldInputTypeEnum.Label;\n case 'textarea':\n return FieldInputTypeEnum.Textarea;\n case 'number':\n return FieldInputTypeEnum.Number;\n case 'currency':\n return FieldInputTypeEnum.Currency;\n case 'switch':\n case 'boolean':\n return FieldInputTypeEnum.Switch;\n case 'radio':\n return FieldInputTypeEnum.Radio;\n case 'datepicker':\n return FieldInputTypeEnum.Datepicker;\n case 'mask':\n return FieldInputTypeEnum.Mask;\n case 'file':\n return FieldInputTypeEnum.File;\n case 'custom':\n return FieldInputTypeEnum.Custom;\n case 'text':\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\n/**\n * convert column type to equivalent field input type\n * @param type column type\n * @param displayType column display type\n */\nexport function getFieldInputTypeFromColumnType(type: ColumnTypeEnum, displayType?: ColumnDisplayTypeEnum): FieldInputTypeEnum {\n switch (type) {\n case ColumnTypeEnum.Number:\n return displayType === ColumnDisplayTypeEnum.Currency ? FieldInputTypeEnum.Currency : FieldInputTypeEnum.Number;\n case ColumnTypeEnum.Boolean:\n return FieldInputTypeEnum.Switch;\n case ColumnTypeEnum.Date:\n return FieldInputTypeEnum.Datepicker;\n case ColumnTypeEnum.Custom:\n return FieldInputTypeEnum.Custom;\n case ColumnTypeEnum.String:\n case ColumnTypeEnum.Enum:\n default:\n return FieldInputTypeEnum.Text;\n }\n}\n\nexport function expandClassAttributeDefWithEditorDef(attributes?: Array<ClassAttributeDef> | null): EditorClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const editorClassAttributeDef: EditorClassAttributeDef[] = [];\n for (const attribute of attributes) {\n editorClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n classType: typeRegistry.findType(attribute.type) as ClassType<any>,\n enumType: typeRegistry.findEnum(attribute.type) as EnumType\n });\n }\n\n return editorClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getEditorClassAttributeDef<T>(type: ClassType<T>): EditorClassAttributeDef[] {\n return expandClassAttributeDefWithEditorDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {EditorDataProviderInst} from '@mediusinc/mng-commons/tableview/api';\n\nexport function editorDataProviderFromClass<Model>(type: ClassType<Model>): EditorDataProviderInst<Model, undefined, undefined>;\nexport function editorDataProviderFromClass<Model, Service = any>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): EditorDataProviderInst<Model, Service, ServiceClassType<Service>>;\nexport function editorDataProviderFromClass<Model, Service = any, ServiceClass = ServiceClassType<Service>>(type: ClassType<Model>, serviceType?: ServiceClass) {\n return new EditorDataProviderInst<Model, Service, ServiceClass>(serviceType as ServiceClass);\n}\n","import {CommonsInternalError, EnumType, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {EnumDescriptor, enumModelGeneric} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor} from '@mediusinc/mng-commons/model/class';\nimport {getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api/class';\nimport {AFieldDescriptor, EditorDescriptorInst, FieldInputDescriptor, FieldInputTypeEnum, FieldLookupDescriptor} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getEditorClassAttributeDef, getFieldInputTypeFromColumnType} from './class-editor-attribute-converter';\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\n\n/**\n * Generates field based on attribute definition, used for auto model\n * @param descriptor Editor descriptor instance.\n * @param attribute Attribute definition.\n * @param field Optional, if defined will be replaced, otherwise new will be generated.\n * @param args Optional additional arguments mapped to filed type. Arguments depend on possible arguments on fields.\n * @internal\n */\nexport function upsertEditorFieldFromAttributeDef<T>(\n descriptor: EditorDescriptorInst<T, any>,\n attribute: EditorClassAttributeDef,\n field?: AFieldDescriptor<any, T>,\n ...args: any[]\n): AFieldDescriptor<any, T> {\n if (field == null) {\n field = descriptor.addFieldUnsafe(attribute.name);\n }\n\n if (field instanceof FieldInputDescriptor) {\n if (attribute.enumType) {\n return field.asRadioFromEnum(enumModelGeneric(attribute.enumType));\n } else {\n const tableColumnType = getColumnTypeFromClassAttributeDefType(attribute.type);\n const tableColumnDisplayType = getColumnDisplayTypeFromColumnType(tableColumnType, attribute.type);\n return field.asType(attribute.fieldType ?? getFieldInputTypeFromColumnType(tableColumnType, tableColumnDisplayType), ...args);\n }\n }\n\n return field;\n}\n\n/**\n * Modifies selected field by field property. For enums use {withFieldModifiedEnum} instead.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param fieldType new field type for selected field\n * @param args additional parameters for field\n */\nexport function modifyEditorClassAttributeFieldType<\n EditorModel,\n Property extends keyof EditorModel,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n fieldType: FieldInputTypeEnum,\n ...args: any[]\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n return modifyEditorClassAttributeFieldTypeUnsafe<EditorModel, FieldModel, FieldValue>(descriptor, property as string, fieldType, ...args);\n}\n\nexport function modifyEditorClassAttributeFieldTypeUnsafe<EditorModel, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n fieldType: FieldInputTypeEnum,\n ...args: any[]\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(attribute => attribute.name === property);\n if (attribute) {\n attribute.fieldType = fieldType;\n return upsertEditorFieldFromAttributeDef(\n descriptor,\n attribute,\n descriptor.fields.find(fi => fi.property === property),\n ...args\n );\n }\n\n return null;\n}\n\n/**\n * Modifies selected field with enum type.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param enumModel Enum descriptor.\n * @param values\n */\nexport function modifyEditorClassAttributeFieldEnum<\n EditorModel,\n Property extends keyof EditorModel,\n Enum extends NonNullable<EditorModel[Property]>,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n enumModel?: EnumDescriptor<Enum>,\n values?: Array<Enum>\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n return modifyEditorClassAttributeFieldEnumUnsafe<EditorModel, Enum, FieldModel, FieldValue>(descriptor, property as string, enumModel, values);\n}\n\nexport function modifyEditorClassAttributeFieldEnumUnsafe<EditorModel, Enum = any, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>,\n values?: Array<Enum>\n): AFieldDescriptor<FieldModel, EditorModel, FieldValue> | null {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attribute = getEditorClassAttributeDef(descriptor.model.classType).find(a => a.name === property);\n if (attribute) {\n attribute.fieldType = FieldInputTypeEnum.Radio;\n const field = descriptor.fields.find(f => f.property === property);\n if (field && field instanceof FieldInputDescriptor) {\n field.asRadioFromEnum(enumDesc ?? enumModelGeneric(TypeRegistry.get().findEnum(attribute.type) as EnumType), values);\n }\n return field ?? null;\n }\n\n return null;\n}\n\n/**\n * Modifies selected field with lookup field.\n * @param descriptor Editor descriptor.\n * @param property Model's property name.\n * @param lookupProvider provider to be added to field\n * @param titleProperty\n */\nexport function modifyEditorFieldLookup<\n EditorModel,\n Property extends keyof EditorModel,\n Service,\n FieldModel = NonNullable<EditorModel[Property]>,\n FieldValue = EditorModel[Property]\n>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: Property,\n lookupProvider: ILookupDataProvider<FieldModel, Service>,\n titleProperty?: keyof FieldModel\n): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n return modifyEditorFieldLookupUnsafe<EditorModel, Service, FieldModel, FieldValue>(descriptor, property as string, lookupProvider, titleProperty as string);\n}\n\nexport function modifyEditorFieldLookupUnsafe<EditorModel, Service, FieldModel = any, FieldValue = FieldModel>(\n descriptor: EditorDescriptorInst<EditorModel, any>,\n property: string,\n lookupProvider: ILookupDataProvider<FieldModel, Service>,\n titleProperty?: string\n): FieldLookupDescriptor<FieldModel, EditorModel, Service, FieldValue> {\n descriptor.removeFieldUnsafe(property);\n const field = descriptor.addFieldLookupUnsafe<FieldModel, Service, FieldValue>(property, {serviceProvider: lookupProvider}).asAutocomplete();\n\n if (titleProperty) {\n field.withOptionsLabelPropertyUnsafe(titleProperty);\n }\n\n return field;\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {EditorDescriptorCreateOptsType, EditorDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getEditorClassAttributeDef} from './class-editor-attribute-converter';\nimport {EditorClassAttributeDef} from './class-editor-attribute.model';\nimport {upsertEditorFieldFromAttributeDef} from './class-editor-descriptor-helpers';\n\nexport function editorDescriptorFromClass<EditorModel, ParentEditorModel = undefined>(\n type: ClassType<EditorModel>,\n opts?: EditorDescriptorCreateOptsType<EditorModel, ParentEditorModel>\n): EditorDescriptorInst<EditorModel, ParentEditorModel> {\n return new EditorDescriptorInst<EditorModel, ParentEditorModel>(modelClass<EditorModel>(type as ClassType<EditorModel>, opts), opts?.tableviewEditorType);\n}\n\n/**\n * Generates descriptor based on type attribute definition\n * @param type class type\n * @param attributes\n * @param opts\n */\nexport function editorDescriptorFromClassAttrsDef<EditorModel, ParentEditorModel = undefined>(\n type: ClassType<EditorModel>,\n attributes?: EditorClassAttributeDef[],\n opts?: EditorDescriptorCreateOptsType<EditorModel, ParentEditorModel>\n): EditorDescriptorInst<EditorModel, ParentEditorModel> {\n const descriptor = new EditorDescriptorInst<EditorModel, ParentEditorModel>(modelClass(type, opts), opts?.tableviewEditorType);\n (attributes ?? getEditorClassAttributeDef(type))\n .filter(attr => !attr.type.includes('Set') && !attr.type.includes('Array'))\n .forEach(attr => upsertEditorFieldFromAttributeDef(descriptor, attr));\n return descriptor;\n}\n","import {ClassAttributeDef, ClassType, CommonsInternalError, EnumType, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType} from '@mediusinc/mng-commons/table/api/class';\n\nimport {getFieldInputTypeFromClassAttributeDefType} from '../editor/class-editor-attribute-converter';\nimport {TableviewClassAttributeDef} from './class-tableview-attribute.model';\n\nexport function expandClassAttributeDefWithTableviewDef(attributes?: Array<ClassAttributeDef> | null): TableviewClassAttributeDef[] {\n if (!attributes) {\n throw new CommonsInternalError('Class attribute definition is null, problem with TypeRegistry::findAttributesDefinitionByClassType?', {name: 'TableviewUtilsError'});\n }\n\n const typeRegistry = TypeRegistry.get();\n const tableClassAttributeDef: TableviewClassAttributeDef[] = [];\n for (const attribute of attributes) {\n const enumType = typeRegistry.findEnum(attribute.type);\n const columnType = enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type);\n tableClassAttributeDef.push({\n name: attribute.name,\n baseName: attribute.baseName,\n type: attribute.type,\n subtype: attribute.subtype,\n columnType: enumType ? ColumnTypeEnum.Enum : getColumnTypeFromClassAttributeDefType(attribute.type),\n columnDisplayType: getColumnDisplayTypeFromColumnType(columnType, attribute.type),\n fieldType: getFieldInputTypeFromClassAttributeDefType(attribute.type),\n enumType: typeRegistry.findEnum(attribute.type) as EnumType,\n classType: typeRegistry.findType(attribute.type) as ClassType<any>\n });\n }\n\n return tableClassAttributeDef;\n}\n\n/**\n * returns attributes from class type and extends to typed def with column and field enum type\n * @param type class type\n */\nexport function getTableviewClassAttributeDef<T>(type: ClassType<T>): TableviewClassAttributeDef[] {\n return expandClassAttributeDefWithTableviewDef(TypeRegistry.get().findAttributesDefinitionByClassType(type));\n}\n","import {ClassType} from '@mediusinc/mng-commons/core';\nimport {ModelDescriptor, TypeDescriptor} from '@mediusinc/mng-commons/model';\nimport {modelClass} from '@mediusinc/mng-commons/model/class';\nimport {tableDescriptorFromClassAttrsDef} from '@mediusinc/mng-commons/table/api/class';\nimport {\n EditorDescriptorInst,\n TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType,\n TableviewDescriptorInst,\n TableviewEditorTypeEnum\n} from '@mediusinc/mng-commons/tableview/api';\n\nimport {editorDescriptorFromClassAttrsDef} from '../editor/class-editor-descriptor.factory';\nimport {TableviewClassAttributeDef} from './class-tableview-attribute.model';\n\nexport function tableviewDescriptorFromClass<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel, ParentEditorModel = undefined>(\n type: ClassType<TableviewModel>,\n opts?: TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType<TableviewModel>\n): TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel> {\n return new TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel>(modelClass<TableviewModel>(type as ClassType<TableviewModel>, opts));\n}\n\n/**\n * generates descriptor based on type attribute definition\n * @param type class type\n * @param columnAttributes\n * @param fieldAttributes\n * @param opts\n */\nexport function tableviewDescriptorFromClassAttrsDef<TableviewModel, Sorts = keyof TableviewModel, Filters = keyof TableviewModel, ParentEditorModel = undefined>(\n type: ClassType<TableviewModel>,\n columnAttributes?: TableviewClassAttributeDef[],\n fieldAttributes?: TableviewClassAttributeDef[] | null,\n opts?: TableviewDescriptorCreateMultiModelWithModelDescriptorOptsType<TableviewModel, Sorts, Filters, ParentEditorModel>\n): TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel> {\n const model = modelClass(type, opts);\n const descriptor = new TableviewDescriptorInst<TableviewModel, Sorts, Filters, ParentEditorModel>(model);\n descriptor.withTableDescriptor(tableDescriptorFromClassAttrsDef<TableviewModel, Sorts, Filters>(type, columnAttributes, opts));\n\n if (fieldAttributes !== null) {\n const editorOpts = {\n ...opts,\n parentEditorType: opts?.parentEditorType as TypeDescriptor<ParentEditorModel> | ModelDescriptor<ParentEditorModel> | EditorDescriptorInst<ParentEditorModel, any>\n };\n\n descriptor.withEditDescriptor(\n editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {\n ...editorOpts,\n tableviewEditorType: TableviewEditorTypeEnum.Edit\n })\n );\n descriptor.withDetailsDescriptor(\n editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Details}).withDisabled()\n );\n descriptor.withAddDescriptor(\n editorDescriptorFromClassAttrsDef(type, fieldAttributes ?? columnAttributes, {...editorOpts, tableviewEditorType: TableviewEditorTypeEnum.Add})\n );\n }\n\n return descriptor;\n}\n","import {ClassType, CommonsInternalError, ILookupDataProvider, TypeRegistry} from '@mediusinc/mng-commons/core';\nimport {EnumDescriptor} from '@mediusinc/mng-commons/model';\nimport {ModelClassDescriptor, findClassTitleAttribute} from '@mediusinc/mng-commons/model/class';\nimport {ColumnDisplayTypeEnum, ColumnTypeEnum} from '@mediusinc/mng-commons/table/api';\nimport {modifyTableClassAttributeColumnTypeUnsafe, modifyTableColumnFilterLookupUnsafe, tableDescriptorModifyEnumColumnUnsafe} from '@mediusinc/mng-commons/table/api/class';\nimport {FieldInputTypeEnum, TableviewDescriptorInst} from '@mediusinc/mng-commons/tableview/api';\n\nimport {getFieldInputTypeFromColumnType} from '../editor/class-editor-attribute-converter';\nimport {modifyEditorClassAttributeFieldEnumUnsafe, modifyEditorClassAttributeFieldTypeUnsafe, modifyEditorFieldLookupUnsafe} from '../editor/class-editor-descriptor-helpers';\nimport {getTableviewClassAttributeDef} from './class-tableview-attribute-converter';\n\n/**\n * creates column and field with custom type, for example currency\n * if field exists, it is replaced\n * DO NOT USE WITH TYPES WHERE ARGS ARE REQUIRED - ERROR WILL BE THROWN\n * for enum use withEnumType\n * for custom class use withClassType\n * @param descriptor Tableview descriptor\n * @param property name of field\n * @param columnType required column type\n * @param fieldType optional, if not provided it is converted from column type\n * @param columnDisplayType optional\n */\nexport function modifyTableviewClassAttributeType<TableviewModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: keyof TableviewModel,\n columnType: ColumnTypeEnum,\n fieldType?: FieldInputTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum\n): boolean {\n return modifyTableviewClassAttributeTypeUnsafe(descriptor, property as string, columnType, fieldType, columnDisplayType);\n}\n\nexport function modifyTableviewClassAttributeTypeUnsafe<TableviewModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n columnType: ColumnTypeEnum,\n fieldType?: FieldInputTypeEnum,\n columnDisplayType?: ColumnDisplayTypeEnum\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n if (columnType === ColumnTypeEnum.Enum) {\n throw new CommonsInternalError('Do not use with types where args are required', {name: 'TableviewDescriptorError'});\n }\n\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n fieldType ??= getFieldInputTypeFromColumnType(columnType, columnDisplayType);\n attributeDef.fieldType = fieldType;\n modifyTableClassAttributeColumnTypeUnsafe(descriptor.table, property, columnType, columnDisplayType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.editEditor, property, fieldType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.addEditor, property, fieldType);\n modifyEditorClassAttributeFieldTypeUnsafe(descriptor.detailsEditor, property, fieldType);\n return true;\n }\n\n return false;\n}\n\n/**\n * creates column with enum type\n * if fields exists, it is replaced\n * @param descriptor Tableview descriptor\n * @param property property name\n * @param enumDesc type of enum\n * @param fieldType type of field, optional, default is Text\n */\nexport function modifyTableviewClassAttributeEnum<TableviewModel, Property extends keyof TableviewModel, Enum extends NonNullable<TableviewModel[Property]>>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: Property,\n enumDesc?: EnumDescriptor<Enum>,\n fieldType?: FieldInputTypeEnum\n): boolean {\n return modifyTableviewClassAttributeEnumUnsafe<TableviewModel, Enum>(descriptor, property as string, enumDesc, fieldType);\n}\n\nexport function modifyTableviewClassAttributeEnumUnsafe<TableviewModel, Enum = any>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n enumDesc?: EnumDescriptor<Enum>,\n fieldType?: FieldInputTypeEnum\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n attributeDef.fieldType = fieldType ?? FieldInputTypeEnum.Text;\n tableDescriptorModifyEnumColumnUnsafe(descriptor.table, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.editEditor, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.addEditor, property, enumDesc);\n modifyEditorClassAttributeFieldEnumUnsafe(descriptor.detailsEditor, property, enumDesc);\n return true;\n }\n\n return false;\n}\n\n/**\n * generates column with custom class type\n * field is generated only if lookupProvider is provided\n * @param descriptor Tableview descriptor\n * @param property property name\n * @param type class type of object\n * @param titleProperty\n * @param lookupProvider\n * @param optionsLabelProperty\n * @param filterProperty\n */\nexport function modifyTableviewLookup<TableviewModel, Property extends keyof TableviewModel, LookupModel = NonNullable<TableviewModel[Property]>>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: Property,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: keyof LookupModel,\n optionsLabelProperty?: keyof LookupModel,\n filterProperty?: keyof LookupModel\n): boolean {\n return modifyTableviewLookupUnsafe(descriptor, property as string, type, lookupProvider, titleProperty as string, optionsLabelProperty as string, filterProperty as string);\n}\n\nexport function modifyTableviewLookupUnsafe<TableviewModel, LookupModel>(\n descriptor: TableviewDescriptorInst<TableviewModel, any, any>,\n property: string,\n type?: ClassType<LookupModel>,\n lookupProvider?: ILookupDataProvider<LookupModel>,\n titleProperty?: string,\n optionsLabelProperty?: string,\n filterProperty?: string\n): boolean {\n if (!(descriptor.model instanceof ModelClassDescriptor)) {\n throw new CommonsInternalError(`withFieldModifiedType cannot be executed for property ${property}: Model descriptor is not of type 'ModelClassDescriptor' is not defined.`);\n }\n\n const attributeDef = getTableviewClassAttributeDef(descriptor.model.classType).find(attr => attr.name === property);\n\n if (attributeDef != null) {\n type ??= attributeDef.classType ?? TypeRegistry.get().findType(attributeDef.type);\n titleProperty ??= type ? (findClassTitleAttribute(type) ?? undefined) : undefined;\n optionsLabelProperty ??= titleProperty;\n attributeDef.columnType = ColumnTypeEnum.String;\n attributeDef.fieldType = FieldInputTypeEnum.Text;\n\n if (lookupProvider != null) {\n modifyTableColumnFilterLookupUnsafe(descriptor.table, property, lookupProvider, optionsLabelProperty, filterProperty);\n modifyEditorFieldLookupUnsafe(descriptor.addEditor, property, lookupProvider, optionsLabelProperty);\n modifyEditorFieldLookupUnsafe(descriptor.detailsEditor, property, lookupProvider, optionsLabelProperty);\n modifyEditorFieldLookupUnsafe(descriptor.editEditor, property, lookupProvider, optionsLabelProperty);\n return true;\n } else {\n const column = descriptor.table.getColumnUnsafe(property) ?? descriptor.addColumnUnsafe(property);\n if (titleProperty) {\n column.withGetter(value => value?.[titleProperty as keyof object]);\n }\n return true;\n }\n }\n\n return false;\n}\n","import {ClassType, ServiceClassType} from '@mediusinc/mng-commons/core';\nimport {TableviewDataProviderInst} from '@mediusinc/mng-commons/tableview/api';\n\nexport function tableviewDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>\n): TableviewDataProviderInst<Model, undefined, Sorts, Filters, undefined>;\nexport function tableviewDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(\n type: ClassType<Model>,\n serviceType: ServiceClassType<Service>\n): TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>>;\nexport function tableviewDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ServiceClass = ServiceClassType<Service>>(\n type: ClassType<Model>,\n serviceType?: ServiceClass\n) {\n return new TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClass>(serviceType as ServiceClass);\n}\n","// editor\nexport * from './editor/class-editor-attribute.model';\nexport * from './editor/class-editor-attribute-converter';\nexport * from './editor/class-editor-data-provider.factory';\nexport * from './editor/class-editor-descriptor.factory';\nexport * from './editor/class-editor-descriptor-helpers';\n\n// tableview\nexport * from './tableview/class-tableview-attribute.model';\nexport * from './tableview/class-tableview-attribute-converter';\nexport * from './tableview/class-tableview-descriptor.factory';\nexport * from './tableview/class-tableview-descriptor-helpers';\nexport * from './tableview/class-tableview-data-provider.factory';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- # @mediusinc/mng-commons/model/class
2
-
3
- Secondary entry point of `@mediusinc/mng-commons`. It can be used by importing from `@mediusinc/mng-commons/model/class`.
4
-
5
- ## Dependencies within commons
6
-
7
- - `@mediusinc/mng-commons/core`
8
- - `@mediusinc/mng-commons/model`
@@ -1,10 +0,0 @@
1
- # @mediusinc/mng-commons/table/api
2
-
3
- Secondary entry point of `@mediusinc/mng-commons`. It can be used by importing from `@mediusinc/mng-commons/table/api/class`.
4
-
5
- ## Dependencies within commons
6
-
7
- - `@mediusinc/mng-commons/core`
8
- - `@mediusinc/mng-commons/model`
9
- - `@mediusinc/mng-commons/model/class`
10
- - `@mediusinc/mng-commons/table/api`
@@ -1,13 +0,0 @@
1
- # @mediusinc/mng-commons/tableview/api
2
-
3
- Secondary entry point of `@mediusinc/mng-commons`. It can be used by importing from `@mediusinc/mng-commons/tableview/api/class`.
4
-
5
- ## Dependencies within commons
6
-
7
- - `@mediusinc/mng-commons/core`
8
- - `@mediusinc/mng-commons/model`
9
- - `@mediusinc/mng-commons/model/class`
10
- - `@mediusinc/mng-commons/filter`
11
- - `@mediusinc/mng-commons/form/api`
12
- - `@mediusinc/mng-commons/table/api`
13
- - `@mediusinc/mng-commons/tableview/api`
@@ -1,25 +0,0 @@
1
- import { ClassType, DataProviderInst, ServiceClassType, IModelDescriptor, ClassAttributeDef } from '@mediusinc/mng-commons/core';
2
- import { ModelDescriptor, ModelDescriptorCreateOpts, TypeDescriptor } from '@mediusinc/mng-commons/model';
3
-
4
- declare function dataProviderFromClass<Model>(type: ClassType<Model>): DataProviderInst<Model, undefined, undefined>;
5
- declare function dataProviderFromClass<Model, Service = any>(type: ClassType<Model>, ServiceClass: ServiceClassType<Service>): DataProviderInst<Model, Service, ServiceClassType<Service>>;
6
-
7
- declare class ModelClassDescriptor<Model> extends ModelDescriptor<Model> implements IModelDescriptor<Model> {
8
- private readonly _classType;
9
- constructor(_type: ClassType<Model>, idProperty?: string, titleProperty?: string | ((item: Model) => string), i18nBaseKey?: string);
10
- get classType(): ClassType<Model>;
11
- copy(): ModelClassDescriptor<Model>;
12
- }
13
- type ModelClassDescriptorCreateOpts<Model> = Omit<ModelDescriptorCreateOpts<Model>, 'i18nBase'> & {
14
- i18nBase?: string | ClassType<unknown>;
15
- };
16
- declare function modelClass<Model>(type: ClassType<Model>, opts?: ModelClassDescriptorCreateOpts<Model>): ModelClassDescriptor<Model>;
17
-
18
- declare function typeFromClass<Type>(type: ClassType<Type>): TypeDescriptor<Type>;
19
-
20
- declare function findClassIdAttribute<T>(classType?: ClassType<T>): string | null;
21
- declare function findClassTitleAttribute<T>(classType?: ClassType<T>): string | null;
22
- declare function getClassAttributeDef<T>(classType?: ClassType<T>): ClassAttributeDef[] | null;
23
-
24
- export { ModelClassDescriptor, dataProviderFromClass, findClassIdAttribute, findClassTitleAttribute, getClassAttributeDef, modelClass, typeFromClass };
25
- export type { ModelClassDescriptorCreateOpts };
@@ -1,77 +0,0 @@
1
- import { ClassAttributeDef, EnumType, ClassType, ServiceClassType, ILookupDataProvider } from '@mediusinc/mng-commons/core';
2
- import { ColumnTypeEnum, ColumnDisplayTypeEnum, TableDataProviderInst, TableDescriptorCreateOptsType, TableDescriptorInst, ColumnDescriptor } from '@mediusinc/mng-commons/table/api';
3
- import { FilterLookupDescriptor } from '@mediusinc/mng-commons/filter';
4
- import { EnumDescriptor } from '@mediusinc/mng-commons/model';
5
-
6
- interface TableClassAttributeDef extends ClassAttributeDef {
7
- columnType: ColumnTypeEnum;
8
- columnDisplayType: ColumnDisplayTypeEnum;
9
- enumType?: EnumType;
10
- classType?: ClassType<any>;
11
- }
12
-
13
- /**
14
- * converts string type to column type enum, default is string
15
- * @param attributeType
16
- */
17
- declare function getColumnTypeFromClassAttributeDefType(attributeType: string): ColumnTypeEnum;
18
- declare function getColumnDisplayTypeFromColumnType(columnType: ColumnTypeEnum, attributeType: string): ColumnDisplayTypeEnum;
19
- declare function expandClassAttributeDefWithTableDef(attributes?: Array<ClassAttributeDef> | null): TableClassAttributeDef[];
20
- /**
21
- * returns attributes from class type and extends to typed def with column and field enum type
22
- * @param type class type
23
- */
24
- declare function getTableClassAttributeDef<T>(type: ClassType<T>): TableClassAttributeDef[];
25
-
26
- declare function tableDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>): TableDataProviderInst<Model, undefined, Sorts, Filters, undefined>;
27
- declare function tableDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): TableDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>>;
28
-
29
- declare function tableDescriptorFromClass<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(type: ClassType<TableModel>, opts?: TableDescriptorCreateOptsType<TableModel, Sorts, Filters>): TableDescriptorInst<TableModel, Sorts, Filters>;
30
- /**
31
- * generates descriptor based on type attribute definition
32
- * @param type class type
33
- * @param attributes
34
- * @param opts
35
- */
36
- declare function tableDescriptorFromClassAttrsDef<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(type: ClassType<TableModel>, attributes?: TableClassAttributeDef[], opts?: TableDescriptorCreateOptsType<TableModel, Sorts, Filters>): TableDescriptorInst<TableModel, Sorts, Filters>;
37
-
38
- /**
39
- * generates column based on attributes
40
- * @param desc Table descriptor
41
- * @param attribute attribute map
42
- * @param column if provided, replaced by new, otherwise new is created
43
- * @param args additional parameters
44
- */
45
- declare function upsertTableColumnFromAttributeDef<ColumnModel, TableModel>(desc: TableDescriptorInst<TableModel, any, any>, attribute: TableClassAttributeDef, column?: ColumnDescriptor<ColumnModel, TableModel>, ...args: any[]): ColumnDescriptor<ColumnModel, TableModel>;
46
- /**
47
- * defines modified type of column
48
- * DO NOT USE with enum (use withCustomEnumType)
49
- * @param descriptor table descriptor
50
- * @param property column name
51
- * @param columnType modified type
52
- * @param args additional attributes
53
- * @param columnDisplayType
54
- */
55
- declare function modifyTableClassAttributeColumnType<TableModel, Property extends keyof TableModel, ColumnModel = NonNullable<TableModel[Property]>, ColumnValue = TableModel[Property]>(descriptor: TableDescriptorInst<TableModel, any, any>, property: Property, columnType?: ColumnTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum, ...args: any[]): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null;
56
- declare function modifyTableClassAttributeColumnTypeUnsafe<TableModel, ColumnModel = any, ColumnValue = ColumnModel>(descriptor: TableDescriptorInst<TableModel, any, any>, property: string, columnType?: ColumnTypeEnum, columnDisplayType?: ColumnDisplayTypeEnum, ...args: any[]): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null;
57
- /**
58
- * defines custom enum type for column
59
- * @param descriptor table descriptor
60
- * @param property column name
61
- * @param enumDesc Enum descriptor.
62
- */
63
- declare function modifyTableClassAttributeColumnEnum<TableModel, Property extends keyof TableModel, Enum extends NonNullable<TableModel[Property]>, ColumnModel = NonNullable<TableModel[Property]>, ColumnValue = TableModel[Property]>(descriptor: TableDescriptorInst<TableModel, any, any>, property: Property, enumDesc?: EnumDescriptor<Enum>): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null;
64
- declare function tableDescriptorModifyEnumColumnUnsafe<TableModel, Enum = any, ColumnModel = any, ColumnValue = ColumnModel>(descriptor: TableDescriptorInst<TableModel, any, any>, property: string, enumDesc?: EnumDescriptor<Enum>): ColumnDescriptor<ColumnModel, TableModel, ColumnValue> | null;
65
- /**
66
- * modifies column with class and lookup provider
67
- * @param descriptor table descriptor
68
- * @param property column name
69
- * @param lookupProvider lookupProvider for class
70
- * @param optionsLabelProperty
71
- * @param filterProperty
72
- */
73
- declare function modifyTableColumnFilterLookup<TableModel, Property extends keyof TableModel, Service, ColumnModel = NonNullable<TableModel[Property]>>(descriptor: TableDescriptorInst<TableModel, any, any>, property: Property, lookupProvider?: ILookupDataProvider<ColumnModel, any>, optionsLabelProperty?: keyof ColumnModel, filterProperty?: keyof ColumnModel): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null;
74
- declare function modifyTableColumnFilterLookupUnsafe<TableModel, Service, ColumnModel>(descriptor: TableDescriptorInst<TableModel, any, any>, property: string, lookupProvider?: ILookupDataProvider<ColumnModel, Service>, optionsLabelProperty?: string, filterProperty?: string): FilterLookupDescriptor<ColumnModel, TableModel, Service> | null;
75
-
76
- export { expandClassAttributeDefWithTableDef, getColumnDisplayTypeFromColumnType, getColumnTypeFromClassAttributeDefType, getTableClassAttributeDef, modifyTableClassAttributeColumnEnum, modifyTableClassAttributeColumnType, modifyTableClassAttributeColumnTypeUnsafe, modifyTableColumnFilterLookup, modifyTableColumnFilterLookupUnsafe, tableDataProviderFromClass, tableDescriptorFromClass, tableDescriptorFromClassAttrsDef, tableDescriptorModifyEnumColumnUnsafe, upsertTableColumnFromAttributeDef };
77
- export type { TableClassAttributeDef };