@provoly/dashboard 1.4.8 → 1.4.9

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.
Files changed (27) hide show
  1. package/esm2022/filters/autocomplete/autocomplete.component.mjs +2 -1
  2. package/esm2022/filters/date/date-filter.component.mjs +2 -1
  3. package/esm2022/filters/list/list-filter.component.mjs +7 -3
  4. package/esm2022/filters/number/number-filter.component.mjs +7 -3
  5. package/esm2022/filters/text/text-filter.component.mjs +7 -3
  6. package/esm2022/lib/dashboard/filter/base-filter.component.mjs +5 -2
  7. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +16 -3
  8. package/esm2022/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.mjs +6 -2
  9. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +1 -0
  10. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  11. package/fesm2022/provoly-dashboard-filters-date.mjs +1 -0
  12. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  13. package/fesm2022/provoly-dashboard-filters-list.mjs +6 -2
  14. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  15. package/fesm2022/provoly-dashboard-filters-number.mjs +6 -2
  16. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  17. package/fesm2022/provoly-dashboard-filters-text.mjs +6 -2
  18. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  19. package/fesm2022/provoly-dashboard.mjs +24 -4
  20. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  21. package/filters/list/list-filter.component.d.ts +1 -0
  22. package/filters/number/number-filter.component.d.ts +1 -0
  23. package/filters/text/text-filter.component.d.ts +1 -0
  24. package/lib/dashboard/filter/base-filter.component.d.ts +2 -1
  25. package/lib/dashboard/filter/components/filter-group/filter-group.component.d.ts +4 -1
  26. package/lib/dashboard/filter/components/filter-instanciator/filter-instanciator.component.d.ts +2 -1
  27. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-date.mjs","sources":["../../../../projects/provoly/dashboard/filters/date/date-filter.component.ts","../../../../projects/provoly/dashboard/filters/date/date-filter.component.html","../../../../projects/provoly/dashboard/filters/date/date-filter.module.ts","../../../../projects/provoly/dashboard/filters/date/provoly-dashboard-filters-date.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent, DateUtils, SubscriptionnerDirective } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-date-filter',\n templateUrl: './date-filter.component.html'\n})\nexport class DateFilterComponent extends BaseFilterComponent implements SubscriptionnerDirective, OnInit {\n dates: string[] = ['', ''];\n\n constructor(store: Store) {\n super(store);\n this.type = 'date';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.hasDateRange) {\n if (this.filter?.value) {\n this.dates = this.filter?.value.toString().split(',');\n }\n } else {\n this.dates[0] = (this.filter?.value ?? '').toString();\n }\n }\n\n onDateChange(index: number, value: string) {\n this.dates[index] = value;\n if (this.filter?.hasDateRange) {\n if (this.dates.filter((date) => !!date).length === this.dates.length) {\n super.updateFilter(this.dates.join(','));\n } else if (this.dates.filter((date) => !!date).length === 0) {\n super.updateFilter('');\n }\n } else {\n super.updateFilter(value ?? '');\n }\n }\n\n clearDate(index: number) {\n this.onDateChange(index, '');\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n <ng-template #dateRange>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name + '1'\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[1]\"\n (ngModelChange)=\"onDateChange(1, $event)\"\n type=\"date\"\n [id]=\"filter.name + '2'\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n <span\n *ngIf=\"!!dates[1]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryCoreModule,\n PryDatePickerModule,\n PryI18nModule,\n PryIconModule\n} from '@provoly/dashboard';\nimport { DateFilterComponent } from './date-filter.component';\n\n@NgModule({\n declarations: [DateFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryDatePickerModule, PryIconModule],\n exports: [DateFilterComponent]\n})\nexport class PryDateFilterModule extends BaseFilterModule {\n override getComponent() {\n return DateFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-date.mjs","sources":["../../../../projects/provoly/dashboard/filters/date/date-filter.component.ts","../../../../projects/provoly/dashboard/filters/date/date-filter.component.html","../../../../projects/provoly/dashboard/filters/date/date-filter.module.ts","../../../../projects/provoly/dashboard/filters/date/provoly-dashboard-filters-date.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent, SubscriptionnerDirective } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-date-filter',\n templateUrl: './date-filter.component.html'\n})\nexport class DateFilterComponent extends BaseFilterComponent implements SubscriptionnerDirective, OnInit {\n dates: string[] = ['', ''];\n\n constructor(store: Store) {\n super(store);\n this.type = 'date';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.hasDateRange) {\n if (this.filter?.value) {\n this.dates = this.filter?.value.toString().split(',');\n }\n } else {\n this.dates[0] = (this.filter?.value ?? '').toString();\n }\n }\n\n onDateChange(index: number, value: string) {\n this.dates[index] = value;\n if (this.filter?.hasDateRange) {\n if (this.dates.filter((date) => !!date).length === this.dates.length) {\n super.updateFilter(this.dates.join(','));\n } else if (this.dates.filter((date) => !!date).length === 0) {\n super.updateFilter('');\n }\n } else {\n super.updateFilter(value ?? '');\n }\n }\n\n clearDate(index: number) {\n this.onDateChange(index, '');\n this.cleared.next();\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div *ngIf=\"!filter?.hasDateRange; else dateRange\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--date\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n <ng-template #dateRange>\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[0]\"\n (ngModelChange)=\"onDateChange(0, $event)\"\n type=\"date\"\n [id]=\"filter.name + '1'\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n <span\n *ngIf=\"!!dates[0]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(0)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <div class=\"m-filter__wrapper\">\n <input\n class=\"m-filter__input m-filter__input__date\"\n [ngModel]=\"dates[1]\"\n (ngModelChange)=\"onDateChange(1, $event)\"\n type=\"date\"\n [id]=\"filter.name + '2'\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n <span\n *ngIf=\"!!dates[1]\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--two-dates\"\n (click)=\"clearDate(1)\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n </div>\n </div>\n </ng-template>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n BaseFilterComponent,\n BaseFilterModule,\n PryCoreModule,\n PryDatePickerModule,\n PryI18nModule,\n PryIconModule\n} from '@provoly/dashboard';\nimport { DateFilterComponent } from './date-filter.component';\n\n@NgModule({\n declarations: [DateFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryDatePickerModule, PryIconModule],\n exports: [DateFilterComponent]\n})\nexport class PryDateFilterModule extends BaseFilterModule {\n override getComponent() {\n return DateFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -33,12 +33,16 @@ class ListFilterComponent extends BaseFilterComponent {
33
33
  if (value !== this.filter?.value)
34
34
  super.updateFilter(value);
35
35
  }
