UNPKG

@igo2/core

Version:
88 lines 12.1 kB
import { Injectable } from '@angular/core'; import { ConfigService } from '@igo2/core/config'; import * as i0 from "@angular/core"; import * as i1 from "@igo2/core/config"; export class AnalyticsService { config; options; get paq() { return (window._paq = window._paq || []); } constructor(config) { this.config = config; this.options = this.config.getConfig('analytics') || {}; if (this.options.provider === 'matomo') { this.initMatomo(); } } initMatomo() { if (!this.options.url || !this.options.id) { return; } const url = this.options.url.substr(-1) === '/' ? this.options.url + 'matomo' : this.options.url; // this.paq.push(['trackPageView']); // this.paq.push(['enableLinkTracking']); (() => { this.paq.push(['setTrackerUrl', url + '.php']); this.paq.push(['setSiteId', this.options.id]); this.paq.push(['setSecureCookie', location.protocol === 'https:']); const g = document.createElement('script'); const s = document.getElementsByTagName('script')[0]; g.type = 'text/javascript'; g.async = true; g.defer = true; g.src = url + '.js'; s.parentNode.insertBefore(g, s); })(); } /** * Pass `null` to unset the user. */ setUser(user, profils) { if (this.options.provider === 'matomo') { if (!user) { this.paq.push(['resetUserId']); this.paq.push(['deleteCustomVariable', 1, 'user']); this.paq.push(['deleteCustomVariable', 2, 'name']); this.paq.push(['deleteCustomVariable', 3, 'profils']); } else { this.paq.push(['setUserId', user.id]); const name = `${user.firstName} ${user.lastName}`; this.paq.push(['setCustomVariable', 1, 'user', user.sourceId, 'visit']); this.paq.push(['setCustomVariable', 2, 'name', name, 'visit']); this.paq.push(['setCustomVariable', 3, 'profils', profils, 'visit']); } this.paq.push(['trackPageView']); this.paq.push(['enableLinkTracking']); } } trackSearch(term, nbResults) { if (this.options.provider === 'matomo') { this.paq.push(['trackSiteSearch', term, false, nbResults]); } } trackEvent(category, action, name) { if (this.options.provider === 'matomo') { this.paq.push(['trackEvent', category, action, name]); } } /** * Function that tracks layers added to the map */ trackLayer(category, action, parameters) { if (this.options.provider === 'matomo') this.paq.push(['trackEvent', category, action, parameters]); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }], ctorParameters: () => [{ type: i1.ConfigService }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL2FuYWx5dGljcy9zcmMvYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7OztBQU9sRCxNQUFNLE9BQU8sZ0JBQWdCO0lBT1A7SUFOWixPQUFPLENBQW1CO0lBRWxDLElBQUksR0FBRztRQUNMLE9BQU8sQ0FBRSxNQUFjLENBQUMsSUFBSSxHQUFJLE1BQWMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFTyxVQUFVO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDMUMsT0FBTztRQUNULENBQUM7UUFDRCxNQUFNLEdBQUcsR0FDUCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHO1lBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxRQUFRO1lBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxD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SUFFTSxXQUFXLENBQUMsSUFBWSxFQUFFLFNBQWlCO1FBQ2hELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsQ0FBQztJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsSUFBWTtRQUM5RCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVSxDQUFDLFFBQWdCLEVBQUUsTUFBYyxFQUFFLFVBQWU7UUFDakUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsS0FBSyxRQUFRO1lBQ3BDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO3dHQWxGVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQixjQUZmLE1BQU07OzRGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAaWdvMi9jb3JlL2NvbmZpZyc7XG5cbmltcG9ydCB7IEFuYWx5dGljc0Jhc2VVc2VyLCBBbmFseXRpY3NPcHRpb25zIH0gZnJvbSAnLi9hbmFseXRpY3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQW5hbHl0aWNzU2VydmljZSB7XG4gIHByaXZhdGUgb3B0aW9uczogQW5hbHl0aWNzT3B0aW9ucztcblxuICBnZXQgcGFxKCkge1xuICAgIHJldHVybiAoKHdpbmRvdyBhcyBhbnkpLl9wYXEgPSAod2luZG93IGFzIGFueSkuX3BhcSB8fCBbXSk7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSkge1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuY29uZmlnLmdldENvbmZpZygnYW5hbHl0aWNzJykgfHwge307XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnByb3ZpZGVyID09PSAnbWF0b21vJykge1xuICAgICAgdGhpcy5pbml0TWF0b21vKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0TWF0b21vKCkge1xuICAgIGlmICghdGhpcy5vcHRpb25zLnVybCB8fCAhdGhpcy5vcHRpb25zLmlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLm9wdGlvbnMudXJsLnN1YnN0cigtMSkgPT09ICcvJ1xuICAgICAgICA/IHRoaXMub3B0aW9ucy51cmwgKyAnbWF0b21vJ1xuICAgICAgICA6IHRoaXMub3B0aW9ucy51cmw7XG5cbiAgICAvLyB0aGlzLnBhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTtcbiAgICAvLyB0aGlzLnBhcS5wdXNoKFsnZW5hYmxlTGlua1RyYWNraW5nJ10pO1xuICAgICgoKSA9PiB7XG4gICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0VHJhY2tlclVybCcsIHVybCArICcucGhwJ10pO1xuICAgICAgdGhpcy5wYXEucHVzaChbJ3NldFNpdGVJZCcsIHRoaXMub3B0aW9ucy5pZF0pO1xuICAgICAgdGhpcy5wYXEucHVzaChbJ3NldFNlY3VyZUNvb2tpZScsIGxvY2F0aW9uLnByb3RvY29sID09PSAnaHR0cHM6J10pO1xuICAgICAgY29uc3QgZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgICAgY29uc3QgcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTtcbiAgICAgIGcudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgZy5hc3luYyA9IHRydWU7XG4gICAgICBnLmRlZmVyID0gdHJ1ZTtcbiAgICAgIGcuc3JjID0gdXJsICsgJy5qcyc7XG4gICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGcsIHMpO1xuICAgIH0pKCk7XG4gIH1cblxuICAvKipcbiAgICogUGFzcyBgbnVsbGAgdG8gdW5zZXQgdGhlIHVzZXIuXG4gICAqL1xuICBwdWJsaWMgc2V0VXNlcih1c2VyOiBBbmFseXRpY3NCYXNlVXNlciB8IG51bGwsIHByb2ZpbHM/OiBzdHJpbmdbXSkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKSB7XG4gICAgICBpZiAoIXVzZXIpIHtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3Jlc2V0VXNlcklkJ10pO1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnZGVsZXRlQ3VzdG9tVmFyaWFibGUnLCAxLCAndXNlciddKTtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgMiwgJ25hbWUnXSk7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydkZWxldGVDdXN0b21WYXJpYWJsZScsIDMsICdwcm9maWxzJ10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldFVzZXJJZCcsIHVzZXIuaWRdKTtcblxuICAgICAgICBjb25zdCBuYW1lID0gYCR7dXNlci5maXJzdE5hbWV9ICR7dXNlci5sYXN0TmFtZX1gO1xuICAgICAgICB0aGlzLnBhcS5wdXNoKFsnc2V0Q3VzdG9tVmFyaWFibGUnLCAxLCAndXNlcicsIHVzZXIuc291cmNlSWQsICd2aXNpdCddKTtcbiAgICAgICAgdGhpcy5wYXEucHVzaChbJ3NldEN1c3RvbVZhcmlhYmxlJywgMiwgJ25hbWUnLCBuYW1lLCAndmlzaXQnXSk7XG4gICAgICAgIHRoaXMucGFxLnB1c2goWydzZXRDdXN0b21WYXJpYWJsZScsIDMsICdwcm9maWxzJywgcHJvZmlscywgJ3Zpc2l0J10pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTtcbiAgICAgIHRoaXMucGFxLnB1c2goWydlbmFibGVMaW5rVHJhY2tpbmcnXSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHRyYWNrU2VhcmNoKHRlcm06IHN0cmluZywgbmJSZXN1bHRzOiBudW1iZXIpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnByb3ZpZGVyID09PSAnbWF0b21vJykge1xuICAgICAgdGhpcy5wYXEucHVzaChbJ3RyYWNrU2l0ZVNlYXJjaCcsIHRlcm0sIGZhbHNlLCBuYlJlc3VsdHNdKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgdHJhY2tFdmVudChjYXRlZ29yeTogc3RyaW5nLCBhY3Rpb246IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5wcm92aWRlciA9PT0gJ21hdG9tbycpIHtcbiAgICAgIHRoaXMucGFxLnB1c2goWyd0cmFja0V2ZW50JywgY2F0ZWdvcnksIGFjdGlvbiwgbmFtZV0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBGdW5jdGlvbiB0aGF0IHRyYWNrcyBsYXllcnMgYWRkZWQgdG8gdGhlIG1hcFxuICAgKi9cbiAgcHVibGljIHRyYWNrTGF5ZXIoY2F0ZWdvcnk6IHN0cmluZywgYWN0aW9uOiBzdHJpbmcsIHBhcmFtZXRlcnM6IGFueSkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMucHJvdmlkZXIgPT09ICdtYXRvbW8nKVxuICAgICAgdGhpcy5wYXEucHVzaChbJ3RyYWNrRXZlbnQnLCBjYXRlZ29yeSwgYWN0aW9uLCBwYXJhbWV0ZXJzXSk7XG4gIH1cbn1cbiJdfQ==