UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

56 lines 9.83 kB
import { Component, Input } from '@angular/core'; import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@ionic/angular"; export class TextCardComponent { set inputStream(stream) { if (stream) { this.subscription?.unsubscribe(); this.subscription = stream.subscribe({ next: (value) => { if (this.template) { value = this.template.replace('#value#', value); } this.value = value; }, error: (err) => { this.error = err; }, }); } } constructor() { this.options = { initialValue: '0', }; this.color = 'dark'; this.value = this.options.initialValue; } ngOnDestroy() { this.subscription?.unsubscribe(); } } /** @nocollapse */ TextCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ TextCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TextCardComponent, selector: "monitoring-text-card", inputs: { options: "options", title: "title", subtitle: "subtitle", template: "template", unit: "unit", icon: "icon", color: "color", inputStream: "inputStream" }, ngImport: i0, template: "<ion-card>\n <ion-item *ngIf=\"title || icon\" lines=\"full\" [color]=\"color\">\n <ion-icon *ngIf=\"icon\" name=\"{{ icon }}\" slot=\"start\"></ion-icon>\n <ion-label *ngIf=\"title\">{{ title }}</ion-label>\n <ion-icon *ngIf=\"icon\" slot=\"end\"></ion-icon>\n </ion-item>\n <ion-card-content>\n <span class=\"variable-value\" *ngIf=\"value\">{{ value }}</span>\n <br *ngIf=\"unit\" />\n <span *ngIf=\"unit\" class=\"unit\">{{ unit }}</span>\n </ion-card-content>\n <ion-card-content *ngIf=\"error\">\n {{ error }}\n </ion-card-content>\n <ion-card-content *ngIf=\"subtitle\" class=\"text-center\">\n <ion-text class=\"description\">{{ subtitle }}</ion-text>\n </ion-card-content>\n</ion-card>\n", styles: [".variable-value{font-size:1.4em;font-weight:700}ion-card,ion-card ion-item,ion-card-subtitle,ion-item ion-card-subtitle{text-align:center}.description{font-size:.9em;color:#777;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonCard, selector: "ion-card", inputs: ["button", "color", "disabled", "download", "href", "mode", "rel", "routerAnimation", "routerDirection", "target", "type"] }, { kind: "component", type: i2.IonCardContent, selector: "ion-card-content", inputs: ["mode"] }, { kind: "component", type: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { kind: "component", type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { kind: "component", type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextCardComponent, decorators: [{ type: Component, args: [{ selector: 'monitoring-text-card', template: "<ion-card>\n <ion-item *ngIf=\"title || icon\" lines=\"full\" [color]=\"color\">\n <ion-icon *ngIf=\"icon\" name=\"{{ icon }}\" slot=\"start\"></ion-icon>\n <ion-label *ngIf=\"title\">{{ title }}</ion-label>\n <ion-icon *ngIf=\"icon\" slot=\"end\"></ion-icon>\n </ion-item>\n <ion-card-content>\n <span class=\"variable-value\" *ngIf=\"value\">{{ value }}</span>\n <br *ngIf=\"unit\" />\n <span *ngIf=\"unit\" class=\"unit\">{{ unit }}</span>\n </ion-card-content>\n <ion-card-content *ngIf=\"error\">\n {{ error }}\n </ion-card-content>\n <ion-card-content *ngIf=\"subtitle\" class=\"text-center\">\n <ion-text class=\"description\">{{ subtitle }}</ion-text>\n </ion-card-content>\n</ion-card>\n", styles: [".variable-value{font-size:1.4em;font-weight:700}ion-card,ion-card ion-item,ion-card-subtitle,ion-item ion-card-subtitle{text-align:center}.description{font-size:.9em;color:#777;text-align:center}\n"] }] }], ctorParameters: function () { return []; }, propDecorators: { options: [{ type: Input }], title: [{ type: Input }], subtitle: [{ type: Input }], template: [{ type: Input }], unit: [{ type: Input }], icon: [{ type: Input }], color: [{ type: Input }], inputStream: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9tb25pdG9yaW5nL3NyYy9saWIvdWktY29tcG9uZW50cy90ZXh0LWNhcmQvdGV4dC1jYXJkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9tb25pdG9yaW5nL3NyYy9saWIvdWktY29tcG9uZW50cy90ZXh0LWNhcmQvdGV4dC1jYXJkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQWdCLE1BQU0sTUFBTSxDQUFDOzs7O0FBV2hELE1BQU0sT0FBTyxpQkFBaUI7SUFtQjVCLElBQ0ksV0FBVyxDQUFDLE1BQXVCO1FBQ3JDLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7Z0JBQ25DLElBQUksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNkLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTt3QkFDakIsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztxQkFDakQ7b0JBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLENBQUM7Z0JBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ25CLENBQUM7YUFDRixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFNRDtRQXhDUyxZQUFPLEdBQTZCO1lBQzNDLFlBQVksRUFBRSxHQUFHO1NBQ2xCLENBQUM7UUFZTyxVQUFLLEdBQUcsTUFBTSxDQUFDO1FBc0J4QixVQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUM7SUFJbkIsQ0FBQztJQUVoQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNuQyxDQUFDOztrSUE3Q1UsaUJBQWlCO3NIQUFqQixpQkFBaUIsZ09DWjlCLDB0QkFrQkE7NEZETmEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLHNCQUFzQjswRUFLdkIsT0FBTztzQkFBZixLQUFLO2dCQUlHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0YsV0FBVztzQkFEZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBUZXh0Q2FyZENvbXBvbmVudE9wdGlvbnMge1xuICBpbml0aWFsVmFsdWU6IGFueTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW9uaXRvcmluZy10ZXh0LWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRleHRDYXJkQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KCkgb3B0aW9uczogVGV4dENhcmRDb21wb25lbnRPcHRpb25zID0ge1xuICAgIGluaXRpYWxWYWx1ZTogJzAnLFxuICB9O1xuXG4gIEBJbnB1dCgpIHRpdGxlPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHN1YnRpdGxlPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHRlbXBsYXRlPzogc3RyaW5nO1xuXG4gIEBJbnB1dCgpIHVuaXQ/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgaWNvbj86IHN0cmluZztcblxuICBASW5wdXQoKSBjb2xvciA9ICdkYXJrJztcblxuICBzdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG5cbiAgQElucHV0KClcbiAgc2V0IGlucHV0U3RyZWFtKHN0cmVhbTogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgaWYgKHN0cmVhbSkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IHN0cmVhbS5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodmFsdWUpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy50ZW1wbGF0ZSkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnRlbXBsYXRlLnJlcGxhY2UoJyN2YWx1ZSMnLCB2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLmVycm9yID0gZXJyO1xuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdmFsdWUgPSB0aGlzLm9wdGlvbnMuaW5pdGlhbFZhbHVlO1xuXG4gIGVycm9yPzogRXJyb3I7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8aW9uLWNhcmQ+XG4gIDxpb24taXRlbSAqbmdJZj1cInRpdGxlIHx8IGljb25cIiBsaW5lcz1cImZ1bGxcIiBbY29sb3JdPVwiY29sb3JcIj5cbiAgICA8aW9uLWljb24gKm5nSWY9XCJpY29uXCIgbmFtZT1cInt7IGljb24gfX1cIiBzbG90PVwic3RhcnRcIj48L2lvbi1pY29uPlxuICAgIDxpb24tbGFiZWwgKm5nSWY9XCJ0aXRsZVwiPnt7IHRpdGxlIH19PC9pb24tbGFiZWw+XG4gICAgPGlvbi1pY29uICpuZ0lmPVwiaWNvblwiIHNsb3Q9XCJlbmRcIj48L2lvbi1pY29uPlxuICA8L2lvbi1pdGVtPlxuICA8aW9uLWNhcmQtY29udGVudD5cbiAgICA8c3BhbiBjbGFzcz1cInZhcmlhYmxlLXZhbHVlXCIgKm5nSWY9XCJ2YWx1ZVwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICAgIDxiciAqbmdJZj1cInVuaXRcIiAvPlxuICAgIDxzcGFuICpuZ0lmPVwidW5pdFwiIGNsYXNzPVwidW5pdFwiPnt7IHVuaXQgfX08L3NwYW4+XG4gIDwvaW9uLWNhcmQtY29udGVudD5cbiAgPGlvbi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJlcnJvclwiPlxuICAgIHt7IGVycm9yIH19XG4gIDwvaW9uLWNhcmQtY29udGVudD5cbiAgPGlvbi1jYXJkLWNvbnRlbnQgKm5nSWY9XCJzdWJ0aXRsZVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cbiAgICA8aW9uLXRleHQgY2xhc3M9XCJkZXNjcmlwdGlvblwiPnt7IHN1YnRpdGxlIH19PC9pb24tdGV4dD5cbiAgPC9pb24tY2FyZC1jb250ZW50PlxuPC9pb24tY2FyZD5cbiJdfQ==