UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

53 lines 7.45 kB
import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { map, remove, sortBy } from 'lodash-es'; import * as i0 from "@angular/core"; import * as i1 from "@ngx-translate/core"; /** * Service contains logic extracted from the device-grid service to avoid circular dependency MTM-40239. */ export class ColumnUtilService { constructor(translateService) { this.translateService = translateService; } getAlarmsHref(device) { return `${this.getHref(device)}/alarms`; } getHref(groupOrDevice, prefix = '#/') { if (groupOrDevice.c8y_IsDeviceGroup || groupOrDevice.c8y_IsDynamicGroup) { return `${prefix}group/${groupOrDevice.id}`; } return `${prefix}device/${groupOrDevice.id}`; } getParentsNames(device, featuredParentId) { const assetParentsReferences = device.assetParents.references; const assetParents = map(assetParentsReferences, 'managedObject'); const sortedByName = sortBy(assetParents, ['name']); const featuredItems = remove(sortedByName, { id: featuredParentId }); const items = featuredItems.concat(sortedByName); const names = map(items, 'name'); return names.join(', '); } getModel(device) { const hardware = this.getHardware(device); return hardware && hardware.model; } getProperName(device) { const { id, name } = device; return name ? name : this.translateService.instant('Device {{id}}', { id }); } getSerialNumber(device) { const hardware = this.getHardware(device); return hardware && hardware['serialNumber']; } getHardware(device) { return device && device['c8y_Hardware']; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnUtilService, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnUtilService, providedIn: 'root' }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ColumnUtilService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.TranslateService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1uLXV0aWwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2RldmljZS1ncmlkL2NvbHVtbnMvY29sdW1uLXV0aWwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRWhEOztHQUVHO0FBR0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFzQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUFHLENBQUM7SUFFNUQsYUFBYSxDQUFDLE1BQXNCO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDMUMsQ0FBQztJQUVELE9BQU8sQ0FBQyxhQUE2QixFQUFFLE1BQU0sR0FBRyxJQUFJO1FBQ2xELElBQUksYUFBYSxDQUFDLGlCQUFpQixJQUFJLGFBQWEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sR0FBRyxNQUFNLFNBQVMsYUFBYSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLEdBQUcsTUFBTSxVQUFVLGFBQWEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQXNCLEVBQUUsZ0JBQWtDO1FBQ3hFLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUM7UUFDOUQsTUFBTSxZQUFZLEdBQUcsR0FBRyxDQUFDLHNCQUFzQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3JFLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDakQsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFFBQVEsQ0FBQyxNQUFzQjtRQUM3QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDcEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxNQUFzQjtRQUNsQyxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFzQjtRQUNwQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sUUFBUSxJQUFJLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRU8sV0FBVyxDQUFDLE1BQXNCO1FBQ3hDLE9BQU8sTUFBTSxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxQyxDQUFDOytHQXpDVSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQURKLE1BQU07OzRGQUNuQixpQkFBaUI7a0JBRDdCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSU1hbmFnZWRPYmplY3QgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBtYXAsIHJlbW92ZSwgc29ydEJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcblxuLyoqXG4gKiBTZXJ2aWNlIGNvbnRhaW5zIGxvZ2ljIGV4dHJhY3RlZCBmcm9tIHRoZSBkZXZpY2UtZ3JpZCBzZXJ2aWNlIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgTVRNLTQwMjM5LlxuICovXG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQ29sdW1uVXRpbFNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge31cblxuICBnZXRBbGFybXNIcmVmKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmdldEhyZWYoZGV2aWNlKX0vYWxhcm1zYDtcbiAgfVxuXG4gIGdldEhyZWYoZ3JvdXBPckRldmljZTogSU1hbmFnZWRPYmplY3QsIHByZWZpeCA9ICcjLycpOiBzdHJpbmcge1xuICAgIGlmIChncm91cE9yRGV2aWNlLmM4eV9Jc0RldmljZUdyb3VwIHx8IGdyb3VwT3JEZXZpY2UuYzh5X0lzRHluYW1pY0dyb3VwKSB7XG4gICAgICByZXR1cm4gYCR7cHJlZml4fWdyb3VwLyR7Z3JvdXBPckRldmljZS5pZH1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7cHJlZml4fWRldmljZS8ke2dyb3VwT3JEZXZpY2UuaWR9YDtcbiAgfVxuXG4gIGdldFBhcmVudHNOYW1lcyhkZXZpY2U6IElNYW5hZ2VkT2JqZWN0LCBmZWF0dXJlZFBhcmVudElkPzogc3RyaW5nIHwgbnVtYmVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBhc3NldFBhcmVudHNSZWZlcmVuY2VzID0gZGV2aWNlLmFzc2V0UGFyZW50cy5yZWZlcmVuY2VzO1xuICAgIGNvbnN0IGFzc2V0UGFyZW50cyA9IG1hcChhc3NldFBhcmVudHNSZWZlcmVuY2VzLCAnbWFuYWdlZE9iamVjdCcpO1xuICAgIGNvbnN0IHNvcnRlZEJ5TmFtZSA9IHNvcnRCeShhc3NldFBhcmVudHMsIFsnbmFtZSddKTtcbiAgICBjb25zdCBmZWF0dXJlZEl0ZW1zID0gcmVtb3ZlKHNvcnRlZEJ5TmFtZSwgeyBpZDogZmVhdHVyZWRQYXJlbnRJZCB9KTtcbiAgICBjb25zdCBpdGVtcyA9IGZlYXR1cmVkSXRlbXMuY29uY2F0KHNvcnRlZEJ5TmFtZSk7XG4gICAgY29uc3QgbmFtZXMgPSBtYXAoaXRlbXMsICduYW1lJyk7XG4gICAgcmV0dXJuIG5hbWVzLmpvaW4oJywgJyk7XG4gIH1cblxuICBnZXRNb2RlbChkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KTogc3RyaW5nIHtcbiAgICBjb25zdCBoYXJkd2FyZSA9IHRoaXMuZ2V0SGFyZHdhcmUoZGV2aWNlKTtcbiAgICByZXR1cm4gaGFyZHdhcmUgJiYgaGFyZHdhcmUubW9kZWw7XG4gIH1cblxuICBnZXRQcm9wZXJOYW1lKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgaWQsIG5hbWUgfSA9IGRldmljZTtcbiAgICByZXR1cm4gbmFtZSA/IG5hbWUgOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnRGV2aWNlIHt7aWR9fScsIHsgaWQgfSk7XG4gIH1cblxuICBnZXRTZXJpYWxOdW1iZXIoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCk6IHN0cmluZyB7XG4gICAgY29uc3QgaGFyZHdhcmUgPSB0aGlzLmdldEhhcmR3YXJlKGRldmljZSk7XG4gICAgcmV0dXJuIGhhcmR3YXJlICYmIGhhcmR3YXJlWydzZXJpYWxOdW1iZXInXTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SGFyZHdhcmUoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCk6IGFueSB7XG4gICAgcmV0dXJuIGRldmljZSAmJiBkZXZpY2VbJ2M4eV9IYXJkd2FyZSddO1xuICB9XG59XG4iXX0=