Files
dspace-angular/src/app/core/core.module.ts
2017-02-16 14:43:12 +01:00

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
]
};
}
}