@mediusinc/mng-commons 5.3.0-rc.3 → 5.3.0-rc.5

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 (76) hide show
  1. package/core/data-list/data-list.model.d.ts +1 -1
  2. package/core/data-providers/lookup.data-provider.d.ts +5 -5
  3. package/core/descriptors/lookup.descriptor.d.ts +3 -3
  4. package/core/descriptors/table.descriptor.d.ts +1 -1
  5. package/esm2022/core/data-list/data-list-params-helpers.mjs +1 -1
  6. package/esm2022/core/data-list/data-list.model.mjs +1 -1
  7. package/esm2022/core/data-providers/lookup.data-provider.mjs +1 -1
  8. package/esm2022/core/descriptors/lookup.descriptor.mjs +1 -1
  9. package/esm2022/core/descriptors/table.descriptor.mjs +1 -1
  10. package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +60 -2
  11. package/esm2022/filter/descriptors/filter.descriptor.mjs +118 -8
  12. package/esm2022/form/api/data-providers/lookup-data-provider.factory.mjs +17 -6
  13. package/esm2022/form/api/data-providers/lookup.data-provider.mjs +1 -1
  14. package/esm2022/form/components/autocomplete/autocomplete.component.mjs +1 -1
  15. package/esm2022/form/components/dropdown/dropdown.component.mjs +1 -1
  16. package/esm2022/model/helpers/model.mjs +1 -1
  17. package/esm2022/table/api/data-providers/table-data-provider.factory.mjs +16 -7
  18. package/esm2022/table/api/descriptors/column.descriptor.mjs +125 -4
  19. package/esm2022/table/api/descriptors/sort.descriptor.mjs +23 -1
  20. package/esm2022/table/api/descriptors/table-descriptor.factory.mjs +1 -1
  21. package/esm2022/table/api/descriptors/table.descriptor.mjs +424 -43
  22. package/esm2022/table/api/helpers/table-data-provider-descriptor-convert.mjs +7 -0
  23. package/esm2022/table/api/index.mjs +2 -1
  24. package/esm2022/table/api/models/table-columns.model.mjs +1 -1
  25. package/esm2022/table/components/table/table.component.mjs +4 -4
  26. package/esm2022/tableview/api/editor/descriptors/editor.descriptor.mjs +6 -6
  27. package/esm2022/tableview/api/editor/descriptors/field-base.descriptor.mjs +2 -2
  28. package/esm2022/tableview/api/editor/descriptors/field-lookup.descriptor.mjs +1 -1
  29. package/esm2022/tableview/api/index.mjs +2 -1
  30. package/esm2022/tableview/api/tableview/data-providers/tableview-data-provider.factory.mjs +16 -7
  31. package/esm2022/tableview/api/tableview/descriptors/tableview-descriptor.factory.mjs +1 -1
  32. package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +5 -5
  33. package/esm2022/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.mjs +7 -0
  34. package/esm2022/tableview/editor/components/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +1 -1
  35. package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
  36. package/fesm2022/mediusinc-mng-commons-filter.mjs +176 -8
  37. package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
  38. package/fesm2022/mediusinc-mng-commons-form-api.mjs +16 -5
  39. package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
  40. package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
  41. package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
  42. package/fesm2022/mediusinc-mng-commons-table-api.mjs +591 -52
  43. package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
  44. package/fesm2022/mediusinc-mng-commons-table.mjs +3 -3
  45. package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
  46. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +32 -17
  47. package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
  48. package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
  49. package/filter/descriptors/filter-lookup.descriptor.d.ts +70 -12
  50. package/filter/descriptors/filter.descriptor.d.ts +116 -5
  51. package/form/api/data-providers/lookup-data-provider.factory.d.ts +16 -12
  52. package/form/api/data-providers/lookup.data-provider.d.ts +5 -5
  53. package/form/components/autocomplete/autocomplete.component.d.ts +1 -1
  54. package/form/components/dropdown/dropdown.component.d.ts +1 -1
  55. package/model/helpers/model.d.ts +1 -1
  56. package/package.json +1 -1
  57. package/table/api/data-providers/table-data-provider.factory.d.ts +9 -5
  58. package/table/api/descriptors/column.descriptor.d.ts +126 -5
  59. package/table/api/descriptors/sort.descriptor.d.ts +22 -0
  60. package/table/api/descriptors/table-descriptor.factory.d.ts +8 -4
  61. package/table/api/descriptors/table.descriptor.d.ts +421 -27
  62. package/table/api/helpers/table-data-provider-descriptor-convert.d.ts +20 -0
  63. package/table/api/index.d.ts +1 -0
  64. package/table/api/models/table-columns.model.d.ts +6 -6
  65. package/table/components/column-filter/column-filter.component.d.ts +1 -1
  66. package/table/components/filter/filter-form/filter-form.component.d.ts +1 -1
  67. package/tableview/action/components/localization/data-language-dropdown.component.d.ts +1 -1
  68. package/tableview/api/editor/descriptors/editor.descriptor.d.ts +11 -11
  69. package/tableview/api/editor/descriptors/field-base.descriptor.d.ts +1 -1
  70. package/tableview/api/editor/descriptors/field-lookup.descriptor.d.ts +12 -12
  71. package/tableview/api/index.d.ts +1 -0
  72. package/tableview/api/tableview/data-providers/tableview-data-provider.factory.d.ts +9 -5
  73. package/tableview/api/tableview/descriptors/tableview-descriptor.factory.d.ts +10 -6
  74. package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +17 -17
  75. package/tableview/api/tableview/helpers/tableview-data-provider-descriptor-convert.d.ts +20 -0
  76. package/version-info.json +6 -6
