@recursyve/nice-data-filter-kit 14.2.3 → 14.3.1

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 (76) hide show
  1. package/esm2020/lib/components/base-list/store/base-list.service.mjs +1 -1
  2. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.mjs +83 -0
  3. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.mjs +83 -0
  4. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.constant.mjs +3 -0
  5. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.form.mjs +127 -0
  6. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.mjs +146 -0
  7. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.mjs +42 -0
  8. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.mjs +49 -0
  9. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/models/icons.model.mjs +24 -0
  10. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.mjs +32 -0
  11. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/public-api.mjs +6 -0
  12. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.mjs +40 -0
  13. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/filter.component.mjs +29 -0
  14. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.mjs +28 -0
  15. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.mjs +30 -0
  16. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.mjs +56 -0
  17. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.mjs +31 -0
  18. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.mjs +71 -0
  19. package/esm2020/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.mjs +83 -0
  20. package/esm2020/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.mjs +10 -7
  21. package/esm2020/lib/components/nice-filter-view/directives/mat-sort.mjs +4 -1
  22. package/esm2020/lib/components/nice-filter-view/directives/query-params.directive.mjs +17 -10
  23. package/esm2020/lib/components/nice-filter-view/nice-base-filter-view.component.mjs +46 -12
  24. package/esm2020/lib/components/nice-filter-view/pipes/filter-group-icon.pipe.mjs +32 -0
  25. package/esm2020/lib/components/nice-filter-view/public-api.mjs +2 -1
  26. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.query.mjs +7 -1
  27. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.service.mjs +11 -1
  28. package/esm2020/lib/components/nice-filter-view/store/nice-filter-view.store.mjs +5 -1
  29. package/esm2020/lib/components/query-builder/pipes/filter-group-icon.pipe.mjs +9 -4
  30. package/esm2020/lib/directive/selectable-list/providers/selectable-list-content.service.mjs +11 -1
  31. package/esm2020/lib/directive/selectable-list/selectable-list-checkbox.directive.mjs +17 -3
  32. package/esm2020/lib/directive/selectable-list/selectable-list.directive.mjs +55 -12
  33. package/esm2020/lib/directive/selectable-list/store/selectable-list-state.service.mjs +45 -16
  34. package/esm2020/lib/directive/selectable-list/store/selectable-list.service.mjs +10 -6
  35. package/fesm2015/recursyve-nice-data-filter-kit.mjs +1195 -214
  36. package/fesm2015/recursyve-nice-data-filter-kit.mjs.map +1 -1
  37. package/fesm2020/recursyve-nice-data-filter-kit.mjs +1190 -213
  38. package/fesm2020/recursyve-nice-data-filter-kit.mjs.map +1 -1
  39. package/lib/components/base-list/store/base-list.service.d.ts +1 -1
  40. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters-trigger.directive.d.ts +27 -0
  41. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.component.d.ts +27 -0
  42. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.constant.d.ts +2 -0
  43. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.form.d.ts +20 -0
  44. package/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.module.d.ts +41 -0
  45. package/lib/components/nice-filter-view/components/advanced-filters/button/advanced-filters-button.component.d.ts +17 -0
  46. package/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.component.d.ts +16 -0
  47. package/lib/components/nice-filter-view/components/advanced-filters/models/icons.model.d.ts +11 -0
  48. package/lib/components/nice-filter-view/components/advanced-filters/providers/async-typeahead.provider.d.ts +18 -0
  49. package/lib/components/nice-filter-view/components/advanced-filters/public-api.d.ts +5 -0
  50. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/date/date-filter.component.d.ts +9 -0
  51. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/filter.component.d.ts +13 -0
  52. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/number/number-filter.component.d.ts +6 -0
  53. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/radio/radio-filter.component.d.ts +8 -0
  54. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/select/select-filter.component.d.ts +14 -0
  55. package/lib/components/nice-filter-view/components/advanced-filters/rule/components/text/text-filter.component.d.ts +8 -0
  56. package/lib/components/nice-filter-view/components/advanced-filters/rule/rule.component.d.ts +26 -0
  57. package/lib/components/nice-filter-view/components/advanced-filters/utils/advanced-filters.utils.d.ts +11 -0
  58. package/lib/components/nice-filter-view/components/export-buttons/export-buttons.component.d.ts +2 -1
  59. package/lib/components/nice-filter-view/directives/query-params.directive.d.ts +2 -1
  60. package/lib/components/nice-filter-view/nice-base-filter-view.component.d.ts +7 -0
  61. package/lib/components/nice-filter-view/pipes/filter-group-icon.pipe.d.ts +11 -0
  62. package/lib/components/nice-filter-view/public-api.d.ts +1 -0
  63. package/lib/components/nice-filter-view/store/nice-filter-view.query.d.ts +2 -0
  64. package/lib/components/nice-filter-view/store/nice-filter-view.service.d.ts +1 -0
  65. package/lib/components/nice-filter-view/store/nice-filter-view.store.d.ts +1 -0
  66. package/lib/components/query-builder/pipes/filter-group-icon.pipe.d.ts +3 -3
  67. package/lib/directive/selectable-list/providers/selectable-list-content.service.d.ts +5 -0
  68. package/lib/directive/selectable-list/selectable-list-checkbox.directive.d.ts +4 -2
  69. package/lib/directive/selectable-list/selectable-list.directive.d.ts +13 -4
  70. package/lib/directive/selectable-list/store/selectable-list-state.service.d.ts +12 -2
  71. package/lib/directive/selectable-list/store/selectable-list.service.d.ts +5 -2
  72. package/package.json +1 -1
  73. package/src/lib/components/nice-filter-view/components/advanced-filters/advanced-filters.theme.scss +25 -0
  74. package/src/lib/components/nice-filter-view/components/advanced-filters/filter-selection/filter-selection.theme.scss +29 -0
  75. package/src/lib/components/nice-filter-view/components/advanced-filters/rule/rule.theme.scss +96 -0
  76. package/src/lib/nice-data-filter.theme.scss +2 -0
