@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
88 lines • 11.8 kB
JavaScript
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 {
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);
}
constructor() {
this.destroyed = new Subject();
this.editable = true;
this.color = 'primary';
this.segment = true;
this.actions = [];
}
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 */ TapVariableButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapVariableButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
/** @nocollapse */ TapVariableButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", 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: "15.2.10", 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: function () { return []; }, 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLXZhcmlhYmxlLWJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL21vbml0b3Jpbmcvc3JjL2xpYi91aS1jb21wb25lbnRzL3RhcC12YXJpYWJsZS1idXR0b25zL3RhcC12YXJpYWJsZS1idXR0b25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9tb25pdG9yaW5nL3NyYy9saWIvdWktY29tcG9uZW50cy90YXAtdmFyaWFibGUtYnV0dG9ucy90YXAtdmFyaWFibGUtYnV0dG9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBRUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBRUwseUJBQXlCLEdBQzFCLE1BQU0sMkJBQTJCLENBQUM7Ozs7O0FBZ0M1QixJQUFNLDJCQUEyQixHQUFqQyxNQUFNLDJCQUEyQjtJQWtCdEMsSUFDSSxPQUFPLENBQUMsT0FBd0M7UUFDbEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7YUFDM0IsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO2FBQzVCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBYyxFQUFFO1lBQzFCLE9BQU87Z0JBQ0wsaUJBQWlCO2dCQUNqQixLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUs7Z0JBQ25CLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTtnQkFDakIsTUFBTSxFQUFFLEtBQUssSUFBSSxFQUFFO29CQUNqQixNQUFNLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqRCxDQUFDO2dCQUNELEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztnQkFDbkIsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO2FBQzFCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFnQjtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUlEO1FBdkNRLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBUXhDLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsVUFBSyxHQUFHLFNBQVMsQ0FBQztRQUVULFlBQU8sR0FBRyxJQUFJLENBQUM7UUF3QmpCLFlBQU8sR0FBaUIsRUFBRSxDQUFDO0lBRW5CLENBQUM7SUFFaEIsZUFBZTtRQUNiLElBQUksQ0FBQyxHQUFHLEVBQUUsY0FBYztZQUN0QixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2hDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsUUFBZ0I7UUFDdkMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDMUQsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsQ0FBQztRQUNuQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRJQTVEVSwyQkFBMkI7Z0lBQTNCLDJCQUEyQix3UUM5Q3hDLCtXQVdBO0FEbUNhLDJCQUEyQjtJQWhCdkMseUJBQXlCLENBQUM7UUFDekIsV0FBVyxFQUFFO1lBQ1gsT0FBTyxFQUFFLElBQUk7U0FDZDtRQUNELE1BQU0sRUFBRTtZQUNOO2dCQUNFLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxRQUFRO2FBQ25CO1NBQ0Y7S0FDRixDQUFDOztHQU1XLDJCQUEyQixDQTZEdkM7U0E3RFksMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBTHZDLFNBQVM7K0JBQ0Usc0JBQXNCOzBFQUtkLEdBQUc7c0JBQXBCLFNBQVM7dUJBQUMsS0FBSztnQkFPaEIsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7Z0JBR0csT0FBTztzQkFBZixLQUFLO2dCQUdGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhcFZhbHVlRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnQGlvdGl6ZS9pb25pYyc7XG5pbXBvcnQgeyBFZGl0YWJsZVZhbHVlRGF0YVN0cmVhbUludGVyZmFjZSB9IGZyb20gJ0Bpb3RpemUvdGFwL2RhdGEnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgQXBwR2VuRmllbGQsXG4gIE1vbml0b3JpbmdBcHBHZW5Db21wb25lbnQsXG59IGZyb20gJy4uLy4uL21ldGFkYXRhL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uSXRlbSB9IGZyb20gJy4uL21vbml0b3JpbmctYWN0aW9ucy9tb25pdG9yaW5nLWFjdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIElDT05fT1JfU1ZHX1NDSEVNQSxcbiAgSU9OSUNfQ09MT1JfU0NIRU1BLFxuICBUQVBfVkFSSUFCTEVfU0NIRU1BLFxuICBWQUxVRV9TVFJFQU1fRklFTEQsXG59IGZyb20gJy4uL3NoYXJlZC1zY2hlbWEnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRhcFZhcmlhYmxlQnV0dG9uIHtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbiAgaWNvbj86IHN0cmluZztcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xufVxuXG5ATW9uaXRvcmluZ0FwcEdlbkNvbXBvbmVudCh7XG4gIGNvbnN0cmFpbnRzOiB7XG4gICAgaXNBcnJheTogJ05PJyxcbiAgfSxcbiAgZXZlbnRzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ3N1Ym1pdCcsXG4gICAgICBkYXRhVHlwZTogJ251bWJlcicsXG4gICAgfSxcbiAgXSxcbn0pXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd0YXAtdmFyaWFibGUtYnV0dG9ucycsXG4gIHRlbXBsYXRlVXJsOiAnLi90YXAtdmFyaWFibGUtYnV0dG9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhcC12YXJpYWJsZS1idXR0b25zLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFRhcFZhcmlhYmxlQnV0dG9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBWaWV3Q2hpbGQoJ2N0eCcpIGN0eCE6IFRhcFZhbHVlRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjaGVja2VkQnV0dG9uSW5kZXg/OiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgdmFyaWFibGU/OiBFZGl0YWJsZVZhbHVlRGF0YVN0cmVhbUludGVyZmFjZTxudW1iZXIsIGFueT47XG5cbiAgQElucHV0KClcbiAgZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGNvbG9yID0gJ3ByaW1hcnknO1xuXG4gIEBJbnB1dCgpIHNlZ21lbnQgPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBidXR0b25zKGJ1dHRvbnM6IFRhcFZhcmlhYmxlQnV0dG9uW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLmFjdGlvbnMgPSAoYnV0dG9ucyB8fCBbXSlcbiAgICAgIC5maWx0ZXIoKGJ1dHRvbikgPT4gISFidXR0b24pXG4gICAgICAubWFwKChidXR0b24pOiBBY3Rpb25JdGVtID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAvLyBhY3RpdmU6IGZhbHNlLFxuICAgICAgICAgIGxhYmVsOiBidXR0b24ubGFiZWwsXG4gICAgICAgICAgaWNvbjogYnV0dG9uLmljb24sXG4gICAgICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLmN0eC5ub3RpZnlWYWx1ZUNoYW5nZShidXR0b24udmFsdWUpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdmFsdWU6IGJ1dHRvbi52YWx1ZSxcbiAgICAgICAgICBkaXNhYmxlZDogYnV0dG9uLmRpc2FibGVkLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gIH1cblxuICBzZXQgdmFsdWUobmV3VmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuX3NldEFjdGl2ZUJ1dHRvbihuZXdWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgYWN0aW9uczogQWN0aW9uSXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmN0eD8udmFsdWVUb0Rpc3BsYXlcbiAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZSgobmV3VmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5fc2V0QWN0aXZlQnV0dG9uKG5ld1ZhbHVlKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95ZWQubmV4dCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0QWN0aXZlQnV0dG9uKG5ld1ZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmNoZWNrZWRCdXR0b25JbmRleCA9IHRoaXMuYWN0aW9ucy5maW5kSW5kZXgoKGFjdGlvbikgPT4ge1xuICAgICAgcmV0dXJuIGFjdGlvbi52YWx1ZSA9PT0gbmV3VmFsdWU7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjx0YXAtdmFsdWUtZWRpdG9yLWNvbnRhaW5lciAjY3R4IFt2YXJpYWJsZV09XCJ2YXJpYWJsZVwiPlxuICA8YXBwLW1vbml0b3JpbmctYWN0aW9uc1xuICAgIHN0eWxlPVwid2lkdGg6IDEwMCVcIlxuICAgIFtkaXNhYmxlZF09XCIhZWRpdGFibGUgfHwgKGN0eC5sb2FkaW5nQ2hhbmdlIHwgYXN5bmMpXCJcbiAgICBbYWN0aW9uc109XCJhY3Rpb25zXCJcbiAgICBbc2VnbWVudF09XCJzZWdtZW50XCJcbiAgICBbY29sb3JdPVwiY29sb3JcIlxuICAgIFtjaGVja2VkQnV0dG9uSW5kZXhdPVwiY2hlY2tlZEJ1dHRvbkluZGV4XCJcbiAgPlxuICA8L2FwcC1tb25pdG9yaW5nLWFjdGlvbnM+XG48L3RhcC12YWx1ZS1lZGl0b3ItY29udGFpbmVyPlxuIl19