@@ -2,21 +2,21 @@ import { ClassType, EnumConstantType, EnumValue, FilterMatchModeExtendedType, IL
2
2
  import { EnumDescriptor } from '@mediusinc/mng-commons/model';
3
3
  import { FilterLookupTypeEnum } from '../models/filter.model';
4
4
  import { FilterDescriptor } from './filter.descriptor';
5
- export type FilterLookupDescriptorConstructorOptsType<FilterModel, Service> = FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service> & {
5
+ export type FilterLookupDescriptorConstructorOptsType<FilterModel, Service, Sorts = keyof FilterModel, Filters extends keyof any = keyof FilterModel> = FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service, Sorts, Filters> & {
6
6
  type?: ClassType<FilterModel>;
7
7
  optionsValueProperty?: string | null;
8
8
  };
9
- export type FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service> = {
9
+ export type FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service, Sorts = keyof FilterModel, Filters extends keyof any = keyof FilterModel> = {
10
10
  serviceType?: ServiceClassType<Service>;
11
- dataProvider?: ILookupDataProvider<FilterModel, Service>;
11
+ dataProvider?: ILookupDataProvider<FilterModel, Service, Sorts, Filters>;
12
12
  };
13
13
  export type FilterLookupAutocompleteOptsType = {
14
14
  openOnFocus?: boolean;
15
15
  inlineSearch?: boolean;
16
16
  autoClear?: boolean;
17
17
  };
18
- export declare class FilterLookupDescriptor<FilterModel, TableModel, Service = any> extends FilterDescriptor<FilterModel, TableModel> implements ILookupDescriptor<FilterModel> {
19
- protected readonly _dataProvider: ILookupDataProvider<FilterModel, Service>;
18
+ export declare class FilterLookupDescriptor<FilterModel, TableModel, Service = any, Sorts = keyof FilterModel, Filters extends keyof any = keyof FilterModel> extends FilterDescriptor<FilterModel, TableModel> implements ILookupDescriptor<FilterModel, Service, Sorts, Filters> {
19
+ protected readonly _dataProvider: ILookupDataProvider<FilterModel, Service, Sorts, Filters>;
20
20
  protected readonly _optionsValueProperty?: string | null;
21
21
  protected _lookupType?: FilterLookupTypeEnum;
22
22
  protected _optionsLabelProperty?: string;
@@ -26,9 +26,9 @@ export declare class FilterLookupDescriptor<FilterModel, TableModel, Service = a
26
26
  protected _autocompleteOpenOnFocus?: boolean;
27
27
  protected _autocompleteInlineSearch?: boolean;
28
28
  protected _autocompleteAutoClear?: boolean;
29
- constructor(property: string, cfg?: FilterLookupDescriptorConstructorOptsType<FilterModel, Service>);
29
+ constructor(property: string, cfg?: FilterLookupDescriptorConstructorOptsType<FilterModel, Service, Sorts, Filters>);
30
30
  get lookupType(): FilterLookupTypeEnum | undefined;
31
- get dataProvider(): ILookupDataProvider<FilterModel, Service>;
31
+ get dataProvider(): ILookupDataProvider<FilterModel, Service, Sorts, Filters>;
32
32
  get optionsLabelProperty(): string | undefined;
33
33
  get optionsLabelTranslate(): boolean;
34
34
  get optionsValueProperty(): string | undefined;
@@ -37,31 +37,89 @@ export declare class FilterLookupDescriptor<FilterModel, TableModel, Service = a
37
37
  get autocompleteAutoClear(): boolean | undefined;
38
38
  get autocompleteInlineSearch(): boolean | undefined;
39
39
  get dropdownClassName(): string;
40
+ /**
41
+ * Sets label property for options display.
42
+ *
43
+ * @param property Property for label options.
44
+ * @param translate If the options should be translated through the i18n.
45
+ */
40
46
  withOptionsLabelProperty(property: keyof FilterModel, translate?: boolean): this;
47
+ /**
48
+ * Sets label property for options display.
49
+ *
50
+ * This function is UNSAFE!
51
+ *
52
+ * @param property Property for label options.
53
+ * @param translate If the options should be translated through the i18n.
54
+ */
41
55
  withOptionsLabelPropertyUnsafe(property: string, translate?: boolean): this;
42
56
  /**
43
57
  * Method will set `optionsValueProperty`, because track properties are not supported here as filters need final value to work correctly.
44
- * Use `optionsValueProperty` instead.
58
+ * Use `optionsValueProperty` in filter creation instead.
45
59
  */
46
60
  withOptionsTrackProperty(): this;
61
+ /**
62
+ * Method will set `optionsValueProperty`, because track properties are not supported here as filters need final value to work correctly.
63
+ * Use `optionsValueProperty` in filter creation instead.
64
+ */
47
65
  withOptionsTrackPropertyUnsafe(): this;
48
- withLookup(lookup?: LookupDataProviderLookupFnType<FilterModel, Service>): this;
66
+ withLookup(lookup?: LookupDataProviderLookupFnType<FilterModel, Service, Sorts, Filters>): this;
67
+ /**
68
+ * Sets multiselect for lookups.
69
+ *
70
+ * @param multiselect Enables/disables the feature.
71
+ */
49
72
  withMultiselect(multiselect?: boolean): this;
73
+ /**
74
+ * Sets the dropdown class name.
75
+ * @param dropdownClassName Class name for dropdown.
76
+ */
50
77
  withDropdownClassName(dropdownClassName: string): this;
78
+ /**
79
+ * Sets default filter value for filter.
80
+ *
81
+ * @param value Value for default filter.
82
+ * @param matchMode Match mode for default filter.
83
+ */
51
84
  withDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType): this;
85
+ /**
86
+ * Sets lookup as autocomplete instead of dropdown.
87
+ *
88
+ * @param opts Additional options.
89
+ */
52
90
  asAutocomplete(opts?: FilterLookupAutocompleteOptsType): this;
53
- copy(): FilterLookupDescriptor<FilterModel, TableModel, Service>;
54
- protected copyFieldsTo(filter: FilterLookupDescriptor<FilterModel, TableModel, Service>): void;
91
+ /**
92
+ * Copies current descriptor to a new instance.
93
+ */
94
+ copy(): FilterLookupDescriptor<FilterModel, TableModel, Service, Sorts, Filters>;
95
+ protected copyFieldsTo(filter: FilterLookupDescriptor<FilterModel, TableModel, Service, Sorts, Filters>): void;
55
96
  }
56
- export declare class FilterLookupEnumDescriptor<Enum, TableModel> extends FilterLookupDescriptor<EnumValue, TableModel> {
97
+ export declare class FilterLookupEnumDescriptor<Enum, TableModel> extends FilterLookupDescriptor<EnumValue, TableModel, undefined, never, never> {
57
98
  private readonly _enum;
58
99
  private readonly _optionEnumValues;
59
100
  private readonly _nameAsValue;
60
101
  constructor(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>);
61
102
  get enum(): EnumDescriptor<Enum>;
103
+ /**
104
+ * Sets lookup as autocomplete instead of dropdown.
105
+ *
106
+ * @param opts Additional options.
107
+ */
62
108
  asAutocomplete(opts?: FilterLookupAutocompleteOptsType): this;
63
109
  withMultiselectEnum(multiselect?: boolean): FilterLookupEnumDescriptor<Enum, TableModel>;
110
+ /**
111
+ * Do not use, use `withDefaultFilterEnum` instead.
112
+ */
64
113
  withDefaultFilter(): this;
114
+ /**
115
+ * Sets default filter value for filter.
116
+ *
117
+ * @param value Value(s) for default filter.
118
+ * @param matchMode Match mode for default filter.
119
+ */
65
120
  withDefaultFilterEnum(value: EnumConstantType | EnumConstantType[] | undefined, matchMode: FilterMatchModeExtendedType): this;
121
+ /**
122
+ * Copies current descriptor to a new instance.
123
+ */
66
124
  copy(): FilterLookupEnumDescriptor<Enum, TableModel>;
67
125
  }
@@ -33,7 +33,7 @@ export declare class FilterDescriptor<FilterModel, TableModel> implements IFilte
33
33
  protected _hasDefaultValue: boolean;
34
34
  protected _defaultMatchMode?: FilterMatchModeExtendedType;
35
35
  protected _defaultValue?: FilterModel | FilterModel[];
36
- protected _matchModes: string[] | null;
36
+ protected _matchModes?: string[];
37
37
  private _displayFormat?;
38
38
  private _displayFormatApplyToField?;
39
39
  private _locale?;
@@ -60,7 +60,7 @@ export declare class FilterDescriptor<FilterModel, TableModel> implements IFilte
60
60
  get hasDefaultValue(): boolean;
61
61
  get defaultValue(): FilterModel | FilterModel[] | undefined;
62
62
  get defaultMatchMode(): string | undefined;
63
- get matchModes(): string[] | null;
63
+ get matchModes(): string[] | undefined;
64
64
  get displayFormat(): string | undefined;
65
65
  get displayFormatApplyToField(): boolean | undefined;
66
66
  get locale(): string | undefined;
@@ -81,31 +81,142 @@ export declare class FilterDescriptor<FilterModel, TableModel> implements IFilte
81
81
  get trimOption(): InputTrimType | undefined;
82
82
  get property(): string;
83
83
  get title(): string | undefined;
84
+ /**
85
+ * Converts filter to given type.
86
+ *
87
+ * @param filterType Filter type.
88
+ */
84
89
  asFilterType(filterType: FilterTypeEnum): this;
90
+ /**
91
+ * Set filter as date type.
92
+ *
93
+ * @param opts Additional options.
94
+ */
85
95
  asDate(opts?: FilterDateOptsType): this;
96
+ /**
97
+ * Set filter as number type.
98
+ *
99
+ * @param opts Additional options.
100
+ */
86
101
  asNumber(opts?: FilterNumberOptsType): this;
102
+ /**
103
+ * Shows filter on column for given property.
104
+ *
105
+ * @param property Column property to show filter on.
106
+ * @param displayType Optional display type override. If not column, the filter will not be shown on column.
107
+ */
87
108
  withShowOnColumn(property: keyof TableModel, displayType?: FilterDisplayTypeEnum | undefined): this;
88
- withDisplayType(type?: FilterDisplayTypeEnum): this;
109
+ /**
110
+ * Shows filter on column for given property.
111
+ *
112
+ * This function is UNSAFE.
113
+ *
114
+ * @param property Column property to show filter on.
115
+ * @param displayType Optional display type override. If not column, the filter will not be shown on column.
116
+ */
89
117
  withShowOnColumnUnsafe(property: string, displayType?: FilterDisplayTypeEnum | undefined): this;
118
+ /**
119
+ * Changes display type of filter.
120
+ *
121
+ * @param type Display type.
122
+ */
123
+ withDisplayType(type?: FilterDisplayTypeEnum): this;
124
+ /**
125
+ * Sets default filter value for filter.
126
+ *
127
+ * @param value Value for default filter.
128
+ * @param matchMode Match mode for default filter.
129
+ */
90
130
  withDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType): this;
91
131
  protected validateDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType): void;
132
+ /**
133
+ * Sets format for display of filter value (applies to date and number).
134
+ *
135
+ * @param format Format (Angular formatting rules apply).
136
+ * @param applyToField If the format should also be applied to field on filter editing form.
137
+ */
92
138
  withDisplayFormat(format?: string, applyToField?: boolean): this;
139
+ /**
140
+ * Sets locale for filter.
141
+ *
142
+ * @param locale Locale.
143
+ */
93
144
  withLocale(locale?: string): this;
145
+ /**
146
+ * Sets fraction for number filter editing field.
147
+ *
148
+ * @param min Min fraction digits (i.e. digits after decimal).
149
+ * @param max Max fraction digits (i.e. digits after decimal).
150
+ */
94
151
  withNumberFractions(min?: number, max?: number): this;
152
+ /**
153
+ * If number grouping should be used.
154
+ *
155
+ * @param useGrouping Enables/disbaled the feature.
156
+ */
95
157
  withNumberGrouping(useGrouping?: boolean): this;
96
158
  /**
97
159
  * @deprecated Use ${withDatePickerDisplay} instead.
98
160
  */
99
161
  withDateFormat(format?: string, showTime?: boolean, showSeconds?: boolean): this;
162
+ /**
163
+ * Sets date picker display options.
164
+ *
165
+ * @param opts Options.
166
+ */
100
167
  withDatePickerDisplay(opts?: FilterDatePickerDisplayOptsType): this;
168
+ /**
169
+ * Sets filter date value formatting options.
170
+ *
171
+ * @param opts Options.
172
+ */
101
173
  withDateValue(opts?: FilterDateValueOptsType): this;
174
+ /**
175
+ * Sets placeholder for filter field.
176
+ *
177
+ * @param placeholder Text for placeholder.
178
+ */
102
179
  withPlaceholder(placeholder: string): this;
180
+ /**
181
+ * Sets class name for filter.
182
+ *
183
+ * @param className Class name.
184
+ */
103
185
  withClassName(className: string): this;
186
+ /**
187
+ * Sets class name for column display type.
188
+ *
189
+ * @param className Class name for column.
190
+ */
104
191
  withColumnClassName(className: string): this;
192
+ /**
193
+ * Set column width for column display type.
194
+ *
195
+ * @param width Relative width (in percentage) of table width:
196
+ * @param minWidth
197
+ */
105
198
  withColumnWidth(width?: number, minWidth?: number): this;
199
+ /**
200
+ * Sets input trimming for filter value field.
201
+ *
202
+ * @param trimOption Trim setting.
203
+ */
106
204
  withInputTrimming(trimOption?: InputTrimType): this;
107
- withMatchModes(matchModes: Array<FilterMatchModeExtendedType>): this;
108
- withTitle(key: string): this;
205
+ /**
206
+ * Sets range of match modes for this filter. If non provided, the defaults are applied.
207
+ *
208
+ * @param matchModes Match mode options.
209
+ */
210
+ withMatchModes(matchModes?: Array<FilterMatchModeExtendedType>): this;
211
+ /**
212
+ * Filter title. If non provided, the defaults are applied.
213
+ *
214
+ * @param title Title for the field.
215
+ */
216
+ withTitle(title: string): this;
217
+ /**
218
+ * Copies current descriptor to a new instance.
219
+ */
109
220
  copy(): FilterDescriptor<FilterModel, TableModel>;
110
221
  protected copyFieldsTo(descriptor: FilterDescriptor<FilterModel, TableModel>): void;
111
222
  }
@@ -3,16 +3,20 @@ import { ModelDescriptor, TypeDescriptor } from '@mediusinc/mng-commons/model';
3
3
  import { LookupDataProviderInst } from './lookup.data-provider';
4
4
  export declare class LookupDataProvider extends LookupDataProviderInst<any> {
5
5
  protected constructor();
6
- static create<Model>(): LookupDataProviderInst<Model, undefined, undefined, undefined>;
7
- static fromClass<Model>(type: ClassType<Model>): LookupDataProviderInst<Model, undefined, ClassType<Model>, undefined>;
8
- static fromClassWithService<Model, Service>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>;
9
- static fromService<ServiceType, ModelType>(serviceType: ServiceClassType<ServiceType>): LookupDataProviderInst<ModelType, ServiceType, undefined, ServiceClassType<ServiceType>>;
6
+ static create<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(): LookupDataProviderInst<Model, undefined, Sorts, Filters, undefined, undefined>;
7
+ static fromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>): LookupDataProviderInst<Model, undefined, Sorts, Filters, ClassType<Model>, undefined>;
8
+ static fromClassWithService<Model, Service, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, Sorts, Filters, ClassType<Model>, ServiceClassType<Service>>;
9
+ static fromService<Service, Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(serviceType: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
10
10
  }
11
- export declare function lookupDataProvider<Model>(): LookupDataProviderInst<Model, undefined, undefined, undefined>;
12
- export declare function lookupDataProvider<Model>(type: TypeDescriptor<Model>): LookupDataProviderInst<Model, undefined, undefined, undefined>;
13
- export declare function lookupDataProvider<Model, Service = any>(type: TypeDescriptor<Model>, serviceType: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, undefined, ServiceClassType<Service>>;
14
- export declare function lookupDataProviderWithService<Service, Model>(serviceType: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, undefined, ServiceClassType<Service>>;
15
- export declare function lookupDataProviderFromClass<Model>(type: ClassType<Model>): LookupDataProviderInst<Model, undefined, ClassType<Model>, undefined>;
16
- export declare function lookupDataProviderFromClass<Model, Service = any>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, ClassType<Model>, ServiceClassType<Service>>;
17
- export declare function lookupDataProviderFromModel<Model, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>): LookupDataProviderInst<Model, undefined, ModelClass, undefined>;
18
- export declare function lookupDataProviderFromModel<Model, Service = any, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>, ServiceClass: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, ModelClass, ServiceClassType<Service>>;
11
+ export type LookupDataProviderCreateOptsType<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel> = {
12
+ filtersType?: TypeDescriptor<Filters>;
13
+ sortsType?: TypeDescriptor<Sorts>;
14
+ };
15
+ export declare function lookupDataProvider<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(): LookupDataProviderInst<Model, undefined, Sorts, Filters, undefined, undefined>;
16
+ export declare function lookupDataProvider<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: TypeDescriptor<Model>, opts?: LookupDataProviderCreateOptsType<Model, Sorts, Filters>): LookupDataProviderInst<Model, undefined, Sorts, Filters, undefined, undefined>;
17
+ export declare function lookupDataProvider<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: TypeDescriptor<Model>, serviceType: ServiceClassType<Service>, opts?: LookupDataProviderCreateOptsType<Model, Sorts, Filters>): LookupDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
18
+ export declare function lookupDataProviderWithService<Service, Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(serviceType: ServiceClassType<Service>, opts?: LookupDataProviderCreateOptsType<Model, Sorts, Filters>): LookupDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
19
+ export declare function lookupDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>): LookupDataProviderInst<Model, undefined, Sorts, Filters, ClassType<Model>, undefined>;
20
+ export declare function lookupDataProviderFromClass<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): LookupDataProviderInst<Model, Service, Sorts, Filters, ClassType<Model>, ServiceClassType<Service>>;
21
+ export declare function lookupDataProviderFromModel<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>, opts?: LookupDataProviderCreateOptsType<Model, Sorts, Filters>): LookupDataProviderInst<Model, undefined, Sorts, Filters, ModelClass, undefined>;
22
+ export declare function lookupDataProviderFromModel<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model, Service = any, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>, ServiceClass: ServiceClassType<Service>, opts?: LookupDataProviderCreateOptsType<Model, Sorts, Filters>): LookupDataProviderInst<Model, Service, Sorts, Filters, ModelClass, ServiceClassType<Service>>;
@@ -1,7 +1,7 @@
1
1
  import { ClassOptType, DataProviderInst, ILookupDataProvider, LookupDataProviderLookupFnType, ServiceClassOptType } from '@mediusinc/mng-commons/core';
