UNPKG

truly-ui

Version:

Web Components for Desktop Applications.

52 lines 5.91 kB
import { Directive, HostListener } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "../services/step.service"; import * as i2 from "../../button/button"; export class StepNextDirective { constructor(elementRef, change, stepService, button) { this.elementRef = elementRef; this.change = change; this.stepService = stepService; this.button = button; } onClick() { if (!this.stepService.isValidateForm()) { this.stepService.next(); return; } if (this.stepService.isFormValid()) { this.stepService.next(); } } ngOnInit() { this.stepService.onChange.subscribe(() => { this.elementRef.nativeElement.hidden = this.stepService.isLastStep(); }); } ngAfterViewInit() { this.setDisabled(); this.stepService.onChangeStatusForm.subscribe(() => { setTimeout(() => { this.setDisabled(); }); }); } setDisabled() { if (this.stepService.isValidateForm()) { this.button.disabled = !this.stepService.isFormValid(); this.change.detectChanges(); } } } /** @nocollapse */ StepNextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StepNextDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.StepService }, { token: i2.TlButton }], target: i0.ɵɵFactoryTarget.Directive }); /** @nocollapse */ StepNextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: StepNextDirective, selector: "[stepNext]", host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: StepNextDirective, decorators: [{ type: Directive, args: [{ selector: '[stepNext]' }] }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.StepService }, { type: i2.TlButton }]; }, propDecorators: { onClick: [{ type: HostListener, args: ['click'] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1uZXh0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RydWx5LXVpL3NyYy9jb21wb25lbnRzL3N0ZXAvZGlyZWN0aXZlcy9zdGVwLW5leHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUQsU0FBUyxFQUFjLFlBQVksRUFBUyxNQUFNLGVBQWUsQ0FBQzs7OztBQU8xSCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQW9CLFVBQXNCLEVBQ3RCLE1BQXlCLEVBQ3pCLFdBQXdCLEVBQ3hCLE1BQWdCO1FBSGhCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7UUFDekIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBVTtJQUNwQyxDQUFDO0lBR0QsT0FBTztRQUNMLElBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFHO1lBQ3hDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDakQsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXO1FBQ2pCLElBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7O2tJQXZDVSxpQkFBaUI7c0hBQWpCLGlCQUFpQjs0RkFBakIsaUJBQWlCO2tCQUg3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO2lCQUN2QjtrTEFVQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N0ZXBTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9zdGVwLnNlcnZpY2UnO1xuaW1wb3J0IHtUbEJ1dHRvbn0gZnJvbSAnLi4vLi4vYnV0dG9uL2J1dHRvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tzdGVwTmV4dF0nXG59KVxuZXhwb3J0IGNsYXNzIFN0ZXBOZXh0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBzdGVwU2VydmljZTogU3RlcFNlcnZpY2UsXG4gICAgICAgICAgICAgIHByaXZhdGUgYnV0dG9uOiBUbEJ1dHRvbikge1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBvbkNsaWNrKCkge1xuICAgIGlmICggIXRoaXMuc3RlcFNlcnZpY2UuaXNWYWxpZGF0ZUZvcm0oKSApIHtcbiAgICAgIHRoaXMuc3RlcFNlcnZpY2UubmV4dCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdGVwU2VydmljZS5pc0Zvcm1WYWxpZCgpKSB7XG4gICAgICB0aGlzLnN0ZXBTZXJ2aWNlLm5leHQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnN0ZXBTZXJ2aWNlLm9uQ2hhbmdlLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5oaWRkZW4gPSB0aGlzLnN0ZXBTZXJ2aWNlLmlzTGFzdFN0ZXAoKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnNldERpc2FibGVkKCk7XG4gICAgdGhpcy5zdGVwU2VydmljZS5vbkNoYW5nZVN0YXR1c0Zvcm0uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldERpc2FibGVkKCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGlzYWJsZWQoKSB7XG4gICAgaWYgKCB0aGlzLnN0ZXBTZXJ2aWNlLmlzVmFsaWRhdGVGb3JtKCkpIHtcbiAgICAgIHRoaXMuYnV0dG9uLmRpc2FibGVkID0gIXRoaXMuc3RlcFNlcnZpY2UuaXNGb3JtVmFsaWQoKTtcbiAgICAgIHRoaXMuY2hhbmdlLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxufVxuIl19