85042: Make ds-item-list-preview themeable

This commit is contained in:
Yura Bondarenko
2021-11-29 12:17:38 +01:00
parent e6040303df
commit 714624147c
9 changed files with 54 additions and 14 deletions

View File

@@ -1,10 +1,10 @@
<ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem"> <ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem">
<div class="alert alert-success w-100" role="alert"> <div class="alert alert-success w-100" role="alert">
<h4 class="alert-heading">Approved</h4> <h4 class="alert-heading">Approved</h4>
<ds-item-list-preview *ngIf="workflowitem" <ds-themed-item-list-preview *ngIf="workflowitem"
[item]="(workflowitem?.item | async)?.payload" [item]="(workflowitem?.item | async)?.payload"
[object]="object" [object]="object"
[status]="status" [status]="status"
[showSubmitter]="showSubmitter"></ds-item-list-preview> [showSubmitter]="showSubmitter"></ds-themed-item-list-preview>
</div> </div>
</ng-container> </ng-container>

View File

@@ -1,10 +1,10 @@
<ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem"> <ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem">
<div class="alert alert-secondary w-100" role="alert"> <div class="alert alert-secondary w-100" role="alert">
<h4 class="alert-heading">Declined</h4> <h4 class="alert-heading">Declined</h4>
<ds-item-list-preview *ngIf="workflowitem" <ds-themed-item-list-preview *ngIf="workflowitem"
[item]="(workflowitem?.item | async)?.payload" [item]="(workflowitem?.item | async)?.payload"
[object]="object" [object]="object"
[status]="status" [status]="status"
[showSubmitter]="showSubmitter"></ds-item-list-preview> [showSubmitter]="showSubmitter"></ds-themed-item-list-preview>
</div> </div>
</ng-container> </ng-container>

View File

