From f3065bcbfcb75d4bb28941f9129a69ec1ae3e0fc Mon Sep 17 00:00:00 2001 From: lotte Date: Wed, 26 Mar 2025 17:59:31 +0100 Subject: [PATCH 1/3] 129694: PoC #4099 solution with resolvers --- src/app/app-routes.ts | 11 +++- .../collection-page/collection-page-routes.ts | 4 ++ .../collection-page.component.html | 1 - .../collection-page.component.ts | 3 +- .../community-page/community-page-routes.ts | 4 ++ .../community-page.component.html | 1 - .../community-page.component.ts | 3 +- src/app/home-page/home-page-routes.ts | 6 +- src/app/home-page/home-page.component.html | 3 - src/app/home-page/home-page.component.ts | 4 +- .../full/full-item-page.component.html | 1 - .../full/full-item-page.component.spec.ts | 4 +- .../full/full-item-page.component.ts | 3 +- src/app/item-page/item-page-routes.ts | 8 +++ .../item-page/simple/item-page.component.html | 1 - .../simple/item-page.component.spec.ts | 4 +- .../item-page/simple/item-page.component.ts | 3 +- src/app/shared/theme-support/theme.service.ts | 2 +- .../dspace/view-tracker-resolver.service.ts | 66 +++++++++++++++++++ .../dspace/view-tracker.component.html | 1 - .../dspace/view-tracker.component.scss | 3 - .../dspace/view-tracker.component.ts | 63 ------------------ .../dspace/view-tracker.resolver.ts | 11 ++++ .../collection-page.component.ts | 3 +- .../community-page.component.ts | 3 +- .../app/home-page/home-page.component.ts | 4 +- .../full/full-item-page.component.ts | 3 +- .../item-page/simple/item-page.component.ts | 3 +- 28 files changed, 122 insertions(+), 104 deletions(-) create mode 100644 src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts delete mode 100644 src/app/statistics/angulartics/dspace/view-tracker.component.html delete mode 100644 src/app/statistics/angulartics/dspace/view-tracker.component.scss delete mode 100644 src/app/statistics/angulartics/dspace/view-tracker.component.ts create mode 100644 src/app/statistics/angulartics/dspace/view-tracker.resolver.ts diff --git a/src/app/app-routes.ts b/src/app/app-routes.ts index 29a78364b5..ad320671f6 100644 --- a/src/app/app-routes.ts +++ b/src/app/app-routes.ts @@ -42,6 +42,8 @@ import { ThemedPageNotFoundComponent } from './pagenotfound/themed-pagenotfound. import { PROCESS_MODULE_PATH } from './process-page/process-page-routing.paths'; import { provideSubmissionState } from './submission/provide-submission-state'; import { SUGGESTION_MODULE_PATH } from './suggestions-page/suggestions-page-routing-paths'; +import { homePageResolver } from './home-page/home-page.resolver'; +import { viewTrackerResolver } from './statistics/angulartics/dspace/view-tracker.resolver'; export const APP_ROUTES: Route[] = [ { path: INTERNAL_SERVER_ERROR, component: ThemedPageInternalServerErrorComponent }, @@ -63,9 +65,16 @@ export const APP_ROUTES: Route[] = [ path: 'home', loadChildren: () => import('./home-page/home-page-routes') .then((m) => m.ROUTES), - data: { showBreadcrumbs: false }, + data: { + showBreadcrumbs: false, + dsoPath: 'site' + }, providers: [provideSuggestionNotificationsState()], canActivate: [endUserAgreementCurrentUserGuard], + resolve: { + site: homePageResolver, + tracking: viewTrackerResolver, + }, }, { path: 'community-list', diff --git a/src/app/collection-page/collection-page-routes.ts b/src/app/collection-page/collection-page-routes.ts index f2dadc3fbe..480ce4b2b9 100644 --- a/src/app/collection-page/collection-page-routes.ts +++ b/src/app/collection-page/collection-page-routes.ts @@ -24,6 +24,7 @@ import { DeleteCollectionPageComponent } from './delete-collection-page/delete-c import { itemTemplatePageResolver } from './edit-item-template-page/item-template-page.resolver'; import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component'; import { ThemedCollectionPageComponent } from './themed-collection-page.component'; +import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { @@ -100,6 +101,9 @@ export const ROUTES: Route[] = [ data: { breadcrumbKey: 'browse.metadata' }, }, ], + resolve: { + tracking: viewTrackerResolver, + }, }, ], data: { diff --git a/src/app/collection-page/collection-page.component.html b/src/app/collection-page/collection-page.component.html index 4a3e28c6aa..08f338b2d8 100644 --- a/src/app/collection-page/collection-page.component.html +++ b/src/app/collection-page/collection-page.component.html @@ -3,7 +3,6 @@ *ngVar="(collectionRD$ | async) as collectionRD">
-
diff --git a/src/app/collection-page/collection-page.component.ts b/src/app/collection-page/collection-page.component.ts index 0d240f5328..3f5deaaa31 100644 --- a/src/app/collection-page/collection-page.component.ts +++ b/src/app/collection-page/collection-page.component.ts @@ -50,7 +50,7 @@ import { ThemedLoadingComponent } from '../shared/loading/themed-loading.compone import { ObjectCollectionComponent } from '../shared/object-collection/object-collection.component'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; import { VarDirective } from '../shared/utils/var.directive'; -import { ViewTrackerComponent } from '../statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; import { getCollectionPageRoute } from './collection-page-routing-paths'; @Component({ @@ -68,7 +68,6 @@ import { getCollectionPageRoute } from './collection-page-routing-paths'; NgIf, ThemedLoadingComponent, TranslateModule, - ViewTrackerComponent, VarDirective, AsyncPipe, ComcolPageHeaderComponent, diff --git a/src/app/community-page/community-page-routes.ts b/src/app/community-page/community-page-routes.ts index d9505c53b1..8d67b98dba 100644 --- a/src/app/community-page/community-page-routes.ts +++ b/src/app/community-page/community-page-routes.ts @@ -21,6 +21,7 @@ import { createCommunityPageGuard } from './create-community-page/create-communi import { DeleteCommunityPageComponent } from './delete-community-page/delete-community-page.component'; import { SubComColSectionComponent } from './sections/sub-com-col-section/sub-com-col-section.component'; import { ThemedCommunityPageComponent } from './themed-community-page.component'; +import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { @@ -70,6 +71,9 @@ export const ROUTES: Route[] = [ { path: '', component: ThemedCommunityPageComponent, + resolve: { + tracking: viewTrackerResolver, + }, children: [ { path: '', diff --git a/src/app/community-page/community-page.component.html b/src/app/community-page/community-page.component.html index a695e2019a..740a7c8a72 100644 --- a/src/app/community-page/community-page.component.html +++ b/src/app/community-page/community-page.component.html @@ -1,7 +1,6 @@
-
diff --git a/src/app/community-page/community-page.component.ts b/src/app/community-page/community-page.component.ts index d04ecbee19..74ccc533b6 100644 --- a/src/app/community-page/community-page.component.ts +++ b/src/app/community-page/community-page.component.ts @@ -41,7 +41,7 @@ import { hasValue } from '../shared/empty.util'; import { ErrorComponent } from '../shared/error/error.component'; import { ThemedLoadingComponent } from '../shared/loading/themed-loading.component'; import { VarDirective } from '../shared/utils/var.directive'; -import { ViewTrackerComponent } from '../statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; import { getCommunityPageRoute } from './community-page-routing-paths'; import { ThemedCollectionPageSubCollectionListComponent } from './sections/sub-com-col-section/sub-collection-list/themed-community-page-sub-collection-list.component'; import { ThemedCommunityPageSubCommunityListComponent } from './sections/sub-com-col-section/sub-community-list/themed-community-page-sub-community-list.component'; @@ -66,7 +66,6 @@ import { ThemedCommunityPageSubCommunityListComponent } from './sections/sub-com ComcolPageLogoComponent, ComcolPageHeaderComponent, AsyncPipe, - ViewTrackerComponent, VarDirective, RouterOutlet, RouterModule, diff --git a/src/app/home-page/home-page-routes.ts b/src/app/home-page/home-page-routes.ts index 6e4a8f353f..f44daab3fe 100644 --- a/src/app/home-page/home-page-routes.ts +++ b/src/app/home-page/home-page-routes.ts @@ -4,6 +4,7 @@ import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; import { homePageResolver } from './home-page.resolver'; import { ThemedHomePageComponent } from './themed-home-page.component'; +import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { @@ -24,10 +25,7 @@ export const ROUTES: Route[] = [ link: 'statistics', } as LinkMenuItemModel, }], - }, - }, - resolve: { - site: homePageResolver, + } }, }, ]; diff --git a/src/app/home-page/home-page.component.html b/src/app/home-page/home-page.component.html index ad48fb328c..9a1b23d9c6 100644 --- a/src/app/home-page/home-page.component.html +++ b/src/app/home-page/home-page.component.html @@ -14,9 +14,6 @@ - - - diff --git a/src/app/home-page/home-page.component.ts b/src/app/home-page/home-page.component.ts index c954e90402..de4977323b 100644 --- a/src/app/home-page/home-page.component.ts +++ b/src/app/home-page/home-page.component.ts @@ -23,7 +23,7 @@ import { SuggestionsPopupComponent } from '../notifications/suggestions-popup/su import { ThemedConfigurationSearchPageComponent } from '../search-page/themed-configuration-search-page.component'; import { ThemedSearchFormComponent } from '../shared/search-form/themed-search-form.component'; import { PageWithSidebarComponent } from '../shared/sidebar/page-with-sidebar.component'; -import { ViewTrackerComponent } from '../statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; import { HomeCoarComponent } from './home-coar/home-coar.component'; import { ThemedHomeNewsComponent } from './home-news/themed-home-news.component'; import { RecentItemListComponent } from './recent-item-list/recent-item-list.component'; @@ -34,7 +34,7 @@ import { ThemedTopLevelCommunityListComponent } from './top-level-community-list styleUrls: ['./home-page.component.scss'], templateUrl: './home-page.component.html', standalone: true, - imports: [ThemedHomeNewsComponent, NgTemplateOutlet, NgIf, ViewTrackerComponent, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent], + imports: [ThemedHomeNewsComponent, NgTemplateOutlet, NgIf, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent], }) export class HomePageComponent implements OnInit { diff --git a/src/app/item-page/full/full-item-page.component.html b/src/app/item-page/full/full-item-page.component.html index b6e1d1e6ed..b6110c86a7 100644 --- a/src/app/item-page/full/full-item-page.component.html +++ b/src/app/item-page/full/full-item-page.component.html @@ -3,7 +3,6 @@
-
diff --git a/src/app/item-page/full/full-item-page.component.spec.ts b/src/app/item-page/full/full-item-page.component.spec.ts index 0d05510fbf..f2bf0af421 100644 --- a/src/app/item-page/full/full-item-page.component.spec.ts +++ b/src/app/item-page/full/full-item-page.component.spec.ts @@ -45,7 +45,7 @@ import { createPaginatedList } from '../../shared/testing/utils.test'; import { ThemeService } from '../../shared/theme-support/theme.service'; import { TruncatePipe } from '../../shared/utils/truncate.pipe'; import { VarDirective } from '../../shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../statistics/angulartics/dspace/view-tracker-resolver.service'; import { ThemedItemAlertsComponent } from '../alerts/themed-item-alerts.component'; import { CollectionsComponent } from '../field-components/collections/collections.component'; import { ThemedItemPageTitleFieldComponent } from '../simple/field-components/specific-field/title/themed-item-page-field.component'; @@ -162,7 +162,7 @@ describe('FullItemPageComponent', () => { ThemedLoadingComponent, ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, - ViewTrackerComponent, + ViewTrackerResolverService, ThemedItemAlertsComponent, CollectionsComponent, ThemedFullFileSectionComponent, diff --git a/src/app/item-page/full/full-item-page.component.ts b/src/app/item-page/full/full-item-page.component.ts index 88a1254feb..a780f895e4 100644 --- a/src/app/item-page/full/full-item-page.component.ts +++ b/src/app/item-page/full/full-item-page.component.ts @@ -44,7 +44,7 @@ import { hasValue } from '../../shared/empty.util'; import { ErrorComponent } from '../../shared/error/error.component'; import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component'; import { VarDirective } from '../../shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../statistics/angulartics/dspace/view-tracker-resolver.service'; import { ThemedItemAlertsComponent } from '../alerts/themed-item-alerts.component'; import { CollectionsComponent } from '../field-components/collections/collections.component'; import { ThemedItemPageTitleFieldComponent } from '../simple/field-components/specific-field/title/themed-item-page-field.component'; @@ -79,7 +79,6 @@ import { ThemedFullFileSectionComponent } from './field-components/file-section/ ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, ItemVersionsNoticeComponent, - ViewTrackerComponent, ThemedItemAlertsComponent, VarDirective, ], diff --git a/src/app/item-page/item-page-routes.ts b/src/app/item-page/item-page-routes.ts index 684ea56459..8f75474097 100644 --- a/src/app/item-page/item-page-routes.ts +++ b/src/app/item-page/item-page-routes.ts @@ -20,6 +20,8 @@ import { orcidPageGuard } from './orcid-page/orcid-page.guard'; import { ThemedItemPageComponent } from './simple/themed-item-page.component'; import { versionResolver } from './version-page/version.resolver'; import { VersionPageComponent } from './version-page/version-page/version-page.component'; +import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; +import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { @@ -35,10 +37,16 @@ export const ROUTES: Route[] = [ path: '', component: ThemedItemPageComponent, pathMatch: 'full', + resolve: { + tracking: viewTrackerResolver, + } }, { path: 'full', component: ThemedFullItemPageComponent, + resolve: { + tracking: viewTrackerResolver, + } }, { path: ITEM_EDIT_PATH, diff --git a/src/app/item-page/simple/item-page.component.html b/src/app/item-page/simple/item-page.component.html index 912115c961..b9b6fbf30e 100644 --- a/src/app/item-page/simple/item-page.component.html +++ b/src/app/item-page/simple/item-page.component.html @@ -5,7 +5,6 @@ -
diff --git a/src/app/item-page/simple/item-page.component.spec.ts b/src/app/item-page/simple/item-page.component.spec.ts index 7b29711206..80686a682d 100644 --- a/src/app/item-page/simple/item-page.component.spec.ts +++ b/src/app/item-page/simple/item-page.component.spec.ts @@ -44,7 +44,7 @@ import { import { ActivatedRouteStub } from '../../shared/testing/active-router.stub'; import { createPaginatedList } from '../../shared/testing/utils.test'; import { VarDirective } from '../../shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../statistics/angulartics/dspace/view-tracker-resolver.service'; import { ThemedItemAlertsComponent } from '../alerts/themed-item-alerts.component'; import { ItemVersionsComponent } from '../versions/item-versions.component'; import { ItemVersionsNoticeComponent } from '../versions/notice/item-versions-notice.component'; @@ -142,7 +142,7 @@ describe('ItemPageComponent', () => { remove: { imports: [ ThemedItemAlertsComponent, ItemVersionsNoticeComponent, - ViewTrackerComponent, + ViewTrackerResolverService, ListableObjectComponentLoaderComponent, ItemVersionsComponent, ErrorComponent, diff --git a/src/app/item-page/simple/item-page.component.ts b/src/app/item-page/simple/item-page.component.ts index fb2db4ad05..1247bd0d7e 100644 --- a/src/app/item-page/simple/item-page.component.ts +++ b/src/app/item-page/simple/item-page.component.ts @@ -48,7 +48,7 @@ import { ErrorComponent } from '../../shared/error/error.component'; import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component'; import { ListableObjectComponentLoaderComponent } from '../../shared/object-collection/shared/listable-object/listable-object-component-loader.component'; import { VarDirective } from '../../shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../statistics/angulartics/dspace/view-tracker-resolver.service'; import { ThemedItemAlertsComponent } from '../alerts/themed-item-alerts.component'; import { getItemPageRoute } from '../item-page-routing-paths'; import { ItemVersionsComponent } from '../versions/item-versions.component'; @@ -72,7 +72,6 @@ import { QaEventNotificationComponent } from './qa-event-notification/qa-event-n VarDirective, ThemedItemAlertsComponent, ItemVersionsNoticeComponent, - ViewTrackerComponent, ListableObjectComponentLoaderComponent, ItemVersionsComponent, ErrorComponent, diff --git a/src/app/shared/theme-support/theme.service.ts b/src/app/shared/theme-support/theme.service.ts index 6d0ba38b5b..d82bd2b836 100644 --- a/src/app/shared/theme-support/theme.service.ts +++ b/src/app/shared/theme-support/theme.service.ts @@ -5,7 +5,7 @@ import { Injector, } from '@angular/core'; import { - ActivatedRouteSnapshot, + ActivatedRouteSnapshot, NavigationStart, ResolveEnd, Router, } from '@angular/router'; diff --git a/src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts b/src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts new file mode 100644 index 0000000000..f9a24e091a --- /dev/null +++ b/src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts @@ -0,0 +1,66 @@ +import { + AfterViewChecked, AfterViewInit, + Component, Injectable, + Input, + OnDestroy, + OnInit, +} from '@angular/core'; +import { Angulartics2 } from 'angulartics2'; +import { Observable, Subscription, switchMap } from 'rxjs'; +import { filter, take } from 'rxjs/operators'; + +import { ReferrerService } from '../../../core/services/referrer.service'; +import { DSpaceObject } from '../../../core/shared/dspace-object.model'; +import { hasValue } from '../../../shared/empty.util'; +import { ActivatedRoute, ActivatedRouteSnapshot, Resolve, ResolveEnd, Router, RouterStateSnapshot } from '@angular/router'; +import { BreadcrumbConfig } from '../../../breadcrumbs/breadcrumb/breadcrumb-config.model'; +import { SubmissionObject } from '../../../core/submission/models/submission-object.model'; + +/** + * This component triggers a page view statistic + */ +@Injectable({ + providedIn: 'root' +}) +export class ViewTrackerResolverService { + + constructor( + public angulartics2: Angulartics2, + public referrerService: ReferrerService, + public router: Router, + ) { + } + + resolve(routeSnapshot: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { + const dsoPath = routeSnapshot.data['dsoPath'] || 'dso.payload'; // Fetch the resolvers passed via the route data + this.router.events.pipe( + filter(event => event instanceof ResolveEnd), + take(1), + switchMap(() => + this.referrerService.getReferrer().pipe(take(1)))) + .subscribe((referrer: string) => { + this.angulartics2.eventTrack.next({ + action: 'page_view', + properties: { + object: this.getNestedProperty(routeSnapshot.data, dsoPath), + referrer, + }, + }); + }); + return true; + } + + private getNestedProperty(obj: any, path: string) { + const keys = path.split('.'); + let result = obj; + + for (const key of keys) { + if (result && result.hasOwnProperty(key)) { + result = result[key]; + } else { + return undefined; + } + } + return result; + } +} diff --git a/src/app/statistics/angulartics/dspace/view-tracker.component.html b/src/app/statistics/angulartics/dspace/view-tracker.component.html deleted file mode 100644 index c0c0ffe181..0000000000 --- a/src/app/statistics/angulartics/dspace/view-tracker.component.html +++ /dev/null @@ -1 +0,0 @@ -  diff --git a/src/app/statistics/angulartics/dspace/view-tracker.component.scss b/src/app/statistics/angulartics/dspace/view-tracker.component.scss deleted file mode 100644 index c76cafbe44..0000000000 --- a/src/app/statistics/angulartics/dspace/view-tracker.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -:host { - display: none -} diff --git a/src/app/statistics/angulartics/dspace/view-tracker.component.ts b/src/app/statistics/angulartics/dspace/view-tracker.component.ts deleted file mode 100644 index 801f4fd2cb..0000000000 --- a/src/app/statistics/angulartics/dspace/view-tracker.component.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { - Component, - Input, - OnDestroy, - OnInit, -} from '@angular/core'; -import { Angulartics2 } from 'angulartics2'; -import { Subscription } from 'rxjs'; -import { take } from 'rxjs/operators'; - -import { ReferrerService } from '../../../core/services/referrer.service'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { hasValue } from '../../../shared/empty.util'; - -/** - * This component triggers a page view statistic - */ -@Component({ - selector: 'ds-view-tracker', - styleUrls: ['./view-tracker.component.scss'], - templateUrl: './view-tracker.component.html', - standalone: true, -}) -export class ViewTrackerComponent implements OnInit, OnDestroy { - /** - * The DSpaceObject to track a view event about - */ - @Input() object: DSpaceObject; - - /** - * The subscription on this.referrerService.getReferrer() - * @protected - */ - protected sub: Subscription; - - constructor( - public angulartics2: Angulartics2, - public referrerService: ReferrerService, - ) { - } - - ngOnInit(): void { - this.sub = this.referrerService.getReferrer() - .pipe(take(1)) - .subscribe((referrer: string) => { - this.angulartics2.eventTrack.next({ - action: 'page_view', - properties: { - object: this.object, - referrer, - }, - }); - }); - } - - ngOnDestroy(): void { - // unsubscribe in the case that this component is destroyed before - // this.referrerService.getReferrer() has emitted - if (hasValue(this.sub)) { - this.sub.unsubscribe(); - } - } -} diff --git a/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts b/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts new file mode 100644 index 0000000000..9b98185d61 --- /dev/null +++ b/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts @@ -0,0 +1,11 @@ +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/themes/custom/app/collection-page/collection-page.component.ts b/src/themes/custom/app/collection-page/collection-page.component.ts index 4b2f9e3245..f2dbe2619c 100644 --- a/src/themes/custom/app/collection-page/collection-page.component.ts +++ b/src/themes/custom/app/collection-page/collection-page.component.ts @@ -24,7 +24,7 @@ import { ErrorComponent } from '../../../../app/shared/error/error.component'; import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; import { ObjectCollectionComponent } from '../../../../app/shared/object-collection/object-collection.component'; import { VarDirective } from '../../../../app/shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; @Component({ selector: 'ds-themed-collection-page', @@ -44,7 +44,6 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp NgIf, ThemedLoadingComponent, TranslateModule, - ViewTrackerComponent, VarDirective, AsyncPipe, ComcolPageHeaderComponent, 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 5aa7e85527..f86d787ebf 100644 --- a/src/themes/custom/app/community-page/community-page.component.ts +++ b/src/themes/custom/app/community-page/community-page.component.ts @@ -25,7 +25,7 @@ import { DsoEditMenuComponent } from '../../../../app/shared/dso-page/dso-edit-m import { ErrorComponent } from '../../../../app/shared/error/error.component'; import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; import { VarDirective } from '../../../../app/shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; @Component({ selector: 'ds-themed-community-page', @@ -50,7 +50,6 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp ComcolPageLogoComponent, ComcolPageHeaderComponent, AsyncPipe, - ViewTrackerComponent, VarDirective, RouterOutlet, RouterModule, diff --git a/src/themes/custom/app/home-page/home-page.component.ts b/src/themes/custom/app/home-page/home-page.component.ts index 2b45f69754..838311f323 100644 --- a/src/themes/custom/app/home-page/home-page.component.ts +++ b/src/themes/custom/app/home-page/home-page.component.ts @@ -16,7 +16,7 @@ import { SuggestionsPopupComponent } from '../../../../app/notifications/suggest import { ThemedConfigurationSearchPageComponent } from '../../../../app/search-page/themed-configuration-search-page.component'; import { ThemedSearchFormComponent } from '../../../../app/shared/search-form/themed-search-form.component'; import { PageWithSidebarComponent } from '../../../../app/shared/sidebar/page-with-sidebar.component'; -import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; @Component({ selector: 'ds-themed-home-page', @@ -25,7 +25,7 @@ import { ViewTrackerComponent } from '../../../../app/statistics/angulartics/dsp // templateUrl: './home-page.component.html' templateUrl: '../../../../app/home-page/home-page.component.html', standalone: true, - imports: [ThemedHomeNewsComponent, NgTemplateOutlet, NgIf, ViewTrackerComponent, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent], + imports: [ThemedHomeNewsComponent, NgTemplateOutlet, NgIf, ThemedSearchFormComponent, ThemedTopLevelCommunityListComponent, RecentItemListComponent, AsyncPipe, TranslateModule, NgClass, SuggestionsPopupComponent, ThemedConfigurationSearchPageComponent, PageWithSidebarComponent, HomeCoarComponent], }) export class HomePageComponent extends BaseComponent { diff --git a/src/themes/custom/app/item-page/full/full-item-page.component.ts b/src/themes/custom/app/item-page/full/full-item-page.component.ts index c1bad7ba89..a0fda3fc10 100644 --- a/src/themes/custom/app/item-page/full/full-item-page.component.ts +++ b/src/themes/custom/app/item-page/full/full-item-page.component.ts @@ -23,7 +23,7 @@ import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edi import { ErrorComponent } from '../../../../../app/shared/error/error.component'; import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; import { VarDirective } from '../../../../../app/shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; /** * This component renders a full item page. @@ -54,7 +54,6 @@ import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/ ThemedItemPageTitleFieldComponent, DsoEditMenuComponent, ItemVersionsNoticeComponent, - ViewTrackerComponent, ThemedItemAlertsComponent, VarDirective, ], diff --git a/src/themes/custom/app/item-page/simple/item-page.component.ts b/src/themes/custom/app/item-page/simple/item-page.component.ts index 7daa65287a..ae86537d1f 100644 --- a/src/themes/custom/app/item-page/simple/item-page.component.ts +++ b/src/themes/custom/app/item-page/simple/item-page.component.ts @@ -19,7 +19,7 @@ import { ErrorComponent } from '../../../../../app/shared/error/error.component' import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; import { ListableObjectComponentLoaderComponent } from '../../../../../app/shared/object-collection/shared/listable-object/listable-object-component-loader.component'; import { VarDirective } from '../../../../../app/shared/utils/var.directive'; -import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/dspace/view-tracker.component'; +import { ViewTrackerResolverService } from '../../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; /** * This component renders a simple item page. @@ -39,7 +39,6 @@ import { ViewTrackerComponent } from '../../../../../app/statistics/angulartics/ VarDirective, ThemedItemAlertsComponent, ItemVersionsNoticeComponent, - ViewTrackerComponent, ListableObjectComponentLoaderComponent, ItemVersionsComponent, ErrorComponent, From a71b3442aed5f9f56cb384c04ddb669e040f99b6 Mon Sep 17 00:00:00 2001 From: lotte Date: Tue, 22 Apr 2025 12:29:44 +0200 Subject: [PATCH 2/3] 129694: resolver fix after merge --- src/app/collection-page/collection-page-routes.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/app/collection-page/collection-page-routes.ts b/src/app/collection-page/collection-page-routes.ts index 0804496337..486ff9a8c9 100644 --- a/src/app/collection-page/collection-page-routes.ts +++ b/src/app/collection-page/collection-page-routes.ts @@ -85,6 +85,7 @@ export const ROUTES: Route[] = [ component: ThemedCollectionPageComponent, resolve: { menu: dsoEditMenuResolver, + tracking: viewTrackerResolver, }, children: [ { @@ -103,9 +104,6 @@ export const ROUTES: Route[] = [ data: { breadcrumbKey: 'browse.metadata' }, }, ], - resolve: { - tracking: viewTrackerResolver, - }, }, ], data: { From eefc502d8ca7e1f17b7144f87f637c6d83130762 Mon Sep 17 00:00:00 2001 From: lotte Date: Tue, 22 Apr 2025 14:58:06 +0200 Subject: [PATCH 3/3] 129694: fixed lint issues --- src/app/app-routes.ts | 6 ++-- .../collection-page/collection-page-routes.ts | 2 +- .../collection-page.component.ts | 1 - .../community-page/community-page-routes.ts | 2 +- .../community-page.component.ts | 1 - src/app/home-page/home-page-routes.ts | 4 +-- src/app/home-page/home-page.component.ts | 1 - .../full/full-item-page.component.ts | 1 - src/app/item-page/item-page-routes.ts | 3 +- .../item-page/simple/item-page.component.ts | 1 - src/app/shared/theme-support/theme.service.ts | 2 +- .../dspace/view-tracker-resolver.service.ts | 28 +++++++++---------- .../dspace/view-tracker.resolver.ts | 7 ++++- .../collection-page.component.ts | 1 - .../community-page.component.ts | 1 - .../app/home-page/home-page.component.ts | 1 - .../full/full-item-page.component.ts | 1 - .../item-page/simple/item-page.component.ts | 1 - 18 files changed, 27 insertions(+), 37 deletions(-) diff --git a/src/app/app-routes.ts b/src/app/app-routes.ts index ad320671f6..c62aa3253d 100644 --- a/src/app/app-routes.ts +++ b/src/app/app-routes.ts @@ -33,6 +33,7 @@ import { reloadGuard } from './core/reload/reload.guard'; import { forgotPasswordCheckGuard } from './core/rest-property/forgot-password-check-guard.guard'; import { ServerCheckGuard } from './core/server-check/server-check.guard'; import { ThemedForbiddenComponent } from './forbidden/themed-forbidden.component'; +import { homePageResolver } from './home-page/home-page.resolver'; import { ITEM_MODULE_PATH } from './item-page/item-page-routing-paths'; import { menuResolver } from './menuResolver'; import { provideSuggestionNotificationsState } from './notifications/provide-suggestion-notifications-state'; @@ -40,10 +41,9 @@ import { ThemedPageErrorComponent } from './page-error/themed-page-error.compone import { ThemedPageInternalServerErrorComponent } from './page-internal-server-error/themed-page-internal-server-error.component'; import { ThemedPageNotFoundComponent } from './pagenotfound/themed-pagenotfound.component'; import { PROCESS_MODULE_PATH } from './process-page/process-page-routing.paths'; +import { viewTrackerResolver } from './statistics/angulartics/dspace/view-tracker.resolver'; import { provideSubmissionState } from './submission/provide-submission-state'; import { SUGGESTION_MODULE_PATH } from './suggestions-page/suggestions-page-routing-paths'; -import { homePageResolver } from './home-page/home-page.resolver'; -import { viewTrackerResolver } from './statistics/angulartics/dspace/view-tracker.resolver'; export const APP_ROUTES: Route[] = [ { path: INTERNAL_SERVER_ERROR, component: ThemedPageInternalServerErrorComponent }, @@ -67,7 +67,7 @@ export const APP_ROUTES: Route[] = [ .then((m) => m.ROUTES), data: { showBreadcrumbs: false, - dsoPath: 'site' + dsoPath: 'site', }, providers: [provideSuggestionNotificationsState()], canActivate: [endUserAgreementCurrentUserGuard], diff --git a/src/app/collection-page/collection-page-routes.ts b/src/app/collection-page/collection-page-routes.ts index 486ff9a8c9..4e3e361243 100644 --- a/src/app/collection-page/collection-page-routes.ts +++ b/src/app/collection-page/collection-page-routes.ts @@ -11,6 +11,7 @@ import { ComcolSearchSectionComponent } from '../shared/comcol/sections/comcol-s import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; import { collectionPageResolver } from './collection-page.resolver'; import { collectionPageAdministratorGuard } from './collection-page-administrator.guard'; import { @@ -24,7 +25,6 @@ import { DeleteCollectionPageComponent } from './delete-collection-page/delete-c import { itemTemplatePageResolver } from './edit-item-template-page/item-template-page.resolver'; import { ThemedEditItemTemplatePageComponent } from './edit-item-template-page/themed-edit-item-template-page.component'; import { ThemedCollectionPageComponent } from './themed-collection-page.component'; -import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { diff --git a/src/app/collection-page/collection-page.component.ts b/src/app/collection-page/collection-page.component.ts index 3f5deaaa31..43f8e9072d 100644 --- a/src/app/collection-page/collection-page.component.ts +++ b/src/app/collection-page/collection-page.component.ts @@ -50,7 +50,6 @@ import { ThemedLoadingComponent } from '../shared/loading/themed-loading.compone import { ObjectCollectionComponent } from '../shared/object-collection/object-collection.component'; import { PaginationComponentOptions } from '../shared/pagination/pagination-component-options.model'; import { VarDirective } from '../shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; import { getCollectionPageRoute } from './collection-page-routing-paths'; @Component({ diff --git a/src/app/community-page/community-page-routes.ts b/src/app/community-page/community-page-routes.ts index c415204a1f..13b7487055 100644 --- a/src/app/community-page/community-page-routes.ts +++ b/src/app/community-page/community-page-routes.ts @@ -10,6 +10,7 @@ import { ComcolSearchSectionComponent } from '../shared/comcol/sections/comcol-s import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; import { communityPageResolver } from './community-page.resolver'; import { communityPageAdministratorGuard } from './community-page-administrator.guard'; import { @@ -21,7 +22,6 @@ import { createCommunityPageGuard } from './create-community-page/create-communi import { DeleteCommunityPageComponent } from './delete-community-page/delete-community-page.component'; import { SubComColSectionComponent } from './sections/sub-com-col-section/sub-com-col-section.component'; import { ThemedCommunityPageComponent } from './themed-community-page.component'; -import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { diff --git a/src/app/community-page/community-page.component.ts b/src/app/community-page/community-page.component.ts index 74ccc533b6..e8a6468dd4 100644 --- a/src/app/community-page/community-page.component.ts +++ b/src/app/community-page/community-page.component.ts @@ -41,7 +41,6 @@ import { hasValue } from '../shared/empty.util'; import { ErrorComponent } from '../shared/error/error.component'; import { ThemedLoadingComponent } from '../shared/loading/themed-loading.component'; import { VarDirective } from '../shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; import { getCommunityPageRoute } from './community-page-routing-paths'; import { ThemedCollectionPageSubCollectionListComponent } from './sections/sub-com-col-section/sub-collection-list/themed-community-page-sub-collection-list.component'; import { ThemedCommunityPageSubCommunityListComponent } from './sections/sub-com-col-section/sub-community-list/themed-community-page-sub-community-list.component'; diff --git a/src/app/home-page/home-page-routes.ts b/src/app/home-page/home-page-routes.ts index f44daab3fe..0440315a2c 100644 --- a/src/app/home-page/home-page-routes.ts +++ b/src/app/home-page/home-page-routes.ts @@ -2,9 +2,7 @@ import { Route } from '@angular/router'; import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; -import { homePageResolver } from './home-page.resolver'; import { ThemedHomePageComponent } from './themed-home-page.component'; -import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { @@ -25,7 +23,7 @@ export const ROUTES: Route[] = [ link: 'statistics', } as LinkMenuItemModel, }], - } + }, }, }, ]; diff --git a/src/app/home-page/home-page.component.ts b/src/app/home-page/home-page.component.ts index de4977323b..eacef092b3 100644 --- a/src/app/home-page/home-page.component.ts +++ b/src/app/home-page/home-page.component.ts @@ -23,7 +23,6 @@ import { SuggestionsPopupComponent } from '../notifications/suggestions-popup/su import { ThemedConfigurationSearchPageComponent } from '../search-page/themed-configuration-search-page.component'; import { ThemedSearchFormComponent } from '../shared/search-form/themed-search-form.component'; import { PageWithSidebarComponent } from '../shared/sidebar/page-with-sidebar.component'; -import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; import { HomeCoarComponent } from './home-coar/home-coar.component'; import { ThemedHomeNewsComponent } from './home-news/themed-home-news.component'; import { RecentItemListComponent } from './recent-item-list/recent-item-list.component'; diff --git a/src/app/item-page/full/full-item-page.component.ts b/src/app/item-page/full/full-item-page.component.ts index a780f895e4..853589cd74 100644 --- a/src/app/item-page/full/full-item-page.component.ts +++ b/src/app/item-page/full/full-item-page.component.ts @@ -44,7 +44,6 @@ import { hasValue } from '../../shared/empty.util'; import { ErrorComponent } from '../../shared/error/error.component'; import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component'; import { VarDirective } from '../../shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../../statistics/angulartics/dspace/view-tracker-resolver.service'; import { ThemedItemAlertsComponent } from '../alerts/themed-item-alerts.component'; import { CollectionsComponent } from '../field-components/collections/collections.component'; import { ThemedItemPageTitleFieldComponent } from '../simple/field-components/specific-field/title/themed-item-page-field.component'; diff --git a/src/app/item-page/item-page-routes.ts b/src/app/item-page/item-page-routes.ts index b68644f47a..abd03ad5cf 100644 --- a/src/app/item-page/item-page-routes.ts +++ b/src/app/item-page/item-page-routes.ts @@ -6,6 +6,7 @@ import { itemBreadcrumbResolver } from '../core/breadcrumbs/item-breadcrumb.reso import { dsoEditMenuResolver } from '../shared/dso-page/dso-edit-menu.resolver'; import { LinkMenuItemModel } from '../shared/menu/menu-item/models/link.model'; import { MenuItemType } from '../shared/menu/menu-item-type.model'; +import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; import { BitstreamRequestACopyPageComponent } from './bitstreams/request-a-copy/bitstream-request-a-copy-page.component'; import { UploadBitstreamComponent } from './bitstreams/upload/upload-bitstream.component'; import { ThemedFullItemPageComponent } from './full/themed-full-item-page.component'; @@ -20,8 +21,6 @@ import { orcidPageGuard } from './orcid-page/orcid-page.guard'; import { ThemedItemPageComponent } from './simple/themed-item-page.component'; import { versionResolver } from './version-page/version.resolver'; import { VersionPageComponent } from './version-page/version-page/version-page.component'; -import { ViewTrackerResolverService } from '../statistics/angulartics/dspace/view-tracker-resolver.service'; -import { viewTrackerResolver } from '../statistics/angulartics/dspace/view-tracker.resolver'; export const ROUTES: Route[] = [ { diff --git a/src/app/item-page/simple/item-page.component.ts b/src/app/item-page/simple/item-page.component.ts index a424dc5186..8f3241c537 100644 --- a/src/app/item-page/simple/item-page.component.ts +++ b/src/app/item-page/simple/item-page.component.ts @@ -48,7 +48,6 @@ import { ErrorComponent } from '../../shared/error/error.component'; import { ThemedLoadingComponent } from '../../shared/loading/themed-loading.component'; import { ListableObjectComponentLoaderComponent } from '../../shared/object-collection/shared/listable-object/listable-object-component-loader.component'; import { VarDirective } from '../../shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../../statistics/angulartics/dspace/view-tracker-resolver.service'; import { ThemedItemAlertsComponent } from '../alerts/themed-item-alerts.component'; import { getItemPageRoute } from '../item-page-routing-paths'; import { ItemVersionsComponent } from '../versions/item-versions.component'; diff --git a/src/app/shared/theme-support/theme.service.ts b/src/app/shared/theme-support/theme.service.ts index d82bd2b836..6d0ba38b5b 100644 --- a/src/app/shared/theme-support/theme.service.ts +++ b/src/app/shared/theme-support/theme.service.ts @@ -5,7 +5,7 @@ import { Injector, } from '@angular/core'; import { - ActivatedRouteSnapshot, NavigationStart, + ActivatedRouteSnapshot, ResolveEnd, Router, } from '@angular/router'; diff --git a/src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts b/src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts index f9a24e091a..004864cc68 100644 --- a/src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts +++ b/src/app/statistics/angulartics/dspace/view-tracker-resolver.service.ts @@ -1,26 +1,24 @@ +import { Injectable } from '@angular/core'; import { - AfterViewChecked, AfterViewInit, - Component, Injectable, - Input, - OnDestroy, - OnInit, -} from '@angular/core'; + ActivatedRouteSnapshot, + ResolveEnd, + Router, + RouterStateSnapshot, +} from '@angular/router'; import { Angulartics2 } from 'angulartics2'; -import { Observable, Subscription, switchMap } from 'rxjs'; -import { filter, take } from 'rxjs/operators'; +import { switchMap } from 'rxjs'; +import { + filter, + take, +} from 'rxjs/operators'; import { ReferrerService } from '../../../core/services/referrer.service'; -import { DSpaceObject } from '../../../core/shared/dspace-object.model'; -import { hasValue } from '../../../shared/empty.util'; -import { ActivatedRoute, ActivatedRouteSnapshot, Resolve, ResolveEnd, Router, RouterStateSnapshot } from '@angular/router'; -import { BreadcrumbConfig } from '../../../breadcrumbs/breadcrumb/breadcrumb-config.model'; -import { SubmissionObject } from '../../../core/submission/models/submission-object.model'; /** * This component triggers a page view statistic */ @Injectable({ - providedIn: 'root' + providedIn: 'root', }) export class ViewTrackerResolverService { @@ -32,7 +30,7 @@ export class ViewTrackerResolverService { } resolve(routeSnapshot: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { - const dsoPath = routeSnapshot.data['dsoPath'] || 'dso.payload'; // Fetch the resolvers passed via the route data + const dsoPath = routeSnapshot.data.dsoPath || 'dso.payload'; // Fetch the resolvers passed via the route data this.router.events.pipe( filter(event => event instanceof ResolveEnd), take(1), diff --git a/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts b/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts index 9b98185d61..78b6bb6f8a 100644 --- a/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts +++ b/src/app/statistics/angulartics/dspace/view-tracker.resolver.ts @@ -1,5 +1,10 @@ import { inject } from '@angular/core'; -import { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot, } from '@angular/router'; +import { + ActivatedRouteSnapshot, + ResolveFn, + RouterStateSnapshot, +} from '@angular/router'; + import { ViewTrackerResolverService } from './view-tracker-resolver.service'; export const viewTrackerResolver: ResolveFn = ( 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 f2dbe2619c..470a5cf62c 100644 --- a/src/themes/custom/app/collection-page/collection-page.component.ts +++ b/src/themes/custom/app/collection-page/collection-page.component.ts @@ -24,7 +24,6 @@ import { ErrorComponent } from '../../../../app/shared/error/error.component'; import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; import { ObjectCollectionComponent } from '../../../../app/shared/object-collection/object-collection.component'; import { VarDirective } from '../../../../app/shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; @Component({ selector: 'ds-themed-collection-page', 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 f86d787ebf..d14507e905 100644 --- a/src/themes/custom/app/community-page/community-page.component.ts +++ b/src/themes/custom/app/community-page/community-page.component.ts @@ -25,7 +25,6 @@ import { DsoEditMenuComponent } from '../../../../app/shared/dso-page/dso-edit-m import { ErrorComponent } from '../../../../app/shared/error/error.component'; import { ThemedLoadingComponent } from '../../../../app/shared/loading/themed-loading.component'; import { VarDirective } from '../../../../app/shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; @Component({ selector: 'ds-themed-community-page', diff --git a/src/themes/custom/app/home-page/home-page.component.ts b/src/themes/custom/app/home-page/home-page.component.ts index 838311f323..86c0d272d5 100644 --- a/src/themes/custom/app/home-page/home-page.component.ts +++ b/src/themes/custom/app/home-page/home-page.component.ts @@ -16,7 +16,6 @@ import { SuggestionsPopupComponent } from '../../../../app/notifications/suggest import { ThemedConfigurationSearchPageComponent } from '../../../../app/search-page/themed-configuration-search-page.component'; import { ThemedSearchFormComponent } from '../../../../app/shared/search-form/themed-search-form.component'; import { PageWithSidebarComponent } from '../../../../app/shared/sidebar/page-with-sidebar.component'; -import { ViewTrackerResolverService } from '../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; @Component({ selector: 'ds-themed-home-page', diff --git a/src/themes/custom/app/item-page/full/full-item-page.component.ts b/src/themes/custom/app/item-page/full/full-item-page.component.ts index a0fda3fc10..c9b17cd200 100644 --- a/src/themes/custom/app/item-page/full/full-item-page.component.ts +++ b/src/themes/custom/app/item-page/full/full-item-page.component.ts @@ -23,7 +23,6 @@ import { DsoEditMenuComponent } from '../../../../../app/shared/dso-page/dso-edi import { ErrorComponent } from '../../../../../app/shared/error/error.component'; import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; import { VarDirective } from '../../../../../app/shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; /** * This component renders a full item page. diff --git a/src/themes/custom/app/item-page/simple/item-page.component.ts b/src/themes/custom/app/item-page/simple/item-page.component.ts index ae86537d1f..7ffd4b68d1 100644 --- a/src/themes/custom/app/item-page/simple/item-page.component.ts +++ b/src/themes/custom/app/item-page/simple/item-page.component.ts @@ -19,7 +19,6 @@ import { ErrorComponent } from '../../../../../app/shared/error/error.component' import { ThemedLoadingComponent } from '../../../../../app/shared/loading/themed-loading.component'; import { ListableObjectComponentLoaderComponent } from '../../../../../app/shared/object-collection/shared/listable-object/listable-object-component-loader.component'; import { VarDirective } from '../../../../../app/shared/utils/var.directive'; -import { ViewTrackerResolverService } from '../../../../../app/statistics/angulartics/dspace/view-tracker-resolver.service'; /** * This component renders a simple item page.