UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

39 lines 5.61 kB
import { Component, EventEmitter, Input, Output } from '@angular/core'; import { gettext } from '../i18n/gettext'; import { RealtimeService } from './realtime.service'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "../i18n/c8y-translate.pipe"; export class RealtimeButtonComponent { constructor() { this.label = gettext('Realtime'); this.title = gettext('Toggle realtime'); this.onToggle = new EventEmitter(); } get active() { return !!this.service && this.service.active; } toggle() { if (this.service) { this.active ? this.service.stop() : this.service.start(); this.onToggle.emit(this.active); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RealtimeButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RealtimeButtonComponent, selector: "c8y-realtime-btn", inputs: { service: "service", label: "label", title: "title", disabled: "disabled" }, outputs: { onToggle: "onToggle" }, ngImport: i0, template: "<button\n type=\"button\"\n class=\"btn btn-link c8y-realtime\"\n [title]=\"title | translate\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n>\n <span\n class=\"c8y-pulse\"\n [ngClass]=\"{ active: active, inactive: !active }\"\n ></span>\n <span>{{ label | translate }}</span>\n</button>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.C8yTranslatePipe, name: "translate" }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RealtimeButtonComponent, decorators: [{ type: Component, args: [{ selector: 'c8y-realtime-btn', template: "<button\n type=\"button\"\n class=\"btn btn-link c8y-realtime\"\n [title]=\"title | translate\"\n [disabled]=\"disabled\"\n (click)=\"toggle()\"\n>\n <span\n class=\"c8y-pulse\"\n [ngClass]=\"{ active: active, inactive: !active }\"\n ></span>\n <span>{{ label | translate }}</span>\n</button>\n" }] }], propDecorators: { service: [{ type: Input }], label: [{ type: Input }], title: [{ type: Input }], disabled: [{ type: Input }], onToggle: [{ type: Output }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvcmVhbHRpbWUvcmVhbHRpbWUtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL2NvcmUvcmVhbHRpbWUvcmVhbHRpbWUtYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQU1yRCxNQUFNLE9BQU8sdUJBQXVCO0lBSnBDO1FBUUUsVUFBSyxHQUFXLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVwQyxVQUFLLEdBQVcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFLM0MsYUFBUSxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO0tBWXREO0lBVkMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDOytHQXRCVSx1QkFBdUI7bUdBQXZCLHVCQUF1QixpTENScEMsc1RBYUE7OzRGRExhLHVCQUF1QjtrQkFKbkMsU0FBUzsrQkFDRSxrQkFBa0I7OEJBSzVCLE9BQU87c0JBRE4sS0FBSztnQkFHTixLQUFLO3NCQURKLEtBQUs7Z0JBR04sS0FBSztzQkFESixLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4vZ2V0dGV4dCc7XG5pbXBvcnQgeyBSZWFsdGltZVNlcnZpY2UgfSBmcm9tICcuL3JlYWx0aW1lLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktcmVhbHRpbWUtYnRuJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWx0aW1lLWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVCdXR0b25Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBzZXJ2aWNlOiBSZWFsdGltZVNlcnZpY2U8dW5rbm93bj47XG4gIEBJbnB1dCgpXG4gIGxhYmVsOiBzdHJpbmcgPSBnZXR0ZXh0KCdSZWFsdGltZScpO1xuICBASW5wdXQoKVxuICB0aXRsZTogc3RyaW5nID0gZ2V0dGV4dCgnVG9nZ2xlIHJlYWx0aW1lJyk7XG4gIEBJbnB1dCgpXG4gIGRpc2FibGVkOiBib29sZWFuO1xuXG4gIEBPdXRwdXQoKVxuICBvblRvZ2dsZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGdldCBhY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5zZXJ2aWNlICYmIHRoaXMuc2VydmljZS5hY3RpdmU7XG4gIH1cblxuICB0b2dnbGUoKSB7XG4gICAgaWYgKHRoaXMuc2VydmljZSkge1xuICAgICAgdGhpcy5hY3RpdmUgPyB0aGlzLnNlcnZpY2Uuc3RvcCgpIDogdGhpcy5zZXJ2aWNlLnN0YXJ0KCk7XG4gICAgICB0aGlzLm9uVG9nZ2xlLmVtaXQodGhpcy5hY3RpdmUpO1xuICAgIH1cbiAgfVxufVxuIiwiPGJ1dHRvblxuICB0eXBlPVwiYnV0dG9uXCJcbiAgY2xhc3M9XCJidG4gYnRuLWxpbmsgYzh5LXJlYWx0aW1lXCJcbiAgW3RpdGxlXT1cInRpdGxlIHwgdHJhbnNsYXRlXCJcbiAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImM4eS1wdWxzZVwiXG4gICAgW25nQ2xhc3NdPVwieyBhY3RpdmU6IGFjdGl2ZSwgaW5hY3RpdmU6ICFhY3RpdmUgfVwiXG4gID48L3NwYW4+XG4gIDxzcGFuPnt7IGxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuPC9idXR0b24+XG4iXX0=