arch(sprint1): centralize startup in platform runtime
This commit is contained in:
@@ -1,28 +1,16 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Observable, map } from 'rxjs';
|
||||
import { BrandingEngineService } from '../../theme/runtime/branding-engine.service';
|
||||
import { ThemeEngineService } from '../../theme/runtime/theme-engine.service';
|
||||
import { PageRendererService } from '../../dynamic-renderer/page-renderer/page-renderer.service';
|
||||
import { PageRenderModel } from '../../dynamic-renderer/page-renderer/page-renderer.model';
|
||||
import { WidgetRegistryBootstrapService } from '../../widgets/registry/widget-registry.bootstrap.service';
|
||||
import { PageResolverService } from '../../dynamic-renderer/page-resolver/page-resolver.service';
|
||||
|
||||
@Injectable({ providedIn: 'root' })
|
||||
export class WebsiteRuntimeFacade {
|
||||
constructor(
|
||||
private readonly pageResolver: PageResolverService,
|
||||
private readonly pageRenderer: PageRendererService,
|
||||
private readonly registryBootstrap: WidgetRegistryBootstrapService,
|
||||
private readonly themeEngine: ThemeEngineService,
|
||||
private readonly brandingEngine: BrandingEngineService
|
||||
private readonly pageRenderer: PageRendererService
|
||||
) {}
|
||||
|
||||
initializeRuntime(): void {
|
||||
this.registryBootstrap.registerDefaults();
|
||||
this.themeEngine.initialize();
|
||||
this.brandingEngine.initialize();
|
||||
}
|
||||
|
||||
getPageRenderModelForUrl(url: string): Observable<PageRenderModel | null> {
|
||||
return this.pageResolver.resolveByUrl(url).pipe(
|
||||
map(page => {
|
||||
|
||||
Reference in New Issue
Block a user