Browse Source

Formatting fixed.

pull/513/head
Sebastian 6 years ago
parent
commit
f83b5e1a98
  1. 26
      frontend/app/framework/services/analytics.service.ts

26
frontend/app/framework/services/analytics.service.ts

@ -22,18 +22,24 @@ export const AnalyticsServiceFactory = (uiOptions: UIOptions, router: Router, re
@Injectable() @Injectable()
export class AnalyticsService { export class AnalyticsService {
private readonly gtag: any; private readonly gtag: any;
private analyticsId: string; private readonly analyticsId: string;
constructor(private readonly uiOptions?: UIOptions, constructor(
private readonly uiOptions?: UIOptions,
private readonly router?: Router, private readonly router?: Router,
private readonly resourceLoader?: ResourceLoaderService private readonly resourceLoader?: ResourceLoaderService
) { ) {
window['dataLayer'] = window['dataLayer'] || []; window['dataLayer'] = window['dataLayer'] || [];
this.setAnalyticsId();
this.gtag = function () { this.gtag = function () {
window['dataLayer'].push(arguments); window['dataLayer'].push(arguments);
}; };
  this.configureGtag();
if (this.uiOptions) {
this.analyticsId = this.uiOptions.get('google.analyticsId');
}
this.configureGtag();
} }
public trackEvent(category: string, action: string, label?: string, value?: number) { public trackEvent(category: string, action: string, label?: string, value?: number) {
@ -50,24 +56,18 @@ export class AnalyticsService {
this.gtag('config', this.analyticsId, { anonymize_ip: true }); this.gtag('config', this.analyticsId, { anonymize_ip: true });
this.router.events.pipe( this.router.events.pipe(
filter(e => Types.is(e, NavigationEnd))) filter(e => Types.is(e, NavigationEnd)))
.subscribe(() => { .subscribe(() => {
this.gtag('config', this.analyticsId, { page_path: window.location.pathname, anonymize_ip: true }); this.gtag('config', this.analyticsId, { page_path: window.location.pathname, anonymize_ip: true });
}); });
this.loadGoogletagmanagerScript(); this.loadScript();
} }
} }
private loadGoogletagmanagerScript() { private loadScript() {
if (document.cookie.indexOf('ga-disable') < 0 && this.resourceLoader) { if (document.cookie.indexOf('ga-disable') < 0 && this.resourceLoader) {
this.resourceLoader.loadScript(`https://www.googletagmanager.com/gtag/js?id=${this.analyticsId}`); this.resourceLoader.loadScript(`https://www.googletagmanager.com/gtag/js?id=${this.analyticsId}`);
} }
} }
private setAnalyticsId() {
if (this.uiOptions) {
this.analyticsId = this.uiOptions.get('google.analyticsId');
}
}
} }
Loading…
Cancel
Save