@onecx/angular-accelerator 5.2.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/data-list-grid/data-list-grid.component.mjs +7 -1
- package/esm2022/lib/components/data-table/data-table.component.mjs +8 -1
- package/esm2022/lib/components/search-header/search-header.component.mjs +9 -3
- package/esm2022/lib/services/breadcrumb.service.mjs +26 -11
- package/fesm2022/onecx-angular-accelerator.mjs +46 -13
- package/fesm2022/onecx-angular-accelerator.mjs.map +1 -1
- package/lib/components/data-list-grid/data-list-grid.component.d.ts +1 -0
- package/lib/components/data-table/data-table.component.d.ts +1 -0
- package/lib/components/search-header/search-header.component.d.ts +3 -1
- package/lib/services/breadcrumb.service.d.ts +1 -1
- package/package.json +1 -1
|
@@ -17,6 +17,8 @@ export class SearchHeaderComponent {
|
|
|
17
17
|
this.viewMode = 'basic';
|
|
18
18
|
this.manualBreadcrumbs = false;
|
|
19
19
|
this._actions = [];
|
|
20
|
+
this.searchButtonDisabled = false;
|
|
21
|
+
this.resetButtonDisabled = false;
|
|
20
22
|
this.searched = new EventEmitter();
|
|
21
23
|
this.resetted = new EventEmitter();
|
|
22
24
|
this.selectedSearchConfigChanged = new EventEmitter();
|
|
@@ -96,11 +98,11 @@ export class SearchHeaderComponent {
|
|
|
96
98
|
this.selectedSearchConfigChanged?.emit(searchConfig);
|
|
97
99
|
}
|
|
98
100
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SearchHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SearchHeaderComponent, selector: "ocx-search-header", inputs: { searchConfigs: "searchConfigs", header: "header", headline: "headline", subheader: "subheader", viewMode: "viewMode", manualBreadcrumbs: "manualBreadcrumbs", actions: "actions" }, outputs: { searched: "searched", resetted: "resetted", selectedSearchConfigChanged: "selectedSearchConfigChanged", viewModeChanged: "viewModeChanged" }, queries: [{ propertyName: "additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true }, { propertyName: "additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true }], viewQueries: [{ propertyName: "searchParameterFields", first: true, predicate: ["searchParameterFields"], descendants: true }], ngImport: i0, template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SearchHeaderComponent, selector: "ocx-search-header", inputs: { searchConfigs: "searchConfigs", header: "header", headline: "headline", subheader: "subheader", viewMode: "viewMode", manualBreadcrumbs: "manualBreadcrumbs", actions: "actions", searchButtonDisabled: "searchButtonDisabled", resetButtonDisabled: "resetButtonDisabled" }, outputs: { searched: "searched", resetted: "resetted", selectedSearchConfigChanged: "selectedSearchConfigChanged", viewModeChanged: "viewModeChanged" }, queries: [{ propertyName: "additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true }, { propertyName: "additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true }], viewQueries: [{ propertyName: "searchParameterFields", first: true, predicate: ["searchParameterFields"], descendants: true }], ngImport: i0, template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container\n *ngIf=\"_additionalToolbarContentLeft\"\n [ngTemplateOutlet]=\"_additionalToolbarContentLeft\"\n ></ng-container>\n </ng-template>\n <ng-template #additionalToolbarContent>\n <ng-container *ngIf=\"_additionalToolbarContent\" [ngTemplateOutlet]=\"_additionalToolbarContent\"></ng-container>\n </ng-template>\n <div class=\"search-criteria-container\">\n <div #searchParameterFields>\n <ng-content></ng-content>\n <div class=\"search-criteria-buttons\">\n <p-button\n id=\"resetButton\"\n *ngIf=\"resetted.observed\"\n (onClick)=\"onResetClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-eraser\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"resetButtonDisabled\"\n >\n </p-button>\n\n <p-button\n id=\"searchButton\"\n (onClick)=\"onSearchClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-search\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"searchButtonDisabled\"\n >\n </p-button>\n </div>\n </div>\n </div>\n</ocx-page-header>\n", styles: [".search-criteria-buttons{display:flex;flex-flow:row;align-items:flex-start;gap:.5rem;margin-top:.5rem}.search-criteria-container{width:100%;display:flex}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i3.SearchConfigComponent, selector: "ocx-search-config", inputs: ["searchConfigs", "placeholderKey"], outputs: ["selectedSearchConfigChanged"] }, { kind: "component", type: i4.PageHeaderComponent, selector: "ocx-page-header", inputs: ["header", "loading", "figureBackground", "showFigure", "figureImage", "disableDefaultActions", "subheader", "actions", "objectDetails", "showBreadcrumbs", "manualBreadcrumbs", "enableGridView", "gridLayoutDesktopColumns"], outputs: ["save"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
|
100
102
|
}
|
|
101
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SearchHeaderComponent, decorators: [{
|
|
102
104
|
type: Component,
|
|
103
|
-
args: [{ selector: 'ocx-search-header', template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container
|
|
105
|
+
args: [{ selector: 'ocx-search-header', template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container\n *ngIf=\"_additionalToolbarContentLeft\"\n [ngTemplateOutlet]=\"_additionalToolbarContentLeft\"\n ></ng-container>\n </ng-template>\n <ng-template #additionalToolbarContent>\n <ng-container *ngIf=\"_additionalToolbarContent\" [ngTemplateOutlet]=\"_additionalToolbarContent\"></ng-container>\n </ng-template>\n <div class=\"search-criteria-container\">\n <div #searchParameterFields>\n <ng-content></ng-content>\n <div class=\"search-criteria-buttons\">\n <p-button\n id=\"resetButton\"\n *ngIf=\"resetted.observed\"\n (onClick)=\"onResetClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-eraser\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"resetButtonDisabled\"\n >\n </p-button>\n\n <p-button\n id=\"searchButton\"\n (onClick)=\"onSearchClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-search\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"searchButtonDisabled\"\n >\n </p-button>\n </div>\n </div>\n </div>\n</ocx-page-header>\n", styles: [".search-criteria-buttons{display:flex;flex-flow:row;align-items:flex-start;gap:.5rem;margin-top:.5rem}.search-criteria-container{width:100%;display:flex}\n"] }]
|
|
104
106
|
}], propDecorators: { searchConfigs: [{
|
|
105
107
|
type: Input
|
|
106
108
|
}], header: [{
|
|
@@ -115,6 +117,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
115
117
|
type: Input
|
|
116
118
|
}], actions: [{
|
|
117
119
|
type: Input
|
|
120
|
+
}], searchButtonDisabled: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], resetButtonDisabled: [{
|
|
123
|
+
type: Input
|
|
118
124
|
}], searched: [{
|
|
119
125
|
type: Output
|
|
120
126
|
}], resetted: [{
|
|
@@ -133,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
133
139
|
type: ViewChild,
|
|
134
140
|
args: ['searchParameterFields']
|
|
135
141
|
}] } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1oZWFkZXIvc2VhcmNoLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1oZWFkZXIvc2VhcmNoLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7Ozs7Ozs7QUFJdEI7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBT1csV0FBTSxHQUFHLEVBQUUsQ0FBQTtRQWFYLGFBQVEsR0FBeUIsT0FBTyxDQUFBO1FBQ3hDLHNCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUNsQyxhQUFRLEdBQWEsRUFBRSxDQUFBO1FBVWIsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2hELGFBQVEsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNoRCxnQ0FBMkIsR0FBbUMsSUFBSSxZQUFZLEVBQUUsQ0FBQTtRQUNoRixvQkFBZSxHQUF1QyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBZ0JsRixnQkFBVyxHQUFHLEtBQUssQ0FBQTtRQUNuQixrQkFBYSxHQUFhLEVBQUUsQ0FBQTtLQTREN0I7SUF2R0M7O09BRUc7SUFDSCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7SUFDckIsQ0FBQztJQUtELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQTtJQUN0QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsS0FBSztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFBO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFBO0lBQzVCLENBQUM7SUFTRCxJQUFJLHlCQUF5QjtRQUMzQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQTtJQUN0QyxDQUFDO0lBSUQsSUFBSSw2QkFBNkI7UUFDL0IsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUE7SUFDMUMsQ0FBQztJQU9ELGVBQWU7UUFDYixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUM5QixDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO1FBQ2hFLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUN6QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtRQUMxQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQTtJQUNoRCxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFBO0lBQ3RCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsTUFBTSxhQUFhLEdBQWEsRUFBRSxDQUFBO1FBQ2xDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLGFBQWEsQ0FBQyxJQUFJLENBQUM7Z0JBQ2pCLEVBQUUsRUFBRSxzQkFBc0I7Z0JBQzFCLFFBQVEsRUFDTixJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU87b0JBQ3ZCLENBQUMsQ0FBQywrQ0FBK0M7b0JBQ2pELENBQUMsQ0FBQyw2Q0FBNkM7Z0JBQ25ELGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUMzQyxJQUFJLEVBQUUsUUFBUTtnQkFDZCxRQUFRLEVBQ04sSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPO29CQUN2QixDQUFDLENBQUMsaURBQWlEO29CQUNuRCxDQUFDLENBQUMsK0NBQStDO2FBQ3RELENBQUMsQ0FBQTtRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3pELENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUN6RixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBaUIsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ2hDLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtnQkFDakYsWUFBWSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUE7WUFDbkMsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFVO1FBQ3RCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUE7UUFDeEIsQ0FBQztJQUNILENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxZQUE4QjtRQUNoRCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBQ3RELENBQUM7OEdBMUdVLHFCQUFxQjtrR0FBckIscUJBQXFCLGl4QkN6QmxDLDJ1REEwQ0E7OzJGRGpCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsbUJBQW1COzhCQUtwQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFNRixRQUFRO3NCQURYLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRixPQUFPO3NCQURWLEtBQUs7Z0JBU0ksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNHLDJCQUEyQjtzQkFBcEMsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUVQLHdCQUF3QjtzQkFEdkIsWUFBWTt1QkFBQywwQkFBMEI7Z0JBT3hDLDRCQUE0QjtzQkFEM0IsWUFBWTt1QkFBQyw4QkFBOEI7Z0JBT1IscUJBQXFCO3NCQUF4RCxTQUFTO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuLi9wYWdlLWhlYWRlci9wYWdlLWhlYWRlci5jb21wb25lbnQnXG5pbXBvcnQgeyBTZWFyY2hDb25maWdJbmZvIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2VhcmNoLWNvbmZpZy1pbmZvJ1xuXG4vKipcbiAqIFRvIHRyaWdnZXIgdGhlIHNlYXJjaCB3aGVuIEVudGVyIGtleSBpcyBwcmVzc2VkIGluc2lkZSBhIHNlYXJjaCBwYXJhbWV0ZXIgZmllbGQsXG4gKiBhbiBFdmVudExpc3RlbmVyIGZvciBrZXl1cCBlbnRlciBldmVudCBpcyBhZGRlZCBmb3IgSFRNTCBlbGVtZW50cyB3aGljaCBoYXZlIGFuIGlucHV0LlxuICogUGxlYXNlIGFkZCB0aGUgRXZlbnRMaXN0ZW5lciB5b3Vyc2VsZiBtYW51YWxseSwgaWYgeW91IHdhbnQgdG8gaGF2ZSB0aGF0IGZ1bmN0aW9uYWxpdHkgZm9yIHNvbWUgb3RoZXIgZWxlbWVudHNcbiAqIHdoaWNoIGRvIG5vdCBoYXZlIGFuIGlucHV0IGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ29jeC1zZWFyY2gtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBzZWFyY2hDb25maWdzOiBTZWFyY2hDb25maWdJbmZvW10gfCB1bmRlZmluZWRcbiAgQElucHV0KCkgaGVhZGVyID0gJydcblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZXBsYWNlZCBieSBoZWFkZXJcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBoZWFkbGluZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmhlYWRlclxuICB9XG4gIHNldCBoZWFkbGluZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5oZWFkZXIgPSB2YWx1ZVxuICB9XG4gIEBJbnB1dCgpIHN1YmhlYWRlcjogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpIHZpZXdNb2RlOiAnYmFzaWMnIHwgJ2FkdmFuY2VkJyA9ICdiYXNpYydcbiAgQElucHV0KCkgbWFudWFsQnJlYWRjcnVtYnMgPSBmYWxzZVxuICBfYWN0aW9uczogQWN0aW9uW10gPSBbXVxuICBASW5wdXQoKVxuICBnZXQgYWN0aW9ucygpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9uc1xuICB9XG4gIHNldCBhY3Rpb25zKHZhbHVlKSB7XG4gICAgdGhpcy5fYWN0aW9ucyA9IHZhbHVlXG4gICAgdGhpcy51cGRhdGVIZWFkZXJBY3Rpb25zKClcbiAgfVxuXG4gIEBPdXRwdXQoKSBzZWFyY2hlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIHJlc2V0dGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAT3V0cHV0KCkgc2VsZWN0ZWRTZWFyY2hDb25maWdDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8U2VhcmNoQ29uZmlnSW5mbz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIHZpZXdNb2RlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPCdiYXNpYycgfCAnYWR2YW5jZWQnPiA9IG5ldyBFdmVudEVtaXR0ZXIoKVxuICBAQ29udGVudENoaWxkKCdhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnQnKVxuICBhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWRcblxuICBnZXQgX2FkZGl0aW9uYWxUb29sYmFyQ29udGVudCgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRcbiAgfVxuICBAQ29udGVudENoaWxkKCdhZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRMZWZ0JylcbiAgYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdDogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZFxuXG4gIGdldCBfYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdCgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5hZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRMZWZ0XG4gIH1cblxuICBAVmlld0NoaWxkKCdzZWFyY2hQYXJhbWV0ZXJGaWVsZHMnKSBzZWFyY2hQYXJhbWV0ZXJGaWVsZHM6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWRcblxuICBoYXNBZHZhbmNlZCA9IGZhbHNlXG4gIGhlYWRlckFjdGlvbnM6IEFjdGlvbltdID0gW11cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRLZXlVcEV2ZW50TGlzdGVuZXIoKVxuICB9XG5cbiAgdG9nZ2xlVmlld01vZGUoKSB7XG4gICAgdGhpcy52aWV3TW9kZSA9IHRoaXMudmlld01vZGUgPT09ICdiYXNpYycgPyAnYWR2YW5jZWQnIDogJ2Jhc2ljJ1xuICAgIHRoaXMudmlld01vZGVDaGFuZ2VkPy5lbWl0KHRoaXMudmlld01vZGUpXG4gICAgdGhpcy51cGRhdGVIZWFkZXJBY3Rpb25zKClcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuYWRkS2V5VXBFdmVudExpc3RlbmVyKCkpXG4gIH1cblxuICBvblJlc2V0Q2xpY2tlZCgpIHtcbiAgICB0aGlzLnJlc2V0dGVkLmVtaXQoKVxuICB9XG5cbiAgb25TZWFyY2hDbGlja2VkKCkge1xuICAgIHRoaXMuc2VhcmNoZWQuZW1pdCgpXG4gIH1cblxuICB1cGRhdGVIZWFkZXJBY3Rpb25zKCkge1xuICAgIGNvbnN0IGhlYWRlckFjdGlvbnM6IEFjdGlvbltdID0gW11cbiAgICBpZiAodGhpcy5oYXNBZHZhbmNlZCkge1xuICAgICAgaGVhZGVyQWN0aW9ucy5wdXNoKHtcbiAgICAgICAgaWQ6ICdzaW1wbGVBZHZhbmNlZEJ1dHRvbicsXG4gICAgICAgIGxhYmVsS2V5OlxuICAgICAgICAgIHRoaXMudmlld01vZGUgPT09ICdiYXNpYydcbiAgICAgICAgICAgID8gJ09DWF9TRUFSQ0hfSEVBREVSLlRPR0dMRV9CVVRUT04uQURWQU5DRUQuVEVYVCdcbiAgICAgICAgICAgIDogJ09DWF9TRUFSQ0hfSEVBREVSLlRPR0dMRV9CVVRUT04uU0lNUExFLlRFWFQnLFxuICAgICAgICBhY3Rpb25DYWxsYmFjazogKCkgPT4gdGhpcy50b2dnbGVWaWV3TW9kZSgpLFxuICAgICAgICBzaG93OiAnYWx3YXlzJyxcbiAgICAgICAgdGl0bGVLZXk6XG4gICAgICAgICAgdGhpcy52aWV3TW9kZSA9PT0gJ2Jhc2ljJ1xuICAgICAgICAgICAgPyAnT0NYX1NFQVJDSF9IRUFERVIuVE9HR0xFX0JVVFRPTi5BRFZBTkNFRC5ERVRBSUwnXG4gICAgICAgICAgICA6ICdPQ1hfU0VBUkNIX0hFQURFUi5UT0dHTEVfQlVUVE9OLlNJTVBMRS5ERVRBSUwnLFxuICAgICAgfSlcbiAgICB9XG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zID0gaGVhZGVyQWN0aW9ucy5jb25jYXQodGhpcy5hY3Rpb25zKVxuICB9XG5cbiAgYWRkS2V5VXBFdmVudExpc3RlbmVyKCkge1xuICAgIGNvbnN0IGlucHV0RWxlbWVudHMgPSB0aGlzLnNlYXJjaFBhcmFtZXRlckZpZWxkcz8ubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dCcpXG4gICAgaW5wdXRFbGVtZW50cy5mb3JFYWNoKChpbnB1dEVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgaWYgKCFpbnB1dEVsZW1lbnQubGlzdGVuZXJBZGRlZCkge1xuICAgICAgICBpbnB1dEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAoZXZlbnQ6IGFueSkgPT4gdGhpcy5vblNlYXJjaEtleXVwKGV2ZW50KSlcbiAgICAgICAgaW5wdXRFbGVtZW50Lmxpc3RlbmVyQWRkZWQgPSB0cnVlXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIG9uU2VhcmNoS2V5dXAoZXZlbnQ6IGFueSkge1xuICAgIGlmIChldmVudC5jb2RlID09PSAnRW50ZXInKSB7XG4gICAgICB0aGlzLm9uU2VhcmNoQ2xpY2tlZCgpXG4gICAgfVxuICB9XG5cbiAgY29uZmlybVNlYXJjaENvbmZpZyhzZWFyY2hDb25maWc6IFNlYXJjaENvbmZpZ0luZm8pIHtcbiAgICB0aGlzLnNlbGVjdGVkU2VhcmNoQ29uZmlnQ2hhbmdlZD8uZW1pdChzZWFyY2hDb25maWcpXG4gIH1cbn1cbiIsIjxvY3gtcGFnZS1oZWFkZXJcbiAgW2hlYWRlcl09XCJoZWFkZXIgfHwgKCdPQ1hfU0VBUkNIX0hFQURFUi5IRUFERVInIHwgdHJhbnNsYXRlKVwiXG4gIFtzdWJoZWFkZXJdPVwic3ViaGVhZGVyXCJcbiAgW21hbnVhbEJyZWFkY3J1bWJzXT1cIm1hbnVhbEJyZWFkY3J1bWJzXCJcbiAgW2FjdGlvbnNdPVwiaGVhZGVyQWN0aW9uc1wiXG4+XG4gIDxuZy10ZW1wbGF0ZSAjYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdD5cbiAgICA8b2N4LXNlYXJjaC1jb25maWcgW3NlYXJjaENvbmZpZ3NdPVwic2VhcmNoQ29uZmlnc1wiIChzZWxlY3RlZFNlYXJjaENvbmZpZ0NoYW5nZWQpPVwiY29uZmlybVNlYXJjaENvbmZpZygkZXZlbnQpXCI+XG4gICAgPC9vY3gtc2VhcmNoLWNvbmZpZz5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2FkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnRcIiBbbmdUZW1wbGF0ZU91dGxldF09XCJfYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdFwiPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2FkZGl0aW9uYWxUb29sYmFyQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2FkZGl0aW9uYWxUb29sYmFyQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl9hZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1jcml0ZXJpYS1jb250YWluZXJcIj5cbiAgICA8ZGl2ICNzZWFyY2hQYXJhbWV0ZXJGaWVsZHM+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWNyaXRlcmlhLWJ1dHRvbnNcIj5cbiAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgaWQ9XCJyZXNldEJ1dHRvblwiXG4gICAgICAgICAgKm5nSWY9XCJyZXNldHRlZC5vYnNlcnZlZFwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwib25SZXNldENsaWNrZWQoKVwiXG4gICAgICAgICAgbGFiZWw9XCJ7eyAnT0NYX1NFQVJDSF9IRUFERVIuUkVTRVRfQlVUVE9OLlRFWFQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBpY29uPVwicGkgcGktZXJhc2VyXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidPQ1hfU0VBUkNIX0hFQURFUi5SRVNFVF9CVVRUT04uREVUQUlMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyAnT0NYX1NFQVJDSF9IRUFERVIuUkVTRVRfQlVUVE9OLkRFVEFJTCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICA+XG4gICAgICAgIDwvcC1idXR0b24+XG5cbiAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgaWQ9XCJzZWFyY2hCdXR0b25cIlxuICAgICAgICAgIChvbkNsaWNrKT1cIm9uU2VhcmNoQ2xpY2tlZCgpXCJcbiAgICAgICAgICBsYWJlbD1cInt7ICdPQ1hfU0VBUkNIX0hFQURFUi5TRUFSQ0hfQlVUVE9OLlRFWFQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBpY29uPVwicGkgcGktc2VhcmNoXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidPQ1hfU0VBUkNIX0hFQURFUi5TRUFSQ0hfQlVUVE9OLkRFVEFJTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgIHRpdGxlPVwie3sgJ09DWF9TRUFSQ0hfSEVBREVSLlNFQVJDSF9CVVRUT04uREVUQUlMJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgID5cbiAgICAgICAgPC9wLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvb2N4LXBhZ2UtaGVhZGVyPlxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1oZWFkZXIvc2VhcmNoLWhlYWRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXItYWNjZWxlcmF0b3Ivc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1oZWFkZXIvc2VhcmNoLWhlYWRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFlBQVksRUFFWixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7Ozs7Ozs7QUFJdEI7Ozs7O0dBS0c7QUFNSCxNQUFNLE9BQU8scUJBQXFCO0lBTGxDO1FBT1csV0FBTSxHQUFHLEVBQUUsQ0FBQTtRQWFYLGFBQVEsR0FBeUIsT0FBTyxDQUFBO1FBQ3hDLHNCQUFpQixHQUFHLEtBQUssQ0FBQTtRQUNsQyxhQUFRLEdBQWEsRUFBRSxDQUFBO1FBU2QseUJBQW9CLEdBQUcsS0FBSyxDQUFBO1FBQzVCLHdCQUFtQixHQUFHLEtBQUssQ0FBQTtRQUUxQixhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUE7UUFDaEQsYUFBUSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2hELGdDQUEyQixHQUFtQyxJQUFJLFlBQVksRUFBRSxDQUFBO1FBQ2hGLG9CQUFlLEdBQXVDLElBQUksWUFBWSxFQUFFLENBQUE7UUFnQmxGLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBQ25CLGtCQUFhLEdBQWEsRUFBRSxDQUFBO0tBNEQ3QjtJQXpHQzs7T0FFRztJQUNILElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQTtJQUNwQixDQUFDO0lB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QUksQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDdEQsQ0FBQzs4R0E1R1UscUJBQXFCO2tHQUFyQixxQkFBcUIsMjJCQ3pCbEMsNDFEQStDQTs7MkZEdEJhLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUI7OEJBS3BCLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQU1GLFFBQVE7c0JBRFgsS0FBSztnQkFPRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSztnQkFRRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRywyQkFBMkI7c0JBQXBDLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFFUCx3QkFBd0I7c0JBRHZCLFlBQVk7dUJBQUMsMEJBQTBCO2dCQU94Qyw0QkFBNEI7c0JBRDNCLFlBQVk7dUJBQUMsOEJBQThCO2dCQU9SLHFCQUFxQjtzQkFBeEQsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnLi4vcGFnZS1oZWFkZXIvcGFnZS1oZWFkZXIuY29tcG9uZW50J1xuaW1wb3J0IHsgU2VhcmNoQ29uZmlnSW5mbyB9IGZyb20gJy4uLy4uL21vZGVsL3NlYXJjaC1jb25maWctaW5mbydcblxuLyoqXG4gKiBUbyB0cmlnZ2VyIHRoZSBzZWFyY2ggd2hlbiBFbnRlciBrZXkgaXMgcHJlc3NlZCBpbnNpZGUgYSBzZWFyY2ggcGFyYW1ldGVyIGZpZWxkLFxuICogYW4gRXZlbnRMaXN0ZW5lciBmb3Iga2V5dXAgZW50ZXIgZXZlbnQgaXMgYWRkZWQgZm9yIEhUTUwgZWxlbWVudHMgd2hpY2ggaGF2ZSBhbiBpbnB1dC5cbiAqIFBsZWFzZSBhZGQgdGhlIEV2ZW50TGlzdGVuZXIgeW91cnNlbGYgbWFudWFsbHksIGlmIHlvdSB3YW50IHRvIGhhdmUgdGhhdCBmdW5jdGlvbmFsaXR5IGZvciBzb21lIG90aGVyIGVsZW1lbnRzXG4gKiB3aGljaCBkbyBub3QgaGF2ZSBhbiBpbnB1dCBlbGVtZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdvY3gtc2VhcmNoLWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2VhcmNoLWhlYWRlci5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgc2VhcmNoQ29uZmlnczogU2VhcmNoQ29uZmlnSW5mb1tdIHwgdW5kZWZpbmVkXG4gIEBJbnB1dCgpIGhlYWRlciA9ICcnXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVwbGFjZWQgYnkgaGVhZGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaGVhZGxpbmUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5oZWFkZXJcbiAgfVxuICBzZXQgaGVhZGxpbmUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaGVhZGVyID0gdmFsdWVcbiAgfVxuICBASW5wdXQoKSBzdWJoZWFkZXI6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBASW5wdXQoKSB2aWV3TW9kZTogJ2Jhc2ljJyB8ICdhZHZhbmNlZCcgPSAnYmFzaWMnXG4gIEBJbnB1dCgpIG1hbnVhbEJyZWFkY3J1bWJzID0gZmFsc2VcbiAgX2FjdGlvbnM6IEFjdGlvbltdID0gW11cbiAgQElucHV0KClcbiAgZ2V0IGFjdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnNcbiAgfVxuICBzZXQgYWN0aW9ucyh2YWx1ZSkge1xuICAgIHRoaXMuX2FjdGlvbnMgPSB2YWx1ZVxuICAgIHRoaXMudXBkYXRlSGVhZGVyQWN0aW9ucygpXG4gIH1cbiAgQElucHV0KCkgc2VhcmNoQnV0dG9uRGlzYWJsZWQgPSBmYWxzZVxuICBASW5wdXQoKSByZXNldEJ1dHRvbkRpc2FibGVkID0gZmFsc2VcblxuICBAT3V0cHV0KCkgc2VhcmNoZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSByZXNldHRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIHNlbGVjdGVkU2VhcmNoQ29uZmlnQ2hhbmdlZDogRXZlbnRFbWl0dGVyPFNlYXJjaENvbmZpZ0luZm8+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB2aWV3TW9kZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjwnYmFzaWMnIHwgJ2FkdmFuY2VkJz4gPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQENvbnRlbnRDaGlsZCgnYWRkaXRpb25hbFRvb2xiYXJDb250ZW50JylcbiAgYWRkaXRpb25hbFRvb2xiYXJDb250ZW50OiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkXG5cbiAgZ2V0IF9hZGRpdGlvbmFsVG9vbGJhckNvbnRlbnQoKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWRkaXRpb25hbFRvb2xiYXJDb250ZW50XG4gIH1cbiAgQENvbnRlbnRDaGlsZCgnYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdCcpXG4gIGFkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnQ6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWRcblxuICBnZXQgX2FkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnQoKTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdFxuICB9XG5cbiAgQFZpZXdDaGlsZCgnc2VhcmNoUGFyYW1ldGVyRmllbGRzJykgc2VhcmNoUGFyYW1ldGVyRmllbGRzOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkXG5cbiAgaGFzQWR2YW5jZWQgPSBmYWxzZVxuICBoZWFkZXJBY3Rpb25zOiBBY3Rpb25bXSA9IFtdXG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuYWRkS2V5VXBFdmVudExpc3RlbmVyKClcbiAgfVxuXG4gIHRvZ2dsZVZpZXdNb2RlKCkge1xuICAgIHRoaXMudmlld01vZGUgPSB0aGlzLnZpZXdNb2RlID09PSAnYmFzaWMnID8gJ2FkdmFuY2VkJyA6ICdiYXNpYydcbiAgICB0aGlzLnZpZXdNb2RlQ2hhbmdlZD8uZW1pdCh0aGlzLnZpZXdNb2RlKVxuICAgIHRoaXMudXBkYXRlSGVhZGVyQWN0aW9ucygpXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmFkZEtleVVwRXZlbnRMaXN0ZW5lcigpKVxuICB9XG5cbiAgb25SZXNldENsaWNrZWQoKSB7XG4gICAgdGhpcy5yZXNldHRlZC5lbWl0KClcbiAgfVxuXG4gIG9uU2VhcmNoQ2xpY2tlZCgpIHtcbiAgICB0aGlzLnNlYXJjaGVkLmVtaXQoKVxuICB9XG5cbiAgdXBkYXRlSGVhZGVyQWN0aW9ucygpIHtcbiAgICBjb25zdCBoZWFkZXJBY3Rpb25zOiBBY3Rpb25bXSA9IFtdXG4gICAgaWYgKHRoaXMuaGFzQWR2YW5jZWQpIHtcbiAgICAgIGhlYWRlckFjdGlvbnMucHVzaCh7XG4gICAgICAgIGlkOiAnc2ltcGxlQWR2YW5jZWRCdXR0b24nLFxuICAgICAgICBsYWJlbEtleTpcbiAgICAgICAgICB0aGlzLnZpZXdNb2RlID09PSAnYmFzaWMnXG4gICAgICAgICAgICA/ICdPQ1hfU0VBUkNIX0hFQURFUi5UT0dHTEVfQlVUVE9OLkFEVkFOQ0VELlRFWFQnXG4gICAgICAgICAgICA6ICdPQ1hfU0VBUkNIX0hFQURFUi5UT0dHTEVfQlVUVE9OLlNJTVBMRS5URVhUJyxcbiAgICAgICAgYWN0aW9uQ2FsbGJhY2s6ICgpID0+IHRoaXMudG9nZ2xlVmlld01vZGUoKSxcbiAgICAgICAgc2hvdzogJ2Fsd2F5cycsXG4gICAgICAgIHRpdGxlS2V5OlxuICAgICAgICAgIHRoaXMudmlld01vZGUgPT09ICdiYXNpYydcbiAgICAgICAgICAgID8gJ09DWF9TRUFSQ0hfSEVBREVSLlRPR0dMRV9CVVRUT04uQURWQU5DRUQuREVUQUlMJ1xuICAgICAgICAgICAgOiAnT0NYX1NFQVJDSF9IRUFERVIuVE9HR0xFX0JVVFRPTi5TSU1QTEUuREVUQUlMJyxcbiAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMuaGVhZGVyQWN0aW9ucyA9IGhlYWRlckFjdGlvbnMuY29uY2F0KHRoaXMuYWN0aW9ucylcbiAgfVxuXG4gIGFkZEtleVVwRXZlbnRMaXN0ZW5lcigpIHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnRzID0gdGhpcy5zZWFyY2hQYXJhbWV0ZXJGaWVsZHM/Lm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnaW5wdXQnKVxuICAgIGlucHV0RWxlbWVudHMuZm9yRWFjaCgoaW5wdXRFbGVtZW50OiBhbnkpID0+IHtcbiAgICAgIGlmICghaW5wdXRFbGVtZW50Lmxpc3RlbmVyQWRkZWQpIHtcbiAgICAgICAgaW5wdXRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgKGV2ZW50OiBhbnkpID0+IHRoaXMub25TZWFyY2hLZXl1cChldmVudCkpXG4gICAgICAgIGlucHV0RWxlbWVudC5saXN0ZW5lckFkZGVkID0gdHJ1ZVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBvblNlYXJjaEtleXVwKGV2ZW50OiBhbnkpIHtcbiAgICBpZiAoZXZlbnQuY29kZSA9PT0gJ0VudGVyJykge1xuICAgICAgdGhpcy5vblNlYXJjaENsaWNrZWQoKVxuICAgIH1cbiAgfVxuXG4gIGNvbmZpcm1TZWFyY2hDb25maWcoc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWdJbmZvKSB7XG4gICAgdGhpcy5zZWxlY3RlZFNlYXJjaENvbmZpZ0NoYW5nZWQ/LmVtaXQoc2VhcmNoQ29uZmlnKVxuICB9XG59XG4iLCI8b2N4LXBhZ2UtaGVhZGVyXG4gIFtoZWFkZXJdPVwiaGVhZGVyIHx8ICgnT0NYX1NFQVJDSF9IRUFERVIuSEVBREVSJyB8IHRyYW5zbGF0ZSlcIlxuICBbc3ViaGVhZGVyXT1cInN1YmhlYWRlclwiXG4gIFttYW51YWxCcmVhZGNydW1ic109XCJtYW51YWxCcmVhZGNydW1ic1wiXG4gIFthY3Rpb25zXT1cImhlYWRlckFjdGlvbnNcIlxuPlxuICA8bmctdGVtcGxhdGUgI2FkZGl0aW9uYWxUb29sYmFyQ29udGVudExlZnQ+XG4gICAgPG9jeC1zZWFyY2gtY29uZmlnIFtzZWFyY2hDb25maWdzXT1cInNlYXJjaENvbmZpZ3NcIiAoc2VsZWN0ZWRTZWFyY2hDb25maWdDaGFuZ2VkKT1cImNvbmZpcm1TZWFyY2hDb25maWcoJGV2ZW50KVwiPlxuICAgIDwvb2N4LXNlYXJjaC1jb25maWc+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nSWY9XCJfYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdFwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJfYWRkaXRpb25hbFRvb2xiYXJDb250ZW50TGVmdFwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLXRlbXBsYXRlPlxuICA8bmctdGVtcGxhdGUgI2FkZGl0aW9uYWxUb29sYmFyQ29udGVudD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2FkZGl0aW9uYWxUb29sYmFyQ29udGVudFwiIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIl9hZGRpdGlvbmFsVG9vbGJhckNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy10ZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1jcml0ZXJpYS1jb250YWluZXJcIj5cbiAgICA8ZGl2ICNzZWFyY2hQYXJhbWV0ZXJGaWVsZHM+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWNyaXRlcmlhLWJ1dHRvbnNcIj5cbiAgICAgICAgPHAtYnV0dG9uXG4gICAgICAgICAgaWQ9XCJyZXNldEJ1dHRvblwiXG4gICAgICAgICAgKm5nSWY9XCJyZXNldHRlZC5vYnNlcnZlZFwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwib25SZXNldENsaWNrZWQoKVwiXG4gICAgICAgICAgbGFiZWw9XCJ7eyAnT0NYX1NFQVJDSF9IRUFERVIuUkVTRVRfQlVUVE9OLlRFWFQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBpY29uPVwicGkgcGktZXJhc2VyXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidPQ1hfU0VBUkNIX0hFQURFUi5SRVNFVF9CVVRUT04uREVUQUlMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyAnT0NYX1NFQVJDSF9IRUFERVIuUkVTRVRfQlVUVE9OLkRFVEFJTCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJyZXNldEJ1dHRvbkRpc2FibGVkXCJcbiAgICAgICAgPlxuICAgICAgICA8L3AtYnV0dG9uPlxuXG4gICAgICAgIDxwLWJ1dHRvblxuICAgICAgICAgIGlkPVwic2VhcmNoQnV0dG9uXCJcbiAgICAgICAgICAob25DbGljayk9XCJvblNlYXJjaENsaWNrZWQoKVwiXG4gICAgICAgICAgbGFiZWw9XCJ7eyAnT0NYX1NFQVJDSF9IRUFERVIuU0VBUkNIX0JVVFRPTi5URVhUJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgaWNvbj1cInBpIHBpLXNlYXJjaFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInT0NYX1NFQVJDSF9IRUFERVIuU0VBUkNIX0JVVFRPTi5ERVRBSUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICB0aXRsZT1cInt7ICdPQ1hfU0VBUkNIX0hFQURFUi5TRUFSQ0hfQlVUVE9OLkRFVEFJTCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJzZWFyY2hCdXR0b25EaXNhYmxlZFwiXG4gICAgICAgID5cbiAgICAgICAgPC9wLWJ1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvb2N4LXBhZ2UtaGVhZGVyPlxuIl19
|
|
@@ -3,18 +3,27 @@ import { Injectable } from '@angular/core';
|
|
|
3
3
|
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
|
|
4
4
|
import { TranslateService } from '@ngx-translate/core';
|
|
5
5
|
import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy';
|
|
6
|
-
import { BehaviorSubject, filter } from 'rxjs';
|
|
6
|
+
import { BehaviorSubject, filter, map } from 'rxjs';
|
|
7
|
+
import { SyncableTopic } from '@onecx/accelerator';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/router";
|
|
9
10
|
import * as i2 from "@ngx-translate/core";
|
|
11
|
+
// This topic is defined here and not in integration-interface, because
|
|
12
|
+
// it is not used as framework independent integration but for improving
|
|
13
|
+
// angular specific things
|
|
14
|
+
class ManualBreadcrumbsTopic extends SyncableTopic {
|
|
15
|
+
constructor() {
|
|
16
|
+
super('manualBreadcrumbs', 1);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
10
19
|
let BreadcrumbService = class BreadcrumbService {
|
|
11
20
|
constructor(router, activeRoute, translateService) {
|
|
12
21
|
this.router = router;
|
|
13
22
|
this.activeRoute = activeRoute;
|
|
14
23
|
this.translateService = translateService;
|
|
15
|
-
this.itemsSource = new
|
|
24
|
+
this.itemsSource$ = new ManualBreadcrumbsTopic();
|
|
16
25
|
this.generatedItemsSource = new BehaviorSubject([]);
|
|
17
|
-
this.itemsHandler = this.itemsSource
|
|
26
|
+
this.itemsHandler = this.itemsSource$.pipe(map((manualBreadcrumbs) => manualBreadcrumbs.menuItems));
|
|
18
27
|
this.generateBreadcrumbs(this.activeRoute.snapshot);
|
|
19
28
|
this.router.events
|
|
20
29
|
.pipe(untilDestroyed(this), filter((e) => e instanceof NavigationEnd))
|
|
@@ -87,15 +96,19 @@ let BreadcrumbService = class BreadcrumbService {
|
|
|
87
96
|
];
|
|
88
97
|
if (translationKeys.length) {
|
|
89
98
|
this.translateService.get(translationKeys).subscribe((translations) => {
|
|
90
|
-
this.itemsSource
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
99
|
+
this.itemsSource$.publish({
|
|
100
|
+
menuItems: items.map((i) => ({
|
|
101
|
+
...i,
|
|
102
|
+
label: translations[i.labelKey || ''] || i.label,
|
|
103
|
+
title: translations[i.titleKey || ''] || i.title,
|
|
104
|
+
})),
|
|
105
|
+
});
|
|
95
106
|
});
|
|
96
107
|
}
|
|
97
108
|
else {
|
|
98
|
-
this.itemsSource
|
|
109
|
+
this.itemsSource$.publish({
|
|
110
|
+
menuItems: items,
|
|
111
|
+
});
|
|
99
112
|
}
|
|
100
113
|
}
|
|
101
114
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -103,11 +116,13 @@ let BreadcrumbService = class BreadcrumbService {
|
|
|
103
116
|
};
|
|
104
117
|
BreadcrumbService = __decorate([
|
|
105
118
|
UntilDestroy(),
|
|
106
|
-
__metadata("design:paramtypes", [Router,
|
|
119
|
+
__metadata("design:paramtypes", [Router,
|
|
120
|
+
ActivatedRoute,
|
|
121
|
+
TranslateService])
|
|
107
122
|
], BreadcrumbService);
|
|
108
123
|
export { BreadcrumbService };
|
|
109
124
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BreadcrumbService, decorators: [{
|
|
110
125
|
type: Injectable,
|
|
111
126
|
args: [{ providedIn: 'any' }]
|
|
112
127
|
}], ctorParameters: () => [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.TranslateService }] });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvc2VydmljZXMvYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQWdDLGFBQWEsRUFBWSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sTUFBTSxDQUFBOzs7O0FBTXZDLElBQU0saUJBQWlCLEdBQXZCLE1BQU0saUJBQWlCO0lBTTVCLFlBQW9CLE1BQWMsRUFBVSxXQUEyQixFQUFVLGdCQUFrQztRQUEvRixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQVUscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUwzRyxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFBO1FBQ3pELHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFBO1FBRTFELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtRQUc1QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUNuRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQ0gsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUNwQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsWUFBWSxhQUFhLENBQUMsQ0FDMUM7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQTtZQUNsRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDaEMsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDO0lBRU8sbUJBQW1CLENBQUMsS0FBb0M7UUFDOUQsSUFBSSxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDM0IsTUFBTSxXQUFXLEdBQWU7Z0JBQzlCO29CQUNFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFdBQVc7b0JBQ3hDLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVE7aUJBQzNDO2FBQ0YsQ0FBQTtZQUNELE1BQU0sT0FBTyxHQUFjLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBbUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUN4RyxNQUFNLFNBQVMsR0FBYSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzVELE1BQU0sY0FBYyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO1lBQ3pFLElBQUksY0FBYyxFQUFFLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1lBQ3RELENBQUM7WUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1lBQzVELElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDN0MsQ0FBQzthQUFNLElBQUksS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE1BQU0sV0FBVyxHQUFlLEVBQUUsQ0FBQTtZQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUE7WUFDMUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM3QyxDQUFDO2FBQU0sSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzVDLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQW9DLEVBQUUsU0FBbUIsRUFBRSxXQUF1QjtRQUN0RyxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDdkIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7WUFDbkUsSUFBSSxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQTtZQUNyRCxDQUFDO1lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQTtRQUM3RCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGdCQUFnQixDQUFDLEtBQTZCLEVBQUUsUUFBa0IsRUFBRSxXQUF1QjtRQUNqRyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUM3QixNQUFNLFVBQVUsR0FBYTtnQkFDM0IsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsUUFBUSxDQUFDO2dCQUNoRCxVQUFVLEVBQUUsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ3JDLENBQUE7WUFDRCxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzlCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxVQUFVLEdBQWE7Z0JBQzNCLEtBQUssRUFBRSxJQUFJO2dCQUNYLFVBQVUsRUFBRSxHQUFHLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7YUFDckMsQ0FBQTtZQUNELFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDOUIsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsSUFBVSxFQUFFLE1BQWdCO1FBQzNDLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDL0MsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBQzNDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQTJCO1FBQ2xDLE1BQU0sZUFBZSxHQUFHO1lBQ3RCLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEQsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN6RCxDQUFBO1FBQ0QsSUFBSSxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxZQUFpQixFQUFFLEVBQUU7Z0JBQ3pFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUNoQixHQUFHLENBQUM7b0JBQ0osS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLO29CQUNoRCxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUs7aUJBQ2pELENBQUMsQ0FBQyxDQUNKLENBQUE7WUFDSCxDQUFDLENBQUMsQ0FBQTtRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDOUIsQ0FBQztJQUNILENBQUM7OEdBaEdVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRkosS0FBSzs7QUFFbEIsaUJBQWlCO0lBRDdCLFlBQVksRUFBRTtxQ0FPZSxNQUFNLEVBQXVCLGNBQWMsRUFBNEIsZ0JBQWdCO0dBTnhHLGlCQUFpQixDQWlHN0I7OzJGQWpHWSxpQkFBaUI7a0JBRjdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgTmF2aWdhdGlvbkVuZCwgUGFyYW1NYXAsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuaW1wb3J0IHsgVW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZCB9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSdcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZmlsdGVyIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknXG5pbXBvcnQgeyBCcmVhZENydW1iTWVudUl0ZW0gfSBmcm9tICcuLi9tb2RlbC9icmVhZGNydW1iLW1lbnUtaXRlbS5tb2RlbCdcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAnYW55JyB9KVxuQFVudGlsRGVzdHJveSgpXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYlNlcnZpY2Uge1xuICBwcml2YXRlIGl0ZW1zU291cmNlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPihbXSlcbiAgZ2VuZXJhdGVkSXRlbXNTb3VyY2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+KFtdKVxuXG4gIGl0ZW1zSGFuZGxlciA9IHRoaXMuaXRlbXNTb3VyY2UuYXNPYnNlcnZhYmxlKClcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIGFjdGl2ZVJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5nZW5lcmF0ZUJyZWFkY3J1bWJzKHRoaXMuYWN0aXZlUm91dGUuc25hcHNob3QpXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzXG4gICAgICAucGlwZShcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcyksXG4gICAgICAgIGZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3Qgcm9vdCA9IHRoaXMucm91dGVyLnJvdXRlclN0YXRlLnNuYXBzaG90LnJvb3RcbiAgICAgICAgdGhpcy5nZW5lcmF0ZUJyZWFkY3J1bWJzKHJvb3QpXG4gICAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZUJyZWFkY3J1bWJzKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCkge1xuICAgIGlmIChyb3V0ZT8uZGF0YVsnbWZlSW5mbyddKSB7XG4gICAgICBjb25zdCBicmVhZGNydW1iczogTWVudUl0ZW1bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiByb3V0ZS5kYXRhWydtZmVJbmZvJ10ucHJvZHVjdE5hbWUsXG4gICAgICAgICAgcm91dGVyTGluazogcm91dGUuZGF0YVsnbWZlSW5mbyddLmJhc2VIcmVmLFxuICAgICAgICB9LFxuICAgICAgXVxuICAgICAgY29uc3QgYmFzZVVybDogc3RyaW5nW10gPSAocm91dGUuZGF0YVsnbWZlSW5mbyddLmJhc2VIcmVmIGFzIHN0cmluZykuc3BsaXQoJy8nKS5maWx0ZXIoKHZhbHVlKSA9PiB2YWx1ZSlcbiAgICAgIGNvbnN0IHBhcmVudFVybDogc3RyaW5nW10gPSByb3V0ZS51cmwubWFwKCh1cmwpID0+IHVybC5wYXRoKVxuICAgICAgY29uc3QgaXNVc2luZ01hdGNoZXIgPSAhcGFyZW50VXJsLmV2ZXJ5KChpdGVtKSA9PiBiYXNlVXJsLmluY2x1ZGVzKGl0ZW0pKVxuICAgICAgaWYgKGlzVXNpbmdNYXRjaGVyKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlQnJlYWRjcnVtYihyb3V0ZSwgcGFyZW50VXJsLCBicmVhZGNydW1icylcbiAgICAgIH1cbiAgICAgIHRoaXMuYWRkQnJlYWRjcnVtYihyb3V0ZS5maXJzdENoaWxkLCBwYXJlbnRVcmwsIGJyZWFkY3J1bWJzKVxuICAgICAgdGhpcy5nZW5lcmF0ZWRJdGVtc1NvdXJjZS5uZXh0KGJyZWFkY3J1bWJzKVxuICAgIH0gZWxzZSBpZiAocm91dGU/LmRhdGFbJ2JyZWFkY3J1bWInXSkge1xuICAgICAgY29uc3QgYnJlYWRjcnVtYnM6IE1lbnVJdGVtW10gPSBbXVxuICAgICAgdGhpcy5hZGRCcmVhZGNydW1iKHJvdXRlLCBbXSwgYnJlYWRjcnVtYnMpXG4gICAgICB0aGlzLmdlbmVyYXRlZEl0ZW1zU291cmNlLm5leHQoYnJlYWRjcnVtYnMpXG4gICAgfSBlbHNlIGlmIChyb3V0ZSkge1xuICAgICAgdGhpcy5nZW5lcmF0ZUJyZWFkY3J1bWJzKHJvdXRlLmZpcnN0Q2hpbGQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRCcmVhZGNydW1iKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90IHwgbnVsbCwgcGFyZW50VXJsOiBzdHJpbmdbXSwgYnJlYWRjcnVtYnM6IE1lbnVJdGVtW10pIHtcbiAgICBpZiAocm91dGUgJiYgcm91dGUudXJsKSB7XG4gICAgICBjb25zdCByb3V0ZVVybCA9IHBhcmVudFVybC5jb25jYXQocm91dGUudXJsLm1hcCgodXJsKSA9PiB1cmwucGF0aCkpXG4gICAgICBpZiAocm91dGUucm91dGVDb25maWc/LnBhdGgpIHtcbiAgICAgICAgdGhpcy5jcmVhdGVCcmVhZGNydW1iKHJvdXRlLCByb3V0ZVVybCwgYnJlYWRjcnVtYnMpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkQnJlYWRjcnVtYihyb3V0ZS5maXJzdENoaWxkLCByb3V0ZVVybCwgYnJlYWRjcnVtYnMpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVCcmVhZGNydW1iKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCByb3V0ZVVybDogc3RyaW5nW10sIGJyZWFkY3J1bWJzOiBNZW51SXRlbVtdKSB7XG4gICAgaWYgKHJvdXRlLmRhdGFbJ2JyZWFkY3J1bWInXSkge1xuICAgICAgY29uc3QgYnJlYWRjcnVtYjogTWVudUl0ZW0gPSB7XG4gICAgICAgIGxhYmVsOiB0aGlzLmdldExhYmVsKHJvdXRlLmRhdGEsIHJvdXRlLnBhcmFtTWFwKSxcbiAgICAgICAgcm91dGVyTGluazogJy8nICsgcm91dGVVcmwuam9pbignLycpLFxuICAgICAgfVxuICAgICAgYnJlYWRjcnVtYnMucHVzaChicmVhZGNydW1iKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBicmVhZGNydW1iOiBNZW51SXRlbSA9IHtcbiAgICAgICAgbGFiZWw6ICdOQScsXG4gICAgICAgIHJvdXRlckxpbms6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKSxcbiAgICAgIH1cbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYilcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldExhYmVsKGRhdGE6IERhdGEsIHBhcmFtczogUGFyYW1NYXApIHtcbiAgICBpZiAodHlwZW9mIGRhdGFbJ2JyZWFkY3J1bWJGbiddID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gZGF0YVsnYnJlYWRjcnVtYkZuJ10oZGF0YSwgcGFyYW1zKVxuICAgIH1cbiAgICByZXR1cm4gZGF0YVsnYnJlYWRjcnVtYiddXG4gIH1cblxuICBzZXRJdGVtcyhpdGVtczogQnJlYWRDcnVtYk1lbnVJdGVtW10pIHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbktleXMgPSBbXG4gICAgICAuLi5pdGVtcy5tYXAoKGkpID0+IGkubGFiZWxLZXkgfHwgJycpLmZpbHRlcigobCkgPT4gISFsKSxcbiAgICAgIC4uLml0ZW1zLm1hcCgoaSkgPT4gaS50aXRsZUtleSB8fCAnJykuZmlsdGVyKChsKSA9PiAhIWwpLFxuICAgIF1cbiAgICBpZiAodHJhbnNsYXRpb25LZXlzLmxlbmd0aCkge1xuICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmdldCh0cmFuc2xhdGlvbktleXMpLnN1YnNjcmliZSgodHJhbnNsYXRpb25zOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5pdGVtc1NvdXJjZS5uZXh0KFxuICAgICAgICAgIGl0ZW1zLm1hcCgoaSkgPT4gKHtcbiAgICAgICAgICAgIC4uLmksXG4gICAgICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zW2kubGFiZWxLZXkgfHwgJyddIHx8IGkubGFiZWwsXG4gICAgICAgICAgICB0aXRsZTogdHJhbnNsYXRpb25zW2kudGl0bGVLZXkgfHwgJyddIHx8IGkudGl0bGUsXG4gICAgICAgICAgfSkpXG4gICAgICAgIClcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbXNTb3VyY2UubmV4dChpdGVtcylcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLWFjY2VsZXJhdG9yL3NyYy9saWIvc2VydmljZXMvYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBRSxjQUFjLEVBQWdDLGFBQWEsRUFBWSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUduRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUE7Ozs7QUFNbEQsdUVBQXVFO0FBQ3ZFLHdFQUF3RTtBQUN4RSwwQkFBMEI7QUFDMUIsTUFBTSxzQkFBdUIsU0FBUSxhQUFnQztJQUNuRTtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUMvQixDQUFDO0NBQ0Y7QUFJTSxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQU01QixZQUNVLE1BQWMsRUFDZCxXQUEyQixFQUMzQixnQkFBa0M7UUFGbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBUnBDLGlCQUFZLEdBQUcsSUFBSSxzQkFBc0IsRUFBRSxDQUFBO1FBQ25ELHlCQUFvQixHQUFHLElBQUksZUFBZSxDQUFhLEVBQUUsQ0FBQyxDQUFBO1FBRTFELGlCQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVks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QUM7OEdBdEdVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRkosS0FBSzs7QUFFbEIsaUJBQWlCO0lBRDdCLFlBQVksRUFBRTtxQ0FRSyxNQUFNO1FBQ0QsY0FBYztRQUNULGdCQUFnQjtHQVRqQyxpQkFBaUIsQ0F1RzdCOzsyRkF2R1ksaUJBQWlCO2tCQUY3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIERhdGEsIE5hdmlnYXRpb25FbmQsIFBhcmFtTWFwLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcbmltcG9ydCB7IFVudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknXG5pbXBvcnQgeyBCcmVhZENydW1iTWVudUl0ZW0gfSBmcm9tICcuLi9tb2RlbC9icmVhZGNydW1iLW1lbnUtaXRlbS5tb2RlbCdcbmltcG9ydCB7IFN5bmNhYmxlVG9waWMgfSBmcm9tICdAb25lY3gvYWNjZWxlcmF0b3InXG5cbmludGVyZmFjZSBNYW51YWxCcmVhZGNydW1icyB7XG4gIG1lbnVJdGVtczogTWVudUl0ZW1bXVxufVxuXG4vLyBUaGlzIHRvcGljIGlzIGRlZmluZWQgaGVyZSBhbmQgbm90IGluIGludGVncmF0aW9uLWludGVyZmFjZSwgYmVjYXVzZVxuLy8gaXQgaXMgbm90IHVzZWQgYXMgZnJhbWV3b3JrIGluZGVwZW5kZW50IGludGVncmF0aW9uIGJ1dCBmb3IgaW1wcm92aW5nXG4vLyBhbmd1bGFyIHNwZWNpZmljIHRoaW5nc1xuY2xhc3MgTWFudWFsQnJlYWRjcnVtYnNUb3BpYyBleHRlbmRzIFN5bmNhYmxlVG9waWM8TWFudWFsQnJlYWRjcnVtYnM+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ21hbnVhbEJyZWFkY3J1bWJzJywgMSlcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdhbnknIH0pXG5AVW50aWxEZXN0cm95KClcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iU2VydmljZSB7XG4gIHByaXZhdGUgaXRlbXNTb3VyY2UkID0gbmV3IE1hbnVhbEJyZWFkY3J1bWJzVG9waWMoKVxuICBnZW5lcmF0ZWRJdGVtc1NvdXJjZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4oW10pXG5cbiAgaXRlbXNIYW5kbGVyID0gdGhpcy5pdGVtc1NvdXJjZSQucGlwZShtYXAoKG1hbnVhbEJyZWFkY3J1bWJzKSA9PiBtYW51YWxCcmVhZGNydW1icy5tZW51SXRlbXMpKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3RpdmVSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1icyh0aGlzLmFjdGl2ZVJvdXRlLnNuYXBzaG90KVxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoXG4gICAgICAgIHVudGlsRGVzdHJveWVkKHRoaXMpLFxuICAgICAgICBmaWx0ZXIoKGUpID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC5yb290XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1icyhyb290KVxuICAgICAgfSlcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVCcmVhZGNydW1icyhyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwpIHtcbiAgICBpZiAocm91dGU/LmRhdGFbJ21mZUluZm8nXSkge1xuICAgICAgY29uc3QgYnJlYWRjcnVtYnM6IE1lbnVJdGVtW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogcm91dGUuZGF0YVsnbWZlSW5mbyddLnByb2R1Y3ROYW1lLFxuICAgICAgICAgIHJvdXRlckxpbms6IHJvdXRlLmRhdGFbJ21mZUluZm8nXS5iYXNlSHJlZixcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICAgIGNvbnN0IGJhc2VVcmw6IHN0cmluZ1tdID0gKHJvdXRlLmRhdGFbJ21mZUluZm8nXS5iYXNlSHJlZiBhcyBzdHJpbmcpLnNwbGl0KCcvJykuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUpXG4gICAgICBjb25zdCBwYXJlbnRVcmw6IHN0cmluZ1tdID0gcm91dGUudXJsLm1hcCgodXJsKSA9PiB1cmwucGF0aClcbiAgICAgIGNvbnN0IGlzVXNpbmdNYXRjaGVyID0gIXBhcmVudFVybC5ldmVyeSgoaXRlbSkgPT4gYmFzZVVybC5pbmNsdWRlcyhpdGVtKSlcbiAgICAgIGlmIChpc1VzaW5nTWF0Y2hlcikge1xuICAgICAgICB0aGlzLmNyZWF0ZUJyZWFkY3J1bWIocm91dGUsIHBhcmVudFVybCwgYnJlYWRjcnVtYnMpXG4gICAgICB9XG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcGFyZW50VXJsLCBicmVhZGNydW1icylcbiAgICAgIHRoaXMuZ2VuZXJhdGVkSXRlbXNTb3VyY2UubmV4dChicmVhZGNydW1icylcbiAgICB9IGVsc2UgaWYgKHJvdXRlPy5kYXRhWydicmVhZGNydW1iJ10pIHtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWJzOiBNZW51SXRlbVtdID0gW11cbiAgICAgIHRoaXMuYWRkQnJlYWRjcnVtYihyb3V0ZSwgW10sIGJyZWFkY3J1bWJzKVxuICAgICAgdGhpcy5nZW5lcmF0ZWRJdGVtc1NvdXJjZS5uZXh0KGJyZWFkY3J1bWJzKVxuICAgIH0gZWxzZSBpZiAocm91dGUpIHtcbiAgICAgIHRoaXMuZ2VuZXJhdGVCcmVhZGNydW1icyhyb3V0ZS5maXJzdENoaWxkKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQnJlYWRjcnVtYihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB8IG51bGwsIHBhcmVudFVybDogc3RyaW5nW10sIGJyZWFkY3J1bWJzOiBNZW51SXRlbVtdKSB7XG4gICAgaWYgKHJvdXRlICYmIHJvdXRlLnVybCkge1xuICAgICAgY29uc3Qgcm91dGVVcmwgPSBwYXJlbnRVcmwuY29uY2F0KHJvdXRlLnVybC5tYXAoKHVybCkgPT4gdXJsLnBhdGgpKVxuICAgICAgaWYgKHJvdXRlLnJvdXRlQ29uZmlnPy5wYXRoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlQnJlYWRjcnVtYihyb3V0ZSwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKVxuICAgICAgfVxuXG4gICAgICB0aGlzLmFkZEJyZWFkY3J1bWIocm91dGUuZmlyc3RDaGlsZCwgcm91dGVVcmwsIGJyZWFkY3J1bWJzKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQnJlYWRjcnVtYihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgcm91dGVVcmw6IHN0cmluZ1tdLCBicmVhZGNydW1iczogTWVudUl0ZW1bXSkge1xuICAgIGlmIChyb3V0ZS5kYXRhWydicmVhZGNydW1iJ10pIHtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWI6IE1lbnVJdGVtID0ge1xuICAgICAgICBsYWJlbDogdGhpcy5nZXRMYWJlbChyb3V0ZS5kYXRhLCByb3V0ZS5wYXJhbU1hcCksXG4gICAgICAgIHJvdXRlckxpbms6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKSxcbiAgICAgIH1cbiAgICAgIGJyZWFkY3J1bWJzLnB1c2goYnJlYWRjcnVtYilcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgYnJlYWRjcnVtYjogTWVudUl0ZW0gPSB7XG4gICAgICAgIGxhYmVsOiAnTkEnLFxuICAgICAgICByb3V0ZXJMaW5rOiAnLycgKyByb3V0ZVVybC5qb2luKCcvJyksXG4gICAgICB9XG4gICAgICBicmVhZGNydW1icy5wdXNoKGJyZWFkY3J1bWIpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRMYWJlbChkYXRhOiBEYXRhLCBwYXJhbXM6IFBhcmFtTWFwKSB7XG4gICAgaWYgKHR5cGVvZiBkYXRhWydicmVhZGNydW1iRm4nXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIGRhdGFbJ2JyZWFkY3J1bWJGbiddKGRhdGEsIHBhcmFtcylcbiAgICB9XG4gICAgcmV0dXJuIGRhdGFbJ2JyZWFkY3J1bWInXVxuICB9XG5cbiAgc2V0SXRlbXMoaXRlbXM6IEJyZWFkQ3J1bWJNZW51SXRlbVtdKSB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25LZXlzID0gW1xuICAgICAgLi4uaXRlbXMubWFwKChpKSA9PiBpLmxhYmVsS2V5IHx8ICcnKS5maWx0ZXIoKGwpID0+ICEhbCksXG4gICAgICAuLi5pdGVtcy5tYXAoKGkpID0+IGkudGl0bGVLZXkgfHwgJycpLmZpbHRlcigobCkgPT4gISFsKSxcbiAgICBdXG4gICAgaWYgKHRyYW5zbGF0aW9uS2V5cy5sZW5ndGgpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQodHJhbnNsYXRpb25LZXlzKS5zdWJzY3JpYmUoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuaXRlbXNTb3VyY2UkLnB1Ymxpc2goe1xuICAgICAgICAgIG1lbnVJdGVtczogaXRlbXMubWFwKChpKSA9PiAoe1xuICAgICAgICAgICAgLi4uaSxcbiAgICAgICAgICAgIGxhYmVsOiB0cmFuc2xhdGlvbnNbaS5sYWJlbEtleSB8fCAnJ10gfHwgaS5sYWJlbCxcbiAgICAgICAgICAgIHRpdGxlOiB0cmFuc2xhdGlvbnNbaS50aXRsZUtleSB8fCAnJ10gfHwgaS50aXRsZSxcbiAgICAgICAgICB9KSksXG4gICAgICAgIH0pXG4gICAgICB9KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLml0ZW1zU291cmNlJC5wdWJsaXNoKHtcbiAgICAgICAgbWVudUl0ZW1zOiBpdGVtcyxcbiAgICAgIH0pXG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -15,11 +15,12 @@ import * as i1$1 from '@ngx-translate/core';
|
|
|
15
15
|
import { TranslateService, TranslatePipe, TranslateModule } from '@ngx-translate/core';
|
|
16
16
|
import * as i2$1 from 'primeng/api';
|
|
17
17
|
import { PrimeIcons } from 'primeng/api';
|
|
18
|
-
import { BehaviorSubject, filter, concat, of,
|
|
18
|
+
import { BehaviorSubject, map, filter, concat, of, combineLatest, mergeMap, first, tap, firstValueFrom, skip, defaultIfEmpty, forkJoin } from 'rxjs';
|
|
19
19
|
import { __decorate, __metadata } from 'tslib';
|
|
20
20
|
import * as i1$2 from '@angular/router';
|
|
21
21
|
import { NavigationEnd, Router, ActivatedRoute, RouterModule } from '@angular/router';
|
|
22
22
|
import { untilDestroyed, UntilDestroy } from '@ngneat/until-destroy';
|
|
23
|
+
import { SyncableTopic, isValidDate as isValidDate$1 } from '@onecx/accelerator';
|
|
23
24
|
import * as i5 from 'primeng/breadcrumb';
|
|
24
25
|
import { BreadcrumbModule } from 'primeng/breadcrumb';
|
|
25
26
|
import * as i8 from 'primeng/menu';
|
|
@@ -34,7 +35,6 @@ import * as i6$1 from 'primeng/selectbutton';
|
|
|
34
35
|
import { SelectButtonModule } from 'primeng/selectbutton';
|
|
35
36
|
import * as i7 from 'primeng/dataview';
|
|
36
37
|
import { DataViewModule } from 'primeng/dataview';
|
|
37
|
-
import { isValidDate as isValidDate$1, SyncableTopic } from '@onecx/accelerator';
|
|
38
38
|
import * as i7$1 from 'primeng/table';
|
|
39
39
|
import { TableModule } from 'primeng/table';
|
|
40
40
|
import * as i9 from 'primeng/multiselect';
|
|
@@ -252,14 +252,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
252
252
|
type: Output
|
|
253
253
|
}] } });
|
|
254
254
|
|
|
255
|
+
// This topic is defined here and not in integration-interface, because
|
|
256
|
+
// it is not used as framework independent integration but for improving
|
|
257
|
+
// angular specific things
|
|
258
|
+
class ManualBreadcrumbsTopic extends SyncableTopic {
|
|
259
|
+
constructor() {
|
|
260
|
+
super('manualBreadcrumbs', 1);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
255
263
|
let BreadcrumbService = class BreadcrumbService {
|
|
256
264
|
constructor(router, activeRoute, translateService) {
|
|
257
265
|
this.router = router;
|
|
258
266
|
this.activeRoute = activeRoute;
|
|
259
267
|
this.translateService = translateService;
|
|
260
|
-
this.itemsSource = new
|
|
268
|
+
this.itemsSource$ = new ManualBreadcrumbsTopic();
|
|
261
269
|
this.generatedItemsSource = new BehaviorSubject([]);
|
|
262
|
-
this.itemsHandler = this.itemsSource
|
|
270
|
+
this.itemsHandler = this.itemsSource$.pipe(map((manualBreadcrumbs) => manualBreadcrumbs.menuItems));
|
|
263
271
|
this.generateBreadcrumbs(this.activeRoute.snapshot);
|
|
264
272
|
this.router.events
|
|
265
273
|
.pipe(untilDestroyed(this), filter((e) => e instanceof NavigationEnd))
|
|
@@ -332,15 +340,19 @@ let BreadcrumbService = class BreadcrumbService {
|
|
|
332
340
|
];
|
|
333
341
|
if (translationKeys.length) {
|
|
334
342
|
this.translateService.get(translationKeys).subscribe((translations) => {
|
|
335
|
-
this.itemsSource
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
343
|
+
this.itemsSource$.publish({
|
|
344
|
+
menuItems: items.map((i) => ({
|
|
345
|
+
...i,
|
|
346
|
+
label: translations[i.labelKey || ''] || i.label,
|
|
347
|
+
title: translations[i.titleKey || ''] || i.title,
|
|
348
|
+
})),
|
|
349
|
+
});
|
|
340
350
|
});
|
|
341
351
|
}
|
|
342
352
|
else {
|
|
343
|
-
this.itemsSource
|
|
353
|
+
this.itemsSource$.publish({
|
|
354
|
+
menuItems: items,
|
|
355
|
+
});
|
|
344
356
|
}
|
|
345
357
|
}
|
|
346
358
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1$2.Router }, { token: i1$2.ActivatedRoute }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -348,7 +360,9 @@ let BreadcrumbService = class BreadcrumbService {
|
|
|
348
360
|
};
|
|
349
361
|
BreadcrumbService = __decorate([
|
|
350
362
|
UntilDestroy(),
|
|
351
|
-
__metadata("design:paramtypes", [Router,
|
|
363
|
+
__metadata("design:paramtypes", [Router,
|
|
364
|
+
ActivatedRoute,
|
|
365
|
+
TranslateService])
|
|
352
366
|
], BreadcrumbService);
|
|
353
367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: BreadcrumbService, decorators: [{
|
|
354
368
|
type: Injectable,
|
|
@@ -636,6 +650,8 @@ class SearchHeaderComponent {
|
|
|
636
650
|
this.viewMode = 'basic';
|
|
637
651
|
this.manualBreadcrumbs = false;
|
|
638
652
|
this._actions = [];
|
|
653
|
+
this.searchButtonDisabled = false;
|
|
654
|
+
this.resetButtonDisabled = false;
|
|
639
655
|
this.searched = new EventEmitter();
|
|
640
656
|
this.resetted = new EventEmitter();
|
|
641
657
|
this.selectedSearchConfigChanged = new EventEmitter();
|
|
@@ -715,11 +731,11 @@ class SearchHeaderComponent {
|
|
|
715
731
|
this.selectedSearchConfigChanged?.emit(searchConfig);
|
|
716
732
|
}
|
|
717
733
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SearchHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
718
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SearchHeaderComponent, selector: "ocx-search-header", inputs: { searchConfigs: "searchConfigs", header: "header", headline: "headline", subheader: "subheader", viewMode: "viewMode", manualBreadcrumbs: "manualBreadcrumbs", actions: "actions" }, outputs: { searched: "searched", resetted: "resetted", selectedSearchConfigChanged: "selectedSearchConfigChanged", viewModeChanged: "viewModeChanged" }, queries: [{ propertyName: "additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true }, { propertyName: "additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true }], viewQueries: [{ propertyName: "searchParameterFields", first: true, predicate: ["searchParameterFields"], descendants: true }], ngImport: i0, template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container
|
|
734
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SearchHeaderComponent, selector: "ocx-search-header", inputs: { searchConfigs: "searchConfigs", header: "header", headline: "headline", subheader: "subheader", viewMode: "viewMode", manualBreadcrumbs: "manualBreadcrumbs", actions: "actions", searchButtonDisabled: "searchButtonDisabled", resetButtonDisabled: "resetButtonDisabled" }, outputs: { searched: "searched", resetted: "resetted", selectedSearchConfigChanged: "selectedSearchConfigChanged", viewModeChanged: "viewModeChanged" }, queries: [{ propertyName: "additionalToolbarContent", first: true, predicate: ["additionalToolbarContent"], descendants: true }, { propertyName: "additionalToolbarContentLeft", first: true, predicate: ["additionalToolbarContentLeft"], descendants: true }], viewQueries: [{ propertyName: "searchParameterFields", first: true, predicate: ["searchParameterFields"], descendants: true }], ngImport: i0, template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container\n *ngIf=\"_additionalToolbarContentLeft\"\n [ngTemplateOutlet]=\"_additionalToolbarContentLeft\"\n ></ng-container>\n </ng-template>\n <ng-template #additionalToolbarContent>\n <ng-container *ngIf=\"_additionalToolbarContent\" [ngTemplateOutlet]=\"_additionalToolbarContent\"></ng-container>\n </ng-template>\n <div class=\"search-criteria-container\">\n <div #searchParameterFields>\n <ng-content></ng-content>\n <div class=\"search-criteria-buttons\">\n <p-button\n id=\"resetButton\"\n *ngIf=\"resetted.observed\"\n (onClick)=\"onResetClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-eraser\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"resetButtonDisabled\"\n >\n </p-button>\n\n <p-button\n id=\"searchButton\"\n (onClick)=\"onSearchClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-search\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"searchButtonDisabled\"\n >\n </p-button>\n </div>\n </div>\n </div>\n</ocx-page-header>\n", styles: [".search-criteria-buttons{display:flex;flex-flow:row;align-items:flex-start;gap:.5rem;margin-top:.5rem}.search-criteria-container{width:100%;display:flex}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: SearchConfigComponent, selector: "ocx-search-config", inputs: ["searchConfigs", "placeholderKey"], outputs: ["selectedSearchConfigChanged"] }, { kind: "component", type: PageHeaderComponent, selector: "ocx-page-header", inputs: ["header", "loading", "figureBackground", "showFigure", "figureImage", "disableDefaultActions", "subheader", "actions", "objectDetails", "showBreadcrumbs", "manualBreadcrumbs", "enableGridView", "gridLayoutDesktopColumns"], outputs: ["save"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
|
|
719
735
|
}
|
|
720
736
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SearchHeaderComponent, decorators: [{
|
|
721
737
|
type: Component,
|
|
722
|
-
args: [{ selector: 'ocx-search-header', template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container
|
|
738
|
+
args: [{ selector: 'ocx-search-header', template: "<ocx-page-header\n [header]=\"header || ('OCX_SEARCH_HEADER.HEADER' | translate)\"\n [subheader]=\"subheader\"\n [manualBreadcrumbs]=\"manualBreadcrumbs\"\n [actions]=\"headerActions\"\n>\n <ng-template #additionalToolbarContentLeft>\n <ocx-search-config [searchConfigs]=\"searchConfigs\" (selectedSearchConfigChanged)=\"confirmSearchConfig($event)\">\n </ocx-search-config>\n <ng-container\n *ngIf=\"_additionalToolbarContentLeft\"\n [ngTemplateOutlet]=\"_additionalToolbarContentLeft\"\n ></ng-container>\n </ng-template>\n <ng-template #additionalToolbarContent>\n <ng-container *ngIf=\"_additionalToolbarContent\" [ngTemplateOutlet]=\"_additionalToolbarContent\"></ng-container>\n </ng-template>\n <div class=\"search-criteria-container\">\n <div #searchParameterFields>\n <ng-content></ng-content>\n <div class=\"search-criteria-buttons\">\n <p-button\n id=\"resetButton\"\n *ngIf=\"resetted.observed\"\n (onClick)=\"onResetClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-eraser\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.RESET_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"resetButtonDisabled\"\n >\n </p-button>\n\n <p-button\n id=\"searchButton\"\n (onClick)=\"onSearchClicked()\"\n label=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.TEXT' | translate }}\"\n icon=\"pi pi-search\"\n [attr.aria-label]=\"'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate\"\n title=\"{{ 'OCX_SEARCH_HEADER.SEARCH_BUTTON.DETAIL' | translate }}\"\n [disabled]=\"searchButtonDisabled\"\n >\n </p-button>\n </div>\n </div>\n </div>\n</ocx-page-header>\n", styles: [".search-criteria-buttons{display:flex;flex-flow:row;align-items:flex-start;gap:.5rem;margin-top:.5rem}.search-criteria-container{width:100%;display:flex}\n"] }]
|
|
723
739
|
}], propDecorators: { searchConfigs: [{
|
|
724
740
|
type: Input
|
|
725
741
|
}], header: [{
|
|
@@ -734,6 +750,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
|
|
|
734
750
|
type: Input
|
|
735
751
|
}], actions: [{
|
|
736
752
|
type: Input
|
|
753
|
+
}], searchButtonDisabled: [{
|
|
754
|
+
type: Input
|
|
755
|
+
}], resetButtonDisabled: [{
|
|
756
|
+
type: Input
|
|
737
757
|
}], searched: [{
|
|
738
758
|
type: Output
|
|
739
759
|
}], resetted: [{
|
|
@@ -1178,6 +1198,7 @@ class DataListGridComponent extends DataSortBase {
|
|
|
1178
1198
|
return this._data$.getValue();
|
|
1179
1199
|
}
|
|
1180
1200
|
set data(value) {
|
|
1201
|
+
!this._data$.getValue().length ?? this.resetPage();
|
|
1181
1202
|
this._originalData = [...value];
|
|
1182
1203
|
this._data$.next([...value]);
|
|
1183
1204
|
}
|
|
@@ -1185,6 +1206,7 @@ class DataListGridComponent extends DataSortBase {
|
|
|
1185
1206
|
return this._filters$.getValue();
|
|
1186
1207
|
}
|
|
1187
1208
|
set filters(value) {
|
|
1209
|
+
!this._filters$.getValue().length ?? this.resetPage();
|
|
1188
1210
|
this._filters$.next(value);
|
|
1189
1211
|
}
|
|
1190
1212
|
get sortDirection() {
|
|
@@ -1418,6 +1440,10 @@ class DataListGridComponent extends DataSortBase {
|
|
|
1418
1440
|
this.page = page;
|
|
1419
1441
|
this.pageChanged.emit(page);
|
|
1420
1442
|
}
|
|
1443
|
+
resetPage() {
|
|
1444
|
+
this.page = 0;
|
|
1445
|
+
this.pageChanged.emit(this.page);
|
|
1446
|
+
}
|
|
1421
1447
|
fieldIsTruthy(object, key) {
|
|
1422
1448
|
return !!this.resolveFieldData(object, key);
|
|
1423
1449
|
}
|
|
@@ -1728,6 +1754,7 @@ class DataTableComponent extends DataSortBase {
|
|
|
1728
1754
|
return this._rows$.getValue();
|
|
1729
1755
|
}
|
|
1730
1756
|
set rows(value) {
|
|
1757
|
+
!this._rows$.getValue().length ?? this.resetPage();
|
|
1731
1758
|
this._rows$.next(value);
|
|
1732
1759
|
}
|
|
1733
1760
|
get selectedRows() {
|
|
@@ -1740,6 +1767,7 @@ class DataTableComponent extends DataSortBase {
|
|
|
1740
1767
|
return this._filters$.getValue();
|
|
1741
1768
|
}
|
|
1742
1769
|
set filters(value) {
|
|
1770
|
+
!this._filters$.getValue().length ?? this.resetPage();
|
|
1743
1771
|
this._filters$.next(value);
|
|
1744
1772
|
}
|
|
1745
1773
|
get sortDirection() {
|
|
@@ -1942,6 +1970,7 @@ class DataTableComponent extends DataSortBase {
|
|
|
1942
1970
|
this.filters = filters;
|
|
1943
1971
|
}
|
|
1944
1972
|
this.filtered.emit(filters);
|
|
1973
|
+
this.resetPage();
|
|
1945
1974
|
}
|
|
1946
1975
|
getSelectedFilters(columnId) {
|
|
1947
1976
|
return this.filters.filter((filter) => filter.columnId === columnId).map((filter) => filter.value);
|
|
@@ -1976,6 +2005,10 @@ class DataTableComponent extends DataSortBase {
|
|
|
1976
2005
|
this.page = page;
|
|
1977
2006
|
this.pageChanged.emit(page);
|
|
1978
2007
|
}
|
|
2008
|
+
resetPage() {
|
|
2009
|
+
this.page = 0;
|
|
2010
|
+
this.pageChanged.emit(this.page);
|
|
2011
|
+
}
|
|
1979
2012
|
fieldIsTruthy(object, key) {
|
|
1980
2013
|
return !!ObjectUtils.resolveFieldData(object, key);
|
|
1981
2014
|
}
|