@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
51 lines • 7.43 kB
JavaScript
import { Directive } from '@angular/core';
import { FormBuilder } from '@angular/forms';
import { FormWizardStepComponent } from './form-wizard-step.component';
import * as i0 from "@angular/core";
/**
* A base class for reactive form based wizard steps
*/
// eslint-disable-next-line @angular-eslint/directive-class-suffix
export class ReactiveFormWizardStepComponent extends FormWizardStepComponent {
/**
* A reference to the form control for binding the state of the wizard state
*/
get formControl() {
return this.form;
}
/**
* Implementation of ngOnInit lifecycle OnInit interface.
*/
ngOnInit() {
super.ngOnInit();
this.formBuilder = this.injector.get(FormBuilder);
// initialize form
this.form = this.buildForm();
this.updateFromModel();
this.form.markAsPristine();
// when the form changes, update the model from the form
this.subscriptions.push(this.form.valueChanges.subscribe(() => this.updateFromForm()));
}
/**
* Called from the wizard when the model changes
*/
onWizardModelChanged(model) {
super.onWizardModelChanged(model);
if (!!this.formControl) {
this.updateFromModel();
}
}
/**
* Called when the form value has changed
*/
onFormValueChanged() {
this.updateFromForm();
super.onFormValueChanged();
}
}
/** @nocollapse */ ReactiveFormWizardStepComponent.ɵfac = /** @pureOrBreakMyCode */ function () { let ɵReactiveFormWizardStepComponent_BaseFactory; return function ReactiveFormWizardStepComponent_Factory(t) { return (ɵReactiveFormWizardStepComponent_BaseFactory || (ɵReactiveFormWizardStepComponent_BaseFactory = i0.ɵɵgetInheritedFactory(ReactiveFormWizardStepComponent)))(t || ReactiveFormWizardStepComponent); }; }();
/** @nocollapse */ ReactiveFormWizardStepComponent.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: ReactiveFormWizardStepComponent, features: [i0.ɵɵInheritDefinitionFeature] });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ReactiveFormWizardStepComponent, [{
type: Directive
}], null, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtZm9ybS13aXphcmQtc3RlcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9hbmd1bGFyL3NyYy9jb250cm9scy93aXphcmQvd2l6YXJkLXN0ZXAvcmVhY3RpdmUtZm9ybS13aXphcmQtc3RlcC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQW1CLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUV2RTs7R0FFRztBQUVILGtFQUFrRTtBQUNsRSxNQUFNLE9BQWdCLCtCQUNsQixTQUFRLHVCQUFpRDtJQU96RDs7T0FFRztJQUNILElBQWMsV0FBVztRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQXNCRDs7T0FFRztJQUNJLFFBQVE7UUFDWCxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsRCxrQkFBa0I7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFM0Isd0RBQXdEO1FBQ3hELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7SUFFRDs7T0FFRztJQUNJLG9CQUFvQixDQUFDLEtBQWE7UUFDckMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzFCO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ08sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUMvQixDQUFDOztrVkFuRWlCLCtCQUErQixTQUEvQiwrQkFBK0I7aUhBQS9CLCtCQUErQjt1RkFBL0IsK0JBQStCO2NBRnBELFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFdpemFyZE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3dpemFyZC1tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1XaXphcmRTdGVwQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLXdpemFyZC1zdGVwLmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQSBiYXNlIGNsYXNzIGZvciByZWFjdGl2ZSBmb3JtIGJhc2VkIHdpemFyZCBzdGVwc1xyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLWNsYXNzLXN1ZmZpeFxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVhY3RpdmVGb3JtV2l6YXJkU3RlcENvbXBvbmVudDxUTW9kZWwgZXh0ZW5kcyBXaXphcmRNb2RlbCwgVFJlc291cmNlU3RyaW5ncz5cclxuICAgIGV4dGVuZHMgRm9ybVdpemFyZFN0ZXBDb21wb25lbnQ8VE1vZGVsLCBUUmVzb3VyY2VTdHJpbmdzPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmplY3RlZCBSZWZlcmVuY2UgdG8gQW5ndWxhciBGb3JtQnVpbGRlclxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSByZWZlcmVuY2UgdG8gdGhlIGZvcm0gY29udHJvbCBmb3IgYmluZGluZyB0aGUgc3RhdGUgb2YgdGhlIHdpemFyZCBzdGF0ZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgZ2V0IGZvcm1Db250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIGZvcm0gZWxlbWVudCBmb3Igb3VyIGZvcm0gY29udHJvbHNcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENhbGxlZCB3aGVuIHRoZSBhIG5ldyBmb3JtIGNyZWF0aW9uIGlzIG5lZWRlZC4gT2NjdXJzIG9uY2UgZHVyaW5nIHRoaXMgY29tcG9uZW50cyBsaWZlY3ljbGVcclxuICAgICAqL1xyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkRm9ybSgpOiBGb3JtR3JvdXA7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZm9ybSB2YWx1ZSBoYXMgdXBkYXRlZCBhbmQgbmVlZHMgdG8gc3luY2hyb25pemUgdGhlIG1vZGVsIHZhbHVlXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCB1cGRhdGVGcm9tRm9ybSgpOiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGVkIHdoZW4gdGhlIG1vZGVsIHZhbHVlIGhhcyB1cGRhdGVkIGFuZCBuZWVkcyB0byBzeW5jaHJvbml6ZSB0aGUgZm9ybSB2YWx1ZVxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgdXBkYXRlRnJvbU1vZGVsKCk6IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgT25Jbml0IGludGVyZmFjZS5cclxuICAgICAqL1xyXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcblxyXG4gICAgICAgIHRoaXMuZm9ybUJ1aWxkZXIgPSB0aGlzLmluamVjdG9yLmdldChGb3JtQnVpbGRlcik7XHJcbiAgICAgICAgLy8gaW5pdGlhbGl6ZSBmb3JtXHJcbiAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5idWlsZEZvcm0oKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZUZyb21Nb2RlbCgpO1xyXG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xyXG5cclxuICAgICAgICAvLyB3aGVuIHRoZSBmb3JtIGNoYW5nZXMsIHVwZGF0ZSB0aGUgbW9kZWwgZnJvbSB0aGUgZm9ybVxyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlRnJvbUZvcm0oKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2FsbGVkIGZyb20gdGhlIHdpemFyZCB3aGVuIHRoZSBtb2RlbCBjaGFuZ2VzXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBvbldpemFyZE1vZGVsQ2hhbmdlZChtb2RlbDogVE1vZGVsKTogdm9pZCB7XHJcbiAgICAgICAgc3VwZXIub25XaXphcmRNb2RlbENoYW5nZWQobW9kZWwpO1xyXG4gICAgICAgIGlmICghIXRoaXMuZm9ybUNvbnRyb2wpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVGcm9tTW9kZWwoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDYWxsZWQgd2hlbiB0aGUgZm9ybSB2YWx1ZSBoYXMgY2hhbmdlZFxyXG4gICAgICovXHJcbiAgICBwcm90ZWN0ZWQgb25Gb3JtVmFsdWVDaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXBkYXRlRnJvbUZvcm0oKTtcclxuICAgICAgICBzdXBlci5vbkZvcm1WYWx1ZUNoYW5nZWQoKTtcclxuICAgIH1cclxufVxyXG4iXX0=