From f5f00ca24a36cfba87c8a66ee152be2f9ecefb48 Mon Sep 17 00:00:00 2001 From: Alexandre Vryghem Date: Sun, 14 Apr 2024 13:52:33 +0200 Subject: [PATCH] 114077: Made ProfilePageMetadataFormComponent themeable --- ...ed-profile-page-metadata-form.component.ts | 33 +++++++++++++++++++ .../profile-page/profile-page.component.html | 2 +- src/app/profile-page/profile-page.module.ts | 3 ++ .../profile-page-metadata-form.component.html | 0 .../profile-page-metadata-form.component.ts | 10 ++++++ src/themes/custom/lazy-theme.module.ts | 2 ++ 6 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 src/app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component.ts create mode 100644 src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html create mode 100644 src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts diff --git a/src/app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component.ts b/src/app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component.ts new file mode 100644 index 0000000000..7af664dc5c --- /dev/null +++ b/src/app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component.ts @@ -0,0 +1,33 @@ +import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { Component, Input } from '@angular/core'; +import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form.component'; +import { EPerson } from '../../core/eperson/models/eperson.model'; + +/** + * Themed wrapper for {@link ProfilePageMetadataFormComponent} + */ +@Component({ + selector: 'ds-themed-profile-page-metadata-form', + templateUrl: '../../shared/theme-support/themed.component.html', +}) +export class ThemedProfilePageMetadataFormComponent extends ThemedComponent { + + @Input() user: EPerson; + + protected inAndOutputNames: (keyof ProfilePageMetadataFormComponent & keyof this)[] = [ + 'user', + ]; + + protected getComponentName(): string { + return 'ProfilePageMetadataFormComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../themes/${themeName}/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./profile-page-metadata-form.component'); + } + +} diff --git a/src/app/profile-page/profile-page.component.html b/src/app/profile-page/profile-page.component.html index 44783da84e..34cc49417d 100644 --- a/src/app/profile-page/profile-page.component.html +++ b/src/app/profile-page/profile-page.component.html @@ -14,7 +14,7 @@
{{'profile.card.identify' | translate}}
- +
diff --git a/src/app/profile-page/profile-page.module.ts b/src/app/profile-page/profile-page.module.ts index 0e2902de33..34afd4c51b 100644 --- a/src/app/profile-page/profile-page.module.ts +++ b/src/app/profile-page/profile-page.module.ts @@ -12,6 +12,7 @@ import { ThemedProfilePageComponent } from './themed-profile-page.component'; import { FormModule } from '../shared/form/form.module'; import { UiSwitchModule } from 'ngx-ui-switch'; import { ProfileClaimItemModalComponent } from './profile-claim-item-modal/profile-claim-item-modal.component'; +import { ThemedProfilePageMetadataFormComponent } from './profile-page-metadata-form/themed-profile-page-metadata-form.component'; @NgModule({ @@ -26,6 +27,7 @@ import { ProfileClaimItemModalComponent } from './profile-claim-item-modal/profi ProfilePageComponent, ThemedProfilePageComponent, ProfilePageMetadataFormComponent, + ThemedProfilePageMetadataFormComponent, ProfilePageSecurityFormComponent, ProfilePageResearcherFormComponent ], @@ -34,6 +36,7 @@ import { ProfileClaimItemModalComponent } from './profile-claim-item-modal/profi ThemedProfilePageComponent, ProfileClaimItemModalComponent, ProfilePageMetadataFormComponent, + ThemedProfilePageMetadataFormComponent, ProfilePageSecurityFormComponent, ProfilePageResearcherFormComponent ] diff --git a/src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html b/src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts b/src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts new file mode 100644 index 0000000000..0901a8f947 --- /dev/null +++ b/src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; +import { ProfilePageMetadataFormComponent as BaseComponent } from '../../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component'; + +@Component({ + selector: 'ds-profile-page-metadata-form', + templateUrl: '../../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html' + // templateUrl: './profile-page-metadata-form.component.html' +}) +export class ProfilePageMetadataFormComponent extends BaseComponent { +} diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index edb3f5478c..53f62e8f00 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -156,6 +156,7 @@ 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 { FormModule } from '../../app/shared/form/form.module'; import { RequestCopyModule } from 'src/app/request-copy/request-copy.module'; +import { ProfilePageMetadataFormComponent } from './app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component'; const DECLARATIONS = [ FileSectionComponent, @@ -239,6 +240,7 @@ const DECLARATIONS = [ SubmissionSectionUploadFileComponent, ItemStatusComponent, EditBitstreamPageComponent, + ProfilePageMetadataFormComponent, ]; @NgModule({