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..6f43e40cab --- /dev/null +++ b/src/app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component.ts @@ -0,0 +1,38 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { EPerson } from '../../core/eperson/models/eperson.model'; +import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form.component'; + +/** + * Themed wrapper for {@link ProfilePageMetadataFormComponent} + */ +@Component({ + selector: 'ds-themed-profile-page-metadata-form', + templateUrl: '../../shared/theme-support/themed.component.html', + standalone: true, +}) +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 b5703c47a3..df25362c52 100644 --- a/src/app/profile-page/profile-page.component.html +++ b/src/app/profile-page/profile-page.component.html @@ -15,7 +15,7 @@
{{'profile.card.identify' | translate}}
- +
diff --git a/src/app/profile-page/profile-page.component.spec.ts b/src/app/profile-page/profile-page.component.spec.ts index 9f7f1f1d16..d560c8abff 100644 --- a/src/app/profile-page/profile-page.component.spec.ts +++ b/src/app/profile-page/profile-page.component.spec.ts @@ -41,7 +41,7 @@ import { import { createPaginatedList } from '../shared/testing/utils.test'; import { VarDirective } from '../shared/utils/var.directive'; import { ProfilePageComponent } from './profile-page.component'; -import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form/profile-page-metadata-form.component'; +import { ThemedProfilePageMetadataFormComponent } from './profile-page-metadata-form/themed-profile-page-metadata-form.component'; import { ProfilePageResearcherFormComponent } from './profile-page-researcher-form/profile-page-researcher-form.component'; import { ProfilePageSecurityFormComponent } from './profile-page-security-form/profile-page-security-form.component'; @@ -129,7 +129,7 @@ describe('ProfilePageComponent', () => { .overrideComponent(ProfilePageComponent, { remove: { imports: [ - ProfilePageMetadataFormComponent, + ThemedProfilePageMetadataFormComponent, ProfilePageSecurityFormComponent, ProfilePageResearcherFormComponent, SuggestionsNotificationComponent, diff --git a/src/app/profile-page/profile-page.component.ts b/src/app/profile-page/profile-page.component.ts index e62faacc97..078cc9c0c8 100644 --- a/src/app/profile-page/profile-page.component.ts +++ b/src/app/profile-page/profile-page.component.ts @@ -48,6 +48,7 @@ import { NotificationsService } from '../shared/notifications/notifications.serv import { followLink } from '../shared/utils/follow-link-config.model'; import { VarDirective } from '../shared/utils/var.directive'; import { ProfilePageMetadataFormComponent } from './profile-page-metadata-form/profile-page-metadata-form.component'; +import { ThemedProfilePageMetadataFormComponent } from './profile-page-metadata-form/themed-profile-page-metadata-form.component'; import { ProfilePageResearcherFormComponent } from './profile-page-researcher-form/profile-page-researcher-form.component'; import { ProfilePageSecurityFormComponent } from './profile-page-security-form/profile-page-security-form.component'; @@ -56,7 +57,7 @@ import { ProfilePageSecurityFormComponent } from './profile-page-security-form/p styleUrls: ['./profile-page.component.scss'], templateUrl: './profile-page.component.html', imports: [ - ProfilePageMetadataFormComponent, + ThemedProfilePageMetadataFormComponent, ProfilePageSecurityFormComponent, AsyncPipe, TranslateModule, 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..97e535846c --- /dev/null +++ b/src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts @@ -0,0 +1,18 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; + +import { ProfilePageMetadataFormComponent as BaseComponent } from '../../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component'; +import { FormComponent } from '../../../../../app/shared/form/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', + imports: [ + FormComponent, + NgIf, + ], + standalone: true, +}) +export class ProfilePageMetadataFormComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/profile-page/profile-page.component.ts b/src/themes/custom/app/profile-page/profile-page.component.ts index b13745c0bf..ccdab623b9 100644 --- a/src/themes/custom/app/profile-page/profile-page.component.ts +++ b/src/themes/custom/app/profile-page/profile-page.component.ts @@ -8,7 +8,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { SuggestionsNotificationComponent } from '../../../../app/notifications/suggestions-notification/suggestions-notification.component'; import { ProfilePageComponent as BaseComponent } from '../../../../app/profile-page/profile-page.component'; -import { ProfilePageMetadataFormComponent } from '../../../../app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component'; +import { ThemedProfilePageMetadataFormComponent } from '../../../../app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component'; import { ProfilePageResearcherFormComponent } from '../../../../app/profile-page/profile-page-researcher-form/profile-page-researcher-form.component'; import { ProfilePageSecurityFormComponent } from '../../../../app/profile-page/profile-page-security-form/profile-page-security-form.component'; import { VarDirective } from '../../../../app/shared/utils/var.directive'; @@ -21,7 +21,7 @@ import { VarDirective } from '../../../../app/shared/utils/var.directive'; templateUrl: '../../../../app/profile-page/profile-page.component.html', standalone: true, imports: [ - ProfilePageMetadataFormComponent, + ThemedProfilePageMetadataFormComponent, ProfilePageSecurityFormComponent, SuggestionsNotificationComponent, AsyncPipe, diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index 76ee835f73..6ac0d83d88 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -54,6 +54,7 @@ import { MyDSpacePageComponent } from './app/my-dspace-page/my-dspace-page.compo import { ExpandableNavbarSectionComponent } from './app/navbar/expandable-navbar-section/expandable-navbar-section.component'; import { PageNotFoundComponent } from './app/pagenotfound/pagenotfound.component'; import { ProfilePageComponent } from './app/profile-page/profile-page.component'; +import { ProfilePageMetadataFormComponent } from './app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component'; import { RegisterEmailFormComponent } from './app/register-email-form/register-email-form.component'; import { CreateProfileComponent } from './app/register-page/create-profile/create-profile.component'; import { RegisterEmailComponent } from './app/register-page/register-email/register-email.component'; @@ -188,6 +189,7 @@ const DECLARATIONS = [ ItemListPreviewComponent, MetadataImportPageComponent, ItemDetailPreviewFieldComponent, + ProfilePageMetadataFormComponent, ]; @NgModule({