@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
79 lines • 10.1 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() {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtZm9ybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vYW5ndWxhci9zcmMvY29udHJvbHMvc2V0dGluZ3Mvc2V0dGluZ3MtZm9ybS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUN6RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQWF4QyxNQUFNLE9BQU8sbUJBQW1CO0lBYTVCLFlBQW9CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBWDNCLGFBQVEsR0FBZ0IsRUFBRSxDQUFDO1FBRTFCLHFCQUFnQixHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztRQUN4RSx1QkFBa0IsR0FBdUIsSUFBSSxPQUFPLEVBQWEsQ0FBQztRQUNsRSx3QkFBbUIsR0FBaUMsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFRM0YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUN2QyxJQUFJLENBQ0QsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDO2FBQ25ELFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNmLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtnQkFDdEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQzthQUN4QztpQkFBTTtnQkFDSCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO2FBQ3BDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQWUsRUFBRSxxQkFBOEI7UUFDMUQsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUN2QixTQUFTLEVBQUUsSUFBSTtnQkFDZixzQkFBc0IsRUFBRSxxQkFBcUI7YUFDaEQsQ0FBQyxDQUFDO1lBRUgsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzVCO1NBQ0o7SUFDTCxDQUFDO0lBRU0sVUFBVSxDQUFDLElBQWU7UUFDN0IsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUN2QztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsSUFBZSxFQUFFLFFBQWE7UUFDOUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQztZQUMxQixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGdCQUFnQixFQUFFLFFBQVE7U0FDN0IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRU0sV0FBVztRQUNkLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFFTSxlQUFlO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLG1CQUFtQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTSxvQkFBb0I7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVNLHFCQUFxQjtRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDeEMsQ0FBQztJQUVNLFlBQVksQ0FBQyxnQkFBd0IsR0FBRztRQUMzQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1NBQ3pCO1FBRUQsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVNLFdBQVc7UUFDZCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDM0MsQ0FBQzs7eUdBcEZRLG1CQUFtQjt3R0FBbkIsbUJBQW1CLFdBQW5CLG1CQUFtQjt1RkFBbkIsbUJBQW1CO2NBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVGb3JtVmFsdWVEYXRhIHtcclxuICAgIGZvcm1Hcm91cFRvVXBkYXRlOiBGb3JtR3JvdXA7XHJcbiAgICBmb3JtR3JvdXBOZXdEYXRhOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybUFkZGVkRGF0YSB7XHJcbiAgICBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcclxuICAgIHVwZGF0ZVZhbHVlSW5Db21wb25lbnQ6IGJvb2xlYW47XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFNldHRpbmdzRm9ybVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAgIHB1YmxpYyBhbGxGb3JtczogRm9ybUdyb3VwW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIGZvcm1BZGRlZFN1YmplY3Q6IFN1YmplY3Q8Rm9ybUFkZGVkRGF0YT4gPSBuZXcgU3ViamVjdDxGb3JtQWRkZWREYXRhPigpO1xyXG4gICAgcHJpdmF0ZSBmb3JtUmVtb3ZlZFN1YmplY3Q6IFN1YmplY3Q8Rm9ybUdyb3VwPiA9IG5ldyBTdWJqZWN0PEZvcm1Hcm91cD4oKTtcclxuICAgIHByaXZhdGUgdXBkYXRlRm9ybVZhbHVlRGF0YTogU3ViamVjdDxVcGRhdGVGb3JtVmFsdWVEYXRhPiA9IG5ldyBTdWJqZWN0PFVwZGF0ZUZvcm1WYWx1ZURhdGE+KCk7XHJcblxyXG4gICAgcHJpdmF0ZSByb3V0ZXJTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICAgIHByaXZhdGUgYmFja1JvdXRlOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIG5leHRCYWNrUm91dGU6IHN0cmluZztcclxuICAgIHByaXZhdGUgZnJlZXplQmFja1JvdXRlOiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcclxuICAgICAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmZyZWV6ZUJhY2tSb3V0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmV4dEJhY2tSb3V0ZSA9IHRoaXMucm91dGVyLnVybDtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iYWNrUm91dGUgPSB0aGlzLnJvdXRlci51cmw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhZGRGb3JtKGZvcm06IEZvcm1Hcm91cCwgdXBkYXRlRGF0YUluQ29tcG9uZW50OiBib29sZWFuKSB7XHJcbiAgICAgICAgaWYgKGZvcm0pIHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQWRkZWRTdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgICAgICAgICAgZm9ybUdyb3VwOiBmb3JtLFxyXG4gICAgICAgICAgICAgICAgdXBkYXRlVmFsdWVJbkNvbXBvbmVudDogdXBkYXRlRGF0YUluQ29tcG9uZW50XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuYWxsRm9ybXMuaW5kZXhPZihmb3JtKSA8IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxsRm9ybXMucHVzaChmb3JtKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlRm9ybShmb3JtOiBGb3JtR3JvdXApIHtcclxuICAgICAgICBpZiAoZm9ybSkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1SZW1vdmVkU3ViamVjdC5uZXh0KGZvcm0pO1xyXG4gICAgICAgICAgICBNc2Z0U21lLnJlbW92ZSh0aGlzLmFsbEZvcm1zLCBmb3JtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG5ld0Zvcm1WYWx1ZShmb3JtOiBGb3JtR3JvdXAsIG5ld1ZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZURhdGEubmV4dCh7XHJcbiAgICAgICAgICAgIGZvcm1Hcm91cFRvVXBkYXRlOiBmb3JtLFxyXG4gICAgICAgICAgICBmb3JtR3JvdXBOZXdEYXRhOiBuZXdWYWx1ZVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBmb3JtQWRkZWQoKTogT2JzZXJ2YWJsZTxGb3JtQWRkZWREYXRhPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybUFkZGVkU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZm9ybVJlbW92ZWQoKTogT2JzZXJ2YWJsZTxGb3JtR3JvdXA+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3JtUmVtb3ZlZFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHVwZGF0ZUZvcm1WYWx1ZSgpOiBPYnNlcnZhYmxlPFVwZGF0ZUZvcm1WYWx1ZURhdGE+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVGb3JtVmFsdWVEYXRhLmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdG9wUHJvY2Vzc2luZ0V2ZW50cygpIHtcclxuICAgICAgICB0aGlzLmZyZWV6ZUJhY2tSb3V0ZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXJ0UHJvY2Vzc2luZ0V2ZW50cygpIHtcclxuICAgICAgICB0aGlzLmZyZWV6ZUJhY2tSb3V0ZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYmFja1JvdXRlID0gdGhpcy5uZXh0QmFja1JvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXRCYWNrUm91dGUoZmFsbEJhY2tSb3V0ZTogc3RyaW5nID0gJy8nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuYmFja1JvdXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJhY2tSb3V0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxsQmFja1JvdXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnJvdXRlclN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxufVxyXG4iXX0=