/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ import { NgModule, Inject, forwardRef, ApplicationRef, ComponentFactoryResolver } from '@angular/core'; import { APP_BASE_HREF, CommonModule } from '@angular/common'; import { BrowserModule } from '@angular/platform-browser'; import { IBootstrapService, BOOTSTRAP_SERVICE_ID } from 'sql/services/bootstrap/bootstrapService'; import { QueryPlanComponent, QUERYPLAN_SELECTOR } from 'sql/parts/queryPlan/queryPlan.component'; // Connection Dashboard main angular module @NgModule({ declarations: [ QueryPlanComponent ], entryComponents: [QueryPlanComponent], imports: [ CommonModule, BrowserModule ], providers: [{ provide: APP_BASE_HREF, useValue: '/' }] }) export class QueryPlanModule { constructor( @Inject(forwardRef(() => ComponentFactoryResolver)) private _resolver: ComponentFactoryResolver, @Inject(BOOTSTRAP_SERVICE_ID) private _bootstrapService: IBootstrapService ) { } ngDoBootstrap(appRef: ApplicationRef) { const factory = this._resolver.resolveComponentFactory(QueryPlanComponent); const uniqueSelector: string = this._bootstrapService.getUniqueSelector(QUERYPLAN_SELECTOR); (factory).factory.selector = uniqueSelector; appRef.bootstrap(factory); } }