diff --git a/src/app/item-page/item-page.module.ts b/src/app/item-page/item-page.module.ts deleted file mode 100644 index 5ac36f1877..0000000000 --- a/src/app/item-page/item-page.module.ts +++ /dev/null @@ -1,108 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { NgxGalleryModule } from '@kolkov/ngx-gallery'; -import { NgbAccordionModule } from '@ng-bootstrap/ng-bootstrap'; - -import { DsoPageModule } from '../shared/dso-page/dso-page.module'; -import { UploadModule } from '../shared/upload/upload.module'; -import { StatisticsModule } from '../statistics/statistics.module'; -import { ItemAlertsComponent } from './alerts/item-alerts.component'; -import { ThemedItemAlertsComponent } from './alerts/themed-item-alerts.component'; -import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; -import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; -import { EditItemPageModule } from './edit-item-page/edit-item-page.module'; -import { CollectionsComponent } from './field-components/collections/collections.component'; -import { MetadataUriValuesComponent } from './field-components/metadata-uri-values/metadata-uri-values.component'; -import { FullFileSectionComponent } from './full/field-components/file-section/full-file-section.component'; -import { ThemedFullFileSectionComponent } from './full/field-components/file-section/themed-full-file-section.component'; -import { FullItemPageComponent } from './full/full-item-page.component'; -import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component'; -import { ItemSharedModule } from './item-shared.module'; -import { MediaViewerComponent } from './media-viewer/media-viewer.component'; -import { MediaViewerImageComponent } from './media-viewer/media-viewer-image/media-viewer-image.component'; -import { ThemedMediaViewerImageComponent } from './media-viewer/media-viewer-image/themed-media-viewer-image.component'; -import { MediaViewerVideoComponent } from './media-viewer/media-viewer-video/media-viewer-video.component'; -import { ThemedMediaViewerVideoComponent } from './media-viewer/media-viewer-video/themed-media-viewer-video.component'; -import { ThemedMediaViewerComponent } from './media-viewer/themed-media-viewer.component'; -import { MiradorViewerComponent } from './mirador-viewer/mirador-viewer.component'; -import { OrcidAuthComponent } from './orcid-page/orcid-auth/orcid-auth.component'; -import { OrcidPageComponent } from './orcid-page/orcid-page.component'; -import { OrcidQueueComponent } from './orcid-page/orcid-queue/orcid-queue.component'; -import { OrcidSyncSettingsComponent } from './orcid-page/orcid-sync-settings/orcid-sync-settings.component'; -import { AbstractIncrementalListComponent } from './simple/abstract-incremental-list/abstract-incremental-list.component'; -import { FileSectionComponent } from './simple/field-components/file-section/file-section.component'; -import { ThemedFileSectionComponent } from './simple/field-components/file-section/themed-file-section.component'; -import { ItemPageAbstractFieldComponent } from './simple/field-components/specific-field/abstract/item-page-abstract-field.component'; -import { ItemPageAuthorFieldComponent } from './simple/field-components/specific-field/author/item-page-author-field.component'; -import { ItemPageDateFieldComponent } from './simple/field-components/specific-field/date/item-page-date-field.component'; -import { ItemPageFieldComponent } from './simple/field-components/specific-field/item-page-field.component'; -import { ItemPageUriFieldComponent } from './simple/field-components/specific-field/uri/item-page-uri-field.component'; -import { ItemPageComponent } from './simple/item-page.component'; -import { ItemComponent } from './simple/item-types/shared/item.component'; -import { NotifyRequestsStatusComponent } from './simple/notify-requests-status/notify-requests-status-component/notify-requests-status.component'; -import { RequestStatusAlertBoxComponent } from './simple/notify-requests-status/request-status-alert-box/request-status-alert-box.component'; -import { QaEventNotificationComponent } from './simple/qa-event-notification/qa-event-notification.component'; -import { ThemedItemPageComponent } from './simple/themed-item-page.component'; -import { VersionPageComponent } from './version-page/version-page/version-page.component'; -import { ItemVersionsModule } from './versions/item-versions.module'; - - -const DECLARATIONS = [ - FileSectionComponent, - ThemedFileSectionComponent, - ItemPageComponent, - ThemedItemPageComponent, - FullItemPageComponent, - ThemedFullItemPageComponent, - MetadataUriValuesComponent, - ItemPageAuthorFieldComponent, - ItemPageDateFieldComponent, - ItemPageAbstractFieldComponent, - ItemPageUriFieldComponent, - ItemPageFieldComponent, - CollectionsComponent, - FullFileSectionComponent, - ThemedFullFileSectionComponent, - ItemComponent, - UploadBitstreamComponent, - AbstractIncrementalListComponent, - MediaViewerComponent, - ThemedMediaViewerComponent, - MediaViewerVideoComponent, - ThemedMediaViewerVideoComponent, - MediaViewerImageComponent, - ThemedMediaViewerImageComponent, - MiradorViewerComponent, - VersionPageComponent, - OrcidPageComponent, - OrcidAuthComponent, - OrcidSyncSettingsComponent, - OrcidQueueComponent, - ItemAlertsComponent, - ThemedItemAlertsComponent, - BitstreamRequestACopyPageComponent, - QaEventNotificationComponent, - NotifyRequestsStatusComponent, - RequestStatusAlertBoxComponent, -]; - -@NgModule({ - imports: [ - CommonModule, - EditItemPageModule, - ItemVersionsModule, - ItemSharedModule, - StatisticsModule.forRoot(), - NgxGalleryModule, - NgbAccordionModule, - UploadModule, - DsoPageModule, - ...DECLARATIONS, - ], - exports: [ - ...DECLARATIONS, - ], -}) -export class ItemPageModule { - -} diff --git a/src/app/item-page/item-shared.module.ts b/src/app/item-page/item-shared.module.ts deleted file mode 100644 index 28c4f99246..0000000000 --- a/src/app/item-page/item-shared.module.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { - CommonModule, - NgOptimizedImage, -} from '@angular/common'; -import { NgModule } from '@angular/core'; -import { DYNAMIC_FORM_CONTROL_MAP_FN } from '@ng-dynamic-forms/core'; -import { TranslateModule } from '@ngx-translate/core'; - -import { ItemWithdrawnReinstateModalComponent } from '../shared/correction-suggestion/withdrawn-reinstate-modal.component'; -import { dsDynamicFormControlMapFn } from '../shared/form/builder/ds-dynamic-form-ui/ds-dynamic-form-control-map-fn'; -import { SearchModule } from '../shared/search/search.module'; -import { MetadataValuesComponent } from './field-components/metadata-values/metadata-values.component'; -import { GenericItemPageFieldComponent } from './simple/field-components/specific-field/generic/generic-item-page-field.component'; -import { ItemPageImgFieldComponent } from './simple/field-components/specific-field/img/item-page-img-field.component'; -import { MetadataRepresentationListComponent } from './simple/metadata-representation-list/metadata-representation-list.component'; -import { ThemedMetadataRepresentationListComponent } from './simple/metadata-representation-list/themed-metadata-representation-list.component'; -import { RelatedEntitiesSearchComponent } from './simple/related-entities/related-entities-search/related-entities-search.component'; -import { TabbedRelatedEntitiesSearchComponent } from './simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; -import { RelatedItemsComponent } from './simple/related-items/related-items-component'; -import { ItemVersionsDeleteModalComponent } from './versions/item-versions-delete-modal/item-versions-delete-modal.component'; -import { ItemVersionsSummaryModalComponent } from './versions/item-versions-summary-modal/item-versions-summary-modal.component'; - -const ENTRY_COMPONENTS = [ - ItemVersionsDeleteModalComponent, - ItemVersionsSummaryModalComponent, - ItemWithdrawnReinstateModalComponent, - -]; - -const COMPONENTS = [ - ...ENTRY_COMPONENTS, - RelatedEntitiesSearchComponent, - TabbedRelatedEntitiesSearchComponent, - MetadataValuesComponent, - GenericItemPageFieldComponent, - MetadataRepresentationListComponent, - ThemedMetadataRepresentationListComponent, - RelatedItemsComponent, - ItemPageImgFieldComponent, -]; - -@NgModule({ - imports: [ - CommonModule, - SearchModule, - TranslateModule, - NgOptimizedImage, - ...COMPONENTS, - ], - exports: [ - ...COMPONENTS, - ], - providers: [ - { - provide: DYNAMIC_FORM_CONTROL_MAP_FN, - useValue: dsDynamicFormControlMapFn, - }, - ...ENTRY_COMPONENTS, - ], -}) -export class ItemSharedModule { -} diff --git a/src/app/item-page/simple/item-types/shared/item.component.ts b/src/app/item-page/simple/item-types/shared/item.component.ts index 0d337b41df..b93b7215c5 100644 --- a/src/app/item-page/simple/item-types/shared/item.component.ts +++ b/src/app/item-page/simple/item-types/shared/item.component.ts @@ -13,6 +13,7 @@ import { import { environment } from '../../../../../environments/environment'; import { RouteService } from '../../../../core/services/route.service'; import { Item } from '../../../../core/shared/item.model'; +import { ViewMode } from '../../../../core/shared/view-mode.model'; import { getItemPageRoute } from '../../../item-page-routing-paths'; import { getDSpaceQuery, @@ -31,6 +32,16 @@ import { export class ItemComponent implements OnInit { @Input() object: Item; + /** + * Whether to show the badge label or not + */ + @Input() showLabel = true; + + /** + * The viewmode we matched on to get this component + */ + @Input() viewMode: ViewMode; + /** * This regex matches previous routes. The button is shown * for matching paths and hidden in other cases. diff --git a/src/app/item-page/versions/item-versions.component.spec.ts b/src/app/item-page/versions/item-versions.component.spec.ts index 44b9af05e7..770724d041 100644 --- a/src/app/item-page/versions/item-versions.component.spec.ts +++ b/src/app/item-page/versions/item-versions.component.spec.ts @@ -50,7 +50,6 @@ import { NotificationsServiceStub } from '../../shared/testing/notifications-ser import { PaginationServiceStub } from '../../shared/testing/pagination-service.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; import { VarDirective } from '../../shared/utils/var.directive'; -import { ItemSharedModule } from '../item-shared.module'; import { ItemVersionsComponent } from './item-versions.component'; describe('ItemVersionsComponent', () => { @@ -159,7 +158,7 @@ describe('ItemVersionsComponent', () => { beforeEach(waitForAsync(() => { TestBed.configureTestingModule({ - imports: [TranslateModule.forRoot(), RouterModule.forRoot([]), CommonModule, FormsModule, ReactiveFormsModule, BrowserModule, ItemSharedModule, ItemVersionsComponent, VarDirective], + imports: [TranslateModule.forRoot(), RouterModule.forRoot([]), CommonModule, FormsModule, ReactiveFormsModule, BrowserModule, ItemVersionsComponent, VarDirective], providers: [ { provide: PaginationService, useValue: new PaginationServiceStub() }, { provide: UntypedFormBuilder, useValue: new UntypedFormBuilder() }, diff --git a/src/assets/i18n/en.json5 b/src/assets/i18n/en.json5 index 541bb4f39d..43e1d48fb0 100644 --- a/src/assets/i18n/en.json5 +++ b/src/assets/i18n/en.json5 @@ -4470,6 +4470,12 @@ "search.filters.entityType.OrgUnit": "Organizational Unit", + "search.filters.entityType.Person": "Person", + + "search.filters.entityType.Project": "Project", + + "search.filters.entityType.Publication": "Publication", + "search.filters.has_content_in_original_bundle.true": "Yes", "search.filters.has_content_in_original_bundle.false": "No", diff --git a/src/themes/custom/eager-theme.module.ts b/src/themes/custom/eager-theme.module.ts index 7c8fab5dda..57c0be0caf 100644 --- a/src/themes/custom/eager-theme.module.ts +++ b/src/themes/custom/eager-theme.module.ts @@ -1,8 +1,6 @@ import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; -import { ItemPageModule } from '../../app/item-page/item-page.module'; -import { ItemSharedModule } from '../../app/item-page/item-shared.module'; import { NavbarModule } from '../../app/navbar/navbar.module'; import { RootModule } from '../../app/root.module'; import { SharedBrowseByModule } from '../../app/shared/browse-by/shared-browse-by.module'; @@ -85,8 +83,6 @@ const DECLARATIONS = [ RootModule, NavbarModule, SharedBrowseByModule, - ItemPageModule, - ItemSharedModule, DsoPageModule, ...DECLARATIONS, ], diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index 182a75944c..1188ef563f 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -14,8 +14,6 @@ import { IdlePreloadModule } from 'angular-idle-preload'; import { AppModule } from '../../app/app.module'; import { EditItemPageModule } from '../../app/item-page/edit-item-page/edit-item-page.module'; -import { ItemPageModule } from '../../app/item-page/item-page.module'; -import { ItemSharedModule } from '../../app/item-page/item-shared.module'; import { ItemVersionsModule } from '../../app/item-page/versions/item-versions.module'; import { NavbarModule } from '../../app/navbar/navbar.module'; import { RegisterEmailFormModule } from '../../app/register-email-form/register-email-form.module'; @@ -207,8 +205,6 @@ const DECLARATIONS = [ RootModule, CommonModule, DragDropModule, - ItemSharedModule, - ItemPageModule, EditItemPageModule, ItemVersionsModule, FormsModule, diff --git a/src/themes/dspace/lazy-theme.module.ts b/src/themes/dspace/lazy-theme.module.ts index 9f98a818f8..cfe868353d 100644 --- a/src/themes/dspace/lazy-theme.module.ts +++ b/src/themes/dspace/lazy-theme.module.ts @@ -10,11 +10,9 @@ import { StoreModule } from '@ngrx/store'; import { TranslateModule } from '@ngx-translate/core'; import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; import { IdlePreloadModule } from 'angular-idle-preload'; -import { ItemSharedModule } from 'src/app/item-page/item-shared.module'; import { AppModule } from '../../app/app.module'; import { EditItemPageModule } from '../../app/item-page/edit-item-page/edit-item-page.module'; -import { ItemPageModule } from '../../app/item-page/item-page.module'; import { ItemVersionsModule } from '../../app/item-page/versions/item-versions.module'; import { NavbarModule } from '../../app/navbar/navbar.module'; import { RegisterEmailFormModule } from '../../app/register-email-form/register-email-form.module'; @@ -37,8 +35,6 @@ const DECLARATIONS = [ RootModule, CommonModule, DragDropModule, - ItemSharedModule, - ItemPageModule, EditItemPageModule, ItemVersionsModule, FormsModule,