@mediusinc/mng-commons 5.3.0-rc.1 → 5.3.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/data-list/filter-metadata.model.d.ts +20 -0
- package/core/helpers/number.d.ts +5 -0
- package/core/helpers/type-helpers.d.ts +1 -0
- package/core/index.d.ts +2 -0
- package/core/provide.d.ts +3 -2
- package/core/services/tokens/module-config.token.d.ts +7 -6
- package/esm2022/core/data-list/data-list-params-helpers.mjs +3 -1
- package/esm2022/core/data-list/filter-metadata.model.mjs +2 -0
- package/esm2022/core/helpers/date.mjs +2 -2
- package/esm2022/core/helpers/number.mjs +19 -0
- package/esm2022/core/helpers/type-helpers.mjs +1 -1
- package/esm2022/core/index.mjs +3 -1
- package/esm2022/core/pipes/boolean.pipe.mjs +7 -1
- package/esm2022/core/provide.mjs +4 -3
- package/esm2022/core/services/tokens/module-config.token.mjs +1 -1
- package/esm2022/filter/descriptors/filter-lookup.descriptor.mjs +2 -3
- package/esm2022/filter/descriptors/filter.descriptor.mjs +76 -31
- package/esm2022/filter/models/filter.model.mjs +6 -1
- package/esm2022/form/components/date-range/date-range.component.mjs +45 -14
- package/esm2022/form/components/dropdown/dropdown.component.mjs +77 -93
- package/esm2022/form/components/number-range/number-range.component.mjs +29 -12
- package/esm2022/table/api/descriptors/column.descriptor.mjs +2 -1
- package/esm2022/table/api/descriptors/table.descriptor.mjs +11 -20
- package/esm2022/table/api/models/table-columns.model.mjs +1 -1
- package/esm2022/table/api/models/table.model.mjs +1 -1
- package/esm2022/table/components/column-filter/column-filter.component.mjs +396 -0
- package/esm2022/table/components/filter/filter-active-tag/filter-active-tag.component.mjs +52 -0
- package/esm2022/table/components/filter/filter-form/filter-form.component.mjs +197 -0
- package/esm2022/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.mjs +135 -0
- package/esm2022/table/components/table/table.component.mjs +34 -25
- package/esm2022/table/helpers/filters.mjs +297 -0
- package/esm2022/table/index.mjs +13 -2
- package/esm2022/table/models/filter.model.mjs +2 -0
- package/esm2022/table/pipes/filter-value.pipe.mjs +77 -0
- package/esm2022/table/provide.mjs +19 -0
- package/esm2022/table/services/data-list.service.mjs +1 -1
- package/esm2022/table/services/table-feature-config.token.mjs +3 -0
- package/esm2022/tableview/action/components/editor/injector-context/action-editor-injector-context.component.mjs +2 -2
- package/esm2022/tableview/action/components/localization/data-language-dropdown.component.mjs +2 -2
- package/esm2022/tableview/api/editor/descriptors/field.descriptor.mjs +1 -1
- package/esm2022/tableview/api/editor/models/editor-fields.model.mjs +1 -1
- package/esm2022/tableview/api/tableview/descriptors/tableview.descriptor.mjs +11 -13
- package/esm2022/tableview/editor/components/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +2 -2
- package/esm2022/tableview/tableview/components/tableview/tableview.component.mjs +3 -4
- package/fesm2022/mediusinc-mng-commons-core.mjs +32 -4
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +81 -32
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +149 -117
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs +11 -19
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table.mjs +832 -359
- package/fesm2022/mediusinc-mng-commons-table.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +10 -12
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +5 -5
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/filter/descriptors/filter.descriptor.d.ts +60 -16
- package/filter/models/filter.model.d.ts +4 -0
- package/form/components/date-range/date-range.component.d.ts +9 -3
- package/form/components/dropdown/dropdown.component.d.ts +6 -7
- package/form/components/number-range/number-range.component.d.ts +8 -4
- package/i18n/en.json +32 -0
- package/i18n/sl.json +32 -0
- package/package.json +7 -7
- package/table/api/descriptors/table.descriptor.d.ts +7 -7
- package/table/api/models/table-columns.model.d.ts +3 -3
- package/table/api/models/table.model.d.ts +0 -12
- package/table/components/{column-filter-full/column-filter-full.component.d.ts → column-filter/column-filter.component.d.ts} +23 -38
- package/table/components/filter/filter-active-tag/filter-active-tag.component.d.ts +20 -0
- package/table/components/filter/filter-form/filter-form.component.d.ts +53 -0
- package/table/components/filter/filter-overlay-with-tag/filter-overlay-with-tag.component.d.ts +35 -0
- package/table/components/table/table.component.d.ts +10 -7
- package/table/helpers/filters.d.ts +31 -0
- package/table/index.d.ts +10 -1
- package/table/models/filter.model.d.ts +24 -0
- package/table/pipes/filter-value.pipe.d.ts +19 -0
- package/table/provide.d.ts +8 -0
- package/table/services/data-list.service.d.ts +3 -2
- package/table/services/table-feature-config.token.d.ts +6 -0
- package/tableview/api/editor/descriptors/field.descriptor.d.ts +3 -3
- package/tableview/api/editor/models/editor-fields.model.d.ts +4 -4
- package/tableview/api/tableview/descriptors/tableview.descriptor.d.ts +8 -6
- package/version-info.json +5 -5
- package/esm2022/table/components/column-filter-full/column-filter-full.component.mjs +0 -655
|
@@ -17,18 +17,19 @@ var FilterLookupTypeEnum;
|
|
|
17
17
|
FilterLookupTypeEnum[FilterLookupTypeEnum["Dropdown"] = 0] = "Dropdown";
|
|
18
18
|
FilterLookupTypeEnum[FilterLookupTypeEnum["Autocomplete"] = 1] = "Autocomplete";
|
|
19
19
|
})(FilterLookupTypeEnum || (FilterLookupTypeEnum = {}));
|
|
20
|
+
var FilterDisplayTypeEnum;
|
|
21
|
+
(function (FilterDisplayTypeEnum) {
|
|
22
|
+
FilterDisplayTypeEnum[FilterDisplayTypeEnum["Column"] = 0] = "Column";
|
|
23
|
+
FilterDisplayTypeEnum[FilterDisplayTypeEnum["OverlayWithTag"] = 1] = "OverlayWithTag";
|
|
24
|
+
})(FilterDisplayTypeEnum || (FilterDisplayTypeEnum = {}));
|
|
20
25
|
|
|
21
26
|
class FilterDescriptor {
|
|
22
27
|
constructor(property) {
|
|
23
28
|
this._filterType = FilterTypeEnum.String;
|
|
29
|
+
// default value
|
|
24
30
|
this._hasDefaultValue = false;
|
|
25
31
|
this._matchModes = null;
|
|
26
32
|
this._numberUseGrouping = true;
|
|
27
|
-
this._datePickerShowTime = false;
|
|
28
|
-
this._datePickerShowSeconds = false;
|
|
29
|
-
this._datePickerValueNoTime = undefined;
|
|
30
|
-
this._datePickerValueNoTimezone = undefined;
|
|
31
|
-
this._datePickerValueUtc = undefined;
|
|
32
33
|
this._className = '';
|
|
33
34
|
this._columnClassName = '';
|
|
34
35
|
this._columnWidth = null;
|
|
@@ -42,6 +43,9 @@ class FilterDescriptor {
|
|
|
42
43
|
get showOnColumn() {
|
|
43
44
|
return this._showOnColumn;
|
|
44
45
|
}
|
|
46
|
+
get displayType() {
|
|
47
|
+
return this._displayType;
|
|
48
|
+
}
|
|
45
49
|
get hasDefaultValue() {
|
|
46
50
|
return this._hasDefaultValue;
|
|
47
51
|
}
|
|
@@ -54,6 +58,15 @@ class FilterDescriptor {
|
|
|
54
58
|
get matchModes() {
|
|
55
59
|
return this._matchModes;
|
|
56
60
|
}
|
|
61
|
+
get displayFormat() {
|
|
62
|
+
return this._displayFormat;
|
|
63
|
+
}
|
|
64
|
+
get displayFormatApplyToField() {
|
|
65
|
+
return this._displayFormatApplyToField;
|
|
66
|
+
}
|
|
67
|
+
get locale() {
|
|
68
|
+
return this._locale;
|
|
69
|
+
}
|
|
57
70
|
get numberMinFractionDigits() {
|
|
58
71
|
return this._numberMinFractionDigits;
|
|
59
72
|
}
|
|
@@ -72,14 +85,14 @@ class FilterDescriptor {
|
|
|
72
85
|
get datePickerShowSeconds() {
|
|
73
86
|
return this._datePickerShowSeconds;
|
|
74
87
|
}
|
|
75
|
-
get
|
|
76
|
-
return this.
|
|
88
|
+
get dateValueUtc() {
|
|
89
|
+
return this._dateValueUtc;
|
|
77
90
|
}
|
|
78
|
-
get
|
|
79
|
-
return this.
|
|
91
|
+
get dateValueNoTimezone() {
|
|
92
|
+
return this._dateValueNoTimezone;
|
|
80
93
|
}
|
|
81
|
-
get
|
|
82
|
-
return this.
|
|
94
|
+
get dateValueNoTime() {
|
|
95
|
+
return this._dateValueNoTime;
|
|
83
96
|
}
|
|
84
97
|
get placeholder() {
|
|
85
98
|
return this._placeholder;
|
|
@@ -102,15 +115,33 @@ class FilterDescriptor {
|
|
|
102
115
|
get property() {
|
|
103
116
|
return this._property;
|
|
104
117
|
}
|
|
118
|
+
get title() {
|
|
119
|
+
return this._title;
|
|
120
|
+
}
|
|
105
121
|
asFilterType(filterType) {
|
|
106
122
|
this._filterType = filterType;
|
|
107
123
|
return this;
|
|
108
124
|
}
|
|
109
|
-
|
|
110
|
-
|
|
125
|
+
asDate(opts) {
|
|
126
|
+
this._filterType = FilterTypeEnum.Date;
|
|
127
|
+
this.withDisplayFormat(opts?.displayFormat).withDatePickerDisplay(opts).withDateValue(opts);
|
|
128
|
+
return this;
|
|
129
|
+
}
|
|
130
|
+
asNumber(opts) {
|
|
131
|
+
this._filterType = FilterTypeEnum.Number;
|
|
132
|
+
this.withDisplayFormat(opts?.displayFormat).withNumberFractions(opts?.minFractionDigits, opts?.maxFractionDigits).withLocale(opts?.locale);
|
|
133
|
+
return this;
|
|
134
|
+
}
|
|
135
|
+
withShowOnColumn(property, displayType = FilterDisplayTypeEnum.Column) {
|
|
136
|
+
return this.withShowOnColumnUnsafe(property, displayType);
|
|
111
137
|
}
|
|
112
|
-
|
|
138
|
+
withDisplayType(type) {
|
|
139
|
+
this._displayType = type;
|
|
140
|
+
return this;
|
|
141
|
+
}
|
|
142
|
+
withShowOnColumnUnsafe(property, displayType = FilterDisplayTypeEnum.Column) {
|
|
113
143
|
this._showOnColumn = property;
|
|
144
|
+
this._displayType = displayType;
|
|
114
145
|
return this;
|
|
115
146
|
}
|
|
116
147
|
withDefaultFilter(value, matchMode) {
|
|
@@ -121,10 +152,10 @@ class FilterDescriptor {
|
|
|
121
152
|
return this;
|
|
122
153
|
}
|
|
123
154
|
validateDefaultFilter(value, matchMode) {
|
|
124
|
-
if (matchMode === 'between' && (!Array.isArray(value) || value.filter(v => v != null).length !== 2)) {
|
|
155
|
+
if (matchMode === 'between' && value != null && (!Array.isArray(value) || value.filter(v => v != null).length !== 2)) {
|
|
125
156
|
throw new CommonsInternalError(`Default value for filter match mode ${matchMode} must provide exactly 2 values in array`);
|
|
126
157
|
}
|
|
127
|
-
if ((matchMode === 'in' || matchMode === 'notIn') && (!Array.isArray(value) || value.filter(v => v != null).length === 0)) {
|
|
158
|
+
if ((matchMode === 'in' || matchMode === 'notIn') && value != null && (!Array.isArray(value) || value.filter(v => v != null).length === 0)) {
|
|
128
159
|
throw new CommonsInternalError(`Default value for filter match mode ${matchMode} must be array and provide at least 1 non-null value`);
|
|
129
160
|
}
|
|
130
161
|
if (matchMode === 'exists' || matchMode === 'doesNotExist') {
|
|
@@ -135,6 +166,15 @@ class FilterDescriptor {
|
|
|
135
166
|
LoggerService.get().debug(`WARNING: Default filter match mode '${matchMode}' could not be assigned for property ${this._property}.`);
|
|
136
167
|
}
|
|
137
168
|
}
|
|
169
|
+
withDisplayFormat(format, applyToField) {
|
|
170
|
+
this._displayFormat = format;
|
|
171
|
+
this._displayFormatApplyToField = applyToField;
|
|
172
|
+
return this;
|
|
173
|
+
}
|
|
174
|
+
withLocale(locale) {
|
|
175
|
+
this._locale = locale;
|
|
176
|
+
return this;
|
|
177
|
+
}
|
|
138
178
|
withNumberFractions(min, max) {
|
|
139
179
|
this._numberMinFractionDigits = min;
|
|
140
180
|
this._numberMaxFractionDigits = max;
|
|
@@ -144,22 +184,26 @@ class FilterDescriptor {
|
|
|
144
184
|
this._numberUseGrouping = useGrouping;
|
|
145
185
|
return this;
|
|
146
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* @deprecated Use ${withDatePickerDisplay} instead.
|
|
189
|
+
*/
|
|
147
190
|
withDateFormat(format, showTime = false, showSeconds = false) {
|
|
148
191
|
this._datePickerFormat = format;
|
|
149
192
|
this._datePickerShowTime = showTime;
|
|
150
193
|
this._datePickerShowSeconds = showSeconds;
|
|
151
194
|
return this;
|
|
152
195
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
196
|
+
withDatePickerDisplay(opts) {
|
|
197
|
+
this._displayFormatApplyToField = opts?.applyFromDisplayFormat;
|
|
198
|
+
this._datePickerFormat = opts?.format;
|
|
199
|
+
this._datePickerShowTime = opts?.showTime;
|
|
200
|
+
this._datePickerShowSeconds = opts?.showSeconds;
|
|
201
|
+
return this;
|
|
202
|
+
}
|
|
203
|
+
withDateValue(opts) {
|
|
204
|
+
this._dateValueUtc = opts?.utc;
|
|
205
|
+
this._dateValueNoTimezone = opts?.noTimeZone;
|
|
206
|
+
this._dateValueNoTime = opts?.noTime;
|
|
163
207
|
return this;
|
|
164
208
|
}
|
|
165
209
|
withPlaceholder(placeholder) {
|
|
@@ -187,6 +231,10 @@ class FilterDescriptor {
|
|
|
187
231
|
this._matchModes = matchModes;
|
|
188
232
|
return this;
|
|
189
233
|
}
|
|
234
|
+
withTitle(key) {
|
|
235
|
+
this._title = key;
|
|
236
|
+
return this;
|
|
237
|
+
}
|
|
190
238
|
copy() {
|
|
191
239
|
const descriptor = new FilterDescriptor(this._property);
|
|
192
240
|
this.copyFieldsTo(descriptor);
|
|
@@ -197,14 +245,16 @@ class FilterDescriptor {
|
|
|
197
245
|
descriptor._hasDefaultValue = this._hasDefaultValue;
|
|
198
246
|
descriptor._defaultValue = this._defaultValue;
|
|
199
247
|
descriptor._defaultMatchMode = this._defaultMatchMode;
|
|
248
|
+
descriptor._displayFormat = this._displayFormat;
|
|
249
|
+
descriptor._locale = this._locale;
|
|
200
250
|
descriptor._numberMinFractionDigits = this._numberMinFractionDigits;
|
|
201
251
|
descriptor._numberMaxFractionDigits = this._numberMaxFractionDigits;
|
|
202
252
|
descriptor._numberUseGrouping = this._numberUseGrouping;
|
|
203
253
|
descriptor._datePickerFormat = this._datePickerFormat;
|
|
204
254
|
descriptor._datePickerShowTime = this._datePickerShowTime;
|
|
205
|
-
descriptor.
|
|
206
|
-
descriptor.
|
|
207
|
-
descriptor.
|
|
255
|
+
descriptor._dateValueUtc = this._dateValueUtc;
|
|
256
|
+
descriptor._dateValueNoTimezone = this._dateValueNoTimezone;
|
|
257
|
+
descriptor._dateValueNoTime = this._dateValueNoTime;
|
|
208
258
|
descriptor._placeholder = this._placeholder;
|
|
209
259
|
descriptor._className = this._className;
|
|
210
260
|
descriptor._columnWidth = this._columnWidth;
|
|
@@ -284,8 +334,6 @@ class FilterLookupDescriptor extends FilterDescriptor {
|
|
|
284
334
|
}
|
|
285
335
|
withMultiselect(multiselect = true) {
|
|
286
336
|
this._multiselect = multiselect;
|
|
287
|
-
this._defaultMatchMode = 'in';
|
|
288
|
-
this.withMatchModes(['in', 'notIn']);
|
|
289
337
|
return this;
|
|
290
338
|
}
|
|
291
339
|
withDropdownClassName(dropdownClassName) {
|
|
@@ -334,6 +382,7 @@ class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
|
334
382
|
optionsValueProperty: 'value'
|
|
335
383
|
});
|
|
336
384
|
this._nameAsValue = false;
|
|
385
|
+
this._filterType = FilterTypeEnum.LookupEnum;
|
|
337
386
|
this._enum = enumDesc;
|
|
338
387
|
this._optionEnumValues = Array.isArray(options)
|
|
339
388
|
? fromEnumValuesAsValueArray(this._enum.type, options, this._enum.nameAsValue, this._enum.i18nBaseKey ?? undefined)
|
|
@@ -398,5 +447,5 @@ class FilterLookupEnumDescriptor extends FilterLookupDescriptor {
|
|
|
398
447
|
* Generated bundle index. Do not edit.
|
|
399
448
|
*/
|
|
400
449
|
|
|
401
|
-
export { FilterDescriptor, FilterLookupDescriptor, FilterLookupEnumDescriptor, FilterLookupTypeEnum, FilterTypeEnum };
|
|
450
|
+
export { FilterDescriptor, FilterDisplayTypeEnum, FilterLookupDescriptor, FilterLookupEnumDescriptor, FilterLookupTypeEnum, FilterTypeEnum };
|
|
402
451
|
//# sourceMappingURL=mediusinc-mng-commons-filter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediusinc-mng-commons-filter.mjs","sources":["../../filter/src/models/filter.model.ts","../../filter/src/descriptors/filter.descriptor.ts","../../filter/src/descriptors/filter-lookup.descriptor.ts","../../filter/src/index.ts","../../filter/src/mediusinc-mng-commons-filter.ts"],"sourcesContent":["export enum FilterTypeEnum {\n String,\n Number,\n Boolean,\n Date,\n Lookup,\n LookupEnum\n}\n\nexport enum FilterLookupTypeEnum {\n Dropdown,\n Autocomplete\n}\n","import {CommonsInternalError, FilterMatchModeExtendedType, IFilterDescriptor, LoggerService} from '@mediusinc/mng-commons/core';\nimport {InputTrimType} from '@mediusinc/mng-commons/form/api';\n\nimport {FilterTypeEnum} from '../models/filter.model';\n\nexport class FilterDescriptor<FilterModel, TableModel> implements IFilterDescriptor<FilterModel, TableModel> {\n protected readonly _property: string;\n protected _showOnColumn: string;\n\n protected _filterType = FilterTypeEnum.String;\n\n protected _hasDefaultValue = false;\n protected _defaultMatchMode?: FilterMatchModeExtendedType;\n protected _defaultValue?: FilterModel | FilterModel[];\n protected _matchModes: string[] | null = null;\n\n // number filter specific properties\n protected _numberMinFractionDigits?: number;\n protected _numberMaxFractionDigits?: number;\n protected _numberUseGrouping = true;\n\n // date filter specific properties\n protected _datePickerFormat?: string;\n protected _datePickerShowTime = false;\n protected _datePickerShowSeconds = false;\n protected _datePickerValueNoTime?: boolean = undefined;\n protected _datePickerValueNoTimezone?: boolean = undefined;\n protected _datePickerValueUtc?: boolean = undefined;\n\n protected _placeholder?: string;\n protected _className = '';\n protected _columnClassName = '';\n protected _columnWidth: number | null = null;\n protected _columnMinWidth: number | null = null;\n protected _inputTrim?: InputTrimType;\n\n constructor(property: string) {\n this._property = property;\n this._showOnColumn = property;\n }\n\n public get filterType() {\n return this._filterType;\n }\n\n public get showOnColumn() {\n return this._showOnColumn;\n }\n\n public get hasDefaultValue() {\n return this._hasDefaultValue;\n }\n\n public get defaultValue() {\n return this._defaultValue;\n }\n\n public get defaultMatchMode() {\n return this._defaultMatchMode;\n }\n\n public get matchModes() {\n return this._matchModes;\n }\n\n public get numberMinFractionDigits() {\n return this._numberMinFractionDigits;\n }\n\n public get numberMaxFractionDigits() {\n return this._numberMaxFractionDigits;\n }\n\n public get numberUseGrouping() {\n return this._numberUseGrouping;\n }\n\n public get datePickerFormat() {\n return this._datePickerFormat;\n }\n\n public get datePickerShowTime() {\n return this._datePickerShowTime;\n }\n\n public get datePickerShowSeconds() {\n return this._datePickerShowSeconds;\n }\n\n public get datePickerValueUtc() {\n return this._datePickerValueUtc;\n }\n\n public get datePickerValueNoTimezone() {\n return this._datePickerValueNoTimezone;\n }\n\n public get datePickerValueNoTime() {\n return this._datePickerValueNoTime;\n }\n\n public get placeholder() {\n return this._placeholder;\n }\n\n public get className() {\n return this._className;\n }\n\n public get columnClassName() {\n return this._columnClassName;\n }\n\n public get columnWidth() {\n return this._columnWidth;\n }\n\n public get columnMinWidth() {\n return this._columnMinWidth;\n }\n\n public get trimOption() {\n return this._inputTrim;\n }\n\n public get property() {\n return this._property;\n }\n\n public asFilterType(filterType: FilterTypeEnum) {\n this._filterType = filterType;\n return this;\n }\n\n public withShowOnColumn(property: keyof TableModel): this {\n return this.withShowOnColumnUnsafe(property as string);\n }\n\n public withShowOnColumnUnsafe(property: string): this {\n this._showOnColumn = property;\n return this;\n }\n\n public withDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType): this {\n this._hasDefaultValue = true;\n this._defaultValue = value;\n this._defaultMatchMode = matchMode;\n this.validateDefaultFilter(value, matchMode);\n return this;\n }\n\n protected validateDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType) {\n if (matchMode === 'between' && (!Array.isArray(value) || value.filter(v => v != null).length !== 2)) {\n throw new CommonsInternalError(`Default value for filter match mode ${matchMode} must provide exactly 2 values in array`);\n }\n if ((matchMode === 'in' || matchMode === 'notIn') && (!Array.isArray(value) || value.filter(v => v != null).length === 0)) {\n throw new CommonsInternalError(`Default value for filter match mode ${matchMode} must be array and provide at least 1 non-null value`);\n }\n if (matchMode === 'exists' || matchMode === 'doesNotExist') {\n this._defaultValue = undefined;\n }\n\n if (matchMode && this._matchModes && this._matchModes.indexOf(matchMode) < 0) {\n this._defaultMatchMode = undefined;\n LoggerService.get().debug(`WARNING: Default filter match mode '${matchMode}' could not be assigned for property ${this._property}.`);\n }\n }\n\n public withNumberFractions(min?: number, max?: number) {\n this._numberMinFractionDigits = min;\n this._numberMaxFractionDigits = max;\n return this;\n }\n\n public withNumberGrouping(useGrouping = true): this {\n this._numberUseGrouping = useGrouping;\n return this;\n }\n\n public withDateFormat(format?: string, showTime = false, showSeconds = false): this {\n this._datePickerFormat = format;\n this._datePickerShowTime = showTime;\n this._datePickerShowSeconds = showSeconds;\n return this;\n }\n\n public withDateValue(utc?: boolean, noTimezone?: boolean, noTime?: boolean): this {\n if (typeof utc !== 'undefined') {\n this._datePickerValueUtc = utc;\n }\n if (typeof noTimezone !== 'undefined') {\n this._datePickerValueNoTimezone = noTimezone;\n }\n if (typeof noTime !== 'undefined') {\n this._datePickerValueNoTime = noTime;\n }\n return this;\n }\n\n public withPlaceholder(placeholder: string): this {\n this._placeholder = placeholder;\n return this;\n }\n\n public withClassName(className: string): this {\n this._className = className;\n return this;\n }\n\n public withColumnClassName(className: string): this {\n this._columnClassName = className;\n return this;\n }\n\n public withColumnWidth(width?: number, minWidth?: number): this {\n this._columnWidth = width ?? null;\n this._columnMinWidth = minWidth ?? null;\n return this;\n }\n\n public withInputTrimming(trimOption: InputTrimType = 'both'): this {\n this._inputTrim = trimOption;\n return this;\n }\n\n public withMatchModes(matchModes: Array<FilterMatchModeExtendedType>): this {\n this._matchModes = matchModes;\n return this;\n }\n\n public copy(): FilterDescriptor<FilterModel, TableModel> {\n const descriptor = new FilterDescriptor<FilterModel, TableModel>(this._property);\n this.copyFieldsTo(descriptor);\n return descriptor;\n }\n\n protected copyFieldsTo(descriptor: FilterDescriptor<FilterModel, TableModel>) {\n descriptor._filterType = this._filterType;\n descriptor._hasDefaultValue = this._hasDefaultValue;\n descriptor._defaultValue = this._defaultValue;\n descriptor._defaultMatchMode = this._defaultMatchMode;\n descriptor._numberMinFractionDigits = this._numberMinFractionDigits;\n descriptor._numberMaxFractionDigits = this._numberMaxFractionDigits;\n descriptor._numberUseGrouping = this._numberUseGrouping;\n descriptor._datePickerFormat = this._datePickerFormat;\n descriptor._datePickerShowTime = this._datePickerShowTime;\n descriptor._datePickerValueUtc = this._datePickerValueUtc;\n descriptor._datePickerValueNoTimezone = this._datePickerValueNoTimezone;\n descriptor._datePickerValueNoTime = this._datePickerValueNoTime;\n descriptor._placeholder = this._placeholder;\n descriptor._className = this._className;\n descriptor._columnWidth = this._columnWidth;\n descriptor._columnMinWidth = this._columnMinWidth;\n descriptor._columnClassName = this._columnClassName;\n }\n}\n","import {of} from 'rxjs';\n\nimport {\n ClassOptType,\n ClassType,\n CommonsInternalError,\n EnumConstantType,\n EnumValue,\n FilterMatchModeExtendedType,\n ILookupDataProvider,\n ILookupDescriptor,\n LookupDataProviderLookupFnType,\n ServiceClassOptType,\n ServiceClassType,\n fromEnumConstantsAsValueArray,\n fromEnumValuesAsValueArray,\n getEnumConstantName\n} from '@mediusinc/mng-commons/core';\nimport {LookupDataProviderInst} from '@mediusinc/mng-commons/form/api';\nimport {EnumDescriptor, findClassIdAttribute, trySetLookupItemsProperties} from '@mediusinc/mng-commons/model';\n\nimport {FilterLookupTypeEnum, FilterTypeEnum} from '../models/filter.model';\nimport {FilterDescriptor} from './filter.descriptor';\n\nexport type FilterLookupDescriptorConstructorOptsType<FilterModel, Service> = FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service> & {\n type?: ClassType<FilterModel>;\n optionsValueProperty?: string | null;\n};\n\nexport type FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service> = {\n serviceType?: ServiceClassType<Service>;\n dataProvider?: ILookupDataProvider<FilterModel, Service>;\n};\n\nexport type FilterLookupAutocompleteOptsType = {\n openOnFocus?: boolean;\n inlineSearch?: boolean;\n autoClear?: boolean;\n};\n\nexport class FilterLookupDescriptor<FilterModel, TableModel, Service = any> extends FilterDescriptor<FilterModel, TableModel> implements ILookupDescriptor<FilterModel> {\n protected readonly _dataProvider: ILookupDataProvider<FilterModel, Service>;\n protected readonly _optionsValueProperty?: string | null;\n protected _lookupType?: FilterLookupTypeEnum = FilterLookupTypeEnum.Dropdown;\n protected _optionsLabelProperty?: string;\n protected _optionsLabelTranslate = false;\n protected _multiselect = false;\n\n protected _dropdownClassName = 'mng-filter-lookup-dropdown';\n\n protected _autocompleteOpenOnFocus?: boolean;\n protected _autocompleteInlineSearch?: boolean;\n protected _autocompleteAutoClear?: boolean;\n\n constructor(property: string, cfg?: FilterLookupDescriptorConstructorOptsType<FilterModel, Service>) {\n super(property);\n this._filterType = FilterTypeEnum.Lookup;\n\n if (cfg?.dataProvider) {\n this._dataProvider = cfg.dataProvider;\n } else {\n this._dataProvider = new LookupDataProviderInst<FilterModel, Service, ClassOptType<FilterModel>, ServiceClassOptType<Service>>(cfg?.type, cfg?.serviceType);\n }\n\n this._optionsValueProperty = typeof cfg?.optionsValueProperty === 'undefined' ? findClassIdAttribute(this._dataProvider.classType) ?? undefined : cfg?.optionsValueProperty;\n\n trySetLookupItemsProperties(this, false);\n }\n\n public get lookupType() {\n return this._lookupType;\n }\n\n public get dataProvider() {\n return this._dataProvider;\n }\n\n public get optionsLabelProperty() {\n return this._optionsLabelProperty;\n }\n\n public get optionsLabelTranslate() {\n return this._optionsLabelTranslate;\n }\n\n public get optionsValueProperty() {\n return this._optionsValueProperty ?? undefined;\n }\n\n public get multiselect() {\n return this._multiselect;\n }\n\n public get autocompleteOpenOnFocus() {\n return this._autocompleteOpenOnFocus;\n }\n\n public get autocompleteAutoClear() {\n return this._autocompleteAutoClear;\n }\n\n public get autocompleteInlineSearch() {\n return this._autocompleteInlineSearch;\n }\n\n public get dropdownClassName() {\n return this._dropdownClassName;\n }\n\n public withOptionsLabelProperty(property: keyof FilterModel, translate = false): this {\n return this.withOptionsLabelPropertyUnsafe(property as string, translate);\n }\n\n public withOptionsLabelPropertyUnsafe(property: string, translate = false): this {\n this._optionsLabelProperty = property;\n this._optionsLabelTranslate = translate;\n return this;\n }\n\n /**\n * Method will set `optionsValueProperty`, because track properties are not supported here as filters need final value to work correctly.\n * Use `optionsValueProperty` instead.\n */\n public withOptionsTrackProperty(): this {\n return this;\n }\n\n public withOptionsTrackPropertyUnsafe(): this {\n return this;\n }\n\n public withLookup(lookup?: LookupDataProviderLookupFnType<FilterModel, Service>): this {\n this._dataProvider.withLookup(lookup);\n return this;\n }\n\n public withMultiselect(multiselect = true) {\n this._multiselect = multiselect;\n this._defaultMatchMode = 'in';\n this.withMatchModes(['in', 'notIn']);\n return this;\n }\n\n public withDropdownClassName(dropdownClassName: string): this {\n this._dropdownClassName = dropdownClassName;\n return this;\n }\n\n public override withDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType): this {\n this._hasDefaultValue = true;\n this._defaultValue = value;\n this._defaultMatchMode = matchMode;\n\n this.validateDefaultFilter(value, matchMode);\n\n if ((Array.isArray(value) && !this.multiselect) || (this.multiselect && !Array.isArray(value))) {\n throw new CommonsInternalError(`Default value not in correct format for property ${this._property}.`, {name: 'FilterDescriptorError'});\n }\n\n return this;\n }\n\n public asAutocomplete(opts?: FilterLookupAutocompleteOptsType): this {\n this._lookupType = FilterLookupTypeEnum.Autocomplete;\n this._autocompleteAutoClear = opts?.autoClear;\n this._autocompleteOpenOnFocus = opts?.openOnFocus;\n this._autocompleteInlineSearch = opts?.inlineSearch;\n return this;\n }\n\n public override copy(): FilterLookupDescriptor<FilterModel, TableModel, Service> {\n const descriptor = new FilterLookupDescriptor<FilterModel, TableModel, Service>(this._property, {\n dataProvider: this.dataProvider\n });\n this.copyFieldsTo(descriptor);\n return descriptor;\n }\n\n protected override copyFieldsTo(filter: FilterLookupDescriptor<FilterModel, TableModel, Service>) {\n super.copyFieldsTo(filter);\n filter._lookupType = this._lookupType;\n filter._optionsLabelProperty = this._optionsLabelProperty;\n filter._optionsLabelTranslate = this._optionsLabelTranslate;\n filter._multiselect = this._multiselect;\n filter._dropdownClassName = this._dropdownClassName;\n filter._autocompleteOpenOnFocus = this._autocompleteOpenOnFocus;\n filter._autocompleteInlineSearch = this._autocompleteInlineSearch;\n }\n}\n\nexport class FilterLookupEnumDescriptor<Enum, TableModel> extends FilterLookupDescriptor<EnumValue, TableModel> {\n private readonly _enum: EnumDescriptor<Enum>;\n private readonly _optionEnumValues: EnumValue[];\n private readonly _nameAsValue: boolean = false;\n\n constructor(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>) {\n super(property, {\n dataProvider: new LookupDataProviderInst<EnumValue, undefined, undefined, undefined>(undefined, undefined),\n optionsValueProperty: 'value'\n });\n\n this._enum = enumDesc;\n\n this._optionEnumValues = Array.isArray(options)\n ? fromEnumValuesAsValueArray(this._enum.type, options, this._enum.nameAsValue, this._enum.i18nBaseKey ?? undefined)\n : fromEnumConstantsAsValueArray(this._enum.type, this._enum.nameAsValue, this._enum.i18nBaseKey ?? undefined);\n\n this.withLookup(() => of(this._optionEnumValues));\n this.withOptionsLabelProperty('title', this._enum.i18nBaseKey !== null);\n }\n\n public get enum() {\n return this._enum;\n }\n\n public override asAutocomplete(opts?: FilterLookupAutocompleteOptsType): this {\n super.asAutocomplete({\n ...opts,\n openOnFocus: opts?.openOnFocus ?? true,\n inlineSearch: opts?.inlineSearch ?? true\n });\n return this;\n }\n\n public withMultiselectEnum(multiselect = true): FilterLookupEnumDescriptor<Enum, TableModel> {\n return super.withMultiselect(multiselect) as FilterLookupEnumDescriptor<Enum, TableModel>;\n }\n\n public override withDefaultFilter(): this {\n throw new CommonsInternalError(`withDefaultFilter on FilterLookupEnumDescriptor should not be used. Use withDefaultFilterEnum instead.`, {name: 'FilterDescriptorError'});\n }\n\n public withDefaultFilterEnum(value: EnumConstantType | EnumConstantType[] | undefined, matchMode: FilterMatchModeExtendedType): this {\n let defaultOptionValue: any | any[];\n if (Array.isArray(value)) {\n defaultOptionValue = this._nameAsValue ? value.map(value => getEnumConstantName(this.enum.type, value)) : value;\n } else if (value != null) {\n defaultOptionValue = this._nameAsValue ? getEnumConstantName(this.enum.type, value) : value;\n }\n\n if (defaultOptionValue != null) {\n let option: any | any[];\n if (Array.isArray(defaultOptionValue)) {\n option = defaultOptionValue.map(value => this._optionEnumValues.find(o => o.value === value));\n } else {\n option = this._optionEnumValues.find(o => o.value === defaultOptionValue);\n }\n\n let defaultFilterValue: any | any[];\n if (Array.isArray(option)) {\n defaultFilterValue = this._optionsValueProperty ? option.map(value => value[this._optionsValueProperty as keyof object]) : option;\n } else {\n defaultFilterValue = this._optionsValueProperty ? option[this._optionsValueProperty as keyof object] : option;\n }\n\n super.withDefaultFilter(defaultFilterValue, matchMode);\n }\n return this;\n }\n\n public override copy(): FilterLookupEnumDescriptor<Enum, TableModel> {\n const field = new FilterLookupEnumDescriptor<Enum, TableModel>(this._property, this.enum, []);\n this.copyFieldsTo(field);\n return field;\n }\n}\n","// descriptors\nexport * from './descriptors/filter.descriptor';\nexport * from './descriptors/filter-lookup.descriptor';\n\n// models\nexport * from './models/filter.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mediusinc-mng-commons-filter.mjs","sources":["../../filter/src/models/filter.model.ts","../../filter/src/descriptors/filter.descriptor.ts","../../filter/src/descriptors/filter-lookup.descriptor.ts","../../filter/src/index.ts","../../filter/src/mediusinc-mng-commons-filter.ts"],"sourcesContent":["export enum FilterTypeEnum {\n String,\n Number,\n Boolean,\n Date,\n Lookup,\n LookupEnum\n}\n\nexport enum FilterLookupTypeEnum {\n Dropdown,\n Autocomplete\n}\n\nexport enum FilterDisplayTypeEnum {\n Column,\n OverlayWithTag\n}\n","import {CommonsInternalError, FilterMatchModeExtendedType, IFilterDescriptor, LoggerService} from '@mediusinc/mng-commons/core';\nimport {InputTrimType} from '@mediusinc/mng-commons/form/api';\n\nimport {FilterDisplayTypeEnum, FilterTypeEnum} from '../models/filter.model';\n\nexport type FilterDatePickerDisplayOptsType = {\n applyFromDisplayFormat?: boolean;\n format?: string;\n showTime?: boolean;\n showSeconds?: boolean;\n};\n\nexport type FilterDateValueOptsType = {\n utc?: boolean;\n noTime?: boolean;\n noTimeZone?: boolean;\n};\n\nexport type FilterDateOptsType = FilterDateValueOptsType &\n FilterDatePickerDisplayOptsType & {\n displayFormat?: string;\n };\n\nexport type FilterNumberFractionOptsType = {\n minFractionDigits?: number;\n maxFractionDigits?: number;\n};\n\nexport type FilterLocaleOptsType = {\n locale?: string;\n};\n\nexport type FilterNumberOptsType = FilterNumberFractionOptsType &\n FilterLocaleOptsType & {\n displayFormat?: string;\n };\n\nexport class FilterDescriptor<FilterModel, TableModel> implements IFilterDescriptor<FilterModel, TableModel> {\n protected readonly _property: string;\n protected _showOnColumn?: string;\n\n protected _filterType = FilterTypeEnum.String;\n protected _displayType?: FilterDisplayTypeEnum;\n\n // default value\n protected _hasDefaultValue = false;\n protected _defaultMatchMode?: FilterMatchModeExtendedType;\n protected _defaultValue?: FilterModel | FilterModel[];\n protected _matchModes: string[] | null = null;\n\n // value display\n private _displayFormat?: string;\n private _displayFormatApplyToField?: boolean;\n private _locale?: string;\n\n // number filter field specific properties\n protected _numberMinFractionDigits?: number;\n protected _numberMaxFractionDigits?: number;\n protected _numberUseGrouping = true;\n\n // date filter field specific properties\n protected _datePickerFormat?: string;\n protected _datePickerShowTime?: boolean;\n protected _datePickerShowSeconds?: boolean;\n protected _dateValueNoTime?: boolean;\n protected _dateValueNoTimezone?: boolean;\n protected _dateValueUtc?: boolean;\n\n protected _placeholder?: string;\n protected _className = '';\n protected _columnClassName = '';\n protected _columnWidth: number | null = null;\n protected _columnMinWidth: number | null = null;\n protected _inputTrim?: InputTrimType;\n protected _title?: string;\n\n constructor(property: string) {\n this._property = property;\n this._showOnColumn = property;\n }\n\n public get filterType() {\n return this._filterType;\n }\n\n public get showOnColumn() {\n return this._showOnColumn;\n }\n\n public get displayType() {\n return this._displayType;\n }\n\n public get hasDefaultValue() {\n return this._hasDefaultValue;\n }\n\n public get defaultValue() {\n return this._defaultValue;\n }\n\n public get defaultMatchMode() {\n return this._defaultMatchMode;\n }\n\n public get matchModes() {\n return this._matchModes;\n }\n\n public get displayFormat() {\n return this._displayFormat;\n }\n\n public get displayFormatApplyToField() {\n return this._displayFormatApplyToField;\n }\n\n public get locale() {\n return this._locale;\n }\n\n public get numberMinFractionDigits() {\n return this._numberMinFractionDigits;\n }\n\n public get numberMaxFractionDigits() {\n return this._numberMaxFractionDigits;\n }\n\n public get numberUseGrouping() {\n return this._numberUseGrouping;\n }\n\n public get datePickerFormat() {\n return this._datePickerFormat;\n }\n\n public get datePickerShowTime() {\n return this._datePickerShowTime;\n }\n\n public get datePickerShowSeconds() {\n return this._datePickerShowSeconds;\n }\n\n public get dateValueUtc() {\n return this._dateValueUtc;\n }\n\n public get dateValueNoTimezone() {\n return this._dateValueNoTimezone;\n }\n\n public get dateValueNoTime() {\n return this._dateValueNoTime;\n }\n\n public get placeholder() {\n return this._placeholder;\n }\n\n public get className() {\n return this._className;\n }\n\n public get columnClassName() {\n return this._columnClassName;\n }\n\n public get columnWidth() {\n return this._columnWidth;\n }\n\n public get columnMinWidth() {\n return this._columnMinWidth;\n }\n\n public get trimOption() {\n return this._inputTrim;\n }\n\n public get property() {\n return this._property;\n }\n\n public get title() {\n return this._title;\n }\n\n public asFilterType(filterType: FilterTypeEnum) {\n this._filterType = filterType;\n return this;\n }\n\n public asDate(opts?: FilterDateOptsType): this {\n this._filterType = FilterTypeEnum.Date;\n this.withDisplayFormat(opts?.displayFormat).withDatePickerDisplay(opts).withDateValue(opts);\n return this;\n }\n\n public asNumber(opts?: FilterNumberOptsType): this {\n this._filterType = FilterTypeEnum.Number;\n this.withDisplayFormat(opts?.displayFormat).withNumberFractions(opts?.minFractionDigits, opts?.maxFractionDigits).withLocale(opts?.locale);\n return this;\n }\n\n public withShowOnColumn(property: keyof TableModel, displayType: FilterDisplayTypeEnum | undefined = FilterDisplayTypeEnum.Column): this {\n return this.withShowOnColumnUnsafe(property as string, displayType);\n }\n\n public withDisplayType(type?: FilterDisplayTypeEnum): this {\n this._displayType = type;\n return this;\n }\n\n public withShowOnColumnUnsafe(property: string, displayType: FilterDisplayTypeEnum | undefined = FilterDisplayTypeEnum.Column): this {\n this._showOnColumn = property;\n this._displayType = displayType;\n return this;\n }\n\n public withDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType): this {\n this._hasDefaultValue = true;\n this._defaultValue = value;\n this._defaultMatchMode = matchMode;\n this.validateDefaultFilter(value, matchMode);\n return this;\n }\n\n protected validateDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType) {\n if (matchMode === 'between' && value != null && (!Array.isArray(value) || value.filter(v => v != null).length !== 2)) {\n throw new CommonsInternalError(`Default value for filter match mode ${matchMode} must provide exactly 2 values in array`);\n }\n if ((matchMode === 'in' || matchMode === 'notIn') && value != null && (!Array.isArray(value) || value.filter(v => v != null).length === 0)) {\n throw new CommonsInternalError(`Default value for filter match mode ${matchMode} must be array and provide at least 1 non-null value`);\n }\n if (matchMode === 'exists' || matchMode === 'doesNotExist') {\n this._defaultValue = undefined;\n }\n\n if (matchMode && this._matchModes && this._matchModes.indexOf(matchMode) < 0) {\n this._defaultMatchMode = undefined;\n LoggerService.get().debug(`WARNING: Default filter match mode '${matchMode}' could not be assigned for property ${this._property}.`);\n }\n }\n\n public withDisplayFormat(format?: string, applyToField?: boolean): this {\n this._displayFormat = format;\n this._displayFormatApplyToField = applyToField;\n return this;\n }\n\n public withLocale(locale?: string): this {\n this._locale = locale;\n return this;\n }\n\n public withNumberFractions(min?: number, max?: number) {\n this._numberMinFractionDigits = min;\n this._numberMaxFractionDigits = max;\n return this;\n }\n\n public withNumberGrouping(useGrouping = true): this {\n this._numberUseGrouping = useGrouping;\n return this;\n }\n\n /**\n * @deprecated Use ${withDatePickerDisplay} instead.\n */\n public withDateFormat(format?: string, showTime = false, showSeconds = false): this {\n this._datePickerFormat = format;\n this._datePickerShowTime = showTime;\n this._datePickerShowSeconds = showSeconds;\n return this;\n }\n\n public withDatePickerDisplay(opts?: FilterDatePickerDisplayOptsType): this {\n this._displayFormatApplyToField = opts?.applyFromDisplayFormat;\n this._datePickerFormat = opts?.format;\n this._datePickerShowTime = opts?.showTime;\n this._datePickerShowSeconds = opts?.showSeconds;\n return this;\n }\n\n public withDateValue(opts?: FilterDateValueOptsType): this {\n this._dateValueUtc = opts?.utc;\n this._dateValueNoTimezone = opts?.noTimeZone;\n this._dateValueNoTime = opts?.noTime;\n return this;\n }\n\n public withPlaceholder(placeholder: string): this {\n this._placeholder = placeholder;\n return this;\n }\n\n public withClassName(className: string): this {\n this._className = className;\n return this;\n }\n\n public withColumnClassName(className: string): this {\n this._columnClassName = className;\n return this;\n }\n\n public withColumnWidth(width?: number, minWidth?: number): this {\n this._columnWidth = width ?? null;\n this._columnMinWidth = minWidth ?? null;\n return this;\n }\n\n public withInputTrimming(trimOption: InputTrimType = 'both'): this {\n this._inputTrim = trimOption;\n return this;\n }\n\n public withMatchModes(matchModes: Array<FilterMatchModeExtendedType>): this {\n this._matchModes = matchModes;\n return this;\n }\n\n public withTitle(key: string): this {\n this._title = key;\n return this;\n }\n\n public copy(): FilterDescriptor<FilterModel, TableModel> {\n const descriptor = new FilterDescriptor<FilterModel, TableModel>(this._property);\n this.copyFieldsTo(descriptor);\n return descriptor;\n }\n\n protected copyFieldsTo(descriptor: FilterDescriptor<FilterModel, TableModel>) {\n descriptor._filterType = this._filterType;\n descriptor._hasDefaultValue = this._hasDefaultValue;\n descriptor._defaultValue = this._defaultValue;\n descriptor._defaultMatchMode = this._defaultMatchMode;\n descriptor._displayFormat = this._displayFormat;\n descriptor._locale = this._locale;\n descriptor._numberMinFractionDigits = this._numberMinFractionDigits;\n descriptor._numberMaxFractionDigits = this._numberMaxFractionDigits;\n descriptor._numberUseGrouping = this._numberUseGrouping;\n descriptor._datePickerFormat = this._datePickerFormat;\n descriptor._datePickerShowTime = this._datePickerShowTime;\n descriptor._dateValueUtc = this._dateValueUtc;\n descriptor._dateValueNoTimezone = this._dateValueNoTimezone;\n descriptor._dateValueNoTime = this._dateValueNoTime;\n descriptor._placeholder = this._placeholder;\n descriptor._className = this._className;\n descriptor._columnWidth = this._columnWidth;\n descriptor._columnMinWidth = this._columnMinWidth;\n descriptor._columnClassName = this._columnClassName;\n }\n}\n","import {of} from 'rxjs';\n\nimport {\n ClassOptType,\n ClassType,\n CommonsInternalError,\n EnumConstantType,\n EnumValue,\n FilterMatchModeExtendedType,\n ILookupDataProvider,\n ILookupDescriptor,\n LookupDataProviderLookupFnType,\n ServiceClassOptType,\n ServiceClassType,\n fromEnumConstantsAsValueArray,\n fromEnumValuesAsValueArray,\n getEnumConstantName\n} from '@mediusinc/mng-commons/core';\nimport {LookupDataProviderInst} from '@mediusinc/mng-commons/form/api';\nimport {EnumDescriptor, findClassIdAttribute, trySetLookupItemsProperties} from '@mediusinc/mng-commons/model';\n\nimport {FilterLookupTypeEnum, FilterTypeEnum} from '../models/filter.model';\nimport {FilterDescriptor} from './filter.descriptor';\n\nexport type FilterLookupDescriptorConstructorOptsType<FilterModel, Service> = FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service> & {\n type?: ClassType<FilterModel>;\n optionsValueProperty?: string | null;\n};\n\nexport type FilterLookupDescriptorCreateOptsProviderType<FilterModel, Service> = {\n serviceType?: ServiceClassType<Service>;\n dataProvider?: ILookupDataProvider<FilterModel, Service>;\n};\n\nexport type FilterLookupAutocompleteOptsType = {\n openOnFocus?: boolean;\n inlineSearch?: boolean;\n autoClear?: boolean;\n};\n\nexport class FilterLookupDescriptor<FilterModel, TableModel, Service = any> extends FilterDescriptor<FilterModel, TableModel> implements ILookupDescriptor<FilterModel> {\n protected readonly _dataProvider: ILookupDataProvider<FilterModel, Service>;\n protected readonly _optionsValueProperty?: string | null;\n protected _lookupType?: FilterLookupTypeEnum = FilterLookupTypeEnum.Dropdown;\n protected _optionsLabelProperty?: string;\n protected _optionsLabelTranslate = false;\n protected _multiselect = false;\n\n protected _dropdownClassName = 'mng-filter-lookup-dropdown';\n\n protected _autocompleteOpenOnFocus?: boolean;\n protected _autocompleteInlineSearch?: boolean;\n protected _autocompleteAutoClear?: boolean;\n\n constructor(property: string, cfg?: FilterLookupDescriptorConstructorOptsType<FilterModel, Service>) {\n super(property);\n this._filterType = FilterTypeEnum.Lookup;\n\n if (cfg?.dataProvider) {\n this._dataProvider = cfg.dataProvider;\n } else {\n this._dataProvider = new LookupDataProviderInst<FilterModel, Service, ClassOptType<FilterModel>, ServiceClassOptType<Service>>(cfg?.type, cfg?.serviceType);\n }\n\n this._optionsValueProperty = typeof cfg?.optionsValueProperty === 'undefined' ? findClassIdAttribute(this._dataProvider.classType) ?? undefined : cfg?.optionsValueProperty;\n\n trySetLookupItemsProperties(this, false);\n }\n\n public get lookupType() {\n return this._lookupType;\n }\n\n public get dataProvider() {\n return this._dataProvider;\n }\n\n public get optionsLabelProperty() {\n return this._optionsLabelProperty;\n }\n\n public get optionsLabelTranslate() {\n return this._optionsLabelTranslate;\n }\n\n public get optionsValueProperty() {\n return this._optionsValueProperty ?? undefined;\n }\n\n public get multiselect() {\n return this._multiselect;\n }\n\n public get autocompleteOpenOnFocus() {\n return this._autocompleteOpenOnFocus;\n }\n\n public get autocompleteAutoClear() {\n return this._autocompleteAutoClear;\n }\n\n public get autocompleteInlineSearch() {\n return this._autocompleteInlineSearch;\n }\n\n public get dropdownClassName() {\n return this._dropdownClassName;\n }\n\n public withOptionsLabelProperty(property: keyof FilterModel, translate = false): this {\n return this.withOptionsLabelPropertyUnsafe(property as string, translate);\n }\n\n public withOptionsLabelPropertyUnsafe(property: string, translate = false): this {\n this._optionsLabelProperty = property;\n this._optionsLabelTranslate = translate;\n return this;\n }\n\n /**\n * Method will set `optionsValueProperty`, because track properties are not supported here as filters need final value to work correctly.\n * Use `optionsValueProperty` instead.\n */\n public withOptionsTrackProperty(): this {\n return this;\n }\n\n public withOptionsTrackPropertyUnsafe(): this {\n return this;\n }\n\n public withLookup(lookup?: LookupDataProviderLookupFnType<FilterModel, Service>): this {\n this._dataProvider.withLookup(lookup);\n return this;\n }\n\n public withMultiselect(multiselect = true) {\n this._multiselect = multiselect;\n return this;\n }\n\n public withDropdownClassName(dropdownClassName: string): this {\n this._dropdownClassName = dropdownClassName;\n return this;\n }\n\n public override withDefaultFilter(value: FilterModel | FilterModel[] | undefined, matchMode: FilterMatchModeExtendedType): this {\n this._hasDefaultValue = true;\n this._defaultValue = value;\n this._defaultMatchMode = matchMode;\n\n this.validateDefaultFilter(value, matchMode);\n\n if ((Array.isArray(value) && !this.multiselect) || (this.multiselect && !Array.isArray(value))) {\n throw new CommonsInternalError(`Default value not in correct format for property ${this._property}.`, {name: 'FilterDescriptorError'});\n }\n\n return this;\n }\n\n public asAutocomplete(opts?: FilterLookupAutocompleteOptsType): this {\n this._lookupType = FilterLookupTypeEnum.Autocomplete;\n this._autocompleteAutoClear = opts?.autoClear;\n this._autocompleteOpenOnFocus = opts?.openOnFocus;\n this._autocompleteInlineSearch = opts?.inlineSearch;\n return this;\n }\n\n public override copy(): FilterLookupDescriptor<FilterModel, TableModel, Service> {\n const descriptor = new FilterLookupDescriptor<FilterModel, TableModel, Service>(this._property, {\n dataProvider: this.dataProvider\n });\n this.copyFieldsTo(descriptor);\n return descriptor;\n }\n\n protected override copyFieldsTo(filter: FilterLookupDescriptor<FilterModel, TableModel, Service>) {\n super.copyFieldsTo(filter);\n filter._lookupType = this._lookupType;\n filter._optionsLabelProperty = this._optionsLabelProperty;\n filter._optionsLabelTranslate = this._optionsLabelTranslate;\n filter._multiselect = this._multiselect;\n filter._dropdownClassName = this._dropdownClassName;\n filter._autocompleteOpenOnFocus = this._autocompleteOpenOnFocus;\n filter._autocompleteInlineSearch = this._autocompleteInlineSearch;\n }\n}\n\nexport class FilterLookupEnumDescriptor<Enum, TableModel> extends FilterLookupDescriptor<EnumValue, TableModel> {\n private readonly _enum: EnumDescriptor<Enum>;\n private readonly _optionEnumValues: EnumValue[];\n private readonly _nameAsValue: boolean = false;\n\n constructor(property: string, enumDesc: EnumDescriptor<Enum>, options?: Array<Enum>) {\n super(property, {\n dataProvider: new LookupDataProviderInst<EnumValue, undefined, undefined, undefined>(undefined, undefined),\n optionsValueProperty: 'value'\n });\n this._filterType = FilterTypeEnum.LookupEnum;\n\n this._enum = enumDesc;\n\n this._optionEnumValues = Array.isArray(options)\n ? fromEnumValuesAsValueArray(this._enum.type, options, this._enum.nameAsValue, this._enum.i18nBaseKey ?? undefined)\n : fromEnumConstantsAsValueArray(this._enum.type, this._enum.nameAsValue, this._enum.i18nBaseKey ?? undefined);\n\n this.withLookup(() => of(this._optionEnumValues));\n this.withOptionsLabelProperty('title', this._enum.i18nBaseKey !== null);\n }\n\n public get enum() {\n return this._enum;\n }\n\n public override asAutocomplete(opts?: FilterLookupAutocompleteOptsType): this {\n super.asAutocomplete({\n ...opts,\n openOnFocus: opts?.openOnFocus ?? true,\n inlineSearch: opts?.inlineSearch ?? true\n });\n return this;\n }\n\n public withMultiselectEnum(multiselect = true): FilterLookupEnumDescriptor<Enum, TableModel> {\n return super.withMultiselect(multiselect) as FilterLookupEnumDescriptor<Enum, TableModel>;\n }\n\n public override withDefaultFilter(): this {\n throw new CommonsInternalError(`withDefaultFilter on FilterLookupEnumDescriptor should not be used. Use withDefaultFilterEnum instead.`, {name: 'FilterDescriptorError'});\n }\n\n public withDefaultFilterEnum(value: EnumConstantType | EnumConstantType[] | undefined, matchMode: FilterMatchModeExtendedType): this {\n let defaultOptionValue: any | any[];\n if (Array.isArray(value)) {\n defaultOptionValue = this._nameAsValue ? value.map(value => getEnumConstantName(this.enum.type, value)) : value;\n } else if (value != null) {\n defaultOptionValue = this._nameAsValue ? getEnumConstantName(this.enum.type, value) : value;\n }\n\n if (defaultOptionValue != null) {\n let option: any | any[];\n if (Array.isArray(defaultOptionValue)) {\n option = defaultOptionValue.map(value => this._optionEnumValues.find(o => o.value === value));\n } else {\n option = this._optionEnumValues.find(o => o.value === defaultOptionValue);\n }\n\n let defaultFilterValue: any | any[];\n if (Array.isArray(option)) {\n defaultFilterValue = this._optionsValueProperty ? option.map(value => value[this._optionsValueProperty as keyof object]) : option;\n } else {\n defaultFilterValue = this._optionsValueProperty ? option[this._optionsValueProperty as keyof object] : option;\n }\n\n super.withDefaultFilter(defaultFilterValue, matchMode);\n }\n return this;\n }\n\n public override copy(): FilterLookupEnumDescriptor<Enum, TableModel> {\n const field = new FilterLookupEnumDescriptor<Enum, TableModel>(this._property, this.enum, []);\n this.copyFieldsTo(field);\n return field;\n }\n}\n","// descriptors\nexport * from './descriptors/filter.descriptor';\nexport * from './descriptors/filter-lookup.descriptor';\n\n// models\nexport * from './models/filter.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|