@porscheinformatik/clr-addons 15.4.1 → 15.5.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.
@@ -41,6 +41,7 @@ export declare class ClrDateFilterComponent<T extends {
41
41
  private _changes;
42
42
  get changes(): Observable<[Date, Date]>;
43
43
  get state(): any;
44
+ clearFilter(): void;
44
45
  equals(other: ClrDatagridFilterInterface<T, any>): boolean;
45
46
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrDateFilterComponent<any>, never>;
46
47
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrDateFilterComponent<any>, "clr-date-filter", never, { "property": "clrProperty"; "maxPlaceholder": "clrFilterMaxPlaceholder"; "minPlaceholder": "clrFilterMinPlaceholder"; "value": "clrFilterValue"; }, { "filterValueChange": "clrFilterValueChange"; }, never, never, false, never>;
@@ -20,6 +20,8 @@ export declare class ClrEnumFilterComponent<T extends {
20
20
  isActive(): boolean;
21
21
  accepts(item: T): boolean;
22
22
  get state(): any;
23
+ clearFilters(): void;
24
+ private emitFilterChanged;
23
25
  ngOnDestroy(): void;
24
26
  static ɵfac: i0.ɵɵFactoryDeclaration<ClrEnumFilterComponent<any>, never>;
25
27
  static ɵcmp: i0.ɵɵComponentDeclaration<ClrEnumFilterComponent<any>, "clr-enum-filter", never, { "property": "clrProperty"; "value": "clrFilterValues"; "clrPossibleValues": "clrPossibleValues"; }, { "clrFilterValuesChange": "clrFilterValuesChange"; }, never, never, false, never>;
@@ -2,8 +2,10 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { ClrCommonStringsService, ClrDatagridFilter, ClrPopoverEventsService, } from '@clr/angular';
3
3
  import { Subject } from 'rxjs';
4
4
  import { NestedProperty } from './nested-property';
5
+ import { ClarityIcons, trashIcon } from '@cds/core/icon';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "@clr/angular";
8
+ ClarityIcons.addIcons(trashIcon);
7
9
  export class ClrDateFilterComponent {
8
10
  constructor(commonStrings, clrPopoverEventsService, filterContainer) {
9
11
  this.commonStrings = commonStrings;
@@ -113,15 +115,21 @@ export class ClrDateFilterComponent {
113
115
  to: this._to,
114
116
  };
115
117
  }
118
+ clearFilter() {
119
+ this._from = null;
120
+ this._to = null;
121
+ this._changes.next([this._from, this._to]);
122
+ this.filterValueChange.emit([this._from, this._to]);
123
+ }
116
124
  equals(other) {
117
125
  return other === this;
118
126
  }
119
127
  }
120
128
  ClrDateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDateFilterComponent, deps: [{ token: i1.ClrCommonStringsService }, { token: i1.ClrPopoverEventsService }, { token: i1.ClrDatagridFilter }], target: i0.ɵɵFactoryTarget.Component });