@@ -1,9 +1,9 @@
<ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem"> <ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem">
<ds-item-list-preview *ngIf="workflowitem" <ds-themed-item-list-preview *ngIf="workflowitem"
[item]="(workflowitem?.item | async)?.payload" [item]="(workflowitem?.item | async)?.payload"
[object]="object" [object]="object"
[showSubmitter]="showSubmitter" [showSubmitter]="showSubmitter"
[status]="status"></ds-item-list-preview> [status]="status"></ds-themed-item-list-preview>
<ds-claimed-task-actions *ngIf="workflowitem" [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-claimed-task-actions> <ds-claimed-task-actions *ngIf="workflowitem" [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-claimed-task-actions>
</ng-container> </ng-container>

View File

@@ -0,0 +1,38 @@
import { Component, Input } from '@angular/core';
import { ThemedComponent } from '../../../theme-support/themed.component';
import { ItemListPreviewComponent } from './item-list-preview.component';
import { Item } from '../../../../core/shared/item.model';
import { SearchResult } from '../../../search/search-result.model';
import { MyDspaceItemStatusType } from '../../../object-collection/shared/mydspace-item-status/my-dspace-item-status-type';
/**
* Themed wrapper for ItemListPreviewComponent
*/
@Component({
selector: 'ds-themed-item-list-preview',
styleUrls: [],
templateUrl: '../../../theme-support/themed.component.html',
})
export class ThemedItemListPreviewComponent extends ThemedComponent<ItemListPreviewComponent> {
protected inAndOutputNames: (keyof ItemListPreviewComponent & keyof this)[] = ['item', 'object', 'status', 'showSubmitter'];
@Input() item: Item;
@Input() object: SearchResult<any>;
@Input() status: MyDspaceItemStatusType;
@Input() showSubmitter = false;
protected getComponentName(): string {
return 'ItemListPreviewComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../../themes/${themeName}/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import('./item-list-preview.component');
}
}

View File

@@ -1,5 +1,5 @@
<ds-item-list-preview [item]="dso" <ds-themed-item-list-preview [item]="dso"
[object]="object" [object]="object"
[status]="status"></ds-item-list-preview> [status]="status"></ds-themed-item-list-preview>
<ds-item-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-item-actions> <ds-item-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-item-actions>

View File

@@ -1,8 +1,8 @@
<ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem"> <ng-container *ngVar="(workflowitemRD$ | async)?.payload as workflowitem">
<ds-item-list-preview *ngIf="workflowitem" <ds-themed-item-list-preview *ngIf="workflowitem"
[item]="(workflowitem?.item | async)?.payload" [item]="(workflowitem?.item | async)?.payload"
[object]="object" [object]="object"
[showSubmitter]="showSubmitter" [showSubmitter]="showSubmitter"
[status]="status"></ds-item-list-preview> [status]="status"></ds-themed-item-list-preview>
<ds-pool-task-actions id="actions" *ngIf="workflowitem" [object]="dso" (processCompleted)="this.reloadedObject.emit($event.reloadedObject)"></ds-pool-task-actions> <ds-pool-task-actions id="actions" *ngIf="workflowitem" [object]="dso" (processCompleted)="this.reloadedObject.emit($event.reloadedObject)"></ds-pool-task-actions>
</ng-container> </ng-container>

View File

@@ -1,8 +1,8 @@
<ng-container *ngIf="item$ | async"> <ng-container *ngIf="item$ | async">
<ds-item-list-preview <ds-themed-item-list-preview
[item]="item$ | async" [item]="item$ | async"
[object]="object" [object]="object"
[status]="status"></ds-item-list-preview> [status]="status"></ds-themed-item-list-preview>
<ds-workflowitem-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-workflowitem-actions> <ds-workflowitem-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-workflowitem-actions>
</ng-container> </ng-container>

View File

@@ -1,8 +1,8 @@
<ng-container *ngIf="item$ | async"> <ng-container *ngIf="item$ | async">
<ds-item-list-preview <ds-themed-item-list-preview
[item]="item$ | async" [item]="item$ | async"
[object]="object" [object]="object"
[status]="status"></ds-item-list-preview> [status]="status"></ds-themed-item-list-preview>
<ds-workspaceitem-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-workspaceitem-actions> <ds-workspaceitem-actions [object]="dso" (processCompleted)="reloadedObject.emit($event.reloadedObject)"></ds-workspaceitem-actions>
</ng-container> </ng-container>

View File

@@ -234,6 +234,7 @@ import { TextMenuItemComponent } from './menu/menu-item/text-menu-item.component
import { ThemedConfigurationSearchPageComponent } from '../search-page/themed-configuration-search-page.component'; import { ThemedConfigurationSearchPageComponent } from '../search-page/themed-configuration-search-page.component';
import { SearchNavbarComponent } from '../search-navbar/search-navbar.component'; import { SearchNavbarComponent } from '../search-navbar/search-navbar.component';
import { ThemedComcolPageBrowseByComponent } from './comcol-page-browse-by/themed-comcol-page-browse-by.component'; import { ThemedComcolPageBrowseByComponent } from './comcol-page-browse-by/themed-comcol-page-browse-by.component';
import { ThemedItemListPreviewComponent } from './object-list/my-dspace-result-list-element/item-list-preview/themed-item-list-preview.component';
/** /**
* Declaration needed to make sure all decorator functions are called in time * Declaration needed to make sure all decorator functions are called in time
@@ -343,6 +344,7 @@ const COMPONENTS = [
UploaderComponent, UploaderComponent,
FileDropzoneNoUploaderComponent, FileDropzoneNoUploaderComponent,
ItemListPreviewComponent, ItemListPreviewComponent,
ThemedItemListPreviewComponent,
MyDSpaceItemStatusComponent, MyDSpaceItemStatusComponent,
ItemSubmitterComponent, ItemSubmitterComponent,
ItemDetailPreviewComponent, ItemDetailPreviewComponent,