112807: Theme ItemDetailPreviewFieldComponent

This commit is contained in:
Nona Luypaert
2024-03-11 11:42:51 +01:00
parent 404ccd9b0e
commit 6764006253
6 changed files with 77 additions and 8 deletions

View File

@@ -26,6 +26,7 @@ import { ThemedItemListPreviewComponent } from '../shared/object-list/my-dspace-
import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module'; import { JournalEntitiesModule } from '../entity-groups/journal-entities/journal-entities.module';
import { MyDSpaceActionsModule } from '../shared/mydspace-actions/mydspace-actions.module'; import { MyDSpaceActionsModule } from '../shared/mydspace-actions/mydspace-actions.module';
import { ClaimedDeclinedTaskSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.component'; import { ClaimedDeclinedTaskSearchResultListElementComponent } from '../shared/object-list/my-dspace-result-list-element/claimed-search-result/claimed-declined-task-search-result/claimed-declined-task-search-result-list-element.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';
const ENTRY_COMPONENTS = [ const ENTRY_COMPONENTS = [
WorkspaceItemSearchResultListElementComponent, WorkspaceItemSearchResultListElementComponent,
@@ -49,6 +50,7 @@ const DECLARATIONS = [
ItemCollectionComponent, ItemCollectionComponent,
ItemDetailPreviewComponent, ItemDetailPreviewComponent,
ItemDetailPreviewFieldComponent, ItemDetailPreviewFieldComponent,
ThemedItemDetailPreviewFieldComponent,
ItemListPreviewComponent, ItemListPreviewComponent,
ThemedItemListPreviewComponent, ThemedItemListPreviewComponent,
]; ];

View File

@@ -0,0 +1,49 @@
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 ItemDetailPreviewFieldComponent
*/
@Component({
selector: 'ds-themed-item-detail-preview-field',
styleUrls: [],
templateUrl: '../../../../theme-support/themed.component.html'
})
export class ThemedItemDetailPreviewFieldComponent extends ThemedComponent<ItemDetailPreviewFieldComponent> {
protected inAndOutputNames: (keyof ItemDetailPreviewFieldComponent & keyof this)[] = [
'item',
'object',
'label',
'metadata',
'placeholder',
'separator',
];
@Input() item: Item;
@Input() object: SearchResult<any>;
@Input() label: string;
@Input() metadata: string | string[];
@Input() placeholder: string;
@Input() separator: string;
protected getComponentName(): string {
return 'ItemDetailPreviewFieldComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
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<any> {
return import('./item-detail-preview-field.component');
}
}

View File

@@ -22,32 +22,32 @@
</ng-container> </ng-container>
</ds-metadata-field-wrapper> </ds-metadata-field-wrapper>
</ng-container> </ng-container>
<ds-item-detail-preview-field [item]="item" <ds-themed-item-detail-preview-field [item]="item"
[object]="object" [object]="object"
[label]="('item.page.date' | translate)" [label]="('item.page.date' | translate)"
[metadata]="'dc.date.issued'" [metadata]="'dc.date.issued'"
[separator]="separator" [separator]="separator"
[placeholder]="('mydspace.results.no-date' | translate)"></ds-item-detail-preview-field> [placeholder]="('mydspace.results.no-date' | translate)"></ds-themed-item-detail-preview-field>
<ds-item-detail-preview-field [item]="item" <ds-themed-item-detail-preview-field [item]="item"
[object]="object" [object]="object"
[label]="('item.page.author' | translate)" [label]="('item.page.author' | translate)"
[metadata]="['dc.contributor', 'dc.creator', 'dc.contributor.*']" [metadata]="['dc.contributor', 'dc.creator', 'dc.contributor.*']"
[separator]="separator" [separator]="separator"
[placeholder]="('mydspace.results.no-authors' | translate)"></ds-item-detail-preview-field> [placeholder]="('mydspace.results.no-authors' | translate)"></ds-themed-item-detail-preview-field>
</div> </div>
<div class="col-xs-12 col-md-6"> <div class="col-xs-12 col-md-6">
<ds-item-detail-preview-field [item]="item" <ds-themed-item-detail-preview-field [item]="item"
[object]="object" [object]="object"
[label]="('item.page.abstract' | translate)" [label]="('item.page.abstract' | translate)"
[metadata]="'dc.description.abstract'" [metadata]="'dc.description.abstract'"
[separator]="separator" [separator]="separator"
[placeholder]="('mydspace.results.no-abstract' | translate)"></ds-item-detail-preview-field> [placeholder]="('mydspace.results.no-abstract' | translate)"></ds-themed-item-detail-preview-field>
<ds-item-detail-preview-field [item]="item" <ds-themed-item-detail-preview-field [item]="item"
[object]="object" [object]="object"
[label]="('item.page.uri' | translate)" [label]="('item.page.uri' | translate)"
[metadata]="'dc.identifier.uri'" [metadata]="'dc.identifier.uri'"
[separator]="separator" [separator]="separator"
[placeholder]="('mydspace.results.no-uri' | translate)"></ds-item-detail-preview-field> [placeholder]="('mydspace.results.no-uri' | translate)"></ds-themed-item-detail-preview-field>
<div> <div>
<ng-content></ng-content> <ng-content></ng-content>
</div> </div>

View File

@@ -0,0 +1,14 @@
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';
/**
* This component show values for the given item metadata
*/
@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 {
}

View File

@@ -156,6 +156,9 @@ import { ItemStatusComponent } from './app/item-page/edit-item-page/item-status/
import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component'; import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component';
import { FormModule } from '../../app/shared/form/form.module'; import { FormModule } from '../../app/shared/form/form.module';
import { RequestCopyModule } from 'src/app/request-copy/request-copy.module'; import { RequestCopyModule } from 'src/app/request-copy/request-copy.module';
import {
ItemDetailPreviewFieldComponent
} from './app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component';
const DECLARATIONS = [ const DECLARATIONS = [
FileSectionComponent, FileSectionComponent,
@@ -239,6 +242,7 @@ const DECLARATIONS = [
SubmissionSectionUploadFileComponent, SubmissionSectionUploadFileComponent,
ItemStatusComponent, ItemStatusComponent,
EditBitstreamPageComponent, EditBitstreamPageComponent,
ItemDetailPreviewFieldComponent,
]; ];
@NgModule({ @NgModule({