121
- ClrDateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrDateFilterComponent, selector: "clr-date-filter", inputs: { property: ["clrProperty", "property"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], value: ["clrFilterValue", "value"] }, outputs: { filterValueChange: "clrFilterValueChange" }, ngImport: i0, template: "<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n", styles: [""], dependencies: [{ kind: "component", type: i1.ClrDateContainer, selector: "clr-date-container", inputs: ["clrPosition"] }, { kind: "directive", type: i1.ClrDateInput, selector: "[clrDate]", inputs: ["placeholder", "clrDate", "min", "max", "disabled"], outputs: ["clrDateChange"] }, { kind: "directive", type: i1.ClrDateInputValidator, selector: "[clrDate]" }] });
129
+ ClrDateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrDateFilterComponent, selector: "clr-date-filter", inputs: { property: ["clrProperty", "property"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], value: ["clrFilterValue", "value"] }, outputs: { filterValueChange: "clrFilterValueChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n", styles: [".btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"], dependencies: [{ kind: "directive", type: i1.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i1.ClrDateContainer, selector: "clr-date-container", inputs: ["clrPosition"] }, { kind: "directive", type: i1.ClrDateInput, selector: "[clrDate]", inputs: ["placeholder", "clrDate", "min", "max", "disabled"], outputs: ["clrDateChange"] }, { kind: "directive", type: i1.ClrDateInputValidator, selector: "[clrDate]" }] });
122
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDateFilterComponent, decorators: [{
123
131
  type: Component,
124
- args: [{ selector: 'clr-date-filter', template: "<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n" }]
132
+ args: [{ selector: 'clr-date-filter', template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n", styles: [".btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"] }]
125
133
  }], ctorParameters: function () { return [{ type: i1.ClrCommonStringsService }, { type: i1.ClrPopoverEventsService }, { type: i1.ClrDatagridFilter }]; }, propDecorators: { property: [{
126
134
  type: Input,
127
135
  args: ['clrProperty']
@@ -138,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
138
146
  type: Output,
139
147
  args: ['clrFilterValueChange']
140
148
  }] } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFFakIsdUJBQXVCLEdBQ3hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFPbkQsTUFBTSxPQUFPLHNCQUFzQjtJQWFqQyxZQUNVLGFBQXNDLEVBQ3RDLHVCQUFnRCxFQUN4RCxlQUFrQztRQUYxQixrQkFBYSxHQUFiLGFBQWEsQ0FBeUI7UUFDdEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQTRDMUIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RTs7V0FFRztRQUNLLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBQzFCLFFBQUcsR0FBZ0IsSUFBSSxDQUFDO1FBd0RoQzs7V0FFRztRQUNLLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQTFHN0MsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBZEQsSUFBMEIsUUFBUSxDQUFDLEtBQWE7UUFDOUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5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QUNkO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBT0QscUZBQXFGO0lBQ3JGLElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDekIsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2hCLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRztTQUNiLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQXlDO1FBQ3JELE9BQU8sS0FBSyxLQUFLLElBQUksQ0FBQztJQUN4QixDQUFDOzttSEE3SVUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb1VDZm5DLGloQkFxQkE7MkZETmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQjtvTEFTRCxRQUFRO3NCQUFqQyxLQUFLO3VCQUFDLGFBQWE7Z0JBdUJjLGNBQWM7c0JBQS9DLEtBQUs7dUJBQUMseUJBQXlCO2dCQU1FLGNBQWM7c0JBQS9DLEtBQUs7dUJBQUMseUJBQXlCO2dCQU9yQixLQUFLO3NCQURmLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQW1CUyxpQkFBaUI7c0JBQWhELE1BQU07dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICBDbHJEYXRhZ3JpZEZpbHRlcixcbiAgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2UsXG4gIENsclBvcG92ZXJFdmVudHNTZXJ2aWNlLFxufSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmVzdGVkUHJvcGVydHkgfSBmcm9tICcuL25lc3RlZC1wcm9wZXJ0eSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kYXRlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGVGaWx0ZXJDb21wb25lbnQ8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+XG4gIGltcGxlbWVudHMgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8VD4sIEFmdGVyVmlld0luaXRcbntcbiAgcHJpdmF0ZSBuZXN0ZWRQcm9wOiBOZXN0ZWRQcm9wZXJ0eTxhbnk+O1xuXG4gIEBJbnB1dCgnY2xyUHJvcGVydHknKSBzZXQgcHJvcGVydHkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubmVzdGVkUHJvcCA9IG5ldyBOZXN0ZWRQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgcHJvcGVydHkoKSB7XG4gICAgcmV0dXJuIHRoaXMubmVzdGVkUHJvcC5wcm9wO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGNsclBvcG92ZXJFdmVudHNTZXJ2aWNlOiBDbHJQb3BvdmVyRXZlbnRzU2VydmljZSxcbiAgICBmaWx0ZXJDb250YWluZXI6IENsckRhdGFncmlkRmlsdGVyXG4gICkge1xuICAgIGZpbHRlckNvbnRhaW5lci5zZXRGaWx0ZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xyUG9wb3ZlckV2ZW50c1NlcnZpY2Uub3V0c2lkZUNsaWNrQ2xvc2UgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlIGEgd2F5IHRvIHBhc3MgZXh0ZXJuYWwgcGxhY2Vob2xkZXIgYW5kIGFyaWEtbGFiZWwgdG8gdGhlIGZpbHRlciBpbnB1dFxuICAgKi9cbiAgQElucHV0KCdjbHJGaWx0ZXJNYXhQbGFjZWhvbGRlcicpIG1heFBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgZ2V0IG1heFBsYWNlaG9sZGVyVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4UGxhY2Vob2xkZXIgfHwgdGhpcy5jb21tb25TdHJpbmdzLmtleXMubWF4VmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ2NsckZpbHRlck1pblBsYWNlaG9sZGVyJykgbWluUGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBnZXQgbWluUGxhY2Vob2xkZXJWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5taW5QbGFjZWhvbGRlciB8fCB0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5taW5WYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyRmlsdGVyVmFsdWUnKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlczogW0RhdGUsIERhdGVdKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgaWYgKHZhbHVlcyAmJiAodmFsdWVzWzBdICE9PSB0aGlzLl9mcm9tIHx8IHZhbHVlc1sxXSAhPT0gdGhpcy5fdG8pKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWVzWzBdID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRoaXMuX2Zyb20gPSB2YWx1ZXNbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fZnJvbSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZXNbMV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5fdG8gPSB2YWx1ZXNbMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdG8gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NoYW5nZXMubmV4dCh2YWx1ZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoJ2NsckZpbHRlclZhbHVlQ2hhbmdlJykgZmlsdGVyVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHZhbHVlcyBhbmQgYWNjZXNzb3JcbiAgICovXG4gIHByaXZhdGUgX2Zyb206IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdG86IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGZyb20oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb207XG4gIH1cblxuICBwdWJsaWMgc2V0IGZyb20oZnJvbTogRGF0ZSkge1xuICAgIGlmICh0eXBlb2YgZnJvbSA9PT0gJ29iamVjdCcgJiYgZnJvbSAhPT0gdGhpcy5fZnJvbSkge1xuICAgICAgaWYgKGZyb20gJiYgdHlwZW9mIGZyb20uc2V0SG91cnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZnJvbS5zZXRIb3VycygwLCAwLCAwLCAwKTsgLy8gc2V0IGZyb20tZGF0ZSB0byBzdGFydCBvZiBkYXlcbiAgICAgIH1cbiAgICAgIHRoaXMuX2Zyb20gPSBmcm9tO1xuICAgICAgdGhpcy5fY2hhbmdlcy5uZXh0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgICAgdGhpcy5maWx0ZXJWYWx1ZUNoYW5nZS5lbWl0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG8oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvO1xuICB9XG5cbiAgcHVibGljIHNldCB0byh0bzogRGF0ZSkge1xuICAgIGlmICh0eXBlb2YgdG8gPT09ICdvYmplY3QnICYmIHRvICE9PSB0aGlzLl90bykge1xuICAgICAgaWYgKHRvICYmIHR5cGVvZiB0by5zZXRIb3VycyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0by5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpOyAvLyBzZXQgdG8tZGF0ZSB0byBlbmQgb2YgZGF5XG4gICAgICB9XG4gICAgICB0aGlzLl90byA9IHRvO1xuICAgICAgdGhpcy5fY2hhbmdlcy5uZXh0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgICAgdGhpcy5maWx0ZXJWYWx1ZUNoYW5nZS5lbWl0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGZpbHRlciBpcyBjdXJyZW50bHkgYWN0aXZlLCAoYXQgbGVhc3Qgb25lIGlucHV0IGlzIHNldClcbiAgICovXG4gIHB1YmxpYyBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnJvbSAhPT0gbnVsbCB8fCB0aGlzLl90byAhPT0gbnVsbDtcbiAgfVxuXG4gIGFjY2VwdHMoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIGxldCBwcm9wVmFsdWUgPSB0aGlzLm5lc3RlZFByb3AgPyB0aGlzLm5lc3RlZFByb3AuZ2V0UHJvcFZhbHVlKGl0ZW0pIDogaXRlbTtcbiAgICBpZiAocHJvcFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwcm9wVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBwcm9wVmFsdWUgPSBuZXcgRGF0ZShwcm9wVmFsdWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZnJvbSAhPT0gbnVsbCAmJiAoIShwcm9wVmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB8fCBwcm9wVmFsdWUuZ2V0VGltZSgpIDwgdGhpcy5fZnJvbS5nZXRUaW1lKCkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLl90byAhPT0gbnVsbCAmJiAoIShwcm9wVmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB8fCBwcm9wVmFsdWUuZ2V0VGltZSgpID4gdGhpcy5fdG8uZ2V0VGltZSgpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgT2JzZXJ2YWJsZSByZXF1aXJlZCBhcyBwYXJ0IG9mIHRoZSBGaWx0ZXIgaW50ZXJmYWNlXG4gICAqL1xuICBwcml2YXRlIF9jaGFuZ2VzID0gbmV3IFN1YmplY3Q8W0RhdGUsIERhdGVdPigpO1xuXG4gIC8vIFdlIGRvIG5vdCB3YW50IHRvIGV4cG9zZSB0aGUgU3ViamVjdCBpdHNlbGYsIGJ1dCB0aGUgT2JzZXJ2YWJsZSB3aGljaCBpcyByZWFkLW9ubHlcbiAgcHVibGljIGdldCBjaGFuZ2VzKCk6IE9ic2VydmFibGU8W0RhdGUsIERhdGVdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnR5OiB0aGlzLm5lc3RlZFByb3AsXG4gICAgICBmcm9tOiB0aGlzLl9mcm9tLFxuICAgICAgdG86IHRoaXMuX3RvLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZXF1YWxzKG90aGVyOiBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxULCBhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG90aGVyID09PSB0aGlzO1xuICB9XG59XG4iLCI8Y2xyLWRhdGUtY29udGFpbmVyPlxuICA8aW5wdXRcbiAgICAjaW5wdXRfZnJvbVxuICAgIHR5cGU9XCJkYXRlXCJcbiAgICBuYW1lPVwiZnJvbVwiXG4gICAgY2xhc3M9XCJkYXRhZ3JpZC1kYXRlLWZpbHRlci1pbnB1dFwiXG4gICAgWyhjbHJEYXRlKV09XCJmcm9tXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwibWluUGxhY2Vob2xkZXJWYWx1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtaW5QbGFjZWhvbGRlclZhbHVlXCJcbiAgLz5cbjwvY2xyLWRhdGUtY29udGFpbmVyPlxuPGNsci1kYXRlLWNvbnRhaW5lcj5cbiAgPGlucHV0XG4gICAgdHlwZT1cImRhdGVcIlxuICAgIG5hbWU9XCJ0b1wiXG4gICAgY2xhc3M9XCJkYXRhZ3JpZC1kYXRlLWZpbHRlci1pbnB1dFwiXG4gICAgWyhjbHJEYXRlKV09XCJ0b1wiXG4gICAgW3BsYWNlaG9sZGVyXT1cIm1heFBsYWNlaG9sZGVyVmFsdWVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibWF4UGxhY2Vob2xkZXJWYWx1ZVwiXG4gIC8+XG48L2Nsci1kYXRlLWNvbnRhaW5lcj5cbiJdfQ==
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZGF0ZS1maWx0ZXIvZGF0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFFakIsdUJBQXVCLEdBQ3hCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6RCxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBT2pDLE1BQU0sT0FBTyxzQkFBc0I7SUFhakMsWUFDVSxhQUFzQyxFQUN0Qyx1QkFBZ0QsRUFDeEQsZUFBa0M7UUFGMUIsa0JBQWEsR0FBYixhQUFhLENBQXlCO1FBQ3RDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBeUI7UUE0QzFCLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkU7O1dBRUc7UUFDSyxVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixRQUFHLEdBQWdCLElBQUksQ0FBQztRQXdEaEM7O1dBRUc7UUFDSyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUExRzdDLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFD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QUs7dUJBQUMsZ0JBQWdCO2dCQW1CUyxpQkFBaUI7c0JBQWhELE1BQU07dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIENsckNvbW1vblN0cmluZ3NTZXJ2aWNlLFxuICBDbHJEYXRhZ3JpZEZpbHRlcixcbiAgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2UsXG4gIENsclBvcG92ZXJFdmVudHNTZXJ2aWNlLFxufSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmVzdGVkUHJvcGVydHkgfSBmcm9tICcuL25lc3RlZC1wcm9wZXJ0eSc7XG5pbXBvcnQgeyBDbGFyaXR5SWNvbnMsIHRyYXNoSWNvbiB9IGZyb20gJ0BjZHMvY29yZS9pY29uJztcblxuQ2xhcml0eUljb25zLmFkZEljb25zKHRyYXNoSWNvbik7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1kYXRlLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RhdGUtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENsckRhdGVGaWx0ZXJDb21wb25lbnQ8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+XG4gIGltcGxlbWVudHMgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8VD4sIEFmdGVyVmlld0luaXRcbntcbiAgcHJpdmF0ZSBuZXN0ZWRQcm9wOiBOZXN0ZWRQcm9wZXJ0eTxhbnk+O1xuXG4gIEBJbnB1dCgnY2xyUHJvcGVydHknKSBzZXQgcHJvcGVydHkodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubmVzdGVkUHJvcCA9IG5ldyBOZXN0ZWRQcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgcHJvcGVydHkoKSB7XG4gICAgcmV0dXJuIHRoaXMubmVzdGVkUHJvcC5wcm9wO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjb21tb25TdHJpbmdzOiBDbHJDb21tb25TdHJpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGNsclBvcG92ZXJFdmVudHNTZXJ2aWNlOiBDbHJQb3BvdmVyRXZlbnRzU2VydmljZSxcbiAgICBmaWx0ZXJDb250YWluZXI6IENsckRhdGFncmlkRmlsdGVyXG4gICkge1xuICAgIGZpbHRlckNvbnRhaW5lci5zZXRGaWx0ZXIodGhpcyk7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2xyUG9wb3ZlckV2ZW50c1NlcnZpY2Uub3V0c2lkZUNsaWNrQ2xvc2UgPSBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm92aWRlIGEgd2F5IHRvIHBhc3MgZXh0ZXJuYWwgcGxhY2Vob2xkZXIgYW5kIGFyaWEtbGFiZWwgdG8gdGhlIGZpbHRlciBpbnB1dFxuICAgKi9cbiAgQElucHV0KCdjbHJGaWx0ZXJNYXhQbGFjZWhvbGRlcicpIG1heFBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgZ2V0IG1heFBsYWNlaG9sZGVyVmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubWF4UGxhY2Vob2xkZXIgfHwgdGhpcy5jb21tb25TdHJpbmdzLmtleXMubWF4VmFsdWU7XG4gIH1cblxuICBASW5wdXQoJ2NsckZpbHRlck1pblBsYWNlaG9sZGVyJykgbWluUGxhY2Vob2xkZXI6IHN0cmluZztcblxuICBnZXQgbWluUGxhY2Vob2xkZXJWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5taW5QbGFjZWhvbGRlciB8fCB0aGlzLmNvbW1vblN0cmluZ3Mua2V5cy5taW5WYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgnY2xyRmlsdGVyVmFsdWUnKVxuICBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlczogW0RhdGUsIERhdGVdKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWVzKSkge1xuICAgICAgaWYgKHZhbHVlcyAmJiAodmFsdWVzWzBdICE9PSB0aGlzLl9mcm9tIHx8IHZhbHVlc1sxXSAhPT0gdGhpcy5fdG8pKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWVzWzBdID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRoaXMuX2Zyb20gPSB2YWx1ZXNbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fZnJvbSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZXNbMV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgdGhpcy5fdG8gPSB2YWx1ZXNbMV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5fdG8gPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NoYW5nZXMubmV4dCh2YWx1ZXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoJ2NsckZpbHRlclZhbHVlQ2hhbmdlJykgZmlsdGVyVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHZhbHVlcyBhbmQgYWNjZXNzb3JcbiAgICovXG4gIHByaXZhdGUgX2Zyb206IERhdGUgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdG86IERhdGUgfCBudWxsID0gbnVsbDtcblxuICBwdWJsaWMgZ2V0IGZyb20oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zyb207XG4gIH1cblxuICBwdWJsaWMgc2V0IGZyb20oZnJvbTogRGF0ZSkge1xuICAgIGlmICh0eXBlb2YgZnJvbSA9PT0gJ29iamVjdCcgJiYgZnJvbSAhPT0gdGhpcy5fZnJvbSkge1xuICAgICAgaWYgKGZyb20gJiYgdHlwZW9mIGZyb20uc2V0SG91cnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZnJvbS5zZXRIb3VycygwLCAwLCAwLCAwKTsgLy8gc2V0IGZyb20tZGF0ZSB0byBzdGFydCBvZiBkYXlcbiAgICAgIH1cbiAgICAgIHRoaXMuX2Zyb20gPSBmcm9tO1xuICAgICAgdGhpcy5fY2hhbmdlcy5uZXh0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgICAgdGhpcy5maWx0ZXJWYWx1ZUNoYW5nZS5lbWl0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgdG8oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3RvO1xuICB9XG5cbiAgcHVibGljIHNldCB0byh0bzogRGF0ZSkge1xuICAgIGlmICh0eXBlb2YgdG8gPT09ICdvYmplY3QnICYmIHRvICE9PSB0aGlzLl90bykge1xuICAgICAgaWYgKHRvICYmIHR5cGVvZiB0by5zZXRIb3VycyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0by5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpOyAvLyBzZXQgdG8tZGF0ZSB0byBlbmQgb2YgZGF5XG4gICAgICB9XG4gICAgICB0aGlzLl90byA9IHRvO1xuICAgICAgdGhpcy5fY2hhbmdlcy5uZXh0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgICAgdGhpcy5maWx0ZXJWYWx1ZUNoYW5nZS5lbWl0KFt0aGlzLl9mcm9tLCB0aGlzLl90b10pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGZpbHRlciBpcyBjdXJyZW50bHkgYWN0aXZlLCAoYXQgbGVhc3Qgb25lIGlucHV0IGlzIHNldClcbiAgICovXG4gIHB1YmxpYyBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZnJvbSAhPT0gbnVsbCB8fCB0aGlzLl90byAhPT0gbnVsbDtcbiAgfVxuXG4gIGFjY2VwdHMoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIGxldCBwcm9wVmFsdWUgPSB0aGlzLm5lc3RlZFByb3AgPyB0aGlzLm5lc3RlZFByb3AuZ2V0UHJvcFZhbHVlKGl0ZW0pIDogaXRlbTtcbiAgICBpZiAocHJvcFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwcm9wVmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBwcm9wVmFsdWUgPSBuZXcgRGF0ZShwcm9wVmFsdWUpO1xuICAgIH1cbiAgICBpZiAodGhpcy5fZnJvbSAhPT0gbnVsbCAmJiAoIShwcm9wVmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB8fCBwcm9wVmFsdWUuZ2V0VGltZSgpIDwgdGhpcy5fZnJvbS5nZXRUaW1lKCkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLl90byAhPT0gbnVsbCAmJiAoIShwcm9wVmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB8fCBwcm9wVmFsdWUuZ2V0VGltZSgpID4gdGhpcy5fdG8uZ2V0VGltZSgpKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgT2JzZXJ2YWJsZSByZXF1aXJlZCBhcyBwYXJ0IG9mIHRoZSBGaWx0ZXIgaW50ZXJmYWNlXG4gICAqL1xuICBwcml2YXRlIF9jaGFuZ2VzID0gbmV3IFN1YmplY3Q8W0RhdGUsIERhdGVdPigpO1xuXG4gIC8vIFdlIGRvIG5vdCB3YW50IHRvIGV4cG9zZSB0aGUgU3ViamVjdCBpdHNlbGYsIGJ1dCB0aGUgT2JzZXJ2YWJsZSB3aGljaCBpcyByZWFkLW9ubHlcbiAgcHVibGljIGdldCBjaGFuZ2VzKCk6IE9ic2VydmFibGU8W0RhdGUsIERhdGVdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZXMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXRlKCk6IGFueSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnR5OiB0aGlzLm5lc3RlZFByb3AsXG4gICAgICBmcm9tOiB0aGlzLl9mcm9tLFxuICAgICAgdG86IHRoaXMuX3RvLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKSB7XG4gICAgdGhpcy5fZnJvbSA9IG51bGw7XG4gICAgdGhpcy5fdG8gPSBudWxsO1xuICAgIHRoaXMuX2NoYW5nZXMubmV4dChbdGhpcy5fZnJvbSwgdGhpcy5fdG9dKTtcbiAgICB0aGlzLmZpbHRlclZhbHVlQ2hhbmdlLmVtaXQoW3RoaXMuX2Zyb20sIHRoaXMuX3RvXSk7XG4gIH1cblxuICBwdWJsaWMgZXF1YWxzKG90aGVyOiBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxULCBhbnk+KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIG90aGVyID09PSB0aGlzO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGluayBidG4tdHJhc2hcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXIoKVwiPlxuICA8Y2RzLWljb24gc2hhcGU9XCJ0cmFzaFwiPjwvY2RzLWljb24+XG48L2J1dHRvbj5cbjxjbHItZGF0ZS1jb250YWluZXI+XG4gIDxpbnB1dFxuICAgICNpbnB1dF9mcm9tXG4gICAgdHlwZT1cImRhdGVcIlxuICAgIG5hbWU9XCJmcm9tXCJcbiAgICBjbGFzcz1cImRhdGFncmlkLWRhdGUtZmlsdGVyLWlucHV0XCJcbiAgICBbKGNsckRhdGUpXT1cImZyb21cIlxuICAgIFtwbGFjZWhvbGRlcl09XCJtaW5QbGFjZWhvbGRlclZhbHVlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm1pblBsYWNlaG9sZGVyVmFsdWVcIlxuICAvPlxuPC9jbHItZGF0ZS1jb250YWluZXI+XG48Y2xyLWRhdGUtY29udGFpbmVyPlxuICA8aW5wdXRcbiAgICB0eXBlPVwiZGF0ZVwiXG4gICAgbmFtZT1cInRvXCJcbiAgICBjbGFzcz1cImRhdGFncmlkLWRhdGUtZmlsdGVyLWlucHV0XCJcbiAgICBbKGNsckRhdGUpXT1cInRvXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwibWF4UGxhY2Vob2xkZXJWYWx1ZVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJtYXhQbGFjZWhvbGRlclZhbHVlXCJcbiAgLz5cbjwvY2xyLWRhdGUtY29udGFpbmVyPlxuIl19
@@ -1,10 +1,12 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { ClrDatagrid, ClrDatagridFilter } from '@clr/angular';
3
3
  import { Subject, takeUntil } from 'rxjs';
4
+ import { ClarityIcons, trashIcon } from '@cds/core/icon';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@clr/angular";
6
7
  import * as i2 from "@angular/common";
7
8
  import * as i3 from "@angular/forms";
9
+ ClarityIcons.addIcons(trashIcon);
8
10
  export class ClrEnumFilterComponent {
9
11
  constructor(filterContainer, datagrid) {
10
12
  this.property = '';
@@ -22,7 +24,13 @@ export class ClrEnumFilterComponent {
22
24
  });
23
25
  }
24
26
  set value(values) {
25
- this.filteredValues = values;
27
+ if (this.possibleValues?.length) {
28
+ this.filteredValues = values.filter(filtered => this.possibleValues.includes(filtered));
29
+ this.clrFilterValuesChange.emit(this.filteredValues);
30
+ }
31
+ else {
32
+ this.filteredValues = values;
33
+ }
26
34
  this.changes.emit(true);
27
35
  }
28
36
  set clrPossibleValues(values) {
@@ -32,6 +40,8 @@ export class ClrEnumFilterComponent {
32
40
  setPossibleValues(values) {
33
41
  this.possibleValues = values;
34
42
  this.possibleValues.sort();
43
+ this.filteredValues = this.filteredValues.filter(filtered => this.possibleValues.includes(filtered));
44
+ this.emitFilterChanged();
35
45
  }
36
46
  onChange(selectedValue, checkboxState) {
37
47
  if (checkboxState) {
@@ -40,8 +50,7 @@ export class ClrEnumFilterComponent {
40
50
  else {
41
51
  this.filteredValues = this.filteredValues.filter(filteredState => filteredState !== selectedValue);
42
52
  }
43
- this.clrFilterValuesChange.emit(this.filteredValues);
44
- this.changes.emit(true);
53
+ this.emitFilterChanged();
45
54
  }
46
55
  isActive() {
47
56
  return this.filteredValues.length > 0;
@@ -55,16 +64,24 @@ export class ClrEnumFilterComponent {
55
64
  value: this.filteredValues,
56
65
  };
57
66
  }
67
+ clearFilters() {
68
+ this.filteredValues = [];
69
+ this.emitFilterChanged();
70
+ }
71
+ emitFilterChanged() {
72
+ this.clrFilterValuesChange.emit(this.filteredValues);
73
+ this.changes.emit(true);
74
+ }
58
75
  ngOnDestroy() {
59
76
  this.destroyed$.next();
60
77
  this.destroyed$.complete();
61
78
  }
62
79
  }
63
80
  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 });
64
- 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: "<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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}\n"], dependencies: [{ 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"] }] });
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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ 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"] }] });
65
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrEnumFilterComponent, decorators: [{
66
83
  type: Component,
67
- args: [{ selector: 'clr-enum-filter', template: "<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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}\n"] }]
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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ 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"] }]
68
85
  }], ctorParameters: function () { return [{ type: i1.ClrDatagridFilter }, { type: i1.ClrDatagrid }]; }, propDecorators: { property: [{
69
86
  type: Input,
70
87
  args: ['clrProperty']
@@ -76,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
76
93
  }], clrPossibleValues: [{
77
94
  type: Input
78
95
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFPMUMsTUFBTSxPQUFPLHNCQUFzQjtJQXlCakMsWUFBWSxlQUFrQyxFQUFFLFFBQXFCO1FBdEIvQyxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBUTFCLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFL0QsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFDOUIseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBQzdCLG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLFlBQU8sR0FBRyxJQUFJLFlBQVksQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUUzQyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVEvQixlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzNFLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlCLElBQUksQ0FBQyxpQkFBaUIsQ0FDcEIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLENBQUMsQ0FDckcsQ0FBQzthQUNIO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBN0JELElBQ1csS0FBSyxDQUFDLE1BQWdCO1FBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFXRCxJQUFhLGlCQUFpQixDQUFDLE1BQWdCO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFhRCxpQkFBaUIsQ0FBQyxNQUFnQjtRQUNoQyxJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRLENBQUMsYUFBcUIsRUFBRSxhQUFzQjtRQUNwRCxJQUFJLGFBQWEsRUFBRTtZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN6QzthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsS0FBSyxhQUFhLENBQUMsQ0FBQztTQUNwRztRQUVELElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFPO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQVcsS0FBSztRQUNkLE9BQU87WUFDTCxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDdkIsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjO1NBQzNCLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzttSEF0RVUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb1BDVG5DLHdkQWFBOzJGREphLHNCQUFzQjtrQkFMbEMsU0FBUzsrQkFDRSxpQkFBaUI7a0lBT0wsUUFBUTtzQkFBN0IsS0FBSzt1QkFBQyxhQUFhO2dCQUdULEtBQUs7c0JBRGYsS0FBSzt1QkFBQyxpQkFBaUI7Z0JBTWQscUJBQXFCO3NCQUE5QixNQUFNO2dCQVNNLGlCQUFpQjtzQkFBN0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsckRhdGFncmlkLCBDbHJEYXRhZ3JpZEZpbHRlciwgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2UgfSBmcm9tICdAY2xyL2FuZ3VsYXInO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Nsci1lbnVtLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbnVtLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VudW0tZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENsckVudW1GaWx0ZXJDb21wb25lbnQ8VCBleHRlbmRzIHsgW2tleTogc3RyaW5nXTogYW55IH0+XG4gIGltcGxlbWVudHMgQ2xyRGF0YWdyaWRGaWx0ZXJJbnRlcmZhY2U8VD4sIE9uRGVzdHJveVxue1xuICBASW5wdXQoJ2NsclByb3BlcnR5JykgcHJvcGVydHkgPSAnJztcblxuICBASW5wdXQoJ2NsckZpbHRlclZhbHVlcycpXG4gIHB1YmxpYyBzZXQgdmFsdWUodmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5jaGFuZ2VzLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBAT3V0cHV0KCkgY2xyRmlsdGVyVmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwb3NzaWJsZVZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgY3VzdG9tUG9zc2libGVWYWx1ZXMgPSBmYWxzZTtcbiAgZmlsdGVyZWRWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gIGNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcblxuICBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKSBzZXQgY2xyUG9zc2libGVWYWx1ZXModmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2V0UG9zc2libGVWYWx1ZXModmFsdWVzKTtcbiAgICB0aGlzLmN1c3RvbVBvc3NpYmxlVmFsdWVzID0gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGZpbHRlckNvbnRhaW5lcjogQ2xyRGF0YWdyaWRGaWx0ZXIsIGRhdGFncmlkOiBDbHJEYXRhZ3JpZCkge1xuICAgIGZpbHRlckNvbnRhaW5lci5zZXRGaWx0ZXIodGhpcyk7XG4gICAgZGF0YWdyaWQuaXRlbXMuYWxsQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoaXRlbXMgPT4ge1xuICAgICAgaWYgKCF0aGlzLmN1c3RvbVBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICAgIHRoaXMuc2V0UG9zc2libGVWYWx1ZXMoXG4gICAgICAgICAgaXRlbXMubWFwKGl0ZW0gPT4gaXRlbVt0aGlzLnByb3BlcnR5XSkuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIHNlbGYpID0+IHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0UG9zc2libGVWYWx1ZXModmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucG9zc2libGVWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5wb3NzaWJsZVZhbHVlcy5zb3J0KCk7XG4gIH1cblxuICBvbkNoYW5nZShzZWxlY3RlZFZhbHVlOiBzdHJpbmcsIGNoZWNrYm94U3RhdGU6IGJvb2xlYW4pIHtcbiAgICBpZiAoY2hlY2tib3hTdGF0ZSkge1xuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcy5wdXNoKHNlbGVjdGVkVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZpbHRlcmVkVmFsdWVzID0gdGhpcy5maWx0ZXJlZFZhbHVlcy5maWx0ZXIoZmlsdGVyZWRTdGF0ZSA9PiBmaWx0ZXJlZFN0YXRlICE9PSBzZWxlY3RlZFZhbHVlKTtcbiAgICB9XG5cbiAgICB0aGlzLmNsckZpbHRlclZhbHVlc0NoYW5nZS5lbWl0KHRoaXMuZmlsdGVyZWRWYWx1ZXMpO1xuICAgIHRoaXMuY2hhbmdlcy5lbWl0KHRydWUpO1xuICB9XG5cbiAgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRWYWx1ZXMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGFjY2VwdHMoaXRlbTogVCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkVmFsdWVzLmluY2x1ZGVzKGl0ZW1bdGhpcy5wcm9wZXJ0eV0pO1xuICB9XG5cbiAgcHVibGljIGdldCBzdGF0ZSgpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBwcm9wZXJ0eTogdGhpcy5wcm9wZXJ0eSxcbiAgICAgIHZhbHVlOiB0aGlzLmZpbHRlcmVkVmFsdWVzLFxuICAgIH07XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8Y2xyLWNoZWNrYm94LWNvbnRhaW5lciBjbGFzcz1cImZpbHRlci1zZWxlY3Rpb25cIj5cbiAgPGNsci1jaGVja2JveC13cmFwcGVyICpuZ0Zvcj1cImxldCBwb3NzaWJsZVZhbHVlIG9mIHBvc3NpYmxlVmFsdWVzXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgY2xyQ2hlY2tib3hcbiAgICAgIHZhbHVlPVwie3sgcG9zc2libGVWYWx1ZSB9fVwiXG4gICAgICBuYW1lPVwicG9zc2libGVWYWx1ZVwiXG4gICAgICBbbmdNb2RlbF09XCJmaWx0ZXJlZFZhbHVlcy5pbmNsdWRlcyhwb3NzaWJsZVZhbHVlKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZShwb3NzaWJsZVZhbHVlLCAkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxsYWJlbD57eyBwb3NzaWJsZVZhbHVlIH19PC9sYWJlbD5cbiAgPC9jbHItY2hlY2tib3gtd3JhcHBlcj5cbjwvY2xyLWNoZWNrYm94LWNvbnRhaW5lcj5cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2Nsci1hZGRvbnMvZGF0YWdyaWQvZW51bS1maWx0ZXIvZW51bS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUE4QixNQUFNLGNBQWMsQ0FBQztBQUMxRixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQUV6RCxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBT2pDLE1BQU0sT0FBTyxzQkFBc0I7SUE4QmpDLFlBQVksZUFBa0MsRUFBRSxRQUFxQjtRQTNCL0MsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQWExQiwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO1FBRS9ELG1CQUFjLEdBQWEsRUFBRSxDQUFDO1FBQzlCLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixZQUFPLEdBQUcsSUFBSSxZQUFZLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFM0MsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFRL0IsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNoQyxRQUFRLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FB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QUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzttSEF2RlUsc0JBQXNCO3VHQUF0QixzQkFBc0Isb1BDWm5DLGttQkFnQkE7MkZESmEsc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGlCQUFpQjtrSUFPTCxRQUFRO3NCQUE3QixLQUFLO3VCQUFDLGFBQWE7Z0JBR1QsS0FBSztzQkFEZixLQUFLO3VCQUFDLGlCQUFpQjtnQkFXZCxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBU00saUJBQWlCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xyRGF0YWdyaWQsIENsckRhdGFncmlkRmlsdGVyLCBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZSB9IGZyb20gJ0BjbHIvYW5ndWxhcic7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENsYXJpdHlJY29ucywgdHJhc2hJY29uIH0gZnJvbSAnQGNkcy9jb3JlL2ljb24nO1xuXG5DbGFyaXR5SWNvbnMuYWRkSWNvbnModHJhc2hJY29uKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2xyLWVudW0tZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2VudW0tZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZW51bS1maWx0ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xyRW51bUZpbHRlckNvbXBvbmVudDxUIGV4dGVuZHMgeyBba2V5OiBzdHJpbmddOiBhbnkgfT5cbiAgaW1wbGVtZW50cyBDbHJEYXRhZ3JpZEZpbHRlckludGVyZmFjZTxUPiwgT25EZXN0cm95XG57XG4gIEBJbnB1dCgnY2xyUHJvcGVydHknKSBwcm9wZXJ0eSA9ICcnO1xuXG4gIEBJbnB1dCgnY2xyRmlsdGVyVmFsdWVzJylcbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKHRoaXMucG9zc2libGVWYWx1ZXM/Lmxlbmd0aCkge1xuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHZhbHVlcy5maWx0ZXIoZmlsdGVyZWQgPT4gdGhpcy5wb3NzaWJsZVZhbHVlcy5pbmNsdWRlcyhmaWx0ZXJlZCkpO1xuICAgICAgdGhpcy5jbHJGaWx0ZXJWYWx1ZXNDaGFuZ2UuZW1pdCh0aGlzLmZpbHRlcmVkVmFsdWVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHZhbHVlcztcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VzLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBAT3V0cHV0KCkgY2xyRmlsdGVyVmFsdWVzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcblxuICBwb3NzaWJsZVZhbHVlczogc3RyaW5nW10gPSBbXTtcbiAgY3VzdG9tUG9zc2libGVWYWx1ZXMgPSBmYWxzZTtcbiAgZmlsdGVyZWRWYWx1ZXM6IHN0cmluZ1tdID0gW107XG4gIGNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KGZhbHNlKTtcblxuICBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBASW5wdXQoKSBzZXQgY2xyUG9zc2libGVWYWx1ZXModmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuc2V0UG9zc2libGVWYWx1ZXModmFsdWVzKTtcbiAgICB0aGlzLmN1c3RvbVBvc3NpYmxlVmFsdWVzID0gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKGZpbHRlckNvbnRhaW5lcjogQ2xyRGF0YWdyaWRGaWx0ZXIsIGRhdGFncmlkOiBDbHJEYXRhZ3JpZCkge1xuICAgIGZpbHRlckNvbnRhaW5lci5zZXRGaWx0ZXIodGhpcyk7XG4gICAgZGF0YWdyaWQuaXRlbXMuYWxsQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoaXRlbXMgPT4ge1xuICAgICAgaWYgKCF0aGlzLmN1c3RvbVBvc3NpYmxlVmFsdWVzKSB7XG4gICAgICAgIHRoaXMuc2V0UG9zc2libGVWYWx1ZXMoXG4gICAgICAgICAgaXRlbXMubWFwKGl0ZW0gPT4gaXRlbVt0aGlzLnByb3BlcnR5XSkuZmlsdGVyKCh2YWx1ZSwgaW5kZXgsIHNlbGYpID0+IHNlbGYuaW5kZXhPZih2YWx1ZSkgPT09IGluZGV4KVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0UG9zc2libGVWYWx1ZXModmFsdWVzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMucG9zc2libGVWYWx1ZXMgPSB2YWx1ZXM7XG4gICAgdGhpcy5wb3NzaWJsZVZhbHVlcy5zb3J0KCk7XG4gICAgdGhpcy5maWx0ZXJlZFZhbHVlcyA9IHRoaXMuZmlsdGVyZWRWYWx1ZXMuZmlsdGVyKGZpbHRlcmVkID0+IHRoaXMucG9zc2libGVWYWx1ZXMuaW5jbHVkZXMoZmlsdGVyZWQpKTtcblxuICAgIHRoaXMuZW1pdEZpbHRlckNoYW5nZWQoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKHNlbGVjdGVkVmFsdWU6IHN0cmluZywgY2hlY2tib3hTdGF0ZTogYm9vbGVhbikge1xuICAgIGlmIChjaGVja2JveFN0YXRlKSB7XG4gICAgICB0aGlzLmZpbHRlcmVkVmFsdWVzLnB1c2goc2VsZWN0ZWRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSB0aGlzLmZpbHRlcmVkVmFsdWVzLmZpbHRlcihmaWx0ZXJlZFN0YXRlID0+IGZpbHRlcmVkU3RhdGUgIT09IHNlbGVjdGVkVmFsdWUpO1xuICAgIH1cblxuICAgIHRoaXMuZW1pdEZpbHRlckNoYW5nZWQoKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkVmFsdWVzLmxlbmd0aCA+IDA7XG4gIH1cblxuICBhY2NlcHRzKGl0ZW06IFQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5maWx0ZXJlZFZhbHVlcy5pbmNsdWRlcyhpdGVtW3RoaXMucHJvcGVydHldKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc3RhdGUoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvcGVydHk6IHRoaXMucHJvcGVydHksXG4gICAgICB2YWx1ZTogdGhpcy5maWx0ZXJlZFZhbHVlcyxcbiAgICB9O1xuICB9XG5cbiAgY2xlYXJGaWx0ZXJzKCkge1xuICAgIHRoaXMuZmlsdGVyZWRWYWx1ZXMgPSBbXTtcbiAgICB0aGlzLmVtaXRGaWx0ZXJDaGFuZ2VkKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRGaWx0ZXJDaGFuZ2VkKCkge1xuICAgIHRoaXMuY2xyRmlsdGVyVmFsdWVzQ2hhbmdlLmVtaXQodGhpcy5maWx0ZXJlZFZhbHVlcyk7XG4gICAgdGhpcy5jaGFuZ2VzLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tbGluayBidG4tdHJhc2hcIiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5cbiAgPGNkcy1pY29uIHNoYXBlPVwidHJhc2hcIj48L2Nkcy1pY29uPlxuPC9idXR0b24+XG48Y2xyLWNoZWNrYm94LWNvbnRhaW5lciBjbGFzcz1cImZpbHRlci1zZWxlY3Rpb25cIj5cbiAgPGNsci1jaGVja2JveC13cmFwcGVyICpuZ0Zvcj1cImxldCBwb3NzaWJsZVZhbHVlIG9mIHBvc3NpYmxlVmFsdWVzXCI+XG4gICAgPGlucHV0XG4gICAgICB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgY2xyQ2hlY2tib3hcbiAgICAgIHZhbHVlPVwie3sgcG9zc2libGVWYWx1ZSB9fVwiXG4gICAgICBuYW1lPVwicG9zc2libGVWYWx1ZVwiXG4gICAgICBbbmdNb2RlbF09XCJmaWx0ZXJlZFZhbHVlcy5pbmNsdWRlcyhwb3NzaWJsZVZhbHVlKVwiXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZShwb3NzaWJsZVZhbHVlLCAkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxsYWJlbD57eyBwb3NzaWJsZVZhbHVlIH19PC9sYWJlbD5cbiAgPC9jbHItY2hlY2tib3gtd3JhcHBlcj5cbjwvY2xyLWNoZWNrYm94LWNvbnRhaW5lcj5cbiJdfQ==
@@ -5736,6 +5736,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImpor
5736
5736
  }]
5737
5737
  }] });