2
- export declare class LookupDataProviderInst<ModelType, ServiceType = any, CT = ClassOptType<ModelType>, ST = ServiceClassOptType<ServiceType>> extends DataProviderInst<ModelType, ServiceType, CT, ST> implements ILookupDataProvider<ModelType, ServiceType, CT, ST> {
3
- protected _lookup: LookupDataProviderLookupFnType<ModelType, ServiceType>;
4
- constructor(type: CT, serviceType: ST);
5
- get lookup(): LookupDataProviderLookupFnType<ModelType, ServiceType>;
6
- withLookup(fn: LookupDataProviderLookupFnType<ModelType, ServiceType>): this;
2
+ export declare class LookupDataProviderInst<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ModelClass = ClassOptType<Model>, ServiceClass = ServiceClassOptType<Service>> extends DataProviderInst<Model, Service, ModelClass, ServiceClass> implements ILookupDataProvider<Model, Service, Sorts, Filters, ModelClass, ServiceClass> {
3
+ protected _lookup: LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>;
4
+ constructor(type: ModelClass, serviceType: ServiceClass);
5
+ get lookup(): LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>;
6
+ withLookup(fn: LookupDataProviderLookupFnType<Model, Service, Sorts, Filters>): this;
7
7
  }
@@ -11,7 +11,7 @@ export declare class AutocompleteComponent implements ControlValueAccessor, OnIn
11
11
  private readonly destroyRef;
12
12
  private readonly translate;
13
13
  private readonly logger;
14
- dataProvider: import("@angular/core").InputSignal<ILookupDataProvider<any, any>>;
14
+ dataProvider: import("@angular/core").InputSignal<ILookupDataProvider<any, any, any, any>>;
15
15
  optionsTrackProperty: import("@angular/core").InputSignal<string | undefined>;
16
16
  optionsValuePropertyInit: import("@angular/core").InputSignal<string | undefined>;
17
17
  optionsLabelPropertyInit: import("@angular/core").InputSignal<string | undefined>;
@@ -10,7 +10,7 @@ export declare class DropdownComponent implements ControlValueAccessor {
10
10
  private readonly injector;
11
11
  private readonly destroyRef;
12
12
  private readonly translate;
13
- dataProvider: import("@angular/core").InputSignal<ILookupDataProvider<any, any> | undefined>;
13
+ dataProvider: import("@angular/core").InputSignal<ILookupDataProvider<any, any, any, any> | undefined>;
14
14
  options: import("@angular/core").InputSignal<any[]>;
15
15
  optionsTrackProperty: import("@angular/core").InputSignal<string | undefined>;
16
16
  optionsLabelPropertyInit: import("@angular/core").InputSignal<string | undefined>;
@@ -2,4 +2,4 @@ import { ClassAttributeDef, ClassType, ILookupDescriptor } from '@mediusinc/mng-
2
2
  export declare function findClassIdAttribute<T>(classType?: ClassType<T>): string | null;
3
3
  export declare function findClassTitleAttribute<T>(classType?: ClassType<T>): string | null;
4
4
  export declare function getClassAttributeDef<T>(classType?: ClassType<T>): ClassAttributeDef[] | null;
5
- export declare function trySetLookupItemsProperties<T>(lookup: ILookupDescriptor<T>, idAsTrack?: boolean): void;
5
+ export declare function trySetLookupItemsProperties<Model>(lookup: ILookupDescriptor<Model, any, any, any>, idAsTrack?: boolean): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mediusinc/mng-commons",
3
- "version": "5.3.0-rc.3",
3
+ "version": "5.3.0-rc.5",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": "^17.3.0 || ^18.0.0",
6
6
  "@angular/common": "^17.3.0 || ^18.0.0",
@@ -8,11 +8,15 @@ export declare class TableDataProvider extends TableDataProviderInst<any> {
8
8
  static fromClassWithService<Model, Service, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>, serviceType: ServiceClassType<Service>): TableDataProviderInst<Model, Service, Sorts, Filters, ClassType<Model>, ServiceClassType<Service>>;
9
9
  static fromService<Service, Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(serviceType: ServiceClassType<Service>): TableDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
10
10
  }
11
+ export type TableDataProviderCreateOptsType<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel> = {
12
+ filtersType?: TypeDescriptor<Filters>;
13
+ sortsType?: TypeDescriptor<Sorts>;
14
+ };
11
15
  export declare function tableDataProvider<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(): TableDataProviderInst<Model, undefined, Sorts, Filters, undefined, undefined>;
12
- export declare function tableDataProvider<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: TypeDescriptor<Model>): TableDataProviderInst<Model, undefined, Sorts, Filters, undefined, undefined>;
13
- export declare function tableDataProvider<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: TypeDescriptor<Model>, serviceType: ServiceClassType<Service>): TableDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
14
- export declare function tableDataProviderWithService<Service, Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(serviceType: ServiceClassType<Service>): TableDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
16
+ export declare function tableDataProvider<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: TypeDescriptor<Model>, opts?: TableDataProviderCreateOptsType<Model, Sorts, Filters>): TableDataProviderInst<Model, undefined, Sorts, Filters, undefined, undefined>;
17
+ export declare function tableDataProvider<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: TypeDescriptor<Model>, serviceType: ServiceClassType<Service>, opts?: TableDataProviderCreateOptsType<Model, Sorts, Filters>): TableDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
18
+ export declare function tableDataProviderWithService<Service, Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(serviceType: ServiceClassType<Service>, opts?: TableDataProviderCreateOptsType<Model, Sorts, Filters>): TableDataProviderInst<Model, Service, Sorts, Filters, undefined, ServiceClassType<Service>>;
15
19
  export declare function tableDataProviderFromClass<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>): TableDataProviderInst<Model, undefined, Sorts, Filters, ClassType<Model>, undefined>;
