Files
dspace-angular/src/app/admin/admin-routing.module.ts
Alexandre Vryghem bb490f827b Merge remote-tracking branch 'contributions/w2p-107950_themed-metadata-import-page-component' into minor-themed-component-fixes_contribute-main
# Conflicts:
#	src/app/admin/admin-routing.module.ts
#	src/app/admin/admin.module.ts
#	src/themes/custom/lazy-theme.module.ts
2024-03-09 14:19:47 +01:00

107 lines
4.1 KiB
TypeScript

import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver';
import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service';
import { SiteAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/site-administrator.guard';
import { AdminCurationTasksComponent } from './admin-curation-tasks/admin-curation-tasks.component';
import { BatchImportPageComponent } from './admin-import-batch-page/batch-import-page.component';
import { ThemedMetadataImportPageComponent } from './admin-import-metadata-page/themed-metadata-import-page.component';
import {
LDN_PATH,
NOTIFICATIONS_MODULE_PATH,
NOTIFY_DASHBOARD_MODULE_PATH,
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';
@NgModule({
imports: [
RouterModule.forChild([
{
path: NOTIFICATIONS_MODULE_PATH,
loadChildren: () => import('./admin-notifications/admin-notifications.module')
.then((m) => m.AdminNotificationsModule),
},
{
path: REGISTRIES_MODULE_PATH,
loadChildren: () => import('./admin-registries/admin-registries.module')
.then((m) => m.AdminRegistriesModule),
canActivate: [SiteAdministratorGuard],
},
{
path: 'search',
resolve: { breadcrumb: I18nBreadcrumbResolver },
component: AdminSearchPageComponent,
data: { title: 'admin.search.title', breadcrumbKey: 'admin.search' },
canActivate: [SiteAdministratorGuard],
},
{
path: 'workflow',
resolve: { breadcrumb: I18nBreadcrumbResolver },
component: AdminWorkflowPageComponent,
data: { title: 'admin.workflow.title', breadcrumbKey: 'admin.workflow' },
canActivate: [SiteAdministratorGuard],
},
{
path: 'curation-tasks',
resolve: { breadcrumb: I18nBreadcrumbResolver },
component: AdminCurationTasksComponent,
data: { title: 'admin.curation-tasks.title', breadcrumbKey: 'admin.curation-tasks' },
canActivate: [SiteAdministratorGuard],
},
{
path: 'metadata-import',
resolve: { breadcrumb: I18nBreadcrumbResolver },
component: ThemedMetadataImportPageComponent,
data: { title: 'admin.metadata-import.title', breadcrumbKey: 'admin.metadata-import' },
canActivate: [SiteAdministratorGuard],
},
{
path: 'batch-import',
resolve: { breadcrumb: I18nBreadcrumbResolver },
component: BatchImportPageComponent,
data: { title: 'admin.batch-import.title', breadcrumbKey: 'admin.batch-import' },
canActivate: [SiteAdministratorGuard],
},
{
path: 'system-wide-alert',
resolve: { breadcrumb: I18nBreadcrumbResolver },
loadChildren: () => import('../system-wide-alert/system-wide-alert.module').then((m) => m.SystemWideAlertModule),
data: { title: 'admin.system-wide-alert.title', breadcrumbKey: 'admin.system-wide-alert' },
canActivate: [SiteAdministratorGuard],
},
{
path: LDN_PATH,
children: [
{ path: '', pathMatch: 'full', redirectTo: 'services' },
{
path: 'services',
loadChildren: () => import('./admin-ldn-services/admin-ldn-services.module')
.then((m) => m.AdminLdnServicesModule),
},
],
},
{
path: REPORTS_MODULE_PATH,
loadChildren: () => import('./admin-reports/admin-reports.module')
.then((m) => m.AdminReportsModule),
},
{
path: NOTIFY_DASHBOARD_MODULE_PATH,
loadChildren: () => import('./admin-notify-dashboard/admin-notify-dashboard.module')
.then((m) => m.AdminNotifyDashboardModule),
},
]),
],
providers: [
I18nBreadcrumbResolver,
I18nBreadcrumbsService,
],
})
export class AdminRoutingModule {
}