UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

38 lines 5.18 kB
import { Injectable } from '@angular/core'; import { gettext, ViewContext } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; export class DevicesBreadcrumbFactory { async get(route) { const { context, contextData } = route.snapshot?.parent?.data || {}; const { routeConfig } = route.snapshot; if (context === ViewContext.Device || routeConfig?.context === ViewContext.Device) { const breadcrumb = { items: [] }; const breadcrumbItems = []; breadcrumbItems.push({ label: gettext('Devices'), icon: 'exchange' }); breadcrumbItems.push({ label: gettext('All devices'), path: '/device' }); const name = contextData?.name; if (!!name) { breadcrumbItems.push({ label: name }); } const label = routeConfig?.label; if (!!label) { breadcrumbItems.push({ label }); } breadcrumb.items = breadcrumbItems; return breadcrumb; } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DevicesBreadcrumbFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DevicesBreadcrumbFactory }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DevicesBreadcrumbFactory, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlcy5icmVhZGNydW1iLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9kZXZpY2UtbGlzdC9kZXZpY2VzLmJyZWFkY3J1bWItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFJTCxPQUFPLEVBQ1AsV0FBVyxFQUNaLE1BQU0scUJBQXFCLENBQUM7O0FBRzdCLE1BQU0sT0FBTyx3QkFBd0I7SUFDbkMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFxQjtRQUM3QixNQUFNLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFFdkMsSUFDRSxPQUFPLEtBQUssV0FBVyxDQUFDLE1BQU07WUFDN0IsV0FBd0MsRUFBRSxPQUFPLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFDekUsQ0FBQztZQUNELE1BQU0sVUFBVSxHQUFlLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQzdDLE1BQU0sZUFBZSxHQUFxQixFQUFFLENBQUM7WUFFN0MsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDbkIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUM7Z0JBQ3pCLElBQUksRUFBRSxVQUFVO2FBQ0MsQ0FBQyxDQUFDO1lBRXJCLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDO2dCQUM3QixJQUFJLEVBQUUsU0FBUzthQUNoQixDQUFDLENBQUM7WUFFSCxNQUFNLElBQUksR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDO1lBRS9CLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNYLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFvQixDQUFDLENBQUM7WUFDMUQsQ0FBQztZQUVELE1BQU0sS0FBSyxHQUFJLFdBQWlDLEVBQUUsS0FBSyxDQUFDO1lBRXhELElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNaLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQW9CLENBQUMsQ0FBQztZQUNwRCxDQUFDO1lBRUQsVUFBVSxDQUFDLEtBQUssR0FBRyxlQUFlLENBQUM7WUFDbkMsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7K0dBckNVLHdCQUF3QjttSEFBeEIsd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHtcbiAgQnJlYWRjcnVtYixcbiAgQnJlYWRjcnVtYkZhY3RvcnksXG4gIEJyZWFkY3J1bWJJdGVtLFxuICBnZXR0ZXh0LFxuICBWaWV3Q29udGV4dFxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERldmljZXNCcmVhZGNydW1iRmFjdG9yeSBpbXBsZW1lbnRzIEJyZWFkY3J1bWJGYWN0b3J5IHtcbiAgYXN5bmMgZ2V0KHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIGNvbnN0IHsgY29udGV4dCwgY29udGV4dERhdGEgfSA9IHJvdXRlLnNuYXBzaG90Py5wYXJlbnQ/LmRhdGEgfHwge307XG4gICAgY29uc3QgeyByb3V0ZUNvbmZpZyB9ID0gcm91dGUuc25hcHNob3Q7XG5cbiAgICBpZiAoXG4gICAgICBjb250ZXh0ID09PSBWaWV3Q29udGV4dC5EZXZpY2UgfHxcbiAgICAgIChyb3V0ZUNvbmZpZyBhcyB7IGNvbnRleHQ6IFZpZXdDb250ZXh0IH0pPy5jb250ZXh0ID09PSBWaWV3Q29udGV4dC5EZXZpY2VcbiAgICApIHtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWI6IEJyZWFkY3J1bWIgPSB7IGl0ZW1zOiBbXSB9O1xuICAgICAgY29uc3QgYnJlYWRjcnVtYkl0ZW1zOiBCcmVhZGNydW1iSXRlbVtdID0gW107XG5cbiAgICAgIGJyZWFkY3J1bWJJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IGdldHRleHQoJ0RldmljZXMnKSxcbiAgICAgICAgaWNvbjogJ2V4Y2hhbmdlJ1xuICAgICAgfSBhcyBCcmVhZGNydW1iSXRlbSk7XG5cbiAgICAgIGJyZWFkY3J1bWJJdGVtcy5wdXNoKHtcbiAgICAgICAgbGFiZWw6IGdldHRleHQoJ0FsbCBkZXZpY2VzJyksXG4gICAgICAgIHBhdGg6ICcvZGV2aWNlJ1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IG5hbWUgPSBjb250ZXh0RGF0YT8ubmFtZTtcblxuICAgICAgaWYgKCEhbmFtZSkge1xuICAgICAgICBicmVhZGNydW1iSXRlbXMucHVzaCh7IGxhYmVsOiBuYW1lIH0gYXMgQnJlYWRjcnVtYkl0ZW0pO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsYWJlbCA9IChyb3V0ZUNvbmZpZyBhcyB7IGxhYmVsOiBzdHJpbmcgfSk/LmxhYmVsO1xuXG4gICAgICBpZiAoISFsYWJlbCkge1xuICAgICAgICBicmVhZGNydW1iSXRlbXMucHVzaCh7IGxhYmVsIH0gYXMgQnJlYWRjcnVtYkl0ZW0pO1xuICAgICAgfVxuXG4gICAgICBicmVhZGNydW1iLml0ZW1zID0gYnJlYWRjcnVtYkl0ZW1zO1xuICAgICAgcmV0dXJuIGJyZWFkY3J1bWI7XG4gICAgfVxuICB9XG59XG4iXX0=