mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
92 lines
5.4 KiB
TypeScript
92 lines
5.4 KiB
TypeScript
import { NgModule } from '@angular/core';
|
|
import { CommonModule } from '@angular/common';
|
|
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
import { SharedModule } from '../../shared/shared.module';
|
|
import { OrgUnitComponent } from './item-pages/org-unit/org-unit.component';
|
|
import { PersonComponent } from './item-pages/person/person.component';
|
|
import { ProjectComponent } from './item-pages/project/project.component';
|
|
import { OrgUnitListElementComponent } from './item-list-elements/org-unit/org-unit-list-element.component';
|
|
import { PersonListElementComponent } from './item-list-elements/person/person-list-element.component';
|
|
import { ProjectListElementComponent } from './item-list-elements/project/project-list-element.component';
|
|
import { PersonGridElementComponent } from './item-grid-elements/person/person-grid-element.component';
|
|
import { OrgUnitGridElementComponent } from './item-grid-elements/org-unit/org-unit-grid-element.component';
|
|
import { ProjectGridElementComponent } from './item-grid-elements/project/project-grid-element.component';
|
|
import { OrgUnitSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component';
|
|
import { PersonSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/person/person-search-result-list-element.component';
|
|
import { ProjectSearchResultListElementComponent } from './item-list-elements/search-result-list-elements/project/project-search-result-list-element.component';
|
|
import { PersonSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/person/person-search-result-grid-element.component';
|
|
import { OrgUnitSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/org-unit/org-unit-search-result-grid-element.component';
|
|
import { ProjectSearchResultGridElementComponent } from './item-grid-elements/search-result-grid-elements/project/project-search-result-grid-element.component';
|
|
import { PersonItemMetadataListElementComponent } from './metadata-representations/person/person-item-metadata-list-element.component';
|
|
import { OrgUnitItemMetadataListElementComponent } from './metadata-representations/org-unit/org-unit-item-metadata-list-element.component';
|
|
import { PersonSearchResultListSubmissionElementComponent } from './submission/item-list-elements/person/person-search-result-list-submission-element.component';
|
|
import { PersonInputSuggestionsComponent } from './submission/item-list-elements/person/person-suggestions/person-input-suggestions.component';
|
|
import { NameVariantModalComponent } from './submission/name-variant-modal/name-variant-modal.component';
|
|
import { OrgUnitInputSuggestionsComponent } from './submission/item-list-elements/org-unit/org-unit-suggestions/org-unit-input-suggestions.component';
|
|
import { OrgUnitSearchResultListSubmissionElementComponent } from './submission/item-list-elements/org-unit/org-unit-search-result-list-submission-element.component';
|
|
import { ExternalSourceEntryListSubmissionElementComponent } from './submission/item-list-elements/external-source-entry/external-source-entry-list-submission-element.component';
|
|
import { OrgUnitSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/org-unit/org-unit-sidebar-search-list-element.component';
|
|
import { PersonSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/person/person-sidebar-search-list-element.component';
|
|
import { ProjectSidebarSearchListElementComponent } from './item-list-elements/sidebar-search-list-elements/project/project-sidebar-search-list-element.component';
|
|
import { ItemSharedModule } from '../../item-page/item-shared.module';
|
|
import { ResultsBackButtonModule } from '../../shared/results-back-button/results-back-button.module';
|
|
|
|
const ENTRY_COMPONENTS = [
|
|
// put only entry components that use custom decorator
|
|
OrgUnitComponent,
|
|
PersonComponent,
|
|
ProjectComponent,
|
|
OrgUnitListElementComponent,
|
|
OrgUnitItemMetadataListElementComponent,
|
|
PersonListElementComponent,
|
|
PersonItemMetadataListElementComponent,
|
|
ProjectListElementComponent,
|
|
PersonGridElementComponent,
|
|
OrgUnitGridElementComponent,
|
|
ProjectGridElementComponent,
|
|
OrgUnitSearchResultListElementComponent,
|
|
PersonSearchResultListElementComponent,
|
|
ProjectSearchResultListElementComponent,
|
|
PersonSearchResultGridElementComponent,
|
|
OrgUnitSearchResultGridElementComponent,
|
|
ProjectSearchResultGridElementComponent,
|
|
PersonSearchResultListSubmissionElementComponent,
|
|
OrgUnitSearchResultListSubmissionElementComponent,
|
|
OrgUnitInputSuggestionsComponent,
|
|
ExternalSourceEntryListSubmissionElementComponent,
|
|
OrgUnitSidebarSearchListElementComponent,
|
|
PersonSidebarSearchListElementComponent,
|
|
ProjectSidebarSearchListElementComponent,
|
|
];
|
|
|
|
const COMPONENTS = [
|
|
NameVariantModalComponent,
|
|
PersonInputSuggestionsComponent,
|
|
...ENTRY_COMPONENTS
|
|
];
|
|
|
|
@NgModule({
|
|
imports: [
|
|
CommonModule,
|
|
ItemSharedModule,
|
|
SharedModule,
|
|
NgbTooltipModule,
|
|
ResultsBackButtonModule
|
|
],
|
|
declarations: [
|
|
...COMPONENTS,
|
|
]
|
|
})
|
|
export class ResearchEntitiesModule {
|
|
/**
|
|
* NOTE: this method allows to resolve issue with components that using a custom decorator
|
|
* which are not loaded during SSR otherwise
|
|
*/
|
|
static withEntryComponents() {
|
|
return {
|
|
ngModule: ResearchEntitiesModule,
|
|
providers: ENTRY_COMPONENTS.map((component) => ({ provide: component }))
|
|
};
|
|
}
|
|
}
|