diff --git a/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.html b/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.html index b3671419d8b..d1f1c77d135 100644 --- a/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.html +++ b/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.html @@ -1,30 +1,36 @@ - -
-
- - +@if (showBackButton$ | async) { + +} +@if (iiifEnabled) { +
+
+ + +
-
+}
- - + +
- + @if (!(mediaViewer.image || mediaViewer.video)) { - + - -
- -
- + } + @if (mediaViewer.image || mediaViewer.video) { +
+ +
+ } +
@@ -38,12 +44,12 @@
- - + [label]="'item.page.authors' | translate"> + @@ -89,13 +95,40 @@ [fields]="['dc.identifier.citation']" [label]="'item.page.citation'"> + @if (geospatialItemPageFieldsEnabled) { + + + } + + + + + + + + + +
- + {{"item.page.link.full" | translate}}
diff --git a/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.scss b/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.scss new file mode 100644 index 00000000000..413c25a4af9 --- /dev/null +++ b/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.scss @@ -0,0 +1 @@ +@import '../../../../../../../styles/variables.scss'; diff --git a/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts b/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts index a73c77c32b9..52cc59246c6 100644 --- a/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts +++ b/src/themes/capstone/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts @@ -1,25 +1,68 @@ -import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { Item } from '../../../../../../../app/core/shared/item.model'; -import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { AsyncPipe } from '@angular/common'; import { - listableObjectComponent -} from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { TranslateModule } from '@ngx-translate/core'; + import { Context } from '../../../../../../../app/core/shared/context.model'; -import { - UntypedItemComponent as BaseComponent -} from '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component'; +import { Item } from '../../../../../../../app/core/shared/item.model'; +import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; +import { CollectionsComponent } from '../../../../../../../app/item-page/field-components/collections/collections.component'; +import { MetadataValuesComponent } from '../../../../../../../app/item-page/field-components/metadata-values/metadata-values.component'; +import { ThemedMediaViewerComponent } from '../../../../../../../app/item-page/media-viewer/themed-media-viewer.component'; +import { MiradorViewerComponent } from '../../../../../../../app/item-page/mirador-viewer/mirador-viewer.component'; +import { ThemedFileSectionComponent } from '../../../../../../../app/item-page/simple/field-components/file-section/themed-file-section.component'; +import { ItemPageAbstractFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component'; +import { ItemPageCcLicenseFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component'; +import { ItemPageDateFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/date/item-page-date-field.component'; +import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { GeospatialItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component'; +import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; +import { ItemPageUriFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component'; +import { UntypedItemComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component'; +import { ThemedMetadataRepresentationListComponent } from '../../../../../../../app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component'; +import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { ThemedResultsBackButtonComponent } from '../../../../../../../app/shared/results-back-button/themed-results-back-button.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; -/** - * Component that represents an untyped Item page - */ @listableObjectComponent(Item, ViewMode.StandalonePage, Context.Any, 'capstone') @Component({ selector: 'ds-untyped-item', - // styleUrls: ['./untyped-item.component.scss'], - styleUrls: ['../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.scss'], + styleUrls: ['./untyped-item.component.scss'], + // styleUrls: [ + // '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.scss', + // ], templateUrl: './untyped-item.component.html', - //templateUrl: '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.html', + // templateUrl: + // '../../../../../../../app/item-page/simple/item-types/untyped-item/untyped-item.component.html', changeDetection: ChangeDetectionStrategy.OnPush, + standalone: true, + imports: [ + AsyncPipe, + CollectionsComponent, + DsoEditMenuComponent, + GenericItemPageFieldComponent, + GeospatialItemPageFieldComponent, + ItemPageAbstractFieldComponent, + ItemPageCcLicenseFieldComponent, + ItemPageDateFieldComponent, + ItemPageUriFieldComponent, + MetadataFieldWrapperComponent, + MetadataValuesComponent, + MiradorViewerComponent, + RouterLink, + ThemedFileSectionComponent, + ThemedItemPageTitleFieldComponent, + ThemedMediaViewerComponent, + ThemedMetadataRepresentationListComponent, + ThemedResultsBackButtonComponent, + ThemedThumbnailComponent, + TranslateModule, + ], }) export class UntypedItemComponent extends BaseComponent { } diff --git a/src/themes/capstone/eager-theme.module.ts b/src/themes/capstone/eager-theme.module.ts index 00286b07226..f6b2170871e 100644 --- a/src/themes/capstone/eager-theme.module.ts +++ b/src/themes/capstone/eager-theme.module.ts @@ -1,34 +1,28 @@ 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 { DsoPageModule } from '../../app/shared/dso-page/dso-page.module'; -import { ResultsBackButtonModule } from '../../app/shared/results-back-button/results-back-button.module'; -import { SharedModule } from '../../app/shared/shared.module'; + +import { RootModule } from '../../app/root.module'; import { UntypedItemComponent } from './app/item-page/simple/item-types/untyped-item/untyped-item.component'; /** * Add components that use a custom decorator to ENTRY_COMPONENTS as well as DECLARATIONS. * This will ensure that decorator gets picked up when the app loads */ - -const ENTRY_COMPONENTS = [ UntypedItemComponent ]; +const ENTRY_COMPONENTS = []; const DECLARATIONS = [ - ...ENTRY_COMPONENTS + ...ENTRY_COMPONENTS, + UntypedItemComponent, ]; + @NgModule({ imports: [ CommonModule, - SharedModule, - ItemPageModule, - ItemSharedModule, - DsoPageModule, - ResultsBackButtonModule + RootModule, + ...DECLARATIONS, ], - declarations: DECLARATIONS, providers: [ - ...ENTRY_COMPONENTS.map((component) => ({provide: component})) + ...ENTRY_COMPONENTS.map((component) => ({ provide: component })), ], }) /**