@@ -0,0 +1,56 @@
1
+ import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { FilterComponent } from "../filter.component";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@angular/material/form-field";
8
+ import * as i4 from "@recursyve/nice-ui-kit.v2";
9
+ export class NiceAdvancedSelectFilterComponent extends FilterComponent {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.values = [];
13
+ }
14
+ async ngOnInit() {
15
+ if (!this.filterConfig.lazyLoading) {
16
+ this.values = this.filterConfig.values;
17
+ }
18
+ }
19
+ ngOnChanges(changes) {
20
+ if ("filterConfig" in changes) {
21
+ if (!this.filterConfig.lazyLoading) {
22
+ this.values = this.filterConfig.values;
23
+ }
24
+ else {
25
+ this.values = [];
26
+ }
27
+ }
28
+ }
29
+ onValueChange(value) {
30
+ super.onValueChange(value);
31
+ }
32
+ writeValue(value) {
33
+ super.writeValue(value);
34
+ }
35
+ }
36
+ NiceAdvancedSelectFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedSelectFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
37
+ NiceAdvancedSelectFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceAdvancedSelectFilterComponent, selector: "nice-advanced-select-filter", inputs: { filterConfig: "filterConfig" }, providers: [
38
+ {
39
+ provide: NG_VALUE_ACCESSOR,
40
+ useExisting: forwardRef(() => NiceAdvancedSelectFilterComponent),
41
+ multi: true
42
+ }
43
+ ], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NiceTypeaheadComponent, selector: "nice-typeahead", inputs: ["items", "labelFormatFn", "required", "disabled", "placeholder", "emptyPlaceholder", "allowNotFoundItems", "panelClass", "bindValue", "bindLabel", "typeahead", "page$", "loading", "loadingPage", "searchFn", "optionTemplate"], outputs: ["change"] }, { kind: "component", type: i4.NiceAsyncTypeaheadComponent, selector: "nice-async-typeahead", inputs: ["resource", "searchOptions", "preloadResource", "allowNotFoundItems", "panelClass", "bindValue", "bindLabel", "placeholder", "emptyPlaceholder", "optionTemplate", "filterFn", "labelFormatFn", "disabled", "value", "required"], outputs: ["entityRemoved", "selected"] }], encapsulation: i0.ViewEncapsulation.None });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedSelectFilterComponent, decorators: [{
45
+ type: Component,
46
+ args: [{ selector: "nice-advanced-select-filter", encapsulation: ViewEncapsulation.None, providers: [
47
+ {
48
+ provide: NG_VALUE_ACCESSOR,
49
+ useExisting: forwardRef(() => NiceAdvancedSelectFilterComponent),
50
+ multi: true
51
+ }
52
+ ], template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <nice-typeahead\n *ngIf=\"!filterConfig.lazyLoading\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [items]=\"values\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></nice-typeahead>\n\n <nice-async-typeahead\n *ngIf=\"filterConfig.lazyLoading\"\n resource=\"advancedFilter\"\n [searchOptions]=\"{ filterConfig }\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n ></nice-async-typeahead>\n</mat-form-field>\n" }]
53
+ }], propDecorators: { filterConfig: [{
54
+ type: Input
55
+ }] } });
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvcnVsZS9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvc2VsZWN0L3NlbGVjdC1maWx0ZXIudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQW9DLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBY3RELE1BQU0sT0FBTyxpQ0FBa0MsU0FBUSxlQUF3QjtJQVovRTs7UUFnQlcsV0FBTSxHQUF3QixFQUFFLENBQUM7S0F5QjNDO0lBdkJVLEtBQUssQ0FBQyxRQUFRO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBNkIsQ0FBQztTQUNqRTtJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxjQUFjLElBQUksT0FBTyxFQUFFO1lBQzNCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQTZCLENBQUM7YUFDakU7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7YUFDcEI7U0FDSjtJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsS0FBYztRQUMvQixLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBYztRQUM1QixLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7OzhIQTVCUSxpQ0FBaUM7a0hBQWpDLGlDQUFpQyxnR0FSL0I7UUFDUDtZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztZQUNoRSxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osc0VDZkwsd2xCQWtCQTsyRkREYSxpQ0FBaUM7a0JBWjdDLFNBQVM7K0JBQ0ksNkJBQTZCLGlCQUV4QixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtDQUFrQyxDQUFDOzRCQUNoRSxLQUFLLEVBQUUsSUFBSTt5QkFDZDtxQkFDSjs4QkFJTSxZQUFZO3NCQURsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsIFNlbGVjdEZpbHRlclZhbHVlIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gXCIuLi9maWx0ZXIuY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtc2VsZWN0LWZpbHRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInNlbGVjdC1maWx0ZXIudGVtcGxhdGUuaHRtbFwiLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmljZUFkdmFuY2VkU2VsZWN0RmlsdGVyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBZHZhbmNlZFNlbGVjdEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckNvbXBvbmVudDx1bmtub3duPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbDtcblxuICAgIHB1YmxpYyB2YWx1ZXM6IFNlbGVjdEZpbHRlclZhbHVlW10gPSBbXTtcblxuICAgIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbHRlckNvbmZpZy5sYXp5TG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZXMgPSB0aGlzLmZpbHRlckNvbmZpZy52YWx1ZXMgYXMgU2VsZWN0RmlsdGVyVmFsdWVbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmIChcImZpbHRlckNvbmZpZ1wiIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5maWx0ZXJDb25maWcubGF6eUxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlcyA9IHRoaXMuZmlsdGVyQ29uZmlnLnZhbHVlcyBhcyBTZWxlY3RGaWx0ZXJWYWx1ZVtdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG9uVmFsdWVDaGFuZ2UodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgc3VwZXIub25WYWx1ZUNoYW5nZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgfVxufVxuIiwiPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgY2xhc3M9XCJmbGV4LWF1dG9cIj5cbiAgICA8bmljZS10eXBlYWhlYWRcbiAgICAgICAgKm5nSWY9XCIhZmlsdGVyQ29uZmlnLmxhenlMb2FkaW5nXCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBbaXRlbXNdPVwidmFsdWVzXCJcbiAgICAgICAgYmluZFZhbHVlPVwiaWRcIlxuICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICA+PC9uaWNlLXR5cGVhaGVhZD5cblxuICAgIDxuaWNlLWFzeW5jLXR5cGVhaGVhZFxuICAgICAgICAqbmdJZj1cImZpbHRlckNvbmZpZy5sYXp5TG9hZGluZ1wiXG4gICAgICAgIHJlc291cmNlPVwiYWR2YW5jZWRGaWx0ZXJcIlxuICAgICAgICBbc2VhcmNoT3B0aW9uc109XCJ7IGZpbHRlckNvbmZpZyB9XCJcbiAgICAgICAgW25nTW9kZWxdPVwidmFsdWVcIlxuICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKCRldmVudClcIlxuICAgID48L25pY2UtYXN5bmMtdHlwZWFoZWFkPlxuPC9tYXQtZm9ybS1maWVsZD5cbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { Component, forwardRef, Input, ViewEncapsulation } from "@angular/core";
2
+ import { NG_VALUE_ACCESSOR } from "@angular/forms";
3
+ import { FilterComponent } from "../filter.component";
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/forms";
6
+ import * as i2 from "@angular/material/form-field";
7
+ import * as i3 from "@angular/material/input";
8
+ import * as i4 from "ngx-mask";
9
+ export class NiceAdvancedTextFilterComponent extends FilterComponent {
10
+ }
11
+ NiceAdvancedTextFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedTextFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
12
+ NiceAdvancedTextFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceAdvancedTextFilterComponent, selector: "nice-advanced-text-filter", inputs: { filterConfig: "filterConfig" }, providers: [
13
+ {
14
+ provide: NG_VALUE_ACCESSOR,
15
+ useExisting: forwardRef(() => NiceAdvancedTextFilterComponent),
16
+ multi: true
17
+ }
18
+ ], usesInheritance: true, ngImport: i0, template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" [mask]=\"(filterConfig?.mask) || ''\" [validation]=\"false\" type=\"text\" />\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i4.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "triggerOnMaskChange"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedTextFilterComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ selector: "nice-advanced-text-filter", encapsulation: ViewEncapsulation.None, providers: [
22
+ {
23
+ provide: NG_VALUE_ACCESSOR,
24
+ useExisting: forwardRef(() => NiceAdvancedTextFilterComponent),
25
+ multi: true
26
+ }
27
+ ], template: "<mat-form-field appearance=\"outline\" class=\"flex-auto\">\n <input matInput [ngModel]=\"value\" (ngModelChange)=\"onValueChange($event)\" [mask]=\"(filterConfig?.mask) || ''\" [validation]=\"false\" type=\"text\" />\n</mat-form-field>\n" }]
28
+ }], propDecorators: { filterConfig: [{
29
+ type: Input
30
+ }] } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9hZHZhbmNlZC1maWx0ZXJzL3J1bGUvY29tcG9uZW50cy90ZXh0L3RleHQtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL2NvbXBvbmVudHMvdGV4dC90ZXh0LWZpbHRlci50ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7OztBQWN0RCxNQUFNLE9BQU8sK0JBQWdDLFNBQVEsZUFBdUI7OzRIQUEvRCwrQkFBK0I7Z0hBQS9CLCtCQUErQiw4RkFSN0I7UUFDUDtZQUNJLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztZQUM5RCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0osaURDZkwsbVBBR0E7MkZEY2EsK0JBQStCO2tCQVozQyxTQUFTOytCQUNJLDJCQUEyQixpQkFFdEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzs0QkFDOUQsS0FBSyxFQUFFLElBQUk7eUJBQ2Q7cUJBQ0o7OEJBSU0sWUFBWTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ZpbHRlci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6IFwibmljZS1hZHZhbmNlZC10ZXh0LWZpbHRlclwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInRleHQtZmlsdGVyLnRlbXBsYXRlLmh0bWxcIixcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5pY2VBZHZhbmNlZFRleHRGaWx0ZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgTmljZUFkdmFuY2VkVGV4dEZpbHRlckNvbXBvbmVudCBleHRlbmRzIEZpbHRlckNvbXBvbmVudDxzdHJpbmc+IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmaWx0ZXJDb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbDtcbn1cbiIsIjxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwiZmxleC1hdXRvXCI+XG4gICAgPGlucHV0IG1hdElucHV0IFtuZ01vZGVsXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCIgW21hc2tdPVwiKGZpbHRlckNvbmZpZz8ubWFzaykgfHwgJydcIiBbdmFsaWRhdGlvbl09XCJmYWxzZVwiIHR5cGU9XCJ0ZXh0XCIgLz5cbjwvbWF0LWZvcm0tZmllbGQ+XG4iXX0=
@@ -0,0 +1,71 @@
1
+ import { Component, EventEmitter, Inject, Input, Optional, Output, ViewEncapsulation } from "@angular/core";
2
+ import { FormGroupName } from "@angular/forms";
3
+ import { startWith } from "rxjs";
4
+ import { map } from "rxjs/operators";
5
+ import { ADVANCED_FILTER_ICONS } from "../advanced-filters.constant";
6
+ import { FilterForm } from "../advanced-filters.form";
7
+ import { AdvancedFiltersUtils } from "../utils/advanced-filters.utils";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/forms";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "@angular/material/icon";
12
+ import * as i4 from "@angular/material/button";
13
+ import * as i5 from "@angular/material/form-field";
14
+ import * as i6 from "@angular/material/core";
15
+ import * as i7 from "@angular/material/select";
16
+ import * as i8 from "@angular/material/button-toggle";
17
+ import * as i9 from "./components/date/date-filter.component";
18
+ import * as i10 from "./components/number/number-filter.component";
19
+ import * as i11 from "./components/radio/radio-filter.component";
20
+ import * as i12 from "./components/select/select-filter.component";
21
+ import * as i13 from "./components/text/text-filter.component";
22
+ import * as i14 from "../advanced-filters-trigger.directive";
23
+ import * as i15 from "@ngx-translate/core";
24
+ export class NiceAdvancedRuleComponent {
25
+ constructor(icons, formGroupName) {
26
+ this.icons = icons;
27
+ this.formGroupName = formGroupName;
28
+ this.remove = new EventEmitter();
29
+ }
30
+ get filterConfig() {
31
+ const ruleId = this.formGroup.get("id").value;
32
+ return this.filterConfigs?.find(f => f.id === ruleId);
33
+ }
34
+ ngOnInit() {
35
+ this.formGroup = this.formGroupName.control;
36
+ this.valuesFormArray = this.formGroup.get("values");
37
+ const operationFormControl = this.formGroup.get("operation");
38
+ this.isSingleInput$ = operationFormControl.valueChanges.pipe(startWith(operationFormControl.value), map((operation) => !AdvancedFiltersUtils.isDoubleInput(operation) && !AdvancedFiltersUtils.isNoInput(operation)));
39
+ this.isDoubleInput$ = operationFormControl.valueChanges.pipe(startWith(operationFormControl.value), map((operation) => AdvancedFiltersUtils.isDoubleInput(operation)));
40
+ }
41
+ onUpdateFilterConfig(config) {
42
+ const rule = AdvancedFiltersUtils.createRule(config);
43
+ this.valuesFormArray.clear({ emitEvent: false });
44
+ this.formGroup.patchValue(new FilterForm(rule));
45
+ }
46
+ addValue(index) {
47
+ this.valuesFormArray.insert(index, {});
48
+ }
49
+ removeValue(i) {
50
+ this.valuesFormArray.removeAt(i);
51
+ if (!this.valuesFormArray.length) {
52
+ this.remove.emit();
53
+ }
54
+ }
55
+ }
56
+ NiceAdvancedRuleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedRuleComponent, deps: [{ token: ADVANCED_FILTER_ICONS, optional: true }, { token: i1.FormGroupName }], target: i0.ɵɵFactoryTarget.Component });
57
+ NiceAdvancedRuleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceAdvancedRuleComponent, selector: "nice-advanced-rule", inputs: { filterConfigs: "filterConfigs" }, outputs: { remove: "remove" }, ngImport: i0, template: "<div class=\"flex flex-row gap-4\" [formGroup]=\"formGroup\">\n <div class=\"basis-80\">\n <button\n class=\"select-filter w-full\"\n mat-stroked-button\n niceAdvancedFiltersTrigger\n originX=\"start\"\n (advancedFilterSelected)=\"onUpdateFilterConfig($event)\"\n >\n <div class=\"flex flex-row justify-between items-center w-full\">\n <div class=\"config-name\">{{ filterConfig?.name }}</div>\n <mat-icon [svgIcon]=\"icons.arrowDown.svgIcon\">{{ icons.arrowDown.matIcon }}</mat-icon>\n </div>\n </button>\n </div>\n\n <div class=\"flex flex-col basis-44 gap-4\">\n <mat-form-field appearance=\"outline\" class=\"rule-form-field\">\n <mat-select class=\"rule-operator\" formControlName=\"operation\">\n <mat-option *ngFor=\"let operator of filterConfig?.operators\" [value]=\"operator.id\">\n {{ operator?.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <ng-container *ngIf=\"valuesFormArray.controls.length > 1\">\n <mat-button-toggle-group class=\"condition-toggle\" formControlName=\"condition\">\n <mat-button-toggle value=\"and\">{{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}</mat-button-toggle>\n <mat-button-toggle value=\"or\">{{ \"components.nice_advanced_filters.rule.conditions.or\" | translate }}</mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"flex flex-col flex-auto gap-4\" formArrayName=\"values\">\n <div class=\"flex items-center gap-4\" [formGroupName]=\"i\" *ngFor=\"let _ of valuesFormArray.controls; let i = index\">\n <div class=\"rule-container flex flex-col md:flex-row flex-auto justify-start items-center gap-2.5\">\n <ng-container *ngIf=\"isSingleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter *ngSwitchCase=\"'text'\" class=\"flex flex-auto\" formControlName=\"value\" [filterConfig]=\"filterConfig\"></nice-advanced-text-filter>\n <nice-advanced-number-filter *ngSwitchCase=\"'number'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-number-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter *ngSwitchCase=\"'date'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"isDoubleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-number-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-date-filter>\n </ng-container>\n <h3 class=\"aligned-text\">\n {{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}\n </h3>\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-number-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"add-button\" mat-icon-button (click)=\"addValue(i + 1)\">\n <mat-icon [svgIcon]=\"icons.add.svgIcon\">{{ icons.add.matIcon }}</mat-icon>\n </button>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"remove-button\" mat-icon-button (click)=\"removeValue(i)\">\n <mat-icon [svgIcon]=\"icons.delete.svgIcon\">{{ icons.delete.matIcon }}</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "directive", type: i8.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i8.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i9.NiceAdvancedDateFilterComponent, selector: "nice-advanced-date-filter" }, { kind: "component", type: i10.NiceAdvancedNumberFilterComponent, selector: "nice-advanced-number-filter" }, { kind: "component", type: i11.NiceAdvancedRadioFilterComponent, selector: "nice-advanced-radio-filter", inputs: ["filterConfig"] }, { kind: "component", type: i12.NiceAdvancedSelectFilterComponent, selector: "nice-advanced-select-filter", inputs: ["filterConfig"] }, { kind: "component", type: i13.NiceAdvancedTextFilterComponent, selector: "nice-advanced-text-filter", inputs: ["filterConfig"] }, { kind: "directive", type: i14.AdvancedFiltersTriggerDirective, selector: "[niceAdvancedFiltersTrigger]", inputs: ["position"], outputs: ["advancedFilterSelected"], exportAs: ["niceAdvancedFiltersTrigger"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceAdvancedRuleComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: "nice-advanced-rule", encapsulation: ViewEncapsulation.None, template: "<div class=\"flex flex-row gap-4\" [formGroup]=\"formGroup\">\n <div class=\"basis-80\">\n <button\n class=\"select-filter w-full\"\n mat-stroked-button\n niceAdvancedFiltersTrigger\n originX=\"start\"\n (advancedFilterSelected)=\"onUpdateFilterConfig($event)\"\n >\n <div class=\"flex flex-row justify-between items-center w-full\">\n <div class=\"config-name\">{{ filterConfig?.name }}</div>\n <mat-icon [svgIcon]=\"icons.arrowDown.svgIcon\">{{ icons.arrowDown.matIcon }}</mat-icon>\n </div>\n </button>\n </div>\n\n <div class=\"flex flex-col basis-44 gap-4\">\n <mat-form-field appearance=\"outline\" class=\"rule-form-field\">\n <mat-select class=\"rule-operator\" formControlName=\"operation\">\n <mat-option *ngFor=\"let operator of filterConfig?.operators\" [value]=\"operator.id\">\n {{ operator?.name }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <ng-container *ngIf=\"valuesFormArray.controls.length > 1\">\n <mat-button-toggle-group class=\"condition-toggle\" formControlName=\"condition\">\n <mat-button-toggle value=\"and\">{{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}</mat-button-toggle>\n <mat-button-toggle value=\"or\">{{ \"components.nice_advanced_filters.rule.conditions.or\" | translate }}</mat-button-toggle>\n </mat-button-toggle-group>\n </ng-container>\n </div>\n\n <div class=\"flex flex-col flex-auto gap-4\" formArrayName=\"values\">\n <div class=\"flex items-center gap-4\" [formGroupName]=\"i\" *ngFor=\"let _ of valuesFormArray.controls; let i = index\">\n <div class=\"rule-container flex flex-col md:flex-row flex-auto justify-start items-center gap-2.5\">\n <ng-container *ngIf=\"isSingleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter *ngSwitchCase=\"'text'\" class=\"flex flex-auto\" formControlName=\"value\" [filterConfig]=\"filterConfig\"></nice-advanced-text-filter>\n <nice-advanced-number-filter *ngSwitchCase=\"'number'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-number-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter *ngSwitchCase=\"'date'\" class=\"flex flex-auto\" formControlName=\"value\"></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"isDoubleInput$ | async\">\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-number-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"value\"\n ></nice-advanced-date-filter>\n </ng-container>\n <h3 class=\"aligned-text\">\n {{ \"components.nice_advanced_filters.rule.conditions.and\" | translate }}\n </h3>\n <ng-container [ngSwitch]=\"filterConfig?.type\">\n <nice-advanced-text-filter\n *ngSwitchCase=\"'text'\"\n [filterConfig]=\"filterConfig\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-text-filter>\n <nice-advanced-number-filter\n *ngSwitchCase=\"'number'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-number-filter>\n <nice-advanced-radio-filter\n *ngSwitchCase=\"'radio'\"\n class=\"flex flex-auto mb-4\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-radio-filter>\n <nice-advanced-select-filter\n *ngSwitchCase=\"'select'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n [filterConfig]=\"filterConfig\"\n ></nice-advanced-select-filter>\n <nice-advanced-date-filter\n *ngSwitchCase=\"'date'\"\n class=\"flex flex-auto\"\n formControlName=\"secondValue\"\n ></nice-advanced-date-filter>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"add-button\" mat-icon-button (click)=\"addValue(i + 1)\">\n <mat-icon [svgIcon]=\"icons.add.svgIcon\">{{ icons.add.matIcon }}</mat-icon>\n </button>\n </div>\n\n <div class=\"basis-12\">\n <button class=\"remove-button\" mat-icon-button (click)=\"removeValue(i)\">\n <mat-icon [svgIcon]=\"icons.delete.svgIcon\">{{ icons.delete.matIcon }}</mat-icon>\n </button>\n </div>\n </div>\n </div>\n</div>\n" }]
61
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
62
+ type: Optional
63
+ }, {
64
+ type: Inject,
65
+ args: [ADVANCED_FILTER_ICONS]
66
+ }] }, { type: i1.FormGroupName }]; }, propDecorators: { filterConfigs: [{
67
+ type: Input
68
+ }], remove: [{
69
+ type: Output
70
+ }] } });
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2FkdmFuY2VkLWZpbHRlcnMvcnVsZS9ydWxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy9ydWxlL3J1bGUudGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DLE9BQU8sRUFBYyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQW9CLE1BQU0sMEJBQTBCLENBQUM7QUFFeEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3ZFLE1BQU0sT0FBTyx5QkFBeUI7SUFrQmxDLFlBRVcsS0FBb0MsRUFDbkMsYUFBNEI7UUFEN0IsVUFBSyxHQUFMLEtBQUssQ0FBK0I7UUFDbkMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFoQmpDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBaUJoQyxDQUFDO0lBVEosSUFBVyxZQUFZO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQWUsQ0FBQztRQUN4RCxPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxNQUFNLENBQTZCLENBQUM7SUFDdEYsQ0FBQztJQVFNLFFBQVE7UUFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBeUMsQ0FBQztRQUM5RSxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBeUMsQ0FBQztRQUU1RixNQUFNLG9CQUFvQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxjQUFjLEdBQUcsb0JBQW9CLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDeEQsU0FBUyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUNyQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQ25ILENBQUM7UUFDRixJQUFJLENBQUMsY0FBYyxHQUFHLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3hELFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFDckMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxNQUFnQztRQUN4RCxNQUFNLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxRQUFRLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVNLFdBQVcsQ0FBQyxDQUFTO1FBQ3hCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRTtZQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzs7c0hBdERRLHlCQUF5QixrQkFtQlYscUJBQXFCOzBHQW5CcEMseUJBQXlCLHFJQ2hCdEMsMjVPQXdJQTsyRkR4SGEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLG9CQUFvQixpQkFFZixpQkFBaUIsQ0FBQyxJQUFJOzswQkFxQmhDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMscUJBQXFCO3dFQWpCdEMsYUFBYTtzQkFEbkIsS0FBSztnQkFJQyxNQUFNO3NCQURaLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtR3JvdXBOYW1lIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBHZW5lcmF0ZWRGb3JtQXJyYXksIEdlbmVyYXRlZEZvcm1Hcm91cCB9IGZyb20gXCJAcmVjdXJzeXZlL25neC1mb3JtLWdlbmVyYXRvclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IEFEVkFOQ0VEX0ZJTFRFUl9JQ09OUyB9IGZyb20gXCIuLi9hZHZhbmNlZC1maWx0ZXJzLmNvbnN0YW50XCI7XG5pbXBvcnQgeyBGaWx0ZXJGb3JtLCBGaWx0ZXJGb3JtVmFsdWVzIH0gZnJvbSBcIi4uL2FkdmFuY2VkLWZpbHRlcnMuZm9ybVwiO1xuaW1wb3J0IHsgTmljZUFkdmFuY2VkRmlsdGVySWNvbk9wdGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzL2ljb25zLm1vZGVsXCI7XG5pbXBvcnQgeyBBZHZhbmNlZEZpbHRlcnNVdGlscyB9IGZyb20gXCIuLi91dGlscy9hZHZhbmNlZC1maWx0ZXJzLnV0aWxzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYWR2YW5jZWQtcnVsZVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInJ1bGUudGVtcGxhdGUuaHRtbFwiLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgTmljZUFkdmFuY2VkUnVsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZmlsdGVyQ29uZmlnczogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsW10gfCBudWxsO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIHB1YmxpYyBmb3JtR3JvdXA6IEdlbmVyYXRlZEZvcm1Hcm91cDxGaWx0ZXJGb3JtPjtcbiAgICBwdWJsaWMgdmFsdWVzRm9ybUFycmF5OiBHZW5lcmF0ZWRGb3JtQXJyYXk8RmlsdGVyRm9ybVZhbHVlcz47XG5cbiAgICBwdWJsaWMgaXNTaW5nbGVJbnB1dCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcHVibGljIGlzRG91YmxlSW5wdXQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgcHVibGljIGdldCBmaWx0ZXJDb25maWcoKTogRmlsdGVyQ29uZmlndXJhdGlvbk1vZGVsIHtcbiAgICAgICAgY29uc3QgcnVsZUlkID0gdGhpcy5mb3JtR3JvdXAuZ2V0KFwiaWRcIikudmFsdWUgYXMgc3RyaW5nO1xuICAgICAgICByZXR1cm4gdGhpcy5maWx0ZXJDb25maWdzPy5maW5kKGYgPT4gZi5pZCA9PT0gcnVsZUlkKSBhcyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWw7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQURWQU5DRURfRklMVEVSX0lDT05TKVxuICAgICAgICBwdWJsaWMgaWNvbnM6IE5pY2VBZHZhbmNlZEZpbHRlckljb25PcHRpb25zLFxuICAgICAgICBwcml2YXRlIGZvcm1Hcm91cE5hbWU6IEZvcm1Hcm91cE5hbWVcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtR3JvdXBOYW1lLmNvbnRyb2wgYXMgR2VuZXJhdGVkRm9ybUdyb3VwPEZpbHRlckZvcm0+O1xuICAgICAgICB0aGlzLnZhbHVlc0Zvcm1BcnJheSA9IHRoaXMuZm9ybUdyb3VwLmdldChcInZhbHVlc1wiKSBhcyBHZW5lcmF0ZWRGb3JtQXJyYXk8RmlsdGVyRm9ybVZhbHVlcz47XG5cbiAgICAgICAgY29uc3Qgb3BlcmF0aW9uRm9ybUNvbnRyb2wgPSB0aGlzLmZvcm1Hcm91cC5nZXQoXCJvcGVyYXRpb25cIik7XG4gICAgICAgIHRoaXMuaXNTaW5nbGVJbnB1dCQgPSBvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZSksXG4gICAgICAgICAgICBtYXAoKG9wZXJhdGlvbikgPT4gIUFkdmFuY2VkRmlsdGVyc1V0aWxzLmlzRG91YmxlSW5wdXQob3BlcmF0aW9uKSAmJiAhQWR2YW5jZWRGaWx0ZXJzVXRpbHMuaXNOb0lucHV0KG9wZXJhdGlvbikpXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuaXNEb3VibGVJbnB1dCQgPSBvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChvcGVyYXRpb25Gb3JtQ29udHJvbC52YWx1ZSksXG4gICAgICAgICAgICBtYXAoKG9wZXJhdGlvbikgPT4gQWR2YW5jZWRGaWx0ZXJzVXRpbHMuaXNEb3VibGVJbnB1dChvcGVyYXRpb24pKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblVwZGF0ZUZpbHRlckNvbmZpZyhjb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCk6IHZvaWQge1xuICAgICAgICBjb25zdCBydWxlID0gQWR2YW5jZWRGaWx0ZXJzVXRpbHMuY3JlYXRlUnVsZShjb25maWcpO1xuICAgICAgICB0aGlzLnZhbHVlc0Zvcm1BcnJheS5jbGVhcih7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLnBhdGNoVmFsdWUobmV3IEZpbHRlckZvcm0ocnVsZSkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhZGRWYWx1ZShpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWVzRm9ybUFycmF5Lmluc2VydChpbmRleCwge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVWYWx1ZShpOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52YWx1ZXNGb3JtQXJyYXkucmVtb3ZlQXQoaSk7XG4gICAgICAgIGlmICghdGhpcy52YWx1ZXNGb3JtQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgPGRpdiBjbGFzcz1cImJhc2lzLTgwXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2VsZWN0LWZpbHRlciB3LWZ1bGxcIlxuICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICBuaWNlQWR2YW5jZWRGaWx0ZXJzVHJpZ2dlclxuICAgICAgICAgICAgb3JpZ2luWD1cInN0YXJ0XCJcbiAgICAgICAgICAgIChhZHZhbmNlZEZpbHRlclNlbGVjdGVkKT1cIm9uVXBkYXRlRmlsdGVyQ29uZmlnKCRldmVudClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBqdXN0aWZ5LWJldHdlZW4gaXRlbXMtY2VudGVyIHctZnVsbFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb25maWctbmFtZVwiPnt7IGZpbHRlckNvbmZpZz8ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpY29ucy5hcnJvd0Rvd24uc3ZnSWNvblwiPnt7IGljb25zLmFycm93RG93bi5tYXRJY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGJhc2lzLTQ0IGdhcC00XCI+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiIGNsYXNzPVwicnVsZS1mb3JtLWZpZWxkXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdCBjbGFzcz1cInJ1bGUtb3BlcmF0b3JcIiBmb3JtQ29udHJvbE5hbWU9XCJvcGVyYXRpb25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3BlcmF0b3Igb2YgZmlsdGVyQ29uZmlnPy5vcGVyYXRvcnNcIiBbdmFsdWVdPVwib3BlcmF0b3IuaWRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgb3BlcmF0b3I/Lm5hbWUgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInZhbHVlc0Zvcm1BcnJheS5jb250cm9scy5sZW5ndGggPiAxXCI+XG4gICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgY2xhc3M9XCJjb25kaXRpb24tdG9nZ2xlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29uZGl0aW9uXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlICB2YWx1ZT1cImFuZFwiPnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMucnVsZS5jb25kaXRpb25zLmFuZFwiIHwgdHJhbnNsYXRlIH19PC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgdmFsdWU9XCJvclwiPnt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMucnVsZS5jb25kaXRpb25zLm9yXCIgfCB0cmFuc2xhdGUgfX08L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBmbGV4LWF1dG8gZ2FwLTRcIiBmb3JtQXJyYXlOYW1lPVwidmFsdWVzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtNFwiIFtmb3JtR3JvdXBOYW1lXT1cImlcIiAqbmdGb3I9XCJsZXQgXyBvZiB2YWx1ZXNGb3JtQXJyYXkuY29udHJvbHM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJydWxlLWNvbnRhaW5lciBmbGV4IGZsZXgtY29sIG1kOmZsZXgtcm93IGZsZXgtYXV0byBqdXN0aWZ5LXN0YXJ0IGl0ZW1zLWNlbnRlciBnYXAtMi41XCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzU2luZ2xlSW5wdXQkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiZmlsdGVyQ29uZmlnPy50eXBlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC10ZXh0LWZpbHRlciAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCIgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCIgW2ZpbHRlckNvbmZpZ109XCJmaWx0ZXJDb25maWdcIj48L25pY2UtYWR2YW5jZWQtdGV4dC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1udW1iZXItZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInbnVtYmVyJ1wiIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIiBmb3JtQ29udHJvbE5hbWU9XCJ2YWx1ZVwiPjwvbmljZS1hZHZhbmNlZC1udW1iZXItZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtcmFkaW8tZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidyYWRpbydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG8gbWItNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJDb25maWddPVwiZmlsdGVyQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtcmFkaW8tZmlsdGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtc2VsZWN0LWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJDb25maWddPVwiZmlsdGVyQ29uZmlnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtc2VsZWN0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLWRhdGUtZmlsdGVyICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIiBjbGFzcz1cImZsZXggZmxleC1hdXRvXCIgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIj48L25pY2UtYWR2YW5jZWQtZGF0ZS1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0RvdWJsZUlucHV0JCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpbHRlckNvbmZpZz8udHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtdGV4dC1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmljZS1hZHZhbmNlZC10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLW51bWJlci1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtbnVtYmVyLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvIG1iLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1kYXRlLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtZGF0ZS1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJhbGlnbmVkLXRleHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IFwiY29tcG9uZW50cy5uaWNlX2FkdmFuY2VkX2ZpbHRlcnMucnVsZS5jb25kaXRpb25zLmFuZFwiIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpbHRlckNvbmZpZz8udHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5pY2UtYWR2YW5jZWQtdGV4dC1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3RleHQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtYXV0b1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2Vjb25kVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmljZS1hZHZhbmNlZC10ZXh0LWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLW51bWJlci1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ251bWJlcidcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtbnVtYmVyLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCIncmFkaW8nXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZsZXggZmxleC1hdXRvIG1iLTRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXJhZGlvLWZpbHRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NlbGVjdCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmlsdGVyQ29uZmlnXT1cImZpbHRlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICA+PC9uaWNlLWFkdmFuY2VkLXNlbGVjdC1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bmljZS1hZHZhbmNlZC1kYXRlLWZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmxleCBmbGV4LWF1dG9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNlY29uZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID48L25pY2UtYWR2YW5jZWQtZGF0ZS1maWx0ZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYXNpcy0xMlwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJhZGQtYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJhZGRWYWx1ZShpICsgMSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLmFkZC5zdmdJY29uXCI+e3sgaWNvbnMuYWRkLm1hdEljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYXNpcy0xMlwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJyZW1vdmUtYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJyZW1vdmVWYWx1ZShpKVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwiaWNvbnMuZGVsZXRlLnN2Z0ljb25cIj57eyBpY29ucy5kZWxldGUubWF0SWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,83 @@
1
+ import { FilterType } from "../../../../../models/filter.model";
2
+ import { FilterOperatorTypes } from "../../../../../models/query.model";
3
+ export class AdvancedFiltersUtils {
4
+ static isSingleInput(filterOperator) {
5
+ if (!filterOperator) {
6
+ return false;
7
+ }
8
+ return AdvancedFiltersUtils.singleInputOperators.includes(filterOperator);
9
+ }
10
+ static isDoubleInput(filterOperator) {
11
+ if (!filterOperator) {
12
+ return false;
13
+ }
14
+ return AdvancedFiltersUtils.doubleInputOperators.includes(filterOperator);
15
+ }
16
+ static isNoInput(filterOperator) {
17
+ if (!filterOperator) {
18
+ return false;
19
+ }
20
+ return AdvancedFiltersUtils.noInputOperators.includes(filterOperator);
21
+ }
22
+ static createRule(config, operator) {
23
+ const base = {
24
+ id: config.id,
25
+ operation: operator || config.operators[0].id
26
+ };
27
+ switch (config.type) {
28
+ case FilterType.Text:
29
+ return {
30
+ ...base,
31
+ value: AdvancedFiltersUtils.isDoubleInput(operator) ? ["", ""] : ""
32
+ };
33
+ case FilterType.Select:
34
+ return {
35
+ ...base,
36
+ value: AdvancedFiltersUtils.isDoubleInput(operator) ? [null, null] : null
37
+ };
38
+ case FilterType.Date:
39
+ return {
40
+ ...base,
41
+ value: AdvancedFiltersUtils.isDoubleInput(operator) ? [new Date(), new Date()] : new Date()
42
+ };
43
+ case FilterType.Radio:
44
+ return {
45
+ ...base,
46
+ value: AdvancedFiltersUtils.isDoubleInput(operator)
47
+ ? [config.options?.[0].key, config.options?.[0].key]
48
+ : config.options?.[0].key
49
+ };
50
+ case FilterType.Number:
51
+ return {
52
+ ...base,
53
+ value: AdvancedFiltersUtils.isDoubleInput(operator) ? [0, 0] : 0
54
+ };
55
+ }
56
+ }
57
+ }
58
+ AdvancedFiltersUtils.noInputOperators = [
59
+ FilterOperatorTypes.IsEmpty,
60
+ FilterOperatorTypes.IsNotEmpty,
61
+ FilterOperatorTypes.IsNull,
62
+ FilterOperatorTypes.IsNotNull,
63
+ FilterOperatorTypes.None
64
+ ];
65
+ AdvancedFiltersUtils.singleInputOperators = [
66
+ FilterOperatorTypes.Equal,
67
+ FilterOperatorTypes.NotEqual,
68
+ FilterOperatorTypes.Less,
69
+ FilterOperatorTypes.LessOrEqual,
70
+ FilterOperatorTypes.Greater,
71
+ FilterOperatorTypes.GreaterOrEqual,
72
+ FilterOperatorTypes.BeginsWith,
73
+ FilterOperatorTypes.NotBeginsWith,
74
+ FilterOperatorTypes.EndsWith,
75
+ FilterOperatorTypes.NotEndsWith,
76
+ FilterOperatorTypes.Contains,
77
+ FilterOperatorTypes.NotContains
78
+ ];
79
+ AdvancedFiltersUtils.doubleInputOperators = [
80
+ FilterOperatorTypes.Between,
81
+ FilterOperatorTypes.NotBetween
82
+ ];
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZWQtZmlsdGVycy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2NvbXBvbmVudHMvYWR2YW5jZWQtZmlsdGVycy91dGlscy9hZHZhbmNlZC1maWx0ZXJzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUYsT0FBTyxFQUFtQixtQkFBbUIsRUFBOEIsTUFBTSxtQ0FBbUMsQ0FBQztBQUVySCxNQUFNLE9BQU8sb0JBQW9CO0lBNkJ0QixNQUFNLENBQUMsYUFBYSxDQUFDLGNBQWdDO1FBQ3hELElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBRU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxjQUFnQztRQUN4RCxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxvQkFBb0IsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBZ0M7UUFDcEQsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUNELE9BQU8sb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQWdDLEVBQUUsUUFBMEI7UUFDakYsTUFBTSxJQUFJLEdBQUc7WUFDVCxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUU7WUFDYixTQUFTLEVBQUUsUUFBUSxJQUFLLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBc0I7U0FDckUsQ0FBQztRQUNGLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtZQUNqQixLQUFLLFVBQVUsQ0FBQyxJQUFJO2dCQUNoQixPQUFPO29CQUNILEdBQUcsSUFBSTtvQkFDUCxLQUFLLEVBQUUsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtpQkFDdEUsQ0FBQztZQUNOLEtBQUssVUFBVSxDQUFDLE1BQU07Z0JBQ2xCLE9BQU87b0JBQ0gsR0FBRyxJQUFJO29CQUNQLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJO2lCQUM1RSxDQUFDO1lBQ04sS0FBSyxVQUFVLENBQUMsSUFBSTtnQkFDaEIsT0FBTztvQkFDSCxHQUFHLElBQUk7b0JBQ1AsS0FBSyxFQUFFLG9CQUFvQixDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLEVBQUU7aUJBQzlGLENBQUM7WUFDTixLQUFLLFVBQVUsQ0FBQyxLQUFLO2dCQUNqQixPQUFPO29CQUNILEdBQUcsSUFBSTtvQkFDUCxLQUFLLEVBQUUsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQzt3QkFDL0MsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO3dCQUNwRCxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7aUJBQ2hDLENBQUM7WUFDTixLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNsQixPQUFPO29CQUNILEdBQUcsSUFBSTtvQkFDUCxLQUFLLEVBQUUsb0JBQW9CLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDbkUsQ0FBQztTQUNUO0lBQ0wsQ0FBQzs7QUFuRmEscUNBQWdCLEdBQXNCO0lBQ2hELG1CQUFtQixDQUFDLE9BQU87SUFDM0IsbUJBQW1CLENBQUMsVUFBVTtJQUM5QixtQkFBbUIsQ0FBQyxNQUFNO0lBQzFCLG1CQUFtQixDQUFDLFNBQVM7SUFDN0IsbUJBQW1CLENBQUMsSUFBSTtDQUMzQixDQUFDO0FBRVkseUNBQW9CLEdBQXNCO0lBQ3BELG1CQUFtQixDQUFDLEtBQUs7SUFDekIsbUJBQW1CLENBQUMsUUFBUTtJQUM1QixtQkFBbUIsQ0FBQyxJQUFJO0lBQ3hCLG1CQUFtQixDQUFDLFdBQVc7SUFDL0IsbUJBQW1CLENBQUMsT0FBTztJQUMzQixtQkFBbUIsQ0FBQyxjQUFjO0lBQ2xDLG1CQUFtQixDQUFDLFVBQVU7SUFDOUIsbUJBQW1CLENBQUMsYUFBYTtJQUNqQyxtQkFBbUIsQ0FBQyxRQUFRO0lBQzVCLG1CQUFtQixDQUFDLFdBQVc7SUFDL0IsbUJBQW1CLENBQUMsUUFBUTtJQUM1QixtQkFBbUIsQ0FBQyxXQUFXO0NBQ2xDLENBQUM7QUFFWSx5Q0FBb0IsR0FBc0I7SUFDcEQsbUJBQW1CLENBQUMsT0FBTztJQUMzQixtQkFBbUIsQ0FBQyxVQUFVO0NBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGaWx0ZXJDb25maWd1cmF0aW9uTW9kZWwsIEZpbHRlclR5cGUgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vbW9kZWxzL2ZpbHRlci5tb2RlbFwiO1xuaW1wb3J0IHsgRmlsdGVyT3BlcmF0b3JzLCBGaWx0ZXJPcGVyYXRvclR5cGVzLCBRdWVyeU1vZGVsLCBRdWVyeVJ1bGVNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9tb2RlbHMvcXVlcnkubW9kZWxcIjtcblxuZXhwb3J0IGNsYXNzIEFkdmFuY2VkRmlsdGVyc1V0aWxzIHtcbiAgICBwdWJsaWMgc3RhdGljIG5vSW5wdXRPcGVyYXRvcnM6IEZpbHRlck9wZXJhdG9yc1tdID0gW1xuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLklzRW1wdHksXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuSXNOb3RFbXB0eSxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Jc051bGwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuSXNOb3ROdWxsLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLk5vbmVcbiAgICBdO1xuXG4gICAgcHVibGljIHN0YXRpYyBzaW5nbGVJbnB1dE9wZXJhdG9yczogRmlsdGVyT3BlcmF0b3JzW10gPSBbXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuRXF1YWwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTm90RXF1YWwsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTGVzcyxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5MZXNzT3JFcXVhbCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5HcmVhdGVyLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkdyZWF0ZXJPckVxdWFsLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLkJlZ2luc1dpdGgsXG4gICAgICAgIEZpbHRlck9wZXJhdG9yVHlwZXMuTm90QmVnaW5zV2l0aCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5FbmRzV2l0aCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Ob3RFbmRzV2l0aCxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Db250YWlucyxcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5Ob3RDb250YWluc1xuICAgIF07XG5cbiAgICBwdWJsaWMgc3RhdGljIGRvdWJsZUlucHV0T3BlcmF0b3JzOiBGaWx0ZXJPcGVyYXRvcnNbXSA9IFtcbiAgICAgICAgRmlsdGVyT3BlcmF0b3JUeXBlcy5CZXR3ZWVuLFxuICAgICAgICBGaWx0ZXJPcGVyYXRvclR5cGVzLk5vdEJldHdlZW5cbiAgICBdO1xuXG4gICAgcHVibGljIHN0YXRpYyBpc1NpbmdsZUlucHV0KGZpbHRlck9wZXJhdG9yPzogRmlsdGVyT3BlcmF0b3JzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZmlsdGVyT3BlcmF0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gQWR2YW5jZWRGaWx0ZXJzVXRpbHMuc2luZ2xlSW5wdXRPcGVyYXRvcnMuaW5jbHVkZXMoZmlsdGVyT3BlcmF0b3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgaXNEb3VibGVJbnB1dChmaWx0ZXJPcGVyYXRvcj86IEZpbHRlck9wZXJhdG9ycyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWZpbHRlck9wZXJhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEFkdmFuY2VkRmlsdGVyc1V0aWxzLmRvdWJsZUlucHV0T3BlcmF0b3JzLmluY2x1ZGVzKGZpbHRlck9wZXJhdG9yKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGlzTm9JbnB1dChmaWx0ZXJPcGVyYXRvcj86IEZpbHRlck9wZXJhdG9ycyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWZpbHRlck9wZXJhdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIEFkdmFuY2VkRmlsdGVyc1V0aWxzLm5vSW5wdXRPcGVyYXRvcnMuaW5jbHVkZXMoZmlsdGVyT3BlcmF0b3IpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlUnVsZShjb25maWc6IEZpbHRlckNvbmZpZ3VyYXRpb25Nb2RlbCwgb3BlcmF0b3I/OiBGaWx0ZXJPcGVyYXRvcnMpOiBRdWVyeVJ1bGVNb2RlbCB7XG4gICAgICAgIGNvbnN0IGJhc2UgPSB7XG4gICAgICAgICAgICBpZDogY29uZmlnLmlkLFxuICAgICAgICAgICAgb3BlcmF0aW9uOiBvcGVyYXRvciB8fCAoY29uZmlnLm9wZXJhdG9yc1swXS5pZCBhcyBGaWx0ZXJPcGVyYXRvcnMpXG4gICAgICAgIH07XG4gICAgICAgIHN3aXRjaCAoY29uZmlnLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5UZXh0OlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBBZHZhbmNlZEZpbHRlcnNVdGlscy5pc0RvdWJsZUlucHV0KG9wZXJhdG9yKSA/IFtcIlwiLCBcIlwiXSA6IFwiXCJcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLlNlbGVjdDpcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5iYXNlLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogQWR2YW5jZWRGaWx0ZXJzVXRpbHMuaXNEb3VibGVJbnB1dChvcGVyYXRvcikgPyBbbnVsbCwgbnVsbF0gOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNhc2UgRmlsdGVyVHlwZS5EYXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBBZHZhbmNlZEZpbHRlcnNVdGlscy5pc0RvdWJsZUlucHV0KG9wZXJhdG9yKSA/IFtuZXcgRGF0ZSgpLCBuZXcgRGF0ZSgpXSA6IG5ldyBEYXRlKClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSBGaWx0ZXJUeXBlLlJhZGlvOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBBZHZhbmNlZEZpbHRlcnNVdGlscy5pc0RvdWJsZUlucHV0KG9wZXJhdG9yKVxuICAgICAgICAgICAgICAgICAgICAgICAgPyBbY29uZmlnLm9wdGlvbnM/LlswXS5rZXksIGNvbmZpZy5vcHRpb25zPy5bMF0ua2V5XVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjb25maWcub3B0aW9ucz8uWzBdLmtleVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjYXNlIEZpbHRlclR5cGUuTnVtYmVyOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmJhc2UsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBBZHZhbmNlZEZpbHRlcnNVdGlscy5pc0RvdWJsZUlucHV0KG9wZXJhdG9yKSA/IFswLCAwXSA6IDBcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -9,10 +9,10 @@ import * as i1 from "../../store/nice-filter-view.query";
9
9
  import * as i2 from "../../store/nice-filter-view.service";
