UNPKG

@iotize/ionic

Version:

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

90 lines 11.7 kB
import { __decorate, __metadata } from "tslib"; import { Component, Input, ViewChild, } from '@angular/core'; import { TapValueEditorContainerComponent } from '@iotize/ionic'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { MonitoringAppGenComponent, } from '../../metadata/decorators'; import * as i0 from "@angular/core"; import * as i1 from "../monitoring-actions/monitoring-actions.component"; import * as i2 from "@iotize/ionic"; import * as i3 from "@angular/common"; let TapVariableButtonsComponent = class TapVariableButtonsComponent { ctx; destroyed = new Subject(); checkedButtonIndex; variable; editable = true; color = 'primary'; segment = true; set buttons(buttons) { this.actions = (buttons || []) .filter((button) => !!button) .map((button) => { return { // active: false, label: button.label, icon: button.icon, action: async () => { await this.ctx.notifyValueChange(button.value); }, value: button.value, disabled: button.disabled, }; }); } set value(newValue) { this._setActiveButton(newValue); } actions = []; constructor() { } ngAfterViewInit() { this.ctx?.valueToDisplay ?.pipe(takeUntil(this.destroyed)) .subscribe((newValue) => { this._setActiveButton(newValue); }); } ngOnDestroy() { this.destroyed.next(); } _setActiveButton(newValue) { this.checkedButtonIndex = this.actions.findIndex((action) => { return action.value === newValue; }); } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapVariableButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TapVariableButtonsComponent, selector: "tap-variable-buttons", inputs: { variable: "variable", editable: "editable", color: "color", segment: "segment", buttons: "buttons" }, viewQueries: [{ propertyName: "ctx", first: true, predicate: ["ctx"], descendants: true }], ngImport: i0, template: "<tap-value-editor-container #ctx [variable]=\"variable\">\n <app-monitoring-actions\n style=\"width: 100%\"\n [disabled]=\"!editable || (ctx.loadingChange | async)\"\n [actions]=\"actions\"\n [segment]=\"segment\"\n [color]=\"color\"\n [checkedButtonIndex]=\"checkedButtonIndex\"\n >\n </app-monitoring-actions>\n</tap-value-editor-container>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MonitoringActionsComponent, selector: "app-monitoring-actions", inputs: ["segment", "actions", "checkedButtonIndex", "disabled", "color"] }, { kind: "component", type: i2.TapValueEditorContainerComponent, selector: "tap-value-editor-container", inputs: ["button", "variable", "inputOptions", "showRefreshButton", "showSubmitButton", "showEditButton", "error", "lines", "modalEdition", "value"], outputs: ["submit", "refresh"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }; TapVariableButtonsComponent = __decorate([ MonitoringAppGenComponent({ constraints: { isArray: 'NO', }, events: [ { name: 'submit', dataType: 'number', }, ], }), __metadata("design:paramtypes", []) ], TapVariableButtonsComponent); export { TapVariableButtonsComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapVariableButtonsComponent, decorators: [{ type: Component, args: [{ selector: 'tap-variable-buttons', template: "<tap-value-editor-container #ctx [variable]=\"variable\">\n <app-monitoring-actions\n style=\"width: 100%\"\n [disabled]=\"!editable || (ctx.loadingChange | async)\"\n [actions]=\"actions\"\n [segment]=\"segment\"\n [color]=\"color\"\n [checkedButtonIndex]=\"checkedButtonIndex\"\n >\n </app-monitoring-actions>\n</tap-value-editor-container>\n" }] }], ctorParameters: () => [], propDecorators: { ctx: [{ type: ViewChild, args: ['ctx'] }], variable: [{ type: Input }], editable: [{ type: Input }], color: [{ type: Input }], segment: [{ type: Input }], buttons: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLXZhcmlhYmxlLWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL21vbml0b3Jpbmcvc3JjL2xpYi91aS1jb21wb25lbnRzL3RhcC12YXJpYWJsZS1idXR0b25zL3RhcC12YXJpYWJsZS1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9tb25pdG9yaW5nL3NyYy9saWIvdWktY29tcG9uZW50cy90YXAtdmFyaWFibGUtYnV0dG9ucy90YXAtdmFyaWFibGUtYnV0dG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBZ0M1QixJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQUNwQixHQUFHLENBQW9DO0lBRWpELFNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBRXhDLGtCQUFrQixDQUFVO0lBRzVCLFFBQVEsQ0FBaUQ7SUFHekQsUUFBUSxHQUFZLElBQUksQ0FBQztJQUd6QixLQUFLLEdBQUcsU0FBUyxDQUFDO0lBRVQsT0FBTyxHQUFHLElBQUksQ0FBQztJQUV4QixJQUNJLE9BQU8sQ0FBQyxPQUF3QztRQUNsRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQzthQUMzQixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7YUFDNUIsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFjLEVBQUU7WUFDMUIsT0FBTztnQkFDTCxpQkFBaUI7Z0JBQ2pCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbkIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUNqQixNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUU7b0JBQ2pCLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pELENBQUM7Z0JBQ0QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO2dCQUNuQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7YUFDMUIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLFFBQWdCO1FBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU0sT0FBTyxHQUFpQixFQUFFLENBQUM7SUFFbEMsZ0JBQWUsQ0FBQztJQUVoQixlQUFlO1FBQ2IsSUFBSSxDQUFDLEdBQUcsRUFBRSxjQUFjO1lBQ3RCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxRQUFnQjtRQUN2QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMxRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsySEE1RFUsMkJBQTJCOytHQUEzQiwyQkFBMkIsd1FDOUN4QywrV0FXQTs7QURtQ2EsMkJBQTJCO0lBaEJ2Qyx5QkFBeUIsQ0FBQztRQUN6QixXQUFXLEVBQUU7WUFDWCxPQUFPLEVBQUUsSUFBSTtTQUNkO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLFFBQVE7YUFDbkI7U0FDRjtLQUNGLENBQUM7O0dBTVcsMkJBQTJCLENBNkR2Qzs7NEZBN0RZLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxzQkFBc0I7d0RBS2QsR0FBRztzQkFBcEIsU0FBUzt1QkFBQyxLQUFLO2dCQU9oQixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLEtBQUs7c0JBREosS0FBSztnQkFHRyxPQUFPO3NCQUFmLEtBQUs7Z0JBR0YsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGFwVmFsdWVFZGl0b3JDb250YWluZXJDb21wb25lbnQgfSBmcm9tICdAaW90aXplL2lvbmljJztcbmltcG9ydCB7IEVkaXRhYmxlVmFsdWVEYXRhU3RyZWFtSW50ZXJmYWNlIH0gZnJvbSAnQGlvdGl6ZS90YXAvZGF0YSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBcHBHZW5GaWVsZCxcbiAgTW9uaXRvcmluZ0FwcEdlbkNvbXBvbmVudCxcbn0gZnJvbSAnLi4vLi4vbWV0YWRhdGEvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25JdGVtIH0gZnJvbSAnLi4vbW9uaXRvcmluZy1hY3Rpb25zL21vbml0b3JpbmctYWN0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgSUNPTl9PUl9TVkdfU0NIRU1BLFxuICBJT05JQ19DT0xPUl9TQ0hFTUEsXG4gIFRBUF9WQVJJQUJMRV9TQ0hFTUEsXG4gIFZBTFVFX1NUUkVBTV9GSUVMRCxcbn0gZnJvbSAnLi4vc2hhcmVkLXNjaGVtYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFwVmFyaWFibGVCdXR0b24ge1xuICBsYWJlbDogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xuICBpY29uPzogc3RyaW5nO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG59XG5cbkBNb25pdG9yaW5nQXBwR2VuQ29tcG9uZW50KHtcbiAgY29uc3RyYWludHM6IHtcbiAgICBpc0FycmF5OiAnTk8nLFxuICB9LFxuICBldmVudHM6IFtcbiAgICB7XG4gICAgICBuYW1lOiAnc3VibWl0JyxcbiAgICAgIGRhdGFUeXBlOiAnbnVtYmVyJyxcbiAgICB9LFxuICBdLFxufSlcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RhcC12YXJpYWJsZS1idXR0b25zJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhcC12YXJpYWJsZS1idXR0b25zLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFwLXZhcmlhYmxlLWJ1dHRvbnMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFwVmFyaWFibGVCdXR0b25zQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY3R4JykgY3R4ITogVGFwVmFsdWVFZGl0b3JDb250YWluZXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGNoZWNrZWRCdXR0b25JbmRleD86IG51bWJlcjtcblxuICBASW5wdXQoKVxuICB2YXJpYWJsZT86IEVkaXRhYmxlVmFsdWVEYXRhU3RyZWFtSW50ZXJmYWNlPG51bWJlciwgYW55PjtcblxuICBASW5wdXQoKVxuICBlZGl0YWJsZTogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgY29sb3IgPSAncHJpbWFyeSc7XG5cbiAgQElucHV0KCkgc2VnbWVudCA9IHRydWU7XG5cbiAgQElucHV0KClcbiAgc2V0IGJ1dHRvbnMoYnV0dG9uczogVGFwVmFyaWFibGVCdXR0b25bXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuYWN0aW9ucyA9IChidXR0b25zIHx8IFtdKVxuICAgICAgLmZpbHRlcigoYnV0dG9uKSA9PiAhIWJ1dHRvbilcbiAgICAgIC5tYXAoKGJ1dHRvbik6IEFjdGlvbkl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC8vIGFjdGl2ZTogZmFsc2UsXG4gICAgICAgICAgbGFiZWw6IGJ1dHRvbi5sYWJlbCxcbiAgICAgICAgICBpY29uOiBidXR0b24uaWNvbixcbiAgICAgICAgICBhY3Rpb246IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuY3R4Lm5vdGlmeVZhbHVlQ2hhbmdlKGJ1dHRvbi52YWx1ZSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB2YWx1ZTogYnV0dG9uLnZhbHVlLFxuICAgICAgICAgIGRpc2FibGVkOiBidXR0b24uZGlzYWJsZWQsXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIHNldCB2YWx1ZShuZXdWYWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fc2V0QWN0aXZlQnV0dG9uKG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpb25zOiBBY3Rpb25JdGVtW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuY3R4Py52YWx1ZVRvRGlzcGxheVxuICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAuc3Vic2NyaWJlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgICB0aGlzLl9zZXRBY3RpdmVCdXR0b24obmV3VmFsdWUpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRBY3RpdmVCdXR0b24obmV3VmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuY2hlY2tlZEJ1dHRvbkluZGV4ID0gdGhpcy5hY3Rpb25zLmZpbmRJbmRleCgoYWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4gYWN0aW9uLnZhbHVlID09PSBuZXdWYWx1ZTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPHRhcC12YWx1ZS1lZGl0b3ItY29udGFpbmVyICNjdHggW3ZhcmlhYmxlXT1cInZhcmlhYmxlXCI+XG4gIDxhcHAtbW9uaXRvcmluZy1hY3Rpb25zXG4gICAgc3R5bGU9XCJ3aWR0aDogMTAwJVwiXG4gICAgW2Rpc2FibGVkXT1cIiFlZGl0YWJsZSB8fCAoY3R4LmxvYWRpbmdDaGFuZ2UgfCBhc3luYylcIlxuICAgIFthY3Rpb25zXT1cImFjdGlvbnNcIlxuICAgIFtzZWdtZW50XT1cInNlZ21lbnRcIlxuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgW2NoZWNrZWRCdXR0b25JbmRleF09XCJjaGVja2VkQnV0dG9uSW5kZXhcIlxuICA+XG4gIDwvYXBwLW1vbml0b3JpbmctYWN0aW9ucz5cbjwvdGFwLXZhbHVlLWVkaXRvci1jb250YWluZXI+XG4iXX0=