diff --git a/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts b/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts index 103f7c42de..56d504d57d 100644 --- a/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts +++ b/src/app/admin/admin-import-metadata-page/metadata-import-page.component.ts @@ -21,12 +21,12 @@ import { NotificationsService } from '../../shared/notifications/notifications.s import { FileDropzoneNoUploaderComponent } from '../../shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component'; @Component({ - selector: 'ds-metadata-import-page', + selector: 'ds-base-metadata-import-page', templateUrl: './metadata-import-page.component.html', imports: [ - TranslateModule, - FormsModule, FileDropzoneNoUploaderComponent, + FormsModule, + TranslateModule, ], standalone: true, }) diff --git a/src/app/admin/admin-import-metadata-page/themed-metadata-import-page.component.ts b/src/app/admin/admin-import-metadata-page/themed-metadata-import-page.component.ts new file mode 100644 index 0000000000..2562541dfc --- /dev/null +++ b/src/app/admin/admin-import-metadata-page/themed-metadata-import-page.component.ts @@ -0,0 +1,27 @@ +import { Component } from '@angular/core'; + +import { ThemedComponent } from '../../shared/theme-support/themed.component'; +import { MetadataImportPageComponent } from './metadata-import-page.component'; + +/** + * Themed wrapper for {@link MetadataImportPageComponent}. + */ +@Component({ + selector: 'ds-metadata-import-page', + templateUrl: '../../shared/theme-support/themed.component.html', + standalone: true, + imports: [MetadataImportPageComponent], +}) +export class ThemedMetadataImportPageComponent extends ThemedComponent { + protected getComponentName(): string { + return 'MetadataImportPageComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../themes/${themeName}/app/admin/admin-import-metadata-page/metadata-import-page.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./metadata-import-page.component'); + } +} diff --git a/src/app/admin/admin-routes.ts b/src/app/admin/admin-routes.ts index a89dbb2c0a..59529710c9 100644 --- a/src/app/admin/admin-routes.ts +++ b/src/app/admin/admin-routes.ts @@ -3,7 +3,7 @@ import { Route } from '@angular/router'; import { i18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component'; import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component'; -import { MetadataImportPageComponent } from './admin-import-metadata-page/metadata-import-page.component'; +import { ThemedMetadataImportPageComponent } from './admin-import-metadata-page/themed-metadata-import-page.component'; import { LDN_PATH, NOTIFICATIONS_MODULE_PATH, @@ -46,7 +46,7 @@ export const ROUTES: Route[] = [ { path: 'metadata-import', resolve: { breadcrumb: i18nBreadcrumbResolver }, - component: MetadataImportPageComponent, + component: ThemedMetadataImportPageComponent, data: { title: 'admin.metadata-import.title', breadcrumbKey: 'admin.metadata-import' }, }, { diff --git a/src/app/browse-by/browse-by-date/browse-by-date.component.ts b/src/app/browse-by/browse-by-date/browse-by-date.component.ts index c84fc4cb77..ee33ee533c 100644 --- a/src/app/browse-by/browse-by-date/browse-by-date.component.ts +++ b/src/app/browse-by/browse-by-date/browse-by-date.component.ts @@ -36,7 +36,7 @@ import { RemoteData } from '../../core/data/remote-data'; import { PaginationService } from '../../core/pagination/pagination.service'; import { Item } from '../../core/shared/item.model'; import { ThemedComcolPageBrowseByComponent } from '../../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -68,7 +68,7 @@ import { ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts b/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts index 3c893f5259..29bc48b1bd 100644 --- a/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts +++ b/src/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts @@ -46,7 +46,7 @@ import { Context } from '../../core/shared/context.model'; import { Item } from '../../core/shared/item.model'; import { getFirstSucceededRemoteData } from '../../core/shared/operators'; import { ThemedComcolPageBrowseByComponent } from '../../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -74,7 +74,7 @@ export const BBM_PAGINATION_ID = 'bbm'; ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts b/src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts index 94956f257d..6ba5dd2c4b 100644 --- a/src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts +++ b/src/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts @@ -29,7 +29,7 @@ import { VocabularyEntryDetail } from '../../core/submission/vocabularies/models import { VocabularyOptions } from '../../core/submission/vocabularies/models/vocabulary-options.model'; import { ThemedBrowseByComponent } from '../../shared/browse-by/themed-browse-by.component'; import { ThemedComcolPageBrowseByComponent } from '../../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -51,7 +51,7 @@ import { BrowseByDataType } from '../browse-by-switcher/browse-by-data-type'; ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/app/browse-by/browse-by-title/browse-by-title.component.ts b/src/app/browse-by/browse-by-title/browse-by-title.component.ts index d99332baf1..aa5daa3166 100644 --- a/src/app/browse-by/browse-by-title/browse-by-title.component.ts +++ b/src/app/browse-by/browse-by-title/browse-by-title.component.ts @@ -17,7 +17,7 @@ import { } from '../../core/cache/models/sort-options.model'; import { ThemedBrowseByComponent } from '../../shared/browse-by/themed-browse-by.component'; import { ThemedComcolPageBrowseByComponent } from '../../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -43,7 +43,7 @@ import { ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/app/collection-page/collection-page.component.html b/src/app/collection-page/collection-page.component.html index f9739a4aa9..4a3e28c6aa 100644 --- a/src/app/collection-page/collection-page.component.html +++ b/src/app/collection-page/collection-page.component.html @@ -58,4 +58,4 @@ - \ No newline at end of file + diff --git a/src/app/collection-page/collection-page.component.ts b/src/app/collection-page/collection-page.component.ts index 5b5d0a84d7..0d240f5328 100644 --- a/src/app/collection-page/collection-page.component.ts +++ b/src/app/collection-page/collection-page.component.ts @@ -36,7 +36,7 @@ import { fadeInOut, } from '../shared/animations/fade'; import { ThemedComcolPageBrowseByComponent } from '../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -63,7 +63,7 @@ import { getCollectionPageRoute } from './collection-page-routing-paths'; fadeInOut, ], imports: [ - ComcolPageContentComponent, + ThemedComcolPageContentComponent, ErrorComponent, NgIf, ThemedLoadingComponent, diff --git a/src/app/community-page/community-page.component.ts b/src/app/community-page/community-page.component.ts index bdb3a50c6b..d04ecbee19 100644 --- a/src/app/community-page/community-page.component.ts +++ b/src/app/community-page/community-page.component.ts @@ -32,7 +32,7 @@ import { Community } from '../core/shared/community.model'; import { getAllSucceededRemoteDataPayload } from '../core/shared/operators'; import { fadeInOut } from '../shared/animations/fade'; import { ThemedComcolPageBrowseByComponent } from '../shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -53,7 +53,7 @@ import { ThemedCommunityPageSubCommunityListComponent } from './sections/sub-com changeDetection: ChangeDetectionStrategy.OnPush, animations: [fadeInOut], imports: [ - ComcolPageContentComponent, + ThemedComcolPageContentComponent, ErrorComponent, ThemedLoadingComponent, NgIf, diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html index ed1181a407..91b694c072 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/org-unit/org-unit-search-result-list-element.component.html @@ -4,9 +4,9 @@ [attr.rel]="(linkType === linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]" class="dont-break-out"> + [defaultImage]="'assets/images/orgunit-placeholder.svg'" + [alt]="'thumbnail.orgunit.alt'" + [placeholder]="'thumbnail.orgunit.placeholder'"> diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html index 128cb67d12..cc7905e719 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/person/person-search-result-list-element.component.html @@ -4,9 +4,9 @@ [attr.rel]="(linkType === linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]" class="dont-break-out"> + [defaultImage]="'assets/images/person-placeholder.svg'" + [alt]="'thumbnail.person.alt'" + [placeholder]="'thumbnail.person.placeholder'"> diff --git a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html index 4ba963111b..34d5588c2d 100644 --- a/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html +++ b/src/app/entity-groups/research-entities/item-list-elements/search-result-list-elements/project/project-search-result-list-element.component.html @@ -4,9 +4,9 @@ [attr.rel]="(linkType === linkTypes.ExternalLink) ? 'noopener noreferrer' : null" [routerLink]="[itemPageRoute]" class="dont-break-out"> + [defaultImage]="'assets/images/project-placeholder.svg'" + [alt]="'thumbnail.project.alt'" + [placeholder]="'thumbnail.project.placeholder'"> diff --git a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts index efeeda8458..908b9e758b 100644 --- a/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts +++ b/src/app/entity-groups/research-entities/submission/item-list-elements/person/person-search-result-list-submission-element.component.spec.ts @@ -213,7 +213,7 @@ describe('PersonSearchResultListElementSubmissionComponent', () => { fixture.detectChanges(); }); - it('should add the ds-thumbnail element', () => { + it('should add the thumbnail element', () => { const thumbnail = fixture.debugElement.query(By.css('ds-thumbnail')); expect(thumbnail).toBeTruthy(); }); @@ -266,7 +266,7 @@ describe('PersonSearchResultListElementSubmissionComponent', () => { fixture.detectChanges(); }); - it('should not add the ds-thumbnail element', () => { + it('should not add the thumbnail element', () => { const thumbnail = fixture.debugElement.query(By.css('ds-thumbnail')); expect(thumbnail).toBeNull(); }); diff --git a/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts b/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts index 4ccaeb1453..b1529fdb57 100644 --- a/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts +++ b/src/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.ts @@ -31,7 +31,7 @@ import { FormComponent } from '../../shared/form/form.component'; import { NotificationsService } from '../../shared/notifications/notifications.service'; @Component({ - selector: 'ds-profile-page-metadata-form', + selector: 'ds-base-profile-page-metadata-form', templateUrl: './profile-page-metadata-form.component.html', imports: [ FormComponent, 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..abf6d39e4b --- /dev/null +++ b/src/app/profile-page/profile-page-metadata-form/themed-profile-page-metadata-form.component.ts @@ -0,0 +1,39 @@ +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-profile-page-metadata-form', + templateUrl: '../../shared/theme-support/themed.component.html', + standalone: true, + imports: [ProfilePageMetadataFormComponent], +}) +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.spec.ts b/src/app/profile-page/profile-page.component.spec.ts index 9f7f1f1d16..810cf63389 100644 --- a/src/app/profile-page/profile-page.component.spec.ts +++ b/src/app/profile-page/profile-page.component.spec.ts @@ -5,7 +5,7 @@ import { waitForAsync, } from '@angular/core/testing'; import { By } from '@angular/platform-browser'; -import { RouterTestingModule } from '@angular/router/testing'; +import { RouterModule } from '@angular/router'; import { StoreModule } from '@ngrx/store'; import { provideMockStore } from '@ngrx/store/testing'; import { TranslateModule } from '@ngx-translate/core'; @@ -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'; @@ -113,8 +113,9 @@ describe('ProfilePageComponent', () => { imports: [ StoreModule.forRoot({ auth: authReducer }, storeModuleConfig), TranslateModule.forRoot(), - RouterTestingModule.withRoutes([]), - ProfilePageComponent, VarDirective, + RouterModule.forRoot([]), + ProfilePageComponent, + VarDirective, ], providers: [ { provide: EPersonDataService, useValue: epersonService }, @@ -129,7 +130,7 @@ describe('ProfilePageComponent', () => { .overrideComponent(ProfilePageComponent, { remove: { imports: [ - ProfilePageMetadataFormComponent, + ThemedProfilePageMetadataFormComponent, ProfilePageSecurityFormComponent, ProfilePageResearcherFormComponent, SuggestionsNotificationComponent, @@ -154,9 +155,13 @@ describe('ProfilePageComponent', () => { describe('updateProfile', () => { describe('when the metadata form returns false and the security form returns true', () => { beforeEach(() => { - component.metadataForm = jasmine.createSpyObj('metadataForm', { - updateProfile: false, - }); + component.metadataForm = { + compRef: { + instance: { + updateProfile: () => false, + }, + }, + } as any; spyOn(component, 'updateSecurity').and.returnValue(true); component.updateProfile(); }); @@ -168,9 +173,13 @@ describe('ProfilePageComponent', () => { describe('when the metadata form returns true and the security form returns false', () => { beforeEach(() => { - component.metadataForm = jasmine.createSpyObj('metadataForm', { - updateProfile: true, - }); + component.metadataForm = { + compRef: { + instance: { + updateProfile: () => true, + }, + }, + } as any; component.updateProfile(); }); @@ -181,9 +190,13 @@ describe('ProfilePageComponent', () => { describe('when the metadata form returns true and the security form returns true', () => { beforeEach(() => { - component.metadataForm = jasmine.createSpyObj('metadataForm', { - updateProfile: true, - }); + component.metadataForm = { + compRef: { + instance: { + updateProfile: () => true, + }, + }, + } as any; component.updateProfile(); }); @@ -194,9 +207,13 @@ describe('ProfilePageComponent', () => { describe('when the metadata form returns false and the security form returns false', () => { beforeEach(() => { - component.metadataForm = jasmine.createSpyObj('metadataForm', { - updateProfile: false, - }); + component.metadataForm = { + compRef: { + instance: { + updateProfile: () => false, + }, + }, + } as any; component.updateProfile(); }); diff --git a/src/app/profile-page/profile-page.component.ts b/src/app/profile-page/profile-page.component.ts index bee4c2d023..afa89360b2 100644 --- a/src/app/profile-page/profile-page.component.ts +++ b/src/app/profile-page/profile-page.component.ts @@ -47,7 +47,7 @@ import { import { NotificationsService } from '../shared/notifications/notifications.service'; 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 +56,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, @@ -75,7 +75,7 @@ export class ProfilePageComponent implements OnInit { /** * A reference to the metadata form component */ - @ViewChild(ProfilePageMetadataFormComponent) metadataForm: ProfilePageMetadataFormComponent; + @ViewChild(ThemedProfilePageMetadataFormComponent) metadataForm: ThemedProfilePageMetadataFormComponent; /** * The authenticated user as observable @@ -157,8 +157,8 @@ export class ProfilePageComponent implements OnInit { * Fire an update on both the metadata and security forms * Show a warning notification when no changes were made in both forms */ - updateProfile() { - const metadataChanged = this.metadataForm.updateProfile(); + updateProfile(): void { + const metadataChanged = this.metadataForm.compRef.instance.updateProfile(); const securityChanged = this.updateSecurity(); if (!metadataChanged && !securityChanged) { this.notificationsService.warning( diff --git a/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts b/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts index 148e0466b4..7e8ff06404 100644 --- a/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts +++ b/src/app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component.ts @@ -30,7 +30,7 @@ export class ThemedComcolPageBrowseByComponent extends ThemedComponent { - return import(`../../../../themes/${themeName}/app/shared/comcol-page-browse-by/comcol-page-browse-by.component`); + return import(`../../../../themes/${themeName}/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component`); } protected importUnthemedComponent(): Promise { diff --git a/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts b/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts index b9e827fb88..636b311165 100644 --- a/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts +++ b/src/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts @@ -12,7 +12,7 @@ import { TranslateModule } from '@ngx-translate/core'; * To see how it is used see collection-page or community-page. */ @Component({ - selector: 'ds-comcol-page-content', + selector: 'ds-base-comcol-page-content', styleUrls: ['./comcol-page-content.component.scss'], templateUrl: './comcol-page-content.component.html', imports: [ @@ -23,13 +23,19 @@ import { TranslateModule } from '@ngx-translate/core'; }) export class ComcolPageContentComponent { - // Optional title + /** + * Optional title + */ @Input() title: string; - // The content to render. Might be html + /** + * The content to render. Might be html + */ @Input() content: string; - // flag whether the content contains html syntax or not + /** + * flag whether the content contains html syntax or not + */ @Input() hasInnerHtml: boolean; } diff --git a/src/app/shared/comcol/comcol-page-content/themed-comcol-page-content.component.ts b/src/app/shared/comcol/comcol-page-content/themed-comcol-page-content.component.ts new file mode 100644 index 0000000000..1c63349533 --- /dev/null +++ b/src/app/shared/comcol/comcol-page-content/themed-comcol-page-content.component.ts @@ -0,0 +1,44 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { ThemedComponent } from '../../theme-support/themed.component'; +import { ComcolPageContentComponent } from './comcol-page-content.component'; + +/** + * Themed wrapper for {@link ComcolPageContentComponent} + */ +@Component({ + selector: 'ds-comcol-page-content', + templateUrl: '../../theme-support/themed.component.html', + standalone: true, + imports: [ComcolPageContentComponent], +}) +export class ThemedComcolPageContentComponent extends ThemedComponent { + + @Input() title: string; + + @Input() content: string; + + @Input() hasInnerHtml: boolean; + + protected inAndOutputNames: (keyof ComcolPageContentComponent & keyof this)[] = [ + 'title', + 'content', + 'hasInnerHtml', + ]; + + protected getComponentName(): string { + return 'ComcolPageContentComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../themes/${themeName}/app/shared/comcol/comcol-page-content/comcol-page-content.component`); + } + + protected importUnthemedComponent(): Promise { + return import('./comcol-page-content.component'); + } + +} diff --git a/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts b/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts index e7023fd28b..538ed51a32 100644 --- a/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts +++ b/src/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts @@ -1,7 +1,6 @@ import { NgIf } from '@angular/common'; import { Component, - Injectable, Input, } from '@angular/core'; import { TranslateModule } from '@ngx-translate/core'; @@ -14,11 +13,12 @@ import { TranslateModule } from '@ngx-translate/core'; selector: 'ds-base-comcol-page-handle', styleUrls: ['./comcol-page-handle.component.scss'], templateUrl: './comcol-page-handle.component.html', - imports: [NgIf, TranslateModule], + imports: [ + NgIf, + TranslateModule, + ], standalone: true, }) - -@Injectable() export class ComcolPageHandleComponent { // Optional title diff --git a/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts b/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts index 86ae24758c..0fb80e769b 100644 --- a/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts +++ b/src/app/shared/dso-selector/modal-wrappers/export-batch-selector/export-batch-selector.component.ts @@ -54,7 +54,7 @@ import { * Used to choose a dso from to export metadata of */ @Component({ - selector: 'ds-export-metadata-selector', + selector: 'ds-export-batch-selector', templateUrl: '../dso-selector-modal-wrapper.component.html', standalone: true, imports: [NgIf, DSOSelectorComponent, TranslateModule], diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts index b49759d009..5bcda37837 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts @@ -17,10 +17,15 @@ import { SearchResult } from '../../../../search/models/search-result.model'; * This component show values for the given item metadata */ @Component({ - selector: 'ds-item-detail-preview-field', + selector: 'ds-base-item-detail-preview-field', templateUrl: './item-detail-preview-field.component.html', standalone: true, - imports: [MetadataFieldWrapperComponent, NgIf, NgFor, TranslateModule], + imports: [ + MetadataFieldWrapperComponent, + NgFor, + NgIf, + TranslateModule, + ], }) export class ItemDetailPreviewFieldComponent { diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/themed-item-detail-preview-field.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/themed-item-detail-preview-field.component.ts new file mode 100644 index 0000000000..ebb283728a --- /dev/null +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/themed-item-detail-preview-field.component.ts @@ -0,0 +1,54 @@ +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-item-detail-preview-field', + templateUrl: '../../../../theme-support/themed.component.html', + standalone: true, + imports: [ItemDetailPreviewFieldComponent], +}) +export class ThemedItemDetailPreviewFieldComponent extends ThemedComponent { + + protected inAndOutputNames: (keyof ItemDetailPreviewFieldComponent & keyof this)[] = [ + 'item', + 'object', + 'label', + 'metadata', + 'placeholder', + 'separator', + ]; + + @Input() item: Item; + + @Input() object: SearchResult; + + @Input() label: string; + + @Input() metadata: string | string[]; + + @Input() placeholder: string; + + @Input() separator: string; + + protected getComponentName(): string { + return 'ItemDetailPreviewFieldComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + 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 { + return import('./item-detail-preview-field.component'); + } +} diff --git a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts index 5b46138af2..c828fdcdb2 100644 --- a/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts +++ b/src/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview.component.ts @@ -28,7 +28,7 @@ import { ItemSubmitterComponent } from '../../../object-collection/shared/mydspa import { SearchResult } from '../../../search/models/search-result.model'; import { FileSizePipe } from '../../../utils/file-size-pipe'; import { VarDirective } from '../../../utils/var.directive'; -import { ItemDetailPreviewFieldComponent } from './item-detail-preview-field/item-detail-preview-field.component'; +import { ThemedItemDetailPreviewFieldComponent } from './item-detail-preview-field/themed-item-detail-preview-field.component'; /** * This component show metadata for the given item object in the detail view. @@ -39,7 +39,7 @@ import { ItemDetailPreviewFieldComponent } from './item-detail-preview-field/ite templateUrl: './item-detail-preview.component.html', animations: [fadeInOut], standalone: true, - imports: [NgIf, ThemedBadgesComponent, ThemedItemPageTitleFieldComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, VarDirective, NgFor, ItemDetailPreviewFieldComponent, ItemSubmitterComponent, AsyncPipe, FileSizePipe, TranslateModule], + imports: [NgIf, ThemedBadgesComponent, ThemedItemPageTitleFieldComponent, MetadataFieldWrapperComponent, ThemedThumbnailComponent, VarDirective, NgFor, ThemedItemDetailPreviewFieldComponent, ItemSubmitterComponent, AsyncPipe, FileSizePipe, TranslateModule], }) export class ItemDetailPreviewComponent { /** diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts index c66c9b3090..3576af2fb9 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.spec.ts @@ -139,7 +139,7 @@ describe('ItemListPreviewComponent', () => { component.item = mockItemWithAuthorAndDate; fixture.detectChanges(); }); - it('should add the ds-thumbnail element', () => { + it('should add the thumbnail element', () => { const thumbnail = fixture.debugElement.query(By.css('ds-thumbnail')); expect(thumbnail).toBeTruthy(); }); @@ -250,7 +250,7 @@ describe('ItemListPreviewComponent', () => { component.item = mockItemWithAuthorAndDate; fixture.detectChanges(); }); - it('should add the ds-thumbnail element', () => { + it('should add the thumbnail element', () => { const thumbnail = fixture.debugElement.query(By.css('ds-thumbnail')); expect(thumbnail).toBeFalsy(); }); diff --git a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts index 17ca6ce0a0..583b857063 100644 --- a/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts +++ b/src/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts @@ -38,7 +38,19 @@ import { TruncatablePartComponent } from '../../../truncatable/truncatable-part/ templateUrl: 'item-list-preview.component.html', animations: [fadeInOut], standalone: true, - imports: [NgIf, ThemedThumbnailComponent, NgClass, ThemedBadgesComponent, TruncatableComponent, TruncatablePartComponent, NgFor, ItemSubmitterComponent, ItemCollectionComponent, AsyncPipe, TranslateModule], + imports: [ + AsyncPipe, + ItemCollectionComponent, + ItemSubmitterComponent, + NgClass, + NgFor, + NgIf, + ThemedBadgesComponent, + ThemedThumbnailComponent, + TranslateModule, + TruncatableComponent, + TruncatablePartComponent, + ], }) export class ItemListPreviewComponent implements OnInit { diff --git a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts index 28701e454f..96c7975301 100644 --- a/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts +++ b/src/app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component.spec.ts @@ -247,7 +247,7 @@ describe('ItemSearchResultListElementComponent', () => { expect(publicationListElementComponent.showThumbnails).toBeTrue(); }); - it('should add ds-thumbnail element', () => { + it('should add thumbnail element', () => { const thumbnailElement = fixture.debugElement.query(By.css('ds-thumbnail')); expect(thumbnailElement).toBeTruthy(); }); @@ -428,7 +428,7 @@ describe('ItemSearchResultListElementComponent', () => { fixture.detectChanges(); }); - it('should not add ds-thumbnail element', () => { + it('should not add thumbnail element', () => { const thumbnailElement = fixture.debugElement.query(By.css('ds-thumbnail')); expect(thumbnailElement).toBeFalsy(); }); diff --git a/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts b/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts index 8c40e5d5a4..85d3704202 100644 --- a/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts +++ b/src/app/shared/object-list/sidebar-search-list-element/community/community-sidebar-search-list-element.component.ts @@ -17,7 +17,7 @@ import { SidebarSearchListElementComponent } from '../sidebar-search-list-elemen @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement, Context.SideBarSearchModal) @listableObjectComponent(CommunitySearchResult, ViewMode.ListElement, Context.SideBarSearchModalCurrent) @Component({ - selector: 'ds-collection-sidebar-search-list-element', + selector: 'ds-community-sidebar-search-list-element', templateUrl: '../sidebar-search-list-element.component.html', standalone: true, imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule], diff --git a/src/app/shared/search/search.component.ts b/src/app/shared/search/search.component.ts index fefbeb4461..68cce28679 100644 --- a/src/app/shared/search/search.component.ts +++ b/src/app/shared/search/search.component.ts @@ -88,7 +88,18 @@ import { SearchConfigurationOption } from './search-switch-configuration/search- changeDetection: ChangeDetectionStrategy.OnPush, animations: [pushInOut], standalone: true, - imports: [NgIf, NgTemplateOutlet, PageWithSidebarComponent, ViewModeSwitchComponent, ThemedSearchResultsComponent, ThemedSearchSidebarComponent, ThemedSearchFormComponent, SearchLabelsComponent, AsyncPipe, TranslateModule], + imports: [ + AsyncPipe, + NgIf, + NgTemplateOutlet, + PageWithSidebarComponent, + ThemedSearchFormComponent, + ThemedSearchResultsComponent, + ThemedSearchSidebarComponent, + TranslateModule, + SearchLabelsComponent, + ViewModeSwitchComponent, + ], }) /** diff --git a/src/app/shared/theme-support/themed.component.ts b/src/app/shared/theme-support/themed.component.ts index 1ee59a2232..84b1163d7b 100644 --- a/src/app/shared/theme-support/themed.component.ts +++ b/src/app/shared/theme-support/themed.component.ts @@ -43,7 +43,7 @@ import { ThemeService } from './theme.service'; export abstract class ThemedComponent implements AfterViewInit, OnDestroy, OnChanges { @ViewChild('vcr', { read: ViewContainerRef }) vcr: ViewContainerRef; @ViewChild('content') themedElementContent: ElementRef; - protected compRef: ComponentRef; + compRef: ComponentRef; /** * A reference to the themed component. Will start as undefined and emit every time the themed diff --git a/src/app/submission/form/submission-form.component.spec.ts b/src/app/submission/form/submission-form.component.spec.ts index 58e3dd5c05..f097a1e7ea 100644 --- a/src/app/submission/form/submission-form.component.spec.ts +++ b/src/app/submission/form/submission-form.component.spec.ts @@ -45,7 +45,7 @@ import { SubmissionFormCollectionComponent } from './collection/submission-form- import { SubmissionFormFooterComponent } from './footer/submission-form-footer.component'; import { SubmissionFormSectionAddComponent } from './section-add/submission-form-section-add.component'; import { SubmissionFormComponent } from './submission-form.component'; -import { SubmissionUploadFilesComponent } from './submission-upload-files/submission-upload-files.component'; +import { ThemedSubmissionUploadFilesComponent } from './submission-upload-files/themed-submission-upload-files.component'; describe('SubmissionFormComponent Component', () => { @@ -86,7 +86,7 @@ describe('SubmissionFormComponent Component', () => { ThemedLoadingComponent, SubmissionSectionContainerComponent, SubmissionFormFooterComponent, - SubmissionUploadFilesComponent, + ThemedSubmissionUploadFilesComponent, SubmissionFormCollectionComponent, SubmissionFormSectionAddComponent, ] }, diff --git a/src/app/submission/form/submission-form.component.ts b/src/app/submission/form/submission-form.component.ts index d81435cef6..2e97c2df63 100644 --- a/src/app/submission/form/submission-form.component.ts +++ b/src/app/submission/form/submission-form.component.ts @@ -22,6 +22,10 @@ import { import { AuthService } from '../../core/auth/auth.service'; import { SubmissionDefinitionsModel } from '../../core/config/models/config-submission-definitions.model'; +import { + SubmissionSectionModel, + SubmissionSectionVisibility, +} from '../../core/config/models/config-submission-section.model'; import { Collection } from '../../core/shared/collection.model'; import { HALEndpointService } from '../../core/shared/hal-endpoint.service'; import { Item } from '../../core/shared/item.model'; @@ -42,14 +46,10 @@ import { SectionsService } from '../sections/sections.service'; import { SectionsType } from '../sections/sections-type'; import { VisibilityType } from '../sections/visibility-type'; import { SubmissionService } from '../submission.service'; -import { - SubmissionSectionModel, - SubmissionSectionVisibility, -} from './../../core/config/models/config-submission-section.model'; import { SubmissionFormCollectionComponent } from './collection/submission-form-collection.component'; import { SubmissionFormFooterComponent } from './footer/submission-form-footer.component'; import { SubmissionFormSectionAddComponent } from './section-add/submission-form-section-add.component'; -import { SubmissionUploadFilesComponent } from './submission-upload-files/submission-upload-files.component'; +import { ThemedSubmissionUploadFilesComponent } from './submission-upload-files/themed-submission-upload-files.component'; /** * This component represents the submission form. @@ -63,7 +63,7 @@ import { SubmissionUploadFilesComponent } from './submission-upload-files/submis ThemedLoadingComponent, SubmissionSectionContainerComponent, SubmissionFormFooterComponent, - SubmissionUploadFilesComponent, + ThemedSubmissionUploadFilesComponent, SubmissionFormCollectionComponent, SubmissionFormSectionAddComponent, ], @@ -81,7 +81,7 @@ export class SubmissionFormComponent implements OnChanges, OnDestroy { /** * Checks if the collection can be modifiable by the user - * @type {booelan} + * @type {boolean} */ @Input() collectionModifiable: boolean | null = null; diff --git a/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts b/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts index 3a5fd306fd..e694a868ca 100644 --- a/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts +++ b/src/app/submission/form/submission-upload-files/submission-upload-files.component.ts @@ -35,7 +35,7 @@ import parseSectionErrors from '../../utils/parseSectionErrors'; * This component represents the drop zone that provides to add files to the submission. */ @Component({ - selector: 'ds-submission-upload-files', + selector: 'ds-base-submission-upload-files', templateUrl: './submission-upload-files.component.html', imports: [ UploaderComponent, diff --git a/src/app/submission/form/submission-upload-files/themed-submission-upload-files.component.ts b/src/app/submission/form/submission-upload-files/themed-submission-upload-files.component.ts new file mode 100644 index 0000000000..cfa913297c --- /dev/null +++ b/src/app/submission/form/submission-upload-files/themed-submission-upload-files.component.ts @@ -0,0 +1,44 @@ +import { + Component, + Input, +} from '@angular/core'; + +import { ThemedComponent } from '../../../shared/theme-support/themed.component'; +import { UploaderOptions } from '../../../shared/upload/uploader/uploader-options.model'; +import { SubmissionUploadFilesComponent } from './submission-upload-files.component'; + +/** + * Themed wrapper for {@link SubmissionUploadFilesComponent} + */ +@Component({ + selector: 'ds-submission-upload-files', + templateUrl: '../../../shared/theme-support/themed.component.html', + standalone: true, + imports: [SubmissionUploadFilesComponent], +}) +export class ThemedSubmissionUploadFilesComponent extends ThemedComponent { + + @Input() collectionId: string; + + @Input() submissionId: string; + + @Input() uploadFilesOptions: UploaderOptions; + + protected inAndOutputNames: (keyof SubmissionUploadFilesComponent & keyof this)[] = [ + 'collectionId', + 'submissionId', + 'uploadFilesOptions', + ]; + + protected getComponentName(): string { + return 'SubmissionUploadFilesComponent'; + } + + protected importThemedComponent(themeName: string): Promise { + return import(`../../../../themes/${themeName}/app/submission/form/submission-upload-files/submission-upload-files.component.ts`); + } + + protected importUnthemedComponent(): Promise { + return import('./submission-upload-files.component'); + } +} diff --git a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts index 6907f15af8..b7e1858b79 100644 --- a/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts +++ b/src/app/workspaceitems-edit-page/workspaceitems-delete-page/themed-workspaceitems-delete-page.component.ts @@ -4,9 +4,8 @@ import { ThemedComponent } from '../../shared/theme-support/themed.component'; import { WorkspaceItemsDeletePageComponent } from './workspaceitems-delete-page.component'; /** - * Themed wrapper for WorkspaceItemsDeletePageComponent + * Themed wrapper for {@link WorkspaceItemsDeletePageComponent} */ - @Component({ selector: 'ds-workspace-items-delete', styleUrls: [], @@ -20,10 +19,10 @@ export class ThemedWorkspaceItemsDeletePageComponent extends ThemedComponent { - return import(`../../../themes/${themeName}/app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component`); + return import(`../../../themes/${themeName}/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component`); } protected importUnthemedComponent(): Promise { - return import(`./workspaceitems-delete-page.component`); + return import('./workspaceitems-delete-page.component'); } } diff --git a/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.html b/src/themes/custom/app/admin/admin-import-metadata-page/metadata-import-page.component.html similarity index 100% rename from src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.html rename to src/themes/custom/app/admin/admin-import-metadata-page/metadata-import-page.component.html diff --git a/src/themes/custom/app/admin/admin-import-metadata-page/metadata-import-page.component.ts b/src/themes/custom/app/admin/admin-import-metadata-page/metadata-import-page.component.ts new file mode 100644 index 0000000000..79d950b170 --- /dev/null +++ b/src/themes/custom/app/admin/admin-import-metadata-page/metadata-import-page.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MetadataImportPageComponent as BaseComponent } from '../../../../../app/admin/admin-import-metadata-page/metadata-import-page.component'; +import { FileDropzoneNoUploaderComponent } from '../../../../../app/shared/upload/file-dropzone-no-uploader/file-dropzone-no-uploader.component'; + +@Component({ + selector: 'ds-themed-metadata-import-page', + // templateUrl: './metadata-import-page.component.html', + templateUrl: '../../../../../app/admin/admin-import-metadata-page/metadata-import-page.component.html', + standalone: true, + imports: [ + FileDropzoneNoUploaderComponent, + FormsModule, + TranslateModule, + ], +}) +export class MetadataImportPageComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/browse-by/browse-by-date/browse-by-date.component.ts b/src/themes/custom/app/browse-by/browse-by-date/browse-by-date.component.ts index 3621a04a07..d4582dcf25 100644 --- a/src/themes/custom/app/browse-by/browse-by-date/browse-by-date.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-date/browse-by-date.component.ts @@ -8,7 +8,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { BrowseByDateComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-date/browse-by-date.component'; import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -30,7 +30,7 @@ import { VarDirective } from '../../../../../app/shared/utils/var.directive'; ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/themes/custom/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts b/src/themes/custom/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts index a5d611e452..d2894fce3a 100644 --- a/src/themes/custom/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-metadata/browse-by-metadata.component.ts @@ -8,7 +8,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { BrowseByMetadataComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-metadata/browse-by-metadata.component'; import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -30,7 +30,7 @@ import { VarDirective } from '../../../../../app/shared/utils/var.directive'; ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/themes/custom/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts b/src/themes/custom/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts index 2d97ef0602..edf2a35c74 100644 --- a/src/themes/custom/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component.ts @@ -9,7 +9,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { BrowseByTaxonomyComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-taxonomy/browse-by-taxonomy.component'; import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -32,7 +32,7 @@ import { VarDirective } from '../../../../../app/shared/utils/var.directive'; ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/themes/custom/app/browse-by/browse-by-title/browse-by-title.component.ts b/src/themes/custom/app/browse-by/browse-by-title/browse-by-title.component.ts index 16e5234c38..578663c43c 100644 --- a/src/themes/custom/app/browse-by/browse-by-title/browse-by-title.component.ts +++ b/src/themes/custom/app/browse-by/browse-by-title/browse-by-title.component.ts @@ -8,7 +8,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { BrowseByTitleComponent as BaseComponent } from '../../../../../app/browse-by/browse-by-title/browse-by-title.component'; import { ThemedBrowseByComponent } from '../../../../../app/shared/browse-by/themed-browse-by.component'; import { ThemedComcolPageBrowseByComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -30,7 +30,7 @@ import { VarDirective } from '../../../../../app/shared/utils/var.directive'; ComcolPageLogoComponent, NgIf, ThemedComcolPageHandleComponent, - ComcolPageContentComponent, + ThemedComcolPageContentComponent, DsoEditMenuComponent, ThemedComcolPageBrowseByComponent, TranslateModule, diff --git a/src/themes/custom/app/collection-page/collection-page.component.ts b/src/themes/custom/app/collection-page/collection-page.component.ts index 4023e8479e..4b2f9e3245 100644 --- a/src/themes/custom/app/collection-page/collection-page.component.ts +++ b/src/themes/custom/app/collection-page/collection-page.component.ts @@ -15,7 +15,7 @@ import { fadeInOut, } from '../../../../app/shared/animations/fade'; import { ThemedComcolPageBrowseByComponent } from '../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -26,7 +26,6 @@ import { ObjectCollectionComponent } from '../../../../app/shared/object-collect import { VarDirective } from '../../../../app/shared/utils/var.directive'; import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; - @Component({ selector: 'ds-themed-collection-page', // templateUrl: './collection-page.component.html', @@ -40,7 +39,7 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp ], standalone: true, imports: [ - ComcolPageContentComponent, + ThemedComcolPageContentComponent, ErrorComponent, NgIf, ThemedLoadingComponent, @@ -60,4 +59,5 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp /** * This component represents a detail page for a single collection */ -export class CollectionPageComponent extends BaseComponent {} +export class CollectionPageComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/community-page/community-page.component.ts b/src/themes/custom/app/community-page/community-page.component.ts index 56cd54c5c3..5aa7e85527 100644 --- a/src/themes/custom/app/community-page/community-page.component.ts +++ b/src/themes/custom/app/community-page/community-page.component.ts @@ -17,7 +17,7 @@ import { ThemedCollectionPageSubCollectionListComponent } from '../../../../app/ import { ThemedCommunityPageSubCommunityListComponent } from '../../../../app/community-page/sections/sub-com-col-section/sub-community-list/themed-community-page-sub-community-list.component'; import { fadeInOut } from '../../../../app/shared/animations/fade'; import { ThemedComcolPageBrowseByComponent } from '../../../../app/shared/comcol/comcol-page-browse-by/themed-comcol-page-browse-by.component'; -import { ComcolPageContentComponent } from '../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ThemedComcolPageContentComponent } from '../../../../app/shared/comcol/comcol-page-content/themed-comcol-page-content.component'; import { ThemedComcolPageHandleComponent } from '../../../../app/shared/comcol/comcol-page-handle/themed-comcol-page-handle.component'; import { ComcolPageHeaderComponent } from '../../../../app/shared/comcol/comcol-page-header/comcol-page-header.component'; import { ComcolPageLogoComponent } from '../../../../app/shared/comcol/comcol-page-logo/comcol-page-logo.component'; @@ -27,7 +27,6 @@ import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-lo import { VarDirective } from '../../../../app/shared/utils/var.directive'; import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; - @Component({ selector: 'ds-themed-community-page', // templateUrl: './community-page.component.html', @@ -38,7 +37,7 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp animations: [fadeInOut], standalone: true, imports: [ - ComcolPageContentComponent, + ThemedComcolPageContentComponent, ErrorComponent, ThemedLoadingComponent, NgIf, @@ -60,4 +59,5 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp /** * This component represents a detail page for a single community */ -export class CommunityPageComponent extends BaseComponent {} +export class CommunityPageComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts b/src/themes/custom/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts index 6160a2d451..ab2d49b920 100644 --- a/src/themes/custom/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts +++ b/src/themes/custom/app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.ts @@ -14,9 +14,9 @@ import { VarDirective } from '../../../../../../../app/shared/utils/var.directiv @Component({ selector: 'ds-themed-community-page-sub-collection-list', // styleUrls: ['./community-page-sub-collection-list.component.scss'], - styleUrls: ['../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.scss'], + styleUrls: ['../../../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.scss'], // templateUrl: './community-page-sub-collection-list.component.html', - templateUrl: '../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.html', + templateUrl: '../../../../../../../app/community-page/sections/sub-com-col-section/sub-collection-list/community-page-sub-collection-list.component.html', imports: [ ObjectCollectionComponent, ErrorComponent, diff --git a/src/themes/custom/app/login-page/login-page.component.ts b/src/themes/custom/app/login-page/login-page.component.ts index 68a36b182d..1e7daae653 100644 --- a/src/themes/custom/app/login-page/login-page.component.ts +++ b/src/themes/custom/app/login-page/login-page.component.ts @@ -14,7 +14,7 @@ import { LoginPageComponent as BaseComponent } from '../../../../app/login-page/ // templateUrl: './login-page.component.html' templateUrl: '../../../../app/login-page/login-page.component.html', standalone: true, - imports: [ThemedLogInComponent ,TranslateModule], + imports: [ThemedLogInComponent, TranslateModule], }) export class LoginPageComponent extends BaseComponent { } diff --git a/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.scss b/src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html similarity index 100% rename from src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.scss rename to src/themes/custom/app/profile-page/profile-page-metadata-form/profile-page-metadata-form.component.html 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..9a3994172d --- /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-themed-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 54ea8bb7b5..74a88fdba6 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, AsyncPipe, TranslateModule, diff --git a/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts b/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts deleted file mode 100644 index ad2760e380..0000000000 --- a/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NgIf } from '@angular/common'; -import { Component } from '@angular/core'; -import { TranslateModule } from '@ngx-translate/core'; - -import { ComcolPageHandleComponent as BaseComponent } from '../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component'; - - -/** - * This component builds a URL from the value of "handle" - */ - -@Component({ - selector: 'ds-base-comcol-page-handle', - // templateUrl: './comcol-page-handle.component.html', - templateUrl: '../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html', - // styleUrls: ['./comcol-page-handle.component.scss'], - styleUrls: ['../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss'], - standalone: true, - imports: [NgIf, TranslateModule], -}) -export class ComcolPageHandleComponent extends BaseComponent {} diff --git a/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.html b/src/themes/custom/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html similarity index 100% rename from src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.html rename to src/themes/custom/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html diff --git a/src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.scss b/src/themes/custom/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss similarity index 100% rename from src/themes/custom/app/shared/comcol-page-handle/comcol-page-handle.component.scss rename to src/themes/custom/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss diff --git a/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts b/src/themes/custom/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts similarity index 56% rename from src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts rename to src/themes/custom/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts index 38e5c78815..9495ae45d5 100644 --- a/src/themes/custom/app/shared/comcol-page-browse-by/comcol-page-browse-by.component.ts +++ b/src/themes/custom/app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.ts @@ -11,18 +11,14 @@ import { } from '@angular/router'; import { TranslateModule } from '@ngx-translate/core'; -import { ComcolPageBrowseByComponent as BaseComponent } from '../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component'; +import { ComcolPageBrowseByComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component'; -/** - * A component to display the "Browse By" section of a Community or Collection page - * It expects the ID of the Community or Collection as input to be passed on as a scope - */ @Component({ - selector: 'ds-base-comcol-page-browse-by', + selector: 'ds-themed-comcol-page-browse-by', // styleUrls: ['./comcol-page-browse-by.component.scss'], - styleUrls: ['../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss'], + styleUrls: ['../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.scss'], // templateUrl: './comcol-page-browse-by.component.html' - templateUrl: '../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html', + templateUrl: '../../../../../../app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component.html', standalone: true, imports: [ FormsModule, @@ -34,4 +30,5 @@ import { ComcolPageBrowseByComponent as BaseComponent } from '../../../../../app NgIf, ], }) -export class ComcolPageBrowseByComponent extends BaseComponent {} +export class ComcolPageBrowseByComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.html b/src/themes/custom/app/shared/comcol/comcol-page-content/comcol-page-content.component.html similarity index 100% rename from src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.html rename to src/themes/custom/app/shared/comcol/comcol-page-content/comcol-page-content.component.html diff --git a/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.html b/src/themes/custom/app/shared/comcol/comcol-page-content/comcol-page-content.component.scss similarity index 100% rename from src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.html rename to src/themes/custom/app/shared/comcol/comcol-page-content/comcol-page-content.component.scss diff --git a/src/themes/custom/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts b/src/themes/custom/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts new file mode 100644 index 0000000000..1d98892e33 --- /dev/null +++ b/src/themes/custom/app/shared/comcol/comcol-page-content/comcol-page-content.component.ts @@ -0,0 +1,20 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ComcolPageContentComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component'; + +@Component({ + selector: 'ds-themed-comcol-page-content', + // styleUrls: ['./comcol-page-content.component.scss'], + styleUrls: ['../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component.scss'], + // templateUrl: './comcol-page-content.component.html', + templateUrl: '../../../../../../app/shared/comcol/comcol-page-content/comcol-page-content.component.html', + imports: [ + TranslateModule, + NgIf, + ], + standalone: true, +}) +export class ComcolPageContentComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.scss b/src/themes/custom/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html similarity index 100% rename from src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.scss rename to src/themes/custom/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html diff --git a/src/themes/custom/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss b/src/themes/custom/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts b/src/themes/custom/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts new file mode 100644 index 0000000000..7609879f78 --- /dev/null +++ b/src/themes/custom/app/shared/comcol/comcol-page-handle/comcol-page-handle.component.ts @@ -0,0 +1,20 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { ComcolPageHandleComponent as BaseComponent } from '../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component'; + +@Component({ + selector: 'ds-themed-comcol-page-handle', + // templateUrl: './comcol-page-handle.component.html', + templateUrl: '../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.html', + // styleUrls: ['./comcol-page-handle.component.scss'], + styleUrls: ['../../../../../../app/shared/comcol/comcol-page-handle/comcol-page-handle.component.scss'], + standalone: true, + imports: [ + NgIf, + TranslateModule, + ], +}) +export class ComcolPageHandleComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html b/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts b/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts new file mode 100644 index 0000000000..241ac0289a --- /dev/null +++ b/src/themes/custom/app/shared/object-detail/my-dspace-result-detail-element/item-detail-preview/item-detail-preview-field/item-detail-preview-field.component.ts @@ -0,0 +1,24 @@ +import { + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { MetadataFieldWrapperComponent } from '../../../../../../../../app/shared/metadata-field-wrapper/metadata-field-wrapper.component'; +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-themed-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', + standalone: true, + imports: [ + MetadataFieldWrapperComponent, + NgFor, + NgIf, + TranslateModule, + ], +}) +export class ItemDetailPreviewFieldComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.html b/src/themes/custom/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.scss b/src/themes/custom/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts b/src/themes/custom/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts new file mode 100644 index 0000000000..54634fd952 --- /dev/null +++ b/src/themes/custom/app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.ts @@ -0,0 +1,42 @@ +import { + AsyncPipe, + NgClass, + NgFor, + NgIf, +} from '@angular/common'; +import { Component } from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { fadeInOut } from '../../../../../../../app/shared/animations/fade'; +import { ThemedBadgesComponent } from '../../../../../../../app/shared/object-collection/shared/badges/themed-badges.component'; +import { ItemCollectionComponent } from '../../../../../../../app/shared/object-collection/shared/mydspace-item-collection/item-collection.component'; +import { ItemSubmitterComponent } from '../../../../../../../app/shared/object-collection/shared/mydspace-item-submitter/item-submitter.component'; +import { ItemListPreviewComponent as BaseComponent } from '../../../../../../../app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component'; +import { TruncatableComponent } from '../../../../../../../app/shared/truncatable/truncatable.component'; +import { TruncatablePartComponent } from '../../../../../../../app/shared/truncatable/truncatable-part/truncatable-part.component'; +import { ThemedThumbnailComponent } from '../../../../../../../app/thumbnail/themed-thumbnail.component'; + +@Component({ + selector: 'ds-themed-item-list-preview', + // styleUrls: ['./item-list-preview.component.scss'], + styleUrls: ['../../../../../../../app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.scss'], + // templateUrl: './item-list-preview.component.html', + templateUrl: '../../../../../../../app/shared/object-list/my-dspace-result-list-element/item-list-preview/item-list-preview.component.html', + animations: [fadeInOut], + standalone: true, + imports: [ + AsyncPipe, + ItemCollectionComponent, + ItemSubmitterComponent, + NgClass, + NgFor, + NgIf, + ThemedBadgesComponent, + ThemedThumbnailComponent, + TranslateModule, + TruncatableComponent, + TruncatablePartComponent, + ], +}) +export class ItemListPreviewComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.html b/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts b/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts similarity index 53% rename from src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts rename to src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts index 7d2f03d26d..dbb4526a9a 100644 --- a/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component.ts +++ b/src/themes/custom/app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component.ts @@ -6,12 +6,12 @@ import { import { Component } from '@angular/core'; import { TranslateModule } from '@ngx-translate/core'; -import { Context } from '../../../../../../../app/core/shared/context.model'; -import { ViewMode } from '../../../../../../../app/core/shared/view-mode.model'; -import { ItemSearchResult } from '../../../../../../../app/shared/object-collection/shared/item-search-result.model'; -import { listableObjectComponent } from '../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; -import { PublicationSidebarSearchListElementComponent as BaseComponent } from '../../../../../../../app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; -import { TruncatablePartComponent } from '../../../../../../../app/shared/truncatable/truncatable-part/truncatable-part.component'; +import { Context } from '../../../../../../../../app/core/shared/context.model'; +import { ViewMode } from '../../../../../../../../app/core/shared/view-mode.model'; +import { ItemSearchResult } from '../../../../../../../../app/shared/object-collection/shared/item-search-result.model'; +import { listableObjectComponent } from '../../../../../../../../app/shared/object-collection/shared/listable-object/listable-object.decorator'; +import { PublicationSidebarSearchListElementComponent as BaseComponent } from '../../../../../../../../app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; +import { TruncatablePartComponent } from '../../../../../../../../app/shared/truncatable/truncatable-part/truncatable-part.component'; @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.SideBarSearchModal, 'custom') @listableObjectComponent('PublicationSearchResult', ViewMode.ListElement, Context.SideBarSearchModalCurrent, 'custom') @@ -20,7 +20,7 @@ import { TruncatablePartComponent } from '../../../../../../../app/shared/trunca @Component({ selector: 'ds-publication-sidebar-search-list-element', // templateUrl: './publication-sidebar-search-list-element.component.html', - templateUrl: '../../../../../../../app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', + templateUrl: '../../../../../../../../app/shared/object-list/sidebar-search-list-element/sidebar-search-list-element.component.html', standalone: true, imports: [TruncatablePartComponent, NgClass, NgIf, AsyncPipe, TranslateModule], }) diff --git a/src/themes/custom/app/shared/search/search.component.html b/src/themes/custom/app/shared/search/search.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/search/search.component.scss b/src/themes/custom/app/shared/search/search.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/shared/search/search.component.ts b/src/themes/custom/app/shared/search/search.component.ts new file mode 100644 index 0000000000..85a453c16c --- /dev/null +++ b/src/themes/custom/app/shared/search/search.component.ts @@ -0,0 +1,44 @@ +import { + AsyncPipe, + NgIf, + NgTemplateOutlet, +} from '@angular/common'; +import { + ChangeDetectionStrategy, + Component, +} from '@angular/core'; +import { TranslateModule } from '@ngx-translate/core'; + +import { pushInOut } from '../../../../../app/shared/animations/push'; +import { SearchComponent as BaseComponent } from '../../../../../app/shared/search/search.component'; +import { SearchLabelsComponent } from '../../../../../app/shared/search/search-labels/search-labels.component'; +import { ThemedSearchResultsComponent } from '../../../../../app/shared/search/search-results/themed-search-results.component'; +import { ThemedSearchSidebarComponent } from '../../../../../app/shared/search/search-sidebar/themed-search-sidebar.component'; +import { ThemedSearchFormComponent } from '../../../../../app/shared/search-form/themed-search-form.component'; +import { PageWithSidebarComponent } from '../../../../../app/shared/sidebar/page-with-sidebar.component'; +import { ViewModeSwitchComponent } from '../../../../../app/shared/view-mode-switch/view-mode-switch.component'; + +@Component({ + selector: 'ds-themed-search', + // styleUrls: ['./search.component.scss'], + styleUrls: ['../../../../../app/shared/search/search.component.scss'], + // templateUrl: './search.component.html', + templateUrl: '../../../../../app/shared/search/search.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, + animations: [pushInOut], + standalone: true, + imports: [ + AsyncPipe, + NgIf, + NgTemplateOutlet, + PageWithSidebarComponent, + ThemedSearchFormComponent, + ThemedSearchResultsComponent, + ThemedSearchSidebarComponent, + TranslateModule, + SearchLabelsComponent, + ViewModeSwitchComponent, + ], +}) +export class SearchComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/submission/form/submission-upload-files/submission-upload-files.component.html b/src/themes/custom/app/submission/form/submission-upload-files/submission-upload-files.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/submission/form/submission-upload-files/submission-upload-files.component.ts b/src/themes/custom/app/submission/form/submission-upload-files/submission-upload-files.component.ts new file mode 100644 index 0000000000..9c479cb129 --- /dev/null +++ b/src/themes/custom/app/submission/form/submission-upload-files/submission-upload-files.component.ts @@ -0,0 +1,18 @@ +import { NgIf } from '@angular/common'; +import { Component } from '@angular/core'; + +import { UploaderComponent } from '../../../../../../app/shared/upload/uploader/uploader.component'; +import { SubmissionUploadFilesComponent as BaseComponent } from '../../../../../../app/submission/form/submission-upload-files/submission-upload-files.component'; + +@Component({ + selector: 'ds-themed-submission-upload-files', + // templateUrl: './submission-upload-files.component.html', + templateUrl: '../../../../../../app/submission/form/submission-upload-files/submission-upload-files.component.html', + imports: [ + UploaderComponent, + NgIf, + ], + standalone: true, +}) +export class SubmissionUploadFilesComponent extends BaseComponent { +} diff --git a/src/themes/custom/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.html b/src/themes/custom/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.html new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.scss b/src/themes/custom/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.scss new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts b/src/themes/custom/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts similarity index 93% rename from src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts rename to src/themes/custom/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts index ca8fc7bcae..aeecb081d7 100644 --- a/src/themes/custom/app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component.ts +++ b/src/themes/custom/app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.ts @@ -7,7 +7,7 @@ import { WorkspaceItemsDeletePageComponent as BaseComponent } from '../../../../ @Component({ - selector: 'ds-base-workspaceitems-delete-page', + selector: 'ds-themed-workspaceitems-delete-page', templateUrl: '../../../../../app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component.html', standalone: true, imports: [ diff --git a/src/themes/custom/eager-theme.module.ts b/src/themes/custom/eager-theme.module.ts index 8b734d73d1..ecc88073a3 100644 --- a/src/themes/custom/eager-theme.module.ts +++ b/src/themes/custom/eager-theme.module.ts @@ -29,7 +29,7 @@ import { BrowseEntryListElementComponent } from './app/shared/object-list/browse import { CollectionListElementComponent } from './app/shared/object-list/collection-list-element/collection-list-element.component'; import { CommunityListElementComponent } from './app/shared/object-list/community-list-element/community-list-element.component'; import { ItemSearchResultListElementComponent } from './app/shared/object-list/search-result-list-element/item-search-result/item-types/item/item-search-result-list-element.component'; -import { PublicationSidebarSearchListElementComponent } from './app/shared/object-list/sidebar-search-list-element/item-types/publication-sidebar-search-list-element.component'; +import { PublicationSidebarSearchListElementComponent } from './app/shared/object-list/sidebar-search-list-element/item-types/publication/publication-sidebar-search-list-element.component'; import { StartsWithDateComponent } from './app/shared/starts-with/date/starts-with-date.component'; import { StartsWithTextComponent } from './app/shared/starts-with/text/starts-with-text.component'; diff --git a/src/themes/custom/lazy-theme.module.ts b/src/themes/custom/lazy-theme.module.ts index 357dd9d0a3..cb80948daf 100644 --- a/src/themes/custom/lazy-theme.module.ts +++ b/src/themes/custom/lazy-theme.module.ts @@ -12,6 +12,7 @@ import { TranslateModule } from '@ngx-translate/core'; import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to'; import { RootModule } from '../../app/root.module'; +import { MetadataImportPageComponent } from './app/admin/admin-import-metadata-page/metadata-import-page.component'; import { AdminSidebarComponent } from './app/admin/admin-sidebar/admin-sidebar.component'; import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component'; import { BreadcrumbsComponent } from './app/breadcrumbs/breadcrumbs.component'; @@ -53,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'; @@ -65,8 +67,9 @@ import { SearchPageComponent } from './app/search-page/search-page.component'; import { AuthNavMenuComponent } from './app/shared/auth-nav-menu/auth-nav-menu.component'; import { UserMenuComponent } from './app/shared/auth-nav-menu/user-menu/user-menu.component'; import { BrowseByComponent } from './app/shared/browse-by/browse-by.component'; -import { ComcolPageBrowseByComponent } from './app/shared/comcol-page-browse-by/comcol-page-browse-by.component'; -import { ComcolPageHandleComponent } from './app/shared/comcol-page-handle/comcol-page-handle.component'; +import { ComcolPageBrowseByComponent } from './app/shared/comcol/comcol-page-browse-by/comcol-page-browse-by.component'; +import { ComcolPageContentComponent } from './app/shared/comcol/comcol-page-content/comcol-page-content.component'; +import { ComcolPageHandleComponent } from './app/shared/comcol/comcol-page-handle/comcol-page-handle.component'; import { DsDynamicLookupRelationExternalSourceTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/dynamic-lookup-relation-external-source-tab.component'; import { ExternalSourceEntryImportModalComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/external-source-tab/external-source-entry-import-modal/external-source-entry-import-modal.component'; import { DsDynamicLookupRelationSearchTabComponent } from './app/shared/form/builder/ds-dynamic-form-ui/relation-lookup-modal/search-tab/dynamic-lookup-relation-search-tab.component'; @@ -76,8 +79,11 @@ 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 { 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 { 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 { ObjectListComponent } from './app/shared/object-list/object-list.component'; import { ResultsBackButtonComponent } from './app/shared/results-back-button/results-back-button.component'; +import { SearchComponent } from './app/shared/search/search.component'; import { SearchFiltersComponent } from './app/shared/search/search-filters/search-filters.component'; import { SearchResultsComponent } from './app/shared/search/search-results/search-results.component'; import { SearchSettingsComponent } from './app/shared/search/search-settings/search-settings.component'; @@ -88,13 +94,14 @@ import { CommunityStatisticsPageComponent } from './app/statistics-page/communit import { ItemStatisticsPageComponent } from './app/statistics-page/item-statistics-page/item-statistics-page.component'; import { SiteStatisticsPageComponent } from './app/statistics-page/site-statistics-page/site-statistics-page.component'; import { SubmissionEditComponent } from './app/submission/edit/submission-edit.component'; +import { SubmissionUploadFilesComponent } from './app/submission/form/submission-upload-files/submission-upload-files.component'; import { SubmissionImportExternalComponent } from './app/submission/import-external/submission-import-external.component'; import { SubmissionSectionUploadFileComponent } from './app/submission/sections/upload/file/section-upload-file.component'; import { SubmissionSubmitComponent } from './app/submission/submit/submission-submit.component'; import { ThumbnailComponent } from './app/thumbnail/thumbnail.component'; import { WorkflowItemDeleteComponent } from './app/workflowitems-edit-page/workflow-item-delete/workflow-item-delete.component'; import { WorkflowItemSendBackComponent } from './app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component'; -import { WorkspaceItemsDeletePageComponent } from './app/workspace-items-delete-page/workspace-items-delete/workspace-items-delete.component'; +import { WorkspaceItemsDeletePageComponent } from './app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component'; const DECLARATIONS = [ FileSectionComponent, @@ -180,6 +187,13 @@ const DECLARATIONS = [ UserMenuComponent, BrowseByComponent, RegisterEmailFormComponent, + SearchComponent, + ItemListPreviewComponent, + MetadataImportPageComponent, + ItemDetailPreviewFieldComponent, + ProfilePageMetadataFormComponent, + SubmissionUploadFilesComponent, + ComcolPageContentComponent, ]; @NgModule({