UNPKG

@iotize/ionic

Version:

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

53 lines 7.93 kB
import { Component, Input } from '@angular/core'; import { NEVER, Subject } from 'rxjs'; import { map, share, switchMap, takeUntil } from 'rxjs/operators'; import { tapConfiguratorEventToProgress } from './tap-configurator-event-progress-percent.pipe'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@ionic/angular"; import * as i3 from "./tap-configurator-step-title.pipe"; export class TapConfiguratorProgressBarComponent { _eventsStream = new Subject(); step; set events(obs) { this._eventsStream.next(obs); } color; destroyed = new Subject(); _progressEventStream = this._eventsStream.pipe(takeUntil(this.destroyed), switchMap((stream) => { if (stream === undefined) { return NEVER; } else { return stream.pipe(map((event) => { const percent = tapConfiguratorEventToProgress(event); const step = event.step; return { percent, step, }; })); } }), share()); constructor() { } ngOnDestroy() { this.destroyed.next(); this.destroyed.complete(); } ngOnInit() { this._progressEventStream.subscribe((step) => { this.step = step; }); } /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapConfiguratorProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: TapConfiguratorProgressBarComponent, selector: "tap-configurator-progress-bar", inputs: { events: "events", color: "color" }, ngImport: i0, template: "<ng-container *ngIf=\"step\">\n <p>\n {{ step | tapConfiguratorStepTitle }}\n </p>\n <ion-progress-bar [color]=\"color\" [value]=\"step.percent\"></ion-progress-bar>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.IonProgressBar, selector: "ion-progress-bar", inputs: ["buffer", "color", "mode", "reversed", "type", "value"] }, { kind: "pipe", type: i3.TapConfiguratorStepTitlePipe, name: "tapConfiguratorStepTitle" }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapConfiguratorProgressBarComponent, decorators: [{ type: Component, args: [{ selector: 'tap-configurator-progress-bar', template: "<ng-container *ngIf=\"step\">\n <p>\n {{ step | tapConfiguratorStepTitle }}\n </p>\n <ion-progress-bar [color]=\"color\" [value]=\"step.percent\"></ion-progress-bar>\n</ng-container>\n" }] }], ctorParameters: () => [], propDecorators: { events: [{ type: Input }], color: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWNvbmZpZ3VyYXRvci1wcm9ncmVzcy1iYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL2NvbmZpZ3VyYXRvci9zcmMvbGliL3RhcC1jb25maWd1cmF0b3ItcHJvZ3Jlc3MtYmFyL3RhcC1jb25maWd1cmF0b3ItcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lvdGl6ZS1pb25pYy9jb25maWd1cmF0b3Ivc3JjL2xpYi90YXAtY29uZmlndXJhdG9yLXByb2dyZXNzLWJhci90YXAtY29uZmlndXJhdG9yLXByb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLEtBQUssRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDOzs7OztBQU9oRyxNQUFNLE9BQU8sbUNBQW1DO0lBQzlDLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFFeEIsQ0FBQztJQUNKLElBQUksQ0FBb0U7SUFFeEUsSUFBYSxNQUFNLENBQ2pCLEdBQXdEO1FBRXhELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFUSxLQUFLLENBQVU7SUFFaEIsU0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFaEMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3BELFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ25CLElBQUksTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQ2hCLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNaLE1BQU0sT0FBTyxHQUFHLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN0RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUN4QixPQUFPO29CQUNMLE9BQU87b0JBQ1AsSUFBSTtpQkFDTCxDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDLENBQUMsRUFDRixLQUFLLEVBQUUsQ0FDUixDQUFDO0lBRUYsZ0JBQWUsQ0FBQztJQUVoQixXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsySEFoRFUsbUNBQW1DOytHQUFuQyxtQ0FBbUMsbUhDWGhELGdNQU1BOzs0RkRLYSxtQ0FBbUM7a0JBTC9DLFNBQVM7K0JBQ0UsK0JBQStCO3dEQVU1QixNQUFNO3NCQUFsQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUYXBDb25maWd1cmF0b3JXcml0ZXIgfSBmcm9tICdAaW90aXplL3RhcC9jb25maWd1cmF0b3InO1xuaW1wb3J0IHsgTkVWRVIsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmUsIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgdGFwQ29uZmlndXJhdG9yRXZlbnRUb1Byb2dyZXNzIH0gZnJvbSAnLi90YXAtY29uZmlndXJhdG9yLWV2ZW50LXByb2dyZXNzLXBlcmNlbnQucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RhcC1jb25maWd1cmF0b3ItcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhcC1jb25maWd1cmF0b3ItcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFwLWNvbmZpZ3VyYXRvci1wcm9ncmVzcy1iYXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFwQ29uZmlndXJhdG9yUHJvZ3Jlc3NCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIF9ldmVudHNTdHJlYW0gPSBuZXcgU3ViamVjdDxcbiAgICBPYnNlcnZhYmxlPFRhcENvbmZpZ3VyYXRvcldyaXRlci5FdmVudD4gfCB1bmRlZmluZWRcbiAgPigpO1xuICBzdGVwOiB7IHBlcmNlbnQ6IG51bWJlcjsgc3RlcDogVGFwQ29uZmlndXJhdG9yV3JpdGVyLlN0ZXAgfSB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBzZXQgZXZlbnRzKFxuICAgIG9iczogT2JzZXJ2YWJsZTxUYXBDb25maWd1cmF0b3JXcml0ZXIuRXZlbnQ+IHwgdW5kZWZpbmVkXG4gICkge1xuICAgIHRoaXMuX2V2ZW50c1N0cmVhbS5uZXh0KG9icyk7XG4gIH1cblxuICBASW5wdXQoKSBjb2xvcj86IHN0cmluZztcblxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NFdmVudFN0cmVhbSA9IHRoaXMuX2V2ZW50c1N0cmVhbS5waXBlKFxuICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCksXG4gICAgc3dpdGNoTWFwKChzdHJlYW0pID0+IHtcbiAgICAgIGlmIChzdHJlYW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc3RyZWFtLnBpcGUoXG4gICAgICAgICAgbWFwKChldmVudCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcGVyY2VudCA9IHRhcENvbmZpZ3VyYXRvckV2ZW50VG9Qcm9ncmVzcyhldmVudCk7XG4gICAgICAgICAgICBjb25zdCBzdGVwID0gZXZlbnQuc3RlcDtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHBlcmNlbnQsXG4gICAgICAgICAgICAgIHN0ZXAsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSksXG4gICAgc2hhcmUoKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3Byb2dyZXNzRXZlbnRTdHJlYW0uc3Vic2NyaWJlKChzdGVwKSA9PiB7XG4gICAgICB0aGlzLnN0ZXAgPSBzdGVwO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcFwiPlxuICA8cD5cbiAgICB7eyBzdGVwIHwgdGFwQ29uZmlndXJhdG9yU3RlcFRpdGxlIH19XG4gIDwvcD5cbiAgPGlvbi1wcm9ncmVzcy1iYXIgW2NvbG9yXT1cImNvbG9yXCIgW3ZhbHVlXT1cInN0ZXAucGVyY2VudFwiPjwvaW9uLXByb2dyZXNzLWJhcj5cbjwvbmctY29udGFpbmVyPlxuIl19