36
+ clear() {
37
+ this.setFilter('');
38
+ this.cleared.next();
39
+ }
36
40
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ListFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
37
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ListFilterComponent, selector: "pry-list-filter", usesInheritance: true, ngImport: i0, template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: PryListFilterCssComponent, selector: "pry-list-filter-css" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
41
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ListFilterComponent, selector: "pry-list-filter", usesInheritance: true, ngImport: i0, template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n (cleared)=\"clear()\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked", "pressedEnter"] }, { kind: "component", type: PryListFilterCssComponent, selector: "pry-list-filter-css" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
38
42
  }
39
43
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ListFilterComponent, decorators: [{
40
44
  type: Component,
41
- args: [{ selector: 'pry-list-filter', template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n ></pry-select>\n</div>\n" }]
45
+ args: [{ selector: 'pry-list-filter', template: "<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n (cleared)=\"clear()\"\n ></pry-select>\n</div>\n" }]
42
46
  }], ctorParameters: () => [{ type: i1.Store }] });
43
47
 
44
48
  class PryListFilterModule extends BaseFilterModule {
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-list.mjs","sources":["../../../../projects/provoly/dashboard/filters/list/style/css.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.html","../../../../projects/provoly/dashboard/filters/list/list-filter.module.ts","../../../../projects/provoly/dashboard/filters/list/provoly-dashboard-filters-list.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-list-filter-css',\n template: '',\n styleUrls: ['./_m-list.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryListFilterCssComponent {}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-list-filter',\n templateUrl: './list-filter.component.html'\n})\nexport class ListFilterComponent extends BaseFilterComponent implements OnInit {\n possibleValues: string[] = [];\n\n constructor(store: Store) {\n super(store);\n this.type = 'list';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.possibleValues) {\n this.possibleValues = [...new Set(this.filter?.possibleValues.split(',').map((value) => value.trim()) ?? [])];\n }\n }\n\n setFilter(value: string) {\n if (value !== this.filter?.value) super.updateFilter(value);\n }\n}\n","<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n ></pry-select>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryI18nModule, PrySelectModule } from '@provoly/dashboard';\nimport { ListFilterComponent } from './list-filter.component';\nimport { PryListFilterCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [ListFilterComponent, PryListFilterCssComponent],\n exports: [ListFilterComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryI18nModule]\n})\nexport class PryListFilterModule extends BaseFilterModule {\n override getComponent(): Type<BaseFilterComponent> {\n return ListFilterComponent as Type<ListFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5.PryListFilterCssComponent"],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-list.mjs","sources":["../../../../projects/provoly/dashboard/filters/list/style/css.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.ts","../../../../projects/provoly/dashboard/filters/list/list-filter.component.html","../../../../projects/provoly/dashboard/filters/list/list-filter.module.ts","../../../../projects/provoly/dashboard/filters/list/provoly-dashboard-filters-list.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-list-filter-css',\n template: '',\n styleUrls: ['./_m-list.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryListFilterCssComponent {}\n","import { Component, OnInit } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-list-filter',\n templateUrl: './list-filter.component.html'\n})\nexport class ListFilterComponent extends BaseFilterComponent implements OnInit {\n possibleValues: string[] = [];\n\n constructor(store: Store) {\n super(store);\n this.type = 'list';\n }\n\n override ngOnInit() {\n super.ngOnInit();\n if (this.filter?.possibleValues) {\n this.possibleValues = [...new Set(this.filter?.possibleValues.split(',').map((value) => value.trim()) ?? [])];\n }\n }\n\n setFilter(value: string) {\n if (value !== this.filter?.value) super.updateFilter(value);\n }\n\n clear() {\n this.setFilter('');\n this.cleared.next();\n }\n}\n","<pry-list-filter-css></pry-list-filter-css>\n<div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" *ngIf=\"filter\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <pry-select\n [id]=\"filter.name\"\n [items]=\"possibleValues\"\n [ngModel]=\"filter.value\"\n (ngModelChange)=\"setFilter($event)\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n (cleared)=\"clear()\"\n ></pry-select>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryI18nModule, PrySelectModule } from '@provoly/dashboard';\nimport { ListFilterComponent } from './list-filter.component';\nimport { PryListFilterCssComponent } from './style/css.component';\n\n@NgModule({\n declarations: [ListFilterComponent, PryListFilterCssComponent],\n exports: [ListFilterComponent],\n imports: [CommonModule, ReactiveFormsModule, FormsModule, PrySelectModule, PryI18nModule]\n})\nexport class PryListFilterModule extends BaseFilterModule {\n override getComponent(): Type<BaseFilterComponent> {\n return ListFilterComponent as Type<ListFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5.PryListFilterCssComponent"],"mappings":";;;;;;;;;;MAQa,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,2DAJ1B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAID,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,EACrB,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,8CAAA,CAAA,EAAA,CAAA;;;ACEjC,MAAO,mBAAoB,SAAQ,mBAAmB,CAAA;AAG1D,IAAA,WAAA,CAAY,KAAY,EAAA;QACtB,KAAK,CAAC,KAAK,CAAC,CAAC;QAHf,IAAc,CAAA,cAAA,GAAa,EAAE,CAAC;AAI5B,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;KACpB;IAEQ,QAAQ,GAAA;QACf,KAAK,CAAC,QAAQ,EAAE,CAAC;AACjB,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE;AAC/B,YAAA,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;SAC/G;KACF;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK;AAAE,YAAA,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC7D;IAED,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACrB;8GAtBU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,8ECRhC,omBAeA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,WAAA,EAAA,UAAA,EAAA,eAAA,EAAA,aAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,cAAA,EAAA,+BAAA,EAAA,6BAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,aAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,EAAA,SAAA,EAAA,SAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,yBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDPa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;+BACE,iBAAiB,EAAA,QAAA,EAAA,omBAAA,EAAA,CAAA;;;AEOvB,MAAO,mBAAoB,SAAQ,gBAAgB,CAAA;IAC9C,YAAY,GAAA;AACnB,QAAA,OAAO,mBAAgD,CAAC;KACzD;8GAHU,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAJf,YAAA,EAAA,CAAA,mBAAmB,EAAE,yBAAyB,aAEnD,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,aAD9E,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;+GAGlB,mBAAmB,EAAA,OAAA,EAAA,CAFpB,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAE7E,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,CAAC;oBAC9D,OAAO,EAAE,CAAC,mBAAmB,CAAC;oBAC9B,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC;AAC1F,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}
@@ -27,12 +27,16 @@ class NumberFilterComponent extends BaseFilterComponent {
27
27
  this.pressedEnter.next();
28
28
  }, 10);
