diff --git a/lint/src/util/theme-support.ts b/lint/src/util/theme-support.ts index 6434b5eec11..f195186145e 100644 --- a/lint/src/util/theme-support.ts +++ b/lint/src/util/theme-support.ts @@ -189,7 +189,7 @@ function getSource(file: string): ts.SourceFile { function resolveLocalPath(path: string, relativeTo: string) { if (path.startsWith('src/')) { return path; - } else if (path.startsWith('./')) { + } else if (path.startsWith('./') || path.startsWith('../')) { const parts = relativeTo.split('/'); return [ ...parts.slice(0, parts.length - 1), diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts index 0a0bd4cd53a..c6c3c1bbfcf 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts @@ -4,7 +4,7 @@ import { RouterLink } from '@angular/router'; import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component'; @@ -22,10 +22,10 @@ import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts index 540a1e6db69..9f9d65528db 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts @@ -4,7 +4,7 @@ import { RouterLink } from '@angular/router'; import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { RelatedItemsComponent } from '../../../../item-page/simple/related-items/related-items-component'; @@ -22,10 +22,10 @@ import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts index c6116a919d5..72695baf21f 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.spec.ts @@ -46,8 +46,7 @@ import { } from '@ngx-translate/core'; import { Observable } from 'rxjs'; -import { MetadataValuesComponent } from '../../../../item-page/field-components/metadata-values/metadata-values.component'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { mockRouteService } from '../../../../item-page/simple/item-types/shared/item.component.spec'; import { ThemedMetadataRepresentationListComponent } from '../../../../item-page/simple/metadata-representation-list/themed-metadata-representation-list.component'; @@ -105,7 +104,7 @@ describe('JournalComponent', () => { }, }), RouterTestingModule, - GenericItemPageFieldComponent, TruncatePipe, + TruncatePipe, JournalComponent, ], providers: [ @@ -144,14 +143,11 @@ describe('JournalComponent', () => { RelatedItemsComponent, TabbedRelatedEntitiesSearchComponent, ThemedMetadataRepresentationListComponent, + ThemedGenericItemPageFieldComponent, ], }, add: { changeDetection: ChangeDetectionStrategy.Default }, - }) - .overrideComponent(GenericItemPageFieldComponent, { - remove: { imports: [MetadataValuesComponent] }, - }) - .compileComponents(); + }).compileComponents(); })); beforeEach(waitForAsync(() => { @@ -171,7 +167,7 @@ describe('JournalComponent', () => { function containsFieldInput(fields: DebugElement[], metadataKey: string): boolean { for (const field of fields) { - const fieldComp = field.componentInstance; + const fieldComp = field.nativeElement; if (isNotEmpty(fieldComp.fields)) { if (fieldComp.fields.indexOf(metadataKey) > -1) { return true; diff --git a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts index 3824c3178da..62fedc0fc60 100644 --- a/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts +++ b/src/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts @@ -4,7 +4,7 @@ import { RouterLink } from '@angular/router'; import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { TabbedRelatedEntitiesSearchComponent } from '../../../../item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; @@ -23,11 +23,11 @@ import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts index d7297b90b73..8a9762d05ec 100644 --- a/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts +++ b/src/app/entity-groups/research-entities/item-pages/org-unit/org-unit.component.ts @@ -4,7 +4,7 @@ import { RouterLink } from '@angular/router'; import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ItemPageImgFieldComponent } from '../../../../item-page/simple/field-components/specific-field/img/item-page-img-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; @@ -24,12 +24,12 @@ import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, ItemPageImgFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/app/entity-groups/research-entities/item-pages/person/person.component.ts b/src/app/entity-groups/research-entities/item-pages/person/person.component.ts index 450350a6dab..6f5b0906c01 100644 --- a/src/app/entity-groups/research-entities/item-pages/person/person.component.ts +++ b/src/app/entity-groups/research-entities/item-pages/person/person.component.ts @@ -4,7 +4,7 @@ import { RouterLink } from '@angular/router'; import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { TabbedRelatedEntitiesSearchComponent } from '../../../../item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; @@ -23,11 +23,11 @@ import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/app/entity-groups/research-entities/item-pages/project/project.component.ts b/src/app/entity-groups/research-entities/item-pages/project/project.component.ts index 8ce17eaf76a..df001bac273 100644 --- a/src/app/entity-groups/research-entities/item-pages/project/project.component.ts +++ b/src/app/entity-groups/research-entities/item-pages/project/project.component.ts @@ -4,7 +4,7 @@ import { RouterLink } from '@angular/router'; import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; -import { GenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { ItemComponent } from '../../../../item-page/simple/item-types/shared/item.component'; import { ThemedMetadataRepresentationListComponent } from '../../../../item-page/simple/metadata-representation-list/themed-metadata-representation-list.component'; @@ -23,10 +23,10 @@ import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedMetadataRepresentationListComponent, ThemedResultsBackButtonComponent, diff --git a/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts b/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts index 875737681d4..6fe09de1b18 100644 --- a/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts @@ -9,7 +9,7 @@ import { MetadataValuesComponent } from '../../../../field-components/metadata-v import { ItemPageFieldComponent } from '../item-page-field.component'; @Component({ - selector: 'ds-item-page-abstract-field', + selector: 'ds-base-item-page-abstract-field', templateUrl: '../item-page-field.component.html', imports: [ AsyncPipe, diff --git a/src/app/item-page/simple/field-components/specific-field/abstract/themed-item-page-abstract-field.component.ts b/src/app/item-page/simple/field-components/specific-field/abstract/themed-item-page-abstract-field.component.ts new file mode 100644 index 00000000000..4511257e9c4 --- /dev/null +++ b/src/app/item-page/simple/field-components/specific-field/abstract/themed-item-page-abstract-field.component.ts @@ -0,0 +1,37 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; +import { ItemPageAbstractFieldComponent } from './item-page-abstract-field.component'; + +@Component({ + selector: 'ds-item-page-abstract-field', + templateUrl: '../../../../../shared/theme-support/themed.component.html', + imports: [ + ItemPageAbstractFieldComponent, + ], +}) +export class ThemedItemPageAbstractFieldComponent extends ThemedComponent { + + @Input() item: Item; + + protected inAndOutputNames: (keyof ItemPageAbstractFieldComponent & keyof this)[] = [ + 'item', + ]; + + protected getComponentName(): string { + return 'ItemPageAbstractFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./item-page-abstract-field.component'); + } + +} diff --git a/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts b/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts index 122572207b6..21698197152 100644 --- a/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts @@ -9,7 +9,7 @@ import { MetadataValuesComponent } from '../../../../field-components/metadata-v import { ItemPageFieldComponent } from '../item-page-field.component'; @Component({ - selector: 'ds-item-page-author-field', + selector: 'ds-base-item-page-author-field', templateUrl: '../item-page-field.component.html', imports: [ AsyncPipe, diff --git a/src/app/item-page/simple/field-components/specific-field/author/themed-item-page-author-field.component.ts b/src/app/item-page/simple/field-components/specific-field/author/themed-item-page-author-field.component.ts new file mode 100644 index 00000000000..ab5624c28a5 --- /dev/null +++ b/src/app/item-page/simple/field-components/specific-field/author/themed-item-page-author-field.component.ts @@ -0,0 +1,37 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; +import { ItemPageAuthorFieldComponent } from './item-page-author-field.component'; + +@Component({ + selector: 'ds-item-page-author-field', + templateUrl: '../../../../../shared/theme-support/themed.component.html', + imports: [ + ItemPageAuthorFieldComponent, + ], +}) +export class ThemedItemPageAuthorFieldComponent extends ThemedComponent { + + @Input() item: Item; + + protected inAndOutputNames: (keyof ItemPageAuthorFieldComponent & keyof this)[] = [ + 'item', + ]; + + protected getComponentName(): string { + return 'ItemPageAuthorFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./item-page-author-field.component'); + } + +} diff --git a/src/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.ts b/src/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.ts index 16d096ae389..b802d9735f2 100644 --- a/src/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.ts @@ -27,7 +27,7 @@ import { MetadataFieldWrapperComponent } from 'src/app/shared/metadata-field-wra @Component({ - selector: 'ds-item-page-cc-license-field', + selector: 'ds-base-item-page-cc-license-field', templateUrl: './item-page-cc-license-field.component.html', imports: [ AsyncPipe, @@ -51,7 +51,7 @@ export class ItemPageCcLicenseFieldComponent implements OnInit { * 'full' variant shows image, a disclaimer (optional) and name (always), better for the item page content. * 'small' variant shows image and name (optional), better for the item page sidebar */ - @Input() variant?: 'small' | 'full' = 'small'; + @Input() variant: 'small' | 'full' = 'small'; /** * Field name containing the CC license URI @@ -66,12 +66,12 @@ export class ItemPageCcLicenseFieldComponent implements OnInit { /** * Shows the CC license name with the image. Always show if image fails to load */ - @Input() showName? = true; + @Input() showName = true; /** * Shows the disclaimer in the 'full' variant of the component */ - @Input() showDisclaimer? = true; + @Input() showDisclaimer = true; showImage = true; diff --git a/src/app/item-page/simple/field-components/specific-field/cc-license/themed-item-page-cc-license-field.component.ts b/src/app/item-page/simple/field-components/specific-field/cc-license/themed-item-page-cc-license-field.component.ts new file mode 100644 index 00000000000..18eb966a8e6 --- /dev/null +++ b/src/app/item-page/simple/field-components/specific-field/cc-license/themed-item-page-cc-license-field.component.ts @@ -0,0 +1,52 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; +import { ItemPageCcLicenseFieldComponent } from './item-page-cc-license-field.component'; + +@Component({ + selector: 'ds-item-page-cc-license-field', + templateUrl: '../../../../../shared/theme-support/themed.component.html', + imports: [ + ItemPageCcLicenseFieldComponent, + ], +}) +export class ThemedItemPageCcLicenseFieldComponent extends ThemedComponent { + + @Input() item: Item; + + @Input() variant: 'small' | 'full'; + + @Input() ccLicenseUriField?: string; + + @Input() ccLicenseNameField?: string; + + @Input() showName: boolean; + + @Input() showDisclaimer: boolean; + + protected inAndOutputNames: (keyof ItemPageCcLicenseFieldComponent & keyof this)[] = [ + 'item', + 'variant', + 'ccLicenseUriField', + 'ccLicenseNameField', + 'showName', + 'showDisclaimer', + ]; + + protected getComponentName(): string { + return 'ItemPageCcLicenseFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./item-page-cc-license-field.component'); + } + +} diff --git a/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts b/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts index ed5da441ed9..cbc08c6e284 100644 --- a/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts @@ -9,7 +9,7 @@ import { MetadataValuesComponent } from '../../../../field-components/metadata-v import { ItemPageFieldComponent } from '../item-page-field.component'; @Component({ - selector: 'ds-item-page-date-field', + selector: 'ds-base-item-page-date-field', templateUrl: '../item-page-field.component.html', imports: [ AsyncPipe, diff --git a/src/app/item-page/simple/field-components/specific-field/date/themed-item-page-date-field.component.ts b/src/app/item-page/simple/field-components/specific-field/date/themed-item-page-date-field.component.ts new file mode 100644 index 00000000000..f8434487a43 --- /dev/null +++ b/src/app/item-page/simple/field-components/specific-field/date/themed-item-page-date-field.component.ts @@ -0,0 +1,37 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; +import { ItemPageDateFieldComponent } from './item-page-date-field.component'; + +@Component({ + selector: 'ds-item-page-date-field', + templateUrl: '../../../../../shared/theme-support/themed.component.html', + imports: [ + ItemPageDateFieldComponent, + ], +}) +export class ThemedItemPageDateFieldComponent extends ThemedComponent { + + @Input() item: Item; + + protected inAndOutputNames: (keyof ItemPageDateFieldComponent & keyof this)[] = [ + 'item', + ]; + + protected getComponentName(): string { + return 'ItemPageDateFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./item-page-date-field.component'); + } + +} diff --git a/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts index 00220ab562e..72f5af3d57a 100644 --- a/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts @@ -9,7 +9,7 @@ import { MetadataValuesComponent } from '../../../../field-components/metadata-v import { ItemPageFieldComponent } from '../item-page-field.component'; @Component({ - selector: 'ds-generic-item-page-field', + selector: 'ds-base-generic-item-page-field', templateUrl: '../item-page-field.component.html', imports: [ AsyncPipe, diff --git a/src/app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component.ts new file mode 100644 index 00000000000..7930842014e --- /dev/null +++ b/src/app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component.ts @@ -0,0 +1,52 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; +import { GenericItemPageFieldComponent } from './generic-item-page-field.component'; + +@Component({ + selector: 'ds-generic-item-page-field', + templateUrl: '../../../../../shared/theme-support/themed.component.html', + imports: [ + GenericItemPageFieldComponent, + ], +}) +export class ThemedGenericItemPageFieldComponent extends ThemedComponent { + + @Input() item: Item; + + @Input() separator: string; + + @Input() fields: string[]; + + @Input() label: string; + + @Input() enableMarkdown: boolean; + + @Input() urlRegex?: string; + + protected inAndOutputNames: (keyof GenericItemPageFieldComponent & keyof this)[] = [ + 'item', + 'separator', + 'fields', + 'label', + 'enableMarkdown', + 'urlRegex', + ]; + + protected getComponentName(): string { + return 'GenericItemPageFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./generic-item-page-field.component'); + } + +} diff --git a/src/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.ts index d2ca6c1e9ec..2b21353df99 100644 --- a/src/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.ts @@ -15,7 +15,7 @@ import { MetadataFieldWrapperComponent } from '../../../../../shared/metadata-fi import { ItemPageFieldComponent } from '../item-page-field.component'; @Component({ - selector: 'ds-geospatial-item-page-field', + selector: 'ds-base-geospatial-item-page-field', templateUrl: './geospatial-item-page-field.component.html', imports: [ GeospatialMapComponent, diff --git a/src/app/item-page/simple/field-components/specific-field/geospatial/themed-geospatial-item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/geospatial/themed-geospatial-item-page-field.component.ts new file mode 100644 index 00000000000..b57fccdef39 --- /dev/null +++ b/src/app/item-page/simple/field-components/specific-field/geospatial/themed-geospatial-item-page-field.component.ts @@ -0,0 +1,49 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; +import { GeospatialItemPageFieldComponent } from './geospatial-item-page-field.component'; + +@Component({ + selector: 'ds-geospatial-item-page-field', + templateUrl: '../../../../../shared/theme-support/themed.component.html', + imports: [ + GeospatialItemPageFieldComponent, + ], +}) +export class ThemedGeospatialItemPageFieldComponent extends ThemedComponent { + + @Input() item: Item; + + @Input() label: string; + + @Input() pointFields: string[]; + + @Input() bboxFields: string[]; + + @Input() cluster: boolean; + + protected inAndOutputNames: (keyof GeospatialItemPageFieldComponent & keyof this)[] = [ + 'item', + 'label', + 'pointFields', + 'bboxFields', + 'cluster', + ]; + + protected getComponentName(): string { + return 'GeospatialItemPageFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./geospatial-item-page-field.component'); + } + +} diff --git a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts index 8dac865034d..5228d7e7be1 100644 --- a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts +++ b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.spec.ts @@ -1,40 +1,32 @@ -import { - ChangeDetectionStrategy, - NO_ERRORS_SCHEMA, -} from '@angular/core'; +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; import { ComponentFixture, TestBed, waitForAsync, } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { RouterTestingModule } from '@angular/router/testing'; +import { RouterModule } from '@angular/router'; import { APP_CONFIG } from '@dspace/config/app-config.interface'; import { BrowseService } from '@dspace/core/browse/browse.service'; -import { BrowseDefinitionDataService } from '@dspace/core/browse/browse-definition-data.service'; import { Item } from '@dspace/core/shared/item.model'; import { MathService } from '@dspace/core/shared/math.service'; import { MetadataMap, MetadataValue, } from '@dspace/core/shared/metadata.models'; -import { BrowseDefinitionDataServiceStub } from '@dspace/core/testing/browse-definition-data-service.stub'; import { BrowseServiceStub } from '@dspace/core/testing/browse-service.stub'; -import { TranslateLoaderMock } from '@dspace/core/testing/translate-loader.mock'; import { createPaginatedList } from '@dspace/core/testing/utils.test'; import { createSuccessfulRemoteDataObject$ } from '@dspace/core/utilities/remote-data.utils'; -import { - TranslateLoader, - TranslateModule, -} from '@ngx-translate/core'; +import { TranslateModule } from '@ngx-translate/core'; import { environment } from '../../../../../environments/environment'; import { MarkdownDirective } from '../../../../shared/utils/markdown.directive'; import { MetadataValuesComponent } from '../../../field-components/metadata-values/metadata-values.component'; import { ItemPageFieldComponent } from './item-page-field.component'; -let comp: ItemPageFieldComponent; -let fixture: ComponentFixture; +let comp: TestItemPageFieldComponent; +let fixture: ComponentFixture; let markdownSpy; const mockValue = 'test value'; @@ -44,6 +36,17 @@ const mockAuthorField = 'dc.contributor.author'; const mockDateIssuedField = 'dc.date.issued'; const mockFields = [mockField, mockAuthorField, mockDateIssuedField]; +@Component({ + selector: 'ds-test-item-page-field', + templateUrl: './item-page-field.component.html', + imports: [ + AsyncPipe, + MetadataValuesComponent, + ], +}) +class TestItemPageFieldComponent extends ItemPageFieldComponent { +} + describe('ItemPageFieldComponent', () => { let appConfig = Object.assign({}, environment, { @@ -56,27 +59,18 @@ describe('ItemPageFieldComponent', () => { beforeEach(waitForAsync(() => { void TestBed.configureTestingModule({ imports: [ - RouterTestingModule.withRoutes([]), - TranslateModule.forRoot({ - loader: { - provide: TranslateLoader, - useClass: TranslateLoaderMock, - }, - }), - ItemPageFieldComponent, MetadataValuesComponent, + RouterModule.forRoot([]), + TranslateModule.forRoot(), + MetadataValuesComponent, ], providers: [ { provide: APP_CONFIG, useValue: appConfig }, - { provide: BrowseDefinitionDataService, useValue: BrowseDefinitionDataServiceStub }, { provide: BrowseService, useValue: BrowseServiceStub }, { provide: MathService, useValue: {} }, ], - schemas: [NO_ERRORS_SCHEMA], - }).overrideComponent(ItemPageFieldComponent, { - set: { changeDetection: ChangeDetectionStrategy.Default }, }).compileComponents(); markdownSpy = spyOn(MarkdownDirective.prototype, 'render'); - fixture = TestBed.createComponent(ItemPageFieldComponent); + fixture = TestBed.createComponent(TestItemPageFieldComponent); comp = fixture.componentInstance; comp.item = mockItemWithMetadataFieldsAndValue(mockFields, mockValue); comp.fields = mockFields; diff --git a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts index 69c9acd03af..6ed305f9f46 100644 --- a/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/item-page-field.component.ts @@ -1,10 +1,8 @@ -import { AsyncPipe } from '@angular/common'; import { - Component, + Directive, Input, } from '@angular/core'; import { BrowseService } from '@dspace/core/browse/browse.service'; -import { BrowseDefinitionDataService } from '@dspace/core/browse/browse-definition-data.service'; import { BrowseDefinition } from '@dspace/core/shared/browse-definition.model'; import { Item } from '@dspace/core/shared/item.model'; import { @@ -20,7 +18,6 @@ import { take, } from 'rxjs/operators'; -import { MetadataValuesComponent } from '../../../field-components/metadata-values/metadata-values.component'; import { ImageField } from './image-field'; /** @@ -29,17 +26,12 @@ import { ImageField } from './image-field'; * This class can be extended to print certain metadata. */ -@Component({ - templateUrl: './item-page-field.component.html', - imports: [ - AsyncPipe, - MetadataValuesComponent, - ], -}) -export class ItemPageFieldComponent { +@Directive() +export abstract class ItemPageFieldComponent { - constructor(protected browseDefinitionDataService: BrowseDefinitionDataService, - protected browseService: BrowseService) { + constructor( + protected browseService: BrowseService, + ) { } /** diff --git a/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts b/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts index fc1ab9a023e..8f15de6df47 100644 --- a/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts +++ b/src/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts @@ -8,7 +8,7 @@ import { MetadataUriValuesComponent } from '../../../../field-components/metadat import { ItemPageFieldComponent } from '../item-page-field.component'; @Component({ - selector: 'ds-item-page-uri-field', + selector: 'ds-base-item-page-uri-field', templateUrl: './item-page-uri-field.component.html', imports: [ MetadataUriValuesComponent, diff --git a/src/app/item-page/simple/field-components/specific-field/uri/themed-item-page-uri-field.component.ts b/src/app/item-page/simple/field-components/specific-field/uri/themed-item-page-uri-field.component.ts new file mode 100644 index 00000000000..1b4bd387658 --- /dev/null +++ b/src/app/item-page/simple/field-components/specific-field/uri/themed-item-page-uri-field.component.ts @@ -0,0 +1,46 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { ThemedComponent } from '../../../../../shared/theme-support/themed.component'; +import { ItemPageUriFieldComponent } from './item-page-uri-field.component'; + +@Component({ + selector: 'ds-item-page-uri-field', + templateUrl: '../../../../../shared/theme-support/themed.component.html', + imports: [ + ItemPageUriFieldComponent, + ], +}) +export class ThemedGenericItemPageUriFieldComponent extends ThemedComponent { + + @Input() item: Item; + + @Input() separator: string; + + @Input() fields: string[]; + + @Input() label: string; + + protected inAndOutputNames: (keyof ItemPageUriFieldComponent & keyof this)[] = [ + 'item', + 'separator', + 'fields', + 'label', + ]; + + protected getComponentName(): string { + return 'ItemPageUriFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./item-page-uri-field.component'); + } + +} diff --git a/src/app/item-page/simple/item-types/publication/publication.component.html b/src/app/item-page/simple/item-types/publication/publication.component.html index 38a072a0ad5..f265bdbfc90 100644 --- a/src/app/item-page/simple/item-types/publication/publication.component.html +++ b/src/app/item-page/simple/item-types/publication/publication.component.html @@ -121,7 +121,7 @@ } diff --git a/src/app/item-page/simple/item-types/publication/publication.component.spec.ts b/src/app/item-page/simple/item-types/publication/publication.component.spec.ts index 65174f2e213..a6cfc189ca0 100644 --- a/src/app/item-page/simple/item-types/publication/publication.component.spec.ts +++ b/src/app/item-page/simple/item-types/publication/publication.component.spec.ts @@ -61,11 +61,14 @@ import { CollectionsComponent } from '../../../field-components/collections/coll import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-viewer.component'; import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component'; import { ThemedFileSectionComponent } from '../../field-components/file-section/themed-file-section.component'; -import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component'; -import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component'; -import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/themed-item-page-abstract-field.component'; +import { ThemedItemPageCcLicenseFieldComponent } from '../../field-components/specific-field/cc-license/themed-item-page-cc-license-field.component'; +import { ThemedItemPageDateFieldComponent } from '../../field-components/specific-field/date/themed-item-page-date-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../field-components/specific-field/generic/themed-generic-item-page-field.component'; +import { ThemedGeospatialItemPageFieldComponent } from '../../field-components/specific-field/geospatial/themed-geospatial-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component'; import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component'; +import { ThemedGenericItemPageUriFieldComponent } from '../../field-components/specific-field/uri/themed-item-page-uri-field.component'; import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component'; import { RelatedItemsComponent } from '../../related-items/related-items-component'; import { @@ -105,7 +108,7 @@ describe('PublicationComponent', () => { }, }), RouterTestingModule, - GenericItemPageFieldComponent, TruncatePipe, + TruncatePipe, PublicationComponent, ], providers: [ @@ -136,7 +139,25 @@ describe('PublicationComponent', () => { }).overrideComponent(PublicationComponent, { add: { changeDetection: ChangeDetectionStrategy.Default }, remove: { - imports: [ThemedResultsBackButtonComponent, MiradorViewerComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, ItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, GenericItemPageFieldComponent, RelatedItemsComponent, ItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, + imports: [ + ThemedResultsBackButtonComponent, + MiradorViewerComponent, + ThemedItemPageTitleFieldComponent, + DsoEditMenuComponent, + MetadataFieldWrapperComponent, + ThemedThumbnailComponent, + ThemedMediaViewerComponent, + ThemedFileSectionComponent, + ThemedItemPageDateFieldComponent, + ThemedMetadataRepresentationListComponent, + ThemedGenericItemPageFieldComponent, + RelatedItemsComponent, + ThemedItemPageAbstractFieldComponent, + ItemPageUriFieldComponent, + CollectionsComponent, + ThemedGenericItemPageUriFieldComponent, + ThemedGeospatialItemPageFieldComponent, + ThemedItemPageCcLicenseFieldComponent, ], }, }); diff --git a/src/app/item-page/simple/item-types/publication/publication.component.ts b/src/app/item-page/simple/item-types/publication/publication.component.ts index 83578272f0d..5f6f1df0c9c 100644 --- a/src/app/item-page/simple/item-types/publication/publication.component.ts +++ b/src/app/item-page/simple/item-types/publication/publication.component.ts @@ -16,12 +16,12 @@ import { CollectionsComponent } from '../../../field-components/collections/coll import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-viewer.component'; import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component'; import { ThemedFileSectionComponent } from '../../field-components/file-section/themed-file-section.component'; -import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component'; -import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component'; -import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; -import { GeospatialItemPageFieldComponent } from '../../field-components/specific-field/geospatial/geospatial-item-page-field.component'; +import { ThemedItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/themed-item-page-abstract-field.component'; +import { ThemedItemPageDateFieldComponent } from '../../field-components/specific-field/date/themed-item-page-date-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../field-components/specific-field/generic/themed-generic-item-page-field.component'; +import { ThemedGeospatialItemPageFieldComponent } from '../../field-components/specific-field/geospatial/themed-geospatial-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component'; -import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component'; +import { ThemedGenericItemPageUriFieldComponent } from '../../field-components/specific-field/uri/themed-item-page-uri-field.component'; import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component'; import { RelatedItemsComponent } from '../../related-items/related-items-component'; import { ItemComponent } from '../shared/item.component'; @@ -40,16 +40,16 @@ import { ItemComponent } from '../shared/item.component'; AsyncPipe, CollectionsComponent, DsoEditMenuComponent, - GenericItemPageFieldComponent, - GeospatialItemPageFieldComponent, - ItemPageAbstractFieldComponent, - ItemPageDateFieldComponent, - ItemPageUriFieldComponent, MetadataFieldWrapperComponent, MiradorViewerComponent, RelatedItemsComponent, RouterLink, ThemedFileSectionComponent, + ThemedGenericItemPageFieldComponent, + ThemedGenericItemPageUriFieldComponent, + ThemedGeospatialItemPageFieldComponent, + ThemedItemPageAbstractFieldComponent, + ThemedItemPageDateFieldComponent, ThemedItemPageTitleFieldComponent, ThemedMediaViewerComponent, ThemedMetadataRepresentationListComponent, diff --git a/src/app/item-page/simple/item-types/shared/item.component.spec.ts b/src/app/item-page/simple/item-types/shared/item.component.spec.ts index c3abc701dc3..3b896fc5ef7 100644 --- a/src/app/item-page/simple/item-types/shared/item.component.spec.ts +++ b/src/app/item-page/simple/item-types/shared/item.component.spec.ts @@ -72,7 +72,7 @@ import { SearchService } from '../../../../shared/search/search.service'; import { TruncatableService } from '../../../../shared/truncatable/truncatable.service'; import { TruncatePipe } from '../../../../shared/utils/truncate.pipe'; import { ThemedThumbnailComponent } from '../../../../thumbnail/themed-thumbnail.component'; -import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component'; import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component'; import { TabbedRelatedEntitiesSearchComponent } from '../../related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; @@ -148,7 +148,6 @@ export function getItemPageFieldsTest(mockItem: Item, component) { }, }), RouterTestingModule, - GenericItemPageFieldComponent, TruncatePipe, AsyncPipe, component, @@ -196,6 +195,7 @@ export function getItemPageFieldsTest(mockItem: Item, component) { imports: [ ThemedResultsBackButtonComponent, ThemedItemPageTitleFieldComponent, + ThemedGenericItemPageFieldComponent, DsoEditMenuComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, @@ -233,7 +233,7 @@ export function getItemPageFieldsTest(mockItem: Item, component) { */ export function containsFieldInput(fields: DebugElement[], metadataKey: string): boolean { for (const field of fields) { - const fieldComp = field.componentInstance; + const fieldComp = field.nativeElement; if (isNotEmpty(fieldComp.fields)) { if (fieldComp.fields.indexOf(metadataKey) > -1) { return true; @@ -495,7 +495,8 @@ describe('ItemComponent', () => { }, }), RouterTestingModule, - ItemComponent, GenericItemPageFieldComponent, TruncatePipe, + ItemComponent, + TruncatePipe, ], providers: [ { provide: ItemDataService, useValue: {} }, diff --git a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html index f3aa32dd799..917f34126c2 100644 --- a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html +++ b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.html @@ -109,7 +109,7 @@ diff --git a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts index 3864cbbaa14..be067c5598c 100644 --- a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts +++ b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.spec.ts @@ -63,11 +63,14 @@ import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-v import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component'; import { ItemVersionsSharedService } from '../../../versions/item-versions-shared.service'; import { ThemedFileSectionComponent } from '../../field-components/file-section/themed-file-section.component'; -import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component'; -import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component'; -import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/themed-item-page-abstract-field.component'; +import { ThemedItemPageCcLicenseFieldComponent } from '../../field-components/specific-field/cc-license/themed-item-page-cc-license-field.component'; +import { ThemedItemPageDateFieldComponent } from '../../field-components/specific-field/date/themed-item-page-date-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../field-components/specific-field/generic/themed-generic-item-page-field.component'; +import { ThemedGeospatialItemPageFieldComponent } from '../../field-components/specific-field/geospatial/themed-geospatial-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component'; import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component'; +import { ThemedGenericItemPageUriFieldComponent } from '../../field-components/specific-field/uri/themed-item-page-uri-field.component'; import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component'; import { createRelationshipsObservable, @@ -107,7 +110,7 @@ describe('UntypedItemComponent', () => { }, }), RouterTestingModule, - GenericItemPageFieldComponent, TruncatePipe, + TruncatePipe, UntypedItemComponent, ], providers: [ @@ -149,12 +152,15 @@ describe('UntypedItemComponent', () => { ThemedThumbnailComponent, ThemedMediaViewerComponent, ThemedFileSectionComponent, - ItemPageDateFieldComponent, + ThemedItemPageDateFieldComponent, ThemedMetadataRepresentationListComponent, - GenericItemPageFieldComponent, - ItemPageAbstractFieldComponent, + ThemedGenericItemPageFieldComponent, + ThemedItemPageAbstractFieldComponent, ItemPageUriFieldComponent, CollectionsComponent, + ThemedGenericItemPageUriFieldComponent, + ThemedGeospatialItemPageFieldComponent, + ThemedItemPageCcLicenseFieldComponent, ], }, }); diff --git a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts index 3e2da51dd47..e46c370c5b9 100644 --- a/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts +++ b/src/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts @@ -17,13 +17,13 @@ import { CollectionsComponent } from '../../../field-components/collections/coll import { ThemedMediaViewerComponent } from '../../../media-viewer/themed-media-viewer.component'; import { MiradorViewerComponent } from '../../../mirador-viewer/mirador-viewer.component'; import { ThemedFileSectionComponent } from '../../field-components/file-section/themed-file-section.component'; -import { ItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/item-page-abstract-field.component'; -import { ItemPageCcLicenseFieldComponent } from '../../field-components/specific-field/cc-license/item-page-cc-license-field.component'; -import { ItemPageDateFieldComponent } from '../../field-components/specific-field/date/item-page-date-field.component'; -import { GenericItemPageFieldComponent } from '../../field-components/specific-field/generic/generic-item-page-field.component'; -import { GeospatialItemPageFieldComponent } from '../../field-components/specific-field/geospatial/geospatial-item-page-field.component'; +import { ThemedItemPageAbstractFieldComponent } from '../../field-components/specific-field/abstract/themed-item-page-abstract-field.component'; +import { ThemedItemPageCcLicenseFieldComponent } from '../../field-components/specific-field/cc-license/themed-item-page-cc-license-field.component'; +import { ThemedItemPageDateFieldComponent } from '../../field-components/specific-field/date/themed-item-page-date-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../field-components/specific-field/generic/themed-generic-item-page-field.component'; +import { ThemedGeospatialItemPageFieldComponent } from '../../field-components/specific-field/geospatial/themed-geospatial-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../field-components/specific-field/title/themed-item-page-field.component'; -import { ItemPageUriFieldComponent } from '../../field-components/specific-field/uri/item-page-uri-field.component'; +import { ThemedGenericItemPageUriFieldComponent } from '../../field-components/specific-field/uri/themed-item-page-uri-field.component'; import { ThemedMetadataRepresentationListComponent } from '../../metadata-representation-list/themed-metadata-representation-list.component'; import { ItemComponent } from '../shared/item.component'; @@ -41,16 +41,16 @@ import { ItemComponent } from '../shared/item.component'; AsyncPipe, CollectionsComponent, DsoEditMenuComponent, - GenericItemPageFieldComponent, - GeospatialItemPageFieldComponent, - ItemPageAbstractFieldComponent, - ItemPageCcLicenseFieldComponent, - ItemPageDateFieldComponent, - ItemPageUriFieldComponent, MetadataFieldWrapperComponent, MiradorViewerComponent, RouterLink, ThemedFileSectionComponent, + ThemedGenericItemPageFieldComponent, + ThemedGenericItemPageUriFieldComponent, + ThemedGeospatialItemPageFieldComponent, + ThemedItemPageAbstractFieldComponent, + ThemedItemPageCcLicenseFieldComponent, + ThemedItemPageDateFieldComponent, ThemedItemPageTitleFieldComponent, ThemedMediaViewerComponent, ThemedMetadataRepresentationListComponent, diff --git a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts index 5e6df2bc21c..8f869561b1f 100644 --- a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts +++ b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component.ts @@ -6,7 +6,7 @@ import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; import { JournalIssueComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-issue/journal-issue.component'; -import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; @@ -25,10 +25,10 @@ import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/the imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts index 9425fb34bac..22a8d3b9ae4 100644 --- a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts +++ b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component.ts @@ -6,7 +6,7 @@ import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; import { JournalVolumeComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal-volume/journal-volume.component'; -import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; import { DsoEditMenuComponent } from '../../../../../../../app/shared/dso-page/dso-edit-menu/dso-edit-menu.component'; @@ -25,10 +25,10 @@ import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/the imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts index d43d601ca1d..79d8ea25d2d 100644 --- a/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts +++ b/src/themes/custom/app/entity-groups/journal-entities/item-pages/journal/journal.component.ts @@ -6,7 +6,7 @@ import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; import { JournalComponent as BaseComponent } from '../../../../../../../app/entity-groups/journal-entities/item-pages/journal/journal.component'; -import { GenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { TabbedRelatedEntitiesSearchComponent } from '../../../../../../../app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; @@ -26,11 +26,11 @@ import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/the imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/themes/custom/app/entity-groups/research-entities/item-pages/person/person.component.ts b/src/themes/custom/app/entity-groups/research-entities/item-pages/person/person.component.ts index b7e21671c36..8474e758a76 100644 --- a/src/themes/custom/app/entity-groups/research-entities/item-pages/person/person.component.ts +++ b/src/themes/custom/app/entity-groups/research-entities/item-pages/person/person.component.ts @@ -4,7 +4,6 @@ import { RouterLink } from '@angular/router'; import { Context } from '@dspace/core/shared/context.model'; import { ViewMode } from '@dspace/core/shared/view-mode.model'; import { TranslateModule } from '@ngx-translate/core'; -import { GenericItemPageFieldComponent } from 'src/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; import { ThemedItemPageTitleFieldComponent } from 'src/app/item-page/simple/field-components/specific-field/title/themed-item-page-field.component'; import { TabbedRelatedEntitiesSearchComponent } from 'src/app/item-page/simple/related-entities/tabbed-related-entities-search/tabbed-related-entities-search.component'; import { RelatedItemsComponent } from 'src/app/item-page/simple/related-items/related-items-component'; @@ -14,6 +13,7 @@ import { ThemedResultsBackButtonComponent } from 'src/app/shared/results-back-bu import { ThemedThumbnailComponent } from 'src/app/thumbnail/themed-thumbnail.component'; import { PersonComponent as BaseComponent } from '../../../../../../../app/entity-groups/research-entities/item-pages/person/person.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; @listableObjectComponent('Person', ViewMode.StandalonePage, Context.Any, 'custom') @@ -26,11 +26,11 @@ import { listableObjectComponent } from '../../../../../../../app/shared/object- imports: [ AsyncPipe, DsoEditMenuComponent, - GenericItemPageFieldComponent, MetadataFieldWrapperComponent, RelatedItemsComponent, RouterLink, TabbedRelatedEntitiesSearchComponent, + ThemedGenericItemPageFieldComponent, ThemedItemPageTitleFieldComponent, ThemedResultsBackButtonComponent, ThemedThumbnailComponent, diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.html b/src/themes/custom/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts new file mode 100644 index 00000000000..42411798f33 --- /dev/null +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component.ts @@ -0,0 +1,17 @@ +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; + +import { MetadataValuesComponent } from '../../../../../../../../app/item-page/field-components/metadata-values/metadata-values.component'; +import { ItemPageAbstractFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/abstract/item-page-abstract-field.component'; + +@Component({ + selector: 'ds-themed-item-page-abstract-field', + // templateUrl: './item-page-abstract-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/item-page-field.component.html', + imports: [ + AsyncPipe, + MetadataValuesComponent, + ], +}) +export class ItemPageAbstractFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.html b/src/themes/custom/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts new file mode 100644 index 00000000000..29fc571694e --- /dev/null +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/author/item-page-author-field.component.ts @@ -0,0 +1,17 @@ +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; + +import { MetadataValuesComponent } from '../../../../../../../../app/item-page/field-components/metadata-values/metadata-values.component'; +import { ItemPageAuthorFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/author/item-page-author-field.component'; + +@Component({ + selector: 'ds-themed-item-page-author-field', + // templateUrl: './item-page-author-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/item-page-field.component.html', + imports: [ + AsyncPipe, + MetadataValuesComponent, + ], +}) +export class ItemPageAuthorFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.html b/src/themes/custom/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.ts new file mode 100644 index 00000000000..2724eb03f20 --- /dev/null +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.ts @@ -0,0 +1,25 @@ +import { + AsyncPipe, + NgClass, + NgStyle, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ItemPageCcLicenseFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; + +@Component({ + selector: 'ds-themed-item-page-cc-license-field', + // templateUrl: './item-page-cc-license-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/cc-license/item-page-cc-license-field.component.html', + imports: [ + AsyncPipe, + MetadataFieldWrapperComponent, + NgClass, + NgStyle, + TranslateModule, + ], +}) +export class ItemPageCcLicenseFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.html b/src/themes/custom/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts new file mode 100644 index 00000000000..a503285d61d --- /dev/null +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/date/item-page-date-field.component.ts @@ -0,0 +1,17 @@ +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; + +import { MetadataValuesComponent } from '../../../../../../../../app/item-page/field-components/metadata-values/metadata-values.component'; +import { ItemPageDateFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/date/item-page-date-field.component'; + +@Component({ + selector: 'ds-themed-item-page-date-field', + // templateUrl: './item-page-date-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/item-page-field.component.html', + imports: [ + AsyncPipe, + MetadataValuesComponent, + ], +}) +export class ItemPageDateFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.html b/src/themes/custom/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts new file mode 100644 index 00000000000..87b2bbb9e27 --- /dev/null +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component.ts @@ -0,0 +1,17 @@ +import { AsyncPipe } from '@angular/common'; +import { Component } from '@angular/core'; + +import { MetadataValuesComponent } from '../../../../../../../../app/item-page/field-components/metadata-values/metadata-values.component'; +import { GenericItemPageFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/generic/generic-item-page-field.component'; + +@Component({ + selector: 'ds-themed-generic-item-page-field', + // templateUrl: './generic-item-page-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/item-page-field.component.html', + imports: [ + AsyncPipe, + MetadataValuesComponent, + ], +}) +export class GenericItemPageFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.html b/src/themes/custom/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.ts new file mode 100644 index 00000000000..9aea0f4d224 --- /dev/null +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.ts @@ -0,0 +1,19 @@ +import { Component } from '@angular/core'; +import { TranslatePipe } from '@ngx-translate/core'; + +import { GeospatialItemPageFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component'; +import { GeospatialMapComponent } from '../../../../../../../../app/shared/geospatial-map/geospatial-map.component'; +import { MetadataFieldWrapperComponent } from '../../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; + +@Component({ + selector: 'ds-themed-geospatial-item-page-field', + // templateUrl: './geospatial-item-page-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/geospatial/geospatial-item-page-field.component.html', + imports: [ + GeospatialMapComponent, + MetadataFieldWrapperComponent, + TranslatePipe, + ], +}) +export class GeospatialItemPageFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.html b/src/themes/custom/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/src/themes/custom/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts b/src/themes/custom/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts new file mode 100644 index 00000000000..e1f0f2575be --- /dev/null +++ b/src/themes/custom/app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.ts @@ -0,0 +1,15 @@ +import { Component } from '@angular/core'; + +import { MetadataUriValuesComponent } from '../../../../../../../../app/item-page/field-components/metadata-uri-values/metadata-uri-values.component'; +import { ItemPageUriFieldComponent as BaseComponent } from '../../../../../../../../app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component'; + +@Component({ + selector: 'ds-themed-item-page-uri-field', + // templateUrl: './item-page-uri-field.component.html', + templateUrl: '../../../../../../../../app/item-page/simple/field-components/specific-field/uri/item-page-uri-field.component.html', + imports: [ + MetadataUriValuesComponent, + ], +}) +export class ItemPageUriFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts b/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts index 97d7d18e463..edea18c3aee 100644 --- a/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts +++ b/src/themes/custom/app/item-page/simple/item-types/publication/publication.component.ts @@ -12,12 +12,12 @@ import { CollectionsComponent } from '../../../../../../../app/item-page/field-c 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 { 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 { ThemedItemPageAbstractFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/abstract/themed-item-page-abstract-field.component'; +import { ThemedItemPageDateFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/date/themed-item-page-date-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; +import { ThemedGeospatialItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/geospatial/themed-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 { ThemedGenericItemPageUriFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/uri/themed-item-page-uri-field.component'; import { PublicationComponent as BaseComponent } from '../../../../../../../app/item-page/simple/item-types/publication/publication.component'; import { ThemedMetadataRepresentationListComponent } from '../../../../../../../app/item-page/simple/metadata-representation-list/themed-metadata-representation-list.component'; import { RelatedItemsComponent } from '../../../../../../../app/item-page/simple/related-items/related-items-component'; @@ -39,16 +39,16 @@ import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/the AsyncPipe, CollectionsComponent, DsoEditMenuComponent, - GenericItemPageFieldComponent, - GeospatialItemPageFieldComponent, - ItemPageAbstractFieldComponent, - ItemPageDateFieldComponent, - ItemPageUriFieldComponent, MetadataFieldWrapperComponent, MiradorViewerComponent, RelatedItemsComponent, RouterLink, ThemedFileSectionComponent, + ThemedGenericItemPageFieldComponent, + ThemedGenericItemPageUriFieldComponent, + ThemedGeospatialItemPageFieldComponent, + ThemedItemPageAbstractFieldComponent, + ThemedItemPageDateFieldComponent, ThemedItemPageTitleFieldComponent, ThemedMediaViewerComponent, ThemedMetadataRepresentationListComponent, diff --git a/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts b/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts index ff4f8d530a9..f44cd5a575a 100644 --- a/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts +++ b/src/themes/custom/app/item-page/simple/item-types/untyped-item/untyped-item.component.ts @@ -13,13 +13,13 @@ import { CollectionsComponent } from '../../../../../../../app/item-page/field-c 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 { ThemedItemPageAbstractFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/abstract/themed-item-page-abstract-field.component'; +import { ThemedItemPageCcLicenseFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/cc-license/themed-item-page-cc-license-field.component'; +import { ThemedItemPageDateFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/date/themed-item-page-date-field.component'; +import { ThemedGenericItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/generic/themed-generic-item-page-field.component'; +import { ThemedGeospatialItemPageFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/geospatial/themed-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 { ThemedGenericItemPageUriFieldComponent } from '../../../../../../../app/item-page/simple/field-components/specific-field/uri/themed-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'; @@ -42,16 +42,16 @@ import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/the AsyncPipe, CollectionsComponent, DsoEditMenuComponent, - GenericItemPageFieldComponent, - GeospatialItemPageFieldComponent, - ItemPageAbstractFieldComponent, - ItemPageCcLicenseFieldComponent, - ItemPageDateFieldComponent, - ItemPageUriFieldComponent, MetadataFieldWrapperComponent, MiradorViewerComponent, RouterLink, ThemedFileSectionComponent, + ThemedGenericItemPageFieldComponent, + ThemedGenericItemPageUriFieldComponent, + ThemedGeospatialItemPageFieldComponent, + ThemedItemPageAbstractFieldComponent, + ThemedItemPageCcLicenseFieldComponent, + ThemedItemPageDateFieldComponent, ThemedItemPageTitleFieldComponent, ThemedMediaViewerComponent, ThemedMetadataRepresentationListComponent,