diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 9d0c81136e..365f297dd0 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -217,8 +217,8 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone }, { path: 'statistics', - loadChildren: () => import('./statistics-page/statistics-page-routing.module') - .then((m) => m.StatisticsPageRoutingModule), + loadChildren: () => import('./statistics-page/statistics-page-routes') + .then((m) => m.ROUTES), canActivate: [EndUserAgreementCurrentUserGuard], }, { diff --git a/src/app/statistics-page/statistics-page-routes.ts b/src/app/statistics-page/statistics-page-routes.ts new file mode 100644 index 0000000000..b048f63377 --- /dev/null +++ b/src/app/statistics-page/statistics-page-routes.ts @@ -0,0 +1,88 @@ +import { Route } from '@angular/router'; +import { I18nBreadcrumbResolver } from '../core/breadcrumbs/i18n-breadcrumb.resolver'; +import { I18nBreadcrumbsService } from '../core/breadcrumbs/i18n-breadcrumbs.service'; +import { CollectionPageResolver } from '../collection-page/collection-page.resolver'; +import { CommunityPageResolver } from '../community-page/community-page.resolver'; +import { + ThemedCollectionStatisticsPageComponent +} from './collection-statistics-page/themed-collection-statistics-page.component'; +import { + ThemedCommunityStatisticsPageComponent +} from './community-statistics-page/themed-community-statistics-page.component'; +import { ThemedItemStatisticsPageComponent } from './item-statistics-page/themed-item-statistics-page.component'; +import { ThemedSiteStatisticsPageComponent } from './site-statistics-page/themed-site-statistics-page.component'; +import { ItemResolver } from '../item-page/item.resolver'; +import { + StatisticsAdministratorGuard +} from '../core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard'; + +const providers = [ + I18nBreadcrumbResolver, + I18nBreadcrumbsService, + CollectionPageResolver, + CommunityPageResolver, + ItemResolver +]; + +export const ROUTES: Route[] = [ + { + path: '', + providers, + resolve: { + breadcrumb: I18nBreadcrumbResolver + }, + data: { + title: 'statistics.title', + breadcrumbKey: 'statistics' + }, + children: [ + { + path: '', + component: ThemedSiteStatisticsPageComponent, + }, + ], + canActivate: [StatisticsAdministratorGuard] + }, + { + path: `items/:id`, + providers, + resolve: { + scope: ItemResolver, + breadcrumb: I18nBreadcrumbResolver + }, + data: { + title: 'statistics.title', + breadcrumbKey: 'statistics' + }, + component: ThemedItemStatisticsPageComponent, + canActivate: [StatisticsAdministratorGuard] + }, + { + path: `collections/:id`, + providers, + resolve: { + scope: CollectionPageResolver, + breadcrumb: I18nBreadcrumbResolver + }, + data: { + title: 'statistics.title', + breadcrumbKey: 'statistics' + }, + component: ThemedCollectionStatisticsPageComponent, + canActivate: [StatisticsAdministratorGuard] + }, + { + path: `communities/:id`, + providers, + resolve: { + scope: CommunityPageResolver, + breadcrumb: I18nBreadcrumbResolver + }, + data: { + title: 'statistics.title', + breadcrumbKey: 'statistics' + }, + component: ThemedCommunityStatisticsPageComponent, + canActivate: [StatisticsAdministratorGuard] + }, +]; diff --git a/src/app/statistics-page/statistics-page-routing.module.ts b/src/app/statistics-page/statistics-page-routing.module.ts deleted file mode 100644 index ef6f68d557..0000000000 --- a/src/app/statistics-page/statistics-page-routing.module.ts +++ /dev/null @@ -1,87 +0,0 @@ -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 { StatisticsPageModule } from './statistics-page.module'; -import { CollectionPageResolver } from '../collection-page/collection-page.resolver'; -import { CommunityPageResolver } from '../community-page/community-page.resolver'; -import { ThemedCollectionStatisticsPageComponent } from './collection-statistics-page/themed-collection-statistics-page.component'; -import { ThemedCommunityStatisticsPageComponent } from './community-statistics-page/themed-community-statistics-page.component'; -import { ThemedItemStatisticsPageComponent } from './item-statistics-page/themed-item-statistics-page.component'; -import { ThemedSiteStatisticsPageComponent } from './site-statistics-page/themed-site-statistics-page.component'; -import { ItemResolver } from '../item-page/item.resolver'; -import { StatisticsAdministratorGuard } from '../core/data/feature-authorization/feature-authorization-guard/statistics-administrator.guard'; - -@NgModule({ - imports: [ - StatisticsPageModule, - RouterModule.forChild([ - { - path: '', - resolve: { - breadcrumb: I18nBreadcrumbResolver - }, - data: { - title: 'statistics.title', - breadcrumbKey: 'statistics' - }, - children: [ - { - path: '', - component: ThemedSiteStatisticsPageComponent, - }, - ], - canActivate: [StatisticsAdministratorGuard] - }, - { - path: `items/:id`, - resolve: { - scope: ItemResolver, - breadcrumb: I18nBreadcrumbResolver - }, - data: { - title: 'statistics.title', - breadcrumbKey: 'statistics' - }, - component: ThemedItemStatisticsPageComponent, - canActivate: [StatisticsAdministratorGuard] - }, - { - path: `collections/:id`, - resolve: { - scope: CollectionPageResolver, - breadcrumb: I18nBreadcrumbResolver - }, - data: { - title: 'statistics.title', - breadcrumbKey: 'statistics' - }, - component: ThemedCollectionStatisticsPageComponent, - canActivate: [StatisticsAdministratorGuard] - }, - { - path: `communities/:id`, - resolve: { - scope: CommunityPageResolver, - breadcrumb: I18nBreadcrumbResolver - }, - data: { - title: 'statistics.title', - breadcrumbKey: 'statistics' - }, - component: ThemedCommunityStatisticsPageComponent, - canActivate: [StatisticsAdministratorGuard] - }, - ] - ) - ], - providers: [ - I18nBreadcrumbResolver, - I18nBreadcrumbsService, - CollectionPageResolver, - CommunityPageResolver, - ItemResolver - ] -}) -export class StatisticsPageRoutingModule { -}