Skip to content
Snippets Groups Projects
app.module.ts 3.03 KiB
Newer Older
cazenave's avatar
cazenave committed
import { BrowserModule } from '@angular/platform-browser';
cazenave's avatar
cazenave committed
import { NgModule, APP_INITIALIZER } from '@angular/core';
cazenave's avatar
cazenave committed


import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { LoginComponent } from './login/login.component';
import { MatMenuModule } from '@angular/material/menu';
import { MatDividerModule } from '@angular/material/divider';
import { MatCardModule } from '@angular/material/card';
import { MatInputModule } from '@angular/material/input';
cazenave's avatar
cazenave committed
import { MatDialogModule } from '@angular/material/dialog';
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
cazenave's avatar
cazenave committed

import { RepositoryComponent } from './repository/repository.component';
import { AccessapiComponent } from './accessapi/accessapi.component';
import { DatasetsComponent } from './datasets/datasets.component';
import { OntologieComponent } from './ontologie/ontologie.component';
import { PublishComponent } from './publish/publish.component';
import { SettingfdpComponent } from './settingfdp/settingfdp.component';
import { SettingsmartapiComponent } from './settingsmartapi/settingsmartapi.component';
import { UserComponent } from './user/user.component';

import { ReactiveFormsModule } from '@angular/forms';
import {FormsModule} from '@angular/forms';

import { RepositoryinfoComponent } from './repositoryinfo/repositoryinfo.component';

cazenave's avatar
cazenave committed
import { HttpClientModule, HttpClient } from '@angular/common/http';
cazenave's avatar
cazenave committed
import { FileSaverModule } from 'ngx-filesaver';
cazenave's avatar
cazenave committed
import { SwaggereditorComponent } from './swaggereditor/swaggereditor.component';
cazenave's avatar
cazenave committed
import { AppConfiguration } from './AppConfiguration';
import { ElasticsearchComponent } from './elasticsearch/elasticsearch.component';
Administrator's avatar
Administrator committed
import { PublishapiComponent } from './publishapi/publishapi.component';
import { SearchComponent } from './search/search.component'
import { ParseXmlService } from './services/parse-xml.service';
cazenave's avatar
cazenave committed


cazenave's avatar
cazenave committed

@NgModule({
  declarations: [
    AppComponent,
    LoginComponent,
    RepositoryComponent,
    AccessapiComponent,
    DatasetsComponent,
    OntologieComponent,
    PublishComponent,
    SettingfdpComponent,
    SettingsmartapiComponent,
    UserComponent,
cazenave's avatar
cazenave committed
    RepositoryinfoComponent,
cazenave's avatar
cazenave committed
    SwaggereditorComponent,
    ElasticsearchComponent,
Administrator's avatar
Administrator committed
    PublishapiComponent,
    SearchComponent
cazenave's avatar
cazenave committed
    ],
cazenave's avatar
cazenave committed
  imports: [
    BrowserModule,
    AppRoutingModule,
    BrowserAnimationsModule,
    MatMenuModule,
    MatDividerModule,
    MatCardModule,
    MatInputModule,
    MatDialogModule,
    MatProgressSpinnerModule,
    FormsModule,
    ReactiveFormsModule,
    HttpClientModule,
    FileSaverModule

  ],
cazenave's avatar
cazenave committed
  providers: [
    AppConfiguration,
    ParseXmlService,
cazenave's avatar
cazenave committed
    { 
        provide: APP_INITIALIZER, 
        useFactory: AppConfigurationFactory, 
        deps: [AppConfiguration, HttpClient], multi: true },
  ],
cazenave's avatar
cazenave committed
  bootstrap: [AppComponent]
})
export class AppModule { }
cazenave's avatar
cazenave committed

export function AppConfigurationFactory(appConfig: AppConfiguration) {
    return () => appConfig.ensureInit();
  }