5738
5738
 
5739
+ ClarityIcons.addIcons(trashIcon);
5739
5740
  class ClrEnumFilterComponent {
5740
5741
  constructor(filterContainer, datagrid) {
5741
5742
  this.property = '';
@@ -5753,7 +5754,14 @@ class ClrEnumFilterComponent {
5753
5754
  });
5754
5755
  }
5755
5756
  set value(values) {
5756
- this.filteredValues = values;
5757
+ var _a;
5758
+ if ((_a = this.possibleValues) === null || _a === void 0 ? void 0 : _a.length) {
5759
+ this.filteredValues = values.filter(filtered => this.possibleValues.includes(filtered));
5760
+ this.clrFilterValuesChange.emit(this.filteredValues);
5761
+ }
5762
+ else {
5763
+ this.filteredValues = values;
5764
+ }
5757
5765
  this.changes.emit(true);
5758
5766
  }
5759
5767
  set clrPossibleValues(values) {
@@ -5763,6 +5771,8 @@ class ClrEnumFilterComponent {
5763
5771
  setPossibleValues(values) {
5764
5772
  this.possibleValues = values;
5765
5773
  this.possibleValues.sort();
5774
+ this.filteredValues = this.filteredValues.filter(filtered => this.possibleValues.includes(filtered));
5775
+ this.emitFilterChanged();
5766
5776
  }
5767
5777
  onChange(selectedValue, checkboxState) {
5768
5778
  if (checkboxState) {
@@ -5771,8 +5781,7 @@ class ClrEnumFilterComponent {
5771
5781
  else {
5772
5782
  this.filteredValues = this.filteredValues.filter(filteredState => filteredState !== selectedValue);
5773
5783
  }
5774
- this.clrFilterValuesChange.emit(this.filteredValues);
5775
- this.changes.emit(true);
5784
+ this.emitFilterChanged();
5776
5785
  }
5777
5786
  isActive() {
5778
5787
  return this.filteredValues.length > 0;
@@ -5786,16 +5795,24 @@ class ClrEnumFilterComponent {
5786
5795
  value: this.filteredValues,
5787
5796
  };
5788
5797
  }
5798
+ clearFilters() {
5799
+ this.filteredValues = [];
5800
+ this.emitFilterChanged();
5801
+ }
5802
+ emitFilterChanged() {
5803
+ this.clrFilterValuesChange.emit(this.filteredValues);
5804
+ this.changes.emit(true);
5805
+ }
5789
5806
  ngOnDestroy() {
5790
5807
  this.destroyed$.next();
5791
5808
  this.destroyed$.complete();
5792
5809
  }
5793
5810
  }
5794
5811
  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 });
5795
- 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: "<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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}\n"], dependencies: [{ 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"] }] });
5812
+ 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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ 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"] }] });
5796
5813
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrEnumFilterComponent, decorators: [{
5797
5814
  type: Component,
5798
- args: [{ selector: 'clr-enum-filter', template: "<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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ possibleValue }}</label>\n </clr-checkbox-wrapper>\n</clr-checkbox-container>\n", styles: [".filter-selection{margin-top:0}\n"] }]
5815
+ 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.includes(possibleValue)\"\n (ngModelChange)=\"onChange(possibleValue, $event)\"\n />\n <label>{{ 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"] }]
5799
5816
  }], ctorParameters: function () { return [{ type: i1$1.ClrDatagridFilter }, { type: i1$1.ClrDatagrid }]; }, propDecorators: { property: [{
5800
5817
  type: Input,
5801
5818
  args: ['clrProperty']
@@ -5859,6 +5876,7 @@ class NestedProperty {
5859
5876
  }
5860
5877
  }
5861
5878
 
5879
+ ClarityIcons.addIcons(trashIcon);
5862
5880
  class ClrDateFilterComponent {
5863
5881
  constructor(commonStrings, clrPopoverEventsService, filterContainer) {
5864
5882
  this.commonStrings = commonStrings;
@@ -5968,15 +5986,21 @@ class ClrDateFilterComponent {
5968
5986
  to: this._to,
5969
5987
  };
5970
5988
  }
5989
+ clearFilter() {
5990
+ this._from = null;
5991
+ this._to = null;
5992
+ this._changes.next([this._from, this._to]);
5993
+ this.filterValueChange.emit([this._from, this._to]);
5994
+ }
5971
5995
  equals(other) {
5972
5996
  return other === this;
5973
5997
  }
5974
5998
  }
5975
5999
  ClrDateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDateFilterComponent, deps: [{ token: i1$1.ClrCommonStringsService }, { token: i1$1.ClrPopoverEventsService }, { token: i1$1.ClrDatagridFilter }], target: i0.ɵɵFactoryTarget.Component });
