ontimize-web-ngx
Version:
Ontimize Web framework using Angular 15
46 lines • 5.65 kB
JavaScript
import { Injectable, Injector } from '@angular/core';
import { NavigationEnd, Router } from '@angular/router';
import { ReplaySubject } from 'rxjs';
import { filter, map } from 'rxjs/operators';
import * as i0 from "@angular/core";
import * as i1 from "@angular/router";
export class OModulesInfoService {
constructor(injector, router) {
this.injector = injector;
this.router = router;
this.subject = new ReplaySubject();
this.router = this.injector.get(Router);
}
getModuleChangeObservable() {
this.router.events
.pipe(filter(e => e instanceof NavigationEnd), map(() => {
let route = this.router.routerState.root;
let routeTitle = '';
while (route.firstChild) {
route = route.firstChild;
}
if (route.snapshot.data['oAppHeaderTitle']) {
routeTitle = route.snapshot.data['oAppHeaderTitle'];
}
return routeTitle;
}))
.subscribe((title) => {
if (title) {
this.subject.next(title);
}
else {
this.subject.next("");
}
});
return this.subject.asObservable();
}
}
OModulesInfoService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OModulesInfoService, deps: [{ token: i0.Injector }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
OModulesInfoService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OModulesInfoService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OModulesInfoService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.Router }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiby1tb2R1bGVzLWluZm8uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL29udGltaXplLXdlYi1uZ3gvc3JjL2xpYi9zZXJ2aWNlcy9vLW1vZHVsZXMtaW5mby5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBa0IsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBSzdDLE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFDWSxRQUFrQixFQUNsQixNQUFjO1FBRGQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBSGxCLFlBQU8sR0FBRyxJQUFJLGFBQWEsRUFBVSxDQUFDO1FBSzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFMUMsQ0FBQztJQUVELHlCQUF5QjtRQUV2QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07YUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGFBQWEsQ0FBQyxFQUMzQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxLQUFLLEdBQW1CLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUN6RCxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7WUFDcEIsT0FBTyxLQUFNLENBQUMsVUFBVSxFQUFFO2dCQUN4QixLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQzthQUMxQjtZQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDMUMsVUFBVSxHQUFHLEtBQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7YUFDdEQ7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQzthQUNKLFNBQVMsQ0FBQyxDQUFDLEtBQWEsRUFBRSxFQUFFO1lBQzNCLElBQUksS0FBSyxFQUFFO2dCQUNULElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFCO2lCQUNJO2dCQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFBO2FBQ3RCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7UUFFSixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7aUhBcENVLG1CQUFtQjtxSEFBbkIsbUJBQW1CLGNBRmxCLE1BQU07NEZBRVAsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBPTW9kdWxlc0luZm9TZXJ2aWNlIHtcblxuICBwcml2YXRlIHN1YmplY3QgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KCk7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJvdGVjdGVkIHJvdXRlcjogUm91dGVyLFxuICApIHtcbiAgICB0aGlzLnJvdXRlciA9IHRoaXMuaW5qZWN0b3IuZ2V0KFJvdXRlcik7XG5cbiAgfVxuXG4gIGdldE1vZHVsZUNoYW5nZU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcblxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xuICAgICAgLnBpcGUoZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgIGxldCByb3V0ZTogQWN0aXZhdGVkUm91dGUgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5yb290O1xuICAgICAgICAgIGxldCByb3V0ZVRpdGxlID0gJyc7XG4gICAgICAgICAgd2hpbGUgKHJvdXRlIS5maXJzdENoaWxkKSB7XG4gICAgICAgICAgICByb3V0ZSA9IHJvdXRlLmZpcnN0Q2hpbGQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyb3V0ZS5zbmFwc2hvdC5kYXRhWydvQXBwSGVhZGVyVGl0bGUnXSkge1xuICAgICAgICAgICAgcm91dGVUaXRsZSA9IHJvdXRlIS5zbmFwc2hvdC5kYXRhWydvQXBwSGVhZGVyVGl0bGUnXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJvdXRlVGl0bGU7XG4gICAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZSgodGl0bGU6IHN0cmluZykgPT4ge1xuICAgICAgICBpZiAodGl0bGUpIHtcbiAgICAgICAgICB0aGlzLnN1YmplY3QubmV4dCh0aXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgdGhpcy5zdWJqZWN0Lm5leHQoXCJcIilcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgIHJldHVybiB0aGlzLnN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbn1cbiJdfQ==