@seniorsistemas/matomo-analytics-client 1.1.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/holder.d.ts +1 -1
- package/core/matomo.module.d.ts +5 -1
- package/core/tracker/matomo-initializer.service.d.ts +6 -2
- package/core/tracker/matomo-tracker.service.d.ts +4 -7
- package/core/utils/script-injector.d.ts +3 -1
- package/core/utils/user.d.ts +1 -1
- package/esm2022/core/holder.mjs +4 -0
- package/esm2022/core/matomo-config.mjs +3 -0
- package/esm2022/core/matomo.module.mjs +43 -0
- package/esm2022/core/tracker/matomo-initializer.service.mjs +105 -0
- package/esm2022/core/tracker/matomo-tracker.service.mjs +38 -0
- package/esm2022/core/utils/check-value.mjs +7 -0
- package/esm2022/core/utils/script-injector.mjs +24 -0
- package/esm2022/core/utils/user.mjs +2 -0
- package/esm2022/public-api.mjs +3 -0
- package/esm2022/seniorsistemas-matomo-analytics-client.mjs +5 -0
- package/fesm2022/seniorsistemas-matomo-analytics-client.mjs +218 -0
- package/fesm2022/seniorsistemas-matomo-analytics-client.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/package.json +18 -15
- package/bundles/seniorsistemas-matomo-analytics-client.umd.js +0 -442
- package/bundles/seniorsistemas-matomo-analytics-client.umd.js.map +0 -1
- package/bundles/seniorsistemas-matomo-analytics-client.umd.min.js +0 -16
- package/bundles/seniorsistemas-matomo-analytics-client.umd.min.js.map +0 -1
- package/esm2015/core/holder.js +0 -4
- package/esm2015/core/matomo-config.js +0 -3
- package/esm2015/core/matomo.module.js +0 -46
- package/esm2015/core/tracker/matomo-initializer.service.js +0 -86
- package/esm2015/core/tracker/matomo-tracker.service.js +0 -53
- package/esm2015/core/utils/check-value.js +0 -7
- package/esm2015/core/utils/script-injector.js +0 -30
- package/esm2015/core/utils/user.js +0 -1
- package/esm2015/public-api.js +0 -3
- package/esm2015/seniorsistemas-matomo-analytics-client.js +0 -8
- package/esm5/core/holder.js +0 -4
- package/esm5/core/matomo-config.js +0 -3
- package/esm5/core/matomo.module.js +0 -50
- package/esm5/core/tracker/matomo-initializer.service.js +0 -88
- package/esm5/core/tracker/matomo-tracker.service.js +0 -55
- package/esm5/core/utils/check-value.js +0 -7
- package/esm5/core/utils/script-injector.js +0 -31
- package/esm5/core/utils/user.js +0 -1
- package/esm5/public-api.js +0 -3
- package/esm5/seniorsistemas-matomo-analytics-client.js +0 -8
- package/fesm2015/seniorsistemas-matomo-analytics-client.js +0 -212
- package/fesm2015/seniorsistemas-matomo-analytics-client.js.map +0 -1
- package/fesm5/seniorsistemas-matomo-analytics-client.js +0 -221
- package/fesm5/seniorsistemas-matomo-analytics-client.js.map +0 -1
- package/seniorsistemas-matomo-analytics-client.d.ts +0 -7
- package/seniorsistemas-matomo-analytics-client.metadata.json +0 -1
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { __decorate } from "tslib";
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Injectable, inject } from '@angular/core';
|
|
4
|
-
import { requireNoNull } from './check-value';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
var ScriptInjector = /** @class */ (function () {
|
|
7
|
-
function ScriptInjector() {
|
|
8
|
-
this.document = inject(DOCUMENT);
|
|
9
|
-
}
|
|
10
|
-
ScriptInjector.prototype.injectDOMScript = function (scriptUrl) {
|
|
11
|
-
var scriptElement = this.scriptFactory(scriptUrl, this.document);
|
|
12
|
-
var selfScript = requireNoNull(this.document.getElementsByTagName('script')[0], 'no existing script found');
|
|
13
|
-
var parent = requireNoNull(selfScript.parentNode, 'no scripts parent node found');
|
|
14
|
-
parent.insertBefore(scriptElement, selfScript);
|
|
15
|
-
};
|
|
16
|
-
ScriptInjector.prototype.scriptFactory = function (scriptUrl, document) {
|
|
17
|
-
var g = document.createElement('script');
|
|
18
|
-
g.type = 'text/javascript';
|
|
19
|
-
g.defer = true;
|
|
20
|
-
g.async = true;
|
|
21
|
-
g.src = scriptUrl;
|
|
22
|
-
return g;
|
|
23
|
-
};
|
|
24
|
-
ScriptInjector.ɵprov = i0.ɵɵdefineInjectable({ factory: function ScriptInjector_Factory() { return new ScriptInjector(); }, token: ScriptInjector, providedIn: "root" });
|
|
25
|
-
ScriptInjector = __decorate([
|
|
26
|
-
Injectable({ providedIn: 'root' })
|
|
27
|
-
], ScriptInjector);
|
|
28
|
-
return ScriptInjector;
|
|
29
|
-
}());
|
|
30
|
-
export { ScriptInjector };
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvcnNpc3RlbWFzL21hdG9tby1hbmFseXRpY3MtY2xpZW50LyIsInNvdXJjZXMiOlsiY29yZS91dGlscy9zY3JpcHQtaW5qZWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUc5QztJQUFBO1FBQ21CLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7S0F3QjlDO0lBdEJDLHdDQUFlLEdBQWYsVUFBZ0IsU0FBaUI7UUFDL0IsSUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRW5FLElBQU0sVUFBVSxHQUFHLGFBQWEsQ0FDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDL0MsMEJBQTBCLENBQzNCLENBQUM7UUFFRixJQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQ3BGLE1BQU0sQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxzQ0FBYSxHQUFyQixVQUFzQixTQUFpQixFQUFFLFFBQWtCO1FBQ3pELElBQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFM0MsQ0FBQyxDQUFDLElBQUksR0FBRyxpQkFBaUIsQ0FBQztRQUMzQixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNmLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUM7UUFFbEIsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDOztJQXhCVSxjQUFjO1FBRDFCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztPQUN0QixjQUFjLENBeUIxQjt5QkE5QkQ7Q0E4QkMsQUF6QkQsSUF5QkM7U0F6QlksY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVxdWlyZU5vTnVsbCB9IGZyb20gJy4vY2hlY2stdmFsdWUnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNjcmlwdEluamVjdG9yIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG5cbiAgaW5qZWN0RE9NU2NyaXB0KHNjcmlwdFVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0RWxlbWVudCA9IHRoaXMuc2NyaXB0RmFjdG9yeShzY3JpcHRVcmwsIHRoaXMuZG9jdW1lbnQpO1xuXG4gICAgY29uc3Qgc2VsZlNjcmlwdCA9IHJlcXVpcmVOb051bGwoXG4gICAgICB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXSxcbiAgICAgICdubyBleGlzdGluZyBzY3JpcHQgZm91bmQnXG4gICAgKTtcblxuICAgIGNvbnN0IHBhcmVudCA9IHJlcXVpcmVOb051bGwoc2VsZlNjcmlwdC5wYXJlbnROb2RlLCAnbm8gc2NyaXB0cyBwYXJlbnQgbm9kZSBmb3VuZCcpO1xuICAgIHBhcmVudC5pbnNlcnRCZWZvcmUoc2NyaXB0RWxlbWVudCwgc2VsZlNjcmlwdCk7XG4gIH1cblxuICBwcml2YXRlIHNjcmlwdEZhY3Rvcnkoc2NyaXB0VXJsOiBzdHJpbmcsIGRvY3VtZW50OiBEb2N1bWVudCk6IEhUTUxTY3JpcHRFbGVtZW50IHtcbiAgICBjb25zdCBnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG5cbiAgICBnLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICBnLmRlZmVyID0gdHJ1ZTtcbiAgICBnLmFzeW5jID0gdHJ1ZTtcbiAgICBnLnNyYyA9IHNjcmlwdFVybDtcblxuICAgIHJldHVybiBnO1xuICB9XG59XG4iXX0=
|
package/esm5/core/utils/user.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9tYXRvbW8tYW5hbHl0aWNzLWNsaWVudC8iLCJzb3VyY2VzIjpbImNvcmUvdXRpbHMvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgdGVuYW50TmFtZTogc3RyaW5nO1xuICB0ZW5hbnREb21haW46IHN0cmluZztcbiAgYmFzZVVybDogc3RyaW5nO1xufVxuIl19
|
package/esm5/public-api.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { MatomoModule } from './core/matomo.module';
|
|
2
|
-
export { MatomoTrackerService } from './core/tracker/matomo-tracker.service';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3JzaXN0ZW1hcy9tYXRvbW8tYW5hbHl0aWNzLWNsaWVudC8iLCJzb3VyY2VzIjpbInB1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgTWF0b21vTW9kdWxlIH0gZnJvbSAnLi9jb3JlL21hdG9tby5tb2R1bGUnO1xuZXhwb3J0IHsgTWF0b21vVHJhY2tlclNlcnZpY2UgfSBmcm9tICcuL2NvcmUvdHJhY2tlci9tYXRvbW8tdHJhY2tlci5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
export { MATOMO_CONFIG as ɵd } from './core/matomo-config';
|
|
6
|
-
export { initialize as ɵa, loadConfigs as ɵb } from './core/matomo.module';
|
|
7
|
-
export { MatomoInitializerService as ɵc } from './core/tracker/matomo-initializer.service';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtbWF0b21vLWFuYWx5dGljcy1jbGllbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yc2lzdGVtYXMvbWF0b21vLWFuYWx5dGljcy1jbGllbnQvIiwic291cmNlcyI6WyJzZW5pb3JzaXN0ZW1hcy1tYXRvbW8tYW5hbHl0aWNzLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFDLFVBQVUsSUFBSSxFQUFFLEVBQUMsV0FBVyxJQUFJLEVBQUUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBQyx3QkFBd0IsSUFBSSxFQUFFLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtNQVRPTU9fQ09ORklHIGFzIMm1ZH0gZnJvbSAnLi9jb3JlL21hdG9tby1jb25maWcnO1xuZXhwb3J0IHtpbml0aWFsaXplIGFzIMm1YSxsb2FkQ29uZmlncyBhcyDJtWJ9IGZyb20gJy4vY29yZS9tYXRvbW8ubW9kdWxlJztcbmV4cG9ydCB7TWF0b21vSW5pdGlhbGl6ZXJTZXJ2aWNlIGFzIMm1Y30gZnJvbSAnLi9jb3JlL3RyYWNrZXIvbWF0b21vLWluaXRpYWxpemVyLnNlcnZpY2UnOyJdfQ==
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { __decorate } from 'tslib';
|
|
2
|
-
import { InjectionToken, inject, ɵɵdefineInjectable, Injectable, ɵɵinject, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { DOCUMENT } from '@angular/common';
|
|
5
|
-
import { get } from 'js-cookie';
|
|
6
|
-
import { NavigationEnd, Router } from '@angular/router';
|
|
7
|
-
import { filter } from 'rxjs/operators';
|
|
8
|
-
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
9
|
-
|
|
10
|
-
const MATOMO_CONFIG = new InjectionToken('MATOMO_CONFIG');
|
|
11
|
-
|
|
12
|
-
function initializeMatomoHolder() {
|
|
13
|
-
window._paq = window._paq || [];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function requireNoNull(value, message) {
|
|
17
|
-
if (value === null || value === undefined) {
|
|
18
|
-
throw new Error(`Unexpected ${value} value: ${message}`);
|
|
19
|
-
}
|
|
20
|
-
return value;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
let ScriptInjector = class ScriptInjector {
|
|
24
|
-
constructor() {
|
|
25
|
-
this.document = inject(DOCUMENT);
|
|
26
|
-
}
|
|
27
|
-
injectDOMScript(scriptUrl) {
|
|
28
|
-
const scriptElement = this.scriptFactory(scriptUrl, this.document);
|
|
29
|
-
const selfScript = requireNoNull(this.document.getElementsByTagName('script')[0], 'no existing script found');
|
|
30
|
-
const parent = requireNoNull(selfScript.parentNode, 'no scripts parent node found');
|
|
31
|
-
parent.insertBefore(scriptElement, selfScript);
|
|
32
|
-
}
|
|
33
|
-
scriptFactory(scriptUrl, document) {
|
|
34
|
-
const g = document.createElement('script');
|
|
35
|
-
g.type = 'text/javascript';
|
|
36
|
-
g.defer = true;
|
|
37
|
-
g.async = true;
|
|
38
|
-
g.src = scriptUrl;
|
|
39
|
-
return g;
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
ScriptInjector.ɵprov = ɵɵdefineInjectable({ factory: function ScriptInjector_Factory() { return new ScriptInjector(); }, token: ScriptInjector, providedIn: "root" });
|
|
43
|
-
ScriptInjector = __decorate([
|
|
44
|
-
Injectable({ providedIn: 'root' })
|
|
45
|
-
], ScriptInjector);
|
|
46
|
-
|
|
47
|
-
const DIMENSION_TENANT_ID = 1;
|
|
48
|
-
const DIMENSION_SERVICE_ID = 2;
|
|
49
|
-
const SITE_ID = 1;
|
|
50
|
-
const MATOMO_HOST = 'frontend-analytics.platform.senior.com.br';
|
|
51
|
-
const DEFAULT_TRACKER_SUFFIX = 'matomo.php';
|
|
52
|
-
const DEFAULT_SCRIPT_SUFFIX = 'matomo.js';
|
|
53
|
-
const SENIOR_USER_INFO = 'SENIOR_USER_INFO';
|
|
54
|
-
const SENIOR_BASE_URL = 'com.senior.base.url';
|
|
55
|
-
const MATOMO_ENVIRONMENT = 'matomo_environment';
|
|
56
|
-
let MatomoInitializerService = class MatomoInitializerService {
|
|
57
|
-
constructor() {
|
|
58
|
-
this.scriptInjector = inject(ScriptInjector);
|
|
59
|
-
this.config = inject(MATOMO_CONFIG);
|
|
60
|
-
this.http = inject(HttpClient);
|
|
61
|
-
initializeMatomoHolder();
|
|
62
|
-
}
|
|
63
|
-
init() {
|
|
64
|
-
if (this.isUserDataAvailable()) {
|
|
65
|
-
const { baseUrl, tenantName, username } = this.loadUserData();
|
|
66
|
-
this.intializeMatomoSettings(username, tenantName);
|
|
67
|
-
const mtEnvironment = localStorage.getItem(MATOMO_ENVIRONMENT);
|
|
68
|
-
if (mtEnvironment) {
|
|
69
|
-
this.initializeTracker(mtEnvironment);
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
this.http.get(`${baseUrl}/portal.json`).subscribe((rs) => {
|
|
73
|
-
const { environment } = rs;
|
|
74
|
-
localStorage.setItem(MATOMO_ENVIRONMENT, environment);
|
|
75
|
-
this.initializeTracker(environment);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
intializeMatomoSettings(username, tenantName) {
|
|
80
|
-
const { domainName, serviceName } = this.config.service;
|
|
81
|
-
const frontendName = `${domainName}.${serviceName}`;
|
|
82
|
-
window._paq.push(['setUserId', username]);
|
|
83
|
-
window._paq.push(['enableLinkTracking']);
|
|
84
|
-
window._paq.push(['setCustomDimension', DIMENSION_TENANT_ID, tenantName]);
|
|
85
|
-
window._paq.push(['setCustomDimension', DIMENSION_SERVICE_ID, frontendName]);
|
|
86
|
-
window._paq.push(['trackPageView']);
|
|
87
|
-
}
|
|
88
|
-
initializeTracker(environment) {
|
|
89
|
-
const { isMatomoEnabledInDev, alias } = this.config;
|
|
90
|
-
if (environment === 'prod' || (isMatomoEnabledInDev && alias)) {
|
|
91
|
-
const u = isMatomoEnabledInDev && environment !== 'prod' ? alias.host : MATOMO_HOST;
|
|
92
|
-
const siteId = isMatomoEnabledInDev && environment !== 'prod' ? alias.siteId : SITE_ID;
|
|
93
|
-
window._paq.push(['setTrackerUrl', this.buildHost(u, DEFAULT_TRACKER_SUFFIX)]);
|
|
94
|
-
window._paq.push(['setSiteId', siteId]);
|
|
95
|
-
this.scriptInjector.injectDOMScript(this.buildHost(u, DEFAULT_SCRIPT_SUFFIX));
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
buildHost(host, suffix) {
|
|
99
|
-
return `https://${host}/${suffix}`;
|
|
100
|
-
}
|
|
101
|
-
loadUserData() {
|
|
102
|
-
var _a;
|
|
103
|
-
const { data } = (_a = JSON.parse(localStorage.getItem(SENIOR_USER_INFO))) !== null && _a !== void 0 ? _a : null;
|
|
104
|
-
if (data) {
|
|
105
|
-
const { username, tenantName, tenantDomain } = data;
|
|
106
|
-
return {
|
|
107
|
-
tenantName,
|
|
108
|
-
tenantDomain,
|
|
109
|
-
username: `${username}@${tenantDomain}`,
|
|
110
|
-
baseUrl: get(SENIOR_BASE_URL)
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
isUserDataAvailable() {
|
|
116
|
-
return localStorage.getItem(SENIOR_USER_INFO) !== null;
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
MatomoInitializerService.ɵprov = ɵɵdefineInjectable({ factory: function MatomoInitializerService_Factory() { return new MatomoInitializerService(); }, token: MatomoInitializerService, providedIn: "root" });
|
|
120
|
-
MatomoInitializerService = __decorate([
|
|
121
|
-
Injectable({ providedIn: 'root' })
|
|
122
|
-
], MatomoInitializerService);
|
|
123
|
-
|
|
124
|
-
let MatomoTrackerService = class MatomoTrackerService {
|
|
125
|
-
constructor(router, translate) {
|
|
126
|
-
this.router = router;
|
|
127
|
-
this.translate = translate;
|
|
128
|
-
}
|
|
129
|
-
initializeTrackPage() {
|
|
130
|
-
this.router.events
|
|
131
|
-
.pipe(filter(event => event instanceof NavigationEnd))
|
|
132
|
-
.subscribe((event) => {
|
|
133
|
-
this.setTrackPageView();
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
setTrackPageView() {
|
|
137
|
-
const url = this.getUrlPage();
|
|
138
|
-
const title = this.translate.instant(document.title);
|
|
139
|
-
window._paq.push(['setCustomUrl', url]);
|
|
140
|
-
window._paq.push(['setDocumentTitle', title]);
|
|
141
|
-
window._paq.push(['trackPageView']);
|
|
142
|
-
}
|
|
143
|
-
getUrlPage() {
|
|
144
|
-
return window.location.href;
|
|
145
|
-
}
|
|
146
|
-
trackEvent(category, action, name, value) {
|
|
147
|
-
if (window._paq) {
|
|
148
|
-
const event = ['trackEvent', category, action];
|
|
149
|
-
if (name !== undefined) {
|
|
150
|
-
event.push(name);
|
|
151
|
-
}
|
|
152
|
-
if (value !== undefined) {
|
|
153
|
-
event.push(value);
|
|
154
|
-
}
|
|
155
|
-
window._paq.push(event);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
};
|
|
159
|
-
MatomoTrackerService.ctorParameters = () => [
|
|
160
|
-
{ type: Router },
|
|
161
|
-
{ type: TranslateService }
|
|
162
|
-
];
|
|
163
|
-
MatomoTrackerService.ɵprov = ɵɵdefineInjectable({ factory: function MatomoTrackerService_Factory() { return new MatomoTrackerService(ɵɵinject(Router), ɵɵinject(TranslateService)); }, token: MatomoTrackerService, providedIn: "root" });
|
|
164
|
-
MatomoTrackerService = __decorate([
|
|
165
|
-
Injectable({ providedIn: 'root' })
|
|
166
|
-
], MatomoTrackerService);
|
|
167
|
-
|
|
168
|
-
var MatomoModule_1;
|
|
169
|
-
let MatomoModule = MatomoModule_1 = class MatomoModule {
|
|
170
|
-
static forRoot(config) {
|
|
171
|
-
return {
|
|
172
|
-
ngModule: MatomoModule_1,
|
|
173
|
-
providers: [
|
|
174
|
-
{
|
|
175
|
-
provide: APP_INITIALIZER,
|
|
176
|
-
useFactory: initialize,
|
|
177
|
-
deps: [MatomoInitializerService],
|
|
178
|
-
multi: true
|
|
179
|
-
},
|
|
180
|
-
{
|
|
181
|
-
provide: MATOMO_CONFIG,
|
|
182
|
-
useFactory: loadConfigs(config),
|
|
183
|
-
multi: false
|
|
184
|
-
}
|
|
185
|
-
]
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
MatomoModule = MatomoModule_1 = __decorate([
|
|
190
|
-
NgModule({
|
|
191
|
-
imports: [TranslateModule.forRoot()],
|
|
192
|
-
providers: [MatomoInitializerService, MatomoTrackerService],
|
|
193
|
-
exports: []
|
|
194
|
-
})
|
|
195
|
-
], MatomoModule);
|
|
196
|
-
function initialize(matomo) {
|
|
197
|
-
const run = () => {
|
|
198
|
-
matomo.init();
|
|
199
|
-
};
|
|
200
|
-
return run;
|
|
201
|
-
}
|
|
202
|
-
function loadConfigs(config) {
|
|
203
|
-
const load = () => (Object.assign({ isMatomoEnabledInDev: false }, config));
|
|
204
|
-
return load;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
/**
|
|
208
|
-
* Generated bundle index. Do not edit.
|
|
209
|
-
*/
|
|
210
|
-
|
|
211
|
-
export { MatomoModule, MatomoTrackerService, initialize as ɵa, loadConfigs as ɵb, MatomoInitializerService as ɵc, MATOMO_CONFIG as ɵd };
|
|
212
|
-
//# sourceMappingURL=seniorsistemas-matomo-analytics-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-matomo-analytics-client.js","sources":["ng://@seniorsistemas/matomo-analytics-client/core/matomo-config.ts","ng://@seniorsistemas/matomo-analytics-client/core/holder.ts","ng://@seniorsistemas/matomo-analytics-client/core/utils/check-value.ts","ng://@seniorsistemas/matomo-analytics-client/core/utils/script-injector.ts","ng://@seniorsistemas/matomo-analytics-client/core/tracker/matomo-initializer.service.ts","ng://@seniorsistemas/matomo-analytics-client/core/tracker/matomo-tracker.service.ts","ng://@seniorsistemas/matomo-analytics-client/core/matomo.module.ts","ng://@seniorsistemas/matomo-analytics-client/seniorsistemas-matomo-analytics-client.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface MatomoConfig {\n isMatomoEnabledInDev?: boolean;\n alias?: {\n host: string;\n siteId: number;\n };\n service: {\n domainName: string;\n serviceName: string;\n };\n}\n\nexport const MATOMO_CONFIG = new InjectionToken<MatomoConfig>('MATOMO_CONFIG');\n","declare let window: MatomoHolder;\n\nexport interface MatomoHolder extends Window {\n _paq: { push: Array<unknown>['push'] };\n}\n\nexport function initializeMatomoHolder() {\n window._paq = window._paq || [];\n}\n","export function requireNoNull<T>(value: T | null | undefined, message: string): T {\n if (value === null || value === undefined) {\n throw new Error(`Unexpected ${value} value: ${message}`);\n }\n return value;\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, inject } from '@angular/core';\nimport { requireNoNull } from './check-value';\n\n@Injectable({ providedIn: 'root' })\nexport class ScriptInjector {\n private readonly document = inject(DOCUMENT);\n\n injectDOMScript(scriptUrl: string): void {\n const scriptElement = this.scriptFactory(scriptUrl, this.document);\n\n const selfScript = requireNoNull(\n this.document.getElementsByTagName('script')[0],\n 'no existing script found'\n );\n\n const parent = requireNoNull(selfScript.parentNode, 'no scripts parent node found');\n parent.insertBefore(scriptElement, selfScript);\n }\n\n private scriptFactory(scriptUrl: string, document: Document): HTMLScriptElement {\n const g = document.createElement('script');\n\n g.type = 'text/javascript';\n g.defer = true;\n g.async = true;\n g.src = scriptUrl;\n\n return g;\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { MatomoHolder, initializeMatomoHolder } from '../holder';\nimport { ScriptInjector } from '../utils/script-injector';\nimport { MATOMO_CONFIG } from '../matomo-config';\nimport { User } from '../utils/user';\nimport * as Cookies from 'js-cookie';\n\ndeclare const window: MatomoHolder;\n\nconst DIMENSION_TENANT_ID = 1;\nconst DIMENSION_SERVICE_ID = 2;\nconst SITE_ID = 1;\nconst MATOMO_HOST = 'frontend-analytics.platform.senior.com.br';\nconst DEFAULT_TRACKER_SUFFIX = 'matomo.php';\nconst DEFAULT_SCRIPT_SUFFIX = 'matomo.js';\nconst SENIOR_USER_INFO = 'SENIOR_USER_INFO';\nconst SENIOR_BASE_URL = 'com.senior.base.url';\nconst MATOMO_ENVIRONMENT = 'matomo_environment';\n\n@Injectable({ providedIn: 'root' })\nexport class MatomoInitializerService {\n private readonly scriptInjector = inject(ScriptInjector);\n private readonly config = inject(MATOMO_CONFIG);\n private readonly http = inject(HttpClient);\n\n constructor() {\n initializeMatomoHolder();\n }\n\n init(): void {\n if (this.isUserDataAvailable()) {\n const { baseUrl, tenantName, username } = this.loadUserData();\n this.intializeMatomoSettings(username, tenantName);\n\n const mtEnvironment = localStorage.getItem(MATOMO_ENVIRONMENT);\n\n if (mtEnvironment) {\n this.initializeTracker(mtEnvironment);\n return;\n }\n\n this.http.get(`${baseUrl}/portal.json`).subscribe((rs: any) => {\n const { environment } = rs;\n localStorage.setItem(MATOMO_ENVIRONMENT, environment);\n this.initializeTracker(environment);\n });\n }\n }\n\n private intializeMatomoSettings(username: string, tenantName: string): void {\n const { domainName, serviceName } = this.config.service;\n const frontendName = `${domainName}.${serviceName}`;\n\n window._paq.push(['setUserId', username]);\n window._paq.push(['enableLinkTracking']);\n window._paq.push(['setCustomDimension', DIMENSION_TENANT_ID, tenantName]);\n window._paq.push(['setCustomDimension', DIMENSION_SERVICE_ID, frontendName]);\n window._paq.push(['trackPageView']);\n }\n\n private initializeTracker(environment: string): void {\n const { isMatomoEnabledInDev, alias } = this.config;\n\n if (environment === 'prod' || (isMatomoEnabledInDev && alias)) {\n const u = isMatomoEnabledInDev && environment !== 'prod' ? alias.host : MATOMO_HOST;\n const siteId = isMatomoEnabledInDev && environment !== 'prod' ? alias.siteId : SITE_ID;\n\n window._paq.push(['setTrackerUrl', this.buildHost(u, DEFAULT_TRACKER_SUFFIX)]);\n window._paq.push(['setSiteId', siteId]);\n\n this.scriptInjector.injectDOMScript(this.buildHost(u, DEFAULT_SCRIPT_SUFFIX));\n }\n }\n\n private buildHost(host: string, suffix: string): string {\n return `https://${host}/${suffix}`;\n }\n\n private loadUserData(): User | null {\n const { data } = JSON.parse(localStorage.getItem(SENIOR_USER_INFO)) ?? null;\n\n if (data) {\n const { username, tenantName, tenantDomain } = data;\n return {\n tenantName,\n tenantDomain,\n username: `${username}@${tenantDomain}`,\n baseUrl: Cookies.get(SENIOR_BASE_URL)\n };\n }\n\n return null;\n }\n\n private isUserDataAvailable(): boolean {\n return localStorage.getItem(SENIOR_USER_INFO) !== null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatomoHolder } from '../holder';\n\ndeclare const window: MatomoHolder;\n\n@Injectable({ providedIn: 'root' })\nexport class MatomoTrackerService {\n constructor(private readonly router: Router, private readonly translate: TranslateService) {}\n\n public initializeTrackPage(): void {\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.setTrackPageView();\n });\n }\n\n private setTrackPageView(): void {\n const url = this.getUrlPage();\n const title = this.translate.instant(document.title);\n\n window._paq.push(['setCustomUrl', url]);\n window._paq.push(['setDocumentTitle', title]);\n window._paq.push(['trackPageView']);\n }\n\n private getUrlPage() {\n return window.location.href;\n }\n\n public trackEvent(category: string, action: string, name?: string, value?: string): void {\n if (window._paq) {\n const event = ['trackEvent', category, action];\n\n if (name !== undefined) {\n event.push(name);\n }\n if (value !== undefined) {\n event.push(value);\n }\n\n window._paq.push(event as any);\n }\n }\n}\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { MATOMO_CONFIG, MatomoConfig } from './matomo-config';\nimport { MatomoInitializerService } from './tracker/matomo-initializer.service';\nimport { MatomoTrackerService } from './tracker/matomo-tracker.service';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule.forRoot()],\n providers: [MatomoInitializerService, MatomoTrackerService],\n exports: []\n})\nexport class MatomoModule {\n static forRoot(config: MatomoConfig): ModuleWithProviders<MatomoModule> {\n return {\n ngModule: MatomoModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: initialize,\n deps: [MatomoInitializerService],\n multi: true\n },\n {\n provide: MATOMO_CONFIG,\n useFactory: loadConfigs(config),\n multi: false\n }\n ]\n };\n }\n}\n\nexport function initialize(matomo: MatomoInitializerService) {\n const run = () => {\n matomo.init();\n };\n return run;\n}\n\nexport function loadConfigs(config: MatomoConfig) {\n const load = (): MatomoConfig => ({\n isMatomoEnabledInDev: false,\n ...config\n });\n return load;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MATOMO_CONFIG as ɵd} from './core/matomo-config';\nexport {initialize as ɵa,loadConfigs as ɵb} from './core/matomo.module';\nexport {MatomoInitializerService as ɵc} from './core/tracker/matomo-initializer.service';"],"names":["Cookies.get"],"mappings":"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"}
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import { __decorate, __assign } from 'tslib';
|
|
2
|
-
import { InjectionToken, inject, ɵɵdefineInjectable, Injectable, ɵɵinject, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
|
-
import { HttpClient } from '@angular/common/http';
|
|
4
|
-
import { DOCUMENT } from '@angular/common';
|
|
5
|
-
import { get } from 'js-cookie';
|
|
6
|
-
import { NavigationEnd, Router } from '@angular/router';
|
|
7
|
-
import { filter } from 'rxjs/operators';
|
|
8
|
-
import { TranslateService, TranslateModule } from '@ngx-translate/core';
|
|
9
|
-
|
|
10
|
-
var MATOMO_CONFIG = new InjectionToken('MATOMO_CONFIG');
|
|
11
|
-
|
|
12
|
-
function initializeMatomoHolder() {
|
|
13
|
-
window._paq = window._paq || [];
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
function requireNoNull(value, message) {
|
|
17
|
-
if (value === null || value === undefined) {
|
|
18
|
-
throw new Error("Unexpected " + value + " value: " + message);
|
|
19
|
-
}
|
|
20
|
-
return value;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
var ScriptInjector = /** @class */ (function () {
|
|
24
|
-
function ScriptInjector() {
|
|
25
|
-
this.document = inject(DOCUMENT);
|
|
26
|
-
}
|
|
27
|
-
ScriptInjector.prototype.injectDOMScript = function (scriptUrl) {
|
|
28
|
-
var scriptElement = this.scriptFactory(scriptUrl, this.document);
|
|
29
|
-
var selfScript = requireNoNull(this.document.getElementsByTagName('script')[0], 'no existing script found');
|
|
30
|
-
var parent = requireNoNull(selfScript.parentNode, 'no scripts parent node found');
|
|
31
|
-
parent.insertBefore(scriptElement, selfScript);
|
|
32
|
-
};
|
|
33
|
-
ScriptInjector.prototype.scriptFactory = function (scriptUrl, document) {
|
|
34
|
-
var g = document.createElement('script');
|
|
35
|
-
g.type = 'text/javascript';
|
|
36
|
-
g.defer = true;
|
|
37
|
-
g.async = true;
|
|
38
|
-
g.src = scriptUrl;
|
|
39
|
-
return g;
|
|
40
|
-
};
|
|
41
|
-
ScriptInjector.ɵprov = ɵɵdefineInjectable({ factory: function ScriptInjector_Factory() { return new ScriptInjector(); }, token: ScriptInjector, providedIn: "root" });
|
|
42
|
-
ScriptInjector = __decorate([
|
|
43
|
-
Injectable({ providedIn: 'root' })
|
|
44
|
-
], ScriptInjector);
|
|
45
|
-
return ScriptInjector;
|
|
46
|
-
}());
|
|
47
|
-
|
|
48
|
-
var DIMENSION_TENANT_ID = 1;
|
|
49
|
-
var DIMENSION_SERVICE_ID = 2;
|
|
50
|
-
var SITE_ID = 1;
|
|
51
|
-
var MATOMO_HOST = 'frontend-analytics.platform.senior.com.br';
|
|
52
|
-
var DEFAULT_TRACKER_SUFFIX = 'matomo.php';
|
|
53
|
-
var DEFAULT_SCRIPT_SUFFIX = 'matomo.js';
|
|
54
|
-
var SENIOR_USER_INFO = 'SENIOR_USER_INFO';
|
|
55
|
-
var SENIOR_BASE_URL = 'com.senior.base.url';
|
|
56
|
-
var MATOMO_ENVIRONMENT = 'matomo_environment';
|
|
57
|
-
var MatomoInitializerService = /** @class */ (function () {
|
|
58
|
-
function MatomoInitializerService() {
|
|
59
|
-
this.scriptInjector = inject(ScriptInjector);
|
|
60
|
-
this.config = inject(MATOMO_CONFIG);
|
|
61
|
-
this.http = inject(HttpClient);
|
|
62
|
-
initializeMatomoHolder();
|
|
63
|
-
}
|
|
64
|
-
MatomoInitializerService.prototype.init = function () {
|
|
65
|
-
var _this = this;
|
|
66
|
-
if (this.isUserDataAvailable()) {
|
|
67
|
-
var _a = this.loadUserData(), baseUrl = _a.baseUrl, tenantName = _a.tenantName, username = _a.username;
|
|
68
|
-
this.intializeMatomoSettings(username, tenantName);
|
|
69
|
-
var mtEnvironment = localStorage.getItem(MATOMO_ENVIRONMENT);
|
|
70
|
-
if (mtEnvironment) {
|
|
71
|
-
this.initializeTracker(mtEnvironment);
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
this.http.get(baseUrl + "/portal.json").subscribe(function (rs) {
|
|
75
|
-
var environment = rs.environment;
|
|
76
|
-
localStorage.setItem(MATOMO_ENVIRONMENT, environment);
|
|
77
|
-
_this.initializeTracker(environment);
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
MatomoInitializerService.prototype.intializeMatomoSettings = function (username, tenantName) {
|
|
82
|
-
var _a = this.config.service, domainName = _a.domainName, serviceName = _a.serviceName;
|
|
83
|
-
var frontendName = domainName + "." + serviceName;
|
|
84
|
-
window._paq.push(['setUserId', username]);
|
|
85
|
-
window._paq.push(['enableLinkTracking']);
|
|
86
|
-
window._paq.push(['setCustomDimension', DIMENSION_TENANT_ID, tenantName]);
|
|
87
|
-
window._paq.push(['setCustomDimension', DIMENSION_SERVICE_ID, frontendName]);
|
|
88
|
-
window._paq.push(['trackPageView']);
|
|
89
|
-
};
|
|
90
|
-
MatomoInitializerService.prototype.initializeTracker = function (environment) {
|
|
91
|
-
var _a = this.config, isMatomoEnabledInDev = _a.isMatomoEnabledInDev, alias = _a.alias;
|
|
92
|
-
if (environment === 'prod' || (isMatomoEnabledInDev && alias)) {
|
|
93
|
-
var u = isMatomoEnabledInDev && environment !== 'prod' ? alias.host : MATOMO_HOST;
|
|
94
|
-
var siteId = isMatomoEnabledInDev && environment !== 'prod' ? alias.siteId : SITE_ID;
|
|
95
|
-
window._paq.push(['setTrackerUrl', this.buildHost(u, DEFAULT_TRACKER_SUFFIX)]);
|
|
96
|
-
window._paq.push(['setSiteId', siteId]);
|
|
97
|
-
this.scriptInjector.injectDOMScript(this.buildHost(u, DEFAULT_SCRIPT_SUFFIX));
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
MatomoInitializerService.prototype.buildHost = function (host, suffix) {
|
|
101
|
-
return "https://" + host + "/" + suffix;
|
|
102
|
-
};
|
|
103
|
-
MatomoInitializerService.prototype.loadUserData = function () {
|
|
104
|
-
var _a;
|
|
105
|
-
var data = ((_a = JSON.parse(localStorage.getItem(SENIOR_USER_INFO))) !== null && _a !== void 0 ? _a : null).data;
|
|
106
|
-
if (data) {
|
|
107
|
-
var username = data.username, tenantName = data.tenantName, tenantDomain = data.tenantDomain;
|
|
108
|
-
return {
|
|
109
|
-
tenantName: tenantName,
|
|
110
|
-
tenantDomain: tenantDomain,
|
|
111
|
-
username: username + "@" + tenantDomain,
|
|
112
|
-
baseUrl: get(SENIOR_BASE_URL)
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
return null;
|
|
116
|
-
};
|
|
117
|
-
MatomoInitializerService.prototype.isUserDataAvailable = function () {
|
|
118
|
-
return localStorage.getItem(SENIOR_USER_INFO) !== null;
|
|
119
|
-
};
|
|
120
|
-
MatomoInitializerService.ɵprov = ɵɵdefineInjectable({ factory: function MatomoInitializerService_Factory() { return new MatomoInitializerService(); }, token: MatomoInitializerService, providedIn: "root" });
|
|
121
|
-
MatomoInitializerService = __decorate([
|
|
122
|
-
Injectable({ providedIn: 'root' })
|
|
123
|
-
], MatomoInitializerService);
|
|
124
|
-
return MatomoInitializerService;
|
|
125
|
-
}());
|
|
126
|
-
|
|
127
|
-
var MatomoTrackerService = /** @class */ (function () {
|
|
128
|
-
function MatomoTrackerService(router, translate) {
|
|
129
|
-
this.router = router;
|
|
130
|
-
this.translate = translate;
|
|
131
|
-
}
|
|
132
|
-
MatomoTrackerService.prototype.initializeTrackPage = function () {
|
|
133
|
-
var _this = this;
|
|
134
|
-
this.router.events
|
|
135
|
-
.pipe(filter(function (event) { return event instanceof NavigationEnd; }))
|
|
136
|
-
.subscribe(function (event) {
|
|
137
|
-
_this.setTrackPageView();
|
|
138
|
-
});
|
|
139
|
-
};
|
|
140
|
-
MatomoTrackerService.prototype.setTrackPageView = function () {
|
|
141
|
-
var url = this.getUrlPage();
|
|
142
|
-
var title = this.translate.instant(document.title);
|
|
143
|
-
window._paq.push(['setCustomUrl', url]);
|
|
144
|
-
window._paq.push(['setDocumentTitle', title]);
|
|
145
|
-
window._paq.push(['trackPageView']);
|
|
146
|
-
};
|
|
147
|
-
MatomoTrackerService.prototype.getUrlPage = function () {
|
|
148
|
-
return window.location.href;
|
|
149
|
-
};
|
|
150
|
-
MatomoTrackerService.prototype.trackEvent = function (category, action, name, value) {
|
|
151
|
-
if (window._paq) {
|
|
152
|
-
var event_1 = ['trackEvent', category, action];
|
|
153
|
-
if (name !== undefined) {
|
|
154
|
-
event_1.push(name);
|
|
155
|
-
}
|
|
156
|
-
if (value !== undefined) {
|
|
157
|
-
event_1.push(value);
|
|
158
|
-
}
|
|
159
|
-
window._paq.push(event_1);
|
|
160
|
-
}
|
|
161
|
-
};
|
|
162
|
-
MatomoTrackerService.ctorParameters = function () { return [
|
|
163
|
-
{ type: Router },
|
|
164
|
-
{ type: TranslateService }
|
|
165
|
-
]; };
|
|
166
|
-
MatomoTrackerService.ɵprov = ɵɵdefineInjectable({ factory: function MatomoTrackerService_Factory() { return new MatomoTrackerService(ɵɵinject(Router), ɵɵinject(TranslateService)); }, token: MatomoTrackerService, providedIn: "root" });
|
|
167
|
-
MatomoTrackerService = __decorate([
|
|
168
|
-
Injectable({ providedIn: 'root' })
|
|
169
|
-
], MatomoTrackerService);
|
|
170
|
-
return MatomoTrackerService;
|
|
171
|
-
}());
|
|
172
|
-
|
|
173
|
-
var MatomoModule = /** @class */ (function () {
|
|
174
|
-
function MatomoModule() {
|
|
175
|
-
}
|
|
176
|
-
MatomoModule_1 = MatomoModule;
|
|
177
|
-
MatomoModule.forRoot = function (config) {
|
|
178
|
-
return {
|
|
179
|
-
ngModule: MatomoModule_1,
|
|
180
|
-
providers: [
|
|
181
|
-
{
|
|
182
|
-
provide: APP_INITIALIZER,
|
|
183
|
-
useFactory: initialize,
|
|
184
|
-
deps: [MatomoInitializerService],
|
|
185
|
-
multi: true
|
|
186
|
-
},
|
|
187
|
-
{
|
|
188
|
-
provide: MATOMO_CONFIG,
|
|
189
|
-
useFactory: loadConfigs(config),
|
|
190
|
-
multi: false
|
|
191
|
-
}
|
|
192
|
-
]
|
|
193
|
-
};
|
|
194
|
-
};
|
|
195
|
-
var MatomoModule_1;
|
|
196
|
-
MatomoModule = MatomoModule_1 = __decorate([
|
|
197
|
-
NgModule({
|
|
198
|
-
imports: [TranslateModule.forRoot()],
|
|
199
|
-
providers: [MatomoInitializerService, MatomoTrackerService],
|
|
200
|
-
exports: []
|
|
201
|
-
})
|
|
202
|
-
], MatomoModule);
|
|
203
|
-
return MatomoModule;
|
|
204
|
-
}());
|
|
205
|
-
function initialize(matomo) {
|
|
206
|
-
var run = function () {
|
|
207
|
-
matomo.init();
|
|
208
|
-
};
|
|
209
|
-
return run;
|
|
210
|
-
}
|
|
211
|
-
function loadConfigs(config) {
|
|
212
|
-
var load = function () { return (__assign({ isMatomoEnabledInDev: false }, config)); };
|
|
213
|
-
return load;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Generated bundle index. Do not edit.
|
|
218
|
-
*/
|
|
219
|
-
|
|
220
|
-
export { MatomoModule, MatomoTrackerService, initialize as ɵa, loadConfigs as ɵb, MatomoInitializerService as ɵc, MATOMO_CONFIG as ɵd };
|
|
221
|
-
//# sourceMappingURL=seniorsistemas-matomo-analytics-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"seniorsistemas-matomo-analytics-client.js","sources":["ng://@seniorsistemas/matomo-analytics-client/core/matomo-config.ts","ng://@seniorsistemas/matomo-analytics-client/core/holder.ts","ng://@seniorsistemas/matomo-analytics-client/core/utils/check-value.ts","ng://@seniorsistemas/matomo-analytics-client/core/utils/script-injector.ts","ng://@seniorsistemas/matomo-analytics-client/core/tracker/matomo-initializer.service.ts","ng://@seniorsistemas/matomo-analytics-client/core/tracker/matomo-tracker.service.ts","ng://@seniorsistemas/matomo-analytics-client/core/matomo.module.ts","ng://@seniorsistemas/matomo-analytics-client/seniorsistemas-matomo-analytics-client.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport interface MatomoConfig {\n isMatomoEnabledInDev?: boolean;\n alias?: {\n host: string;\n siteId: number;\n };\n service: {\n domainName: string;\n serviceName: string;\n };\n}\n\nexport const MATOMO_CONFIG = new InjectionToken<MatomoConfig>('MATOMO_CONFIG');\n","declare let window: MatomoHolder;\n\nexport interface MatomoHolder extends Window {\n _paq: { push: Array<unknown>['push'] };\n}\n\nexport function initializeMatomoHolder() {\n window._paq = window._paq || [];\n}\n","export function requireNoNull<T>(value: T | null | undefined, message: string): T {\n if (value === null || value === undefined) {\n throw new Error(`Unexpected ${value} value: ${message}`);\n }\n return value;\n}\n","import { DOCUMENT } from '@angular/common';\nimport { Injectable, inject } from '@angular/core';\nimport { requireNoNull } from './check-value';\n\n@Injectable({ providedIn: 'root' })\nexport class ScriptInjector {\n private readonly document = inject(DOCUMENT);\n\n injectDOMScript(scriptUrl: string): void {\n const scriptElement = this.scriptFactory(scriptUrl, this.document);\n\n const selfScript = requireNoNull(\n this.document.getElementsByTagName('script')[0],\n 'no existing script found'\n );\n\n const parent = requireNoNull(selfScript.parentNode, 'no scripts parent node found');\n parent.insertBefore(scriptElement, selfScript);\n }\n\n private scriptFactory(scriptUrl: string, document: Document): HTMLScriptElement {\n const g = document.createElement('script');\n\n g.type = 'text/javascript';\n g.defer = true;\n g.async = true;\n g.src = scriptUrl;\n\n return g;\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { MatomoHolder, initializeMatomoHolder } from '../holder';\nimport { ScriptInjector } from '../utils/script-injector';\nimport { MATOMO_CONFIG } from '../matomo-config';\nimport { User } from '../utils/user';\nimport * as Cookies from 'js-cookie';\n\ndeclare const window: MatomoHolder;\n\nconst DIMENSION_TENANT_ID = 1;\nconst DIMENSION_SERVICE_ID = 2;\nconst SITE_ID = 1;\nconst MATOMO_HOST = 'frontend-analytics.platform.senior.com.br';\nconst DEFAULT_TRACKER_SUFFIX = 'matomo.php';\nconst DEFAULT_SCRIPT_SUFFIX = 'matomo.js';\nconst SENIOR_USER_INFO = 'SENIOR_USER_INFO';\nconst SENIOR_BASE_URL = 'com.senior.base.url';\nconst MATOMO_ENVIRONMENT = 'matomo_environment';\n\n@Injectable({ providedIn: 'root' })\nexport class MatomoInitializerService {\n private readonly scriptInjector = inject(ScriptInjector);\n private readonly config = inject(MATOMO_CONFIG);\n private readonly http = inject(HttpClient);\n\n constructor() {\n initializeMatomoHolder();\n }\n\n init(): void {\n if (this.isUserDataAvailable()) {\n const { baseUrl, tenantName, username } = this.loadUserData();\n this.intializeMatomoSettings(username, tenantName);\n\n const mtEnvironment = localStorage.getItem(MATOMO_ENVIRONMENT);\n\n if (mtEnvironment) {\n this.initializeTracker(mtEnvironment);\n return;\n }\n\n this.http.get(`${baseUrl}/portal.json`).subscribe((rs: any) => {\n const { environment } = rs;\n localStorage.setItem(MATOMO_ENVIRONMENT, environment);\n this.initializeTracker(environment);\n });\n }\n }\n\n private intializeMatomoSettings(username: string, tenantName: string): void {\n const { domainName, serviceName } = this.config.service;\n const frontendName = `${domainName}.${serviceName}`;\n\n window._paq.push(['setUserId', username]);\n window._paq.push(['enableLinkTracking']);\n window._paq.push(['setCustomDimension', DIMENSION_TENANT_ID, tenantName]);\n window._paq.push(['setCustomDimension', DIMENSION_SERVICE_ID, frontendName]);\n window._paq.push(['trackPageView']);\n }\n\n private initializeTracker(environment: string): void {\n const { isMatomoEnabledInDev, alias } = this.config;\n\n if (environment === 'prod' || (isMatomoEnabledInDev && alias)) {\n const u = isMatomoEnabledInDev && environment !== 'prod' ? alias.host : MATOMO_HOST;\n const siteId = isMatomoEnabledInDev && environment !== 'prod' ? alias.siteId : SITE_ID;\n\n window._paq.push(['setTrackerUrl', this.buildHost(u, DEFAULT_TRACKER_SUFFIX)]);\n window._paq.push(['setSiteId', siteId]);\n\n this.scriptInjector.injectDOMScript(this.buildHost(u, DEFAULT_SCRIPT_SUFFIX));\n }\n }\n\n private buildHost(host: string, suffix: string): string {\n return `https://${host}/${suffix}`;\n }\n\n private loadUserData(): User | null {\n const { data } = JSON.parse(localStorage.getItem(SENIOR_USER_INFO)) ?? null;\n\n if (data) {\n const { username, tenantName, tenantDomain } = data;\n return {\n tenantName,\n tenantDomain,\n username: `${username}@${tenantDomain}`,\n baseUrl: Cookies.get(SENIOR_BASE_URL)\n };\n }\n\n return null;\n }\n\n private isUserDataAvailable(): boolean {\n return localStorage.getItem(SENIOR_USER_INFO) !== null;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { filter } from 'rxjs/operators';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MatomoHolder } from '../holder';\n\ndeclare const window: MatomoHolder;\n\n@Injectable({ providedIn: 'root' })\nexport class MatomoTrackerService {\n constructor(private readonly router: Router, private readonly translate: TranslateService) {}\n\n public initializeTrackPage(): void {\n this.router.events\n .pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.setTrackPageView();\n });\n }\n\n private setTrackPageView(): void {\n const url = this.getUrlPage();\n const title = this.translate.instant(document.title);\n\n window._paq.push(['setCustomUrl', url]);\n window._paq.push(['setDocumentTitle', title]);\n window._paq.push(['trackPageView']);\n }\n\n private getUrlPage() {\n return window.location.href;\n }\n\n public trackEvent(category: string, action: string, name?: string, value?: string): void {\n if (window._paq) {\n const event = ['trackEvent', category, action];\n\n if (name !== undefined) {\n event.push(name);\n }\n if (value !== undefined) {\n event.push(value);\n }\n\n window._paq.push(event as any);\n }\n }\n}\n","import { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { MATOMO_CONFIG, MatomoConfig } from './matomo-config';\nimport { MatomoInitializerService } from './tracker/matomo-initializer.service';\nimport { MatomoTrackerService } from './tracker/matomo-tracker.service';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule.forRoot()],\n providers: [MatomoInitializerService, MatomoTrackerService],\n exports: []\n})\nexport class MatomoModule {\n static forRoot(config: MatomoConfig): ModuleWithProviders<MatomoModule> {\n return {\n ngModule: MatomoModule,\n providers: [\n {\n provide: APP_INITIALIZER,\n useFactory: initialize,\n deps: [MatomoInitializerService],\n multi: true\n },\n {\n provide: MATOMO_CONFIG,\n useFactory: loadConfigs(config),\n multi: false\n }\n ]\n };\n }\n}\n\nexport function initialize(matomo: MatomoInitializerService) {\n const run = () => {\n matomo.init();\n };\n return run;\n}\n\nexport function loadConfigs(config: MatomoConfig) {\n const load = (): MatomoConfig => ({\n isMatomoEnabledInDev: false,\n ...config\n });\n return load;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {MATOMO_CONFIG as ɵd} from './core/matomo-config';\nexport {initialize as ɵa,loadConfigs as ɵb} from './core/matomo.module';\nexport {MatomoInitializerService as ɵc} from './core/tracker/matomo-initializer.service';"],"names":["Cookies.get"],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
export { MATOMO_CONFIG as ɵd } from './core/matomo-config';
|
|
6
|
-
export { initialize as ɵa, loadConfigs as ɵb } from './core/matomo.module';
|
|
7
|
-
export { MatomoInitializerService as ɵc } from './core/tracker/matomo-initializer.service';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"function"},"ɵb":{"__symbolic":"function"},"MatomoModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":7,"character":12},"member":"forRoot"}}],"providers":[{"__symbolic":"reference","name":"ɵc"},{"__symbolic":"reference","name":"MatomoTrackerService"}],"exports":[]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"MatomoModule"},"providers":[{"provide":{"__symbolic":"reference","module":"@angular/core","name":"APP_INITIALIZER","line":17,"character":19},"useFactory":{"__symbolic":"reference","name":"ɵa"},"deps":[{"__symbolic":"reference","name":"ɵc"}],"multi":true},{"provide":{"__symbolic":"reference","name":"ɵd"},"useFactory":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵb"},"arguments":[{"__symbolic":"reference","name":"config"}]},"multi":false}]}}}},"MatomoTrackerService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":8,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":10,"character":39},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":10,"character":75}]}],"initializeTrackPage":[{"__symbolic":"method"}],"setTrackPageView":[{"__symbolic":"method"}],"getUrlPage":[{"__symbolic":"method"}],"trackEvent":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":20,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"init":[{"__symbolic":"method"}],"intializeMatomoSettings":[{"__symbolic":"method"}],"initializeTracker":[{"__symbolic":"method"}],"buildHost":[{"__symbolic":"method"}],"loadUserData":[{"__symbolic":"method"}],"isUserDataAvailable":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵd":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":14,"character":33},"arguments":["MATOMO_CONFIG"]}},"origins":{"ɵa":"./core/matomo.module","ɵb":"./core/matomo.module","MatomoModule":"./core/matomo.module","MatomoTrackerService":"./core/tracker/matomo-tracker.service","ɵc":"./core/tracker/matomo-initializer.service","ɵd":"./core/matomo-config"},"importAs":"@seniorsistemas/matomo-analytics-client"}
|