diff --git a/src/app/my-dspace-page/my-dspace-search.module.ts b/src/app/my-dspace-page/my-dspace-search.module.ts index fbb23291f0..0d1599cf73 100644 --- a/src/app/my-dspace-page/my-dspace-search.module.ts +++ b/src/app/my-dspace-page/my-dspace-search.module.ts @@ -9,6 +9,7 @@ import { ItemSubmitterComponent } from '../shared/object-collection/shared/mydsp import { ClaimedTaskSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/claimed-task-search-result/claimed-task-search-result-detail-element.component'; import { ItemDetailPreviewComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component'; import { ItemDetailPreviewFieldComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component'; +import { ThemedItemDetailPreviewFieldComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/themed-item-detail-preview-field.component'; import { ItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/item-search-result/item-search-result-detail-element.component'; import { PoolSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/pool-search-result/pool-search-result-detail-element.component'; import { WorkflowItemSearchResultDetailElementComponent } from '../shared/object-detail/my-dspace-result-detail-element/workflow-item-search-result/workflow-item-search-result-detail-element.component'; @@ -48,6 +49,7 @@ const DECLARATIONS = [ ItemCollectionComponent, ItemDetailPreviewComponent, ItemDetailPreviewFieldComponent, + ThemedItemDetailPreviewFieldComponent, ItemListPreviewComponent, ThemedItemListPreviewComponent, ]; diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/themed-item-detail-preview-field.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/themed-item-detail-preview-field.component.ts new file mode 100644 index 0000000000..1522fb1b2b --- /dev/null +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/themed-item-detail-preview-field.component.ts @@ -0,0 +1,52 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { Item } from '../../../../../core/shared/item.model'; +import { SearchResult } from '../../../../search/models/search-result.model'; +import { ThemedComponent } from '../../../../theme-support/themed.component'; +import { ItemDetailPreviewFieldComponent } from './item-detail-preview-field.component'; + +/** + * Themed wrapper for {@link ItemDetailPreviewFieldComponent} + */ +@Component({ + selector: 'ds-themed-item-detail-preview-field', + templateUrl: '../../../../theme-support/themed.component.html', +}) +export class ThemedItemDetailPreviewFieldComponent extends ThemedComponent { + + protected inAndOutputNames: (keyof ItemDetailPreviewFieldComponent & keyof this)[] = [ + 'item', + 'object', + 'label', + 'metadata', + 'placeholder', + 'separator', + ]; + + @Input() item: Item; + + @Input() object: SearchResult; + + @Input() label: string; + + @Input() metadata: string | string[]; + + @Input() placeholder: string; + + @Input() separator: string; + + protected getComponentName(): string { + return 'ItemDetailPreviewFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../../../themes/${themeName}/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./item-detail-preview-field.component'); + } +} diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.html b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.html index bd00c9411f..39b46f2ec3 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.html +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.html @@ -22,32 +22,32 @@ - - + + [placeholder]="('mydspace.results.no-authors' | translate)">
- - + + [placeholder]="('mydspace.results.no-uri' | translate)">
diff --git a/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html b/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts b/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts new file mode 100644 index 0000000000..4abb816fb8 --- /dev/null +++ b/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts @@ -0,0 +1,11 @@ +import { Component } from '@angular/core'; + +import { ItemDetailPreviewFieldComponent as BaseComponent } from '../../../../../../../../app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component'; + +@Component({ + selector: 'ds-item-detail-preview-field', + // templateUrl: './item-detail-preview-field.component.html', + templateUrl: '../../../../../../../../app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html', +}) +export class ItemDetailPreviewFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index 3dc5f84283..452c9bdde2 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -120,6 +120,7 @@ import { BadgesComponent } from './app/shared/object-collection/shared/badges/ba import { MyDSpaceStatusBadgeComponent } from './app/shared/object-collection/shared/badges/my-dspace-status-badge/my-dspace-status-badge.component'; import { StatusBadgeComponent } from './app/shared/object-collection/shared/badges/status-badge/status-badge.component'; import { TypeBadgeComponent } from './app/shared/object-collection/shared/badges/type-badge/type-badge.component'; +import { ItemDetailPreviewFieldComponent } from './app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component'; import { ItemListPreviewComponent } from './app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component'; import { ObjectListComponent } from './app/shared/object-list/object-list.component'; import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component'; @@ -229,6 +230,7 @@ const DECLARATIONS = [ SearchComponent, ItemListPreviewComponent, MetadataImportPageComponent, + ItemDetailPreviewFieldComponent, ]; @NgModule({