@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
81 lines • 10.3 kB
JavaScript
import { Injectable } from '@angular/core';
import { NavigationEnd, Router } from '@angular/router';
import { Subject } from 'rxjs';
import { filter } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "@angular/router";
export class SettingsFormService {
constructor(router) {
this.router = router;
this.allForms = [];
this.formAddedSubject = new Subject();
this.formRemovedSubject = new Subject();
this.updateFormValueData = new Subject();
this.routerSubscription = this.router.events
.pipe(filter(event => event instanceof NavigationEnd))
.subscribe(event => {
if (this.freezeBackRoute) {
this.nextBackRoute = this.router.url;
}
else {
this.backRoute = this.router.url;
}
});
}
addForm(form, updateDataInComponent) {
if (form) {
this.formAddedSubject.next({
formGroup: form,
updateValueInComponent: updateDataInComponent
});
if (this.allForms.indexOf(form) < 0) {
this.allForms.push(form);
}
}
}
removeForm(form) {
if (form) {
this.formRemovedSubject.next(form);
MsftSme.remove(this.allForms, form);
}
}
newFormValue(form, newValue) {
this.updateFormValueData.next({
formGroupToUpdate: form,
formGroupNewData: newValue
});
}
formAdded() {
return this.formAddedSubject.asObservable();
}
formRemoved() {
return this.formRemovedSubject.asObservable();
}
updateFormValue() {
return this.updateFormValueData.asObservable();
}
stopProcessingEvents() {
this.freezeBackRoute = true;
}
startProcessingEvents() {
this.freezeBackRoute = false;
this.backRoute = this.nextBackRoute;
}
getBackRoute(fallBackRoute = '/') {
if (this.backRoute) {
return this.backRoute;
}
return fallBackRoute;
}
ngOnDestroy() {
if (this.routerSubscription) {
this.routerSubscription.unsubscribe();
}
}
}
/** @nocollapse */ SettingsFormService.ɵfac = function SettingsFormService_Factory(t) { return new (t || SettingsFormService)(i0.ɵɵinject(i1.Router)); };
/** @nocollapse */ SettingsFormService.ɵprov = /** @pureOrBreakMyCode */ i0.ɵɵdefineInjectable({ token: SettingsFormService, factory: SettingsFormService.ɵfac });
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SettingsFormService, [{
type: Injectable
}], function () { return [{ type: i1.Router }]; }, null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWF4QyxNQUFNLE9BQU8sbUJBQW1CO0lBYTVCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWDNCLGFBQVEsR0FBZ0IsRUFBRSxDQUFDO1FBRTFCLHFCQUFnQixHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN4RSx1QkFBa0IsR0FBdUIsSUFBSSxPQUFPLEVBQWEsQ0FBQztRQUNsRSx3QkFBbUIsR0FBaUMsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFRM0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN2QyxJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDO2FBQ25ELFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUN4QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQWUsRUFBRSxxQkFBOEI7UUFDMUQsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsSUFBSTtnQkFDZixzQkFBc0IsRUFBRSxxQkFBcUI7YUFDaEQsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCO1NBQ0o7SUFDTCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQWU7UUFDN0IsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBZSxFQUFFLFFBQWE7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUMxQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGdCQUFnQixFQUFFLFFBQVE7U0FDN0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRU0sV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTSxvQkFBb0I7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxnQkFBd0IsR0FBRztRQUMzQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDekM7SUFDTCxDQUFDOzt5R0F0RlEsbUJBQW1CO3dHQUFuQixtQkFBbUIsV0FBbkIsbUJBQW1CO3VGQUFuQixtQkFBbUI7Y0FEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUZvcm1WYWx1ZURhdGEge1xyXG4gICAgZm9ybUdyb3VwVG9VcGRhdGU6IEZvcm1Hcm91cDtcclxuICAgIGZvcm1Hcm91cE5ld0RhdGE6IGFueTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBGb3JtQWRkZWREYXRhIHtcclxuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gICAgdXBkYXRlVmFsdWVJbkNvbXBvbmVudDogYm9vbGVhbjtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2V0dGluZ3NGb3JtU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gICAgcHVibGljIGFsbEZvcm1zOiBGb3JtR3JvdXBbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgZm9ybUFkZGVkU3ViamVjdDogU3ViamVjdDxGb3JtQWRkZWREYXRhPiA9IG5ldyBTdWJqZWN0PEZvcm1BZGRlZERhdGE+KCk7XHJcbiAgICBwcml2YXRlIGZvcm1SZW1vdmVkU3ViamVjdDogU3ViamVjdDxGb3JtR3JvdXA+ID0gbmV3IFN1YmplY3Q8Rm9ybUdyb3VwPigpO1xyXG4gICAgcHJpdmF0ZSB1cGRhdGVGb3JtVmFsdWVEYXRhOiBTdWJqZWN0PFVwZGF0ZUZvcm1WYWx1ZURhdGE+ID0gbmV3IFN1YmplY3Q8VXBkYXRlRm9ybVZhbHVlRGF0YT4oKTtcclxuXHJcbiAgICBwcml2YXRlIHJvdXRlclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gICAgcHJpdmF0ZSBiYWNrUm91dGU6IHN0cmluZztcclxuICAgIHByaXZhdGUgbmV4dEJhY2tSb3V0ZTogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBmcmVlemVCYWNrUm91dGU6IGJvb2xlYW47XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgICAgIHRoaXMucm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZnJlZXplQmFja1JvdXRlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0QmFja1JvdXRlID0gdGhpcy5yb3V0ZXIudXJsO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmJhY2tSb3V0ZSA9IHRoaXMucm91dGVyLnVybDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFkZEZvcm0oZm9ybTogRm9ybUdyb3VwLCB1cGRhdGVEYXRhSW5Db21wb25lbnQ6IGJvb2xlYW4pIHtcclxuICAgICAgICBpZiAoZm9ybSkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1BZGRlZFN1YmplY3QubmV4dCh7XHJcbiAgICAgICAgICAgICAgICBmb3JtR3JvdXA6IGZvcm0sXHJcbiAgICAgICAgICAgICAgICB1cGRhdGVWYWx1ZUluQ29tcG9uZW50OiB1cGRhdGVEYXRhSW5Db21wb25lbnRcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5hbGxGb3Jtcy5pbmRleE9mKGZvcm0pIDwgMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGxGb3Jtcy5wdXNoKGZvcm0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyByZW1vdmVGb3JtKGZvcm06IEZvcm1Hcm91cCkge1xyXG4gICAgICAgIGlmIChmb3JtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVJlbW92ZWRTdWJqZWN0Lm5leHQoZm9ybSk7XHJcbiAgICAgICAgICAgIE1zZnRTbWUucmVtb3ZlKHRoaXMuYWxsRm9ybXMsIGZvcm0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgbmV3Rm9ybVZhbHVlKGZvcm06IEZvcm1Hcm91cCwgbmV3VmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudXBkYXRlRm9ybVZhbHVlRGF0YS5uZXh0KHtcclxuICAgICAgICAgICAgZm9ybUdyb3VwVG9VcGRhdGU6IGZvcm0sXHJcbiAgICAgICAgICAgIGZvcm1Hcm91cE5ld0RhdGE6IG5ld1ZhbHVlXHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGZvcm1BZGRlZCgpOiBPYnNlcnZhYmxlPEZvcm1BZGRlZERhdGE+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtQWRkZWRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBmb3JtUmVtb3ZlZCgpOiBPYnNlcnZhYmxlPEZvcm1Hcm91cD4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvcm1SZW1vdmVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgdXBkYXRlRm9ybVZhbHVlKCk6IE9ic2VydmFibGU8VXBkYXRlRm9ybVZhbHVlRGF0YT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUZvcm1WYWx1ZURhdGEuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0b3BQcm9jZXNzaW5nRXZlbnRzKCkge1xyXG4gICAgICAgIHRoaXMuZnJlZXplQmFja1JvdXRlID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhcnRQcm9jZXNzaW5nRXZlbnRzKCkge1xyXG4gICAgICAgIHRoaXMuZnJlZXplQmFja1JvdXRlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5iYWNrUm91dGUgPSB0aGlzLm5leHRCYWNrUm91dGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldEJhY2tSb3V0ZShmYWxsQmFja1JvdXRlOiBzdHJpbmcgPSAnLycpIHtcclxuICAgICAgICBpZiAodGhpcy5iYWNrUm91dGUpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYmFja1JvdXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbGxCYWNrUm91dGU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIGlmICh0aGlzLnJvdXRlclN1YnNjcmlwdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=