Skip to content
Snippets Groups Projects
app.module.ts 1.71 KiB
Newer Older
import { DoBootstrap, Injector, NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { CommonModule } from '@angular/common';
import { createCustomElement } from '@angular/elements';
import { TranslateLoader, TranslateModule } from '@ngx-translate/core';
import { AppComponent } from './app.component';
jojohoch's avatar
jojohoch committed
import { PageComponent } from './components/page.component';
import { SectionComponent } from './components/section.component';
import { SharedModule } from '../../../common/app.module';
jojohoch's avatar
jojohoch committed
import { ElementOverlayComponent } from './components/element-overlay.component';
import { ValidationMessageComponent } from './components/validation-message.component';
import { FormComponent } from './components/form.component';
import { PlayerStateComponent } from './components/player-state/player-state.component';
import { WebpackTranslateLoader } from '../../../common/webpack-translate-loader';

@NgModule({
  declarations: [
    AppComponent,
    PageComponent,
    ElementOverlayComponent,
    ValidationMessageComponent,
    FormComponent,
    PlayerStateComponent
    BrowserModule,
    BrowserAnimationsModule,
    CommonModule,
    SharedModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useClass: WebpackTranslateLoader
      }
    })

export class AppModule implements DoBootstrap {
  constructor(private injector: Injector) {}
  ngDoBootstrap(): void {
    const playerElement = createCustomElement(AppComponent, { injector: this.injector });
    customElements.define('player-aspect', playerElement);