97729: Themed ItemAlertsComponent

This commit is contained in:
Alexandre Vryghem
2022-12-21 13:35:54 +01:00
parent ca864379c8
commit 2451bbbd34
8 changed files with 48 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
<div class="container" *ngVar="(itemRD$ | async) as itemRD"> <div class="container" *ngVar="(itemRD$ | async) as itemRD">
<div class="item-page" *ngIf="itemRD?.hasSucceeded" @fadeInOut> <div class="item-page" *ngIf="itemRD?.hasSucceeded" @fadeInOut>
<div *ngIf="itemRD?.payload as item"> <div *ngIf="itemRD?.payload as item">
<ds-item-alerts [item]="item"></ds-item-alerts> <ds-themed-item-alerts [item]="item"></ds-themed-item-alerts>
<ds-item-versions-notice [item]="item"></ds-item-versions-notice> <ds-item-versions-notice [item]="item"></ds-item-versions-notice>
<ds-view-tracker [object]="item"></ds-view-tracker> <ds-view-tracker [object]="item"></ds-view-tracker>
<div *ngIf="!item.isWithdrawn || (isAdmin$|async)" class="full-item-info"> <div *ngIf="!item.isWithdrawn || (isAdmin$|async)" class="full-item-info">

View File

@@ -1,7 +1,7 @@
<div class="container" *ngVar="(itemRD$ | async) as itemRD"> <div class="container" *ngVar="(itemRD$ | async) as itemRD">
<div class="item-page" *ngIf="itemRD?.hasSucceeded" @fadeInOut> <div class="item-page" *ngIf="itemRD?.hasSucceeded" @fadeInOut>
<div *ngIf="itemRD?.payload as item"> <div *ngIf="itemRD?.payload as item">
<ds-item-alerts [item]="item"></ds-item-alerts> <ds-themed-item-alerts [item]="item"></ds-themed-item-alerts>
<ds-item-versions-notice [item]="item"></ds-item-versions-notice> <ds-item-versions-notice [item]="item"></ds-item-versions-notice>
<ds-view-tracker [object]="item"></ds-view-tracker> <ds-view-tracker [object]="item"></ds-view-tracker>
<ds-listable-object-component-loader *ngIf="!item.isWithdrawn || (isAdmin$|async)" [object]="item" [viewMode]="viewMode"></ds-listable-object-component-loader> <ds-listable-object-component-loader *ngIf="!item.isWithdrawn || (isAdmin$|async)" [object]="item" [viewMode]="viewMode"></ds-listable-object-component-loader>

View File

@@ -0,0 +1,30 @@
import { Component, Input } from '@angular/core';
import { Item } from '../../../core/shared/item.model';
import { ItemAlertsComponent } from './item-alerts.component';
import { ThemedComponent } from '../../theme-support/themed.component';
/**
* Themed wrapper for {@link ItemAlertsComponent}
*/
@Component({
selector: 'ds-themed-item-alerts',
styleUrls: [],
templateUrl: '../../theme-support/themed.component.html',
})
export class ThemedItemAlertsComponent extends ThemedComponent<ItemAlertsComponent> {
protected inAndOutputNames: (keyof ItemAlertsComponent & keyof this)[] = ['item'];
@Input() item: Item;
protected getComponentName(): string {
return 'ItemAlertsComponent';
}
protected importThemedComponent(themeName: string): Promise<any> {
return import(`../../../../themes/${themeName}/app/shared/item/item-alerts/item-alerts.component`);
}
protected importUnthemedComponent(): Promise<any> {
return import('./item-alerts.component');
}
}

View File

@@ -324,6 +324,7 @@ import {
} from '../item-page/simple/field-components/specific-field/title/item-page-title-field.component'; } from '../item-page/simple/field-components/specific-field/title/item-page-title-field.component';
import { MarkdownPipe } from './utils/markdown.pipe'; import { MarkdownPipe } from './utils/markdown.pipe';
import { GoogleRecaptchaModule } from '../core/google-recaptcha/google-recaptcha.module'; import { GoogleRecaptchaModule } from '../core/google-recaptcha/google-recaptcha.module';
import { ThemedItemAlertsComponent } from './item/item-alerts/themed-item-alerts.component';
const MODULES = [ const MODULES = [
CommonModule, CommonModule,
@@ -587,6 +588,7 @@ const SHARED_ITEM_PAGE_COMPONENTS = [
DsoPageVersionButtonComponent, DsoPageVersionButtonComponent,
PersonPageClaimButtonComponent, PersonPageClaimButtonComponent,
ItemAlertsComponent, ItemAlertsComponent,
ThemedItemAlertsComponent,
GenericItemPageFieldComponent, GenericItemPageFieldComponent,
MetadataRepresentationListComponent, MetadataRepresentationListComponent,
RelatedItemsComponent, RelatedItemsComponent,

View File

@@ -0,0 +1,12 @@
import { Component } from '@angular/core';
import { ItemAlertsComponent as BaseComponent } from '../../../../../../app/shared/item/item-alerts/item-alerts.component';
@Component({
selector: 'ds-item-alerts',
// templateUrl: './item-alerts.component.html',
templateUrl: '../../../../../../app/shared/item/item-alerts/item-alerts.component.html',
// styleUrls: ['./item-alerts.component.scss'],
styleUrls: ['../../../../../../app/shared/item/item-alerts/item-alerts.component.scss'],
})
export class ItemAlertsComponent extends BaseComponent {
}

View File

@@ -114,6 +114,7 @@ import { ObjectListComponent } from './app/shared/object-list/object-list.compon
import { BrowseByMetadataPageComponent } from './app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component'; import { BrowseByMetadataPageComponent } from './app/browse-by/browse-by-metadata-page/browse-by-metadata-page.component';
import { BrowseByDatePageComponent } from './app/browse-by/browse-by-date-page/browse-by-date-page.component'; import { BrowseByDatePageComponent } from './app/browse-by/browse-by-date-page/browse-by-date-page.component';
import { BrowseByTitlePageComponent } from './app/browse-by/browse-by-title-page/browse-by-title-page.component'; import { BrowseByTitlePageComponent } from './app/browse-by/browse-by-title-page/browse-by-title-page.component';
import { ItemAlertsComponent } from './app/shared/item/item-alerts/item-alerts.component';
const DECLARATIONS = [ const DECLARATIONS = [
FileSectionComponent, FileSectionComponent,
@@ -168,8 +169,7 @@ const DECLARATIONS = [
BrowseByMetadataPageComponent, BrowseByMetadataPageComponent,
BrowseByDatePageComponent, BrowseByDatePageComponent,
BrowseByTitlePageComponent, BrowseByTitlePageComponent,
ItemAlertsComponent,
]; ];
@NgModule({ @NgModule({