import { AddResearchersComponent } from '../shared/components/add-researchers/add-researchers.component'; import { DatasetWizardListingComponent } from './wizard/listing/dataset-wizard-listing.component'; import { DataManagementPlanWizardEditorComponent } from './wizard/editor/dmp-wizard-editor.component'; import { DataManagementPlanWizardComponent } from './wizard/dmp-wizard.component'; import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { BaseHttpService } from '../utilities/cite-http-service-module/base-http.service'; import { InvitationAcceptedComponent } from '../shared/components/invitation-accepted/invitation-accepted.component'; import { InvitationComponent } from '../shared/components/invitation/invitation.component'; import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core'; import { DataManagementPlanEditorComponent } from './editor/dmp-editor.component'; import { DataManagementPlanListingComponent } from './listing/dmp-listing.component'; import { DataManagementPlanRoutes } from './dmps.routes'; import { HttpClient, HttpClientModule } from '@angular/common/http'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { CommonModule } from '@angular/common'; import { CovalentDialogsModule } from '@covalent/core'; import { SharedModule } from '../shared/shared.module' import { NgModule } from '@angular/core'; import { AvailableProfilesComponent } from '../shared/components/available-profiles/available-profiles.component'; import { DynamicDmpFieldResolver } from './editor/dynamic-field-resolver/dynamic-dmp-field-resolver.component'; import { DynamicFieldsProjectComponent } from './editor/dynamic-fields-project/dynamic-fields-project.component'; import { DynamicFieldProjectComponent } from './editor/dynamic-fields-project/dynamic-field-project/dynamic-field-project.component'; import { BaseHttpModule } from '../utilities/cite-http-service-module/cite-http.module'; import { DataManagementPlanService } from '../services/data-management-plan/data-management-plan.service'; import { DataManagementPlanProfileService } from '../services/data-management-plan-profile/datamanagement-profile.service'; import { ProjectService } from '../services/project/project.service'; import { ExternalSourcesService } from '../services/external-sources/external-sources.service'; import { MaterialModule } from '../shared/material/material.module'; import { RouterModule } from '@angular/router'; import { ResearcherService } from '../services/researchers/researchers.service'; import { InvitationService } from '../services/invitation/invitation.service'; import { DatasetService } from '../services/dataset/dataset.service'; import { FlexLayoutModule } from '@angular/flex-layout'; @NgModule({ imports: [ CommonModule, FormsModule, HttpClientModule, SharedModule, MaterialModule, RouterModule.forChild(DataManagementPlanRoutes), ReactiveFormsModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: HttpLoaderFactory, deps: [HttpClient] } }), CovalentDialogsModule ], declarations: [ DataManagementPlanListingComponent, DataManagementPlanEditorComponent, InvitationComponent, InvitationAcceptedComponent, DataManagementPlanWizardComponent, DataManagementPlanWizardEditorComponent, DatasetWizardListingComponent, AddResearchersComponent, AvailableProfilesComponent, DynamicDmpFieldResolver, DynamicFieldsProjectComponent, DynamicFieldProjectComponent ], exports: [ DataManagementPlanListingComponent, DataManagementPlanEditorComponent, InvitationComponent, InvitationAcceptedComponent, DataManagementPlanWizardComponent, DataManagementPlanWizardEditorComponent, DatasetWizardListingComponent, AddResearchersComponent, AvailableProfilesComponent, DynamicFieldsProjectComponent, DynamicFieldProjectComponent, RouterModule ], entryComponents: [ InvitationComponent, AddResearchersComponent, AvailableProfilesComponent ], providers: [ ProjectService, ResearcherService, DatasetService, InvitationService, DataManagementPlanService, ExternalSourcesService, DataManagementPlanProfileService ] }) export class DataManagementPlanModule { constructor(private translate: TranslateService) { translate.setDefaultLang('en'); translate.use('en'); } } export function HttpLoaderFactory(httpClient: HttpClient) { return new TranslateHttpLoader(httpClient, 'assets/lang/', '.json'); }