@c8y/ngx-components 1018.0.170 → 1018.0.174
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.
|
@@ -100,10 +100,10 @@ export class TabsOutletComponent {
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
TabsOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: TabsOutletComponent, deps: [{ token: i1.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i2.HeaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
-
TabsOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: { tabs: "tabs", orientation: "orientation", navigatorOpen: "navigatorOpen" }, host: { properties: { "class.navigator-open": "this.isNavigatorOpen", "class.page-tabs": "this.hasTabs", "class.page-tabs-horizontal": "this.isHorizontal", "class.page-tabs-vertical": "this.isVertical" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "leftBtn", first: true, predicate: ["left"], descendants: true, read: ElementRef }, { propertyName: "rightBtn", first: true, predicate: ["right"], descendants: true, read: ElementRef }, { propertyName: "tabsContainer", first: true, predicate: ["tabsContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div
|
|
103
|
+
TabsOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: { tabs: "tabs", orientation: "orientation", navigatorOpen: "navigatorOpen" }, host: { properties: { "class.navigator-open": "this.isNavigatorOpen", "class.page-tabs": "this.hasTabs", "class.page-tabs-horizontal": "this.isHorizontal", "class.page-tabs-vertical": "this.isVertical" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "leftBtn", first: true, predicate: ["left"], descendants: true, read: ElementRef }, { propertyName: "rightBtn", first: true, predicate: ["right"], descendants: true, read: ElementRef }, { propertyName: "tabsContainer", first: true, predicate: ["tabsContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"tabContainer hidden-xs\"\n #container\n>\n <button\n class=\"tabs-slider tabs-slider-left\"\n title=\"{{ 'Scroll to the left' | translate }}\"\n type=\"button\"\n #left\n *ngIf=\"showLeft || showRight\"\n [disabled]=\"!showLeft\"\n (click)=\"scroll('left')\"\n >\n <i [c8yIcon]=\"'chevron-left'\"></i>\n </button>\n <button\n class=\"tabs-slider tabs-slider-right\"\n title=\"{{ 'Scroll to the right' | translate }}\"\n type=\"button\"\n #right\n *ngIf=\"showRight || showLeft\"\n [disabled]=\"!showRight\"\n (click)=\"scroll('right')\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n <div\n class=\"nav nav-tabs nav-tabsc8y\"\n role=\"list\"\n #tabsContainer\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <div\n role=\"listitem\"\n [ngClass]=\"{ active: rla?.isActive }\"\n *ngIf=\"!tab.component\"\n >\n <a\n title=\"{{ tab?.label | translate }}\"\n [routerLink]=\"tab.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n >\n <i\n [c8yIcon]=\"tab?.icon\"\n *ngIf=\"!tab.template && tab?.icon\"\n ></i>\n <span *ngIf=\"!tab.template && !tab.component\">\n {{ tab?.label | translate }}\n </span>\n </a>\n <ng-container *ngTemplateOutlet=\"tab.template; injector: tab.injector\"></ng-container>\n </div>\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<div class=\"visible-xs mobile-tabs\">\n <ul class=\"list-unstyled d-flex m-b-0\">\n <li class=\"c8y-select-wrapper flex-grow\">\n <select\n (change)=\"navigateTo($event.target.value)\"\n #select\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <option\n *ngIf=\"!tab.component\"\n [value]=\"tab.path\"\n [selected]=\"isActive(tab)\"\n >\n {{ tab?.label | translate }}\n </option>\n </ng-container>\n </select>\n </li>\n <ng-container *ngFor=\"let tab of tabs\">\n <ng-container *ngIf=\"tab.component\">\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: i3.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }] });
|
|
104
104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: TabsOutletComponent, decorators: [{
|
|
105
105
|
type: Component,
|
|
106
|
-
args: [{ selector: 'c8y-tabs-outlet,c8y-ui-tabs', template: "<div
|
|
106
|
+
args: [{ selector: 'c8y-tabs-outlet,c8y-ui-tabs', template: "<div\n class=\"tabContainer hidden-xs\"\n #container\n>\n <button\n class=\"tabs-slider tabs-slider-left\"\n title=\"{{ 'Scroll to the left' | translate }}\"\n type=\"button\"\n #left\n *ngIf=\"showLeft || showRight\"\n [disabled]=\"!showLeft\"\n (click)=\"scroll('left')\"\n >\n <i [c8yIcon]=\"'chevron-left'\"></i>\n </button>\n <button\n class=\"tabs-slider tabs-slider-right\"\n title=\"{{ 'Scroll to the right' | translate }}\"\n type=\"button\"\n #right\n *ngIf=\"showRight || showLeft\"\n [disabled]=\"!showRight\"\n (click)=\"scroll('right')\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n <div\n class=\"nav nav-tabs nav-tabsc8y\"\n role=\"list\"\n #tabsContainer\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <div\n role=\"listitem\"\n [ngClass]=\"{ active: rla?.isActive }\"\n *ngIf=\"!tab.component\"\n >\n <a\n title=\"{{ tab?.label | translate }}\"\n [routerLink]=\"tab.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n >\n <i\n [c8yIcon]=\"tab?.icon\"\n *ngIf=\"!tab.template && tab?.icon\"\n ></i>\n <span *ngIf=\"!tab.template && !tab.component\">\n {{ tab?.label | translate }}\n </span>\n </a>\n <ng-container *ngTemplateOutlet=\"tab.template; injector: tab.injector\"></ng-container>\n </div>\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<div class=\"visible-xs mobile-tabs\">\n <ul class=\"list-unstyled d-flex m-b-0\">\n <li class=\"c8y-select-wrapper flex-grow\">\n <select\n (change)=\"navigateTo($event.target.value)\"\n #select\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <option\n *ngIf=\"!tab.component\"\n [value]=\"tab.path\"\n [selected]=\"isActive(tab)\"\n >\n {{ tab?.label | translate }}\n </option>\n </ng-container>\n </select>\n </li>\n <ng-container *ngFor=\"let tab of tabs\">\n <ng-container *ngIf=\"tab.component\">\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</div>\n" }]
|
|
107
107
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i2.HeaderService }]; }, propDecorators: { tabs: [{
|
|
108
108
|
type: Input
|
|
109
109
|
}], orientation: [{
|
|
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
135
135
|
type: ViewChild,
|
|
136
136
|
args: ['tabsContainer', { read: ElementRef, static: false }]
|
|
137
137
|
}] } });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS90YWJzL3RhYnMtb3V0bGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2NvcmUvdGFicy90YWJzLW91dGxldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBS1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFnQixlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU16RCxNQUFNLE9BQU8sbUJBQW1CO0lBOEI5QixZQUNVLE1BQWMsRUFDZCxRQUFtQixFQUNuQixFQUFjLEVBQ2QsTUFBcUI7UUFIckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFqQ3RCLFNBQUksR0FBVSxFQUFFLENBQUM7UUFDakIsZ0JBQVcsR0FBOEIsVUFBVSxDQUFDO1FBQ3BELGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQXVCVixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBT25ELENBQUM7SUE3QkosSUFBeUMsZUFBZTtRQUN0RCxPQUFPLElBQUksQ0FB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c0JBQXNCO2dCQUdDLE9BQU87c0JBQTFDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU9pQixZQUFZO3NCQUExRCxXQUFXO3VCQUFDLDRCQUE0QjtnQkFHSSxVQUFVO3NCQUF0RCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFHNkIsU0FBUztzQkFBNUUsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ00sT0FBTztzQkFBdEUsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1csUUFBUTtzQkFBeEUsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRS9DLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgSG9zdEJpbmRpbmcsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBPbkRlc3Ryb3ksXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb21FdmVudFBhdHRlcm4sIGZyb21FdmVudCwgbWVyZ2UsIFN1YnNjcmlwdGlvbiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGFiIH0gZnJvbSAnLi90YWIubW9kZWwnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS10YWJzLW91dGxldCxjOHktdWktdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzLW91dGxldC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGFic091dGxldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdGFiczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAndmVydGljYWwnO1xuICBASW5wdXQoKSBuYXZpZ2F0b3JPcGVuID0gZmFsc2U7XG4gIHNob3dMZWZ0ID0gZmFsc2U7XG4gIHNob3dSaWdodCA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5hdmlnYXRvci1vcGVuJykgZ2V0IGlzTmF2aWdhdG9yT3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0b3JPcGVuO1xuICB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFnZS10YWJzJykgZ2V0IGhhc1RhYnMoKSB7XG4gICAgbGV0IHZpc2libGVUYWJzID0gW107XG4gICAgaWYgKHRoaXMudGFicykge1xuICAgICAgdmlzaWJsZVRhYnMgPSB0aGlzLnRhYnMuZmlsdGVyKHRhYiA9PiB0YWIuaGlkZSAhPT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiB2aXNpYmxlVGFicy5sZW5ndGggPiAxIHx8IHZpc2libGVUYWJzLmZpbmQodGFiID0+IHRhYi5zaG93QWx3YXlzKTtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhZ2UtdGFicy1ob3Jpem9udGFsJykgZ2V0IGlzSG9yaXpvbnRhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnO1xuICB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFnZS10YWJzLXZlcnRpY2FsJykgZ2V0IGlzVmVydGljYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gIT09ICdob3Jpem9udGFsJztcbiAgfVxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbGVmdCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIGxlZnRCdG46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3JpZ2h0JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgcmlnaHRCdG46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RhYnNDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSB0YWJzQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIHNjcm9sbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHRhYnNDaGFuZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFiW10+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgaGVhZGVyOiBIZWFkZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMudGFicykge1xuICAgICAgdGhpcy50YWJzQ2hhbmdlcyQubmV4dCh0aGlzLnRhYnMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBpc0FjdGl2ZSh0YWI6IFRhYikge1xuICAgIGlmICh0YWIgJiYgdGFiLnBhdGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlci5pc0FjdGl2ZSh0YWIucGF0aCwgZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVUbyhwYXRoKSB7XG4gICAgdGhpcy5oZWFkZXIudG9nZ2xlKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3BhdGhdKTtcbiAgfVxuXG4gIHNjcm9sbChkaXJlY3Rpb246ICdyaWdodCcgfCAnbGVmdCcgPSAncmlnaHQnKSB7XG4gICAgY29uc3QgeyB3aWR0aFNjcm9sbCwgd2lkdGgsIHNjcm9sbExlZnQgfSA9IHRoaXMuZ2V0RGltZW5zaW9ucygpO1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBkaXJlY3Rpb24gPT09ICdsZWZ0JyA/IC0xIDogMTtcblxuICAgIGxldCB0YXJnZXRTY3JvbGwgPSBzY3JvbGxMZWZ0ICsgd2lkdGggKiBtdWx0aXBsaWVyO1xuICAgIGlmICh0YXJnZXRTY3JvbGwgPCAwKSB7XG4gICAgICB0YXJnZXRTY3JvbGwgPSAwO1xuICAgIH1cbiAgICBpZiAodGFyZ2V0U2Nyb2xsID4gd2lkdGhTY3JvbGwgLSB3aWR0aCkge1xuICAgICAgdGFyZ2V0U2Nyb2xsID0gd2lkdGhTY3JvbGwgLSB3aWR0aDtcbiAgICB9XG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGFyZ2V0U2Nyb2xsO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxTdWJzY3JpYmUoKSB7XG4gICAgbGV0IHVubGlzdGVuO1xuICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICB0aGlzLnRhYnNDaGFuZ2VzJCxcbiAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJyksXG4gICAgICBmcm9tRXZlbnRQYXR0ZXJuKFxuICAgICAgICAoaGFuZGxlcjogYW55KSA9PiB7XG4gICAgICAgICAgdW5saXN0ZW4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsIGhhbmRsZXIpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB1bmxpc3RlbigpXG4gICAgICApXG4gICAgKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlU2Nyb2xsKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTY3JvbGwoKSB7XG4gICAgY29uc3QgeyB3aWR0aFNjcm9sbCwgd2lkdGgsIHNjcm9sbExlZnQgfSA9IHRoaXMuZ2V0RGltZW5zaW9ucygpO1xuICAgIHRoaXMuc2hvd0xlZnQgPSAhIXNjcm9sbExlZnQ7XG4gICAgdGhpcy5zaG93UmlnaHQgPSB3aWR0aFNjcm9sbCA+IHdpZHRoICsgc2Nyb2xsTGVmdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGltZW5zaW9ucygpIHtcbiAgICBjb25zdCBlbFRhYnMgPSB0aGlzLnRhYnNDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgd2lkdGhTY3JvbGwgPSBlbFRhYnMuc2Nyb2xsV2lkdGg7XG4gICAgY29uc3Qgd2lkdGggPSBlbC5jbGllbnRXaWR0aDtcbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gZWwuc2Nyb2xsTGVmdDtcbiAgICByZXR1cm4geyB3aWR0aFNjcm9sbCwgd2lkdGgsIHNjcm9sbExlZnQgfTtcbiAgfVxufVxuIiwiPGRpdiAjY29udGFpbmVyIGNsYXNzPVwidGFiQ29udGFpbmVyIGhpZGRlbi14c1wiPlxuICA8YnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0YWJzLXNsaWRlciB0YWJzLXNsaWRlci1sZWZ0XCJcbiAgICAjbGVmdFxuICAgICpuZ0lmPVwic2hvd0xlZnQgfHwgc2hvd1JpZ2h0XCJcbiAgICBbZGlzYWJsZWRdPVwiIXNob3dMZWZ0XCJcbiAgICAoY2xpY2spPVwic2Nyb2xsKCdsZWZ0JylcIlxuICAgIHRpdGxlPVwie3snU2Nyb2xsIHRvIHRoZSBsZWZ0JyB8IHRyYW5zbGF0ZX19XCJcbiAgPlxuICAgIDxpIFtjOHlJY29uXT1cIidjaGV2cm9uLWxlZnQnXCI+PC9pPlxuICA8L2J1dHRvbj5cbiAgPGJ1dHRvblxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwidGFicy1zbGlkZXIgdGFicy1zbGlkZXItcmlnaHRcIlxuICAgICNyaWdodFxuICAgICpuZ0lmPVwic2hvd1JpZ2h0IHx8IHNob3dMZWZ0XCJcbiAgICBbZGlzYWJsZWRdPVwiIXNob3dSaWdodFwiXG4gICAgKGNsaWNrKT1cInNjcm9sbCgncmlnaHQnKVwiXG4gICAgdGl0bGU9XCJ7eydTY3JvbGwgdG8gdGhlIHJpZ2h0JyB8IHRyYW5zbGF0ZX19XCJcbiAgPlxuICAgIDxpIFtjOHlJY29uXT1cIidjaGV2cm9uLXJpZ2h0J1wiPjwvaT5cbiAgPC9idXR0b24+XG4gIDxkaXYgcm9sZT1cImxpc3RcIiBjbGFzcz1cIm5hdiBuYXYtdGFicyBuYXYtdGFic2M4eVwiICN0YWJzQ29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHRhYiBvZiB0YWJzXCI+XG4gICAgICA8ZGl2IHJvbGU9XCJsaXN0aXRlbVwiIFtuZ0NsYXNzXT1cInsgYWN0aXZlOiBybGE/LmlzQWN0aXZlIH1cIiAqbmdJZj1cIiF0YWIuY29tcG9uZW50XCI+XG4gICAgICAgIDxhXG4gICAgICAgICAgW3JvdXRlckxpbmtdPVwidGFiLnBhdGhcIlxuICAgICAgICAgIHJvdXRlckxpbmtBY3RpdmVcbiAgICAgICAgICAjcmxhPVwicm91dGVyTGlua0FjdGl2ZVwiXG4gICAgICAgICAgdGl0bGU9XCJ7eyB0YWI/LmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpIFtjOHlJY29uXT1cInRhYj8uaWNvblwiICpuZ0lmPVwiIXRhYi50ZW1wbGF0ZSAmJiB0YWI/Lmljb25cIj48L2k+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhdGFiLnRlbXBsYXRlICYmICF0YWIuY29tcG9uZW50XCI+XG4gICAgICAgICAgICB7eyB0YWI/LmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIudGVtcGxhdGU7IGluamVjdG9yOiB0YWIuaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJ0YWIuY29tcG9uZW50OyBpbmplY3RvcjogdGFiLmluamVjdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJ2aXNpYmxlLXhzIG1vYmlsZS10YWJzXCI+XG4gIDx1bCBjbGFzcz1cImxpc3QtdW5zdHlsZWQgZC1mbGV4IG0tYi0wXCI+XG4gICAgPGxpIGNsYXNzPVwiYzh5LXNlbGVjdC13cmFwcGVyIGZsZXgtZ3Jvd1wiPlxuICAgICAgPHNlbGVjdCAoY2hhbmdlKT1cIm5hdmlnYXRlVG8oJGV2ZW50LnRhcmdldClcIiAjc2VsZWN0PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgICAgIDxvcHRpb24gKm5nSWY9XCIhdGFiLmNvbXBvbmVudFwiIFt2YWx1ZV09XCJ0YWIucGF0aFwiIFtzZWxlY3RlZF09XCJpc0FjdGl2ZSh0YWIpXCI+XG4gICAgICAgICAgICB7eyB0YWI/LmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9saT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRhYi5jb21wb25lbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJ0YWIuY29tcG9uZW50OyBpbmplY3RvcjogdGFiLmluamVjdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbjwvZGl2PlxuIl19
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy1vdXRsZXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS90YWJzL3RhYnMtb3V0bGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2NvcmUvdGFicy90YWJzLW91dGxldC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFDTCxXQUFXLEVBQ1gsU0FBUyxFQUNULFVBQVUsRUFDVixTQUFTLEVBS1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFnQixlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7OztBQU16RCxNQUFNLE9BQU8sbUJBQW1CO0lBOEI5QixZQUNVLE1BQWMsRUFDZCxRQUFtQixFQUNuQixFQUFjLEVBQ2QsTUFBcUI7UUFIckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFqQ3RCLFNBQUksR0FBVSxFQUFFLENBQUM7UUFDakIsZ0JBQVcsR0FBOEIsVUFBVSxDQUFDO1FBQ3BELGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQy9CLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQXVCVixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFRLEVBQUUsQ0FBQyxDQUFDO0lBT25ELENBQUM7SUE3QkosSUFBeUMsZUFBZTtRQUN0RCxPQUFPLElBQUksQ0FB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c0JBQXNCO2dCQUdDLE9BQU87c0JBQTFDLFdBQVc7dUJBQUMsaUJBQWlCO2dCQU9pQixZQUFZO3NCQUExRCxXQUFXO3VCQUFDLDRCQUE0QjtnQkFHSSxVQUFVO3NCQUF0RCxXQUFXO3VCQUFDLDBCQUEwQjtnQkFHNkIsU0FBUztzQkFBNUUsU0FBUzt1QkFBQyxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ00sT0FBTztzQkFBdEUsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ1csUUFBUTtzQkFBeEUsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRS9DLGFBQWE7c0JBRHBCLFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgSG9zdEJpbmRpbmcsXG4gIFJlbmRlcmVyMixcbiAgRWxlbWVudFJlZixcbiAgVmlld0NoaWxkLFxuICBPbkRlc3Ryb3ksXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGZyb21FdmVudFBhdHRlcm4sIGZyb21FdmVudCwgbWVyZ2UsIFN1YnNjcmlwdGlvbiwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVGFiIH0gZnJvbSAnLi90YWIubW9kZWwnO1xuaW1wb3J0IHsgSGVhZGVyU2VydmljZSB9IGZyb20gJy4uL2hlYWRlci9oZWFkZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS10YWJzLW91dGxldCxjOHktdWktdGFicycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJzLW91dGxldC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgVGFic091dGxldENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgdGFiczogYW55W10gPSBbXTtcbiAgQElucHV0KCkgb3JpZW50YXRpb246ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgPSAndmVydGljYWwnO1xuICBASW5wdXQoKSBuYXZpZ2F0b3JPcGVuID0gZmFsc2U7XG4gIHNob3dMZWZ0ID0gZmFsc2U7XG4gIHNob3dSaWdodCA9IGZhbHNlO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5hdmlnYXRvci1vcGVuJykgZ2V0IGlzTmF2aWdhdG9yT3BlbigpIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0b3JPcGVuO1xuICB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFnZS10YWJzJykgZ2V0IGhhc1RhYnMoKSB7XG4gICAgbGV0IHZpc2libGVUYWJzID0gW107XG4gICAgaWYgKHRoaXMudGFicykge1xuICAgICAgdmlzaWJsZVRhYnMgPSB0aGlzLnRhYnMuZmlsdGVyKHRhYiA9PiB0YWIuaGlkZSAhPT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiB2aXNpYmxlVGFicy5sZW5ndGggPiAxIHx8IHZpc2libGVUYWJzLmZpbmQodGFiID0+IHRhYi5zaG93QWx3YXlzKTtcbiAgfVxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnBhZ2UtdGFicy1ob3Jpem9udGFsJykgZ2V0IGlzSG9yaXpvbnRhbCgpIHtcbiAgICByZXR1cm4gdGhpcy5vcmllbnRhdGlvbiA9PT0gJ2hvcml6b250YWwnO1xuICB9XG4gIEBIb3N0QmluZGluZygnY2xhc3MucGFnZS10YWJzLXZlcnRpY2FsJykgZ2V0IGlzVmVydGljYWwoKSB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gIT09ICdob3Jpem9udGFsJztcbiAgfVxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcbiAgQFZpZXdDaGlsZCgnbGVmdCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIGxlZnRCdG46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3JpZ2h0JywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgcmlnaHRCdG46IEVsZW1lbnRSZWY7XG4gIEBWaWV3Q2hpbGQoJ3RhYnNDb250YWluZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgcHJpdmF0ZSB0YWJzQ29udGFpbmVyOiBFbGVtZW50UmVmO1xuICBwcml2YXRlIHNjcm9sbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIHRhYnNDaGFuZ2VzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFiW10+KFtdKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgaGVhZGVyOiBIZWFkZXJTZXJ2aWNlXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXMudGFicykge1xuICAgICAgdGhpcy50YWJzQ2hhbmdlcyQubmV4dCh0aGlzLnRhYnMpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgaWYgKHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJykge1xuICAgICAgdGhpcy5zY3JvbGxTdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBpc0FjdGl2ZSh0YWI6IFRhYikge1xuICAgIGlmICh0YWIgJiYgdGFiLnBhdGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnJvdXRlci5pc0FjdGl2ZSh0YWIucGF0aCwgZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVUbyhwYXRoKSB7XG4gICAgdGhpcy5oZWFkZXIudG9nZ2xlKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3BhdGhdKTtcbiAgfVxuXG4gIHNjcm9sbChkaXJlY3Rpb246ICdyaWdodCcgfCAnbGVmdCcgPSAncmlnaHQnKSB7XG4gICAgY29uc3QgeyB3aWR0aFNjcm9sbCwgd2lkdGgsIHNjcm9sbExlZnQgfSA9IHRoaXMuZ2V0RGltZW5zaW9ucygpO1xuICAgIGNvbnN0IG11bHRpcGxpZXIgPSBkaXJlY3Rpb24gPT09ICdsZWZ0JyA/IC0xIDogMTtcblxuICAgIGxldCB0YXJnZXRTY3JvbGwgPSBzY3JvbGxMZWZ0ICsgd2lkdGggKiBtdWx0aXBsaWVyO1xuICAgIGlmICh0YXJnZXRTY3JvbGwgPCAwKSB7XG4gICAgICB0YXJnZXRTY3JvbGwgPSAwO1xuICAgIH1cbiAgICBpZiAodGFyZ2V0U2Nyb2xsID4gd2lkdGhTY3JvbGwgLSB3aWR0aCkge1xuICAgICAgdGFyZ2V0U2Nyb2xsID0gd2lkdGhTY3JvbGwgLSB3aWR0aDtcbiAgICB9XG4gICAgdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGFyZ2V0U2Nyb2xsO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JvbGxTdWJzY3JpYmUoKSB7XG4gICAgbGV0IHVubGlzdGVuO1xuICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICB0aGlzLnRhYnNDaGFuZ2VzJCxcbiAgICAgIGZyb21FdmVudCh0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCAnc2Nyb2xsJyksXG4gICAgICBmcm9tRXZlbnRQYXR0ZXJuKFxuICAgICAgICAoaGFuZGxlcjogYW55KSA9PiB7XG4gICAgICAgICAgdW5saXN0ZW4gPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsIGhhbmRsZXIpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB1bmxpc3RlbigpXG4gICAgICApXG4gICAgKVxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlU2Nyb2xsKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTY3JvbGwoKSB7XG4gICAgY29uc3QgeyB3aWR0aFNjcm9sbCwgd2lkdGgsIHNjcm9sbExlZnQgfSA9IHRoaXMuZ2V0RGltZW5zaW9ucygpO1xuICAgIHRoaXMuc2hvd0xlZnQgPSAhIXNjcm9sbExlZnQ7XG4gICAgdGhpcy5zaG93UmlnaHQgPSB3aWR0aFNjcm9sbCA+IHdpZHRoICsgc2Nyb2xsTGVmdDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGltZW5zaW9ucygpIHtcbiAgICBjb25zdCBlbFRhYnMgPSB0aGlzLnRhYnNDb250YWluZXIubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBlbCA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3Qgd2lkdGhTY3JvbGwgPSBlbFRhYnMuc2Nyb2xsV2lkdGg7XG4gICAgY29uc3Qgd2lkdGggPSBlbC5jbGllbnRXaWR0aDtcbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gZWwuc2Nyb2xsTGVmdDtcbiAgICByZXR1cm4geyB3aWR0aFNjcm9sbCwgd2lkdGgsIHNjcm9sbExlZnQgfTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInRhYkNvbnRhaW5lciBoaWRkZW4teHNcIlxuICAjY29udGFpbmVyXG4+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cInRhYnMtc2xpZGVyIHRhYnMtc2xpZGVyLWxlZnRcIlxuICAgIHRpdGxlPVwie3sgJ1Njcm9sbCB0byB0aGUgbGVmdCcgfCB0cmFuc2xhdGUgfX1cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgICNsZWZ0XG4gICAgKm5nSWY9XCJzaG93TGVmdCB8fCBzaG93UmlnaHRcIlxuICAgIFtkaXNhYmxlZF09XCIhc2hvd0xlZnRcIlxuICAgIChjbGljayk9XCJzY3JvbGwoJ2xlZnQnKVwiXG4gID5cbiAgICA8aSBbYzh5SWNvbl09XCInY2hldnJvbi1sZWZ0J1wiPjwvaT5cbiAgPC9idXR0b24+XG4gIDxidXR0b25cbiAgICBjbGFzcz1cInRhYnMtc2xpZGVyIHRhYnMtc2xpZGVyLXJpZ2h0XCJcbiAgICB0aXRsZT1cInt7ICdTY3JvbGwgdG8gdGhlIHJpZ2h0JyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgI3JpZ2h0XG4gICAgKm5nSWY9XCJzaG93UmlnaHQgfHwgc2hvd0xlZnRcIlxuICAgIFtkaXNhYmxlZF09XCIhc2hvd1JpZ2h0XCJcbiAgICAoY2xpY2spPVwic2Nyb2xsKCdyaWdodCcpXCJcbiAgPlxuICAgIDxpIFtjOHlJY29uXT1cIidjaGV2cm9uLXJpZ2h0J1wiPjwvaT5cbiAgPC9idXR0b24+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm5hdiBuYXYtdGFicyBuYXYtdGFic2M4eVwiXG4gICAgcm9sZT1cImxpc3RcIlxuICAgICN0YWJzQ29udGFpbmVyXG4gID5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCB0YWIgb2YgdGFic1wiPlxuICAgICAgPGRpdlxuICAgICAgICByb2xlPVwibGlzdGl0ZW1cIlxuICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogcmxhPy5pc0FjdGl2ZSB9XCJcbiAgICAgICAgKm5nSWY9XCIhdGFiLmNvbXBvbmVudFwiXG4gICAgICA+XG4gICAgICAgIDxhXG4gICAgICAgICAgdGl0bGU9XCJ7eyB0YWI/LmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICBbcm91dGVyTGlua109XCJ0YWIucGF0aFwiXG4gICAgICAgICAgcm91dGVyTGlua0FjdGl2ZVxuICAgICAgICAgICNybGE9XCJyb3V0ZXJMaW5rQWN0aXZlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpXG4gICAgICAgICAgICBbYzh5SWNvbl09XCJ0YWI/Lmljb25cIlxuICAgICAgICAgICAgKm5nSWY9XCIhdGFiLnRlbXBsYXRlICYmIHRhYj8uaWNvblwiXG4gICAgICAgICAgPjwvaT5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiF0YWIudGVtcGxhdGUgJiYgIXRhYi5jb21wb25lbnRcIj5cbiAgICAgICAgICAgIHt7IHRhYj8ubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi50ZW1wbGF0ZTsgaW5qZWN0b3I6IHRhYi5pbmplY3RvclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0NvbXBvbmVudE91dGxldD1cInRhYi5jb21wb25lbnQ7IGluamVjdG9yOiB0YWIuaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cInZpc2libGUteHMgbW9iaWxlLXRhYnNcIj5cbiAgPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZCBkLWZsZXggbS1iLTBcIj5cbiAgICA8bGkgY2xhc3M9XCJjOHktc2VsZWN0LXdyYXBwZXIgZmxleC1ncm93XCI+XG4gICAgICA8c2VsZWN0XG4gICAgICAgIChjaGFuZ2UpPVwibmF2aWdhdGVUbygkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICNzZWxlY3RcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAqbmdJZj1cIiF0YWIuY29tcG9uZW50XCJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ0YWIucGF0aFwiXG4gICAgICAgICAgICBbc2VsZWN0ZWRdPVwiaXNBY3RpdmUodGFiKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgdGFiPy5sYWJlbCB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvc2VsZWN0PlxuICAgIDwvbGk+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIuY29tcG9uZW50XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwidGFiLmNvbXBvbmVudDsgaW5qZWN0b3I6IHRhYi5pbmplY3RvclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -14655,10 +14655,10 @@ class TabsOutletComponent {
|
|
|
14655
14655
|
}
|
|
14656
14656
|
}
|
|
14657
14657
|
TabsOutletComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: TabsOutletComponent, deps: [{ token: i1$6.Router }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: HeaderService }], target: i0.ɵɵFactoryTarget.Component });
|
|
14658
|
-
TabsOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: { tabs: "tabs", orientation: "orientation", navigatorOpen: "navigatorOpen" }, host: { properties: { "class.navigator-open": "this.isNavigatorOpen", "class.page-tabs": "this.hasTabs", "class.page-tabs-horizontal": "this.isHorizontal", "class.page-tabs-vertical": "this.isVertical" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "leftBtn", first: true, predicate: ["left"], descendants: true, read: ElementRef }, { propertyName: "rightBtn", first: true, predicate: ["right"], descendants: true, read: ElementRef }, { propertyName: "tabsContainer", first: true, predicate: ["tabsContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div
|
|
14658
|
+
TabsOutletComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: TabsOutletComponent, selector: "c8y-tabs-outlet,c8y-ui-tabs", inputs: { tabs: "tabs", orientation: "orientation", navigatorOpen: "navigatorOpen" }, host: { properties: { "class.navigator-open": "this.isNavigatorOpen", "class.page-tabs": "this.hasTabs", "class.page-tabs-horizontal": "this.isHorizontal", "class.page-tabs-vertical": "this.isVertical" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ElementRef, static: true }, { propertyName: "leftBtn", first: true, predicate: ["left"], descendants: true, read: ElementRef }, { propertyName: "rightBtn", first: true, predicate: ["right"], descendants: true, read: ElementRef }, { propertyName: "tabsContainer", first: true, predicate: ["tabsContainer"], descendants: true, read: ElementRef }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"tabContainer hidden-xs\"\n #container\n>\n <button\n class=\"tabs-slider tabs-slider-left\"\n title=\"{{ 'Scroll to the left' | translate }}\"\n type=\"button\"\n #left\n *ngIf=\"showLeft || showRight\"\n [disabled]=\"!showLeft\"\n (click)=\"scroll('left')\"\n >\n <i [c8yIcon]=\"'chevron-left'\"></i>\n </button>\n <button\n class=\"tabs-slider tabs-slider-right\"\n title=\"{{ 'Scroll to the right' | translate }}\"\n type=\"button\"\n #right\n *ngIf=\"showRight || showLeft\"\n [disabled]=\"!showRight\"\n (click)=\"scroll('right')\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n <div\n class=\"nav nav-tabs nav-tabsc8y\"\n role=\"list\"\n #tabsContainer\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <div\n role=\"listitem\"\n [ngClass]=\"{ active: rla?.isActive }\"\n *ngIf=\"!tab.component\"\n >\n <a\n title=\"{{ tab?.label | translate }}\"\n [routerLink]=\"tab.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n >\n <i\n [c8yIcon]=\"tab?.icon\"\n *ngIf=\"!tab.template && tab?.icon\"\n ></i>\n <span *ngIf=\"!tab.template && !tab.component\">\n {{ tab?.label | translate }}\n </span>\n </a>\n <ng-container *ngTemplateOutlet=\"tab.template; injector: tab.injector\"></ng-container>\n </div>\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<div class=\"visible-xs mobile-tabs\">\n <ul class=\"list-unstyled d-flex m-b-0\">\n <li class=\"c8y-select-wrapper flex-grow\">\n <select\n (change)=\"navigateTo($event.target.value)\"\n #select\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <option\n *ngIf=\"!tab.component\"\n [value]=\"tab.path\"\n [selected]=\"isActive(tab)\"\n >\n {{ tab?.label | translate }}\n </option>\n </ng-container>\n </select>\n </li>\n <ng-container *ngFor=\"let tab of tabs\">\n <ng-container *ngIf=\"tab.component\">\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</div>\n", dependencies: [{ kind: "directive", type: IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { kind: "directive", type: i1$6.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "pipe", type: C8yTranslatePipe, name: "translate" }] });
|
|
14659
14659
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: TabsOutletComponent, decorators: [{
|
|
14660
14660
|
type: Component,
|
|
14661
|
-
args: [{ selector: 'c8y-tabs-outlet,c8y-ui-tabs', template: "<div
|
|
14661
|
+
args: [{ selector: 'c8y-tabs-outlet,c8y-ui-tabs', template: "<div\n class=\"tabContainer hidden-xs\"\n #container\n>\n <button\n class=\"tabs-slider tabs-slider-left\"\n title=\"{{ 'Scroll to the left' | translate }}\"\n type=\"button\"\n #left\n *ngIf=\"showLeft || showRight\"\n [disabled]=\"!showLeft\"\n (click)=\"scroll('left')\"\n >\n <i [c8yIcon]=\"'chevron-left'\"></i>\n </button>\n <button\n class=\"tabs-slider tabs-slider-right\"\n title=\"{{ 'Scroll to the right' | translate }}\"\n type=\"button\"\n #right\n *ngIf=\"showRight || showLeft\"\n [disabled]=\"!showRight\"\n (click)=\"scroll('right')\"\n >\n <i [c8yIcon]=\"'chevron-right'\"></i>\n </button>\n <div\n class=\"nav nav-tabs nav-tabsc8y\"\n role=\"list\"\n #tabsContainer\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <div\n role=\"listitem\"\n [ngClass]=\"{ active: rla?.isActive }\"\n *ngIf=\"!tab.component\"\n >\n <a\n title=\"{{ tab?.label | translate }}\"\n [routerLink]=\"tab.path\"\n routerLinkActive\n #rla=\"routerLinkActive\"\n >\n <i\n [c8yIcon]=\"tab?.icon\"\n *ngIf=\"!tab.template && tab?.icon\"\n ></i>\n <span *ngIf=\"!tab.template && !tab.component\">\n {{ tab?.label | translate }}\n </span>\n </a>\n <ng-container *ngTemplateOutlet=\"tab.template; injector: tab.injector\"></ng-container>\n </div>\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </div>\n</div>\n\n<div class=\"visible-xs mobile-tabs\">\n <ul class=\"list-unstyled d-flex m-b-0\">\n <li class=\"c8y-select-wrapper flex-grow\">\n <select\n (change)=\"navigateTo($event.target.value)\"\n #select\n >\n <ng-container *ngFor=\"let tab of tabs\">\n <option\n *ngIf=\"!tab.component\"\n [value]=\"tab.path\"\n [selected]=\"isActive(tab)\"\n >\n {{ tab?.label | translate }}\n </option>\n </ng-container>\n </select>\n </li>\n <ng-container *ngFor=\"let tab of tabs\">\n <ng-container *ngIf=\"tab.component\">\n <ng-container *ngComponentOutlet=\"tab.component; injector: tab.injector\"></ng-container>\n </ng-container>\n </ng-container>\n </ul>\n</div>\n" }]
|
|
14662
14662
|
}], ctorParameters: function () { return [{ type: i1$6.Router }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: HeaderService }]; }, propDecorators: { tabs: [{
|
|
14663
14663
|
type: Input
|
|
14664
14664
|
}], orientation: [{
|