10
10
  import * as i3 from "@angular/material/bottom-sheet";
11
11
  import * as i4 from "@angular/material/icon";
12
- import * as i5 from "@angular/material/tooltip";
13
- import * as i6 from "@angular/material/button";
14
- import * as i7 from "@ngx-translate/core";
15
- import * as i8 from "@angular/common";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "@angular/material/tooltip";
14
+ import * as i7 from "@angular/material/button";
15
+ import * as i8 from "@ngx-translate/core";
16
16
  export class NiceFilterExportButtonsComponent {
17
17
  constructor(icons, exportsSettings, query, service, bottomSheet) {
18
18
  this.icons = icons;
@@ -22,6 +22,7 @@ export class NiceFilterExportButtonsComponent {
22
22
  this.bottomSheet = bottomSheet;
23
23
  this.customExport = [];
24
24
  this.downloadFileName = "data";
25
+ this.canPrint = true;
25
26
  this.loading$ = this.query.selectLoading();
26
27
  }
27
28
  clickExport() {
@@ -67,10 +68,10 @@ export class NiceFilterExportButtonsComponent {
67
68
  }
68
69
  }
69
70
  NiceFilterExportButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportButtonsComponent, deps: [{ token: FILTER_VIEW_ICONS }, { token: EXPORTS_SETTINGS }, { token: i1.NiceFilterViewQuery }, { token: i2.NiceFilterViewService }, { token: i3.MatBottomSheet }], target: i0.ɵɵFactoryTarget.Component });
