@provoly/hypervisor 1.4.79 → 1.4.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/lib/event/filters/choice/choice-filter.component.mjs +6 -6
- package/esm2022/src/lib/event/filters/on/click/event-filters.component.mjs +3 -3
- package/fesm2022/provoly-hypervisor.mjs +7 -7
- package/fesm2022/provoly-hypervisor.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/components/_o-hvy-event-filters.scss +4 -0
|
@@ -30,12 +30,12 @@ export class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
30
30
|
if (this.allSelected()) {
|
|
31
31
|
return this.i18nService.instant(this.allLabel);
|
|
32
32
|
}
|
|
33
|
-
if (this.value().length > 1) {
|
|
34
|
-
return `(${this.value().length})`;
|
|
35
|
-
}
|
|
36
33
|
if (this.value().length === 1) {
|
|
37
34
|
return this.i18nService.instant(this.i18nPrefix + this.value()[0]);
|
|
38
35
|
}
|
|
36
|
+
if (this.value().length >= 0) {
|
|
37
|
+
return `(${this.value().length})`;
|
|
38
|
+
}
|
|
39
39
|
return '';
|
|
40
40
|
});
|
|
41
41
|
this.id = ChoiceFilterComponent.idCounter++;
|
|
@@ -133,11 +133,11 @@ export class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
133
133
|
setTimeout(() => (this.inhibate = undefined), 50);
|
|
134
134
|
}
|
|
135
135
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i3.PryI18nService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
136
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
136
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
|
|
137
137
|
}
|
|
138
138
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, decorators: [{
|
|
139
139
|
type: Component,
|
|
140
|
-
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
140
|
+
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
141
141
|
}], ctorParameters: () => [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i3.PryI18nService }, { type: i0.ElementRef }], propDecorators: { allLabel: [{
|
|
142
142
|
type: Input
|
|
143
143
|
}], label: [{
|
|
@@ -152,4 +152,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
152
152
|
type: ViewChild,
|
|
153
153
|
args: ['template', { read: TemplateRef }]
|
|
154
154
|
}] } });
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9maWx0ZXJzL2Nob2ljZS9jaG9pY2UtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L2ZpbHRlcnMvY2hvaWNlL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxRQUFRLEVBRVIsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBWXJDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7YUFDeEQsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBeUJyQixZQUNVLEtBQVksRUFDWixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsV0FBMkIsRUFDM0IsR0FBZTtRQUV2QixLQUFLLEVBQUUsQ0FBQztRQU5BLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxX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QUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0EvSVUscUJBQXFCO2tHQUFyQixxQkFBcUIsMEtBRnJCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsMkdBYXZFLFdBQVcsb0RDMUM1QywyMERBa0RBOzsyRkRuQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixhQUVsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztxTEFNN0YsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFd0MsUUFBUTtzQkFBckQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdnlVbml0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHZ5LXVuaXQtZmlsdGVyLmNsYXNzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRXZlbnRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEh2eUNob2ljZUZpbHRlciA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W107XG59W107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1jaG9pY2UtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEh2eVVuaXRGaWx0ZXJDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENob2ljZUZpbHRlckNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hvaWNlRmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgSHZ5VW5pdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgaWRDb3VudGVyID0gMDtcbiAgaWQgPSAtMTtcblxuICBASW5wdXQoKSBhbGxMYWJlbDogc3RyaW5nID0gJ0BodnkuZXZlbnQuZmlsdGVyLmNob2ljZS5hbGwnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ25vLWxhYmVsLWRlZmluZWQnO1xuICBASW5wdXQoKSBpMThuUHJlZml4OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWRkTm9uTGVhdmVzOiBib29sZWFuID0gZmFsc2U7XG4gIHZhbHVlOiBXcml0YWJsZVNpZ25hbDxzdHJpbmdbXT4gPSBzaWduYWwoW10pO1xuICBASW5wdXQoKSBjaG9pY2VzOiBIdnlDaG9pY2VGaWx0ZXIgPSBbXTtcbiAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGluaGliYXRlPzogc3RyaW5nO1xuICBkaXNwbGF5VmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCh0aGlzLmFsbExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsdWUoKS5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gYCgke3RoaXMudmFsdWUoKS5sZW5ndGh9KWA7XG4gICAgfVxuICAgIGlmICh0aGlzLnZhbHVlKCkubGVuZ3RoID09PSAxKSB7XG4gICAgICByZXR1cm4gdGhpcy5pMThuU2VydmljZS5pbnN0YW50KHRoaXMuaTE4blByZWZpeCArIHRoaXMudmFsdWUoKVswXSk7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIGkxOG5TZXJ2aWNlOiBQcnlJMThuU2VydmljZSxcbiAgICBwcml2YXRlIHJlZjogRWxlbWVudFJlZlxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaWQgPSBDaG9pY2VGaWx0ZXJDb21wb25lbnQuaWRDb3VudGVyKys7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgIGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KEV2ZW50U2VsZWN0b3JzLmZpbHRlcnMpLCB0aGlzLl9maWx0ZXJTZXQkXSkuc3Vic2NyaWJlKChbZmlsdGVycywgZmlsdGVyU2V0XSkgPT4ge1xuICAgICAgICB0aGlzLmFzc2lnblZhbHVlKFxuICAgICAgICAgIChmaWx0ZXJzW2ZpbHRlclNldF0gPz8ge30pLmhhc093blByb3BlcnR5KHRoaXMucHJvcClcbiAgICAgICAgICAgID8gZmlsdGVyc1tmaWx0ZXJTZXRdW3RoaXMucHJvcF0ubGVuZ3RoID09PSAxICYmIGZpbHRlcnNbZmlsdGVyU2V0XVt0aGlzLnByb3BdWzBdID09PSAnJ1xuICAgICAgICAgICAgICA/IFtdXG4gICAgICAgICAgICAgIDogZmlsdGVyc1tmaWx0ZXJTZXRdW3RoaXMucHJvcF1cbiAgICAgICAgICAgIDogdGhpcy5hbGxWYWx1ZXMoKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0UGFyYW1zKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSB7XG4gICAgaWYgKHRoaXMudmFsdWUoKS5sZW5ndGggPT09IHRoaXMuYWxsVmFsdWVzKCkubGVuZ3RoKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIHJldHVybiB7IFt0aGlzLnByb3BdOiB0aGlzLnZhbHVlKCkubGVuZ3RoID09PSAwID8gWycnXSA6IHRoaXMudmFsdWUoKSB9O1xuICB9XG5cbiAgdG9nZ2xlTW9kYWwoKSB7XG4gICAgaWYgKCF0aGlzLm92ZXJsYXlSZWYpIHtcbiAgICAgIHRoaXMudHJpZ2dlckluaGliYXRlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJyxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ20tY29udGV4dC1tZW51LXdyYXBwZXInLCAnby1jaG9pY2UtZmlsdGVyLXBvcHVwJ11cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZU1vZGFsKCkpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBjb25zdCBjb250ZXh0TWVudSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5vLWNob2ljZS1maWx0ZXItcG9wdXAnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGlmICghIWNvbnRleHRNZW51KSB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICBjb250ZXh0TWVudS5zdHlsZS5sZWZ0ID0gcmVjdC54ICsgJ3B4JztcbiAgICAgICAgY29udGV4dE1lbnUuc3R5bGUubWluV2lkdGggPSByZWN0LnJpZ2h0IC0gcmVjdC54ICsgJ3B4JztcbiAgICAgICAgY29udGV4dE1lbnUuc3R5bGUudG9wID0gcmVjdC5ib3R0b20gKyAncHgnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNsaWNrQWxsKCkge1xuICAgIGlmICh0aGlzLmFsbFNlbGVjdGVkKCkpIHtcbiAgICAgIHRoaXMuYXNzaWduVmFsdWUoW10pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmFzc2lnblZhbHVlKHRoaXMuYWxsVmFsdWVzKCkpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZShlbHQ6IHsga2V5OiBzdHJpbmc7IGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W10gfSkge1xuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSB0aGlzLmlzU2VsZWN0ZWQoZWx0KTtcbiAgICBjb25zdCBlbHRTdWJLZXlzID0gIWVsdC5jaGlsZHJlbiA/IFtlbHQua2V5XSA6IGVsdC5jaGlsZHJlbi5tYXAoKGNoKSA9PiBjaC5rZXkpO1xuICAgIGlmICghaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5hc3NpZ25WYWx1ZShbLi4ubmV3IFNldChbLi4udGhpcy52YWx1ZSgpLCAuLi5lbHRTdWJLZXlzXSldKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hc3NpZ25WYWx1ZSh0aGlzLnZhbHVlKCkuZmlsdGVyKCh2KSA9PiAhZWx0U3ViS2V5cy5pbmNsdWRlcyh2KSkpO1xuICAgIH1cbiAgfVxuXG4gIGFsbFNlbGVjdGVkKCkge1xuICAgIHJldHVybiB0aGlzLmNob2ljZXMubWFwKChjaG9pY2UpID0+IHRoaXMuaXNTZWxlY3RlZChjaG9pY2UpKS5yZWR1Y2UoKHAsIGMpID0+IHAgJiYgYywgdHJ1ZSk7XG4gIH1cblxuICBpc1NlbGVjdGVkKGNob2ljZTogeyBrZXk6IHN0cmluZzsgY2hpbGRyZW4/OiB7IGtleTogc3RyaW5nIH1bXSB9KTogYm9vbGVhbiB7XG4gICAgaWYgKCFjaG9pY2UuY2hpbGRyZW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlKCkuaW5jbHVkZXMoY2hvaWNlLmtleSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBjaG9pY2UuY2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gdGhpcy5pc1NlbGVjdGVkKGNoaWxkKSkucmVkdWNlKChwLCBjKSA9PiBwICYmIGMsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIGFsbFZhbHVlcygpIHtcbiAgICBjb25zdCBicmFuY2hlcyA9IHRoaXMuY2hvaWNlcy5maWx0ZXIoKGNob2ljZSkgPT4gY2hvaWNlLmNoaWxkcmVuKS5tYXAoKGNob2ljZSkgPT4gY2hvaWNlLmtleSk7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlc1xuICAgICAgLm1hcCgoY2hvaWNlKSA9PlxuICAgICAgICAhY2hvaWNlLmNoaWxkcmVuXG4gICAgICAgICAgPyBbY2hvaWNlLmtleV1cbiAgICAgICAgICA6IFsuLi5jaG9pY2UuY2hpbGRyZW4ubWFwKChjaGlsZCkgPT4gY2hpbGQua2V5KSwgLi4uKHRoaXMuYWRkTm9uTGVhdmVzID8gYnJhbmNoZXMgOiBbXSldXG4gICAgICApXG4gICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKTtcbiAgfVxuXG4gIGFzc2lnblZhbHVlKHZhbHVlczogc3RyaW5nW10pIHtcbiAgICBpZiAoIXRoaXMuaW5oaWJhdGUgfHwgdGhpcy5pbmhpYmF0ZSAhPT0gdGhpcy5maWx0ZXJTZXQpIHtcbiAgICAgIHRoaXMudHJpZ2dlckluaGliYXRlKCk7XG5cbiAgICAgIC8vIEFkZCBvciByZW1vdmVzIHRyZWUgYnJhbmNoZXMsIGFjY29yZGluZyB0byBjaGlsZHJlbiBzdGF0dXNlc1xuICAgICAgY29uc3QgYnJhbmNoZXMgPSB0aGlzLmNob2ljZXMuZmlsdGVyKChjaG9pY2UpID0+IGNob2ljZS5jaGlsZHJlbikubWFwKChjaG9pY2UpID0+IGNob2ljZS5rZXkpO1xuICAgICAgY29uc3Qgd2l0aG91dEJyYW5jaGVzID0gdmFsdWVzLmZpbHRlcigodmFsdWUpID0+ICFicmFuY2hlcy5pbmNsdWRlcyh2YWx1ZSkpO1xuICAgICAgY29uc3QgYWRkZWRCcmFuY2hWYWx1ZXMgPSB0aGlzLmNob2ljZXNcbiAgICAgICAgLmZpbHRlcigoY2hvaWNlKSA9PiBjaG9pY2UuY2hpbGRyZW4gJiYgIWNob2ljZS5jaGlsZHJlbi5maW5kKChjaGlsZCkgPT4gIXZhbHVlcy5pbmNsdWRlcyhjaGlsZC5rZXkpKSlcbiAgICAgICAgLm1hcCgoY2hvaWNlKSA9PiBjaG9pY2Uua2V5KTtcbiAgICAgIHRoaXMudmFsdWUuc2V0KFsuLi53aXRob3V0QnJhbmNoZXMsIC4uLih0aGlzLmFkZE5vbkxlYXZlcyA/IGFkZGVkQnJhbmNoVmFsdWVzIDogW10pXSk7XG5cbiAgICAgIHRoaXMuY2hhbmdlZC5uZXh0KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0cmlnZ2VySW5oaWJhdGUoKSB7XG4gICAgdGhpcy5pbmhpYmF0ZSA9IHRoaXMuZmlsdGVyU2V0O1xuICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaW5oaWJhdGUgPSB1bmRlZmluZWQpLCA1MCk7XG4gIH1cbn1cbiIsIjxidXR0b25cbiAgKGNsaWNrKT1cInRvZ2dsZU1vZGFsKClcIlxuICAjYnV0dG9uXG4gIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlciAtaG9yaXpvbnRhbFwiXG4gIFtjbGFzcy4taGlnaGxpZ2h0XT1cImRpc3BsYXlWYWx1ZSgpICE9PSAoYWxsTGFiZWwgfCBpMThuKVwiXG4gIFtjbGFzcy4tZm9jdXNdPVwib3ZlcmxheVJlZlwiXG4+XG4gIDxkaXYgY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX19jaG9pY2UtdmFsdWVcIj5cbiAgICA8c3BhbiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX2xhYmVsXCI+e3sgbGFiZWwgfCBpMThuIH19IDo8L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX192YWx1ZVwiIHR5cGU9XCJ0ZXh0XCIgaWQ9XCJzZWxlY3Rfe3sgaWQgfX1cIj57eyBkaXNwbGF5VmFsdWUoKSB9fTwvc3Bhbj5cbiAgPC9kaXY+XG4gIDxwcnktaWNvbiBbaWNvblN2Z109XCIhIW92ZXJsYXlSZWYgPyAnY2hldnJvbl90b3AnIDogJ2NoZXZyb25fYm90dG9tJ1wiIFt3aWR0aF09XCIxMFwiIFtoZWlnaHRdPVwiMTBcIj48L3ByeS1pY29uPlxuPC9idXR0b24+XG5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm0tY29udGV4dC1tZW51IG8taHZ5LWNob2ljZS1maWx0ZXJcIlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImNob2ljZVwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4gICAgaWQ9XCJjaG9pY2VcIlxuICAgIHJvbGU9XCJtZW51XCJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fYWxsXCI+XG4gICAgICA8cHJ5LWNoZWNrYm94IFtuZ01vZGVsXT1cImFsbFNlbGVjdGVkKClcIiAobmdNb2RlbENoYW5nZSk9XCJjbGlja0FsbCgpXCI+XG4gICAgICAgIDxzcGFuPnt7IGFsbExhYmVsIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgIDwvZGl2PlxuICAgIEBmb3IgKGVsdCBvZiBjaG9pY2VzOyB0cmFjayBlbHQua2V5KSB7XG4gICAgICBAaWYgKCFlbHQuY2hpbGRyZW4pIHtcbiAgICAgICAgPHByeS1jaGVja2JveCBbbmdNb2RlbF09XCJpc1NlbGVjdGVkKGVsdClcIiAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGUoZWx0KVwiIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fcm9vdFwiPlxuICAgICAgICAgIDxzcGFuPnt7IGkxOG5QcmVmaXggKyBlbHQua2V5IHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPHByeS1jaGVja2JveCBbbmdNb2RlbF09XCJpc1NlbGVjdGVkKGVsdClcIiAobmdNb2RlbENoYW5nZSk9XCJ0b2dnbGUoZWx0KVwiIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fcm9vdFwiPlxuICAgICAgICAgIDxzcGFuPnt7IGkxOG5QcmVmaXggKyBlbHQua2V5IHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICAgIEBmb3IgKGNoaWxkIG9mIGVsdC5jaGlsZHJlbjsgdHJhY2sgY2hpbGQua2V5KSB7XG4gICAgICAgICAgPHByeS1jaGVja2JveFxuICAgICAgICAgICAgW25nTW9kZWxdPVwiaXNTZWxlY3RlZChjaGlsZClcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlKGNoaWxkKVwiXG4gICAgICAgICAgICBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX2NoaWxkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Bhbj57eyBpMThuUHJlZml4ICsgY2hpbGQua2V5IHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICA8L3ByeS1jaGVja2JveD5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuIl19
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvaWNlLWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9maWx0ZXJzL2Nob2ljZS9jaG9pY2UtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvaHlwZXJ2aXNvci9zcmMvbGliL2V2ZW50L2ZpbHRlcnMvY2hvaWNlL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxRQUFRLEVBRVIsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsRUFHVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFXLGFBQWEsRUFBYyxNQUFNLHNCQUFzQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7O0FBWXJDLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxzQkFBc0I7YUFDeEQsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBeUJyQixZQUNVLEtBQVksRUFDWixPQUFnQixFQUNoQixnQkFBa0MsRUFDbEMsV0FBMkIsRUFDM0IsR0FBZTtRQUV2QixLQUFLLEVBQUUsQ0FBQztRQU5BLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsZ0JBQVcsR0FBWCxX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QUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs4R0EvSVUscUJBQXFCO2tHQUFyQixxQkFBcUIsMEtBRnJCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsMkdBYXZFLFdBQVcsb0RDMUM1QywyM0RBbURBOzsyRkRwQmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQixhQUVsQixDQUFDLEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztxTEFNN0YsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFd0MsUUFBUTtzQkFBckQsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgRWxlbWVudFJlZixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIHNpZ25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgV3JpdGFibGVTaWduYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIdnlVbml0RmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vaHZ5LXVuaXQtZmlsdGVyLmNsYXNzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgRXZlbnRTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudC9ldmVudC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgT3ZlcmxheSwgT3ZlcmxheUNvbmZpZywgT3ZlcmxheVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEh2eUNob2ljZUZpbHRlciA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W107XG59W107XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2h2eS1jaG9pY2UtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Nob2ljZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IEh2eVVuaXRGaWx0ZXJDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENob2ljZUZpbHRlckNvbXBvbmVudCkgfV1cbn0pXG5leHBvcnQgY2xhc3MgQ2hvaWNlRmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgSHZ5VW5pdEZpbHRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgaWRDb3VudGVyID0gMDtcbiAgaWQgPSAtMTtcblxuICBASW5wdXQoKSBhbGxMYWJlbDogc3RyaW5nID0gJ0BodnkuZXZlbnQuZmlsdGVyLmNob2ljZS5hbGwnO1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ25vLWxhYmVsLWRlZmluZWQnO1xuICBASW5wdXQoKSBpMThuUHJlZml4OiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYWRkTm9uTGVhdmVzOiBib29sZWFuID0gZmFsc2U7XG4gIHZhbHVlOiBXcml0YWJsZVNpZ25hbDxzdHJpbmdbXT4gPSBzaWduYWwoW10pO1xuICBASW5wdXQoKSBjaG9pY2VzOiBIdnlDaG9pY2VGaWx0ZXIgPSBbXTtcbiAgb3ZlcmxheVJlZj86IE92ZXJsYXlSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGluaGliYXRlPzogc3RyaW5nO1xuICBkaXNwbGF5VmFsdWUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKHRoaXMuYWxsU2VsZWN0ZWQoKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaTE4blNlcnZpY2UuaW5zdGFudCh0aGlzLmFsbExhYmVsKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsdWUoKS5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiB0aGlzLmkxOG5TZXJ2aWNlLmluc3RhbnQodGhpcy5pMThuUHJlZml4ICsgdGhpcy52YWx1ZSgpWzBdKTtcbiAgICB9XG4gICAgaWYgKHRoaXMudmFsdWUoKS5sZW5ndGggPj0gMCkge1xuICAgICAgcmV0dXJuIGAoJHt0aGlzLnZhbHVlKCkubGVuZ3RofSlgO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSBpMThuU2VydmljZTogUHJ5STE4blNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWY6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmlkID0gQ2hvaWNlRmlsdGVyQ29tcG9uZW50LmlkQ291bnRlcisrO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnN0b3JlLnNlbGVjdChFdmVudFNlbGVjdG9ycy5maWx0ZXJzKSwgdGhpcy5fZmlsdGVyU2V0JF0pLnN1YnNjcmliZSgoW2ZpbHRlcnMsIGZpbHRlclNldF0pID0+IHtcbiAgICAgICAgdGhpcy5hc3NpZ25WYWx1ZShcbiAgICAgICAgICAoZmlsdGVyc1tmaWx0ZXJTZXRdID8/IHt9KS5oYXNPd25Qcm9wZXJ0eSh0aGlzLnByb3ApXG4gICAgICAgICAgICA/IGZpbHRlcnNbZmlsdGVyU2V0XVt0aGlzLnByb3BdLmxlbmd0aCA9PT0gMSAmJiBmaWx0ZXJzW2ZpbHRlclNldF1bdGhpcy5wcm9wXVswXSA9PT0gJydcbiAgICAgICAgICAgICAgPyBbXVxuICAgICAgICAgICAgICA6IGZpbHRlcnNbZmlsdGVyU2V0XVt0aGlzLnByb3BdXG4gICAgICAgICAgICA6IHRoaXMuYWxsVmFsdWVzKClcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGdldFBhcmFtcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0ge1xuICAgIGlmICh0aGlzLnZhbHVlKCkubGVuZ3RoID09PSB0aGlzLmFsbFZhbHVlcygpLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICByZXR1cm4geyBbdGhpcy5wcm9wXTogdGhpcy52YWx1ZSgpLmxlbmd0aCA9PT0gMCA/IFsnJ10gOiB0aGlzLnZhbHVlKCkgfTtcbiAgfVxuXG4gIHRvZ2dsZU1vZGFsKCkge1xuICAgIGlmICghdGhpcy5vdmVybGF5UmVmKSB7XG4gICAgICB0aGlzLnRyaWdnZXJJbmhpYmF0ZSgpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmID0gdGhpcy5vdmVybGF5LmNyZWF0ZShcbiAgICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdiYWNrZHJvcCcsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydtLWNvbnRleHQtbWVudS13cmFwcGVyJywgJ28tY2hvaWNlLWZpbHRlci1wb3B1cCddXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVNb2RhbCgpKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgICAgY29uc3QgY29udGV4dE1lbnUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuby1jaG9pY2UtZmlsdGVyLXBvcHVwJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFjb250ZXh0TWVudSkge1xuICAgICAgICBjb25zdCByZWN0ID0gdGhpcy5yZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgY29udGV4dE1lbnUuc3R5bGUubGVmdCA9IHJlY3QueCArICdweCc7XG4gICAgICAgIGNvbnRleHRNZW51LnN0eWxlLm1pbldpZHRoID0gcmVjdC5yaWdodCAtIHJlY3QueCArICdweCc7XG4gICAgICAgIGNvbnRleHRNZW51LnN0eWxlLnRvcCA9IHJlY3QuYm90dG9tICsgJ3B4JztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjbGlja0FsbCgpIHtcbiAgICBpZiAodGhpcy5hbGxTZWxlY3RlZCgpKSB7XG4gICAgICB0aGlzLmFzc2lnblZhbHVlKFtdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5hc3NpZ25WYWx1ZSh0aGlzLmFsbFZhbHVlcygpKTtcbiAgICB9XG4gIH1cblxuICB0b2dnbGUoZWx0OiB7IGtleTogc3RyaW5nOyBjaGlsZHJlbj86IHsga2V5OiBzdHJpbmcgfVtdIH0pIHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGVkKGVsdCk7XG4gICAgY29uc3QgZWx0U3ViS2V5cyA9ICFlbHQuY2hpbGRyZW4gPyBbZWx0LmtleV0gOiBlbHQuY2hpbGRyZW4ubWFwKChjaCkgPT4gY2gua2V5KTtcbiAgICBpZiAoIWlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMuYXNzaWduVmFsdWUoWy4uLm5ldyBTZXQoWy4uLnRoaXMudmFsdWUoKSwgLi4uZWx0U3ViS2V5c10pXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXNzaWduVmFsdWUodGhpcy52YWx1ZSgpLmZpbHRlcigodikgPT4gIWVsdFN1YktleXMuaW5jbHVkZXModikpKTtcbiAgICB9XG4gIH1cblxuICBhbGxTZWxlY3RlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiB0aGlzLmlzU2VsZWN0ZWQoY2hvaWNlKSkucmVkdWNlKChwLCBjKSA9PiBwICYmIGMsIHRydWUpO1xuICB9XG5cbiAgaXNTZWxlY3RlZChjaG9pY2U6IHsga2V5OiBzdHJpbmc7IGNoaWxkcmVuPzogeyBrZXk6IHN0cmluZyB9W10gfSk6IGJvb2xlYW4ge1xuICAgIGlmICghY2hvaWNlLmNoaWxkcmVuKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZSgpLmluY2x1ZGVzKGNob2ljZS5rZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY2hvaWNlLmNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IHRoaXMuaXNTZWxlY3RlZChjaGlsZCkpLnJlZHVjZSgocCwgYykgPT4gcCAmJiBjLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBhbGxWYWx1ZXMoKSB7XG4gICAgY29uc3QgYnJhbmNoZXMgPSB0aGlzLmNob2ljZXMuZmlsdGVyKChjaG9pY2UpID0+IGNob2ljZS5jaGlsZHJlbikubWFwKChjaG9pY2UpID0+IGNob2ljZS5rZXkpO1xuICAgIHJldHVybiB0aGlzLmNob2ljZXNcbiAgICAgIC5tYXAoKGNob2ljZSkgPT5cbiAgICAgICAgIWNob2ljZS5jaGlsZHJlblxuICAgICAgICAgID8gW2Nob2ljZS5rZXldXG4gICAgICAgICAgOiBbLi4uY2hvaWNlLmNoaWxkcmVuLm1hcCgoY2hpbGQpID0+IGNoaWxkLmtleSksIC4uLih0aGlzLmFkZE5vbkxlYXZlcyA/IGJyYW5jaGVzIDogW10pXVxuICAgICAgKVxuICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSk7XG4gIH1cblxuICBhc3NpZ25WYWx1ZSh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCF0aGlzLmluaGliYXRlIHx8IHRoaXMuaW5oaWJhdGUgIT09IHRoaXMuZmlsdGVyU2V0KSB7XG4gICAgICB0aGlzLnRyaWdnZXJJbmhpYmF0ZSgpO1xuXG4gICAgICAvLyBBZGQgb3IgcmVtb3ZlcyB0cmVlIGJyYW5jaGVzLCBhY2NvcmRpbmcgdG8gY2hpbGRyZW4gc3RhdHVzZXNcbiAgICAgIGNvbnN0IGJyYW5jaGVzID0gdGhpcy5jaG9pY2VzLmZpbHRlcigoY2hvaWNlKSA9PiBjaG9pY2UuY2hpbGRyZW4pLm1hcCgoY2hvaWNlKSA9PiBjaG9pY2Uua2V5KTtcbiAgICAgIGNvbnN0IHdpdGhvdXRCcmFuY2hlcyA9IHZhbHVlcy5maWx0ZXIoKHZhbHVlKSA9PiAhYnJhbmNoZXMuaW5jbHVkZXModmFsdWUpKTtcbiAgICAgIGNvbnN0IGFkZGVkQnJhbmNoVmFsdWVzID0gdGhpcy5jaG9pY2VzXG4gICAgICAgIC5maWx0ZXIoKGNob2ljZSkgPT4gY2hvaWNlLmNoaWxkcmVuICYmICFjaG9pY2UuY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+ICF2YWx1ZXMuaW5jbHVkZXMoY2hpbGQua2V5KSkpXG4gICAgICAgIC5tYXAoKGNob2ljZSkgPT4gY2hvaWNlLmtleSk7XG4gICAgICB0aGlzLnZhbHVlLnNldChbLi4ud2l0aG91dEJyYW5jaGVzLCAuLi4odGhpcy5hZGROb25MZWF2ZXMgPyBhZGRlZEJyYW5jaFZhbHVlcyA6IFtdKV0pO1xuXG4gICAgICB0aGlzLmNoYW5nZWQubmV4dCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJpZ2dlckluaGliYXRlKCkge1xuICAgIHRoaXMuaW5oaWJhdGUgPSB0aGlzLmZpbHRlclNldDtcbiAgICBzZXRUaW1lb3V0KCgpID0+ICh0aGlzLmluaGliYXRlID0gdW5kZWZpbmVkKSwgNTApO1xuICB9XG59XG4iLCI8YnV0dG9uXG4gIChjbGljayk9XCJ0b2dnbGVNb2RhbCgpXCJcbiAgI2J1dHRvblxuICBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXIgLWhvcml6b250YWxcIlxuICBbY2xhc3MuLWhpZ2hsaWdodF09XCJkaXNwbGF5VmFsdWUoKSAhPT0gKGFsbExhYmVsIHwgaTE4bilcIlxuICBbY2xhc3MuLW5vLXZhbHVlXT1cImRpc3BsYXlWYWx1ZSgpPT09JygwKSdcIlxuICBbY2xhc3MuLWZvY3VzXT1cIm92ZXJsYXlSZWZcIlxuPlxuICA8ZGl2IGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fY2hvaWNlLXZhbHVlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX19sYWJlbFwiPnt7IGxhYmVsIHwgaTE4biB9fSA6PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwiby1odnktY2hvaWNlLWZpbHRlcl9fdmFsdWVcIiB0eXBlPVwidGV4dFwiIGlkPVwic2VsZWN0X3t7IGlkIH19XCI+e3sgZGlzcGxheVZhbHVlKCkgfX08L3NwYW4+XG4gIDwvZGl2PlxuICA8cHJ5LWljb24gW2ljb25TdmddPVwiISFvdmVybGF5UmVmID8gJ2NoZXZyb25fdG9wJyA6ICdjaGV2cm9uX2JvdHRvbSdcIiBbd2lkdGhdPVwiMTBcIiBbaGVpZ2h0XT1cIjEwXCI+PC9wcnktaWNvbj5cbjwvYnV0dG9uPlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJtLWNvbnRleHQtbWVudSBvLWh2eS1jaG9pY2UtZmlsdGVyXCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJjaG9pY2VcIlxuICAgIHRhYmluZGV4PVwiLTFcIlxuICAgIGlkPVwiY2hvaWNlXCJcbiAgICByb2xlPVwibWVudVwiXG4gICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX2FsbFwiPlxuICAgICAgPHByeS1jaGVja2JveCBbbmdNb2RlbF09XCJhbGxTZWxlY3RlZCgpXCIgKG5nTW9kZWxDaGFuZ2UpPVwiY2xpY2tBbGwoKVwiPlxuICAgICAgICA8c3Bhbj57eyBhbGxMYWJlbCB8IGkxOG4gfX08L3NwYW4+XG4gICAgICA8L3ByeS1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICBAZm9yIChlbHQgb2YgY2hvaWNlczsgdHJhY2sgZWx0LmtleSkge1xuICAgICAgQGlmICghZWx0LmNoaWxkcmVuKSB7XG4gICAgICAgIDxwcnktY2hlY2tib3ggW25nTW9kZWxdPVwiaXNTZWxlY3RlZChlbHQpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlKGVsdClcIiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX3Jvb3RcIj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuUHJlZml4ICsgZWx0LmtleSB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxwcnktY2hlY2tib3ggW25nTW9kZWxdPVwiaXNTZWxlY3RlZChlbHQpXCIgKG5nTW9kZWxDaGFuZ2UpPVwidG9nZ2xlKGVsdClcIiBjbGFzcz1cIm8taHZ5LWNob2ljZS1maWx0ZXJfX3Jvb3RcIj5cbiAgICAgICAgICA8c3Bhbj57eyBpMThuUHJlZml4ICsgZWx0LmtleSB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvcHJ5LWNoZWNrYm94PlxuICAgICAgICBAZm9yIChjaGlsZCBvZiBlbHQuY2hpbGRyZW47IHRyYWNrIGNoaWxkLmtleSkge1xuICAgICAgICAgIDxwcnktY2hlY2tib3hcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cImlzU2VsZWN0ZWQoY2hpbGQpXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInRvZ2dsZShjaGlsZClcIlxuICAgICAgICAgICAgY2xhc3M9XCJvLWh2eS1jaG9pY2UtZmlsdGVyX19jaGlsZFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+e3sgaTE4blByZWZpeCArIGNoaWxkLmtleSB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgPC9wcnktY2hlY2tib3g+XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -16,7 +16,7 @@ export class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
16
16
|
}
|
|
17
17
|
filter() {
|
|
18
18
|
let filters = this.filters.map((filter) => filter.getParams()).reduce((p, c) => ({ ...p, ...c }), {});
|
|
19
|
-
if (this.filterSet
|
|
19
|
+
if (this.filterSet !== 'events') {
|
|
20
20
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
21
21
|
}
|
|
22
22
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -25,7 +25,7 @@ export class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
25
25
|
}
|
|
26
26
|
reset() {
|
|
27
27
|
let filters = {};
|
|
28
|
-
if (this.filterSet
|
|
28
|
+
if (this.filterSet !== 'events') {
|
|
29
29
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
30
30
|
}
|
|
31
31
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -46,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImpor
|
|
|
46
46
|
}], filtered: [{
|
|
47
47
|
type: Output
|
|
48
48
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtZmlsdGVycy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2h5cGVydmlzb3Ivc3JjL2xpYi9ldmVudC9maWx0ZXJzL29uL2NsaWNrL2V2ZW50LWZpbHRlcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9oeXBlcnZpc29yL3NyYy9saWIvZXZlbnQvZmlsdGVycy9vbi9jbGljay9ldmVudC1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsSCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7QUFNckUsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHdCQUF3QjtJQUtqRSxZQUFvQixLQUFZO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBRFUsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUp2QixjQUFTLEdBQUcsUUFBUSxDQUFDO1FBRXBCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO0lBSTlDLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RHLElBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsRUFBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLElBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMvQixPQUFPLEdBQUcsRUFBQyxHQUFHLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQztRQUNqRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxXQUFXLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OEdBL0JVLHFCQUFxQjtrR0FBckIscUJBQXFCLHlPQ1ZsQyxxZkFZQTs7MkZERmEscUJBQXFCO2tCQUpqQyxTQUFTOytCQUNFLG1CQUFtQjswRUFJcEIsU0FBUztzQkFBakIsS0FBSztnQkFDNEMsT0FBTztzQkFBeEQsZUFBZTt1QkFBQyxRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUN0QyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGRyZW4sIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgSHZ5VW5pdEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2h2eS11bml0LWZpbHRlci5jbGFzcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEV2ZW50QWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2V2ZW50L2V2ZW50LmFjdGlvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdodnktZXZlbnQtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi9ldmVudC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBFdmVudEZpbHRlcnNDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgZmlsdGVyU2V0ID0gJ2dsb2JhbCc7XG4gIEBDb250ZW50Q2hpbGRyZW4oJ2ZpbHRlcicsIHsgZGVzY2VuZGFudHM6IHRydWUgfSkgZmlsdGVycyE6IFF1ZXJ5TGlzdDxIdnlVbml0RmlsdGVyQ29tcG9uZW50PjtcbiAgQE91dHB1dCgpIGZpbHRlcmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmZpbHRlcnMuZm9yRWFjaCgoZmlsdGVyKSA9PiAoZmlsdGVyLmZpbHRlclNldCA9IHRoaXMuZmlsdGVyU2V0KSk7XG4gIH1cblxuICBmaWx0ZXIoKSB7XG4gICAgbGV0IGZpbHRlcnMgPSB0aGlzLmZpbHRlcnMubWFwKChmaWx0ZXIpID0+IGZpbHRlci5nZXRQYXJhbXMoKSkucmVkdWNlKChwLCBjKSA9PiAoeyAuLi5wLCAuLi5jIH0pLCB7fSk7XG4gICAgaWYodGhpcy5maWx0ZXJTZXQgIT09ICdldmVudHMnKSB7XG4gICAgICBmaWx0ZXJzID0gey4uLmZpbHRlcnMsIFsnZGVsZXRlZCddOiBbJ2ZhbHNlJ119O1xuICAgIH1cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEV2ZW50QWN0aW9ucy5maWx0ZXIoeyBmaWx0ZXJzLCBmaWx0ZXJTZXQ6IHRoaXMuZmlsdGVyU2V0IH0pKTtcbiAgICB0aGlzLmZpbHRlcmVkLm5leHQoKTtcbiAgICB3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2ZvcmNlQ2xvc2VNYXBUb29sdGlwJykpO1xuICB9XG5cbiAgcmVzZXQoKSB7XG4gICAgbGV0IGZpbHRlcnMgPSB7fTtcbiAgICBpZih0aGlzLmZpbHRlclNldCAhPT0gJ2V2ZW50cycpIHtcbiAgICAgIGZpbHRlcnMgPSB7Li4uZmlsdGVycywgWydkZWxldGVkJ106IFsnZmFsc2UnXX07XG4gICAgfVxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRXZlbnRBY3Rpb25zLmZpbHRlcih7IGZpbHRlcnMsIGZpbHRlclNldDogdGhpcy5maWx0ZXJTZXQgfSkpO1xuICAgIHRoaXMuZmlsdGVyZWQubmV4dCgpO1xuICAgIHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnZm9yY2VDbG9zZU1hcFRvb2x0aXAnKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvLWh2eS1ldmVudC1maWx0ZXJzXCI+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPGRpdiBjbGFzcz1cIm8taHZ5LWV2ZW50LWZpbHRlcnNfX2J1dHRvbnNcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCIgW3RpdGxlXT1cIidAaHZ5LmV2ZW50LmZpbHRlci5yZXNldCcgfCBpMThuXCI+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlc2V0X2ZpbHRlcl9ldmVudFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiZmlsdGVyKClcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCI+XG4gICAgICB7eyAnQGh2eS5ldmVudC5maWx0ZXIubmFtZScgfCBpMThuIH19XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV2ZW50X2ZpbHRlclwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -2625,7 +2625,7 @@ class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
2625
2625
|
}
|
|
2626
2626
|
filter() {
|
|
2627
2627
|
let filters = this.filters.map((filter) => filter.getParams()).reduce((p, c) => ({ ...p, ...c }), {});
|
|
2628
|
-
if (this.filterSet
|
|
2628
|
+
if (this.filterSet !== 'events') {
|
|
2629
2629
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
2630
2630
|
}
|
|
2631
2631
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -2634,7 +2634,7 @@ class EventFiltersComponent extends SubscriptionnerDirective {
|
|
|
2634
2634
|
}
|
|
2635
2635
|
reset() {
|
|
2636
2636
|
let filters = {};
|
|
2637
|
-
if (this.filterSet
|
|
2637
|
+
if (this.filterSet !== 'events') {
|
|
2638
2638
|
filters = { ...filters, ['deleted']: ['false'] };
|
|
2639
2639
|
}
|
|
2640
2640
|
this.store.dispatch(EventActions.filter({ filters, filterSet: this.filterSet }));
|
|
@@ -2768,12 +2768,12 @@ class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
2768
2768
|
if (this.allSelected()) {
|
|
2769
2769
|
return this.i18nService.instant(this.allLabel);
|
|
2770
2770
|
}
|
|
2771
|
-
if (this.value().length > 1) {
|
|
2772
|
-
return `(${this.value().length})`;
|
|
2773
|
-
}
|
|
2774
2771
|
if (this.value().length === 1) {
|
|
2775
2772
|
return this.i18nService.instant(this.i18nPrefix + this.value()[0]);
|
|
2776
2773
|
}
|
|
2774
|
+
if (this.value().length >= 0) {
|
|
2775
|
+
return `(${this.value().length})`;
|
|
2776
|
+
}
|
|
2777
2777
|
return '';
|
|
2778
2778
|
});
|
|
2779
2779
|
this.id = ChoiceFilterComponent.idCounter++;
|
|
@@ -2871,11 +2871,11 @@ class ChoiceFilterComponent extends HvyUnitFilterComponent {
|
|
|
2871
2871
|
setTimeout(() => (this.inhibate = undefined), 50);
|
|
2872
2872
|
}
|
|
2873
2873
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, deps: [{ token: i1$1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i1$3.PryI18nService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2874
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$3.I18nPipe, name: "i18n" }] }); }
|
|
2874
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.6", type: ChoiceFilterComponent, selector: "hvy-choice-filter", inputs: { allLabel: "allLabel", label: "label", i18nPrefix: "i18nPrefix", addNonLeaves: "addNonLeaves", choices: "choices" }, providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i1$4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$3.I18nPipe, name: "i18n" }] }); }
|
|
2875
2875
|
}
|
|
2876
2876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.6", ngImport: i0, type: ChoiceFilterComponent, decorators: [{
|
|
2877
2877
|
type: Component,
|
|
2878
|
-
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
2878
|
+
args: [{ selector: 'hvy-choice-filter', providers: [{ provide: HvyUnitFilterComponent, useExisting: forwardRef(() => ChoiceFilterComponent) }], template: "<button\n (click)=\"toggleModal()\"\n #button\n class=\"o-hvy-choice-filter -horizontal\"\n [class.-highlight]=\"displayValue() !== (allLabel | i18n)\"\n [class.-no-value]=\"displayValue()==='(0)'\"\n [class.-focus]=\"overlayRef\"\n>\n <div class=\"o-hvy-choice-filter__choice-value\">\n <span class=\"o-hvy-choice-filter__label\">{{ label | i18n }} :</span>\n <span class=\"o-hvy-choice-filter__value\" type=\"text\" id=\"select_{{ id }}\">{{ displayValue() }}</span>\n </div>\n <pry-icon [iconSvg]=\"!!overlayRef ? 'chevron_top' : 'chevron_bottom'\" [width]=\"10\" [height]=\"10\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div\n class=\"m-context-menu o-hvy-choice-filter\"\n aria-labelledby=\"choice\"\n tabindex=\"-1\"\n id=\"choice\"\n role=\"menu\"\n aria-modal=\"true\"\n >\n <div class=\"o-hvy-choice-filter__all\">\n <pry-checkbox [ngModel]=\"allSelected()\" (ngModelChange)=\"clickAll()\">\n <span>{{ allLabel | i18n }}</span>\n </pry-checkbox>\n </div>\n @for (elt of choices; track elt.key) {\n @if (!elt.children) {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n } @else {\n <pry-checkbox [ngModel]=\"isSelected(elt)\" (ngModelChange)=\"toggle(elt)\" class=\"o-hvy-choice-filter__root\">\n <span>{{ i18nPrefix + elt.key | i18n }}</span>\n </pry-checkbox>\n @for (child of elt.children; track child.key) {\n <pry-checkbox\n [ngModel]=\"isSelected(child)\"\n (ngModelChange)=\"toggle(child)\"\n class=\"o-hvy-choice-filter__child\"\n >\n <span>{{ i18nPrefix + child.key | i18n }}</span>\n </pry-checkbox>\n }\n }\n }\n </div>\n</ng-template>\n" }]
|
|
2879
2879
|
}], ctorParameters: () => [{ type: i1$1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i1$3.PryI18nService }, { type: i0.ElementRef }], propDecorators: { allLabel: [{
|
|
2880
2880
|
type: Input
|
|
2881
2881
|
}], label: [{
|