@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
19 lines • 3.13 kB
JavaScript
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=