70
- NiceFilterExportButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterExportButtonsComponent, selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", inputs: { customExport: "customExport", downloadFileName: "downloadFileName" }, ngImport: i0, template: "<button\n (click)=\"clickPrint()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.print' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.print.svgIcon\">{{ icons.print.matIcon }}</mat-icon>\n</button>\n\n<button\n (click)=\"clickExport()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.export' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.download.svgIcon\">{{ icons.download.matIcon }}</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i6.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i7.TranslatePipe, name: "translate" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
71
+ NiceFilterExportButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceFilterExportButtonsComponent, selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", inputs: { customExport: "customExport", downloadFileName: "downloadFileName", canPrint: "canPrint" }, ngImport: i0, template: "<button\n *ngIf=\"canPrint\"\n (click)=\"clickPrint()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.print' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.print.svgIcon\">{{ icons.print.matIcon }}</mat-icon>\n</button>\n\n<button\n (click)=\"clickExport()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.export' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.download.svgIcon\">{{ icons.download.matIcon }}</mat-icon>\n</button>\n", styles: [""], dependencies: [{ kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i7.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "pipe", type: i8.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
71
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceFilterExportButtonsComponent, decorators: [{
72
73
  type: Component,
73
- args: [{ selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", encapsulation: ViewEncapsulation.None, template: "<button\n (click)=\"clickPrint()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.print' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.print.svgIcon\">{{ icons.print.matIcon }}</mat-icon>\n</button>\n\n<button\n (click)=\"clickExport()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.export' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.download.svgIcon\">{{ icons.download.matIcon }}</mat-icon>\n</button>\n" }]
74
+ args: [{ selector: "nice-filter-export-buttons, div[nice-filter-export-buttons]", encapsulation: ViewEncapsulation.None, template: "<button\n *ngIf=\"canPrint\"\n (click)=\"clickPrint()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.print' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.print.svgIcon\">{{ icons.print.matIcon }}</mat-icon>\n</button>\n\n<button\n (click)=\"clickExport()\"\n [disabled]=\"loading$ | async\"\n [matTooltip]=\"'general.export' | translate\"\n class=\"export-button\"\n mat-mini-fab\n>\n <mat-icon [svgIcon]=\"icons.download.svgIcon\">{{ icons.download.matIcon }}</mat-icon>\n</button>\n" }]
74
75
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
75
76
  type: Inject,
76
77
  args: [FILTER_VIEW_ICONS]
@@ -81,5 +82,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
81
82
  type: Input
82
83
  }], downloadFileName: [{
83
84
  type: Input
85
+ }], canPrint: [{
86
+ type: Input
84
87
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9leHBvcnQtYnV0dG9ucy9leHBvcnQtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2V4cG9ydC1idXR0b25zL2V4cG9ydC1idXR0b25zLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFHdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLGdDQUFnQztJQVN6QyxZQUNzQyxLQUEwQixFQUNqQixlQUErQixFQUNsRSxLQUEwQixFQUMxQixPQUE4QixFQUNyQixXQUEyQjtRQUpWLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQ2pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUNsRSxVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFaekMsaUJBQVksR0FBcUIsRUFBRSxDQUFDO1FBR3BDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUUxQixhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQVExQyxDQUFDO0lBRUcsV0FBVztRQUNkLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFO1lBQzNCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLE1BQU07Z0JBQ1osYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7YUFDeEMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7YUFDdkMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7YUFDdkMsQ0FBQyxDQUFDO1NBQ047UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUM5QyxJQUFJLEVBQUU7Z0JBQ0YsZ0JBQWdCLEVBQUU7b0JBQ2QsR0FBRyxPQUFPO29CQUNWLEdBQUcsSUFBSSxDQUFDLFlBQVk7aUJBQ3ZCO2FBQ0o7U0FDSixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sU0FBUztRQUNaLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsQ0FBQzs7NkhBN0RRLGdDQUFnQyxrQkFVN0IsaUJBQWlCLGFBQ2pCLGdCQUFnQjtpSEFYbkIsZ0NBQWdDLG1MQ2Y3Qyw4aUJBbUJBOzJGREphLGdDQUFnQztrQkFONUMsU0FBUzsrQkFDSSw2REFBNkQsaUJBR3hELGlCQUFpQixDQUFDLElBQUk7OzBCQVloQyxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQ3hCLE1BQU07MkJBQUMsZ0JBQWdCOytJQVRyQixZQUFZO3NCQURsQixLQUFLO2dCQUlDLGdCQUFnQjtzQkFEdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0XCI7XG5pbXBvcnQgeyBFeHBvcnRCb3R0b21TaGVldENvbXBvbmVudCwgRXhwb3J0U3RyYXRlZ3kgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHsgRXhwb3J0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1saXN0L21vZGVscy9leHBvcnQubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VCYXNlSWNvbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1saXN0L21vZGVscy9pY29ucy5tb2RlbFwiO1xuaW1wb3J0IHsgRVhQT1JUU19TRVRUSU5HUywgRklMVEVSX1ZJRVdfSUNPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1maWx0ZXItdmlldy5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtZmlsdGVyLWV4cG9ydC1idXR0b25zLCBkaXZbbmljZS1maWx0ZXItZXhwb3J0LWJ1dHRvbnNdXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiZXhwb3J0LWJ1dHRvbnMudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiZXhwb3J0LWJ1dHRvbnMuc3R5bGUuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJFeHBvcnRCdXR0b25zQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXN0b21FeHBvcnQ6IEV4cG9ydFN0cmF0ZWd5W10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvd25sb2FkRmlsZU5hbWUgPSBcImRhdGFcIjtcblxuICAgIHB1YmxpYyBsb2FkaW5nJCA9IHRoaXMucXVlcnkuc2VsZWN0TG9hZGluZygpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRklMVEVSX1ZJRVdfSUNPTlMpIHB1YmxpYyBpY29uczogTmljZUJhc2VJY29uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFWFBPUlRTX1NFVFRJTkdTKSBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydHNTZXR0aW5nczogRXhwb3J0U2V0dGluZ3MsXG4gICAgICAgIHByaXZhdGUgcXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnksXG4gICAgICAgIHByaXZhdGUgc2VydmljZTogTmljZUZpbHRlclZpZXdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGJvdHRvbVNoZWV0OiBNYXRCb3R0b21TaGVldFxuICAgICkge31cblxuICAgIHB1YmxpYyBjbGlja0V4cG9ydCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhwb3J0cyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MueGxzeCkge1xuICAgICAgICAgICAgZXhwb3J0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInhsc3hcIixcbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwb3J0OiAoKSA9PiB0aGlzLmNsaWNrWGxzeCgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MuY3N2KSB7XG4gICAgICAgICAgICBleHBvcnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiY3N2XCIsXG4gICAgICAgICAgICAgICAgb25DbGlja0V4cG9ydDogKCkgPT4gdGhpcy5jbGlja0NzdigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MucGRmKSB7XG4gICAgICAgICAgICBleHBvcnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwicGRmXCIsXG4gICAgICAgICAgICAgICAgb25DbGlja0V4cG9ydDogKCkgPT4gdGhpcy5jbGlja1BkZigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJvdHRvbVNoZWV0Lm9wZW4oRXhwb3J0Qm90dG9tU2hlZXRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBleHBvcnRTdHJhdGVnaWVzOiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmV4cG9ydHMsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY3VzdG9tRXhwb3J0XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xpY2tYbHN4KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZG93bmxvYWREYXRhKFwieGxzeFwiLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja0NzdigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmRvd25sb2FkRGF0YShcImNzdlwiLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja1ByaW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UucHJpbnREYXRhKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrUGRmKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZG93bmxvYWREYXRhKFwicGRmXCIsIHRoaXMuZG93bmxvYWRGaWxlTmFtZSk7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIChjbGljayk9XCJjbGlja1ByaW50KClcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICBbbWF0VG9vbHRpcF09XCInZ2VuZXJhbC5wcmludCcgfCB0cmFuc2xhdGVcIlxuICAgIGNsYXNzPVwiZXhwb3J0LWJ1dHRvblwiXG4gICAgbWF0LW1pbmktZmFiXG4+XG4gICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLnByaW50LnN2Z0ljb25cIj57eyBpY29ucy5wcmludC5tYXRJY29uIH19PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG48YnV0dG9uXG4gICAgKGNsaWNrKT1cImNsaWNrRXhwb3J0KClcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICBbbWF0VG9vbHRpcF09XCInZ2VuZXJhbC5leHBvcnQnIHwgdHJhbnNsYXRlXCJcbiAgICBjbGFzcz1cImV4cG9ydC1idXR0b25cIlxuICAgIG1hdC1taW5pLWZhYlxuPlxuICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpY29ucy5kb3dubG9hZC5zdmdJY29uXCI+e3sgaWNvbnMuZG93bmxvYWQubWF0SWNvbiB9fTwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0LWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1kYXRhLWZpbHRlci1raXQvc3JjL2xpYi9jb21wb25lbnRzL25pY2UtZmlsdGVyLXZpZXcvY29tcG9uZW50cy9leHBvcnQtYnV0dG9ucy9leHBvcnQtYnV0dG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9jb21wb25lbnRzL2V4cG9ydC1idXR0b25zL2V4cG9ydC1idXR0b25zLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsMEJBQTBCLEVBQWtCLE1BQU0sMkJBQTJCLENBQUM7QUFHdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDekUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7Ozs7QUFRN0UsTUFBTSxPQUFPLGdDQUFnQztJQVl6QyxZQUNzQyxLQUEwQixFQUNqQixlQUErQixFQUNsRSxLQUEwQixFQUMxQixPQUE4QixFQUNyQixXQUEyQjtRQUpWLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQ2pCLG9CQUFlLEdBQWYsZUFBZSxDQUFnQjtRQUNsRSxVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7UUFmekMsaUJBQVksR0FBcUIsRUFBRSxDQUFDO1FBR3BDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUcxQixhQUFRLEdBQUcsSUFBSSxDQUFDO1FBRWhCLGFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBUTFDLENBQUM7SUFFRyxXQUFXO1FBQ2QsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ25CLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUU7WUFDM0IsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxJQUFJLEVBQUUsTUFBTTtnQkFDWixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTthQUN4QyxDQUFDLENBQUM7U0FDTjtRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxJQUFJLEVBQUUsS0FBSztnQkFDWCxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTthQUN2QyxDQUFDLENBQUM7U0FDTjtRQUNELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDVCxJQUFJLEVBQUUsS0FBSztnQkFDWCxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTthQUN2QyxDQUFDLENBQUM7U0FDTjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQzlDLElBQUksRUFBRTtnQkFDRixnQkFBZ0IsRUFBRTtvQkFDZCxHQUFHLE9BQU87b0JBQ1YsR0FBRyxJQUFJLENBQUMsWUFBWTtpQkFDdkI7YUFDSjtTQUNKLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxTQUFTO1FBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1RCxDQUFDOzs2SEFoRVEsZ0NBQWdDLGtCQWE3QixpQkFBaUIsYUFDakIsZ0JBQWdCO2lIQWRuQixnQ0FBZ0MseU1DZjdDLHNrQkFvQkE7MkZETGEsZ0NBQWdDO2tCQU41QyxTQUFTOytCQUNJLDZEQUE2RCxpQkFHeEQsaUJBQWlCLENBQUMsSUFBSTs7MEJBZWhDLE1BQU07MkJBQUMsaUJBQWlCOzswQkFDeEIsTUFBTTsyQkFBQyxnQkFBZ0I7K0lBWnJCLFlBQVk7c0JBRGxCLEtBQUs7Z0JBSUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0Qm90dG9tU2hlZXQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYm90dG9tLXNoZWV0XCI7XG5pbXBvcnQgeyBFeHBvcnRCb3R0b21TaGVldENvbXBvbmVudCwgRXhwb3J0U3RyYXRlZ3kgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHsgRXhwb3J0U2V0dGluZ3MgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1saXN0L21vZGVscy9leHBvcnQubW9kZWxcIjtcbmltcG9ydCB7IE5pY2VCYXNlSWNvbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vYmFzZS1saXN0L21vZGVscy9pY29ucy5tb2RlbFwiO1xuaW1wb3J0IHsgRVhQT1JUU19TRVRUSU5HUywgRklMVEVSX1ZJRVdfSUNPTlMgfSBmcm9tIFwiLi4vLi4vbmljZS1maWx0ZXItdmlldy5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi8uLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtZmlsdGVyLWV4cG9ydC1idXR0b25zLCBkaXZbbmljZS1maWx0ZXItZXhwb3J0LWJ1dHRvbnNdXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiZXhwb3J0LWJ1dHRvbnMudGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiZXhwb3J0LWJ1dHRvbnMuc3R5bGUuc2Nzc1wiXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VGaWx0ZXJFeHBvcnRCdXR0b25zQ29tcG9uZW50IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXN0b21FeHBvcnQ6IEV4cG9ydFN0cmF0ZWd5W10gPSBbXTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRvd25sb2FkRmlsZU5hbWUgPSBcImRhdGFcIjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGNhblByaW50ID0gdHJ1ZTtcblxuICAgIHB1YmxpYyBsb2FkaW5nJCA9IHRoaXMucXVlcnkuc2VsZWN0TG9hZGluZygpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoRklMVEVSX1ZJRVdfSUNPTlMpIHB1YmxpYyBpY29uczogTmljZUJhc2VJY29uT3B0aW9ucyxcbiAgICAgICAgQEluamVjdChFWFBPUlRTX1NFVFRJTkdTKSBwcml2YXRlIHJlYWRvbmx5IGV4cG9ydHNTZXR0aW5nczogRXhwb3J0U2V0dGluZ3MsXG4gICAgICAgIHByaXZhdGUgcXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnksXG4gICAgICAgIHByaXZhdGUgc2VydmljZTogTmljZUZpbHRlclZpZXdTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGJvdHRvbVNoZWV0OiBNYXRCb3R0b21TaGVldFxuICAgICkge31cblxuICAgIHB1YmxpYyBjbGlja0V4cG9ydCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXhwb3J0cyA9IFtdO1xuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MueGxzeCkge1xuICAgICAgICAgICAgZXhwb3J0cy5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiBcInhsc3hcIixcbiAgICAgICAgICAgICAgICBvbkNsaWNrRXhwb3J0OiAoKSA9PiB0aGlzLmNsaWNrWGxzeCgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MuY3N2KSB7XG4gICAgICAgICAgICBleHBvcnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiY3N2XCIsXG4gICAgICAgICAgICAgICAgb25DbGlja0V4cG9ydDogKCkgPT4gdGhpcy5jbGlja0NzdigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5leHBvcnRzU2V0dGluZ3MucGRmKSB7XG4gICAgICAgICAgICBleHBvcnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwicGRmXCIsXG4gICAgICAgICAgICAgICAgb25DbGlja0V4cG9ydDogKCkgPT4gdGhpcy5jbGlja1BkZigpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmJvdHRvbVNoZWV0Lm9wZW4oRXhwb3J0Qm90dG9tU2hlZXRDb21wb25lbnQsIHtcbiAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBleHBvcnRTdHJhdGVnaWVzOiBbXG4gICAgICAgICAgICAgICAgICAgIC4uLmV4cG9ydHMsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY3VzdG9tRXhwb3J0XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xpY2tYbHN4KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZG93bmxvYWREYXRhKFwieGxzeFwiLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja0NzdigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2aWNlLmRvd25sb2FkRGF0YShcImNzdlwiLCB0aGlzLmRvd25sb2FkRmlsZU5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGlja1ByaW50KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UucHJpbnREYXRhKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsaWNrUGRmKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZpY2UuZG93bmxvYWREYXRhKFwicGRmXCIsIHRoaXMuZG93bmxvYWRGaWxlTmFtZSk7XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgICpuZ0lmPVwiY2FuUHJpbnRcIlxuICAgIChjbGljayk9XCJjbGlja1ByaW50KClcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICBbbWF0VG9vbHRpcF09XCInZ2VuZXJhbC5wcmludCcgfCB0cmFuc2xhdGVcIlxuICAgIGNsYXNzPVwiZXhwb3J0LWJ1dHRvblwiXG4gICAgbWF0LW1pbmktZmFiXG4+XG4gICAgPG1hdC1pY29uIFtzdmdJY29uXT1cImljb25zLnByaW50LnN2Z0ljb25cIj57eyBpY29ucy5wcmludC5tYXRJY29uIH19PC9tYXQtaWNvbj5cbjwvYnV0dG9uPlxuXG48YnV0dG9uXG4gICAgKGNsaWNrKT1cImNsaWNrRXhwb3J0KClcIlxuICAgIFtkaXNhYmxlZF09XCJsb2FkaW5nJCB8IGFzeW5jXCJcbiAgICBbbWF0VG9vbHRpcF09XCInZ2VuZXJhbC5leHBvcnQnIHwgdHJhbnNsYXRlXCJcbiAgICBjbGFzcz1cImV4cG9ydC1idXR0b25cIlxuICAgIG1hdC1taW5pLWZhYlxuPlxuICAgIDxtYXQtaWNvbiBbc3ZnSWNvbl09XCJpY29ucy5kb3dubG9hZC5zdmdJY29uXCI+e3sgaWNvbnMuZG93bmxvYWQubWF0SWNvbiB9fTwvbWF0LWljb24+XG48L2J1dHRvbj5cbiJdfQ==
@@ -21,6 +21,9 @@ export class NiceFilterMatSortSortingDirective {
21
21
  return;
22
22
  }
23
23
  const { order } = res;
24
+ if (!order) {
25
+ return;
26
+ }
24
27
  this.sort.direction = order.direction;
25
28
  this.sort.active = order.column;
26
29
  });
@@ -55,4 +58,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
55
58
  type: Directive,
56
59
  args: [{ selector: "mat-table[matSort][niceFilterSorting]" }]
57
60
  }], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }, { type: i3.MatSort }]; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9kaXJlY3RpdmVzL21hdC1zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFHMUUsTUFBTSxPQUFPLGlDQUFpQztJQUcxQyxZQUFvQixLQUEwQixFQUFVLE9BQThCLEVBQVUsSUFBYTtRQUF6RixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUztRQUZyRyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFa0UsQ0FBQztJQUUxRyxRQUFRO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDeEYsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDTixPQUFPO2FBQ1Y7WUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDdEMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDMUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNuRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDakIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDO2dCQUM5QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztvQkFDdkIsR0FBRyxNQUFNO29CQUNULEtBQUssRUFBRSxFQUFFO2lCQUNaLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDWjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztvQkFDdkIsR0FBRyxnQkFBZ0I7b0JBQ25CLEtBQUssRUFBRTt3QkFDSCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07d0JBQ25CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBMkI7cUJBQzlDO2lCQUNKLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDWjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDcEMsQ0FBQzs7OEhBdkNRLGlDQUFpQztrSEFBakMsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBRDdDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsdUNBQXVDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvc29ydFwiO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3UXVlcnkgfSBmcm9tIFwiLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc2VydmljZVwiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6IFwibWF0LXRhYmxlW21hdFNvcnRdW25pY2VGaWx0ZXJTb3J0aW5nXVwiIH0pXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlck1hdFNvcnRTb3J0aW5nRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVBbGwkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcXVlcnk6IE5pY2VGaWx0ZXJWaWV3UXVlcnksIHByaXZhdGUgc2VydmljZTogTmljZUZpbHRlclZpZXdTZXJ2aWNlLCBwcml2YXRlIHNvcnQ6IE1hdFNvcnQpIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVlcnkuc2VsZWN0RmlsdGVyUGFyYW1ldGVycygpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKChyZXMpID0+IHtcbiAgICAgICAgICAgIGlmICghcmVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7IG9yZGVyIH0gPSByZXM7XG4gICAgICAgICAgICB0aGlzLnNvcnQuZGlyZWN0aW9uID0gb3JkZXIuZGlyZWN0aW9uO1xuICAgICAgICAgICAgdGhpcy5zb3J0LmFjdGl2ZSA9IG9yZGVyLmNvbHVtbjtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zb3J0LnNvcnRDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHNvcnQpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycyB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgaWYgKCFzb3J0LmRpcmVjdGlvbikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgb3JkZXIsIC4uLnZhbHVlcyB9ID0gZmlsdGVyUGFyYW1ldGVycztcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0UGFyYW1ldGVycyh7XG4gICAgICAgICAgICAgICAgICAgIC4uLnZhbHVlcyxcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IHt9XG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZmlsdGVyUGFyYW1ldGVycyxcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogc29ydC5hY3RpdmUsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246IHNvcnQuZGlyZWN0aW9uIGFzIFwiYXNjXCIgfCBcImRlc2NcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cbn1cbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0LXNvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLWRhdGEtZmlsdGVyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmljZS1maWx0ZXItdmlldy9kaXJlY3RpdmVzL21hdC1zb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFHMUUsTUFBTSxPQUFPLGlDQUFpQztJQUcxQyxZQUFvQixLQUEwQixFQUFVLE9BQThCLEVBQVUsSUFBYTtRQUF6RixVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUztRQUZyRyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFa0UsQ0FBQztJQUUxRyxRQUFRO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDeEYsSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDTixPQUFPO2FBQ1Y7WUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1IsT0FBTzthQUNWO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztZQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQ3BDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUMxRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25ELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNqQixNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxFQUFFLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUN2QixHQUFHLE1BQU07b0JBQ1QsS0FBSyxFQUFFLEVBQUU7aUJBQ1osRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNaO2lCQUFNO2dCQUNILElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO29CQUN2QixHQUFHLGdCQUFnQjtvQkFDbkIsS0FBSyxFQUFFO3dCQUNILE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTt3QkFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUEyQjtxQkFDOUM7aUJBQ0osRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNaO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDOzs4SEEzQ1EsaUNBQWlDO2tIQUFqQyxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFEN0MsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSx1Q0FBdUMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0U29ydCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zb3J0XCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdRdWVyeSB9IGZyb20gXCIuLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnF1ZXJ5XCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1NlcnZpY2UgfSBmcm9tIFwiLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5zZXJ2aWNlXCI7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogXCJtYXQtdGFibGVbbWF0U29ydF1bbmljZUZpbHRlclNvcnRpbmddXCIgfSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyTWF0U29ydFNvcnRpbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBxdWVyeTogTmljZUZpbHRlclZpZXdRdWVyeSwgcHJpdmF0ZSBzZXJ2aWNlOiBOaWNlRmlsdGVyVmlld1NlcnZpY2UsIHByaXZhdGUgc29ydDogTWF0U29ydCkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5xdWVyeS5zZWxlY3RGaWx0ZXJQYXJhbWV0ZXJzKCkucGlwZSh0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHsgb3JkZXIgfSA9IHJlcztcbiAgICAgICAgICAgIGlmICghb3JkZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuc29ydC5kaXJlY3Rpb24gPSBvcmRlci5kaXJlY3Rpb247XG4gICAgICAgICAgICB0aGlzLnNvcnQuYWN0aXZlID0gb3JkZXIuY29sdW1uO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnNvcnQuc29ydENoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpLnN1YnNjcmliZSgoc29ydCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBmaWx0ZXJQYXJhbWV0ZXJzIH0gPSB0aGlzLnF1ZXJ5LmdldFZhbHVlKCk7XG4gICAgICAgICAgICBpZiAoIXNvcnQuZGlyZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBvcmRlciwgLi4udmFsdWVzIH0gPSBmaWx0ZXJQYXJhbWV0ZXJzO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRQYXJhbWV0ZXJzKHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmFsdWVzLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjoge31cbiAgICAgICAgICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLnNldFBhcmFtZXRlcnMoe1xuICAgICAgICAgICAgICAgICAgICAuLi5maWx0ZXJQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICAgICAgICBvcmRlcjoge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBzb3J0LmFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogc29ydC5kaXJlY3Rpb24gYXMgXCJhc2NcIiB8IFwiZGVzY1wiXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5uZXh0KCk7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Directive, EventEmitter, Output } from "@angular/core";
