@porscheinformatik/clr-addons 15.5.8 → 15.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datagrid/enum-filter/enum-filter.component.d.ts +13 -5
- package/esm2020/datagrid/enum-filter/enum-filter.component.mjs +23 -13
- package/fesm2015/clr-addons.mjs +22 -12
- package/fesm2015/clr-addons.mjs.map +1 -1
- package/fesm2020/clr-addons.mjs +22 -12
- package/fesm2020/clr-addons.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -2,27 +2,35 @@ import { EventEmitter, OnDestroy } from '@angular/core';
|
|
|
2
2
|
import { ClrDatagrid, ClrDatagridFilter, ClrDatagridFilterInterface } from '@clr/angular';
|
|
3
3
|
import { Subject } from 'rxjs';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
+
interface FilterValue {
|
|
6
|
+
value: string;
|
|
7
|
+
displayValue: string;
|
|
8
|
+
}
|
|
5
9
|
export declare class ClrEnumFilterComponent<T extends {
|
|
6
10
|
[key: string]: any;
|
|
7
11
|
}> implements ClrDatagridFilterInterface<T>, OnDestroy {
|
|
8
12
|
property: string;
|
|
9
13
|
set value(values: string[]);
|
|
10
14
|
clrFilterValuesChange: EventEmitter<string[]>;
|
|
11
|
-
possibleValues:
|
|
15
|
+
possibleValues: FilterValue[];
|
|
12
16
|
customPossibleValues: boolean;
|
|
13
|
-
filteredValues:
|
|
17
|
+
filteredValues: FilterValue[];
|
|
14
18
|
changes: EventEmitter<boolean>;
|
|
15
19
|
destroyed$: Subject<void>;
|
|
16
|
-
set clrPossibleValues(values: string[]);
|
|
20
|
+
set clrPossibleValues(values: (string | FilterValue)[]);
|
|
17
21
|
constructor(filterContainer: ClrDatagridFilter, datagrid: ClrDatagrid);
|
|
18
|
-
setPossibleValues(values: string[]): void;
|
|
19
|
-
onChange(selectedValue:
|
|
22
|
+
setPossibleValues(values: (string | FilterValue)[]): void;
|
|
23
|
+
onChange(selectedValue: FilterValue, checkboxState: boolean): void;
|
|
20
24
|
isActive(): boolean;
|
|
21
25
|
accepts(item: T): boolean;
|
|
22
26
|
get state(): any;
|
|
23
27
|
clearFilters(): void;
|
|
24
28
|
private emitFilterChanged;
|
|
25
29
|
ngOnDestroy(): void;
|
|
30
|
+
protected containsFilterValue(entries: FilterValue[], filtered: FilterValue): boolean;
|
|
31
|
+
private getDisplayValues;
|
|
32
|
+
private getValues;
|
|
26
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<ClrEnumFilterComponent<any>, never>;
|
|
27
34
|
static ɵcmp: i0.ɵɵComponentDeclaration<ClrEnumFilterComponent<any>, "clr-enum-filter", never, { "property": "clrProperty"; "value": "clrFilterValues"; "clrPossibleValues": "clrPossibleValues"; }, { "clrFilterValuesChange": "clrFilterValuesChange"; }, never, never, false, never>;
|
|
28
35
|
}
|
|
36
|
+
export {};
|
|
@@ -9,12 +9,13 @@ import * as i3 from "@angular/forms";
|
|
|
9
9
|
ClarityIcons.addIcons(trashIcon);
|
|
10
10
|
export class ClrEnumFilterComponent {
|
|
11
11
|
set value(values) {
|
|
12
|
+
const converted = values.map(filtered => ({ value: filtered, displayValue: filtered }));
|
|
12
13
|
if (this.possibleValues?.length) {
|
|
13
|
-
this.filteredValues =
|
|
14
|
-
this.clrFilterValuesChange.emit(this.filteredValues);
|
|
14
|
+
this.filteredValues = converted.filter(filtered => this.possibleValues.includes(filtered));
|
|
15
|
+
this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));
|
|
15
16
|
}
|
|
16
17
|
else {
|
|
17
|
-
this.filteredValues =
|
|
18
|
+
this.filteredValues = converted;
|
|
18
19
|
}
|
|
19
20
|
this.changes.emit(true);
|
|
20
21
|
}
|
|
@@ -38,9 +39,9 @@ export class ClrEnumFilterComponent {
|
|
|
38
39
|
});
|
|
39
40
|
}
|
|
40
41
|
setPossibleValues(values) {
|
|
41
|
-
this.possibleValues = values;
|
|
42
|
-
this.possibleValues.sort();
|
|
43
|
-
this.filteredValues = this.filteredValues.filter(filtered => this.possibleValues
|
|
42
|
+
this.possibleValues = values.map(v => (v instanceof Object ? v : { value: v, displayValue: v }));
|
|
43
|
+
this.possibleValues.sort((v1, v2) => v1.displayValue.localeCompare(v2.displayValue));
|
|
44
|
+
this.filteredValues = this.filteredValues.filter(filtered => this.containsFilterValue(this.possibleValues, filtered));
|
|
44
45
|
this.emitFilterChanged();
|
|
45
46
|
}
|
|
46
47
|
onChange(selectedValue, checkboxState) {
|
|
@@ -48,7 +49,7 @@ export class ClrEnumFilterComponent {
|
|
|
48
49
|
this.filteredValues.push(selectedValue);
|
|
49
50
|
}
|
|
50
51
|
else {
|
|
51
|
-
this.filteredValues = this.filteredValues.filter(
|
|
52
|
+
this.filteredValues = this.filteredValues.filter(filtered => filtered.value !== selectedValue.value);
|
|
52
53
|
}
|
|
53
54
|
this.emitFilterChanged();
|
|
54
55
|
}
|
|
@@ -56,12 +57,12 @@ export class ClrEnumFilterComponent {
|
|
|
56
57
|
return this.filteredValues.length > 0;
|
|
57
58
|
}
|
|
58
59
|
accepts(item) {
|
|
59
|
-
return this.filteredValues.includes(item[this.property]);
|
|
60
|
+
return this.getDisplayValues(this.filteredValues).includes(item[this.property]);
|
|
60
61
|
}
|
|
61
62
|
get state() {
|
|
62
63
|
return {
|
|
63
64
|
property: this.property,
|
|
64
|
-
value: this.filteredValues,
|
|
65
|
+
value: this.getValues(this.filteredValues),
|
|
65
66
|
};
|
|
66
67
|
}
|
|
67
68
|
clearFilters() {
|
|
@@ -69,19 +70,28 @@ export class ClrEnumFilterComponent {
|
|
|
69
70
|
this.emitFilterChanged();
|
|
70
71
|
}
|
|
71
72
|
emitFilterChanged() {
|
|
72
|
-
this.clrFilterValuesChange.emit(this.filteredValues);
|
|
73
|
+
this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));
|
|
73
74
|
this.changes.emit(true);
|
|
74
75
|
}
|
|
75
76
|
ngOnDestroy() {
|
|
76
77
|
this.destroyed$.next();
|
|
77
78
|
this.destroyed$.complete();
|
|
78
79
|
}
|
|
80
|
+
containsFilterValue(entries, filtered) {
|
|
81
|
+
return entries.some(v => v.value === filtered.value);
|
|
82
|
+
}
|
|
83
|
+
getDisplayValues(entries) {
|
|
84
|
+
return entries.map(entry => entry.displayValue);
|
|
85
|
+
}
|
|
86
|
+
getValues(entries) {
|
|
87
|
+
return entries.map(entry => entry.value);
|
|
88
|
+
}
|
|
79
89
|
}
|
|
80
90
|
ClrEnumFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrEnumFilterComponent, deps: [{ token: i1.ClrDatagridFilter }, { token: i1.ClrDatagrid }], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
-
ClrEnumFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrEnumFilterComponent, selector: "clr-enum-filter", inputs: { property: ["clrProperty", "property"], value: ["clrFilterValues", "value"], clrPossibleValues: "clrPossibleValues" }, outputs: { clrFilterValuesChange: "clrFilterValuesChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"filteredValues
|
|
91
|
+
ClrEnumFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrEnumFilterComponent, selector: "clr-enum-filter", inputs: { property: ["clrProperty", "property"], value: ["clrFilterValues", "value"], clrPossibleValues: "clrPossibleValues" }, outputs: { clrFilterValuesChange: "clrFilterValuesChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}.btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"], dependencies: [{ kind: "directive", type: i1.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i1.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1.ClrCheckboxContainer, selector: "clr-checkbox-container,clr-toggle-container", inputs: ["clrInline"] }, { kind: "component", type: i1.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
82
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrEnumFilterComponent, decorators: [{
|
|
83
93
|
type: Component,
|
|
84
|
-
args: [{ selector: 'clr-enum-filter', template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"filteredValues
|
|
94
|
+
args: [{ selector: 'clr-enum-filter', template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}.btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"] }]
|
|
85
95
|
}], ctorParameters: function () { return [{ type: i1.ClrDatagridFilter }, { type: i1.ClrDatagrid }]; }, propDecorators: { property: [{
|
|
86
96
|
type: Input,
|
|
87
97
|
args: ['clrProperty']
|
|
@@ -93,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
|
|
|
93
103
|
}], clrPossibleValues: [{
|
|
94
104
|
type: Input
|
|
95
105
|
}] } });
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUV6RCxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBT2pDLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsSUFDVyxLQUFLLENBQUMsTUFBZ0I7UUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRTtZQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3hGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1NBQ3REO2FBQU07WUFDTCxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztTQUM5QjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFD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LENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7bUhBdkZVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9QQ1puQyxrbUJBZ0JBOzJGREphLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7a0lBT0wsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUdULEtBQUs7c0JBRGYsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBV2QscUJBQXFCO3NCQUE5QixNQUFNO2dCQVNNLGlCQUFpQjtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckRhdGFncmlkLCBDbHJEYXRhZ3JpZEZpbHRlciwgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2UgfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDbGFyaXR5SWNvbnMsIHRyYXNoSWNvbiB9IGZyb20gJ0BjZHMvY29yZS9pY29uJztcblxuQ2xhcml0eUljb25zLmFkZEljb25zKHRyYXNoSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1lbnVtLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnVtLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudW0tZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENsckVudW1GaWx0ZXJDb21wb25lbnQ8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+XG4gIGltcGxlbWVudHMgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8VD4sIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2NsclByb3BlcnR5JykgcHJvcGVydHkgPSAnJztcblxuICBASW5wdXQoJ2NsckZpbHRlclZhbHVlcycpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIGlmICh0aGlzLnBvc3NpYmxlVmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSB2YWx1ZXMuZmlsdGVyKGZpbHRlcmVkID0+IHRoaXMucG9zc2libGVWYWx1ZXMuaW5jbHVkZXMoZmlsdGVyZWQpKTtcbiAgICAgIHRoaXMuY2xyRmlsdGVyVmFsdWVzQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJlZFZhbHVlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlcy5lbWl0KHRydWUpO1xuICB9XG5cbiAgQE91dHB1dCgpIGNsckZpbHRlclZhbHVlc0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XG5cbiAgcG9zc2libGVWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gIGN1c3RvbVBvc3NpYmxlVmFsdWVzID0gZmFsc2U7XG4gIGZpbHRlcmVkVmFsdWVzOiBzdHJpbmdbXSA9IFtdO1xuICBjaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQElucHV0KCkgc2V0IGNsclBvc3NpYmxlVmFsdWVzKHZhbHVlczogc3RyaW5nW10pIHtcbiAgICB0aGlzLnNldFBvc3NpYmxlVmFsdWVzKHZhbHVlcyk7XG4gICAgdGhpcy5jdXN0b21Qb3NzaWJsZVZhbHVlcyA9IHRydWU7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihmaWx0ZXJDb250YWluZXI6IENsckRhdGFncmlkRmlsdGVyLCBkYXRhZ3JpZDogQ2xyRGF0YWdyaWQpIHtcbiAgICBmaWx0ZXJDb250YWluZXIuc2V0RmlsdGVyKHRoaXMpO1xuICAgIGRhdGFncmlkLml0ZW1zLmFsbENoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKGl0ZW1zID0+IHtcbiAgICAgIGlmICghdGhpcy5jdXN0b21Qb3NzaWJsZVZhbHVlcykge1xuICAgICAgICB0aGlzLnNldFBvc3NpYmxlVmFsdWVzKFxuICAgICAgICAgIGl0ZW1zLm1hcChpdGVtID0+IGl0ZW1bdGhpcy5wcm9wZXJ0eV0pLmZpbHRlcigodmFsdWUsIGluZGV4LCBzZWxmKSA9PiBzZWxmLmluZGV4T2YodmFsdWUpID09PSBpbmRleClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldFBvc3NpYmxlVmFsdWVzKHZhbHVlczogc3RyaW5nW10pIHtcbiAgICB0aGlzLnBvc3NpYmxlVmFsdWVzID0gdmFsdWVzO1xuICAgIHRoaXMucG9zc2libGVWYWx1ZXMuc29ydCgpO1xuICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSB0aGlzLmZpbHRlcmVkVmFsdWVzLmZpbHRlcihmaWx0ZXJlZCA9PiB0aGlzLnBvc3NpYmxlVmFsdWVzLmluY2x1ZGVzKGZpbHRlcmVkKSk7XG5cbiAgICB0aGlzLmVtaXRGaWx0ZXJDaGFuZ2VkKCk7XG4gIH1cblxuICBvbkNoYW5nZShzZWxlY3RlZFZhbHVlOiBzdHJpbmcsIGNoZWNrYm94U3RhdGU6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2hlY2tib3hTdGF0ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcy5wdXNoKHNlbGVjdGVkVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkVmFsdWVzID0gdGhpcy5maWx0ZXJlZFZhbHVlcy5maWx0ZXIoZmlsdGVyZWRTdGF0ZSA9PiBmaWx0ZXJlZFN0YXRlICE9PSBzZWxlY3RlZFZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRGaWx0ZXJDaGFuZ2VkKCk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZFZhbHVlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgYWNjZXB0cyhpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRWYWx1ZXMuaW5jbHVkZXMoaXRlbVt0aGlzLnByb3BlcnR5XSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnR5OiB0aGlzLnByb3BlcnR5LFxuICAgICAgdmFsdWU6IHRoaXMuZmlsdGVyZWRWYWx1ZXMsXG4gICAgfTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVycygpIHtcbiAgICB0aGlzLmZpbHRlcmVkVmFsdWVzID0gW107XG4gICAgdGhpcy5lbWl0RmlsdGVyQ2hhbmdlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmlsdGVyQ2hhbmdlZCgpIHtcbiAgICB0aGlzLmNsckZpbHRlclZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuZmlsdGVyZWRWYWx1ZXMpO1xuICAgIHRoaXMuY2hhbmdlcy5lbWl0KHRydWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc20gYnRuLWljb24gYnRuLWxpbmsgYnRuLXRyYXNoXCIgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCI+XG4gIDxjZHMtaWNvbiBzaGFwZT1cInRyYXNoXCI+PC9jZHMtaWNvbj5cbjwvYnV0dG9uPlxuPGNsci1jaGVja2JveC1jb250YWluZXIgY2xhc3M9XCJmaWx0ZXItc2VsZWN0aW9uXCI+XG4gIDxjbHItY2hlY2tib3gtd3JhcHBlciAqbmdGb3I9XCJsZXQgcG9zc2libGVWYWx1ZSBvZiBwb3NzaWJsZVZhbHVlc1wiPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICAgIGNsckNoZWNrYm94XG4gICAgICB2YWx1ZT1cInt7IHBvc3NpYmxlVmFsdWUgfX1cIlxuICAgICAgbmFtZT1cInBvc3NpYmxlVmFsdWVcIlxuICAgICAgW25nTW9kZWxdPVwiZmlsdGVyZWRWYWx1ZXMuaW5jbHVkZXMocG9zc2libGVWYWx1ZSlcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2UocG9zc2libGVWYWx1ZSwgJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8bGFiZWw+e3sgcG9zc2libGVWYWx1ZSB9fTwvbGFiZWw+XG4gIDwvY2xyLWNoZWNrYm94LXdyYXBwZXI+XG48L2Nsci1jaGVja2JveC1jb250YWluZXI+XG4iXX0=
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUV6RCxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBWWpDLE1BQU0sT0FBTyxzQkFBc0I7SUFLakMsSUFDVyxLQUFLLENBQUMsTUFBZ0I7UUFDL0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEYsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRTtZQUMvQixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMs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QyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFNBQVMsQ0FBQyxPQUFzQjtRQUN0QyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7bUhBdEdVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLG9QQ2pCbkMsMHFCQWdCQTsyRkRDYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UsaUJBQWlCO2tJQU9MLFFBQVE7c0JBQTdCLEtBQUs7dUJBQUMsYUFBYTtnQkFHVCxLQUFLO3NCQURmLEtBQUs7dUJBQUMsaUJBQWlCO2dCQVlkLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFTTSxpQkFBaUI7c0JBQTdCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDbHJEYXRhZ3JpZCwgQ2xyRGF0YWdyaWRGaWx0ZXIsIENsckRhdGFncmlkRmlsdGVySW50ZXJmYWNlIH0gZnJvbSAnQGNsci9hbmd1bGFyJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xhcml0eUljb25zLCB0cmFzaEljb24gfSBmcm9tICdAY2RzL2NvcmUvaWNvbic7XG5cbkNsYXJpdHlJY29ucy5hZGRJY29ucyh0cmFzaEljb24pO1xuXG5pbnRlcmZhY2UgRmlsdGVyVmFsdWUge1xuICB2YWx1ZTogc3RyaW5nO1xuICBkaXNwbGF5VmFsdWU6IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWVudW0tZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudW0tZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW51bS1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRW51bUZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfT5cbiAgaW1wbGVtZW50cyBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxUPiwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgnY2xyUHJvcGVydHknKSBwcm9wZXJ0eSA9ICcnO1xuXG4gIEBJbnB1dCgnY2xyRmlsdGVyVmFsdWVzJylcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgY29udmVydGVkID0gdmFsdWVzLm1hcChmaWx0ZXJlZCA9PiAoeyB2YWx1ZTogZmlsdGVyZWQsIGRpc3BsYXlWYWx1ZTogZmlsdGVyZWQgfSkpO1xuICAgIGlmICh0aGlzLnBvc3NpYmxlVmFsdWVzPy5sZW5ndGgpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSBjb252ZXJ0ZWQuZmlsdGVyKGZpbHRlcmVkID0+IHRoaXMucG9zc2libGVWYWx1ZXMuaW5jbHVkZXMoZmlsdGVyZWQpKTtcbiAgICAgIHRoaXMuY2xyRmlsdGVyVmFsdWVzQ2hhbmdlLmVtaXQodGhpcy5nZXREaXNwbGF5VmFsdWVzKHRoaXMuZmlsdGVyZWRWYWx1ZXMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IGNvbnZlcnRlZDtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VzLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBAT3V0cHV0KCkgY2xyRmlsdGVyVmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwb3NzaWJsZVZhbHVlczogRmlsdGVyVmFsdWVbXSA9IFtdO1xuICBjdXN0b21Qb3NzaWJsZVZhbHVlcyA9IGZhbHNlO1xuICBmaWx0ZXJlZFZhbHVlczogRmlsdGVyVmFsdWVbXSA9IFtdO1xuICBjaGFuZ2VzID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPihmYWxzZSk7XG5cbiAgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgQElucHV0KCkgc2V0IGNsclBvc3NpYmxlVmFsdWVzKHZhbHVlczogKHN0cmluZyB8IEZpbHRlclZhbHVlKVtdKSB7XG4gICAgdGhpcy5zZXRQb3NzaWJsZVZhbHVlcyh2YWx1ZXMpO1xuICAgIHRoaXMuY3VzdG9tUG9zc2libGVWYWx1ZXMgPSB0cnVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoZmlsdGVyQ29udGFpbmVyOiBDbHJEYXRhZ3JpZEZpbHRlciwgZGF0YWdyaWQ6IENsckRhdGFncmlkKSB7XG4gICAgZmlsdGVyQ29udGFpbmVyLnNldEZpbHRlcih0aGlzKTtcbiAgICBkYXRhZ3JpZC5pdGVtcy5hbGxDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZShpdGVtcyA9PiB7XG4gICAgICBpZiAoIXRoaXMuY3VzdG9tUG9zc2libGVWYWx1ZXMpIHtcbiAgICAgICAgdGhpcy5zZXRQb3NzaWJsZVZhbHVlcyhcbiAgICAgICAgICBpdGVtcy5tYXAoaXRlbSA9PiBpdGVtW3RoaXMucHJvcGVydHldKS5maWx0ZXIoKHZhbHVlLCBpbmRleCwgc2VsZikgPT4gc2VsZi5pbmRleE9mKHZhbHVlKSA9PT0gaW5kZXgpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRQb3NzaWJsZVZhbHVlcyh2YWx1ZXM6IChzdHJpbmcgfCBGaWx0ZXJWYWx1ZSlbXSkge1xuICAgIHRoaXMucG9zc2libGVWYWx1ZXMgPSB2YWx1ZXMubWFwKHYgPT4gKHYgaW5zdGFuY2VvZiBPYmplY3QgPyB2IDogeyB2YWx1ZTogdiwgZGlzcGxheVZhbHVlOiB2IH0pKTtcbiAgICB0aGlzLnBvc3NpYmxlVmFsdWVzLnNvcnQoKHYxLCB2MikgPT4gdjEuZGlzcGxheVZhbHVlLmxvY2FsZUNvbXBhcmUodjIuZGlzcGxheVZhbHVlKSk7XG4gICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHRoaXMuZmlsdGVyZWRWYWx1ZXMuZmlsdGVyKGZpbHRlcmVkID0+XG4gICAgICB0aGlzLmNvbnRhaW5zRmlsdGVyVmFsdWUodGhpcy5wb3NzaWJsZVZhbHVlcywgZmlsdGVyZWQpXG4gICAgKTtcblxuICAgIHRoaXMuZW1pdEZpbHRlckNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKHNlbGVjdGVkVmFsdWU6IEZpbHRlclZhbHVlLCBjaGVja2JveFN0YXRlOiBib29sZWFuKSB7XG4gICAgaWYgKGNoZWNrYm94U3RhdGUpIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMucHVzaChzZWxlY3RlZFZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHRoaXMuZmlsdGVyZWRWYWx1ZXMuZmlsdGVyKGZpbHRlcmVkID0+IGZpbHRlcmVkLnZhbHVlICE9PSBzZWxlY3RlZFZhbHVlLnZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmVtaXRGaWx0ZXJDaGFuZ2VkKCk7XG4gIH1cblxuICBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZFZhbHVlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgYWNjZXB0cyhpdGVtOiBUKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGlzcGxheVZhbHVlcyh0aGlzLmZpbHRlcmVkVmFsdWVzKS5pbmNsdWRlcyhpdGVtW3RoaXMucHJvcGVydHldKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHk6IHRoaXMucHJvcGVydHksXG4gICAgICB2YWx1ZTogdGhpcy5nZXRWYWx1ZXModGhpcy5maWx0ZXJlZFZhbHVlcyksXG4gICAgfTtcbiAgfVxuXG4gIGNsZWFyRmlsdGVycygpIHtcbiAgICB0aGlzLmZpbHRlcmVkVmFsdWVzID0gW107XG4gICAgdGhpcy5lbWl0RmlsdGVyQ2hhbmdlZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmlsdGVyQ2hhbmdlZCgpIHtcbiAgICB0aGlzLmNsckZpbHRlclZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuZ2V0RGlzcGxheVZhbHVlcyh0aGlzLmZpbHRlcmVkVmFsdWVzKSk7XG4gICAgdGhpcy5jaGFuZ2VzLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbnRhaW5zRmlsdGVyVmFsdWUoZW50cmllczogRmlsdGVyVmFsdWVbXSwgZmlsdGVyZWQ6IEZpbHRlclZhbHVlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGVudHJpZXMuc29tZSh2ID0+IHYudmFsdWUgPT09IGZpbHRlcmVkLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGlzcGxheVZhbHVlcyhlbnRyaWVzOiBGaWx0ZXJWYWx1ZVtdKTogc3RyaW5nW10ge1xuICAgIHJldHVybiBlbnRyaWVzLm1hcChlbnRyeSA9PiBlbnRyeS5kaXNwbGF5VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRWYWx1ZXMoZW50cmllczogRmlsdGVyVmFsdWVbXSk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gZW50cmllcy5tYXAoZW50cnkgPT4gZW50cnkudmFsdWUpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGluayBidG4tdHJhc2hcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5cbiAgPGNkcy1pY29uIHNoYXBlPVwidHJhc2hcIj48L2Nkcy1pY29uPlxuPC9idXR0b24+XG48Y2xyLWNoZWNrYm94LWNvbnRhaW5lciBjbGFzcz1cImZpbHRlci1zZWxlY3Rpb25cIj5cbiAgPGNsci1jaGVja2JveC13cmFwcGVyICpuZ0Zvcj1cImxldCBwb3NzaWJsZVZhbHVlIG9mIHBvc3NpYmxlVmFsdWVzXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgY2xyQ2hlY2tib3hcbiAgICAgIHZhbHVlPVwie3sgcG9zc2libGVWYWx1ZS5kaXNwbGF5VmFsdWUgPz8gcG9zc2libGVWYWx1ZSB9fVwiXG4gICAgICBuYW1lPVwicG9zc2libGVWYWx1ZVwiXG4gICAgICBbbmdNb2RlbF09XCJjb250YWluc0ZpbHRlclZhbHVlKGZpbHRlcmVkVmFsdWVzLCBwb3NzaWJsZVZhbHVlKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZShwb3NzaWJsZVZhbHVlLCAkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxsYWJlbD57eyBwb3NzaWJsZVZhbHVlLmRpc3BsYXlWYWx1ZSA/PyBwb3NzaWJsZVZhbHVlIH19PC9sYWJlbD5cbiAgPC9jbHItY2hlY2tib3gtd3JhcHBlcj5cbjwvY2xyLWNoZWNrYm94LWNvbnRhaW5lcj5cbiJdfQ==
|
package/fesm2015/clr-addons.mjs
CHANGED
|
@@ -5748,12 +5748,13 @@ ClarityIcons.addIcons(trashIcon);
|
|
|
5748
5748
|
class ClrEnumFilterComponent {
|
|
5749
5749
|
set value(values) {
|
|
5750
5750
|
var _a;
|
|
5751
|
+
const converted = values.map(filtered => ({ value: filtered, displayValue: filtered }));
|
|
5751
5752
|
if ((_a = this.possibleValues) === null || _a === void 0 ? void 0 : _a.length) {
|
|
5752
|
-
this.filteredValues =
|
|
5753
|
-
this.clrFilterValuesChange.emit(this.filteredValues);
|
|
5753
|
+
this.filteredValues = converted.filter(filtered => this.possibleValues.includes(filtered));
|
|
5754
|
+
this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));
|
|
5754
5755
|
}
|
|
5755
5756
|
else {
|
|
5756
|
-
this.filteredValues =
|
|
5757
|
+
this.filteredValues = converted;
|
|
5757
5758
|
}
|
|
5758
5759
|
this.changes.emit(true);
|
|
5759
5760
|
}
|
|
@@ -5777,9 +5778,9 @@ class ClrEnumFilterComponent {
|
|
|
5777
5778
|
});
|
|
5778
5779
|
}
|
|
5779
5780
|
setPossibleValues(values) {
|
|
5780
|
-
this.possibleValues = values;
|
|
5781
|
-
this.possibleValues.sort();
|
|
5782
|
-
this.filteredValues = this.filteredValues.filter(filtered => this.possibleValues
|
|
5781
|
+
this.possibleValues = values.map(v => (v instanceof Object ? v : { value: v, displayValue: v }));
|
|
5782
|
+
this.possibleValues.sort((v1, v2) => v1.displayValue.localeCompare(v2.displayValue));
|
|
5783
|
+
this.filteredValues = this.filteredValues.filter(filtered => this.containsFilterValue(this.possibleValues, filtered));
|
|
5783
5784
|
this.emitFilterChanged();
|
|
5784
5785
|
}
|
|
5785
5786
|
onChange(selectedValue, checkboxState) {
|
|
@@ -5787,7 +5788,7 @@ class ClrEnumFilterComponent {
|
|
|
5787
5788
|
this.filteredValues.push(selectedValue);
|
|
5788
5789
|
}
|
|
5789
5790
|
else {
|
|
5790
|
-
this.filteredValues = this.filteredValues.filter(
|
|
5791
|
+
this.filteredValues = this.filteredValues.filter(filtered => filtered.value !== selectedValue.value);
|
|
5791
5792
|
}
|
|
5792
5793
|
this.emitFilterChanged();
|
|
5793
5794
|
}
|
|
@@ -5795,12 +5796,12 @@ class ClrEnumFilterComponent {
|
|
|
5795
5796
|
return this.filteredValues.length > 0;
|
|
5796
5797
|
}
|
|
5797
5798
|
accepts(item) {
|
|
5798
|
-
return this.filteredValues.includes(item[this.property]);
|
|
5799
|
+
return this.getDisplayValues(this.filteredValues).includes(item[this.property]);
|
|
5799
5800
|
}
|
|
5800
5801
|
get state() {
|
|
5801
5802
|
return {
|
|
5802
5803
|
property: this.property,
|
|
5803
|
-
value: this.filteredValues,
|
|
5804
|
+
value: this.getValues(this.filteredValues),
|
|
5804
5805
|
};
|
|
5805
5806
|
}
|
|
5806
5807
|
clearFilters() {
|
|
@@ -5808,19 +5809,28 @@ class ClrEnumFilterComponent {
|
|
|
5808
5809
|
this.emitFilterChanged();
|
|
5809
5810
|
}
|
|
5810
5811
|
emitFilterChanged() {
|
|
5811
|
-
this.clrFilterValuesChange.emit(this.filteredValues);
|
|
5812
|
+
this.clrFilterValuesChange.emit(this.getDisplayValues(this.filteredValues));
|
|
5812
5813
|
this.changes.emit(true);
|
|
5813
5814
|
}
|
|
5814
5815
|
ngOnDestroy() {
|
|
5815
5816
|
this.destroyed$.next();
|
|
5816
5817
|
this.destroyed$.complete();
|
|
5817
5818
|
}
|
|
5819
|
+
containsFilterValue(entries, filtered) {
|
|
5820
|
+
return entries.some(v => v.value === filtered.value);
|
|
5821
|
+
}
|
|
5822
|
+
getDisplayValues(entries) {
|
|
5823
|
+
return entries.map(entry => entry.displayValue);
|
|
5824
|
+
}
|
|
5825
|
+
getValues(entries) {
|
|
5826
|
+
return entries.map(entry => entry.value);
|
|
5827
|
+
}
|
|
5818
5828
|
}
|
|
5819
5829
|
ClrEnumFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrEnumFilterComponent, deps: [{ token: i1$1.ClrDatagridFilter }, { token: i1$1.ClrDatagrid }], target: i0.ɵɵFactoryTarget.Component });
|
|
5820
|
-
ClrEnumFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrEnumFilterComponent, selector: "clr-enum-filter", inputs: { property: ["clrProperty", "property"], value: ["clrFilterValues", "value"], clrPossibleValues: "clrPossibleValues" }, outputs: { clrFilterValuesChange: "clrFilterValuesChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"filteredValues
|
|
5830
|
+
ClrEnumFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrEnumFilterComponent, selector: "clr-enum-filter", inputs: { property: ["clrProperty", "property"], value: ["clrFilterValues", "value"], clrPossibleValues: "clrPossibleValues" }, outputs: { clrFilterValuesChange: "clrFilterValuesChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}.btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"], dependencies: [{ kind: "directive", type: i1$1.CdsIconCustomTag, selector: "cds-icon" }, { kind: "directive", type: i1$1.ClrLabel, selector: "label", inputs: ["for"] }, { kind: "directive", type: i1$1.ClrCheckbox, selector: "[clrCheckbox],[clrToggle]" }, { kind: "component", type: i1$1.ClrCheckboxContainer, selector: "clr-checkbox-container,clr-toggle-container", inputs: ["clrInline"] }, { kind: "component", type: i1$1.ClrCheckboxWrapper, selector: "clr-checkbox-wrapper,clr-toggle-wrapper" }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
5821
5831
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrEnumFilterComponent, decorators: [{
|
|
5822
5832
|
type: Component,
|
|
5823
|
-
args: [{ selector: 'clr-enum-filter', template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"filteredValues
|
|
5833
|
+
args: [{ selector: 'clr-enum-filter', template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilters()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-checkbox-container class=\"filter-selection\">\n <clr-checkbox-wrapper *ngFor=\"let possibleValue of possibleValues\">\n <input\n type=\"checkbox\"\n clrCheckbox\n value=\"{{ possibleValue.displayValue ?? possibleValue }}\"\n name=\"possibleValue\"\n [ngModel]=\"containsFilterValue(filteredValues, possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue.displayValue ?? possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}.btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"] }]
|
|
5824
5834
|
}], ctorParameters: function () { return [{ type: i1$1.ClrDatagridFilter }, { type: i1$1.ClrDatagrid }]; }, propDecorators: { property: [{
|
|
5825
5835
|
type: Input,
|
|
5826
5836
|
args: ['clrProperty']
|