UNPKG

truly-ui

Version:

Web Components for Desktop Applications.

58 lines 6.2 kB
import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export class StepService { constructor() { this.onChange = new Subject(); this.onFinish = new Subject(); this.onChangeStatusForm = new Subject(); this.currentStep = 0; } setSteps(steps) { this.steps = steps; } setCurrentStep(step) { this.currentStep = step; } isFormValid() { return this.steps[this.currentStep].form.valid; } isValidateForm() { return this.steps[this.currentStep].validateForm; } next() { if (!this.isLastStep()) { this.currentStep = this.currentStep + 1; this.onChange.next(this.currentStep); } } finish() { const form = {}; this.steps.forEach((item, index) => { const id = `step${index}`; Object.assign(form, { [id]: item.form.value }); }); this.onFinish.next(form); } previous() { if (this.currentStep > 0) { this.currentStep = this.currentStep - 1; this.onChange.next(this.currentStep); } } formStatusChange(status) { this.onChangeStatusForm.next(status); } isFirstStep() { return this.currentStep === 0; } isLastStep() { return this.steps.length - 1 === this.currentStep; } } /** @nocollapse */ StepService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StepService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); /** @nocollapse */ StepService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StepService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StepService, decorators: [{ type: Injectable }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHJ1bHktdWkvc3JjL2NvbXBvbmVudHMvc3RlcC9zZXJ2aWNlcy9zdGVwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQUc3QixNQUFNLE9BQU8sV0FBVztJQVl0QjtRQVZPLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRXpCLHVCQUFrQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFbEMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7SUFLeEIsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFpQjtRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsY0FBYyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDakQsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFFLElBQUksRUFBRSxLQUFLLEVBQUcsRUFBRTtZQUNuQyxNQUFNLEVBQUUsR0FBRyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQzFCLE1BQU0sQ0FBQyxNQUFNLENBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDdEM7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUUsTUFBZTtRQUMvQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFFLE1BQU0sQ0FBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDcEQsQ0FBQzs7NEhBaEVVLFdBQVc7Z0lBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTdGVwU2VydmljZSB7XG5cbiAgcHVibGljIG9uQ2hhbmdlID0gbmV3IFN1YmplY3QoKTtcblxuICBwdWJsaWMgb25GaW5pc2ggPSBuZXcgU3ViamVjdCgpO1xuXG4gIHB1YmxpYyBvbkNoYW5nZVN0YXR1c0Zvcm0gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgY3VycmVudFN0ZXAgPSAwO1xuXG4gIHByaXZhdGUgc3RlcHM7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gIH1cblxuICBzZXRTdGVwcyhzdGVwczogQXJyYXk8YW55Pikge1xuICAgIHRoaXMuc3RlcHMgPSBzdGVwcztcbiAgfVxuXG4gIHNldEN1cnJlbnRTdGVwKHN0ZXA6IG51bWJlcikge1xuICAgIHRoaXMuY3VycmVudFN0ZXAgPSBzdGVwO1xuICB9XG5cbiAgaXNGb3JtVmFsaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHNbdGhpcy5jdXJyZW50U3RlcF0uZm9ybS52YWxpZDtcbiAgfVxuXG4gIGlzVmFsaWRhdGVGb3JtKCkge1xuICAgIHJldHVybiB0aGlzLnN0ZXBzW3RoaXMuY3VycmVudFN0ZXBdLnZhbGlkYXRlRm9ybTtcbiAgfVxuXG4gIG5leHQoKSB7XG4gICAgaWYgKCF0aGlzLmlzTGFzdFN0ZXAoKSkge1xuICAgICAgdGhpcy5jdXJyZW50U3RlcCA9IHRoaXMuY3VycmVudFN0ZXAgKyAxO1xuICAgICAgdGhpcy5vbkNoYW5nZS5uZXh0KHRoaXMuY3VycmVudFN0ZXApO1xuICAgIH1cbiAgfVxuXG4gIGZpbmlzaCgpIHtcbiAgICBjb25zdCBmb3JtID0ge307XG4gICAgdGhpcy5zdGVwcy5mb3JFYWNoKCggaXRlbSwgaW5kZXggKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IGBzdGVwJHtpbmRleH1gO1xuICAgICAgT2JqZWN0LmFzc2lnbiggZm9ybSwgeyBbaWRdOiBpdGVtLmZvcm0udmFsdWUgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5vbkZpbmlzaC5uZXh0KCBmb3JtICk7XG4gIH1cblxuICBwcmV2aW91cygpIHtcbiAgICBpZiAodGhpcy5jdXJyZW50U3RlcCA+IDApIHtcbiAgICAgIHRoaXMuY3VycmVudFN0ZXAgPSB0aGlzLmN1cnJlbnRTdGVwIC0gMTtcbiAgICAgIHRoaXMub25DaGFuZ2UubmV4dCh0aGlzLmN1cnJlbnRTdGVwKTtcbiAgICB9XG4gIH1cblxuICBmb3JtU3RhdHVzQ2hhbmdlKCBzdGF0dXM6IGJvb2xlYW4gKSB7XG4gICAgdGhpcy5vbkNoYW5nZVN0YXR1c0Zvcm0ubmV4dCggc3RhdHVzICk7XG4gIH1cblxuICBpc0ZpcnN0U3RlcCgpIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U3RlcCA9PT0gMDtcbiAgfVxuXG4gIGlzTGFzdFN0ZXAoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RlcHMubGVuZ3RoIC0gMSA9PT0gdGhpcy5jdXJyZW50U3RlcDtcbiAgfVxuXG59XG4iXX0=