UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

36 lines 9.96 kB
import { Component, Input } from '@angular/core'; import { gettext } from '@c8y/ngx-components'; import * as i0 from "@angular/core"; import * as i1 from "@c8y/ngx-components"; import * as i2 from "@angular/common"; import * as i3 from "ngx-bootstrap/tooltip"; import * as i4 from "@ngx-translate/core"; import * as i5 from "./alarm-severity-to-icon.pipe"; import * as i6 from "./alarm-status-to-icon.pipe"; import * as i7 from "./alarm-severity-to-label.pipe"; import * as i8 from "./alarm-status-to-label.pipe"; export class AlarmsIconComponent { constructor() { this.iconBackgroundColor = 'none'; this.isFilterApplied = false; this.alarmSeverityLabel = gettext('Severity: {{ alarmSeverity }}'); this.alarmStatusLabel = gettext('Status: {{ alarmStatus }}'); this.alarmStatusType = gettext('Type: {{ alarmType }}'); } ngOnInit() { this.isFilterApplied = this.typeFilters.length > 0; this.iconBackgroundColor = this.typeFilters.find(filter => filter.filters.type === this.alarm.type)?.color || 'none'; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmsIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AlarmsIconComponent, selector: "c8y-alarms-icon", inputs: { alarm: "alarm", typeFilters: "typeFilters" }, ngImport: i0, template: "<button\n class=\"btn-clean severity\"\n [attr.aria-label]=\"\n alarmSeverityLabel | translate: { alarmSeverity: alarm.severity | AlarmSeverityToLabel }\n \"\n [tooltip]=\"\n alarmSeverityLabel | translate: { alarmSeverity: alarm.severity | AlarmSeverityToLabel }\n \"\n placement=\"right\"\n container=\"body\"\n type=\"button\"\n (click)=\"$event.stopPropagation()\"\n [delay]=\"500\"\n>\n <i\n class=\"status stroked-icon\"\n [c8yIcon]=\"alarm.severity | AlarmSeverityToIcon\"\n [ngClass]=\"alarm.severity | lowercase\"\n ></i>\n</button>\n<button\n class=\"btn-clean status\"\n [ngStyle]=\"{ 'background-color': iconBackgroundColor }\"\n [attr.aria-label]=\"\n alarmStatusLabel | translate: { alarmStatus: alarm.status | AlarmStatusToLabel }\n \"\n [tooltip]=\"\n (alarmStatusLabel | translate: { alarmStatus: alarm.status | AlarmStatusToLabel }) +\n '\\n' +\n (alarmStatusType | translate: { alarmType: alarm.type })\n \"\n placement=\"right\"\n container=\"body\"\n type=\"button\"\n [ngClass]=\"{ 'circle-icon-wrapper': isFilterApplied }\"\n (click)=\"$event.stopPropagation()\"\n [delay]=\"500\"\n>\n <i\n [c8yIcon]=\"alarm.status | AlarmStatusToIcon\"\n [ngClass]=\"{ 'stroked-icon': isFilterApplied }\"\n ></i>\n</button>\n", dependencies: [{ kind: "directive", type: i1.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["adaptivePosition", "tooltip", "placement", "triggers", "container", "containerClass", "boundariesElement", "isOpen", "isDisabled", "delay", "tooltipHtml", "tooltipPlacement", "tooltipIsOpen", "tooltipEnable", "tooltipAppendToBody", "tooltipAnimation", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "tooltipFadeDuration", "tooltipTrigger"], outputs: ["tooltipChange", "onShown", "onHidden", "tooltipStateChanged"], exportAs: ["bs-tooltip"] }, { kind: "pipe", type: i2.LowerCasePipe, name: "lowercase" }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i5.AlarmSeverityToIconPipe, name: "AlarmSeverityToIcon" }, { kind: "pipe", type: i6.AlarmStatusToIconPipe, name: "AlarmStatusToIcon" }, { kind: "pipe", type: i7.AlarmSeverityToLabelPipe, name: "AlarmSeverityToLabel" }, { kind: "pipe", type: i8.AlarmStatusToLabelPipe, name: "AlarmStatusToLabel" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AlarmsIconComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-alarms-icon', template: "<button\n class=\"btn-clean severity\"\n [attr.aria-label]=\"\n alarmSeverityLabel | translate: { alarmSeverity: alarm.severity | AlarmSeverityToLabel }\n \"\n [tooltip]=\"\n alarmSeverityLabel | translate: { alarmSeverity: alarm.severity | AlarmSeverityToLabel }\n \"\n placement=\"right\"\n container=\"body\"\n type=\"button\"\n (click)=\"$event.stopPropagation()\"\n [delay]=\"500\"\n>\n <i\n class=\"status stroked-icon\"\n [c8yIcon]=\"alarm.severity | AlarmSeverityToIcon\"\n [ngClass]=\"alarm.severity | lowercase\"\n ></i>\n</button>\n<button\n class=\"btn-clean status\"\n [ngStyle]=\"{ 'background-color': iconBackgroundColor }\"\n [attr.aria-label]=\"\n alarmStatusLabel | translate: { alarmStatus: alarm.status | AlarmStatusToLabel }\n \"\n [tooltip]=\"\n (alarmStatusLabel | translate: { alarmStatus: alarm.status | AlarmStatusToLabel }) +\n '\\n' +\n (alarmStatusType | translate: { alarmType: alarm.type })\n \"\n placement=\"right\"\n container=\"body\"\n type=\"button\"\n [ngClass]=\"{ 'circle-icon-wrapper': isFilterApplied }\"\n (click)=\"$event.stopPropagation()\"\n [delay]=\"500\"\n>\n <i\n [c8yIcon]=\"alarm.status | AlarmStatusToIcon\"\n [ngClass]=\"{ 'stroked-icon': isFilterApplied }\"\n ></i>\n</button>\n" }] }], propDecorators: { alarm: [{ type: Input }], typeFilters: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxhcm1zLWljb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYWxhcm1zL2FsYXJtcy1pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uL2FsYXJtcy9hbGFybXMtaWNvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7Ozs7QUFPOUMsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztRQVdFLHdCQUFtQixHQUFHLE1BQU0sQ0FBQztRQUM3QixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4Qix1QkFBa0IsR0FBRyxPQUFPLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUM5RCxxQkFBZ0IsR0FBRyxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUN4RCxvQkFBZSxHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0tBT3BEO0lBTEMsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxtQkFBbUI7WUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxNQUFNLENBQUM7SUFDOUYsQ0FBQzsrR0FsQlUsbUJBQW1CO21HQUFuQixtQkFBbUIsK0dDVGhDLDh3Q0EyQ0E7OzRGRGxDYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsaUJBQWlCOzhCQUszQixLQUFLO3NCQURKLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJQWxhcm0gfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBbGFybURldGFpbHMgfSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzL2FsYXJtLWV2ZW50LXNlbGVjdG9yJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFsYXJtcy1pY29uJyxcbiAgdGVtcGxhdGVVcmw6ICdhbGFybXMtaWNvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWxhcm1zSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpXG4gIGFsYXJtOiBJQWxhcm07XG5cbiAgQElucHV0KClcbiAgdHlwZUZpbHRlcnM6IEFsYXJtRGV0YWlsc1tdO1xuXG4gIGljb25CYWNrZ3JvdW5kQ29sb3IgPSAnbm9uZSc7XG4gIGlzRmlsdGVyQXBwbGllZCA9IGZhbHNlO1xuXG4gIGFsYXJtU2V2ZXJpdHlMYWJlbCA9IGdldHRleHQoJ1NldmVyaXR5OiB7eyBhbGFybVNldmVyaXR5IH19Jyk7XG4gIGFsYXJtU3RhdHVzTGFiZWwgPSBnZXR0ZXh0KCdTdGF0dXM6IHt7IGFsYXJtU3RhdHVzIH19Jyk7XG4gIGFsYXJtU3RhdHVzVHlwZSA9IGdldHRleHQoJ1R5cGU6IHt7IGFsYXJtVHlwZSB9fScpO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaXNGaWx0ZXJBcHBsaWVkID0gdGhpcy50eXBlRmlsdGVycy5sZW5ndGggPiAwO1xuICAgIHRoaXMuaWNvbkJhY2tncm91bmRDb2xvciA9XG4gICAgICB0aGlzLnR5cGVGaWx0ZXJzLmZpbmQoZmlsdGVyID0+IGZpbHRlci5maWx0ZXJzLnR5cGUgPT09IHRoaXMuYWxhcm0udHlwZSk/LmNvbG9yIHx8ICdub25lJztcbiAgfVxufVxuIiwiPGJ1dHRvblxuICBjbGFzcz1cImJ0bi1jbGVhbiBzZXZlcml0eVwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiXG4gICAgYWxhcm1TZXZlcml0eUxhYmVsIHwgdHJhbnNsYXRlOiB7IGFsYXJtU2V2ZXJpdHk6IGFsYXJtLnNldmVyaXR5IHwgQWxhcm1TZXZlcml0eVRvTGFiZWwgfVxuICBcIlxuICBbdG9vbHRpcF09XCJcbiAgICBhbGFybVNldmVyaXR5TGFiZWwgfCB0cmFuc2xhdGU6IHsgYWxhcm1TZXZlcml0eTogYWxhcm0uc2V2ZXJpdHkgfCBBbGFybVNldmVyaXR5VG9MYWJlbCB9XG4gIFwiXG4gIHBsYWNlbWVudD1cInJpZ2h0XCJcbiAgY29udGFpbmVyPVwiYm9keVwiXG4gIHR5cGU9XCJidXR0b25cIlxuICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgW2RlbGF5XT1cIjUwMFwiXG4+XG4gIDxpXG4gICAgY2xhc3M9XCJzdGF0dXMgc3Ryb2tlZC1pY29uXCJcbiAgICBbYzh5SWNvbl09XCJhbGFybS5zZXZlcml0eSB8IEFsYXJtU2V2ZXJpdHlUb0ljb25cIlxuICAgIFtuZ0NsYXNzXT1cImFsYXJtLnNldmVyaXR5IHwgbG93ZXJjYXNlXCJcbiAgPjwvaT5cbjwvYnV0dG9uPlxuPGJ1dHRvblxuICBjbGFzcz1cImJ0bi1jbGVhbiBzdGF0dXNcIlxuICBbbmdTdHlsZV09XCJ7ICdiYWNrZ3JvdW5kLWNvbG9yJzogaWNvbkJhY2tncm91bmRDb2xvciB9XCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICBhbGFybVN0YXR1c0xhYmVsIHwgdHJhbnNsYXRlOiB7IGFsYXJtU3RhdHVzOiBhbGFybS5zdGF0dXMgfCBBbGFybVN0YXR1c1RvTGFiZWwgfVxuICBcIlxuICBbdG9vbHRpcF09XCJcbiAgICAoYWxhcm1TdGF0dXNMYWJlbCB8IHRyYW5zbGF0ZTogeyBhbGFybVN0YXR1czogYWxhcm0uc3RhdHVzIHwgQWxhcm1TdGF0dXNUb0xhYmVsIH0pICtcbiAgICAnXFxuJyArXG4gICAgKGFsYXJtU3RhdHVzVHlwZSB8IHRyYW5zbGF0ZTogeyBhbGFybVR5cGU6IGFsYXJtLnR5cGUgfSlcbiAgXCJcbiAgcGxhY2VtZW50PVwicmlnaHRcIlxuICBjb250YWluZXI9XCJib2R5XCJcbiAgdHlwZT1cImJ1dHRvblwiXG4gIFtuZ0NsYXNzXT1cInsgJ2NpcmNsZS1pY29uLXdyYXBwZXInOiBpc0ZpbHRlckFwcGxpZWQgfVwiXG4gIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICBbZGVsYXldPVwiNTAwXCJcbj5cbiAgPGlcbiAgICBbYzh5SWNvbl09XCJhbGFybS5zdGF0dXMgfCBBbGFybVN0YXR1c1RvSWNvblwiXG4gICAgW25nQ2xhc3NdPVwieyAnc3Ryb2tlZC1pY29uJzogaXNGaWx0ZXJBcHBsaWVkIH1cIlxuICA+PC9pPlxuPC9idXR0b24+XG4iXX0=