Add analytics to pages, οverviews, editors etc.

This commit is contained in:
apapachristou 2020-12-14 19:28:13 +02:00
parent 4bbcb3d24e
commit 558b506643
33 changed files with 203 additions and 36 deletions

View File

@ -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');
}
}

View File

@ -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');

View File

@ -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) => {

View File

@ -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) => {

View File

@ -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) => {

View File

@ -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<UserListingModel> {
@ -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'),

View File

@ -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 {

View File

@ -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<string> = [];
// fields.push('-modified');
this.formGroup.get('order').setValue(this.order.MODIFIED);

View File

@ -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<string> = [((this.formGroup.get('order').value === 'status') || (this.formGroup.get('order').value === 'label') ? '+' : "-") + this.formGroup.get('order').value];

View File

@ -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<string> = ["-modified"];
this.formGroup.get('order').setValue(this.order.MODIFIED);

View File

@ -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<string> = ["-modified"];
this.formGroup.get('order').setValue(this.order.MODIFIED);

View File

@ -13,7 +13,7 @@
<div class="dataset-subtitle">{{ formGroup.get('label').value }} <span *ngIf="isDirty()" class="dataset-changes">({{'DMP-EDITOR.CHANGES' | translate}})</span></div>
<div class="d-flex flex-direction-row dmp-info">
<div class="col-auto dataset-to-dmp">{{'DATASET-LISTING.TOOLTIP.TO-DMP' | translate}}</div>
<div class="col-auto dmp-title p-0">:&nbsp;{{ formGroup.get('dmp').value.label }}</div>
<div class="dmp-title p-0">:&nbsp;{{ formGroup.get('dmp').value.label }}</div>
<div class="col-auto d-flex align-items-center">
<a [routerLink]="['/overview/' + formGroup.get('dmp').value.id]" target="_blank" class="pointer open-in-new-icon">
<mat-icon class="size-18">open_in_new</mat-icon>

View File

@ -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))

View File

@ -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<DatasetCriteriaDialogComponent>,
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);
}

View File

@ -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);

View File

@ -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;

View File

@ -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))

View File

@ -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) => {

View File

@ -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<DmpCriteriaDialogComponent>,
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);
}

View File

@ -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);

View File

@ -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;

View File

@ -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<DmpUploadDialogue>,
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);

View File

@ -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))

View File

@ -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();
}

View File

@ -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');
}
}

View File

@ -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;

View File

@ -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));

View File

@ -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();
}

View File

@ -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');
}
}

View File

@ -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',

View File

@ -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: [''],

View File

@ -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))

View File

@ -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) => {