UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

29 lines 3.52 kB
import { Injectable } from '@angular/core'; import { InventoryService } from '@c8y/client'; import { isEmpty } from 'lodash-es'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/client"; export class ChildDevicesTabGuard { constructor(inventory) { this.inventory = inventory; } async canActivate(route) { const contextData = route.data.contextData; const filter = { pageSize: 1 }; if (isEmpty(contextData)) { return true; } const device = await this.inventory.childDevicesList(contextData.id, filter); const hasChildren = device.data.length; return !!hasChildren; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChildDevicesTabGuard, deps: [{ token: i1.InventoryService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChildDevicesTabGuard, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ChildDevicesTabGuard, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.InventoryService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtZGV2aWNlcy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NoaWxkLWRldmljZXMvY2hpbGQtZGV2aWNlcy5ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFHcEMsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFvQixTQUEyQjtRQUEzQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtJQUFHLENBQUM7SUFFbkQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUE2QjtRQUM3QyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUUzQyxNQUFNLE1BQU0sR0FBVztZQUNyQixRQUFRLEVBQUUsQ0FBQztTQUNaLENBQUM7UUFFRixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdFLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUN2QixDQUFDOytHQWhCVSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQURQLE1BQU07OzRGQUNuQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJbnZlbnRvcnlTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ2hpbGREZXZpY2VzVGFiR3VhcmQge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGludmVudG9yeTogSW52ZW50b3J5U2VydmljZSkge31cblxuICBhc3luYyBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IGNvbnRleHREYXRhID0gcm91dGUuZGF0YS5jb250ZXh0RGF0YTtcblxuICAgIGNvbnN0IGZpbHRlcjogb2JqZWN0ID0ge1xuICAgICAgcGFnZVNpemU6IDFcbiAgICB9O1xuXG4gICAgaWYgKGlzRW1wdHkoY29udGV4dERhdGEpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgZGV2aWNlID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkuY2hpbGREZXZpY2VzTGlzdChjb250ZXh0RGF0YS5pZCwgZmlsdGVyKTtcbiAgICBjb25zdCBoYXNDaGlsZHJlbiA9IGRldmljZS5kYXRhLmxlbmd0aDtcbiAgICByZXR1cm4gISFoYXNDaGlsZHJlbjtcbiAgfVxufVxuIl19