16
20
  export 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, ClassType<Model>, ServiceClassType<Service>>;
17
- export declare function tableDataProviderFromModel<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>): TableDataProviderInst<Model, undefined, Sorts, Filters, ModelClass, undefined>;
18
- export declare function tableDataProviderFromModel<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>, ServiceClass: ServiceClassType<Service>): TableDataProviderInst<Model, Service, Sorts, Filters, ModelClass, ServiceClassType<Service>>;
21
+ export declare function tableDataProviderFromModel<Model, Sorts = keyof Model, Filters extends keyof any = keyof Model, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>, opts?: TableDataProviderCreateOptsType<Model, Sorts, Filters>): TableDataProviderInst<Model, undefined, Sorts, Filters, ModelClass, undefined>;
22
+ export declare function tableDataProviderFromModel<Model, Service = any, Sorts = keyof Model, Filters extends keyof any = keyof Model, ModelClass = ClassType<Model>>(model: ModelDescriptor<Model, ModelClass>, serviceClass: ServiceClassType<Service>, opts?: TableDataProviderCreateOptsType<Model, Sorts, Filters>): TableDataProviderInst<Model, Service, Sorts, Filters, ModelClass, ServiceClassType<Service>>;
@@ -83,30 +83,151 @@ export declare class ColumnDescriptor<ColumnModel, TableModel, ColumnValue = Col
83
83
  get localizationExistsProperty(): string | undefined;
