argos/dmp-frontend/src/app/dmps/dmps.module.ts

110 lines
4.5 KiB
TypeScript

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');
}