@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
47 lines • 6.25 kB
JavaScript
import { Directive } from '@angular/core';
import { of } from 'rxjs';
import { WizardStepComponent } from './wizard-step.component';
import * as i0 from "@angular/core";
/**
* A base class for form based wizard steps
*/
// eslint-disable-next-line @angular-eslint/directive-class-suffix
export class FormWizardStepComponent extends WizardStepComponent {
/**
* Called when the form value has changed
*/
onFormValueChanged() {
this.emitModelChanged();
}
/**
* Observable handler for determining if the step is valid
*/
checkIsValid() {
return of(this.formControl && (this.formControl.valid || this.formControl.disabled));
}
/**
* Gets if the step is currently valid
*/
getIsValid() {
return super.getIsValid() && this.formControl && (this.formControl.valid || this.formControl.disabled);
}
/**
* Implementation of angular lifecycle AfterContentInit interface.
* Subscribes to form value changes
* Disable form if step has been marked as disabled
*/
ngAfterContentInit() {
if (this.formControl) {
this.subscriptions.push(this.formControl.valueChanges.subscribe(() => this.onFormValueChanged()));
if (this.disabled) {
this.formControl.disable();
}
}
}
}
/** @nocollapse */ FormWizardStepComponent.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵFormWizardStepComponent_BaseFactory; return function FormWizardStepComponent_Factory(t) { return (ɵFormWizardStepComponent_BaseFactory || (ɵFormWizardStepComponent_BaseFactory = i0.ɵɵgetInheritedFactory(FormWizardStepComponent)))(t || FormWizardStepComponent); }; }();
/** @nocollapse */ FormWizardStepComponent.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: FormWizardStepComponent, features: [i0.ɵɵInheritDefinitionFeature] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FormWizardStepComponent, [{
type: Directive
}], null, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS13aXphcmQtc3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy93aXphcmQvd2l6YXJkLXN0ZXAvZm9ybS13aXphcmQtc3RlcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFOUQ7O0dBRUc7QUFFSCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFnQix1QkFDbEIsU0FBUSxtQkFBNkM7SUFPckQ7O09BRUc7SUFDTyxrQkFBa0I7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOztPQUVHO0lBQ08sWUFBWTtRQUNsQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7T0FFRztJQUNPLFVBQVU7UUFDaEIsT0FBTyxLQUFLLENBQUMsVUFBVSxFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0csQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxrQkFBa0I7UUFDckIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDbEcsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO2dCQUNmLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDOUI7U0FDSjtJQUNMLENBQUM7OzBTQXpDaUIsdUJBQXVCLFNBQXZCLHVCQUF1Qjt5R0FBdkIsdUJBQXVCO3VGQUF2Qix1QkFBdUI7Y0FGNUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFdpemFyZE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3dpemFyZC1tb2RlbCc7XHJcbmltcG9ydCB7IFdpemFyZFN0ZXBDb21wb25lbnQgfSBmcm9tICcuL3dpemFyZC1zdGVwLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQSBiYXNlIGNsYXNzIGZvciBmb3JtIGJhc2VkIHdpemFyZCBzdGVwc1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9ybVdpemFyZFN0ZXBDb21wb25lbnQ8VE1vZGVsIGV4dGVuZHMgV2l6YXJkTW9kZWwsIFRSZXNvdXJjZVN0cmluZ3M+XHJcbiAgICBleHRlbmRzIFdpemFyZFN0ZXBDb21wb25lbnQ8VE1vZGVsLCBUUmVzb3VyY2VTdHJpbmdzPiBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGZvcm0gY29udHJvbCBmb3IgYmluZGluZyB0aGUgc3RhdGUgb2YgdGhlIHdpemFyZCBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgcmVhZG9ubHkgZm9ybUNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxlZCB3aGVuIHRoZSBmb3JtIHZhbHVlIGhhcyBjaGFuZ2VkXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBvbkZvcm1WYWx1ZUNoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5lbWl0TW9kZWxDaGFuZ2VkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPYnNlcnZhYmxlIGhhbmRsZXIgZm9yIGRldGVybWluaW5nIGlmIHRoZSBzdGVwIGlzIHZhbGlkXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBjaGVja0lzVmFsaWQoKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKHRoaXMuZm9ybUNvbnRyb2wgJiYgKHRoaXMuZm9ybUNvbnRyb2wudmFsaWQgfHwgdGhpcy5mb3JtQ29udHJvbC5kaXNhYmxlZCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2V0cyBpZiB0aGUgc3RlcCBpcyBjdXJyZW50bHkgdmFsaWRcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGdldElzVmFsaWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLmdldElzVmFsaWQoKSAmJiB0aGlzLmZvcm1Db250cm9sICYmICh0aGlzLmZvcm1Db250cm9sLnZhbGlkIHx8IHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wbGVtZW50YXRpb24gb2YgYW5ndWxhciBsaWZlY3ljbGUgQWZ0ZXJDb250ZW50SW5pdCBpbnRlcmZhY2UuXHJcbiAgICAgKiBTdWJzY3JpYmVzIHRvIGZvcm0gdmFsdWUgY2hhbmdlc1xyXG4gICAgICogRGlzYWJsZSBmb3JtIGlmIHN0ZXAgaGFzIGJlZW4gbWFya2VkIGFzIGRpc2FibGVkXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5mb3JtQ29udHJvbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMub25Gb3JtVmFsdWVDaGFuZ2VkKCkpKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==