84
84
  /**
85
85
  * Converts column to given type with additional arguments
86
- * @param type column type enum
87
- * @param displayType column display type
88
- * @param args any additional arguments for column (optional)
86
+ *
87
+ * @param type Column type enum.
88
+ * @param displayType Column display type
89
+ * @param args Any additional arguments that might be needed for specific target type.
89
90
  */
90
91
  asType(type: ColumnTypeEnum, displayType?: ColumnDisplayTypeEnum, ...args: any[]): this;
92
+ /**
93
+ * Set column display as number.
94
+ *
95
+ * @param opts Options for number display.
96
+ */
91
97
  asNumber(opts?: ColumnNumberOptsType): this;
98
+ /**
99
+ * Set column display as currency.
100
+ *
101
+ * @param opts Options for currency display.
102
+ */
92
103
  asCurrency(opts?: ColumnCurrencyOptsType<keyof TableModel>): this;
104
+ /**
105
+ * Set column display as currency.
106
+ *
107
+ * This function is UNSAFE!
108
+ *
109
+ * @param opts Options for currency display.
110
+ */
93
111
  asCurrencyUnsafe(opts?: ColumnCurrencyOptsType): this;
112
+ /**
113
+ * Set column display as date.
114
+ *
115
+ * @param displayFormat Date display format (in Angular date formatting).
116
+ */
94
117
  asDate(displayFormat?: string): this;
118
+ /**
119
+ * Set column display as boolean.
120
+ *
121
+ * @param yes Translation key for true value.
122
+ * @param no Translation key for false value.
123
+ * @param asIcon Use true/false texts as icon.
124
+ */
95
125
  asBoolean(yes?: string, no?: string, asIcon?: boolean): this;
126
+ /**
127
+ * Set column display as enum.
128
+ *
129
+ * @param enumDesc Enum descriptor for value display.
130
+ */
96
131
  asEnumUnsafe(enumDesc: EnumDescriptor<any>): this;
132
+ /**
133
+ * Set column display with custom component.
134
+ *
135
+ * @param customComponentType Component type to be used for display. Must implement {IColumnValueComponent}.
136
+ */
97
137
  asCustomComponent(customComponentType: Type<IColumnValueComponent<ColumnValue, TableModel, ColumnModel>>): this;
138
+ /**
139
+ * Sets columns display as HTML using Angular innerHTML.
140
+ */
98
141
  asHtml(): this;
142
+ /**
143
+ * Sets the class names for the column.
144
+ *
145
+ * @param className - The class name for the element column.
146
+ * @param headerClassName - The class name for the header element of the column.
147
+ * @param classNameMapFn - A function to return class name based on the current class name and row item value.
148
+ */
99
149
  withClassName(className?: string, headerClassName?: string, classNameMapFn?: (className?: string, item?: TableModel) => string): this;