29
29
  }
30
+ clear() {
31
+ this.setFilter('');
32
+ this.cleared.next();
33
+ }
30
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NumberFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: NumberFilterComponent, selector: "pry-number-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"number\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][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"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: NumberFilterComponent, selector: "pry-number-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"number\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"clear()\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][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"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
32
36
  }
33
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: NumberFilterComponent, decorators: [{
34
38
  type: Component,
35
- args: [{ selector: 'pry-number-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"number\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
39
+ args: [{ selector: 'pry-number-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"number\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"clear()\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
36
40
  }], ctorParameters: () => [{ type: i1.Store }] });
37
41
 
38
42
  class PryNumberFilterModule extends BaseFilterModule {
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-number.mjs","sources":["../../../../projects/provoly/dashboard/filters/number/number-filter.component.ts","../../../../projects/provoly/dashboard/filters/number/number-filter.component.html","../../../../projects/provoly/dashboard/filters/number/number-filter.module.ts","../../../../projects/provoly/dashboard/filters/number/provoly-dashboard-filters-number.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-number-filter',\n templateUrl: './number-filter.component.html'\n})\nexport class NumberFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'number';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string) {\n super.updateFilter(value);\n }\n\n enterPressed($event: any) {\n this.setFilter($event.target.value);\n setTimeout(() => {\n this.pressedEnter.next();\n }, 10);\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"number\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { NumberFilterComponent } from './number-filter.component';\n\n@NgModule({\n declarations: [NumberFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [NumberFilterComponent]\n})\nexport class PryNumberFilterModule extends BaseFilterModule {\n override getComponent() {\n return NumberFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-number.mjs","sources":["../../../../projects/provoly/dashboard/filters/number/number-filter.component.ts","../../../../projects/provoly/dashboard/filters/number/number-filter.component.html","../../../../projects/provoly/dashboard/filters/number/number-filter.module.ts","../../../../projects/provoly/dashboard/filters/number/provoly-dashboard-filters-number.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-number-filter',\n templateUrl: './number-filter.component.html'\n})\nexport class NumberFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'number';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string) {\n super.updateFilter(value);\n }\n\n enterPressed($event: any) {\n this.setFilter($event.target.value);\n setTimeout(() => {\n this.pressedEnter.next();\n }, 10);\n }\n\n clear() {\n this.setFilter('');\n this.cleared.next();\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"this.value$.next($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"number\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--number\"\n (click)=\"clear()\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { NumberFilterComponent } from './number-filter.component';\n\n@NgModule({\n declarations: [NumberFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [NumberFilterComponent]\n})\nexport class PryNumberFilterModule extends BaseFilterModule {\n override getComponent() {\n return NumberFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -30,12 +30,16 @@ class TextFilterComponent extends BaseFilterComponent {
30
30
  this.pressedEnter.next();
31
31
  }, 10);