2
2
  import { ActivatedRoute, Router } from "@angular/router";
3
- import { Subject } from "rxjs";
3
+ import { combineLatest, distinct, Subject } from "rxjs";
4
4
  import { map, takeUntil } from "rxjs/operators";
5
5
  import { FilterUtils } from "../../../utils/filter.utils";
6
6
  import { QueryParamsUtils } from "../../../utils/query-params.utils";
@@ -18,7 +18,10 @@ export class NiceFilterQueryParamsDirective {
18
18
  this.router = router;
19
19
  this.init = new EventEmitter();
20
20
  this.unsubscribeAll$ = new Subject();
21
- this.initialized = false;
21
+ this._initialized = false;
22
+ }
23
+ get initialized() {
24
+ return this._initialized;
22
25
  }
23
26
  ngOnInit() {
24
27
  this.query.selectFilterParameters().pipe(takeUntil(this.unsubscribeAll$)).subscribe((parameters) => {
@@ -47,13 +50,18 @@ export class NiceFilterQueryParamsDirective {
47
50
  });
48
51
  }
49
52
  loadQueryParams() {
50
- this.route.queryParams
51
- .pipe(takeUntil(this.unsubscribeAll$), map((params) => {
53
+ combineLatest([
54
+ this.route.queryParams.pipe(map((params) => params.start), distinct()),
55
+ this.route.queryParams.pipe(map((params) => params.length), distinct()),
56
+ this.route.queryParams.pipe(map((params) => params.order), distinct()),
57
+ this.route.queryParams.pipe(map((params) => params.search), distinct()),
58
+ this.route.queryParams.pipe(map((params) => params.rules), distinct()),
59
+ ]).pipe(takeUntil(this.unsubscribeAll$), map(() => {
60
+ const params = this.route.snapshot.queryParams;
52
61
  return {
53
62
  params: QueryParamsUtils.extractFilterParameters(params)
54
63
  };
55
- }))
56
- .subscribe(({ params }) => {
64
+ })).subscribe(({ params }) => {
57
65
  if (!QueryParamsUtils.hasFilterParameters(params) || Object.keys(params).length === 0) {
58
66
  params = { ...this.query.getValue().filterParameters };
59
67
  }
@@ -62,10 +70,9 @@ export class NiceFilterQueryParamsDirective {
62
70
  !filterResult) {
63
71
  this.service.setParameters(params, false);
64
72
  }
65
- if (!this.initialized) {
66
- this.initialized = true;
73
+ if (!this._initialized) {
74
+ this._initialized = true;
67
75
  this.init.emit();
68
- this.service.filter();
69
76
  }
70
77
  });
71
78
  }
@@ -78,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImpor
78
85
  }], ctorParameters: function () { return [{ type: i1.NiceFilterViewQuery }, { type: i2.NiceFilterViewService }, { type: i3.ActivatedRoute }, { type: i3.Router }]; }, propDecorators: { init: [{
79
86
  type: Output
80
87
  }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2RpcmVjdGl2ZXMvcXVlcnktcGFyYW1zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBNEIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7QUFHMUUsTUFBTSxPQUFPLDhCQUE4QjtJQU92QyxZQUNZLEtBQTBCLEVBQzFCLE9BQThCLEVBQzlCLEtBQXFCLEVBQ3JCLE1BQWM7UUFIZCxVQUFLLEdBQUwsS0FBSyxDQUFxQjtRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQUM5QixVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBVG5CLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXpCLG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLEtBQUssQ0FBQztJQU96QixDQUFDO0lBRUcsUUFBUTtRQUNYLElBQUksQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQy9GLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRU8saUJBQWlCLENBQUMsVUFBaUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixPQUFPO1NBQ1Y7UUFFRCxNQUFNLE1BQU0sR0FBRyxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUM7UUFDakMsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkMsSUFBSSxJQUFJLEtBQUssYUFBYSxFQUFFO1lBQ3hCLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztZQUNwQixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDeEI7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUU7WUFDckIsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ3RCLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUM7WUFDakUsbUJBQW1CLEVBQUUsT0FBTztTQUMvQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVc7YUFDakIsSUFBSSxDQUNELFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQy9CLEdBQUcsQ0FBQyxDQUFDLE1BQThCLEVBQUUsRUFBRTtZQUNuQyxPQUFPO2dCQUNILE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLENBQUM7YUFDM0QsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ25GLE1BQU0sR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO2FBQzFEO1lBQ0QsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakUsSUFDSSxXQUFXLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO2dCQUM5RCxDQUFDLFlBQVksRUFDZjtnQkFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDN0M7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7YUFDekI7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7OzJIQTFFUSw4QkFBOEI7K0dBQTlCLDhCQUE4QjsyRkFBOUIsOEJBQThCO2tCQUQxQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHlDQUF5QyxFQUFFO2dNQUd2RCxJQUFJO3NCQURWLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IEZpbHRlclBhcmFtZXRlcnNNb2RlbCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZmlsdGVyLm1vZGVsXCI7XG5pbXBvcnQgeyBGaWx0ZXJVdGlscyB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9maWx0ZXIudXRpbHNcIjtcbmltcG9ydCB7IFF1ZXJ5UGFyYW1zVXRpbHMgfSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvcXVlcnktcGFyYW1zLnV0aWxzXCI7XG5pbXBvcnQgeyBOaWNlRmlsdGVyVmlld1F1ZXJ5IH0gZnJvbSBcIi4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcucXVlcnlcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3U2VydmljZSB9IGZyb20gXCIuLi9zdG9yZS9uaWNlLWZpbHRlci12aWV3LnNlcnZpY2VcIjtcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiBcIm5pY2UtZmlsdGVyLXZpZXdbbmljZUZpbHRlclF1ZXJ5UGFyYW1zXVwiIH0pXG5leHBvcnQgY2xhc3MgTmljZUZpbHRlclF1ZXJ5UGFyYW1zRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIEBPdXRwdXQoKVxuICAgIHB1YmxpYyBpbml0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgcHJpdmF0ZSB1bnN1YnNjcmliZUFsbCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHF1ZXJ5OiBOaWNlRmlsdGVyVmlld1F1ZXJ5LFxuICAgICAgICBwcml2YXRlIHNlcnZpY2U6IE5pY2VGaWx0ZXJWaWV3U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucXVlcnkuc2VsZWN0RmlsdGVyUGFyYW1ldGVycygpLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSkuc3Vic2NyaWJlKChwYXJhbWV0ZXJzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHBhcmFtZXRlcnMpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmxvYWRRdWVyeVBhcmFtcygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQubmV4dCgpO1xuICAgICAgICB0aGlzLnVuc3Vic2NyaWJlQWxsJC5jb21wbGV0ZSgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUXVlcnlQYXJhbXMocGFyYW1ldGVyczogRmlsdGVyUGFyYW1ldGVyc01vZGVsKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5yb3V0ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyYW1zID0geyAuLi5wYXJhbWV0ZXJzIH07XG4gICAgICAgIGNvbnN0IHsgbW9kZSB9ID0gdGhpcy5xdWVyeS5nZXRWYWx1ZSgpO1xuICAgICAgICBpZiAobW9kZSA9PT0gXCJhY2N1bXVsYXRlZFwiKSB7XG4gICAgICAgICAgICBkZWxldGUgcGFyYW1zLnN0YXJ0O1xuICAgICAgICAgICAgZGVsZXRlIHBhcmFtcy5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXSwge1xuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiBRdWVyeVBhcmFtc1V0aWxzLmZpbHRlclBhcmFtZXRlcnNUb1BhcmFtc01hcChwYXJhbXMpLFxuICAgICAgICAgICAgcXVlcnlQYXJhbXNIYW5kbGluZzogXCJtZXJnZVwiXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFF1ZXJ5UGFyYW1zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFsbCQpLFxuICAgICAgICAgICAgICAgIG1hcCgocGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IFF1ZXJ5UGFyYW1zVXRpbHMuZXh0cmFjdEZpbHRlclBhcmFtZXRlcnMocGFyYW1zKVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh7IHBhcmFtcyB9KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFRdWVyeVBhcmFtc1V0aWxzLmhhc0ZpbHRlclBhcmFtZXRlcnMocGFyYW1zKSB8fCBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXMgPSB7IC4uLnRoaXMucXVlcnkuZ2V0VmFsdWUoKS5maWx0ZXJQYXJhbWV0ZXJzIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycywgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLnF1ZXJ5LmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBGaWx0ZXJVdGlscy5maWx0ZXJDaGFuZ2VOZWVkc1JlZnJlc2goZmlsdGVyUGFyYW1ldGVycywgcGFyYW1zKSB8fFxuICAgICAgICAgICAgICAgICAgICAhZmlsdGVyUmVzdWx0XG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZS5zZXRQYXJhbWV0ZXJzKHBhcmFtcywgZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbml0LmVtaXQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlLmZpbHRlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW1zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2UtZGF0YS1maWx0ZXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uaWNlLWZpbHRlci12aWV3L2RpcmVjdGl2ZXMvcXVlcnktcGFyYW1zLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7OztBQUcxRSxNQUFNLE9BQU8sOEJBQThCO0lBV3ZDLFlBQ1ksS0FBMEIsRUFDMUIsT0FBOEIsRUFDOUIsS0FBcUIsRUFDckIsTUFBYztRQUhkLFVBQUssR0FBTCxLQUFLLENBQXFCO1FBQzFCLFlBQU8sR0FBUCxPQUFPLENBQXVCO1FBQzlCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFibkIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFekIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3RDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0lBVzFCLENBQUM7SUFUSixJQUFXLFdBQVc7UUFDbEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFTTSxRQUFRO1FBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDL0YsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxXQUFXO1FBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxVQUFpQztRQUN2RCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNiLE9BQU87U0FDVjtRQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUNqQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QyxJQUFJLElBQUksS0FBSyxhQUFhLEVBQUU7WUFDeEIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDO1lBQ3BCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQztTQUN4QjtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTtZQUNyQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDdEIsV0FBVyxFQUFFLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQztZQUNqRSxtQkFBbUIsRUFBRSxPQUFPO1NBQy9CLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxlQUFlO1FBQ25CLGFBQWEsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7WUFDdkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3RFLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQztZQUN2RSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDekUsQ0FBQyxDQUFDLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUMvQixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1lBQy9DLE9BQU87Z0JBQ0gsTUFBTSxFQUFFLGdCQUFnQixDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQzthQUMzRCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0wsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDbkYsTUFBTSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7YUFDMUQ7WUFDRCxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNqRSxJQUNJLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7Z0JBQzlELENBQUMsWUFBWSxFQUNmO2dCQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM3QztZQUVELElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNwQjtRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7MkhBbEZRLDhCQUE4QjsrR0FBOUIsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBRDFDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUseUNBQXlDLEVBQUU7Z01BR3ZELElBQUk7c0JBRFYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRXZlbnRFbWl0dGVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgRmlsdGVyUGFyYW1ldGVyc01vZGVsIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9maWx0ZXIubW9kZWxcIjtcbmltcG9ydCB7IEZpbHRlclV0aWxzIH0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2ZpbHRlci51dGlsc1wiO1xuaW1wb3J0IHsgUXVlcnlQYXJhbXNVdGlscyB9IGZyb20gXCIuLi8uLi8uLi91dGlscy9xdWVyeS1wYXJhbXMudXRpbHNcIjtcbmltcG9ydCB7IE5pY2VGaWx0ZXJWaWV3UXVlcnkgfSBmcm9tIFwiLi4vc3RvcmUvbmljZS1maWx0ZXItdmlldy5xdWVyeVwiO1xuaW1wb3J0IHsgTmljZUZpbHRlclZpZXdTZXJ2aWNlIH0gZnJvbSBcIi4uL3N0b3JlL25pY2UtZmlsdGVyLXZpZXcuc2VydmljZVwiO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6IFwibmljZS1maWx0ZXItdmlld1tuaWNlRmlsdGVyUXVlcnlQYXJhbXNdXCIgfSlcbmV4cG9ydCBjbGFzcyBOaWNlRmlsdGVyUXVlcnlQYXJhbXNEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIGluaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlQWxsJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZWQgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBnZXQgaW5pdGlhbGl6ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pbml0aWFsaXplZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBxdWVyeTogTmljZUZpbHRlclZpZXdRdWVyeSxcbiAgICAgICAgcHJpdmF0ZSBzZXJ2aWNlOiBOaWNlRmlsdGVyVmlld1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXG4gICAgKSB7fVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnF1ZXJ5LnNlbGVjdEZpbHRlclBhcmFtZXRlcnMoKS5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQWxsJCkpLnN1YnNjcmliZSgocGFyYW1ldGVycykgPT4ge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVRdWVyeVBhcmFtcyhwYXJhbWV0ZXJzKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5sb2FkUXVlcnlQYXJhbXMoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMudW5zdWJzY3JpYmVBbGwkLm5leHQoKTtcbiAgICAgICAgdGhpcy51bnN1YnNjcmliZUFsbCQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZVF1ZXJ5UGFyYW1zKHBhcmFtZXRlcnM6IEZpbHRlclBhcmFtZXRlcnNNb2RlbCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMucm91dGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4ucGFyYW1ldGVycyB9O1xuICAgICAgICBjb25zdCB7IG1vZGUgfSA9IHRoaXMucXVlcnkuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKG1vZGUgPT09IFwiYWNjdW11bGF0ZWRcIikge1xuICAgICAgICAgICAgZGVsZXRlIHBhcmFtcy5zdGFydDtcbiAgICAgICAgICAgIGRlbGV0ZSBwYXJhbXMubGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGUsXG4gICAgICAgICAgICBxdWVyeVBhcmFtczogUXVlcnlQYXJhbXNVdGlscy5maWx0ZXJQYXJhbWV0ZXJzVG9QYXJhbXNNYXAocGFyYW1zKSxcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6IFwibWVyZ2VcIlxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGxvYWRRdWVyeVBhcmFtcygpOiB2b2lkIHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUobWFwKChwYXJhbXMpID0+IHBhcmFtcy5zdGFydCksIGRpc3RpbmN0KCkpLFxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5waXBlKG1hcCgocGFyYW1zKSA9PiBwYXJhbXMubGVuZ3RoKSwgZGlzdGluY3QoKSksXG4gICAgICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUobWFwKChwYXJhbXMpID0+IHBhcmFtcy5vcmRlciksIGRpc3RpbmN0KCkpLFxuICAgICAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5waXBlKG1hcCgocGFyYW1zKSA9PiBwYXJhbXMuc2VhcmNoKSwgZGlzdGluY3QoKSksXG4gICAgICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnBpcGUobWFwKChwYXJhbXMpID0+IHBhcmFtcy5ydWxlcyksIGRpc3RpbmN0KCkpLFxuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBbGwkKSxcbiAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IFF1ZXJ5UGFyYW1zVXRpbHMuZXh0cmFjdEZpbHRlclBhcmFtZXRlcnMocGFyYW1zKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KVxuICAgICAgICApLnN1YnNjcmliZSgoeyBwYXJhbXMgfSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFRdWVyeVBhcmFtc1V0aWxzLmhhc0ZpbHRlclBhcmFtZXRlcnMocGFyYW1zKSB8fCBPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHsgLi4udGhpcy5xdWVyeS5nZXRWYWx1ZSgpLmZpbHRlclBhcmFtZXRlcnMgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHsgZmlsdGVyUGFyYW1ldGVycywgZmlsdGVyUmVzdWx0IH0gPSB0aGlzLnF1ZXJ5LmdldFZhbHVlKCk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgRmlsdGVyVXRpbHMuZmlsdGVyQ2hhbmdlTmVlZHNSZWZyZXNoKGZpbHRlclBhcmFtZXRlcnMsIHBhcmFtcykgfHxcbiAgICAgICAgICAgICAgICAhZmlsdGVyUmVzdWx0XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlcnZpY2Uuc2V0UGFyYW1ldGVycyhwYXJhbXMsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF0aGlzLl9pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmluaXQuZW1pdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=