mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
54 lines
1.3 KiB
TypeScript
54 lines
1.3 KiB
TypeScript
import { NgModule, Optional, SkipSelf, ModuleWithProviders } from '@angular/core';
|
|
import { CommonModule } from '@angular/common';
|
|
import { SharedModule } from "../shared/shared.module";
|
|
import { isNotEmpty } from "../shared/empty.util";
|
|
import { FooterComponent } from "./footer/footer.component";
|
|
import { DSpaceRESTv2Service } from "./dspace-rest-v2/dspace-rest-v2.service";
|
|
import { CollectionDataService } from "./data-services/collection/collection-data.service";
|
|
import { CacheService } from "./data-services/cache/cache.service";
|
|
import { ItemDataService } from "./data-services/item/item-data.service";
|
|
|
|
const IMPORTS = [
|
|
CommonModule,
|
|
SharedModule
|
|
];
|
|
|
|
const DECLARATIONS = [
|
|
FooterComponent
|
|
];
|
|
|
|
const EXPORTS = [
|
|
FooterComponent
|
|
];
|
|
|
|
const PROVIDERS = [
|
|
CollectionDataService,
|
|
ItemDataService,
|
|
DSpaceRESTv2Service,
|
|
CacheService
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [ ...IMPORTS ],
|
|
declarations: [...DECLARATIONS],
|
|
exports: [...EXPORTS],
|
|
providers: [...PROVIDERS]
|
|
})
|
|
export class CoreModule {
|
|
constructor (@Optional() @SkipSelf() parentModule: CoreModule) {
|
|
if (isNotEmpty(parentModule)) {
|
|
throw new Error(
|
|
'CoreModule is already loaded. Import it in the AppModule only');
|
|
}
|
|
}
|
|
|
|
static forRoot(): ModuleWithProviders {
|
|
return {
|
|
ngModule: CoreModule,
|
|
providers: [
|
|
...PROVIDERS
|
|
]
|
|
};
|
|
}
|
|
}
|