diff --git a/dmp-frontend/src/app/ui/about/about.component.ts b/dmp-frontend/src/app/ui/about/about.component.ts index e659f69de..4bc1ca7b6 100644 --- a/dmp-frontend/src/app/ui/about/about.component.ts +++ b/dmp-frontend/src/app/ui/about/about.component.ts @@ -1,18 +1,22 @@ +import { HttpClient } from '@angular/common/http'; import { Component, OnInit } from '@angular/core'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ - selector: 'app-about-componet', - templateUrl: './about.component.html', - styleUrls: ['./about.component.scss'] + selector: 'app-about-componet', + templateUrl: './about.component.html', + styleUrls: ['./about.component.scss'] }) export class AboutComponent implements OnInit { - constructor() { + constructor( + private httpClient: HttpClient, + private matomoService: MatomoService) { + } - } - - ngOnInit() { - } + ngOnInit() { + this.matomoService.trackPageView('About'); + } } diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts index ceabf190f..d30180f76 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/editor/dataset-profile-editor.component.ts @@ -1,6 +1,6 @@ import { of as observableOf, Observable } from 'rxjs'; -import { HttpErrorResponse } from '@angular/common/http'; +import { HttpClient, HttpErrorResponse } from '@angular/common/http'; import { Component, OnInit, ViewChild } from '@angular/core'; import { FormArray, FormControl, FormGroup } from '@angular/forms'; import { MatDialog } from '@angular/material/dialog'; @@ -25,6 +25,7 @@ import { ConfirmationDialogComponent } from '@common/modules/confirmation-dialog import { LanguageInfo } from '@app/core/model/language-info'; import { LanguageInfoService } from '@app/core/services/culture/language-info-service'; import { FormValidationErrorsDialogComponent } from '@common/forms/form-validation-errors-dialog/form-validation-errors-dialog.component'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; const skipDisable: any[] = require('../../../../../assets/resources/skipDisable.json'); @@ -60,7 +61,9 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn private uiNotificationService: UiNotificationService, private language: TranslateService, private dialog: MatDialog, - private languageInfoService: LanguageInfoService + private languageInfoService: LanguageInfoService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); // this.profileID = route.snapshot.params['id']; @@ -68,6 +71,7 @@ export class DatasetProfileEditorComponent extends BaseComponent implements OnIn } ngOnInit() { + this.matomoService.trackPageView('Admin: Dataset Profile Edit'); this.route.paramMap.pipe(takeUntil(this._destroyed)).subscribe((paramMap: ParamMap) => { this.datasetProfileId = paramMap.get('id'); const cloneId = paramMap.get('cloneid'); diff --git a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts index 230ebf16f..0b17a2951 100644 --- a/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts +++ b/dmp-frontend/src/app/ui/admin/dataset-profile/listing/dataset-profile-listing.component.ts @@ -1,4 +1,5 @@ import { DataSource } from '@angular/cdk/table'; +import { HttpClient } from '@angular/common/http'; import { Component, OnInit, ViewChild } from '@angular/core'; import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { MatSort } from '@angular/material/sort'; @@ -9,6 +10,7 @@ import { DmpModel } from '@app/core/model/dmp/dmp'; import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria'; import { DatasetProfileService } from '@app/core/services/dataset-profile/dataset-profile.service'; import { DmpService } from '@app/core/services/dmp/dmp.service'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; import { UiNotificationService } from '@app/core/services/notification/ui-notification-service'; import { DatasetProfileCriteriaComponent } from '@app/ui/admin/dataset-profile/listing/criteria/dataset-profile.component'; import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item'; @@ -42,12 +44,15 @@ export class DatasetProfileListingComponent extends BaseComponent implements OnI private route: ActivatedRoute, private dmpService: DmpService, private language: TranslateService, - private uiNotificationService: UiNotificationService + private uiNotificationService: UiNotificationService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Admin: Dataset Templates'); this.route.params .pipe(takeUntil(this._destroyed)) .subscribe((params: Params) => { diff --git a/dmp-frontend/src/app/ui/admin/dmp-profile/editor/dmp-profile-editor.component.ts b/dmp-frontend/src/app/ui/admin/dmp-profile/editor/dmp-profile-editor.component.ts index 6ee859cf1..90cc566e0 100644 --- a/dmp-frontend/src/app/ui/admin/dmp-profile/editor/dmp-profile-editor.component.ts +++ b/dmp-frontend/src/app/ui/admin/dmp-profile/editor/dmp-profile-editor.component.ts @@ -21,6 +21,8 @@ import * as FileSaver from 'file-saver'; import { Observable, of as observableOf } from 'rxjs'; import { map, takeUntil } from 'rxjs/operators'; import { ConfigurationService } from '@app/core/services/configuration/configuration.service'; +import { HttpClient } from '@angular/common/http'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ @@ -46,13 +48,16 @@ export class DmpProfileEditorComponent extends BaseComponent implements AfterVie private enumUtils: EnumUtils, private uiNotificationService: UiNotificationService, private formService: FormService, - private configurationService: ConfigurationService + private configurationService: ConfigurationService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); this.host = configurationService.server; } ngAfterViewInit() { + this.matomoService.trackPageView('Admin: DMP Profile Edit'); this.route.params .pipe(takeUntil(this._destroyed)) .subscribe((params: Params) => { diff --git a/dmp-frontend/src/app/ui/admin/dmp-profile/listing/dmp-profile-listing.component.ts b/dmp-frontend/src/app/ui/admin/dmp-profile/listing/dmp-profile-listing.component.ts index 6a954910d..2bcd93061 100644 --- a/dmp-frontend/src/app/ui/admin/dmp-profile/listing/dmp-profile-listing.component.ts +++ b/dmp-frontend/src/app/ui/admin/dmp-profile/listing/dmp-profile-listing.component.ts @@ -1,5 +1,6 @@ import { DataSource } from '@angular/cdk/table'; +import { HttpClient } from '@angular/common/http'; import { Component, OnInit, ViewChild } from '@angular/core'; import { MatPaginator, PageEvent } from '@angular/material/paginator'; import { MatSnackBar } from '@angular/material/snack-bar'; @@ -9,6 +10,7 @@ import { DataTableRequest } from '@app/core/model/data-table/data-table-request' import { DmpProfileListing } from '@app/core/model/dmp-profile/dmp-profile-listing'; import { DmpProfileCriteria } from '@app/core/query/dmp/dmp-profile-criteria'; import { DmpProfileService } from '@app/core/services/dmp/dmp-profile.service'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; import { DmpProfileCriteriaComponent } from '@app/ui/admin/dmp-profile/listing/criteria/dmp-profile-criteria.component'; import { BreadcrumbItem } from '@app/ui/misc/breadcrumb/definition/breadcrumb-item'; import { BaseComponent } from '@common/base/base.component'; @@ -45,12 +47,15 @@ export class DmpProfileListingComponent extends BaseComponent implements OnInit private languageService: TranslateService, public snackBar: MatSnackBar, public route: ActivatedRoute, - public dmpProfileService: DmpProfileService + public dmpProfileService: DmpProfileService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Admin: DMP Templates'); this.route.params .pipe(takeUntil(this._destroyed)) .subscribe((params: Params) => { diff --git a/dmp-frontend/src/app/ui/admin/user/listing/user-listing.component.ts b/dmp-frontend/src/app/ui/admin/user/listing/user-listing.component.ts index fc19d0fc3..ea56ebbfb 100644 --- a/dmp-frontend/src/app/ui/admin/user/listing/user-listing.component.ts +++ b/dmp-frontend/src/app/ui/admin/user/listing/user-listing.component.ts @@ -17,6 +17,8 @@ import { UserCriteriaComponent } from './criteria/user-criteria.component'; import { BreadcrumbItem } from '../../../misc/breadcrumb/definition/breadcrumb-item'; import { BaseComponent } from '@common/base/base.component'; import * as FileSaver from 'file-saver'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; export class UsersDataSource extends DataSource { @@ -117,12 +119,15 @@ export class UserListingComponent extends BaseComponent implements OnInit, After constructor( private userService: UserService, private languageService: TranslateService, - public snackBar: MatSnackBar + public snackBar: MatSnackBar, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Admin: Users'); this.breadCrumbs = observableOf([{ parentComponentName: null, label: this.languageService.instant('NAV-BAR.USERS-BREADCRUMB'), diff --git a/dmp-frontend/src/app/ui/contact/contact-content/contact-content.component.ts b/dmp-frontend/src/app/ui/contact/contact-content/contact-content.component.ts index 207cc3848..21b4ad874 100644 --- a/dmp-frontend/src/app/ui/contact/contact-content/contact-content.component.ts +++ b/dmp-frontend/src/app/ui/contact/contact-content/contact-content.component.ts @@ -9,6 +9,8 @@ import { ValidationErrorModel } from '@common/forms/validation/error-model/valid import { TranslateService } from '@ngx-translate/core'; import { takeUntil } from 'rxjs/operators'; import { FormService } from '@common/forms/form-service'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-contact-content', @@ -27,12 +29,15 @@ export class ContactContentComponent extends BaseComponent implements OnInit { private _location: Location, private uiNotificationService: UiNotificationService, private language: TranslateService, - private formService: FormService + private formService: FormService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Contact Content'); if (this.isDialog) { this.formGroup = this.form; } else { diff --git a/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts b/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts index d25e9bcd5..ecbf545bd 100644 --- a/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/drafts/drafts.component.ts @@ -25,6 +25,8 @@ import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order import { Location } from '@angular/common'; import { Role } from '@app/core/common/enum/role'; import { LockService } from '@app/core/services/lock/lock.service'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-drafts', @@ -60,12 +62,15 @@ export class DraftsComponent extends BaseComponent implements OnInit { public enumUtils: EnumUtils, private uiNotificationService: UiNotificationService, private location: Location, - private lockService: LockService + private lockService: LockService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Drafts'); // const fields: Array = []; // fields.push('-modified'); this.formGroup.get('order').setValue(this.order.MODIFIED); diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts index c2fa7776b..ddd660f57 100644 --- a/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-activity/recent-edited-activity.component.ts @@ -40,6 +40,8 @@ import { FunderFormModel } from '@app/ui/dmp/editor/grant-tab/funder-form-model' import { ExtraPropertiesFormModel } from '@app/ui/dmp/editor/general-tab/extra-properties-form.model'; import { DmpModel } from '@app/core/model/dmp/dmp'; import { CloneDialogComponent } from '@app/ui/dmp/clone/clone-dialog/clone-dialog.component'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-recent-edited-activity', @@ -79,12 +81,15 @@ export class RecentEditedActivityComponent extends BaseComponent implements OnIn private uiNotificationService: UiNotificationService, private datasetWizardService: DatasetWizardService, private location: Location, - private lockService: LockService + private lockService: LockService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Recent Edited Activity'); if (this.isAuthenticated()) { this.formGroup.get('order').setValue(this.order.MODIFIED); const fields: Array = [((this.formGroup.get('order').value === 'status') || (this.formGroup.get('order').value === 'label') ? '+' : "-") + this.formGroup.get('order').value]; diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts index 218fd06fa..83d4596f8 100644 --- a/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-dataset-activity/recent-edited-dataset-activity.component.ts @@ -25,6 +25,8 @@ import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order import { Role } from '@app/core/common/enum/role'; import { Location } from '@angular/common'; import { LockService } from '@app/core/services/lock/lock.service'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-recent-edited-dataset-activity', @@ -57,12 +59,15 @@ export class RecentEditedDatasetActivityComponent extends BaseComponent implemen private datasetWizardService: DatasetWizardService, private uiNotificationService: UiNotificationService, private location: Location, - private lockService: LockService + private lockService: LockService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Recent Dataset Activity'); if (this.isAuthenticated()) { // const fields: Array = ["-modified"]; this.formGroup.get('order').setValue(this.order.MODIFIED); diff --git a/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts b/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts index 8f2be09fa..74a40e06b 100644 --- a/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts +++ b/dmp-frontend/src/app/ui/dashboard/recent-edited-dmp-activity/recent-edited-dmp-activity.component.ts @@ -32,6 +32,8 @@ import { GrantTabModel } from '@app/ui/dmp/editor/grant-tab/grant-tab-model'; import { ExtraPropertiesFormModel } from '@app/ui/dmp/editor/general-tab/extra-properties-form.model'; import { FunderFormModel } from '@app/ui/dmp/editor/grant-tab/funder-form-model'; import { ProjectFormModel } from '@app/ui/dmp/editor/grant-tab/project-form-model'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-recent-edited-dmp-activity', @@ -70,12 +72,15 @@ export class RecentEditedDmpActivityComponent extends BaseComponent implements O private dialog: MatDialog, private uiNotificationService: UiNotificationService, private location: Location, - private lockService: LockService + private lockService: LockService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Recent DMP Activity'); if (this.isAuthenticated()) { // const fields: Array = ["-modified"]; this.formGroup.get('order').setValue(this.order.MODIFIED); diff --git a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.html b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.html index 49943f639..a0f15db1b 100644 --- a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.html +++ b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.html @@ -13,7 +13,7 @@
{{ formGroup.get('label').value }} ({{'DMP-EDITOR.CHANGES' | translate}})
{{'DATASET-LISTING.TOOLTIP.TO-DMP' | translate}}
-
: {{ formGroup.get('dmp').value.label }}
+
: {{ formGroup.get('dmp').value.label }}
open_in_new diff --git a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts index 74e728375..1b2d4994c 100644 --- a/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts +++ b/dmp-frontend/src/app/ui/dataset/dataset-wizard/dataset-wizard.component.ts @@ -43,6 +43,8 @@ import { environment } from 'environments/environment'; import { ConfigurationService } from '@app/core/services/configuration/configuration.service'; import { SaveType } from '@app/core/common/enum/save-type'; import { DatasetWizardModel } from '@app/core/model/dataset/dataset-wizard'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-dataset-wizard-component', @@ -103,12 +105,15 @@ export class DatasetWizardComponent extends BaseComponent implements OnInit, IBr private lockService: LockService, private location: Location, private authService: AuthService, - private configurationService: ConfigurationService + private configurationService: ConfigurationService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Dataset Editor'); this.route .data .pipe(takeUntil(this._destroyed)) diff --git a/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria-dialogue/dataset-criteria-dialog.component.ts b/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria-dialogue/dataset-criteria-dialog.component.ts index 13d01f247..d24cfc225 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria-dialogue/dataset-criteria-dialog.component.ts +++ b/dmp-frontend/src/app/ui/dataset/listing/criteria/dataset-criteria-dialogue/dataset-criteria-dialog.component.ts @@ -3,6 +3,8 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; import { FormGroup } from '@angular/forms'; import { DatasetCriteriaComponent } from '../dataset-criteria.component'; import { DatasetCriteria } from '@app/core/query/dataset/dataset-criteria'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'dataset-criteria-dialog-component', @@ -16,11 +18,14 @@ export class DatasetCriteriaDialogComponent implements OnInit { constructor( public dialogRef: MatDialogRef, + private httpClient: HttpClient, + private matomoService: MatomoService, @Inject(MAT_DIALOG_DATA) public data: { isPublic: boolean, status: Number, criteria: DatasetCriteria, formGroup: FormGroup, updateDataFn: Function } ) { } ngOnInit() { + this.matomoService.trackPageView('Dataset Criteria'); this.criteria.setCriteria(this.data.criteria); } diff --git a/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts b/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts index ddc771c7e..c3dfbf807 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts +++ b/dmp-frontend/src/app/ui/dataset/listing/dataset-listing.component.ts @@ -28,6 +28,8 @@ import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service' import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants'; import { StartNewDatasetDialogComponent } from '@app/ui/dmp/start-new-dataset-dialogue/start-new-dataset-dialog.component'; import { StartNewDmpDialogComponent } from '@app/ui/dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-dataset-listing-component', @@ -77,12 +79,15 @@ export class DatasetListingComponent extends BaseComponent implements OnInit, IB private authService: AuthService, public enumUtils: EnumUtils, private authentication: AuthService, - private guidedTourService: GuidedTourService + private guidedTourService: GuidedTourService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Datasets'); this.isPublic = this.router.url === '/explore'; if (this.isPublic) { this.formGroup.get('order').setValue(this.order.DATASETPUBLISHED); diff --git a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts index 2b2591501..8c377cf6b 100644 --- a/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts +++ b/dmp-frontend/src/app/ui/dataset/listing/listing-item/dataset-listing-item.component.ts @@ -20,6 +20,8 @@ import { AuthService } from '@app/core/services/auth/auth.service'; import { LockService } from '@app/core/services/lock/lock.service'; import { Role } from '@app/core/common/enum/role'; import { Location } from '@angular/common'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-dataset-listing-item-component', @@ -46,12 +48,15 @@ export class DatasetListingItemComponent extends BaseComponent implements OnInit private authentication: AuthService, private uiNotificationService: UiNotificationService, private lockService: LockService, - private location: Location + private location: Location, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Dataset Listing Item'); if (this.dataset.status === DatasetStatus.Draft) { this.isDraft = true; this.isDeleted = false; diff --git a/dmp-frontend/src/app/ui/dataset/overview/dataset-overview.component.ts b/dmp-frontend/src/app/ui/dataset/overview/dataset-overview.component.ts index fb1b8f869..3ce790c8d 100644 --- a/dmp-frontend/src/app/ui/dataset/overview/dataset-overview.component.ts +++ b/dmp-frontend/src/app/ui/dataset/overview/dataset-overview.component.ts @@ -31,6 +31,8 @@ import { LockService } from '@app/core/services/lock/lock.service'; import { DatasetWizardModel } from '@app/core/model/dataset/dataset-wizard'; import { DmpStatus } from '@app/core/common/enum/dmp-status'; import { DmpOverviewModel } from '@app/core/model/dmp/dmp-overview'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ @@ -70,12 +72,15 @@ export class DatasetOverviewComponent extends BaseComponent implements OnInit { private dmpService: DmpService, private location: Location, private datasetWizardService: DatasetWizardService, - private lockService: LockService + private lockService: LockService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Dataset Overview'); // Gets dataset data using parameter id this.route.params .pipe(takeUntil(this._destroyed)) diff --git a/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.component.ts b/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.component.ts index 46cb687f9..2566c390e 100644 --- a/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.component.ts +++ b/dmp-frontend/src/app/ui/dmp/editor/dmp-editor.component.ts @@ -52,6 +52,8 @@ import { DatasetWizardModel } from '@app/core/model/dataset/dataset-wizard'; import { DatasetService } from '@app/core/services/dataset/dataset.service'; import { DmpToDatasetDialogComponent } from '../dmp-to-dataset/dmp-to-dataset-dialog.component'; import { GrantEditorModel } from '@app/ui/grant/editor/grant-editor.model'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-dmp-editor-component', @@ -112,12 +114,15 @@ export class DmpEditorComponent extends BaseComponent implements OnInit, IBreadC private authService: AuthService, private formService: FormService, private lockService: LockService, - private configurationService: ConfigurationService + private configurationService: ConfigurationService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('DMP Editor'); this.route.params .pipe(takeUntil(this._destroyed)) .subscribe((params: Params) => { diff --git a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts index 8c895d812..e7335ef87 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/criteria/dmp-criteria-dialog.component.ts @@ -3,6 +3,8 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material'; import { DmpCriteriaComponent } from './dmp-criteria.component'; import { DmpCriteria } from '@app/core/query/dmp/dmp-criteria'; import { FormGroup } from '@angular/forms'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'dmp-criteria-dialog-component', @@ -16,11 +18,14 @@ export class DmpCriteriaDialogComponent implements OnInit { constructor( public dialogRef: MatDialogRef, + private httpClient: HttpClient, + private matomoService: MatomoService, @Inject(MAT_DIALOG_DATA) public data: { showGrant: boolean, isPublic: boolean, criteria: DmpCriteria, formGroup: FormGroup, updateDataFn: Function } ) { } ngOnInit() { + this.matomoService.trackPageView('DMP Criteria'); this.criteria.setCriteria(this.data.criteria); } diff --git a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts index 54f665a2a..94342c2b0 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/dmp-listing.component.ts @@ -29,6 +29,8 @@ import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order import { GuidedTourService } from '@app/library/guided-tour/guided-tour.service'; import { GuidedTour, Orientation } from '@app/library/guided-tour/guided-tour.constants'; import { NgDialogAnimationService } from "ng-dialog-animation"; +import { HttpClient } from '@angular/common/http'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ selector: 'app-dmp-listing-component', @@ -80,12 +82,15 @@ export class DmpListingComponent extends BaseComponent implements OnInit, IBread private grantService: GrantService, private uiNotificationService: UiNotificationService, private authService: AuthService, - private guidedTourService: GuidedTourService + private guidedTourService: GuidedTourService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('DMPs'); this.isPublic = this.router.url.startsWith('/explore-plans'); if (this.isPublic) { this.formGroup.get('order').setValue(this.order.PUBLISHED); diff --git a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts index 619609ba7..5f54aee71 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/listing-item/dmp-listing-item.component.ts @@ -26,6 +26,8 @@ import { ProjectFormModel } from '../../editor/grant-tab/project-form-model'; import { FunderFormModel } from '../../editor/grant-tab/funder-form-model'; import { ExtraPropertiesFormModel } from '../../editor/general-tab/extra-properties-form.model'; import { GrantTabModel } from '../../editor/grant-tab/grant-tab-model'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-dmp-listing-item-component', @@ -54,11 +56,14 @@ export class DmpListingItemComponent extends BaseComponent implements OnInit { private language: TranslateService, private uiNotificationService: UiNotificationService, private lockService: LockService, - private location: Location) { + private location: Location, + private httpClient: HttpClient, + private matomoService: MatomoService) { super(); } ngOnInit() { + this.matomoService.trackPageView('DMP Listing Item'); if (this.dmp.status == DmpStatus.Draft) { this.isDraft = true; this.isFinalized = false; diff --git a/dmp-frontend/src/app/ui/dmp/listing/upload-dialogue/dmp-upload-dialogue.component.ts b/dmp-frontend/src/app/ui/dmp/listing/upload-dialogue/dmp-upload-dialogue.component.ts index 614397aba..15cd4b718 100644 --- a/dmp-frontend/src/app/ui/dmp/listing/upload-dialogue/dmp-upload-dialogue.component.ts +++ b/dmp-frontend/src/app/ui/dmp/listing/upload-dialogue/dmp-upload-dialogue.component.ts @@ -9,6 +9,8 @@ import { DataTableRequest } from '@app/core/model/data-table/data-table-request' import { DatasetProfileCriteria } from '@app/core/query/dataset-profile/dataset-profile-criteria'; import { DatasetPreviewDialogComponent } from '../../dataset-preview/dataset-preview-dialog.component'; import { BaseComponent } from '@common/base/base.component'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'dmp-upload-dialogue', @@ -34,11 +36,17 @@ export class DmpUploadDialogue extends BaseComponent { public dialogRef: MatDialogRef, private _service: DmpService, private dialog: MatDialog, + private httpClient: HttpClient, + private matomoService: MatomoService, @Inject(MAT_DIALOG_DATA) public data: any, ) { super(); } + ngOnInit() { + this.matomoService.trackPageView('DMP Upload Dialog'); + } + cancel() { this.data.success = false; this.dialogRef.close(this.data); diff --git a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts index ead32abdb..021b44d7c 100644 --- a/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts +++ b/dmp-frontend/src/app/ui/dmp/overview/dmp-overview.component.ts @@ -46,6 +46,8 @@ import { ExtraPropertiesFormModel } from '../editor/general-tab/extra-properties import { DatasetWizardEditorModel } from '@app/ui/dataset/dataset-wizard/dataset-wizard-editor.model'; import { StartNewDatasetDialogComponent } from '../start-new-dataset-dialogue/start-new-dataset-dialog.component'; import { StartNewDmpDialogComponent } from '../start-new-dmp-dialogue/start-new-dmp-dialog.component'; +import { HttpClient } from '@angular/common/http'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ selector: 'app-dmp-overview', @@ -88,12 +90,15 @@ export class DmpOverviewComponent extends BaseComponent implements OnInit { private oauth2DialogService: Oauth2DialogService, private userService: UserService, private location: Location, - private lockService: LockService + private lockService: LockService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('DMP Overview'); // Gets dmp data using parameter id this.route.params .pipe(takeUntil(this._destroyed)) diff --git a/dmp-frontend/src/app/ui/dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component.ts b/dmp-frontend/src/app/ui/dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component.ts index 04d44886d..7e52b8d8b 100644 --- a/dmp-frontend/src/app/ui/dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component.ts +++ b/dmp-frontend/src/app/ui/dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component.ts @@ -7,6 +7,8 @@ import { TranslateService } from '@ngx-translate/core'; import { DmpService } from '@app/core/services/dmp/dmp.service'; import { takeUntil } from 'rxjs/operators'; import { BaseComponent } from '@common/base/base.component'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-start-new-dmp', @@ -24,12 +26,18 @@ export class StartNewDmpDialogComponent extends BaseComponent { public dialog: MatDialog, private uiNotificationService: UiNotificationService, private language: TranslateService, - private dmpService: DmpService + private dmpService: DmpService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); this.isDialog = data.isDialog; } + ngOnInit() { + this.matomoService.trackPageView('Start New DMP Dialog'); + } + cancel() { this.dialogRef.close(); } diff --git a/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts b/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts index 7eb9ef04b..83696d3e5 100644 --- a/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts +++ b/dmp-frontend/src/app/ui/glossary/glossary-content/glossary-content.component.ts @@ -1,4 +1,6 @@ +import { HttpClient } from '@angular/common/http'; import { Component, OnInit, Input } from '@angular/core'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ selector: 'app-glossary-content', @@ -9,9 +11,13 @@ export class GlossaryContentComponent implements OnInit { @Input() isDialog: boolean; - constructor() { } + constructor( + private httpClient: HttpClient, + private matomoService: MatomoService + ) { } ngOnInit() { + this.matomoService.trackPageView('Glossary'); } } diff --git a/dmp-frontend/src/app/ui/language-editor/language-editor.component.ts b/dmp-frontend/src/app/ui/language-editor/language-editor.component.ts index cb7e28239..effcdd6e5 100644 --- a/dmp-frontend/src/app/ui/language-editor/language-editor.component.ts +++ b/dmp-frontend/src/app/ui/language-editor/language-editor.component.ts @@ -7,6 +7,8 @@ import { TranslateService } from '@ngx-translate/core'; import { UiNotificationService, SnackBarNotificationLevel } from '@app/core/services/notification/ui-notification-service'; import { Router } from '@angular/router'; import { CdkTextareaAutosize } from '@angular/cdk/text-field'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-language-editor', @@ -35,6 +37,8 @@ export class LanguageEditorComponent extends BaseComponent implements OnInit, Af private uiNotificationService: UiNotificationService, private translate: TranslateService, private router: Router, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } @@ -53,6 +57,7 @@ export class LanguageEditorComponent extends BaseComponent implements OnInit, Af } ngOnInit() { + this.matomoService.trackPageView('Admin: Language Editor'); this.formBuilder = new FormBuilder(); this.formGroup = this.formBuilder.group({}); this.endIndex = this.maxElements; diff --git a/dmp-frontend/src/app/ui/navbar/navbar.component.ts b/dmp-frontend/src/app/ui/navbar/navbar.component.ts index b1708bf82..016c794cd 100644 --- a/dmp-frontend/src/app/ui/navbar/navbar.component.ts +++ b/dmp-frontend/src/app/ui/navbar/navbar.component.ts @@ -16,6 +16,8 @@ import { DmpInvitationDialogComponent } from '../dmp/invitation/dmp-invitation-d import { StartNewDmpDialogComponent } from '../dmp/start-new-dmp-dialogue/start-new-dmp-dialog.component'; import { UserListingModel } from '@app/core/model/user/user-listing'; import { Principal } from '@app/core/model/auth/principal'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; const availableLanguages: any[] = require('../../../assets/resources/language.json'); @@ -46,7 +48,9 @@ export class NavbarComponent extends BaseComponent implements OnInit { private dialog: MatDialog, private progressIndicationService: ProgressIndicationService, private languageService: LanguageService, - public userService: UserService + public userService: UserService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); this.location = location; @@ -54,6 +58,7 @@ export class NavbarComponent extends BaseComponent implements OnInit { } ngOnInit() { + this.matomoService.trackPageView('Navbar'); this.currentRoute = this.router.url; this.listTitles = GENERAL_ROUTES.filter(listTitle => listTitle); this.listTitles.push(DMP_ROUTES.filter(listTitle => listTitle)); diff --git a/dmp-frontend/src/app/ui/sidebar/sidebar-footer/sidebar-footer.component.ts b/dmp-frontend/src/app/ui/sidebar/sidebar-footer/sidebar-footer.component.ts index b8414c7f5..387890390 100644 --- a/dmp-frontend/src/app/ui/sidebar/sidebar-footer/sidebar-footer.component.ts +++ b/dmp-frontend/src/app/ui/sidebar/sidebar-footer/sidebar-footer.component.ts @@ -15,6 +15,8 @@ import { TranslateService } from '@ngx-translate/core'; import { takeUntil } from 'rxjs/operators'; import { AuthService } from "@app/core/services/auth/auth.service"; import { UserGuideDialogComponent } from '@app/ui/user-guide/dialog/user-guide-dialog.component'; +import { HttpClient } from '@angular/common/http'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ selector: 'app-sidebar-footer', @@ -34,11 +36,14 @@ export class SidebarFooterComponent extends BaseComponent implements OnInit { private uiNotificationService: UiNotificationService, private formService: FormService, private authentication: AuthService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Sidebar Footer'); this.contactEmailFormModel = new ContactEmailFormModel(); this.formGroup = this.contactEmailFormModel.buildForm(); } diff --git a/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts b/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts index b17d4e5ed..6e8cdb08a 100644 --- a/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts +++ b/dmp-frontend/src/app/ui/sidebar/sidebar-footer/terms/terms.component.ts @@ -1,4 +1,6 @@ +import { HttpClient } from '@angular/common/http'; import { Component, OnInit } from '@angular/core'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ selector: 'app-terms', @@ -7,9 +9,13 @@ import { Component, OnInit } from '@angular/core'; }) export class TermsComponent implements OnInit { - constructor() { } + constructor( + private httpClient: HttpClient, + private matomoService: MatomoService + ) { } ngOnInit() { + this.matomoService.trackPageView('Terms of Service'); } } diff --git a/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts b/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts index c9ed7abc4..880788a59 100644 --- a/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts +++ b/dmp-frontend/src/app/ui/sidebar/sidebar.component.ts @@ -8,6 +8,8 @@ import { AppRole } from '../../core/common/enum/app-role'; import { Router } from '@angular/router'; import { Location } from '@angular/common'; import { LanguageDialogComponent } from '../language/dialog/language-dialog.component'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; declare interface RouteInfo { path: string; @@ -89,10 +91,14 @@ export class SidebarComponent implements OnInit { private authentication: AuthService, private dialog: MatDialog, public router: Router, - private location: Location) { + private location: Location, + private httpClient: HttpClient, + private matomoService: MatomoService + ) { } ngOnInit() { + this.matomoService.trackPageView('Sidebar'); this.currentRoute = this.router.url; this.generalItems = { title: 'SIDE-BAR.GENERAL', diff --git a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.ts b/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.ts index 5af5fb356..8222989ee 100644 --- a/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.ts +++ b/dmp-frontend/src/app/ui/user-guide-editor/user-guide-editor.component.ts @@ -11,6 +11,8 @@ import { environment } from 'environments/environment'; import { ConfigurationService } from '@app/core/services/configuration/configuration.service'; import { AuthService } from '@app/core/services/auth/auth.service'; import { LanguageService } from '@app/core/services/language/language.service'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; @Component({ selector: 'app-user-guide-editor', @@ -26,10 +28,13 @@ export class UserGuideEditorComponent extends BaseComponent implements OnInit { private translate: TranslateService, private router: Router, private configurationService: ConfigurationService, - private languageService: LanguageService + private languageService: LanguageService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('Admin: User Guide Editor'); this.formBuilder = new FormBuilder(); this.formGroup = this.formBuilder.group({ name: [''], diff --git a/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts b/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts index a9e017ceb..ae21bbd20 100644 --- a/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts +++ b/dmp-frontend/src/app/ui/user-guide/user-guide-content/user-guide-content.component.ts @@ -5,6 +5,8 @@ import { takeUntil } from 'rxjs/internal/operators/takeUntil'; import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; import { LanguageService } from '@app/core/services/language/language.service'; import { SecurityContext } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; @Component({ selector: 'app-user-guide-content', @@ -22,10 +24,13 @@ export class UserGuideContentComponent extends BaseComponent implements OnInit, constructor( private userGuideService: UserGuideService, private sanitizer: DomSanitizer, - private languageService: LanguageService + private languageService: LanguageService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('User Guide Content'); this.scrollEvent = ((ev) => this.scroll(ev)); this.userGuideService.getUserGuide(this.languageService.getCurrentLanguage()) .pipe(takeUntil(this._destroyed)) diff --git a/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts b/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts index 7d2d5bcc0..9b090c878 100644 --- a/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts +++ b/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts @@ -29,6 +29,8 @@ import { AuthProvider } from '@app/core/common/enum/auth-provider'; import { MergeEmailConfirmationService } from '@app/core/services/merge-email-confirmation/merge-email-confirmation.service'; import { FormValidationErrorsDialogComponent } from '@common/forms/form-validation-errors-dialog/form-validation-errors-dialog.component'; import { SnackBarNotificationLevel, UiNotificationService } from '@app/core/services/notification/ui-notification-service'; +import { MatomoService } from '@app/core/services/matomo/matomo-service'; +import { HttpClient } from '@angular/common/http'; const availableLanguages: any[] = require('../../../assets/resources/language.json'); @@ -80,10 +82,13 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes private uiNotificationService: UiNotificationService, private dialog: MatDialog, public enumUtils: EnumUtils, - private mergeEmailConfirmation: MergeEmailConfirmationService + private mergeEmailConfirmation: MergeEmailConfirmationService, + private httpClient: HttpClient, + private matomoService: MatomoService ) { super(); } ngOnInit() { + this.matomoService.trackPageView('User Profile'); this.route.params .pipe(takeUntil(this._destroyed)) .subscribe((params: Params) => {