32
32
  }
33
+ clear() {
34
+ this.setFilter('');
35
+ this.cleared.next();
36
+ }
33
37
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TextFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: TextFilterComponent, selector: "pry-text-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"text\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
38
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: TextFilterComponent, selector: "pry-text-filter", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"text\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"clear()\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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"] }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
35
39
  }
36
40
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TextFilterComponent, decorators: [{
37
41
  type: Component,
38
- args: [{ selector: 'pry-text-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"text\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
42
+ args: [{ selector: 'pry-text-filter', template: "<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"text\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"clear()\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">\u00D7</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n" }]
39
43
  }], ctorParameters: () => [{ type: i1.Store }] });
40
44
 
41
45
  class PryTextFilterModule extends BaseFilterModule {
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-filters-text.mjs","sources":["../../../../projects/provoly/dashboard/filters/text/text-filter.component.ts","../../../../projects/provoly/dashboard/filters/text/text-filter.component.html","../../../../projects/provoly/dashboard/filters/text/text-filter.module.ts","../../../../projects/provoly/dashboard/filters/text/provoly-dashboard-filters-text.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-text-filter',\n templateUrl: './text-filter.component.html'\n})\nexport class TextFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string | undefined>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'text';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string | undefined) {\n super.updateFilter(value);\n }\n\n valueChange($event: any) {\n this.value$.next($event);\n }\n\n enterPressed($event: any) {\n this.setFilter($event.target.value);\n setTimeout(() => {\n this.pressedEnter.next();\n }, 10);\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"text\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"setFilter('')\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { TextFilterComponent } from './text-filter.component';\n\n@NgModule({\n declarations: [TextFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [TextFilterComponent]\n})\nexport class PryTextFilterModule extends BaseFilterModule {\n override getComponent() {\n return TextFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-filters-text.mjs","sources":["../../../../projects/provoly/dashboard/filters/text/text-filter.component.ts","../../../../projects/provoly/dashboard/filters/text/text-filter.component.html","../../../../projects/provoly/dashboard/filters/text/text-filter.module.ts","../../../../projects/provoly/dashboard/filters/text/provoly-dashboard-filters-text.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BaseFilterComponent } from '@provoly/dashboard';\nimport { debounceTime, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-text-filter',\n templateUrl: './text-filter.component.html'\n})\nexport class TextFilterComponent extends BaseFilterComponent {\n value$ = new Subject<string | undefined>();\n\n constructor(store: Store) {\n super(store);\n this.type = 'text';\n this.subscriptions.add(\n this.value$.pipe(distinctUntilChanged(), debounceTime(500)).subscribe((value) => this.setFilter(value))\n );\n }\n\n setFilter(value: string | undefined) {\n super.updateFilter(value);\n }\n\n valueChange($event: any) {\n this.value$.next($event);\n }\n\n enterPressed($event: any) {\n this.setFilter($event.target.value);\n setTimeout(() => {\n this.pressedEnter.next();\n }, 10);\n }\n\n clear() {\n this.setFilter('');\n this.cleared.next();\n }\n}\n","<div *ngIf=\"filter\" class=\"m-filter\">\n <div class=\"m-filter__wrapper\">\n <div class=\"m-filter__input-wrapper\">\n <label class=\"a-label m-filter__label\" for=\"{{ filter.name }}\">{{ filter.name }}&nbsp;:&nbsp;</label>\n <input\n class=\"m-filter__input\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"valueChange($event)\"\n [id]=\"filter.name\"\n (keydown.enter)=\"enterPressed($event)\"\n type=\"text\"\n [placeholder]=\"filter.placeholder ?? '' | i18n: { warn: false }\"\n />\n </div>\n <span\n *ngIf=\"!!_value\"\n class=\"m-filter__clear-wrapper m-filter__clear-wrapper--text\"\n (click)=\"clear()\"\n [title]=\"'@pry.filters.clear' | i18n\"\n >\n <span class=\"m-filter__clear\">×</span>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </span>\n </div>\n</div>\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule, Type } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { BaseFilterComponent, BaseFilterModule, PryCoreModule, PryI18nModule, PryIconModule } from '@provoly/dashboard';\nimport { TextFilterComponent } from './text-filter.component';\n\n@NgModule({\n declarations: [TextFilterComponent],\n imports: [CommonModule, FormsModule, OverlayModule, PryCoreModule, PryI18nModule, PryIconModule],\n exports: [TextFilterComponent]\n})\nexport class PryTextFilterModule extends BaseFilterModule {\n override getComponent() {\n return TextFilterComponent as Type<BaseFilterComponent>;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -11492,6 +11492,7 @@ class BaseFilterComponent extends SubscriptionnerDirective {
11492
11492
  this.store = store;
11493
11493
  this.valueUpdated = new EventEmitter();
11494
11494
  this.pressedEnter = new EventEmitter();
11495
+ this.cleared = new EventEmitter();
11495
11496
  this.type = 'base';
11496
11497
  }
