argos/dmp-frontend/src/app/datasets/dataset.module.ts

103 lines
4.4 KiB
TypeScript

import { RouterModule } from '@angular/router';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { DatasetService } from '../services/dataset/dataset.service';
import { DynamicFormModule } from '../form/dynamic-form.module';
import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
import { DatasetWizardComponent } from './dataset-wizard/dataset-wizard.component';
import { DatasetRoutes } from './dataset.routes';
import { DatasetListingComponent } from './listing/dataset-listing.component';
import { DatasetEditorComponent } from './editor/dataset-editor.component';
import { CommonModule } from '@angular/common';
import { HttpClient, HttpClientModule } from '@angular/common/http';
import { NgModule } from '@angular/core';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { SharedModule } from '../shared/shared.module'
import { BaseHttpService } from '../utilities/cite-http-service-module/base-http.service';
import { BaseHttpModule } from '../utilities/cite-http-service-module/cite-http.module';
import { MaterialModule } from '../shared/material/material.module';
import { DataManagementPlanService } from '../services/data-management-plan/data-management-plan.service';
import { DatasetWizardService } from '../services/dataset-wizard/dataset-wizard.service';
import { ExternalSourcesService } from '../services/external-sources/external-sources.service';
import { ExternalSourcesConfigurationService } from '../services/external-sources/external-sources-configuration.service';
import { DatasetPublicListingComponent } from './dataset-public/dataset-public-listing.component';
import { DataRepositoryReferencedModelHelperComponent } from './dataset-referenced-models-helper/datarepository/datarepository-referenced-model-helper.component';
import { ExternalDatasetReferencedModelHelperComponent } from './dataset-referenced-models-helper/externalDataset/externaldataset-referenced-model-helper.component';
import { ServicesReferencedModelHelperComponent } from './dataset-referenced-models-helper/services/services-referenced-model-helper.component';
import { RegistryReferencedModelHelperComponent } from './dataset-referenced-models-helper/registry/registry-referenced-model-helper.component';
import { RegistryService } from '../services/registries/registry.service';
import { ServicesDataService } from '../services/services/services-data.service';
import { DataRepositoryService } from '../services/datarepository/datarepository.service';
import { ExternalDatasetService } from '../services/external-dataset/external-dataset.service';
@NgModule({
imports: [
CommonModule,
FormsModule,
HttpClientModule,
SharedModule,
MaterialModule,
RouterModule.forChild(DatasetRoutes),
ReactiveFormsModule,
DynamicFormModule,
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: HttpLoaderFactory,
deps: [HttpClient]
}
}),
],
declarations: [
DatasetListingComponent,
DatasetEditorComponent,
DatasetWizardComponent,
DatasetPublicListingComponent,
DataRepositoryReferencedModelHelperComponent,
ExternalDatasetReferencedModelHelperComponent,
ServicesReferencedModelHelperComponent,
RegistryReferencedModelHelperComponent,
],
exports: [
DatasetListingComponent,
DatasetEditorComponent,
DatasetWizardComponent,
DataRepositoryReferencedModelHelperComponent,
ExternalDatasetReferencedModelHelperComponent,
ServicesReferencedModelHelperComponent,
RegistryReferencedModelHelperComponent,
DatasetPublicListingComponent,
RouterModule
],
providers: [
DatasetWizardService,
ExternalSourcesService,
ExternalSourcesConfigurationService,
DataManagementPlanService,
DatasetService,
DataRepositoryService,
ExternalDatasetService,
ServicesDataService,
RegistryService
],
entryComponents:[
DataRepositoryReferencedModelHelperComponent,
ExternalDatasetReferencedModelHelperComponent,
ServicesReferencedModelHelperComponent,
RegistryReferencedModelHelperComponent
]
})
export class DatasetModule {
constructor(private translate: TranslateService) {
translate.setDefaultLang('en');
translate.use('en');
}
}
export function HttpLoaderFactory(httpClient: HttpClient) {
return new TranslateHttpLoader(httpClient, 'assets/lang/', '.json');
}