mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
Merge remote-tracking branch 'alex-upstream/w2p-115051_themed-admin-search-page_contribute-7.4' into w2p-131441_backport-3065-8
This commit is contained in:
@@ -11,8 +11,8 @@ import {
|
||||
REGISTRIES_MODULE_PATH,
|
||||
REPORTS_MODULE_PATH,
|
||||
} from './admin-routing-paths';
|
||||
import { AdminSearchPageComponent } from './admin-search-page/admin-search-page.component';
|
||||
import { AdminWorkflowPageComponent } from './admin-workflow-page/admin-workflow-page.component';
|
||||
import { ThemedAdminSearchPageComponent } from './admin-search-page/themed-admin-search-page.component';
|
||||
import { ThemedAdminWorkflowPageComponent } from './admin-workflow-page/themed-admin-workflow-page.component';
|
||||
|
||||
export const ROUTES: Route[] = [
|
||||
{
|
||||
@@ -28,13 +28,13 @@ export const ROUTES: Route[] = [
|
||||
{
|
||||
path: 'search',
|
||||
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||
component: AdminSearchPageComponent,
|
||||
component: ThemedAdminSearchPageComponent,
|
||||
data: { title: 'admin.search.title', breadcrumbKey: 'admin.search' },
|
||||
},
|
||||
{
|
||||
path: 'workflow',
|
||||
resolve: { breadcrumb: i18nBreadcrumbResolver },
|
||||
component: AdminWorkflowPageComponent,
|
||||
component: ThemedAdminWorkflowPageComponent,
|
||||
data: { title: 'admin.workflow.title', breadcrumbKey: 'admin.workflow' },
|
||||
},
|
||||
{
|
||||
|
@@ -4,7 +4,7 @@ import { Context } from '../../core/shared/context.model';
|
||||
import { ThemedConfigurationSearchPageComponent } from '../../search-page/themed-configuration-search-page.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-admin-search-page',
|
||||
selector: 'ds-base-admin-search-page',
|
||||
templateUrl: './admin-search-page.component.html',
|
||||
styleUrls: ['./admin-search-page.component.scss'],
|
||||
standalone: true,
|
||||
|
52
src/app/admin/admin-search-page/admin-search.module.ts
Normal file
52
src/app/admin/admin-search-page/admin-search.module.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { JournalEntitiesModule } from '../../entity-groups/journal-entities/journal-entities.module';
|
||||
import { ResearchEntitiesModule } from '../../entity-groups/research-entities/research-entities.module';
|
||||
import { SearchModule } from '../../shared/search/search.module';
|
||||
import { SharedModule } from '../../shared/shared.module';
|
||||
import { AdminSearchPageComponent } from './admin-search-page.component';
|
||||
import { CollectionAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/collection-search-result/collection-admin-search-result-grid-element.component';
|
||||
import { CommunityAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/community-search-result/community-admin-search-result-grid-element.component';
|
||||
import { ItemAdminSearchResultGridElementComponent } from './admin-search-results/admin-search-result-grid-element/item-search-result/item-admin-search-result-grid-element.component';
|
||||
import { CollectionAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/collection-search-result/collection-admin-search-result-list-element.component';
|
||||
import { CommunityAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/community-search-result/community-admin-search-result-list-element.component';
|
||||
import { ItemAdminSearchResultListElementComponent } from './admin-search-results/admin-search-result-list-element/item-search-result/item-admin-search-result-list-element.component';
|
||||
import { ItemAdminSearchResultActionsComponent } from './admin-search-results/item-admin-search-result-actions.component';
|
||||
import { ThemedAdminSearchPageComponent } from './themed-admin-search-page.component';
|
||||
|
||||
const ENTRY_COMPONENTS = [
|
||||
// put only entry components that use custom decorator
|
||||
ItemAdminSearchResultListElementComponent,
|
||||
CommunityAdminSearchResultListElementComponent,
|
||||
CollectionAdminSearchResultListElementComponent,
|
||||
ItemAdminSearchResultGridElementComponent,
|
||||
CommunityAdminSearchResultGridElementComponent,
|
||||
CollectionAdminSearchResultGridElementComponent,
|
||||
ItemAdminSearchResultActionsComponent,
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SearchModule,
|
||||
SharedModule.withEntryComponents(),
|
||||
JournalEntitiesModule.withEntryComponents(),
|
||||
ResearchEntitiesModule.withEntryComponents(),
|
||||
],
|
||||
declarations: [
|
||||
ThemedAdminSearchPageComponent,
|
||||
AdminSearchPageComponent,
|
||||
...ENTRY_COMPONENTS,
|
||||
],
|
||||
})
|
||||
export class AdminSearchModule {
|
||||
/**
|
||||
* NOTE: this method allows to resolve issue with components that using a custom decorator
|
||||
* which are not loaded during SSR otherwise
|
||||
*/
|
||||
static withEntryComponents() {
|
||||
return {
|
||||
ngModule: SharedModule,
|
||||
providers: ENTRY_COMPONENTS.map((component) => ({ provide: component })),
|
||||
};
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||
import { AdminSearchPageComponent } from './admin-search-page.component';
|
||||
|
||||
/**
|
||||
* Themed wrapper for {@link AdminSearchPageComponent}
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-admin-search-page',
|
||||
templateUrl: '../../shared/theme-support/themed.component.html',
|
||||
standalone: true,
|
||||
imports: [AdminSearchPageComponent],
|
||||
})
|
||||
export class ThemedAdminSearchPageComponent extends ThemedComponent<AdminSearchPageComponent> {
|
||||
|
||||
protected getComponentName(): string {
|
||||
return 'AdminSearchPageComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../themes/${themeName}/app/admin/admin-search-page/admin-search-page.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import('./admin-search-page.component');
|
||||
}
|
||||
|
||||
}
|
@@ -4,7 +4,7 @@ import { Context } from '../../core/shared/context.model';
|
||||
import { ThemedConfigurationSearchPageComponent } from '../../search-page/themed-configuration-search-page.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-admin-workflow-page',
|
||||
selector: 'ds-base-admin-workflow-page',
|
||||
templateUrl: './admin-workflow-page.component.html',
|
||||
styleUrls: ['./admin-workflow-page.component.scss'],
|
||||
standalone: true,
|
||||
|
43
src/app/admin/admin-workflow-page/admin-workflow.module.ts
Normal file
43
src/app/admin/admin-workflow-page/admin-workflow.module.ts
Normal file
@@ -0,0 +1,43 @@
|
||||
import { NgModule } from '@angular/core';
|
||||
|
||||
import { SearchModule } from '../../shared/search/search.module';
|
||||
import { SharedModule } from '../../shared/shared.module';
|
||||
import { AdminWorkflowPageComponent } from './admin-workflow-page.component';
|
||||
import { WorkflowItemSearchResultAdminWorkflowGridElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-grid-element/workflow-item/workflow-item-search-result-admin-workflow-grid-element.component';
|
||||
import { WorkflowItemSearchResultAdminWorkflowListElementComponent } from './admin-workflow-search-results/admin-workflow-search-result-list-element/workflow-item/workflow-item-search-result-admin-workflow-list-element.component';
|
||||
import { WorkflowItemAdminWorkflowActionsComponent } from './admin-workflow-search-results/workflow-item-admin-workflow-actions.component';
|
||||
import { ThemedAdminWorkflowPageComponent } from './themed-admin-workflow-page.component';
|
||||
|
||||
const ENTRY_COMPONENTS = [
|
||||
// put only entry components that use custom decorator
|
||||
WorkflowItemSearchResultAdminWorkflowListElementComponent,
|
||||
WorkflowItemSearchResultAdminWorkflowGridElementComponent,
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
imports: [
|
||||
SearchModule,
|
||||
SharedModule.withEntryComponents(),
|
||||
],
|
||||
declarations: [
|
||||
ThemedAdminWorkflowPageComponent,
|
||||
AdminWorkflowPageComponent,
|
||||
WorkflowItemAdminWorkflowActionsComponent,
|
||||
...ENTRY_COMPONENTS,
|
||||
],
|
||||
exports: [
|
||||
AdminWorkflowPageComponent,
|
||||
],
|
||||
})
|
||||
export class AdminWorkflowModuleModule {
|
||||
/**
|
||||
* NOTE: this method allows to resolve issue with components that using a custom decorator
|
||||
* which are not loaded during SSR otherwise
|
||||
*/
|
||||
static withEntryComponents() {
|
||||
return {
|
||||
ngModule: SharedModule,
|
||||
providers: ENTRY_COMPONENTS.map((component) => ({ provide: component })),
|
||||
};
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
import { ThemedComponent } from '../../shared/theme-support/themed.component';
|
||||
import { AdminWorkflowPageComponent } from './admin-workflow-page.component';
|
||||
|
||||
/**
|
||||
* Themed wrapper for {@link AdminWorkflowPageComponent}
|
||||
*/
|
||||
@Component({
|
||||
selector: 'ds-admin-workflow-page',
|
||||
templateUrl: '../../shared/theme-support/themed.component.html',
|
||||
standalone: true,
|
||||
imports: [AdminWorkflowPageComponent],
|
||||
})
|
||||
export class ThemedAdminWorkflowPageComponent extends ThemedComponent<AdminWorkflowPageComponent> {
|
||||
|
||||
protected getComponentName(): string {
|
||||
return 'AdminWorkflowPageComponent';
|
||||
}
|
||||
|
||||
protected importThemedComponent(themeName: string): Promise<any> {
|
||||
return import(`../../../themes/${themeName}/app/admin/admin-workflow-page/admin-workflow-page.component`);
|
||||
}
|
||||
|
||||
protected importUnthemedComponent(): Promise<any> {
|
||||
return import('./admin-workflow-page.component');
|
||||
}
|
||||
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
import { AdminSearchPageComponent as BaseComponent } from '../../../../../app/admin/admin-search-page/admin-search-page.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-admin-search-page',
|
||||
// styleUrls: ['./admin-search-page.component.scss'],
|
||||
styleUrls: ['../../../../../app/admin/admin-search-page/admin-search-page.component.scss'],
|
||||
// templateUrl: './admin-search-page.component.html',
|
||||
templateUrl: '../../../../../app/admin/admin-search-page/admin-search-page.component.html',
|
||||
standalone: true,
|
||||
})
|
||||
export class AdminSearchPageComponent extends BaseComponent {
|
||||
}
|
@@ -0,0 +1,14 @@
|
||||
import { Component } from '@angular/core';
|
||||
|
||||
import { AdminWorkflowPageComponent as BaseComponent } from '../../../../../app/admin/admin-workflow-page/admin-workflow-page.component';
|
||||
|
||||
@Component({
|
||||
selector: 'ds-themed-admin-workflow-page',
|
||||
// styleUrls: ['./admin-workflow-page.component.scss'],
|
||||
styleUrls: ['../../../../../app/admin/admin-workflow-page/admin-workflow-page.component.scss'],
|
||||
// templateUrl: './admin-workflow-page.component.html',
|
||||
templateUrl: '../../../../../app/admin/admin-workflow-page/admin-workflow-page.component.html',
|
||||
standalone: true,
|
||||
})
|
||||
export class AdminWorkflowPageComponent extends BaseComponent {
|
||||
}
|
@@ -14,7 +14,9 @@ import { ScrollToModule } from '@nicky-lenaers/ngx-scroll-to';
|
||||
import { RootModule } from '../../app/root.module';
|
||||
import { SearchResultsSkeletonComponent } from '../../app/shared/search/search-results/search-results-skeleton/search-results-skeleton.component';
|
||||
import { MetadataImportPageComponent } from './app/admin/admin-import-metadata-page/metadata-import-page.component';
|
||||
import { AdminSearchPageComponent } from './app/admin/admin-search-page/admin-search-page.component';
|
||||
import { AdminSidebarComponent } from './app/admin/admin-sidebar/admin-sidebar.component';
|
||||
import { AdminWorkflowPageComponent } from './app/admin/admin-workflow-page/admin-workflow-page.component';
|
||||
import { EditBitstreamPageComponent } from './app/bitstream-page/edit-bitstream-page/edit-bitstream-page.component';
|
||||
import { BreadcrumbsComponent } from './app/breadcrumbs/breadcrumbs.component';
|
||||
import { BrowseByDateComponent } from './app/browse-by/browse-by-date/browse-by-date.component';
|
||||
@@ -104,7 +106,6 @@ import { WorkflowItemDeleteComponent } from './app/workflowitems-edit-page/workf
|
||||
import { WorkflowItemSendBackComponent } from './app/workflowitems-edit-page/workflow-item-send-back/workflow-item-send-back.component';
|
||||
import { WorkspaceItemsDeletePageComponent } from './app/workspaceitems-edit-page/workspaceitems-delete-page/workspaceitems-delete-page.component';
|
||||
|
||||
|
||||
const DECLARATIONS = [
|
||||
FileSectionComponent,
|
||||
HomePageComponent,
|
||||
@@ -197,6 +198,8 @@ const DECLARATIONS = [
|
||||
SubmissionUploadFilesComponent,
|
||||
ComcolPageContentComponent,
|
||||
SearchResultsSkeletonComponent,
|
||||
AdminSearchPageComponent,
|
||||
AdminWorkflowPageComponent,
|
||||
];
|
||||
|
||||
@NgModule({
|
||||
|
Reference in New Issue
Block a user