150
+ /**
151
+ * Sets the width for the column.
152
+ *
153
+ * @param width - The desired width in percents (relative to table width).
154
+ * @param minWidth - The minimum width of column in pixels.
155
+ * @param maxWidth - The maximum width of column in pixels.
156
+ */
100
157
  withWidth(width?: number, minWidth?: number, maxWidth?: number): this;
101
- withTitle(title: string): this;
158
+ /**
159
+ * Sets the title for the column. If title is undefined, then the title will be calculated based on table model (i18nBase) and column property.
160
+ *
161
+ * @param title - The title of the column.
162
+ */
163
+ withTitle(title?: string): this;
164
+ /**
165
+ * Enables button that copies column value to the clipboard.
166
+ *
167
+ * @param hasCopyToClipboard - Flag to enable/disable the feature.
168
+ * @param clipboardValueGetter - Optional getter function to adjust the value to be copied to clipboard.
169
+ */
102
170
  withCopyToClipboard(hasCopyToClipboard?: boolean, clipboardValueGetter?: GetterFn<ColumnValue, TableModel>): this;
171
+ /**
172
+ * Sets the template for displaying value.
173
+ *
174
+ * Use `{{}}` syntax for string interpolation within template.
175
+ * Use `item` key to access value of row item.
176
+ *
177
+ * Example interpolates row item's title within some text:
178
+ * ```
179
+ * This template shows {{item.title}} value in column.
180
+ * ```
181
+ *
182
+ * @param {string} template - The template to set.
183
+ *
184
+ * @usageNotes
185
+ * Display item's title property within some text:
186
+ *
187
+ * ```
188
+ * This template shows {{item.title}} value in column.
189
+ * ```
190
+ */
103
191
  withTemplate(template: string): this;
192
+ /**
193
+ * Sets the getter function for adjusting the column value for display.
194
+ *
195
+ * @param {GetterFn<ColumnValue, TableModel>} getter - The getter function to be used.
196
+ */
104
197
  withGetter(getter?: GetterFn<ColumnValue, TableModel>): this;
198
+ /**
199
+ * Show text in multiple lines (useful for displaying of long texts).
200
+ *
201
+ * @param isMultiline Enables/disabled the feature.
202
+ */
105
203
  withMultiline(isMultiline?: boolean): this;