5976
- ClrDateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrDateFilterComponent, selector: "clr-date-filter", inputs: { property: ["clrProperty", "property"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], value: ["clrFilterValue", "value"] }, outputs: { filterValueChange: "clrFilterValueChange" }, ngImport: i0, template: "<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n", styles: [""], dependencies: [{ kind: "component", type: i1$1.ClrDateContainer, selector: "clr-date-container", inputs: ["clrPosition"] }, { kind: "directive", type: i1$1.ClrDateInput, selector: "[clrDate]", inputs: ["placeholder", "clrDate", "min", "max", "disabled"], outputs: ["clrDateChange"] }, { kind: "directive", type: i1$1.ClrDateInputValidator, selector: "[clrDate]" }] });
6000
+ ClrDateFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.1", type: ClrDateFilterComponent, selector: "clr-date-filter", inputs: { property: ["clrProperty", "property"], maxPlaceholder: ["clrFilterMaxPlaceholder", "maxPlaceholder"], minPlaceholder: ["clrFilterMinPlaceholder", "minPlaceholder"], value: ["clrFilterValue", "value"] }, outputs: { filterValueChange: "clrFilterValueChange" }, ngImport: i0, template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n", styles: [".btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"], dependencies: [{ kind: "directive", type: i1$1.CdsIconCustomTag, selector: "cds-icon" }, { kind: "component", type: i1$1.ClrDateContainer, selector: "clr-date-container", inputs: ["clrPosition"] }, { kind: "directive", type: i1$1.ClrDateInput, selector: "[clrDate]", inputs: ["placeholder", "clrDate", "min", "max", "disabled"], outputs: ["clrDateChange"] }, { kind: "directive", type: i1$1.ClrDateInputValidator, selector: "[clrDate]" }] });
5977
6001
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.1", ngImport: i0, type: ClrDateFilterComponent, decorators: [{
5978
6002
  type: Component,