11497
11498
  ngOnInit() {
@@ -11513,7 +11514,7 @@ class BaseFilterComponent extends SubscriptionnerDirective {
11513
11514
  }
11514
11515
  }
11515
11516
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseFilterComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
11516
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: BaseFilterComponent, selector: "pry-base-filter", inputs: { filter: "filter" }, outputs: { valueUpdated: "valueUpdated", pressedEnter: "pressedEnter" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
11517
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: BaseFilterComponent, selector: "pry-base-filter", inputs: { filter: "filter" }, outputs: { valueUpdated: "valueUpdated", pressedEnter: "pressedEnter", cleared: "cleared" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
11517
11518
  }
11518
11519
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseFilterComponent, decorators: [{
11519
11520
  type: Component,
@@ -11524,6 +11525,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
11524
11525
  type: Output
11525
11526
  }], pressedEnter: [{
11526
11527
  type: Output
11528
+ }], cleared: [{
11529
+ type: Output
11527
11530
  }] } });
11528
11531
 
11529
11532
  const FILTER_DEFINITION = new InjectionToken('Filter definition');
@@ -11606,6 +11609,7 @@ class FilterInstanciatorComponent extends SubscriptionnerDirective {
11606
11609
  this.changeDetector = changeDetector;
11607
11610
  this.filter$ = new BehaviorSubject(null);
11608
11611
  this.pressedEnter = new EventEmitter();
11612
+ this.cleared = new EventEmitter();
11609
11613
  }
