UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

19 lines 3.13 kB
import { Injectable } from '@angular/core'; import { get, has, indexOf } from 'lodash-es'; import * as i0 from "@angular/core"; const FIRMWARE_FRAGMENT = 'c8y_Firmware'; const SUPPORTED_OPERATIONS_FRAGMENT = 'c8y_SupportedOperations'; export class FirmwareDeviceTabGuard { canActivate(route) { const contextData = get(route, 'data.contextData') || get(route, 'parent.data.contextData'); const supportedOperations = get(contextData, SUPPORTED_OPERATIONS_FRAGMENT); return ((!!supportedOperations ? indexOf(supportedOperations, FIRMWARE_FRAGMENT) >= 0 : false) || has(contextData, 'c8y_Firmware')); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FirmwareDeviceTabGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FirmwareDeviceTabGuard }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FirmwareDeviceTabGuard, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlybXdhcmUtZGV2aWNlLXRhYi5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3JlcG9zaXRvcnkvZmlybXdhcmUvZGV2aWNlLXRhYi9maXJtd2FyZS1kZXZpY2UtdGFiLmd1YXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOztBQUU5QyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUN6QyxNQUFNLDZCQUE2QixHQUFHLHlCQUF5QixDQUFDO0FBR2hFLE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsV0FBVyxDQUFDLEtBQUs7UUFDZixNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO1FBQzVGLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDLFdBQVcsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO1FBQzVFLE9BQU8sQ0FDTCxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDdEYsR0FBRyxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsQ0FDakMsQ0FBQztJQUNKLENBQUM7K0dBUlUsc0JBQXNCO21IQUF0QixzQkFBc0I7OzRGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGdldCwgaGFzLCBpbmRleE9mIH0gZnJvbSAnbG9kYXNoLWVzJztcblxuY29uc3QgRklSTVdBUkVfRlJBR01FTlQgPSAnYzh5X0Zpcm13YXJlJztcbmNvbnN0IFNVUFBPUlRFRF9PUEVSQVRJT05TX0ZSQUdNRU5UID0gJ2M4eV9TdXBwb3J0ZWRPcGVyYXRpb25zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEZpcm13YXJlRGV2aWNlVGFiR3VhcmQge1xuICBjYW5BY3RpdmF0ZShyb3V0ZSkge1xuICAgIGNvbnN0IGNvbnRleHREYXRhID0gZ2V0KHJvdXRlLCAnZGF0YS5jb250ZXh0RGF0YScpIHx8IGdldChyb3V0ZSwgJ3BhcmVudC5kYXRhLmNvbnRleHREYXRhJyk7XG4gICAgY29uc3Qgc3VwcG9ydGVkT3BlcmF0aW9ucyA9IGdldChjb250ZXh0RGF0YSwgU1VQUE9SVEVEX09QRVJBVElPTlNfRlJBR01FTlQpO1xuICAgIHJldHVybiAoXG4gICAgICAoISFzdXBwb3J0ZWRPcGVyYXRpb25zID8gaW5kZXhPZihzdXBwb3J0ZWRPcGVyYXRpb25zLCBGSVJNV0FSRV9GUkFHTUVOVCkgPj0gMCA6IGZhbHNlKSB8fFxuICAgICAgaGFzKGNvbnRleHREYXRhLCAnYzh5X0Zpcm13YXJlJylcbiAgICApO1xuICB9XG59XG4iXX0=