@mediusinc/mng-commons 0.2.4 → 0.2.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.
- package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +22 -11
- package/esm2020/lib/descriptors/table.descriptor.mjs +27 -1
- package/esm2020/lib/services/commons.service.mjs +15 -15
- package/fesm2015/mediusinc-mng-commons.mjs +56 -18
- package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
- package/fesm2020/mediusinc-mng-commons.mjs +55 -18
- package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
- package/lib/components/tableview/table/column-filter/column-filter.component.d.ts +5 -0
- package/lib/descriptors/table.descriptor.d.ts +20 -0
- package/package.json +1 -1
- package/scss/common/layout/_exception.scss +1 -1
|
@@ -2194,6 +2194,7 @@ class ColumnDescriptor {
|
|
|
2194
2194
|
class FilterDescriptor {
|
|
2195
2195
|
constructor(property) {
|
|
2196
2196
|
this._filterType = FilterDescriptor.TypeEnum.String;
|
|
2197
|
+
this._matchModes = null;
|
|
2197
2198
|
this._className = '';
|
|
2198
2199
|
this._property = property;
|
|
2199
2200
|
}
|
|
@@ -2206,6 +2207,9 @@ class FilterDescriptor {
|
|
|
2206
2207
|
get filterProperty() {
|
|
2207
2208
|
return this._filterProperty;
|
|
2208
2209
|
}
|
|
2210
|
+
get matchModes() {
|
|
2211
|
+
return this._matchModes;
|
|
2212
|
+
}
|
|
2209
2213
|
get placeholder() {
|
|
2210
2214
|
return this._placeholder;
|
|
2211
2215
|
}
|
|
@@ -2232,6 +2236,10 @@ class FilterDescriptor {
|
|
|
2232
2236
|
this._className = className;
|
|
2233
2237
|
return this;
|
|
2234
2238
|
}
|
|
2239
|
+
withMatchModes(matchModes) {
|
|
2240
|
+
this._matchModes = matchModes;
|
|
2241
|
+
return this;
|
|
2242
|
+
}
|
|
2235
2243
|
copyFieldsTo(descriptor) {
|
|
2236
2244
|
descriptor._filterType = this._filterType;
|
|
2237
2245
|
descriptor._filterProperty = this._filterProperty;
|
|
@@ -2253,6 +2261,24 @@ class FilterDescriptor {
|
|
|
2253
2261
|
TypeEnum[TypeEnum["Date"] = 3] = "Date";
|
|
2254
2262
|
TypeEnum[TypeEnum["Lookup"] = 4] = "Lookup";
|
|
2255
2263
|
})(TypeEnum = FilterDescriptor.TypeEnum || (FilterDescriptor.TypeEnum = {}));
|
|
2264
|
+
let MatchModeEnum;
|
|
2265
|
+
(function (MatchModeEnum) {
|
|
2266
|
+
MatchModeEnum["StartsWith"] = "startsWith";
|
|
2267
|
+
MatchModeEnum["Contains"] = "contains";
|
|
2268
|
+
MatchModeEnum["EndsWith"] = "endsWith";
|
|
2269
|
+
MatchModeEnum["Equals"] = "equals";
|
|
2270
|
+
MatchModeEnum["NotEquals"] = "notEquals";
|
|
2271
|
+
MatchModeEnum["In"] = "in";
|
|
2272
|
+
MatchModeEnum["LessThan"] = "lt";
|
|
2273
|
+
MatchModeEnum["LessThanOrEqualTo"] = "lte";
|
|
2274
|
+
MatchModeEnum["GreaterThan"] = "gt";
|
|
2275
|
+
MatchModeEnum["GreaterThanOrEqualTo"] = "gte";
|
|
2276
|
+
MatchModeEnum["Between"] = "between";
|
|
2277
|
+
MatchModeEnum["DateIs"] = "dateIs";
|
|
2278
|
+
MatchModeEnum["DateIsNot"] = "dateIsNot";
|
|
2279
|
+
MatchModeEnum["DateBefore"] = "dateBefore";
|
|
2280
|
+
MatchModeEnum["DateAfter"] = "dateAfter";
|
|
2281
|
+
})(MatchModeEnum = FilterDescriptor.MatchModeEnum || (FilterDescriptor.MatchModeEnum = {}));
|
|
2256
2282
|
})(FilterDescriptor || (FilterDescriptor = {}));
|
|
2257
2283
|
class FilterLookupDescriptor extends FilterDescriptor {
|
|
2258
2284
|
constructor(property, modelType) {
|
|
@@ -4166,23 +4192,23 @@ class MngCommonsService {
|
|
|
4166
4192
|
this.primengConfig.ripple = true;
|
|
4167
4193
|
this.primengConfig.filterMatchModeOptions = {
|
|
4168
4194
|
text: [
|
|
4169
|
-
|
|
4170
|
-
|
|
4171
|
-
|
|
4172
|
-
|
|
4173
|
-
|
|
4195
|
+
FilterDescriptor.MatchModeEnum.Contains,
|
|
4196
|
+
FilterDescriptor.MatchModeEnum.Equals,
|
|
4197
|
+
FilterDescriptor.MatchModeEnum.NotEquals,
|
|
4198
|
+
FilterDescriptor.MatchModeEnum.StartsWith,
|
|
4199
|
+
FilterDescriptor.MatchModeEnum.EndsWith
|
|
4174
4200
|
],
|
|
4175
4201
|
numeric: [
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4202
|
+
FilterDescriptor.MatchModeEnum.Equals,
|
|
4203
|
+
FilterDescriptor.MatchModeEnum.NotEquals,
|
|
4204
|
+
FilterDescriptor.MatchModeEnum.LessThanOrEqualTo,
|
|
4205
|
+
FilterDescriptor.MatchModeEnum.GreaterThanOrEqualTo
|
|
4180
4206
|
],
|
|
4181
4207
|
date: [
|
|
4182
|
-
|
|
4183
|
-
|
|
4184
|
-
|
|
4185
|
-
|
|
4208
|
+
FilterDescriptor.MatchModeEnum.DateIs,
|
|
4209
|
+
FilterDescriptor.MatchModeEnum.DateIsNot,
|
|
4210
|
+
FilterDescriptor.MatchModeEnum.DateBefore,
|
|
4211
|
+
FilterDescriptor.MatchModeEnum.DateAfter
|
|
4186
4212
|
]
|
|
4187
4213
|
};
|
|
4188
4214
|
// translate
|
|
@@ -4954,17 +4980,22 @@ class MngTableReloadEvent {
|
|
|
4954
4980
|
* and these must be propagated through to this component and beyond to primeNG.
|
|
4955
4981
|
*/
|
|
4956
4982
|
class MngTableColumnFilterComponent {
|
|
4957
|
-
constructor() {
|
|
4983
|
+
constructor(primeConfig) {
|
|
4984
|
+
this.primeConfig = primeConfig;
|
|
4958
4985
|
this.lookupTypeDropdown = FilterLookupDescriptor.LookupTypeEnum.Dropdown;
|
|
4959
4986
|
this.lookupTypeAutocomplete = FilterLookupDescriptor.LookupTypeEnum.Autocomplete;
|
|
4960
4987
|
this.primeType = 'text';
|
|
4988
|
+
this.primeShowMatchMode = true;
|
|
4961
4989
|
this.primeDefaultMatchMode = FilterMatchMode.EQUALS;
|
|
4962
4990
|
this.primeDisplay = 'row';
|
|
4991
|
+
this.primeMatchModes = null;
|
|
4963
4992
|
}
|
|
4964
4993
|
ngOnInit() {
|
|
4994
|
+
var _a;
|
|
4965
4995
|
switch (this.descriptor.filterType) {
|
|
4966
4996
|
case FilterDescriptor.TypeEnum.Boolean:
|
|
4967
4997
|
this.primeType = 'boolean';
|
|
4998
|
+
this.primeShowMatchMode = false;
|
|
4968
4999
|
break;
|
|
4969
5000
|
case FilterDescriptor.TypeEnum.Number:
|
|
4970
5001
|
this.primeType = 'numeric';
|
|
@@ -4974,14 +5005,21 @@ class MngTableColumnFilterComponent {
|
|
|
4974
5005
|
break;
|
|
4975
5006
|
case FilterDescriptor.TypeEnum.Lookup:
|
|
4976
5007
|
this.primeType = 'lookup';
|
|
5008
|
+
this.primeShowMatchMode = false;
|
|
4977
5009
|
this.lookupDescriptor = this.descriptor;
|
|
4978
5010
|
this.primeField = `${this.descriptor.property}${this.lookupDescriptor.itemsValueProperty ? `.${this.lookupDescriptor.itemsValueProperty}` : ''}`;
|
|
5011
|
+
this.primeMatchModes = [{ value: FilterDescriptor.MatchModeEnum.Equals, label: this.primeConfig.getTranslation(FilterDescriptor.MatchModeEnum.Equals) }];
|
|
4979
5012
|
break;
|
|
4980
5013
|
case FilterDescriptor.TypeEnum.String:
|
|
4981
5014
|
this.primeType = 'text';
|
|
4982
5015
|
this.primeDefaultMatchMode = FilterMatchMode.CONTAINS;
|
|
4983
5016
|
break;
|
|
4984
5017
|
}
|
|
5018
|
+
if (this.descriptor.matchModes) {
|
|
5019
|
+
this.primeMatchModes = this.descriptor.matchModes.map(mm => ({ value: mm, label: this.primeConfig.getTranslation(mm) }));
|
|
5020
|
+
this.primeDefaultMatchMode = this.descriptor.matchModes[0];
|
|
5021
|
+
this.primeShowMatchMode = ((_a = this.primeMatchModes) === null || _a === void 0 ? void 0 : _a.length) > 1;
|
|
5022
|
+
}
|
|
4985
5023
|
switch (this.display) {
|
|
4986
5024
|
case TableDescriptor.FilterDisplayEnum.Menu:
|
|
4987
5025
|
this.primeDisplay = 'menu';
|
|
@@ -5001,12 +5039,12 @@ class MngTableColumnFilterComponent {
|
|
|
5001
5039
|
}
|
|
5002
5040
|
}
|
|
5003
5041
|
}
|
|
5004
|
-
MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
5005
|
-
MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter class=\"ml-auto\"\n [type]=\"primeType\" matchMode=\"equals\"\n [field]=\"descriptor.property\" [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.typeToFilter') | translate\"\n [showMatchModes]=\"
|
|
5042
|
+
MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, deps: [{ token: i2$3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
|
|
5043
|
+
MngTableColumnFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngTableColumnFilterComponent, selector: "mng-table-column-filter", inputs: { descriptor: "descriptor", display: "display" }, ngImport: i0, template: "<p-columnFilter class=\"ml-auto\"\n [type]=\"primeType\" matchMode=\"equals\"\n [field]=\"descriptor.property\" [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.typeToFilter') | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\" [showAddButton]=\"false\" [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.searchToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (onChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.selectToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (onChange)=\"filterCallback($event)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n", components: [{ type: i4$4.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping"] }, { type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "multiselect", "placeholder", "className", "dropdownClassName"], outputs: ["onChange"] }, { type: MngDropdownComponent, selector: "mng-dropdown", inputs: ["dataProvider", "dataKeyProperty", "itemsLabelProperty", "itemsValueProperty", "multiselect", "placeholder", "showClear", "className", "dropdownClassName"], outputs: ["onChange"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$3.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { type: i4.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i4.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "translate": i2.TranslatePipe } });
|
|
5006
5044
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
|
|
5007
5045
|
type: Component,
|
|
5008
|
-
args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter class=\"ml-auto\"\n [type]=\"primeType\" matchMode=\"equals\"\n [field]=\"descriptor.property\" [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.typeToFilter') | translate\"\n [showMatchModes]=\"
|
|
5009
|
-
}], propDecorators: { descriptor: [{
|
|
5046
|
+
args: [{ selector: 'mng-table-column-filter', template: "<p-columnFilter class=\"ml-auto\"\n [type]=\"primeType\" matchMode=\"equals\"\n [field]=\"descriptor.property\" [display]=\"primeDisplay\"\n [matchMode]=\"primeDefaultMatchMode\"\n [matchModeOptions]=\"$any(primeMatchModes)\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.typeToFilter') | translate\"\n [showMatchModes]=\"true\"\n [showOperator]=\"false\" [showAddButton]=\"false\" [hideOnClear]=\"true\">\n <ng-template *ngIf=\"lookupDescriptor\" pTemplate=\"filter\" let-value let-filterCallback=\"filterCallback\">\n <ng-container [ngSwitch]=\"lookupDescriptor.lookupType\">\n <mng-autocomplete *ngSwitchCase=\"lookupTypeAutocomplete\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.searchToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n (onChange)=\"autocompleteFilter($event, filterCallback)\">\n </mng-autocomplete>\n <mng-dropdown *ngSwitchCase=\"lookupTypeDropdown\"\n [ngModel]=\"value\"\n [dataProvider]=\"lookupDescriptor.dataProvider\"\n [dataKeyProperty]=\"lookupDescriptor.dataKeyProperty\"\n [itemsLabelProperty]=\"lookupDescriptor.itemsLabelProperty\"\n [itemsValueProperty]=\"lookupDescriptor.itemsValueProperty\"\n [multiselect]=\"lookupDescriptor.multiselect\"\n [placeholder]=\"(descriptor.placeholder ?? 'mngTable.selectToFilter') | translate\"\n [className]=\"lookupDescriptor.className\"\n [dropdownClassName]=\"lookupDescriptor.dropdownClassName\"\n [showClear]=\"true\"\n (onChange)=\"filterCallback($event)\">\n </mng-dropdown>\n </ng-container>\n </ng-template>\n</p-columnFilter>\n" }]
|
|
5047
|
+
}], ctorParameters: function () { return [{ type: i2$3.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
|
|
5010
5048
|
type: Input
|
|
5011
5049
|
}], display: [{
|
|
5012
5050
|
type: Input
|