204
+ /**
205
+ * Shows the whole display value as text (usefule when display values are expected to be to long and/or are overflown).
206
+ *
207
+ * @param valueAsTooltip Enables/disabled the feature.
208
+ */
106
209
  withValueAsTooltip(valueAsTooltip?: boolean): this;
210
+ /**
211
+ * Enables ordering of column.
212
+ *
213
+ * @param isReorderable Flag to enable/disable reordering.
214
+ */
107
215
  withReorderable(isReorderable?: boolean): this;
216
+ /**
217
+ * Enables toggling column visibility.
218
+ *
219
+ * @param isReorderable Flag to enable/disable visibility toggle.
220
+ */
108
221
  withToggleable(isToggleable?: boolean, isVisible?: boolean): this;
109
- localized(existsProperty?: string): this;
222
+ /**
223
+ * Enables localization of column by displaying flag if the column value is localized (or just displaying default fallback text).
224
+ *
225
+ * @param existsProperty Property to mark
226
+ */
227
+ localized(existsProperty?: keyof TableModel): this;
228
+ /**
229
+ * Copies current descriptor to a new instance.
230
+ */
110
231
  copy(): ColumnDescriptor<ColumnModel, TableModel, ColumnValue>;
111
232
  protected copyFieldsTo(obj: ColumnDescriptor<ColumnModel, TableModel, ColumnValue>): void;
112
233
  }
@@ -10,8 +10,30 @@ export declare class SortDescriptor<TableModel> {
10
10
  get defaultIsEnabled(): boolean;
11
11
  get defaultIsAscending(): boolean | undefined;
12
12
  get defaultOrder(): number | undefined;
13
+ /**
14
+ * Shows sort on column for giver property.
15
+ *
16
+ * @param property Column property.
17
+ */
13
18
  withShowOnColumn(property: keyof TableModel): this;
19
+ /**
20
+ * Shows sort on column for giver property.
21
+ *
22
+ * This function is UNSAFE!
23
+ *
24
+ * @param property Column property.
25
+ */
14
26
  withShowOnColumnUnsafe(property: string): this;
27
+ /**
28
+ * Sets the default sort for this descriptor.
29
+ *
30
+ * @param {boolean} enabled - Enables/disables the feature. Default is true.
31
+ * @param {boolean} [ascending] - If the sort is ascending. Default is true.
32
+ * @param {number} [order] - Order index in case of multiple default sorts.
33
+ */
15
34
  withDefaultSort(enabled?: boolean, ascending?: boolean, order?: number): this;
35
+ /**
36
+ * Copies current descriptor to a new instance.
37
+ */
16
38
  copy(): SortDescriptor<TableModel>;
17
39
  }
@@ -23,11 +23,15 @@ export declare class TableDescriptor extends TableDescriptorInst<any> {
23
23
  */
24
24
  static fromClassWithCustomAttrsDef<TableModel>(type: ClassType<TableModel>, attributes: TableClassAttributeDef[], idProperty?: keyof TableModel, titleProperty?: keyof TableModel): TableDescriptorInst<TableModel>;
25
25
  }
26
- export type TableDescriptorCreateOptsType<TableModel> = ModelDescriptorCreateOpts<TableModel>;
26
+ export type TableDescriptorSortsFiltersCreateOptsType<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel> = {
27
+ filtersType?: TypeDescriptor<Filters>;
28
+ sortsType?: TypeDescriptor<Sorts>;
29
+ };
30
+ export type TableDescriptorCreateOptsType<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel> = TableDescriptorSortsFiltersCreateOptsType<TableModel, Sorts, Filters> & ModelDescriptorCreateOpts<TableModel>;
27
31
  export declare function tableDescriptor<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(): TableDescriptorInst<TableModel, Sorts, Filters>;
28
- export declare function tableDescriptor<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(opts: TableDescriptorCreateOptsType<TableModel>): TableDescriptorInst<TableModel, Sorts, Filters>;
29
- export declare function tableDescriptor<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(model: ModelDescriptor<TableModel>): TableDescriptorInst<TableModel, Sorts, Filters>;
30
- export declare function tableDescriptor<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(type: TypeDescriptor<TableModel>, opts?: TableDescriptorCreateOptsType<TableModel>): TableDescriptorInst<TableModel, Sorts, Filters>;
32
+ export declare function tableDescriptor<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(opts: TableDescriptorCreateOptsType<TableModel, Sorts, Filters>): TableDescriptorInst<TableModel, Sorts, Filters>;
33
+ export declare function tableDescriptor<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(model: ModelDescriptor<TableModel>, opts?: TableDescriptorSortsFiltersCreateOptsType<TableModel, Sorts, Filters>): TableDescriptorInst<TableModel, Sorts, Filters>;
34
+ export declare function tableDescriptor<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(type: TypeDescriptor<TableModel>, opts?: TableDescriptorCreateOptsType<TableModel, Sorts, Filters>): TableDescriptorInst<TableModel, Sorts, Filters>;
31
35
  export declare function tableDescriptorFromClass<TableModel, Sorts = keyof TableModel, Filters = keyof TableModel>(type: ClassType<TableModel>, opts?: TableDescriptorCreateOptsType<TableModel>): TableDescriptorInst<TableModel, Sorts, Filters>;
32
36
  /**
33
37
  * generates descriptor based on type attribute definition