5979
- args: [{ selector: 'clr-date-filter', template: "<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n" }]
6003
+ args: [{ selector: 'clr-date-filter', template: "<button class=\"btn btn-sm btn-icon btn-link btn-trash\" (click)=\"clearFilter()\">\n <cds-icon shape=\"trash\"></cds-icon>\n</button>\n<clr-date-container>\n <input\n #input_from\n type=\"date\"\n name=\"from\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"from\"\n [placeholder]=\"minPlaceholderValue\"\n [attr.aria-label]=\"minPlaceholderValue\"\n />\n</clr-date-container>\n<clr-date-container>\n <input\n type=\"date\"\n name=\"to\"\n class=\"datagrid-date-filter-input\"\n [(clrDate)]=\"to\"\n [placeholder]=\"maxPlaceholderValue\"\n [attr.aria-label]=\"maxPlaceholderValue\"\n />\n</clr-date-container>\n", styles: [".btn-trash{position:absolute;top:15px;right:40px;padding:0}\n"] }]
5980
6004
  }], ctorParameters: function () { return [{ type: i1$1.ClrCommonStringsService }, { type: i1$1.ClrPopoverEventsService }, { type: i1$1.ClrDatagridFilter }]; }, propDecorators: { property: [{
5981
6005
  type: Input,
5982
6006
  args: ['clrProperty']