From 01becae7d0a99ea2d99d1e28d6e75c5f7f64b882 Mon Sep 17 00:00:00 2001 From: lotte Date: Fri, 4 Apr 2025 13:31:49 +0200 Subject: [PATCH] 129694: backported view tracker resolver --- src/app/app-routing.module.ts | 13 ++++++++++++- .../collection-page-routing.module.ts | 5 +++++ .../community-page/community-page-routing.module.ts | 5 +++++ src/app/home-page/home-page-routing.module.ts | 6 ------ src/app/item-page/item-page-routing.module.ts | 10 +++++++++- .../angulartics/dspace/view-tracker.resolver.ts | 11 ----------- src/app/statistics/statistics.module.ts | 3 --- 7 files changed, 31 insertions(+), 22 deletions(-) delete mode 100644 src/app/statistics/angulartics/dspace/view-tracker.resolver.ts diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index deb68f1ea9..b81201dd01 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -40,6 +40,8 @@ import { import { ServerCheckGuard } from './core/server-check/server-check.guard'; import { MenuResolver } from './menu.resolver'; import { ThemedPageErrorComponent } from './page-error/themed-page-error.component'; +import { HomePageResolver } from './home-page/home-page.resolver'; +import { ViewTrackerResolverService } from './statistics/angulartics/dspace/view-tracker-resolver.service'; @NgModule({ imports: [ @@ -63,7 +65,15 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone path: 'home', loadChildren: () => import('./home-page/home-page.module') .then((m) => m.HomePageModule), - data: { showBreadcrumbs: false }, + data: { + showBreadcrumbs: false, + dsoPath: 'site' + }, + resolve: { + site: HomePageResolver, + tracking: ViewTrackerResolverService, + }, + canActivate: [EndUserAgreementCurrentUserGuard] }, { @@ -251,6 +261,7 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone }) ], exports: [RouterModule], + providers: [HomePageResolver, ViewTrackerResolverService], }) export class AppRoutingModule { diff --git a/src/app/collection-page/collection-page-routing.module.ts b/src/app/collection-page/collection-page-routing.module.ts index 9dc25b778e..23a267bd03 100644 --- a/src/app/collection-page/collection-page-routing.module.ts +++ b/src/app/collection-page/collection-page-routing.module.ts @@ -22,6 +22,7 @@ import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; import { ThemedCollectionPageComponent } from './themed-collection-page.component'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; +import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; @NgModule({ imports: [ @@ -66,6 +67,9 @@ import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; path: '', component: ThemedCollectionPageComponent, pathMatch: 'full', + resolve: { + tracking: ViewTrackerResolverService, + }, } ], data: { @@ -94,6 +98,7 @@ import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; LinkService, CreateCollectionPageGuard, CollectionPageAdministratorGuard, + ViewTrackerResolverService, ] }) export class CollectionPageRoutingModule { diff --git a/src/app/community-page/community-page-routing.module.ts b/src/app/community-page/community-page-routing.module.ts index c37f8832f8..48206d7dfc 100644 --- a/src/app/community-page/community-page-routing.module.ts +++ b/src/app/community-page/community-page-routing.module.ts @@ -15,6 +15,7 @@ import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; import { ThemedCommunityPageComponent } from './themed-community-page.component'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; +import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; @NgModule({ imports: [ @@ -49,6 +50,9 @@ import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; path: '', component: ThemedCommunityPageComponent, pathMatch: 'full', + resolve: { + tracking: ViewTrackerResolverService, + }, } ], data: { @@ -76,6 +80,7 @@ import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; LinkService, CreateCommunityPageGuard, CommunityPageAdministratorGuard, + ViewTrackerResolverService, ] }) export class CommunityPageRoutingModule { diff --git a/src/app/home-page/home-page-routing.module.ts b/src/app/home-page/home-page-routing.module.ts index 196a290552..aaac25c455 100644 --- a/src/app/home-page/home-page-routing.module.ts +++ b/src/app/home-page/home-page-routing.module.ts @@ -28,15 +28,9 @@ import { MenuItemType } from '../shared/menu/menu-item-type.model'; } as LinkMenuItemModel, }], }, - }, - resolve: { - site: HomePageResolver } } ]) - ], - providers: [ - HomePageResolver ] }) export class HomePageRoutingModule { diff --git a/src/app/item-page/item-page-routing.module.ts b/src/app/item-page/item-page-routing.module.ts index 0c855ab34d..084c314d82 100644 --- a/src/app/item-page/item-page-routing.module.ts +++ b/src/app/item-page/item-page-routing.module.ts @@ -19,6 +19,7 @@ import { REQUEST_COPY_MODULE_PATH } from '../app-routing-paths'; import { OrcidPageComponent } from './orcid-page/orcid-page.component'; import { OrcidPageGuard } from './orcid-page/orcid-page.guard'; import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; +import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; @NgModule({ imports: [ @@ -36,10 +37,16 @@ import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; path: '', component: ThemedItemPageComponent, pathMatch: 'full', + resolve: { + tracking: ViewTrackerResolverService, + } }, { path: 'full', component: ThemedFullItemPageComponent, + resolve: { + tracking: ViewTrackerResolverService, + } }, { path: ITEM_EDIT_PATH, @@ -98,7 +105,8 @@ import { DSOEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; LinkService, ItemPageAdministratorGuard, VersionResolver, - OrcidPageGuard + OrcidPageGuard, + ViewTrackerResolverService, ] }) diff --git a/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts b/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts deleted file mode 100644 index 9b98185d61..0000000000 --- a/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { inject } from '@angular/core'; -import { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot, } from '@angular/router'; -import { ViewTrackerResolverService } from './view-tracker-resolver.service'; - -export const viewTrackerResolver: ResolveFn = ( - route: ActivatedRouteSnapshot, - state: RouterStateSnapshot, - viewTrackerResolverService: ViewTrackerResolverService = inject(ViewTrackerResolverService), -): boolean => { - return viewTrackerResolverService.resolve(route, state); -}; diff --git a/src/app/statistics/statistics.module.ts b/src/app/statistics/statistics.module.ts index 4870e4fbf0..d93d774394 100644 --- a/src/app/statistics/statistics.module.ts +++ b/src/app/statistics/statistics.module.ts @@ -2,7 +2,6 @@ import { ModuleWithProviders, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { CoreModule } from '../core/core.module'; import { SharedModule } from '../shared/shared.module'; -import { ViewTrackerComponent } from './angulartics/dspace/view-tracker.component'; import { StatisticsEndpoint } from './statistics-endpoint.model'; /** @@ -19,10 +18,8 @@ export const models = [ SharedModule, ], declarations: [ - ViewTrackerComponent, ], exports: [ - ViewTrackerComponent, ] }) /**