Merge branch 'w2p-112807_theme-ItemDetailPreviewFieldComponent' into minor-themed-component-fixes_contribute-main

# Conflicts:
#	src/app/my-dspace-page/my-dspace-search.module.ts
#	src/themes/custom/lazy-theme.module.ts
This commit is contained in:
Alexandre Vryghem
2024-03-16 16:08:09 +01:00
6 changed files with 75 additions and 8 deletions

View File

@@ -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 { 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 { 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 { 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 { 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 { 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'; 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, ItemCollectionComponent,
ItemDetailPreviewComponent, ItemDetailPreviewComponent,
ItemDetailPreviewFieldComponent, ItemDetailPreviewFieldComponent,
ThemedItemDetailPreviewFieldComponent,
ItemListPreviewComponent, ItemListPreviewComponent,
ThemedItemListPreviewComponent, ThemedItemListPreviewComponent,
]; ];

View File

@@ -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<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,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 {
}

View File

@@ -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 { 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 { 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 { 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 { 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 { ObjectListComponent } from './app/shared/object-list/object-list.component';
import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component'; import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component';
@@ -229,6 +230,7 @@ const DECLARATIONS = [
SearchComponent, SearchComponent,
ItemListPreviewComponent, ItemListPreviewComponent,
MetadataImportPageComponent, MetadataImportPageComponent,
ItemDetailPreviewFieldComponent,
]; ];
@NgModule({ @NgModule({