UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

46 lines 10.7 kB
import { Component, Input } from '@angular/core'; import { InventoryService } from '@c8y/client'; import { AlertService } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/client"; import * as i2 from "@c8y/ngx-components"; import * as i3 from "@angular/common"; export class TypeDashboardInfoComponent { constructor(inventory, alert) { this.inventory = inventory; this.alert = alert; } async ngOnInit() { await this.updateDeviceTypeCount(); } async updateDeviceTypeCount() { try { const count = await this.inventory.count({ type: this.deviceTypeValue || this.context.c8y_Dashboard.deviceTypeValue }); this.deviceTypeInstancesCount = count.data; this.asyncRenderSuccess?.(); } catch (error) { this.alert.addServerFailure(error); this.asyncRenderFail?.(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeDashboardInfoComponent, deps: [{ token: i1.InventoryService }, { token: i2.AlertService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TypeDashboardInfoComponent, selector: "c8y-type-dashboard-info", inputs: { deviceTypeValue: "deviceTypeValue", displayDeviceTypeValue: "displayDeviceTypeValue", context: "context", asyncRenderSuccess: "asyncRenderSuccess", asyncRenderFail: "asyncRenderFail" }, ngImport: i0, template: "<ul class=\"list-unstyled small animated fadeIn\">\n <li class=\"p-t-4 p-b-4 d-flex separator-top-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Target asset model' | translate }}</label>\n <span class=\"m-l-auto\">\n <span class=\"label label-info\">\n {{ displayDeviceTypeValue || context.c8y_Dashboard.deviceTypeValue }}\n </span>\n </span>\n </li>\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Dashboard instances' | translate }}</label>\n <span class=\"m-l-auto\">{{ deviceTypeInstancesCount }}</span>\n </li>\n <ng-container *ngIf=\"context?.c8y_Dashboard\">\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Created' | translate }}</label>\n <span class=\"m-l-auto\">\n {{ context.creationTime | c8yDate }} {{ 'by`user`' | translate }} {{ context.owner }}\n </span>\n </li>\n <li\n class=\"p-t-4 p-b-4 d-flex separator-bottom text-nowrap\"\n *ngIf=\"context?.c8y_DashboardHistory?.length\"\n >\n <label class=\"small m-b-0 m-r-8\">{{ 'Last modified' | translate }}</label>\n <span class=\"m-l-auto\">\n {{ context.c8y_DashboardHistory[0].created | c8yDate }} {{ 'by`user`' | translate }}\n {{ context.c8y_DashboardHistory[0].author }}\n </span>\n </li>\n </ng-container>\n</ul>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i2.DatePipe, name: "c8yDate" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TypeDashboardInfoComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-type-dashboard-info', template: "<ul class=\"list-unstyled small animated fadeIn\">\n <li class=\"p-t-4 p-b-4 d-flex separator-top-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Target asset model' | translate }}</label>\n <span class=\"m-l-auto\">\n <span class=\"label label-info\">\n {{ displayDeviceTypeValue || context.c8y_Dashboard.deviceTypeValue }}\n </span>\n </span>\n </li>\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Dashboard instances' | translate }}</label>\n <span class=\"m-l-auto\">{{ deviceTypeInstancesCount }}</span>\n </li>\n <ng-container *ngIf=\"context?.c8y_Dashboard\">\n <li class=\"p-t-4 p-b-4 d-flex separator-bottom text-nowrap\">\n <label class=\"small m-b-0 m-r-8\">{{ 'Created' | translate }}</label>\n <span class=\"m-l-auto\">\n {{ context.creationTime | c8yDate }} {{ 'by`user`' | translate }} {{ context.owner }}\n </span>\n </li>\n <li\n class=\"p-t-4 p-b-4 d-flex separator-bottom text-nowrap\"\n *ngIf=\"context?.c8y_DashboardHistory?.length\"\n >\n <label class=\"small m-b-0 m-r-8\">{{ 'Last modified' | translate }}</label>\n <span class=\"m-l-auto\">\n {{ context.c8y_DashboardHistory[0].created | c8yDate }} {{ 'by`user`' | translate }}\n {{ context.c8y_DashboardHistory[0].author }}\n </span>\n </li>\n </ng-container>\n</ul>\n" }] }], ctorParameters: () => [{ type: i1.InventoryService }, { type: i2.AlertService }], propDecorators: { deviceTypeValue: [{ type: Input }], displayDeviceTypeValue: [{ type: Input }], context: [{ type: Input }], asyncRenderSuccess: [{ type: Input }], asyncRenderFail: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1kYXNoYm9hcmQtaW5mby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb250ZXh0LWRhc2hib2FyZC90eXBlLWRhc2hib2FyZC1pbmZvL3R5cGUtZGFzaGJvYXJkLWluZm8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vY29udGV4dC1kYXNoYm9hcmQvdHlwZS1kYXNoYm9hcmQtaW5mby90eXBlLWRhc2hib2FyZC1pbmZvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBTW5ELE1BQU0sT0FBTywwQkFBMEI7SUFRckMsWUFDVSxTQUEyQixFQUMzQixLQUFtQjtRQURuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixVQUFLLEdBQUwsS0FBSyxDQUFjO0lBQzFCLENBQUM7SUFFSixLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVPLEtBQUssQ0FBQyxxQkFBcUI7UUFDakMsSUFBSSxDQUFDO1lBQ0gsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztnQkFDdkMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsZUFBZTthQUN6RSxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztZQUMzQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDO1FBQzlCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQzsrR0E1QlUsMEJBQTBCO21HQUExQiwwQkFBMEIsbVFDVHZDLDA1Q0FnQ0E7OzRGRHZCYSwwQkFBMEI7a0JBSnRDLFNBQVM7K0JBQ0UseUJBQXlCO2dIQUkxQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEludmVudG9yeVNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBDb250ZXh0RGFzaGJvYXJkTWFuYWdlZE9iamVjdCB9IGZyb20gJy4uL2NvbnRleHQtZGFzaGJvYXJkLm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJ0BjOHkvbmd4LWNvbXBvbmVudHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktdHlwZS1kYXNoYm9hcmQtaW5mbycsXG4gIHRlbXBsYXRlVXJsOiAnLi90eXBlLWRhc2hib2FyZC1pbmZvLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUeXBlRGFzaGJvYXJkSW5mb0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGRldmljZVR5cGVWYWx1ZTogc3RyaW5nO1xuICBASW5wdXQoKSBkaXNwbGF5RGV2aWNlVHlwZVZhbHVlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGNvbnRleHQ6IENvbnRleHREYXNoYm9hcmRNYW5hZ2VkT2JqZWN0O1xuICBkZXZpY2VUeXBlSW5zdGFuY2VzQ291bnQ6IG51bWJlcjtcbiAgQElucHV0KCkgYXN5bmNSZW5kZXJTdWNjZXNzOiAoKSA9PiB2b2lkO1xuICBASW5wdXQoKSBhc3luY1JlbmRlckZhaWw6ICgpID0+IHZvaWQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBpbnZlbnRvcnk6IEludmVudG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydDogQWxlcnRTZXJ2aWNlXG4gICkge31cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZURldmljZVR5cGVDb3VudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1cGRhdGVEZXZpY2VUeXBlQ291bnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvdW50ID0gYXdhaXQgdGhpcy5pbnZlbnRvcnkuY291bnQoe1xuICAgICAgICB0eXBlOiB0aGlzLmRldmljZVR5cGVWYWx1ZSB8fCB0aGlzLmNvbnRleHQuYzh5X0Rhc2hib2FyZC5kZXZpY2VUeXBlVmFsdWVcbiAgICAgIH0pO1xuICAgICAgdGhpcy5kZXZpY2VUeXBlSW5zdGFuY2VzQ291bnQgPSBjb3VudC5kYXRhO1xuICAgICAgdGhpcy5hc3luY1JlbmRlclN1Y2Nlc3M/LigpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLmFsZXJ0LmFkZFNlcnZlckZhaWx1cmUoZXJyb3IpO1xuICAgICAgdGhpcy5hc3luY1JlbmRlckZhaWw/LigpO1xuICAgIH1cbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwibGlzdC11bnN0eWxlZCBzbWFsbCBhbmltYXRlZCBmYWRlSW5cIj5cbiAgPGxpIGNsYXNzPVwicC10LTQgcC1iLTQgZC1mbGV4IHNlcGFyYXRvci10b3AtYm90dG9tIHRleHQtbm93cmFwXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwic21hbGwgbS1iLTAgbS1yLThcIj57eyAnVGFyZ2V0IGFzc2V0IG1vZGVsJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWwtYXV0b1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbCBsYWJlbC1pbmZvXCI+XG4gICAgICAgIHt7IGRpc3BsYXlEZXZpY2VUeXBlVmFsdWUgfHwgY29udGV4dC5jOHlfRGFzaGJvYXJkLmRldmljZVR5cGVWYWx1ZSB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9saT5cbiAgPGxpIGNsYXNzPVwicC10LTQgcC1iLTQgZC1mbGV4IHNlcGFyYXRvci1ib3R0b20gdGV4dC1ub3dyYXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJzbWFsbCBtLWItMCBtLXItOFwiPnt7ICdEYXNoYm9hcmQgaW5zdGFuY2VzJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgPHNwYW4gY2xhc3M9XCJtLWwtYXV0b1wiPnt7IGRldmljZVR5cGVJbnN0YW5jZXNDb3VudCB9fTwvc3Bhbj5cbiAgPC9saT5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnRleHQ/LmM4eV9EYXNoYm9hcmRcIj5cbiAgICA8bGkgY2xhc3M9XCJwLXQtNCBwLWItNCBkLWZsZXggc2VwYXJhdG9yLWJvdHRvbSB0ZXh0LW5vd3JhcFwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwic21hbGwgbS1iLTAgbS1yLThcIj57eyAnQ3JlYXRlZCcgfCB0cmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgPHNwYW4gY2xhc3M9XCJtLWwtYXV0b1wiPlxuICAgICAgICB7eyBjb250ZXh0LmNyZWF0aW9uVGltZSB8IGM4eURhdGUgfX0ge3sgJ2J5YHVzZXJgJyB8IHRyYW5zbGF0ZSB9fSB7eyBjb250ZXh0Lm93bmVyIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9saT5cbiAgICA8bGlcbiAgICAgIGNsYXNzPVwicC10LTQgcC1iLTQgZC1mbGV4IHNlcGFyYXRvci1ib3R0b20gdGV4dC1ub3dyYXBcIlxuICAgICAgKm5nSWY9XCJjb250ZXh0Py5jOHlfRGFzaGJvYXJkSGlzdG9yeT8ubGVuZ3RoXCJcbiAgICA+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJzbWFsbCBtLWItMCBtLXItOFwiPnt7ICdMYXN0IG1vZGlmaWVkJyB8IHRyYW5zbGF0ZSB9fTwvbGFiZWw+XG4gICAgICA8c3BhbiBjbGFzcz1cIm0tbC1hdXRvXCI+XG4gICAgICAgIHt7IGNvbnRleHQuYzh5X0Rhc2hib2FyZEhpc3RvcnlbMF0uY3JlYXRlZCB8IGM4eURhdGUgfX0ge3sgJ2J5YHVzZXJgJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICB7eyBjb250ZXh0LmM4eV9EYXNoYm9hcmRIaXN0b3J5WzBdLmF1dGhvciB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvbGk+XG4gIDwvbmctY29udGFpbmVyPlxuPC91bD5cbiJdfQ==