@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
|
@@ -2174,6 +2174,7 @@ class ColumnDescriptor {
|
|
|
2174
2174
|
class FilterDescriptor {
|
|
2175
2175
|
constructor(property) {
|
|
2176
2176
|
this._filterType = FilterDescriptor.TypeEnum.String;
|
|
2177
|
+
this._matchModes = null;
|
|
2177
2178
|
this._className = '';
|
|
2178
2179
|
this._property = property;
|
|
2179
2180
|
}
|
|
@@ -2186,6 +2187,9 @@ class FilterDescriptor {
|
|
|
2186
2187
|
get filterProperty() {
|
|
2187
2188
|
return this._filterProperty;
|
|
2188
2189
|
}
|
|
2190
|
+
get matchModes() {
|
|
2191
|
+
return this._matchModes;
|
|
2192
|
+
}
|
|
2189
2193
|
get placeholder() {
|
|
2190
2194
|
return this._placeholder;
|
|
2191
2195
|
}
|
|
@@ -2212,6 +2216,10 @@ class FilterDescriptor {
|
|
|
2212
2216
|
this._className = className;
|
|
2213
2217
|
return this;
|
|
2214
2218
|
}
|
|
2219
|
+
withMatchModes(matchModes) {
|
|
2220
|
+
this._matchModes = matchModes;
|
|
2221
|
+
return this;
|
|
2222
|
+
}
|
|
2215
2223
|
copyFieldsTo(descriptor) {
|
|
2216
2224
|
descriptor._filterType = this._filterType;
|
|
2217
2225
|
descriptor._filterProperty = this._filterProperty;
|
|
@@ -2233,6 +2241,24 @@ class FilterDescriptor {
|
|
|
2233
2241
|
TypeEnum[TypeEnum["Date"] = 3] = "Date";
|
|
2234
2242
|
TypeEnum[TypeEnum["Lookup"] = 4] = "Lookup";
|
|
2235
2243
|
})(TypeEnum = FilterDescriptor.TypeEnum || (FilterDescriptor.TypeEnum = {}));
|
|
2244
|
+
let MatchModeEnum;
|
|
2245
|
+
(function (MatchModeEnum) {
|
|
2246
|
+
MatchModeEnum["StartsWith"] = "startsWith";
|
|
2247
|
+
MatchModeEnum["Contains"] = "contains";
|
|
2248
|
+
MatchModeEnum["EndsWith"] = "endsWith";
|
|
2249
|
+
MatchModeEnum["Equals"] = "equals";
|
|
2250
|
+
MatchModeEnum["NotEquals"] = "notEquals";
|
|
2251
|
+
MatchModeEnum["In"] = "in";
|
|
2252
|
+
MatchModeEnum["LessThan"] = "lt";
|
|
2253
|
+
MatchModeEnum["LessThanOrEqualTo"] = "lte";
|
|
2254
|
+
MatchModeEnum["GreaterThan"] = "gt";
|
|
2255
|
+
MatchModeEnum["GreaterThanOrEqualTo"] = "gte";
|
|
2256
|
+
MatchModeEnum["Between"] = "between";
|
|
2257
|
+
MatchModeEnum["DateIs"] = "dateIs";
|
|
2258
|
+
MatchModeEnum["DateIsNot"] = "dateIsNot";
|
|
2259
|
+
MatchModeEnum["DateBefore"] = "dateBefore";
|
|
2260
|
+
MatchModeEnum["DateAfter"] = "dateAfter";
|
|
2261
|
+
})(MatchModeEnum = FilterDescriptor.MatchModeEnum || (FilterDescriptor.MatchModeEnum = {}));
|
|
2236
2262
|
})(FilterDescriptor || (FilterDescriptor = {}));
|
|
2237
2263
|
class FilterLookupDescriptor extends FilterDescriptor {
|
|
2238
2264
|
constructor(property, modelType) {
|
|
@@ -4112,23 +4138,23 @@ class MngCommonsService {
|
|
|
4112
4138
|
this.primengConfig.ripple = true;
|
|
4113
4139
|
this.primengConfig.filterMatchModeOptions = {
|
|
4114
4140
|
text: [
|
|
4115
|
-
|
|
4116
|
-
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
|
|
4141
|
+
FilterDescriptor.MatchModeEnum.Contains,
|
|
4142
|
+
FilterDescriptor.MatchModeEnum.Equals,
|
|
4143
|
+
FilterDescriptor.MatchModeEnum.NotEquals,
|
|
4144
|
+
FilterDescriptor.MatchModeEnum.StartsWith,
|
|
4145
|
+
FilterDescriptor.MatchModeEnum.EndsWith
|
|
4120
4146
|
],
|
|
4121
4147
|
numeric: [
|
|
4122
|
-
|
|
4123
|
-
|
|
4124
|
-
|
|
4125
|
-
|
|
4148
|
+
FilterDescriptor.MatchModeEnum.Equals,
|
|
4149
|
+
FilterDescriptor.MatchModeEnum.NotEquals,
|
|
4150
|
+
FilterDescriptor.MatchModeEnum.LessThanOrEqualTo,
|
|
4151
|
+
FilterDescriptor.MatchModeEnum.GreaterThanOrEqualTo
|
|
4126
4152
|
],
|
|
4127
4153
|
date: [
|
|
4128
|
-
|
|
4129
|
-
|
|
4130
|
-
|
|
4131
|
-
|
|
4154
|
+
FilterDescriptor.MatchModeEnum.DateIs,
|
|
4155
|
+
FilterDescriptor.MatchModeEnum.DateIsNot,
|
|
4156
|
+
FilterDescriptor.MatchModeEnum.DateBefore,
|
|
4157
|
+
FilterDescriptor.MatchModeEnum.DateAfter
|
|
4132
4158
|
]
|
|
4133
4159
|
};
|
|
4134
4160
|
// translate
|
|
@@ -4897,17 +4923,21 @@ class MngTableReloadEvent {
|
|
|
4897
4923
|
* and these must be propagated through to this component and beyond to primeNG.
|
|
4898
4924
|
*/
|
|
4899
4925
|
class MngTableColumnFilterComponent {
|
|
4900
|
-
constructor() {
|
|
4926
|
+
constructor(primeConfig) {
|
|
4927
|
+
this.primeConfig = primeConfig;
|
|
4901
4928
|
this.lookupTypeDropdown = FilterLookupDescriptor.LookupTypeEnum.Dropdown;
|
|
4902
4929
|
this.lookupTypeAutocomplete = FilterLookupDescriptor.LookupTypeEnum.Autocomplete;
|
|
4903
4930
|
this.primeType = 'text';
|
|
4931
|
+
this.primeShowMatchMode = true;
|
|
4904
4932
|
this.primeDefaultMatchMode = FilterMatchMode.EQUALS;
|
|
4905
4933
|
this.primeDisplay = 'row';
|
|
4934
|
+
this.primeMatchModes = null;
|
|
4906
4935
|
}
|
|
4907
4936
|
ngOnInit() {
|
|
4908
4937
|
switch (this.descriptor.filterType) {
|
|
4909
4938
|
case FilterDescriptor.TypeEnum.Boolean:
|
|
4910
4939
|
this.primeType = 'boolean';
|
|
4940
|
+
this.primeShowMatchMode = false;
|
|
4911
4941
|
break;
|
|
4912
4942
|
case FilterDescriptor.TypeEnum.Number:
|
|
4913
4943
|
this.primeType = 'numeric';
|
|
@@ -4917,14 +4947,21 @@ class MngTableColumnFilterComponent {
|
|
|
4917
4947
|
break;
|
|
4918
4948
|
case FilterDescriptor.TypeEnum.Lookup:
|
|
4919
4949
|
this.primeType = 'lookup';
|
|
4950
|
+
this.primeShowMatchMode = false;
|
|
4920
4951
|
this.lookupDescriptor = this.descriptor;
|
|
4921
4952
|
this.primeField = `${this.descriptor.property}${this.lookupDescriptor.itemsValueProperty ? `.${this.lookupDescriptor.itemsValueProperty}` : ''}`;
|
|
4953
|
+
this.primeMatchModes = [{ value: FilterDescriptor.MatchModeEnum.Equals, label: this.primeConfig.getTranslation(FilterDescriptor.MatchModeEnum.Equals) }];
|
|
4922
4954
|
break;
|
|
4923
4955
|
case FilterDescriptor.TypeEnum.String:
|
|
4924
4956
|
this.primeType = 'text';
|
|
4925
4957
|
this.primeDefaultMatchMode = FilterMatchMode.CONTAINS;
|
|
4926
4958
|
break;
|
|
4927
4959
|
}
|
|
4960
|
+
if (this.descriptor.matchModes) {
|
|
4961
|
+
this.primeMatchModes = this.descriptor.matchModes.map(mm => ({ value: mm, label: this.primeConfig.getTranslation(mm) }));
|
|
4962
|
+
this.primeDefaultMatchMode = this.descriptor.matchModes[0];
|
|
4963
|
+
this.primeShowMatchMode = this.primeMatchModes?.length > 1;
|
|
4964
|
+
}
|
|
4928
4965
|
switch (this.display) {
|
|
4929
4966
|
case TableDescriptor.FilterDisplayEnum.Menu:
|
|
4930
4967
|
this.primeDisplay = 'menu';
|
|
@@ -4944,12 +4981,12 @@ class MngTableColumnFilterComponent {
|
|
|
4944
4981
|
}
|
|
4945
4982
|
}
|
|
4946
4983
|
}
|
|
4947
|
-
MngTableColumnFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4948
|
-
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]=\"
|
|
4984
|
+
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 });
|
|
4985
|
+
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 } });
|
|
4949
4986
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngTableColumnFilterComponent, decorators: [{
|
|
4950
4987
|
type: Component,
|
|
4951
|
-
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]=\"
|
|
4952
|
-
}], propDecorators: { descriptor: [{
|
|
4988
|
+
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" }]
|
|
4989
|
+
}], ctorParameters: function () { return [{ type: i2$3.PrimeNGConfig }]; }, propDecorators: { descriptor: [{
|
|
4953
4990
|
type: Input
|
|
4954
4991
|
}], display: [{
|
|
4955
4992
|
type: Input
|