11610
11614
  ngAfterViewInit() {
11611
11615
  this.subscriptions.add(this.filter$.subscribe((filter) => {
@@ -11619,6 +11623,7 @@ class FilterInstanciatorComponent extends SubscriptionnerDirective {
11619
11623
  this.currentInstance = component.instance;
11620
11624
  this.currentInstance.filter = filter;
11621
11625
  this.currentInstance.pressedEnter = this.pressedEnter;
11626
+ this.currentInstance.cleared = this.cleared;
11622
11627
  this.changeDetector.detectChanges();
11623
11628
  });
11624
11629
  }
@@ -11629,13 +11634,15 @@ class FilterInstanciatorComponent extends SubscriptionnerDirective {
11629
11634
  this.applySub?.unsubscribe();
11630
11635
  }
11631
11636
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterInstanciatorComponent, deps: [{ token: i1.Store }, { token: i0.Injector }, { token: FilterFactoryService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
11632
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: { filter: "filter", applyFilter$: "applyFilter$" }, outputs: { pressedEnter: "pressedEnter" }, viewQueries: [{ propertyName: "filterContainerRef", first: true, predicate: ["filters"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #filters></ng-template>\n" }); }
11637
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: { filter: "filter", applyFilter$: "applyFilter$" }, outputs: { pressedEnter: "pressedEnter", cleared: "cleared" }, viewQueries: [{ propertyName: "filterContainerRef", first: true, predicate: ["filters"], descendants: true, read: ViewContainerRef }], usesInheritance: true, ngImport: i0, template: "<ng-template #filters></ng-template>\n" }); }
11633
11638
  }
11634
11639
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterInstanciatorComponent, decorators: [{
11635
11640
  type: Component,
11636
11641
  args: [{ selector: 'pry-filter-instanciator', template: "<ng-template #filters></ng-template>\n" }]
11637
11642
  }], ctorParameters: () => [{ type: i1.Store }, { type: i0.Injector }, { type: FilterFactoryService }, { type: i0.ChangeDetectorRef }], propDecorators: { pressedEnter: [{
11638
11643
  type: Output
11644
+ }], cleared: [{
11645
+ type: Output
11639
11646
  }], filter: [{
11640
11647
  type: Input
11641
11648
  }], filterContainerRef: [{
@@ -11661,6 +11668,7 @@ class FilterGroupComponent {
11661
11668
  this.apply$ = new BehaviorSubject(undefined);
11662
11669
  this.isSelectOpen = false;
11663
11670
  this.enterTriggerFilter = false;
11671
+ this.clearTriggerFilter = false;
11664
11672
  this.globalManifest$ = this.store.select(DashboardSelectors.globalManifest);
11665
11673
  }
11666
11674
  filter() {
@@ -11676,17 +11684,29 @@ class FilterGroupComponent {
11676
11684
  .querySelector('.o-container__filter-container')
11677
11685
  ?.contains(document.querySelector('ng-dropdown-panel.ng-dropdown-panel')) || false;
11678
11686
  }
11687
+ enterPressed() {
11688
+ if (this.enterTriggerFilter) {
11689
+ this.filter();
11690
+ }
11691
+ }
11692
+ cleared() {
11693
+ if (this.clearTriggerFilter) {
11694
+ this.filter();
11695
+ }
11696
+ }
11679
11697
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterGroupComponent, deps: [{ token: i1.Store }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
11680
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FilterGroupComponent, selector: "pry-filter-group", inputs: { enterTriggerFilter: "enterTriggerFilter" }, ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"filter()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"], outputs: ["pressedEnter"] }, { kind: "component", type: PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
11698
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: FilterGroupComponent, selector: "pry-filter-group", inputs: { enterTriggerFilter: "enterTriggerFilter", clearTriggerFilter: "clearTriggerFilter" }, ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"enterPressed()\"\n (cleared)=\"cleared()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"], outputs: ["pressedEnter", "cleared"] }, { kind: "component", type: PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
11681
11699
  }
11682
11700
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterGroupComponent, decorators: [{
11683
11701
  type: Component,
11684
- args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"filter()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n" }]
11702
+ args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n @for (filterDescription of manifest.filters; track filterDescription.id) {\n <pry-filter-instanciator\n [filter]=\"filterDescription\"\n [applyFilter$]=\"apply$\"\n (pressedEnter)=\"enterPressed()\"\n (cleared)=\"cleared()\"\n ></pry-filter-instanciator>\n }\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"filter()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n" }]
11685
11703
  }], ctorParameters: () => [{ type: i1.Store }, { type: Document, decorators: [{
11686
11704
  type: Inject,
11687
11705
  args: [DOCUMENT]
11688
11706
  }] }], propDecorators: { enterTriggerFilter: [{
11689
11707
  type: Input
11708
+ }], clearTriggerFilter: [{
11709
+ type: Input
11690
11710
  }] } });
11691
11711
 
11692
11712
  const BASE_CONFIG = new InjectionToken('base config');