@mediusinc/mng-commons-data-api 6.2.0-rc.0 → 7.0.0-rc.0
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.
- package/fesm2022/mediusinc-mng-commons-data-api-tableview.mjs +4 -4
- package/fesm2022/mediusinc-mng-commons-data-api-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-data-api.mjs.map +1 -1
- package/index.d.ts +234 -5
- package/package.json +3 -3
- package/tableview/index.d.ts +510 -6
- package/version-info.json +5 -5
- package/lib/helpers/get-all-params.d.ts +0 -93
- package/lib/models/api-version.model.d.ts +0 -9
- package/lib/models/request-params.model.d.ts +0 -67
- package/lib/models/schema.model.d.ts +0 -31
- package/lib/types/extract-get-all-types.type.d.ts +0 -30
- package/tableview/filter/generic-filters.d.ts +0 -55
- package/tableview/helpers/lookup-get-all-create.d.ts +0 -29
- package/tableview/helpers/tableview-get-all-params-create.d.ts +0 -54
- package/tableview/schema/columns-from-schema.d.ts +0 -122
- package/tableview/schema/enum-from-schema.d.ts +0 -12
- package/tableview/schema/fields-from-schema.d.ts +0 -248
- package/tableview/schema/internal/common-from-schema.d.ts +0 -1
package/tableview/index.d.ts
CHANGED
|
@@ -1,6 +1,510 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { SchemaModel, SchemaEnum, SchemaProperty, GetAllHttpResponseType, ExtractGetAllParamsFilterType, ApiServiceGetAllFilterType, ExtractGetAllParamsSortType, ExtractServiceGetAllDataType, GetAllParamsDefaultWoFiltersType } from '@mediusinc/mng-commons-data-api';
|
|
2
|
+
import * as _mediusinc_mng_commons_core from '@mediusinc/mng-commons/core';
|
|
3
|
+
import { GetterFn, ArrayItemType, ClassFunctionKeysWithAnyArgsAndReturnType, ServiceClassType, FilterMatchModeExtendedType, DataListSort, ItemOrObservable, ClassFunctionKeysWithReturnType, ClassFunctionKeysWithParamAndReturnType } from '@mediusinc/mng-commons/core';
|
|
4
|
+
import { EnumDescriptor, ModelDescriptor, TypeDescriptor } from '@mediusinc/mng-commons/model';
|
|
5
|
+
import { TableDescriptorInst, ColumnDescriptor, ITableDataProvider } from '@mediusinc/mng-commons/table/api';
|
|
6
|
+
import * as _mediusinc_mng_commons_tableview_api from '@mediusinc/mng-commons/tableview/api';
|
|
7
|
+
import { TableviewDescriptorInst, TableviewDescriptorFieldsManageMultiType, EditorDescriptorInst, FieldInputDescriptor, FieldLookupEnumDescriptor, FieldLookupProviderType, FieldManyEditorDescriptor, FieldManyToManyEditorDescriptor, AFieldDescriptor, TableviewInputBuilder, TableviewDataProviderInst, TableviewDescriptorInstConstructorOpts } from '@mediusinc/mng-commons/tableview/api';
|
|
8
|
+
import { Observable, OperatorFunction } from 'rxjs';
|
|
9
|
+
import { LookupDataProviderInst } from '@mediusinc/mng-commons/form/api';
|
|
10
|
+
import { Type } from '@angular/core';
|
|
11
|
+
import { FilterNumberOptsType, FilterDateOptsType, FilterTypeEnum, FilterGenericProperty } from '@mediusinc/mng-commons/filter';
|
|
12
|
+
|
|
13
|
+
type ColumnType = 'number' | 'currency' | 'boolean' | 'string' | 'text' | 'textarea' | 'date' | 'date-time' | 'enum' | 'object';
|
|
14
|
+
type ColumnFromSchemaCommonOptsType<Model> = {
|
|
15
|
+
currencyProperty?: keyof Model;
|
|
16
|
+
currency?: string;
|
|
17
|
+
currencyDisplay?: 'symbol' | 'code' | 'name';
|
|
18
|
+
dateFormat?: string;
|
|
19
|
+
dateTimeFormat?: string;
|
|
20
|
+
numberMinIntegerDigits?: number;
|
|
21
|
+
numberMinFractionDigits?: number;
|
|
22
|
+
numberMaxFractionDigits?: number;
|
|
23
|
+
};
|
|
24
|
+
type ColumnsFromSchemaOptsType<Model = any> = ColumnFromSchemaCommonOptsType<Model> & {
|
|
25
|
+
columnTypes?: Partial<Record<keyof Model, ColumnType>>;
|
|
26
|
+
enumModels?: Partial<Record<keyof Model, EnumDescriptor<any>>>;
|
|
27
|
+
enumSchemas?: Partial<Record<keyof Model, SchemaEnum<any>>>;
|
|
28
|
+
getters?: {
|
|
29
|
+
[K in keyof Model]?: GetterFn<Model[K], Model>;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
type ColumnFromSchemaOptsType<Column = any, Model = any, Enum = any> = ColumnFromSchemaCommonOptsType<Model> & {
|
|
33
|
+
columnType?: ColumnType;
|
|
34
|
+
getter?: GetterFn<Column, Model>;
|
|
35
|
+
enumModel?: EnumDescriptor<Enum>;
|
|
36
|
+
enumSchema?: SchemaEnum<Enum>;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* <em>Experimental:</em> Builder for adding columns to table.
|
|
40
|
+
*
|
|
41
|
+
* @experimental
|
|
42
|
+
*/
|
|
43
|
+
declare class SchemaColumnsBuilder<Model, SchModel = Model> {
|
|
44
|
+
private readonly descriptor;
|
|
45
|
+
private readonly schema;
|
|
46
|
+
private opts?;
|
|
47
|
+
constructor(descriptor: TableviewDescriptorInst<Model, any, any, any> | TableDescriptorInst<Model, any, any>, schema: SchemaModel<SchModel>, opts?: ColumnsFromSchemaOptsType<SchModel> | undefined);
|
|
48
|
+
private mergeColumnsOpts;
|
|
49
|
+
private mergeColumnOpts;
|
|
50
|
+
/**
|
|
51
|
+
* <em>Experimental:</em> Adds a single column via {addColumnFromSchema}.
|
|
52
|
+
*
|
|
53
|
+
* @experimental
|
|
54
|
+
*
|
|
55
|
+
* @param {Property} property - The property to add the column for.
|
|
56
|
+
* @param {ColumnFromSchemaOptsType<SchModel[Property], SchModel, any, Model>} opts - Additional options.
|
|
57
|
+
*
|
|
58
|
+
* @return {ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>} The added column descriptor.
|
|
59
|
+
*/
|
|
60
|
+
add<Property extends Extract<keyof Model, keyof SchModel>>(property: Property, opts?: ColumnFromSchemaOptsType<SchModel[Property], SchModel, any>): ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>;
|
|
61
|
+
/**
|
|
62
|
+
* <em>Experimental:</em> Adds all columns from the non-array schema properties via {addColumnFromSchema}.
|
|
63
|
+
*
|
|
64
|
+
* @experimental
|
|
65
|
+
*
|
|
66
|
+
* @param {ColumnsFromSchemaOptsType<SchModel>} opts - Additional options.
|
|
67
|
+
*
|
|
68
|
+
* @return {this} - The current instance of the builder.
|
|
69
|
+
*/
|
|
70
|
+
withAddAll(opts?: ColumnsFromSchemaOptsType<SchModel>): this;
|
|
71
|
+
/**
|
|
72
|
+
* <em>Experimental:</em> Adds columns for properties via {addColumnFromSchema}.
|
|
73
|
+
*
|
|
74
|
+
* @experimental
|
|
75
|
+
*
|
|
76
|
+
* @param {ColumnsFromSchemaOptsType<SchModel>} opts - Additional options.
|
|
77
|
+
* @param {...Property[]} properties - Properties to add columns for. If non provided, all non-array properties from schema will be added.
|
|
78
|
+
*
|
|
79
|
+
* @return {this} - The current instance of the builder.
|
|
80
|
+
*/
|
|
81
|
+
withAdd<Property extends Extract<keyof Model, keyof SchModel>>(opts: ColumnsFromSchemaOptsType<SchModel>, ...properties: Property[]): this;
|
|
82
|
+
/**
|
|
83
|
+
* <em>Experimental:</em> Adds columns for properties via {addColumnFromSchema}.
|
|
84
|
+
*
|
|
85
|
+
* @experimental
|
|
86
|
+
*
|
|
87
|
+
* @param {...Property[]} properties - Properties to add columns for. If non provided, all non-array properties from schema will be added.
|
|
88
|
+
*
|
|
89
|
+
* @return {this} - The current instance of the builder.
|
|
90
|
+
*/
|
|
91
|
+
withAdd<Property extends Extract<keyof Model, keyof SchModel>>(...properties: Property[]): this;
|
|
92
|
+
/**
|
|
93
|
+
* <em>Experimental:</em> Adds a single column via {addColumnFromSchema} where property schema is manually provided.
|
|
94
|
+
*
|
|
95
|
+
* @experimental
|
|
96
|
+
*
|
|
97
|
+
* @param {Property} property - The property to add the column for.
|
|
98
|
+
* @param {SchemaProperty} schemaProperty - Manually provided schema property.
|
|
99
|
+
* @param {ColumnFromSchemaOptsType} opts - Additional options.
|
|
100
|
+
*
|
|
101
|
+
* @return {ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>} The added column descriptor.
|
|
102
|
+
*/
|
|
103
|
+
addFromSchema<Property extends keyof Model>(property: Property, schemaProperty: SchemaProperty, opts?: ColumnFromSchemaOptsType<Model[Property], Model>): ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>;
|
|
104
|
+
private addColumns;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* <em>Experimental:</em> Creates builder for adding columns to descriptor based on provided model schema.
|
|
108
|
+
*
|
|
109
|
+
* @experimental
|
|
110
|
+
*
|
|
111
|
+
* @param {TableviewDescriptorInst<Model, any, any, any> | TableDescriptorInst<Model, any, any>} descriptor - Descriptor to add columns to.
|
|
112
|
+
* @param {SchemaModel<SchModel>} schema - The schema with metadata about properties for fields.
|
|
113
|
+
* @param {ColumnsFromSchemaOptsType<SchModel>} [opts] - Additional options.
|
|
114
|
+
*
|
|
115
|
+
* @return {SchemaColumnsBuilder<Model, SchModel>} - The column schema builder instance.
|
|
116
|
+
*/
|
|
117
|
+
declare function columnsFromSchema<Model, SchModel = Model>(descriptor: TableviewDescriptorInst<any, any, any, any, Model, any, any, any> | TableDescriptorInst<Model, any, any>, schema: SchemaModel<SchModel>, opts?: ColumnsFromSchemaOptsType<SchModel>): SchemaColumnsBuilder<Model, SchModel>;
|
|
118
|
+
/**
|
|
119
|
+
* <em>Experimental:</em> Adds a column to table descriptor based on the given schema property and options.
|
|
120
|
+
*
|
|
121
|
+
* @param {TableviewDescriptorInst<Model, any, any, any> | TableDescriptorInst<Model, any, any>} descriptor - The table view descriptor or table descriptor to add the column to.
|
|
122
|
+
* @param {Property} property - The property key of the model to create the column for.
|
|
123
|
+
* @param {SchemaProperty} propertySchema - The schema property for the property.
|
|
124
|
+
* @param {ColumnFromSchemaOptsType<Model[Property], Model, any, Model>} [opts] - The options for the column.
|
|
125
|
+
*
|
|
126
|
+
* @return {ColumnDescriptor<NonNullable<Model[Property]>, Model, Model[Property]>} - The added column descriptor.
|
|
127
|
+
*/
|
|
128
|
+
declare function addColumnFromSchema<Property extends keyof TableModel, Model, TableModel = Model>(descriptor: TableviewDescriptorInst<Model, any, any, any, TableModel, any, any, any> | TableDescriptorInst<TableModel, any, any>, property: Property, propertySchema: SchemaProperty, opts?: ColumnFromSchemaOptsType<TableModel[Property], TableModel, any>): ColumnDescriptor<NonNullable<TableModel[Property]>, TableModel, TableModel[Property]>;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* <em>Experimental:</em> Emulates an enum model object from enum schema.
|
|
132
|
+
*
|
|
133
|
+
* @experimental
|
|
134
|
+
*
|
|
135
|
+
* @param {SchemaEnum<Enum>} enumSchema - The schema of the enum.
|
|
136
|
+
*
|
|
137
|
+
* @returns {EnumDescriptor<Enum>} - The generated enum model descriptor.
|
|
138
|
+
*/
|
|
139
|
+
declare function enumModelFromSchema<Enum>(enumSchema: SchemaEnum<Enum>): EnumDescriptor<Enum>;
|
|
140
|
+
|
|
141
|
+
type FieldInputType = 'number' | 'currency' | 'boolean' | 'string' | 'text' | 'textarea' | 'date' | 'date-time' | 'enum' | 'hidden';
|
|
142
|
+
type FromSchemaCommonOptsType<Model> = {
|
|
143
|
+
dateFormat?: string;
|
|
144
|
+
dateTimeFormat?: string;
|
|
145
|
+
textareaRows?: number;
|
|
146
|
+
numberUseGrouping?: boolean;
|
|
147
|
+
numberStep?: number;
|
|
148
|
+
numberMinFractionDigits?: number;
|
|
149
|
+
numberMaxFractionDigits?: number;
|
|
150
|
+
currency?: string;
|
|
151
|
+
currencyProperty?: keyof Model;
|
|
152
|
+
currencyDisplay?: 'symbol' | 'code' | 'name';
|
|
153
|
+
};
|
|
154
|
+
type FieldsFromSchemaOptsType<Model = any> = FromSchemaCommonOptsType<Model> & {
|
|
155
|
+
fieldTypes?: Partial<Record<keyof Model, FieldInputType>>;
|
|
156
|
+
enumModels?: Partial<Record<keyof Model, EnumDescriptor<any>>>;
|
|
157
|
+
enumSchemas?: Partial<Record<keyof Model, SchemaEnum<any>>>;
|
|
158
|
+
};
|
|
159
|
+
type FieldInputFromSchemaOptsType<Model = any, Enum = any> = FromSchemaCommonOptsType<Model> & {
|
|
160
|
+
fieldType?: FieldInputType;
|
|
161
|
+
enumSchema?: SchemaEnum<Enum>;
|
|
162
|
+
enumModel?: EnumDescriptor<Enum>;
|
|
163
|
+
};
|
|
164
|
+
/**
|
|
165
|
+
* <em>Experimental:</em> Builder for adding fields to editor.
|
|
166
|
+
*
|
|
167
|
+
* @experimental
|
|
168
|
+
*/
|
|
169
|
+
declare class SchemaFieldsBuilder<Model, Parent = unknown, AddModel = Model, EditModel = Model, FieldsModel = TableviewDescriptorFieldsManageMultiType<Model, AddModel, EditModel>, SchModel = Model> {
|
|
170
|
+
private readonly descriptor;
|
|
171
|
+
private readonly schema;
|
|
172
|
+
private opts?;
|
|
173
|
+
constructor(descriptor: TableviewDescriptorInst<Model, any, any, Parent, any, AddModel, EditModel, FieldsModel> | EditorDescriptorInst<FieldsModel, Parent>, schema: SchemaModel<SchModel>, opts?: FieldsFromSchemaOptsType<SchModel> | undefined);
|
|
174
|
+
private mergeFieldsInputOpts;
|
|
175
|
+
private mergeFieldInputOpts;
|
|
176
|
+
/**
|
|
177
|
+
* <em>Experimental:</em> Adds a single input field via {addFieldInputFromSchema}.
|
|
178
|
+
*
|
|
179
|
+
* @experimental
|
|
180
|
+
*
|
|
181
|
+
* @param {Property} property - The property to add the field for.
|
|
182
|
+
* @param {FieldInputFromSchemaOptsType<SchModel>} opts - Additional options.
|
|
183
|
+
*
|
|
184
|
+
* @return {FieldInputDescriptor<Model, NonNullable<Model[Property]>, Model[Property], Parent>} The added field descriptor.
|
|
185
|
+
*/
|
|
186
|
+
add<Property extends Extract<keyof FieldsModel, keyof SchModel>>(property: Property, opts?: FieldInputFromSchemaOptsType<SchModel>): FieldInputDescriptor<FieldsModel, NonNullable<FieldsModel[Property]>, FieldsModel[Property], Parent>;
|
|
187
|
+
/**
|
|
188
|
+
* <em>Experimental:</em> Adds all input fields for the non-array properties via {addFieldInputFromSchema}.
|
|
189
|
+
*
|
|
190
|
+
* @experimental
|
|
191
|
+
*
|
|
192
|
+
* @param {FieldsFromSchemaOptsType<SchModel>} opts - Additional options.
|
|
193
|
+
*
|
|
194
|
+
* @return {this} - The current instance of the builder.
|
|
195
|
+
*/
|
|
196
|
+
withAddAll(opts?: FieldsFromSchemaOptsType<SchModel>): this;
|
|
197
|
+
/**
|
|
198
|
+
* <em>Experimental:</em> Adds input fields for properties via {addFieldInputFromSchema}.
|
|
199
|
+
*
|
|
200
|
+
* @experimental
|
|
201
|
+
*
|
|
202
|
+
* @param {FieldsFromSchemaOptsType<SchModel>} opts - Additional options.
|
|
203
|
+
* @param {...Property[]} properties - Properties to add fields for. If non provided, all non-array properties from schema will be added.
|
|
204
|
+
*
|
|
205
|
+
* @return {this} - The current instance of the builder.
|
|
206
|
+
*/
|
|
207
|
+
withAdd<PropertyKey extends Extract<keyof Model, keyof SchModel>>(opts: FieldsFromSchemaOptsType<SchModel>, ...properties: PropertyKey[]): this;
|
|
208
|
+
/**
|
|
209
|
+
* <em>Experimental:</em> Adds fields for properties via {addFieldInputFromSchema}.
|
|
210
|
+
*
|
|
211
|
+
* @experimental
|
|
212
|
+
*
|
|
213
|
+
* @param {...Property[]} properties - Properties to add fields for. If non provided, all non-array properties from schema will be added.
|
|
214
|
+
*
|
|
215
|
+
* @return {this} - The current instance of the builder.
|
|
216
|
+
*/
|
|
217
|
+
withAdd<Property extends Extract<keyof FieldsModel, keyof SchModel>>(...properties: Property[]): this;
|
|
218
|
+
private addFields;
|
|
219
|
+
/**
|
|
220
|
+
* <em>Experimental:</em> Adds a single input field via {addFieldInputFromSchema} where property schema is manually provided.
|
|
221
|
+
*
|
|
222
|
+
* @experimental
|
|
223
|
+
*
|
|
224
|
+
* @param {Property} property - The property to add the field for.
|
|
225
|
+
* @param {SchemaProperty} schemaProperty - Manually provided schema property.
|
|
226
|
+
* @param {FieldInputFromSchemaOptsType<Model>} opts - Additional options.
|
|
227
|
+
*
|
|
228
|
+
* @return {FieldInputDescriptor<Model, NonNullable<Model[Property]>, Model[Property], Parent>} The added field descriptor.
|
|
229
|
+
*/
|
|
230
|
+
addFromSchema<Property extends keyof FieldsModel>(property: Property, schemaProperty: SchemaProperty, opts?: FieldInputFromSchemaOptsType<FieldsModel>): FieldInputDescriptor<FieldsModel, NonNullable<FieldsModel[Property]>, FieldsModel[Property], Parent>;
|
|
231
|
+
/**
|
|
232
|
+
* <em>Experimental:</em> Adds an enum lookup field via {addFieldEnumLookupFromSchema}.
|
|
233
|
+
*
|
|
234
|
+
* @experimental
|
|
235
|
+
*
|
|
236
|
+
* @param {Property} property - The property to add the enum lookup field for.
|
|
237
|
+
* @param {SchemaEnum<Enum> | EnumDescriptor<Enum>} [enumOpt] - The enum schema or the enum model descriptor. If non provided, builder opts will be checked.
|
|
238
|
+
*
|
|
239
|
+
* @returns {FieldLookupEnumDescriptor<Enum, Model, Parent>} - The added field descriptor.
|
|
240
|
+
*
|
|
241
|
+
* @throws {CommonsInternalError} - If no enum metadata is found for the property either from parameter or from builder's opts.
|
|
242
|
+
*/
|
|
243
|
+
addEnum<Property extends Extract<keyof FieldsModel, keyof SchModel>, Enum>(property: Property, enumOpt?: SchemaEnum<Enum> | EnumDescriptor<Enum>): FieldLookupEnumDescriptor<Enum, FieldsModel, Parent>;
|
|
244
|
+
/**
|
|
245
|
+
* <em>Experimental:</em> Adds an enum lookup field via {addFieldEnumLookupFromSchema} where property schema is manually provided.
|
|
246
|
+
*
|
|
247
|
+
* @experimental
|
|
248
|
+
*
|
|
249
|
+
* @param {Property} property - The property to add the enum lookup field for.
|
|
250
|
+
* @param {SchemaEnum<Enum> | EnumDescriptor<Enum>} [enumOpt] - The enum schema or the enum model descriptor. If non provided, builder opts will be checked.
|
|
251
|
+
* @param {SchemaProperty} schemaProperty - Manually provided schema property.
|
|
252
|
+
*
|
|
253
|
+
* @returns {FieldLookupEnumDescriptor<Enum, Model, Parent>} - The added field descriptor.
|
|
254
|
+
*
|
|
255
|
+
* @throws {CommonsInternalError} - If no enum metadata is found for the property either from parameter or from builder's opts.
|
|
256
|
+
*/
|
|
257
|
+
addEnumFromSchema<Property extends keyof FieldsModel, Enum>(property: Property, enumOpt: SchemaEnum<Enum> | EnumDescriptor<Enum> | undefined, schemaProperty: SchemaProperty): FieldLookupEnumDescriptor<Enum, FieldsModel, Parent>;
|
|
258
|
+
/**
|
|
259
|
+
* <em>Experimental:</em> Adds a lookup field.
|
|
260
|
+
* {EditorDescriptorInt.addFieldLookup} is used to create field and ${setFieldBasicOptionsFromSchema} to add basic field's options from schema.
|
|
261
|
+
*
|
|
262
|
+
* @experimental
|
|
263
|
+
*
|
|
264
|
+
* @param {Property} property - The property to create the lookup field for.
|
|
265
|
+
* @param {FieldLookupProviderType<LookupModel, Service>} provider - Data provider for the lookup field.
|
|
266
|
+
*
|
|
267
|
+
* @return The created lookup field.
|
|
268
|
+
*/
|
|
269
|
+
addLookup<Property extends Extract<keyof FieldsModel, keyof SchModel>, Service = undefined, LookupModel extends NonNullable<FieldsModel[Property]> = NonNullable<FieldsModel[Property]>>(property: Property, provider?: FieldLookupProviderType<LookupModel, Service>): _mediusinc_mng_commons_tableview_api.FieldLookupDescriptor<LookupModel, FieldsModel, Service, FieldsModel[Property], Parent, keyof LookupModel, keyof LookupModel>;
|
|
270
|
+
/**
|
|
271
|
+
* <em>Experimental:</em> Adds a lookup field where property schema is manually provided.
|
|
272
|
+
* {EditorDescriptorInt.addFieldLookup} is used to create field and ${setFieldBasicOptionsFromSchema} to add basic field's options from schema.
|
|
273
|
+
*
|
|
274
|
+
* @experimental
|
|
275
|
+
*
|
|
276
|
+
* @param {Property} property - The property to create the lookup field for.
|
|
277
|
+
* @param {FieldLookupProviderType<LookupModel, Service> | undefined} provider - Data provider for the lookup field.
|
|
278
|
+
* @param {SchemaProperty} schemaProperty - Manually provided schema property.
|
|
279
|
+
*
|
|
280
|
+
* @return The created lookup field.
|
|
281
|
+
*/
|
|
282
|
+
addLookupFromSchema<Property extends keyof FieldsModel, Service = undefined, LookupModel extends NonNullable<FieldsModel[Property]> = NonNullable<FieldsModel[Property]>>(property: Property, provider: FieldLookupProviderType<LookupModel, Service> | undefined, schemaProperty: SchemaProperty): _mediusinc_mng_commons_tableview_api.FieldLookupDescriptor<LookupModel, FieldsModel, Service, FieldsModel[Property], Parent, keyof LookupModel, keyof LookupModel>;
|
|
283
|
+
/**
|
|
284
|
+
* <em>Experimental:</em> Adds a one-to-many editor field.
|
|
285
|
+
* {EditorDescriptorInt.addFieldManyEditor} is used to create field and ${setFieldBasicOptionsFromSchema} to add basic field's options from schema.
|
|
286
|
+
*
|
|
287
|
+
* @experimental
|
|
288
|
+
*
|
|
289
|
+
* @param {Property} property - The property to create the many editor field for.
|
|
290
|
+
* @param {TableviewDescriptorInst<FieldModel, any, any, FieldsModel>} tableviewDescriptor - Tableview descriptor.
|
|
291
|
+
*
|
|
292
|
+
* @return The created one-to-many editor field.
|
|
293
|
+
*/
|
|
294
|
+
addManyEditor<Property extends Extract<keyof FieldsModel, keyof SchModel>, FieldModel = ArrayItemType<FieldsModel[Property]>, FieldValue = FieldsModel[Property]>(property: Property, tableviewDescriptor: TableviewDescriptorInst<FieldModel, any, any, FieldsModel, FieldModel, FieldModel, FieldModel, FieldModel>): FieldManyEditorDescriptor<FieldModel, FieldsModel, FieldValue, Parent>;
|
|
295
|
+
/**
|
|
296
|
+
* <em>Experimental:</em> Adds an one-to-many editor field where property schema is manually provided.
|
|
297
|
+
* {EditorDescriptorInt.addFieldManyEditor} is used to create field and ${setFieldBasicOptionsFromSchema} to add basic field's options from schema.
|
|
298
|
+
*
|
|
299
|
+
* @experimental
|
|
300
|
+
*
|
|
301
|
+
* @param {Property} property - The property to create the many editor field for.
|
|
302
|
+
* @param {TableviewDescriptorType<FieldModel, any, any, FieldsModel>} tableviewDescriptor - Tableview descriptor.
|
|
303
|
+
* @param {SchemaProperty} schemaProperty - Manually provided schema property.
|
|
304
|
+
*
|
|
305
|
+
* @return The created one-to-many editor field.
|
|
306
|
+
*/
|
|
307
|
+
addManyEditorFromSchema<Property extends keyof FieldsModel, FieldModel = ArrayItemType<FieldsModel[Property]>, FieldValue = FieldsModel[Property]>(property: Property, tableviewDescriptor: TableviewDescriptorInst<FieldModel, any, any, FieldsModel, FieldModel, FieldModel, FieldModel, FieldModel>, schemaProperty: SchemaProperty): FieldManyEditorDescriptor<FieldModel, FieldsModel, FieldValue, Parent>;
|
|
308
|
+
/**
|
|
309
|
+
* <em>Experimental:</em> Adds a many-to-many editor field.
|
|
310
|
+
* {EditorDescriptorInt.addFieldManyToManyEditor} is used to create field and ${setFieldBasicOptionsFromSchema} to add basic field's options from schema.
|
|
311
|
+
*
|
|
312
|
+
* @experimental
|
|
313
|
+
*
|
|
314
|
+
* @param {Property} property - The property to create the many editor field for.
|
|
315
|
+
* @param {TableDescriptorInst<FieldModel>} mainTableDescriptor - Main table descriptor.
|
|
316
|
+
* @param {TableDescriptorInst<FieldModel>} lookupTableDescriptor - Lookup table descriptor.
|
|
317
|
+
* @param {ITableDataProvider<FieldModel, ServiceType>} lookupDataProvider - Lookup data provider.
|
|
318
|
+
*
|
|
319
|
+
* @return The created many-to-many editor field.
|
|
320
|
+
*/
|
|
321
|
+
addManyToManyEditor<Property extends Extract<keyof FieldsModel, keyof SchModel>, ServiceType, FieldModel = ArrayItemType<FieldsModel[Property]>, FieldValue = FieldsModel[Property]>(property: Property, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, ServiceType>): FieldManyToManyEditorDescriptor<FieldModel, FieldsModel, ServiceType, FieldValue, Parent>;
|
|
322
|
+
/**
|
|
323
|
+
* <em>Experimental:</em> Adds a many-to-many editor field where property schema is manually provided.
|
|
324
|
+
* {EditorDescriptorInt.addFieldManyToManyEditor} is used to create field and ${setFieldBasicOptionsFromSchema} to add basic field's options from schema.
|
|
325
|
+
*
|
|
326
|
+
* @experimental
|
|
327
|
+
*
|
|
328
|
+
* @param {Property} property - The property to create the many editor field for.
|
|
329
|
+
* @param {TableDescriptorInst<FieldModel>} mainTableDescriptor - Main table descriptor.
|
|
330
|
+
* @param {TableDescriptorInst<FieldModel>} lookupTableDescriptor - Lookup table descriptor.
|
|
331
|
+
* @param {ITableDataProvider<FieldModel, ServiceType>} lookupDataProvider - Lookup data provider.
|
|
332
|
+
* @param {SchemaProperty} schemaProperty - Manually provided schema property.
|
|
333
|
+
*
|
|
334
|
+
* @return The created many-to-many editor field.
|
|
335
|
+
*/
|
|
336
|
+
addManyToManyEditorFromSchema<Property extends keyof FieldsModel, ServiceType, FieldModel = ArrayItemType<FieldsModel[Property]>, FieldValue = FieldsModel[Property]>(property: Property, mainTableDescriptor: TableDescriptorInst<FieldModel>, lookupTableDescriptor: TableDescriptorInst<FieldModel>, lookupDataProvider: ITableDataProvider<FieldModel, ServiceType>, schemaProperty: SchemaProperty): FieldManyToManyEditorDescriptor<FieldModel, FieldsModel, ServiceType, FieldValue, Parent>;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* <em>Experimental:</em> Creates builder for adding fields to descriptor based on provided model schema.
|
|
340
|
+
*
|
|
341
|
+
* @experimental
|
|
342
|
+
*
|
|
343
|
+
* @param {TableviewDescriptorInst<Model, any, any, Parent, any, AddModel, EditModel, FieldsModel> | EditorDescriptorInst<Model, Parent>} descriptor - Descriptor to add fields to.
|
|
344
|
+
* @param {SchemaModel<SchModel>} schema - The schema with metadata about properties for fields.
|
|
345
|
+
* @param {FieldsFromSchemaOptsType<SchModel>} [opts] - Additional options.
|
|
346
|
+
*
|
|
347
|
+
* @return {SchemaFieldsBuilder<Model, Parent, AddModel, EditModel , FieldsModel, SchModel>} - The SchemaFieldsBuilder object containing the extracted fields.
|
|
348
|
+
*/
|
|
349
|
+
declare function fieldsFromSchema<Model, Parent = undefined, AddModel = Model, EditModel = Model, FieldsModel = TableviewDescriptorFieldsManageMultiType<Model, AddModel, EditModel>, SchModel = Model>(descriptor: TableviewDescriptorInst<Model, any, any, Parent, any, AddModel, EditModel, FieldsModel> | EditorDescriptorInst<FieldsModel, Parent>, schema: SchemaModel<SchModel>, opts?: FieldsFromSchemaOptsType<SchModel>): SchemaFieldsBuilder<Model, Parent, AddModel, EditModel, FieldsModel, SchModel>;
|
|
350
|
+
/**
|
|
351
|
+
* <em>Experimental:</em> Adds a field input to editor descriptor based on the given schema property and options.
|
|
352
|
+
*
|
|
353
|
+
* @experimental
|
|
354
|
+
*
|
|
355
|
+
* @param {TableviewDescriptorInst | EditorDescriptorInst} descriptor - Descriptor to add field to.
|
|
356
|
+
* @param {keyof Model} property - The property of the model.
|
|
357
|
+
* @param {SchemaProperty} propertySchema - The property's schema for the field.
|
|
358
|
+
* @param {FieldInputFromSchemaOptsType<Model>} [opts] - Additional options.
|
|
359
|
+
*
|
|
360
|
+
* @return {FieldInputDescriptor<Model, NonNullable<Model[Property]>, Model[Property], Parent>} - The generated field input descriptor.
|
|
361
|
+
*/
|
|
362
|
+
declare function addFieldInputFromSchema<Property extends keyof FieldsModel, Model, Parent = unknown, AddModel = Model, EditModel = Model, FieldsModel = TableviewDescriptorFieldsManageMultiType<Model, AddModel, EditModel>>(descriptor: TableviewDescriptorInst<Model, any, any, Parent, any, AddModel, EditModel, FieldsModel> | EditorDescriptorInst<FieldsModel, Parent>, property: Property, propertySchema: SchemaProperty, opts?: FieldInputFromSchemaOptsType<FieldsModel>): FieldInputDescriptor<FieldsModel, NonNullable<FieldsModel[Property]>, FieldsModel[Property], Parent>;
|
|
363
|
+
/**
|
|
364
|
+
* <em>Experimental:</em> Adds a field enum lookup to editor descriptor based on the given schema property and options.
|
|
365
|
+
*
|
|
366
|
+
* @experimental
|
|
367
|
+
*
|
|
368
|
+
* @param {TableviewDescriptorInst<Model, any, any, Parent> | EditorDescriptorInst<Model, Parent>} descriptor - Descriptor to add field to.
|
|
369
|
+
* @param {keyof Model} property - The property of the model.
|
|
370
|
+
* @param {SchemaEnum<Enum> | EnumDescriptor<Enum>} enumOpt - The enum schema or enum model descriptor.
|
|
371
|
+
* @param {SchemaProperty} propertySchema - The property's schema for the field.
|
|
372
|
+
*
|
|
373
|
+
* @returns {FieldLookupEnum<Enum>} - The field with enumeration values.
|
|
374
|
+
*/
|
|
375
|
+
declare function addFieldEnumLookupFromSchema<Model, Parent = unknown, AddModel = Model, EditModel = Model, FieldsModel = TableviewDescriptorFieldsManageMultiType<Model, AddModel, EditModel>, Enum = any>(descriptor: TableviewDescriptorInst<Model, any, any, Parent, any, AddModel, EditModel, FieldsModel> | EditorDescriptorInst<FieldsModel, Parent>, property: keyof FieldsModel, enumOpt: SchemaEnum<Enum> | EnumDescriptor<Enum>, propertySchema: SchemaProperty): FieldLookupEnumDescriptor<Enum, FieldsModel, Parent>;
|
|
376
|
+
/**
|
|
377
|
+
* <em>Experimental:</em> Sets basic options for a field based on a given property schema.
|
|
378
|
+
*
|
|
379
|
+
* @param {AFieldDescriptor<FieldModel, EditorModel, FieldValue, ParentEditorModel>} field - The field to set options for.
|
|
380
|
+
* @param {SchemaProperty} propertySchema - The property schema to base the options on.
|
|
381
|
+
*/
|
|
382
|
+
declare function setFieldBasicOptionsFromSchema<FieldModel = any, EditorModel = any, FieldValue = FieldModel, ParentEditorModel = undefined>(field: AFieldDescriptor<FieldModel, EditorModel, FieldValue, ParentEditorModel>, propertySchema: SchemaProperty): void;
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Creates lookup data provider with predefined lookup function based on API service GetAll function.
|
|
386
|
+
*
|
|
387
|
+
* @param {ServiceClassType<Service>} service - The API service instance used to perform the `getAll` call.
|
|
388
|
+
* @param {GetAllFn} getAllFn - The function key of the `getAll` method in the service to be invoked.
|
|
389
|
+
* @param [opts] - Optional configuration for the lookup.
|
|
390
|
+
* @param [opts.search] - Search parameter definition for mapping to filter property or global search property - both cannot be used at the same time.
|
|
391
|
+
* @param {ExtractGetAllParamsFilterType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>} [opts.search.filter.property] - The filter field used for search criteria.
|
|
392
|
+
* @param {FilterMatchModeType} [opts.search.filter.matchMode] - The match mode used for the filter (e.g., contains, startsWith, etc.).
|
|
393
|
+
* @param {FilterMatchModeType} [opts.search.globalSearch] - If search term is to be applied to global filter.
|
|
394
|
+
* @param {Array<DataListSort<ExtractGetAllParamsSortType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>>>} [opts.sorts] - The sorting options to order the fetched data.
|
|
395
|
+
* @param {number} [opts.limit] - The number of records to fetch.
|
|
396
|
+
* @return {LookupDataProviderInst<ExtractServiceGetAllDataType<Service, GetAllFn>, Service, ExtractGetAllParamsSortType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>, ExtractGetAllParamsFilterType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>>} The lookup data provider instance configured with the lookup function.
|
|
397
|
+
*/
|
|
398
|
+
declare function lookupWithApiServiceGetAll<Service, GetAllFn extends ClassFunctionKeysWithAnyArgsAndReturnType<Service, Observable<GetAllHttpResponseType<any>>>>(service: ServiceClassType<Service>, getAllFn: GetAllFn, opts?: {
|
|
399
|
+
search?: {
|
|
400
|
+
filter?: {
|
|
401
|
+
property: ExtractGetAllParamsFilterType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>;
|
|
402
|
+
matchMode?: FilterMatchModeExtendedType;
|
|
403
|
+
};
|
|
404
|
+
globalFilter?: boolean;
|
|
405
|
+
};
|
|
406
|
+
sort?: DataListSort<ExtractGetAllParamsSortType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>>[];
|
|
407
|
+
limit?: number;
|
|
408
|
+
}): LookupDataProviderInst<ExtractServiceGetAllDataType<Service, GetAllFn>, Service, ExtractGetAllParamsSortType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>, ExtractGetAllParamsFilterType<ApiServiceGetAllFilterType<Service, any, GetAllFn>>>;
|
|
409
|
+
|
|
410
|
+
type TableviewWithGetAllParamsOpts<RequestParam, TableModel, AddModel, EditModel> = {
|
|
411
|
+
requestParamsType: TypeDescriptor<RequestParam>;
|
|
412
|
+
} & TableviewDescriptorInstConstructorOpts<TableModel, AddModel, EditModel>;
|
|
413
|
+
/**
|
|
414
|
+
* Creates a tableview with a given model, service and sorts/filters extracted from Data API Get All request params, service, and optional build function.
|
|
415
|
+
*
|
|
416
|
+
* @param {ModelDescriptor<Model>} model - The model descriptor.
|
|
417
|
+
* @param {ServiceClassType<Service>} service - The class type of the service.
|
|
418
|
+
* @param {TypeDescriptor<RequestParam> | TableviewWithGetAllParamsOpts<RequestParam, TableModel>} paramsOrOpts - The request param of get all request. Filters and sorts will be taken from here.
|
|
419
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
420
|
+
*
|
|
421
|
+
* @returns A tableview instance with descriptor, data provider and actions.
|
|
422
|
+
*/
|
|
423
|
+
declare function tableviewWithGetAllParams<Model, Service, RequestParam extends GetAllParamsDefaultWoFiltersType, Sorts = ExtractGetAllParamsSortType<RequestParam>, Filters extends keyof any = ExtractGetAllParamsFilterType<RequestParam>>(model: ModelDescriptor<Model>, service: ServiceClassType<Service>, params: TypeDescriptor<RequestParam>, buildFn?: (builder: TableviewInputBuilder<Model, Service, TableviewDescriptorInst<Model, Sorts, Filters, undefined, Model, Model, Model, Model>, TableviewDataProviderInst<Model, Service, Sorts, Filters>, Sorts, Filters, Model, Model, Model, Model>) => void): _mediusinc_mng_commons_tableview_api.TableviewInput<Model, Service, Sorts, Filters, Model, Model, Model, TableviewDescriptorInst<Model, Sorts, Filters, undefined, Model, Model, Model, Model>, TableviewDataProviderInst<Model, Service, Sorts, Filters, _mediusinc_mng_commons_core.ServiceClassOptType<Service>, Model, Model, Model>>;
|
|
424
|
+
/**
|
|
425
|
+
* Creates a tableview with a mulit-model (separate for add, edit and details), service and sorts/filters from API service's provided getAll function.
|
|
426
|
+
*
|
|
427
|
+
* @param {ModelDescriptor<Model>} model - The model descriptor.
|
|
428
|
+
* @param {ServiceClassType<Service>} service - The class type of the service.
|
|
429
|
+
* @param {TableviewWithGetAllParamsOpts} opts - Options providing get all request parameters and models for table, add and edit.
|
|
430
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
431
|
+
*
|
|
432
|
+
* @returns A tableview instance with descriptor, data provider and actions.
|
|
433
|
+
*/
|
|
434
|
+
declare function tableviewMultiModelWithGetAllParams<Model, Service, RequestParam extends GetAllParamsDefaultWoFiltersType, Sorts = ExtractGetAllParamsSortType<RequestParam>, Filters extends keyof any = ExtractGetAllParamsFilterType<RequestParam>, TableModel = Model, AddModel = Model, EditModel = Model, FieldsModel = TableviewDescriptorFieldsManageMultiType<Model, AddModel, EditModel>>(model: ModelDescriptor<Model>, service: ServiceClassType<Service>, opts: Required<TableviewWithGetAllParamsOpts<RequestParam, TableModel, AddModel, EditModel>>, buildFn?: (builder: TableviewInputBuilder<Model, Service, TableviewDescriptorInst<Model, Sorts, Filters, undefined, TableModel, AddModel, EditModel, FieldsModel>, TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>, TableModel, AddModel, EditModel>, Sorts, Filters, TableModel, AddModel, EditModel, FieldsModel>) => void): _mediusinc_mng_commons_tableview_api.TableviewInput<Model, Service, Sorts, Filters, TableModel, AddModel, EditModel, TableviewDescriptorInst<Model, Sorts, Filters, undefined, TableModel, AddModel, EditModel, FieldsModel>, TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>, TableModel, AddModel, EditModel>>;
|
|
435
|
+
/**
|
|
436
|
+
* Creates a tableview with a given model, service and sorts/filters from API service's provided getAll function.
|
|
437
|
+
*
|
|
438
|
+
* @param {ModelDescriptor<Model>} model - The model descriptor.
|
|
439
|
+
* @param {ServiceClassType<Service>} service - The class type of the service.
|
|
440
|
+
* @param {GetAllFn} getAllFn - The function from service for executing getAll requests. Filters and sorts will be taken from here.
|
|
441
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
442
|
+
*
|
|
443
|
+
* @returns A tableview instance with descriptor, data provider and actions.
|
|
444
|
+
*/
|
|
445
|
+
declare function tableviewWithApiServiceGetAll<Model, Service, GetAllFn extends ClassFunctionKeysWithAnyArgsAndReturnType<Service, Observable<GetAllHttpResponseType<TableModel>>>, TableModel = ExtractServiceGetAllDataType<Service, GetAllFn>, RequestParams extends GetAllParamsDefaultWoFiltersType = ApiServiceGetAllFilterType<Service, TableModel, GetAllFn>, Sorts = ExtractGetAllParamsSortType<RequestParams>, Filters extends keyof any = ExtractGetAllParamsFilterType<RequestParams>>(model: ModelDescriptor<Model>, service: ServiceClassType<Service>, getAllFn: GetAllFn, buildFn?: (builder: TableviewInputBuilder<Model, Service, TableviewDescriptorInst<Model, Sorts, Filters, undefined, TableModel, Model, Model, Model>, TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>, TableModel>, Sorts, Filters, TableModel, Model, Model, Model>) => void): _mediusinc_mng_commons_tableview_api.TableviewInput<Model, Service, Sorts, Filters, TableModel, Model, Model, TableviewDescriptorInst<Model, Sorts, Filters, undefined, TableModel, Model, Model, Model>, TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>, TableModel, Model, Model>>;
|
|
446
|
+
/**
|
|
447
|
+
* Creates a tableview with a given model, service and sorts/filters from API service's provided getAll function.
|
|
448
|
+
*
|
|
449
|
+
* @param {ModelDescriptor<Model>} model - The model descriptor.
|
|
450
|
+
* @param {ServiceClassType<Service>} service - The class type of the service.
|
|
451
|
+
* @param {GetAllFn} serviceGetAllFn - The function from service for executing getAll requests. Filters and sorts will be taken from here.
|
|
452
|
+
* @param {Required<TableviewDescriptorInstConstructorOpts<TableModel, AddModel, EditModel>>} - Required options: all remaining models for multi-tableview must be defined here.
|
|
453
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
454
|
+
*
|
|
455
|
+
* @returns A tableview instance with descriptor, data provider and actions.
|
|
456
|
+
*/
|
|
457
|
+
declare function tableviewMultiModelWithApiServiceGetAll<Model, Service, ServiceGetAllFn extends ClassFunctionKeysWithAnyArgsAndReturnType<Service, Observable<GetAllHttpResponseType<TableModel>>>, TableModel, AddModel, EditModel, ServiceGetAllRequestParams extends GetAllParamsDefaultWoFiltersType = ApiServiceGetAllFilterType<Service, TableModel, ServiceGetAllFn>, Sorts = ExtractGetAllParamsSortType<ServiceGetAllRequestParams>, Filters extends keyof any = ExtractGetAllParamsFilterType<ServiceGetAllRequestParams>, FieldsModel = TableviewDescriptorFieldsManageMultiType<Model, AddModel, EditModel>>(model: ModelDescriptor<Model>, service: ServiceClassType<Service>, serviceGetAllFn: ServiceGetAllFn, opts: Required<TableviewDescriptorInstConstructorOpts<TableModel, AddModel, EditModel>>, buildFn?: (builder: TableviewInputBuilder<Model, Service, TableviewDescriptorInst<Model, Sorts, Filters, undefined, TableModel, AddModel, EditModel, FieldsModel>, TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>, TableModel, AddModel, EditModel>, Sorts, Filters, TableModel, AddModel, EditModel, FieldsModel>) => void): _mediusinc_mng_commons_tableview_api.TableviewInput<Model, Service, Sorts, Filters, TableModel, AddModel, EditModel, TableviewDescriptorInst<Model, Sorts, Filters, undefined, TableModel, AddModel, EditModel, FieldsModel>, TableviewDataProviderInst<Model, Service, Sorts, Filters, ServiceClassType<Service>, TableModel, AddModel, EditModel>>;
|
|
458
|
+
|
|
459
|
+
interface FilterGenericPropertyOptsType {
|
|
460
|
+
numberOpts?: FilterNumberOptsType;
|
|
461
|
+
dateOpts?: FilterDateOptsType;
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Maps a property type to its corresponding filter type enum and applies default
|
|
465
|
+
* filter options if no custom options are provided. If the property type is not recognized,
|
|
466
|
+
* it returns a filter type value of null.
|
|
467
|
+
*
|
|
468
|
+
* @param propertyType - The property type to convert.
|
|
469
|
+
* @param [opts] - The custom options to use for conversion.
|
|
470
|
+
*/
|
|
471
|
+
declare function convertPropertyTypeToFilterType(propertyType?: string, opts?: FilterGenericPropertyOptsType): {
|
|
472
|
+
filterType: FilterTypeEnum | null;
|
|
473
|
+
opts?: FilterDateOptsType | FilterNumberOptsType;
|
|
474
|
+
};
|
|
475
|
+
type FilterGenericPropertiesMetadataType = {
|
|
476
|
+
[key: string]: string | undefined;
|
|
477
|
+
};
|
|
478
|
+
/**
|
|
479
|
+
* Converts an object of properties and types into an array of filterable properties with the corresponding filter types and options.
|
|
480
|
+
* @param properties - The object containing the properties.
|
|
481
|
+
* @param [opts] - Custom filter options.
|
|
482
|
+
*/
|
|
483
|
+
declare function convertPropertyToFilterGenericProperties(properties: FilterGenericPropertiesMetadataType, opts?: FilterGenericPropertyOptsType): FilterGenericProperty[];
|
|
484
|
+
/**
|
|
485
|
+
* Maps an Observable of properties to filter generic properties.
|
|
486
|
+
*/
|
|
487
|
+
declare function mapToFilterGenericProperties(opts?: FilterGenericPropertyOptsType): OperatorFunction<FilterGenericPropertiesMetadataType, FilterGenericProperty[]>;
|
|
488
|
+
type FilterPropertyLookupFnType<Service> = (service: Service) => ItemOrObservable<FilterGenericPropertiesMetadataType>;
|
|
489
|
+
/**
|
|
490
|
+
* Creates a data provider for generic filter properties that can be used with the TableDescriptor's generic filter functionality.
|
|
491
|
+
*
|
|
492
|
+
* @param serviceType - The service to fetch the properties from.
|
|
493
|
+
* @param lookupFn - The name of the service function to call for properties or function impl returning properties.
|
|
494
|
+
* @param [opts] - Optional custom options for filter descriptors, such as date and number formatting.
|
|
495
|
+
*/
|
|
496
|
+
declare function filterPropertyLookupProvider<Service>(serviceType: Type<Service>, lookupFn: FilterPropertyLookupFnType<Service> | ClassFunctionKeysWithReturnType<Service, Observable<FilterGenericPropertiesMetadataType>>, opts?: FilterGenericPropertyOptsType): LookupDataProviderInst<FilterGenericProperty, Service, keyof FilterGenericProperty, keyof FilterGenericProperty, Service extends undefined ? undefined : _mediusinc_mng_commons_core.ServiceClassType<Service>>;
|
|
497
|
+
type FilterValueSuggestionLookupFnType<Service> = (service: Service, field: string, search?: string) => ItemOrObservable<string[]>;
|
|
498
|
+
/**
|
|
499
|
+
* Creates a data provider for generic filter value suggestions that can be used with the TableDescriptor's generic filter functionality.
|
|
500
|
+
*
|
|
501
|
+
* @param service - The service to use for suggesting filter values.
|
|
502
|
+
* @param lookupFn - The function name of the service to call for suggestion or function impl returning suggestions.
|
|
503
|
+
*/
|
|
504
|
+
declare function filterValueSuggestionLookupProvider<Service>(service: Type<Service>, lookupFn: FilterValueSuggestionLookupFnType<Service> | ClassFunctionKeysWithParamAndReturnType<Service, {
|
|
505
|
+
field: string;
|
|
506
|
+
text?: string;
|
|
507
|
+
}, Observable<string[]>>): LookupDataProviderInst<string, Service, string, 'field'>;
|
|
508
|
+
|
|
509
|
+
export { SchemaColumnsBuilder, SchemaFieldsBuilder, addColumnFromSchema, addFieldEnumLookupFromSchema, addFieldInputFromSchema, columnsFromSchema, convertPropertyToFilterGenericProperties, convertPropertyTypeToFilterType, enumModelFromSchema, fieldsFromSchema, filterPropertyLookupProvider, filterValueSuggestionLookupProvider, lookupWithApiServiceGetAll, mapToFilterGenericProperties, setFieldBasicOptionsFromSchema, tableviewMultiModelWithApiServiceGetAll, tableviewMultiModelWithGetAllParams, tableviewWithApiServiceGetAll, tableviewWithGetAllParams };
|
|
510
|
+
export type { FilterGenericPropertyOptsType };
|
package/version-info.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mediusinc/mng-commons-data-api",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0-rc.0",
|
|
4
4
|
"tag": "v6.2.0-rc.0",
|
|
5
|
-
"distance":
|
|
6
|
-
"hash": "
|
|
5
|
+
"distance": 6,
|
|
6
|
+
"hash": "ce245f4b",
|
|
7
7
|
"dirty": true,
|
|
8
|
-
"semver": "6.2.0-rc.0+
|
|
8
|
+
"semver": "6.2.0-rc.0+6.gce245f4b.dirty",
|
|
9
9
|
"buildTimestamp": null,
|
|
10
|
-
"raw": "v6.2.0-rc.0-
|
|
10
|
+
"raw": "v6.2.0-rc.0-6-ce245f4b-dirty"
|
|
11
11
|
}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { Observable } from 'rxjs';
|
|
2
|
-
import { ClassFunctionKeysWithParamAndReturnType, DataListFilter, DataListParams, DataListResult } from '@mediusinc/mng-commons/core';
|
|
3
|
-
import { GetAllParamsFilterMatchType, GetAllParamsType, GetAllParamsUrlQueryType, GetAllParamsUrlQueryWithFiltersInKeyType } from '../models/request-params.model';
|
|
4
|
-
/**
|
|
5
|
-
* Converts a filter match mode to its corresponding enum value.
|
|
6
|
-
*
|
|
7
|
-
* @param {string} matchMode - The filter match mode from data list filter to convert.
|
|
8
|
-
* @returns {GetAllParamsFilterMatchType} - The converted enum value.
|
|
9
|
-
* @throws {CommonsInternalError} - If the filter match mode is not supported.
|
|
10
|
-
*/
|
|
11
|
-
export declare function toGetAllParamsFilterMatchMode(matchMode: string): GetAllParamsFilterMatchType;
|
|
12
|
-
/**
|
|
13
|
-
* Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.
|
|
14
|
-
*
|
|
15
|
-
* @param {DataListParams} params - The parameters to convert.
|
|
16
|
-
* @typeparam Sorts - The type of the sorting options for the data list.
|
|
17
|
-
* @typeparam Filters - The type of the filters for the data list.
|
|
18
|
-
* @returns {GetAllParamsUrlQueryType<Filters>} - Get all request param object with values as URL query string representation.
|
|
19
|
-
*/
|
|
20
|
-
export declare function toGetAllParamsAsUrlQuery<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsUrlQueryType<Filters>;
|
|
21
|
-
/**
|
|
22
|
-
* Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.
|
|
23
|
-
*
|
|
24
|
-
* @param {DataListParams} params - The parameters to convert.
|
|
25
|
-
* @param {FilterKey} filterKey - Property key for filter object.
|
|
26
|
-
* @typeparam Sorts - The type of the sorting options for the data list.
|
|
27
|
-
* @typeparam Filters - The type of the filters for the data list.
|
|
28
|
-
* @typeparam FilterKey - The type representing property key where filters will be put to.
|
|
29
|
-
* @returns {GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters>} - Get all request param object with values as URL query string representation.
|
|
30
|
-
*/
|
|
31
|
-
export declare function toGetAllParamsAsUrlQueryWithFiltersInProperty<Sorts, Filters extends keyof any, FilterKey extends string | number | symbol = 'filters'>(params: DataListParams<Sorts, Filters>, filterKey?: FilterKey): GetAllParamsUrlQueryWithFiltersInKeyType<FilterKey, Filters>;
|
|
32
|
-
/**
|
|
33
|
-
* Converts given parameters of a DataListParams object into a get all request param object with values as objects for POST requests.
|
|
34
|
-
*
|
|
35
|
-
* @param {DataListParams} params - The parameters to convert.
|
|
36
|
-
* @typeparam Sorts - The type of the sorting options for the data list.
|
|
37
|
-
* @typeparam Filters - The type of the filters for the data list.
|
|
38
|
-
* @returns {GetAllParamsType<Sorts, Filters>} - Get all request param object with values as objects for POST requests.
|
|
39
|
-
*/
|
|
40
|
-
export declare function toGetAllParams<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsType<Sorts, Filters>;
|
|
41
|
-
/**
|
|
42
|
-
* Converts DataListParams to sort query URL representation.
|
|
43
|
-
*
|
|
44
|
-
* @param {DataListParams} params - The params object with sort property to convert.
|
|
45
|
-
* @returns {string | undefined} - The formatted sort query URL param or undefined.
|
|
46
|
-
*/
|
|
47
|
-
export declare function toGetAllSortAsQueryUrl(params?: DataListParams<any, any>): string | undefined;
|
|
48
|
-
/**
|
|
49
|
-
* Converts a DataListFilter object to a query URL string.
|
|
50
|
-
*
|
|
51
|
-
* @param {DataListFilter} filter - The filter object from params to convert.
|
|
52
|
-
* @returns {string|undefined} - The formatted filter query URL param or undefined.
|
|
53
|
-
*/
|
|
54
|
-
export declare function toGetAllFilterAsQueryUrl(filter?: DataListFilter): string | undefined;
|
|
55
|
-
/**
|
|
56
|
-
* Executes the "getAll" on API service with request parameters.
|
|
57
|
-
* Get all is expected to be executed via GET method using params as URL queries.
|
|
58
|
-
*
|
|
59
|
-
* @param {Service} service - The API service instance.
|
|
60
|
-
* @param {Function} getAllFn - The "getAll" function on provided service instance.
|
|
61
|
-
* @param {Object} params - The data list params.
|
|
62
|
-
* @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
|
|
63
|
-
*/
|
|
64
|
-
export declare function executeGetAll<Service, Item, Sorts, Filters extends keyof any>(service: Service, getAllFn: (requestParameters: GetAllParamsUrlQueryType<Filters>) => Observable<{
|
|
65
|
-
data?: Item[];
|
|
66
|
-
totalCount?: number;
|
|
67
|
-
}>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
|
|
68
|
-
/**
|
|
69
|
-
* Executes the "getAll" on API service with request parameters.
|
|
70
|
-
* Get all is expected to be executed via GET method using params as URL queries.
|
|
71
|
-
*
|
|
72
|
-
* @param {Service} service - The API service instance.
|
|
73
|
-
* @param {Function} getAllFn - The "getAll" function on provided service.
|
|
74
|
-
* @param {Object} params - The data list params.
|
|
75
|
-
* @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
|
|
76
|
-
*/
|
|
77
|
-
export declare function apiServiceGetAll<Service, Item, Sorts, Filters extends keyof any>(service: Service, fn: ClassFunctionKeysWithParamAndReturnType<Service, GetAllParamsUrlQueryType<Filters>, Observable<{
|
|
78
|
-
data?: Item[];
|
|
79
|
-
totalCount?: number;
|
|
80
|
-
}>>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
|
|
81
|
-
/**
|
|
82
|
-
* Executes the "getAll" on API service with request parameters.
|
|
83
|
-
* Get all is expected to be executed via POST method using params as object in body of request.
|
|
84
|
-
*
|
|
85
|
-
* @param {Service} service - The API service instance.
|
|
86
|
-
* @param {Function} getAllFn - The "getAll" function on provided service instance.
|
|
87
|
-
* @param {Object} params - The data list params.
|
|
88
|
-
* @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
|
|
89
|
-
*/
|
|
90
|
-
export declare function executeGetAllAsPost<Service, Item, Sorts, Filters extends keyof any>(service: Service, getAllFn: (requestParameters: GetAllParamsType<Sorts, Filters>) => Observable<{
|
|
91
|
-
data?: Item[];
|
|
92
|
-
totalCount?: number;
|
|
93
|
-
}>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
|