UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

39 lines 4.68 kB
import { Injectable } from '@angular/core'; import { of } from 'rxjs'; import { gettext } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; export const newDashboardTab = { featureId: 'newDashboard', icon: 'th', label: gettext('New dashboard'), path: 'dashboard/new-dashboard', // place tab as last one and hide it so it won't be opened until user initiates adding new dashboard hide: true, priority: -Infinity }; export class NewDashboardGuard { canActivate(route) { const tabActive = route.routeConfig.path === newDashboardTab.path; if (tabActive) { const dashboard = { c8y_Dashboard: null }; route.data = { dashboard }; } if (!this.tab) { this.tab = { ...newDashboardTab, hide: !tabActive, priority: tabActive ? Infinity : -Infinity }; } return of([this.tab]); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewDashboardGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewDashboardGuard, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NewDashboardGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWRhc2hib2FyZC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbnRleHQtZGFzaGJvYXJkL25ldy1kYXNoYm9hcmQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxPQUFPLEVBQU8sTUFBTSxxQkFBcUIsQ0FBQzs7QUFJbkQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFnQjtJQUMxQyxTQUFTLEVBQUUsY0FBYztJQUN6QixJQUFJLEVBQUUsSUFBSTtJQUNWLEtBQUssRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDO0lBQy9CLElBQUksRUFBRSx5QkFBeUI7SUFDL0Isb0dBQW9HO0lBQ3BHLElBQUksRUFBRSxJQUFJO0lBQ1YsUUFBUSxFQUFFLENBQUMsUUFBUTtDQUNwQixDQUFDO0FBR0YsTUFBTSxPQUFPLGlCQUFpQjtJQUc1QixXQUFXLENBQUMsS0FBNkI7UUFDdkMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssZUFBZSxDQUFDLElBQUksQ0FBQztRQUNsRSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsTUFBTSxTQUFTLEdBQTJDO2dCQUN4RCxhQUFhLEVBQUUsSUFBSTthQUNwQixDQUFDO1lBQ0YsS0FBSyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzdCLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsSUFBSSxDQUFDLEdBQUcsR0FBRztnQkFDVCxHQUFHLGVBQWU7Z0JBQ2xCLElBQUksRUFBRSxDQUFDLFNBQVM7Z0JBQ2hCLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRO2FBQzNDLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN4QixDQUFDOytHQW5CVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldHRleHQsIFRhYiB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCB9IGZyb20gJy4vY29udGV4dC1kYXNoYm9hcmQubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgbmV3RGFzaGJvYXJkVGFiOiBUYWI8c3RyaW5nPiA9IHtcbiAgZmVhdHVyZUlkOiAnbmV3RGFzaGJvYXJkJyxcbiAgaWNvbjogJ3RoJyxcbiAgbGFiZWw6IGdldHRleHQoJ05ldyBkYXNoYm9hcmQnKSxcbiAgcGF0aDogJ2Rhc2hib2FyZC9uZXctZGFzaGJvYXJkJyxcbiAgLy8gcGxhY2UgdGFiIGFzIGxhc3Qgb25lIGFuZCBoaWRlIGl0IHNvIGl0IHdvbid0IGJlIG9wZW5lZCB1bnRpbCB1c2VyIGluaXRpYXRlcyBhZGRpbmcgbmV3IGRhc2hib2FyZFxuICBoaWRlOiB0cnVlLFxuICBwcmlvcml0eTogLUluZmluaXR5XG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE5ld0Rhc2hib2FyZEd1YXJkIHtcbiAgdGFiOiBUYWI7XG5cbiAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCBUYWJbXT4ge1xuICAgIGNvbnN0IHRhYkFjdGl2ZSA9IHJvdXRlLnJvdXRlQ29uZmlnLnBhdGggPT09IG5ld0Rhc2hib2FyZFRhYi5wYXRoO1xuICAgIGlmICh0YWJBY3RpdmUpIHtcbiAgICAgIGNvbnN0IGRhc2hib2FyZDogUGFydGlhbDxDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdD4gPSB7XG4gICAgICAgIGM4eV9EYXNoYm9hcmQ6IG51bGxcbiAgICAgIH07XG4gICAgICByb3V0ZS5kYXRhID0geyBkYXNoYm9hcmQgfTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnRhYikge1xuICAgICAgdGhpcy50YWIgPSB7XG4gICAgICAgIC4uLm5ld0Rhc2hib2FyZFRhYixcbiAgICAgICAgaGlkZTogIXRhYkFjdGl2ZSxcbiAgICAgICAgcHJpb3JpdHk6IHRhYkFjdGl2ZSA/IEluZmluaXR5IDogLUluZmluaXR5XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gb2YoW3RoaXMudGFiXSk7XG4gIH1cbn1cbiJdfQ==