@seniorsistemas/matomo-analytics-client 1.1.0 → 2.0.0-develop-b8a36d49
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 +21 -18
- 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
package/core/holder.d.ts
CHANGED
package/core/matomo.module.d.ts
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { ModuleWithProviders } from '@angular/core';
|
|
2
2
|
import { MatomoConfig } from './matomo-config';
|
|
3
3
|
import { MatomoInitializerService } from './tracker/matomo-initializer.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
4
6
|
export declare class MatomoModule {
|
|
5
7
|
static forRoot(config: MatomoConfig): ModuleWithProviders<MatomoModule>;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatomoModule, never>;
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MatomoModule, never, [typeof i1.TranslateModule], never>;
|
|
10
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<MatomoModule>;
|
|
6
11
|
}
|
|
7
12
|
export declare function initialize(matomo: MatomoInitializerService): () => void;
|
|
8
|
-
export declare function loadConfigs(config: MatomoConfig): () => MatomoConfig;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { MatomoConfig } from '../matomo-config';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
1
4
|
export declare class MatomoInitializerService {
|
|
2
|
-
private readonly scriptInjector;
|
|
3
5
|
private readonly config;
|
|
4
6
|
private readonly http;
|
|
5
|
-
constructor();
|
|
7
|
+
constructor(config: MatomoConfig, http: HttpClient);
|
|
6
8
|
init(): void;
|
|
7
9
|
private intializeMatomoSettings;
|
|
8
10
|
private initializeTracker;
|
|
9
11
|
private buildHost;
|
|
10
12
|
private loadUserData;
|
|
11
13
|
private isUserDataAvailable;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatomoInitializerService, [null, { optional: true; }]>;
|
|
15
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MatomoInitializerService>;
|
|
12
16
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
3
2
|
export declare class MatomoTrackerService {
|
|
4
|
-
|
|
5
|
-
private readonly translate;
|
|
6
|
-
constructor(router: Router, translate: TranslateService);
|
|
7
|
-
initializeTrackPage(): void;
|
|
3
|
+
initializeTrackPage(router: any): void;
|
|
8
4
|
private setTrackPageView;
|
|
9
|
-
private getUrlPage;
|
|
10
5
|
trackEvent(category: string, action: string, name?: string, value?: string): void;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatomoTrackerService, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MatomoTrackerService>;
|
|
11
8
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
1
2
|
export declare class ScriptInjector {
|
|
2
|
-
private readonly document;
|
|
3
3
|
injectDOMScript(scriptUrl: string): void;
|
|
4
4
|
private scriptFactory;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ScriptInjector, never>;
|
|
6
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ScriptInjector>;
|
|
5
7
|
}
|
package/core/utils/user.d.ts
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function initializeMatomoHolder() {
|
|
2
|
+
window._paq = window._paq || [];
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9sZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3NyYy9jb3JlL2hvbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7QUFDbEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgbGV0IHdpbmRvdzogTWF0b21vSG9sZGVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hdG9tb0hvbGRlciBleHRlbmRzIFdpbmRvdyB7XG4gIF9wYXE6IHsgcHVzaDogdW5rbm93bltdWydwdXNoJ10gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRpYWxpemVNYXRvbW9Ib2xkZXIoKSB7XG4gIHdpbmRvdy5fcGFxID0gd2luZG93Ll9wYXEgfHwgW107XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const MATOMO_CONFIG = new InjectionToken('MATOMO_CONFIG');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zcmMvY29yZS9tYXRvbW8tY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFjL0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLElBQUksY0FBYyxDQUFlLGVBQWUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBNYXRvbW9Db25maWcge1xuICBpc01hdG9tb0VuYWJsZWRJbkRldj86IGJvb2xlYW47XG4gIGFsaWFzPzoge1xuICAgIGhvc3Q6IHN0cmluZztcbiAgICBzaXRlSWQ6IG51bWJlcjtcbiAgfTtcbiAgc2VydmljZToge1xuICAgIGRvbWFpbk5hbWU6IHN0cmluZztcbiAgICBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgTUFUT01PX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxNYXRvbW9Db25maWc+KCdNQVRPTU9fQ09ORklHJyk7XG4iXX0=
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ScriptInjector } from './utils/script-injector';
|
|
2
|
+
import { APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
|
+
import { MATOMO_CONFIG } from './matomo-config';
|
|
4
|
+
import { MatomoInitializerService } from './tracker/matomo-initializer.service';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class MatomoModule {
|
|
8
|
+
static forRoot(config) {
|
|
9
|
+
return {
|
|
10
|
+
ngModule: MatomoModule,
|
|
11
|
+
providers: [
|
|
12
|
+
{
|
|
13
|
+
provide: MATOMO_CONFIG,
|
|
14
|
+
useValue: {
|
|
15
|
+
isMatomoEnabledInDev: false,
|
|
16
|
+
...config
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
MatomoInitializerService,
|
|
20
|
+
{
|
|
21
|
+
provide: APP_INITIALIZER,
|
|
22
|
+
useFactory: initialize,
|
|
23
|
+
deps: [MatomoInitializerService],
|
|
24
|
+
multi: true
|
|
25
|
+
},
|
|
26
|
+
]
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
30
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, imports: [TranslateModule] });
|
|
31
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, providers: [ScriptInjector], imports: [TranslateModule] });
|
|
32
|
+
}
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, decorators: [{
|
|
34
|
+
type: NgModule,
|
|
35
|
+
args: [{
|
|
36
|
+
imports: [TranslateModule],
|
|
37
|
+
providers: [ScriptInjector]
|
|
38
|
+
}]
|
|
39
|
+
}] });
|
|
40
|
+
export function initialize(matomo) {
|
|
41
|
+
return () => matomo.init();
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zcmMvY29yZS9tYXRvbW8ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTXRELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBb0I7UUFDakMsT0FBTztZQUNMLFFBQVEsRUFBRSxZQUFZO1lBQ3RCLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsUUFBUSxFQUFFO3dCQUNSLG9CQUFvQixFQUFFLEtBQUs7d0JBQzNCLEdBQUcsTUFBTTtxQkFDVjtpQkFDRjtnQkFDRCx3QkFBd0I7Z0JBQ3hCO29CQUNFLE9BQU8sRUFBRSxlQUFlO29CQUN4QixVQUFVLEVBQUUsVUFBVTtvQkFDdEIsSUFBSSxFQUFFLENBQUMsd0JBQXdCLENBQUM7b0JBQ2hDLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQzt3R0FyQlUsWUFBWTt5R0FBWixZQUFZLFlBSGIsZUFBZTt5R0FHZCxZQUFZLGFBRlosQ0FBQyxjQUFjLENBQUMsWUFEakIsZUFBZTs7NEZBR2QsWUFBWTtrQkFKeEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzFCLFNBQVMsRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDNUI7O0FBeUJELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBZ0M7SUFDekQsT0FBTyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDN0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjcmlwdEluamVjdG9yIH0gZnJvbSAnLi91dGlscy9zY3JpcHQtaW5qZWN0b3InO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUT01PX0NPTkZJRywgTWF0b21vQ29uZmlnIH0gZnJvbSAnLi9tYXRvbW8tY29uZmlnJztcbmltcG9ydCB7IE1hdG9tb0luaXRpYWxpemVyU2VydmljZSB9IGZyb20gJy4vdHJhY2tlci9tYXRvbW8taW5pdGlhbGl6ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW1NjcmlwdEluamVjdG9yXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRvbW9Nb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc6IE1hdG9tb0NvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8TWF0b21vTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBNYXRvbW9Nb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IE1BVE9NT19DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IHtcbiAgICAgICAgICAgIGlzTWF0b21vRW5hYmxlZEluRGV2OiBmYWxzZSxcbiAgICAgICAgICAgIC4uLmNvbmZpZ1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgTWF0b21vSW5pdGlhbGl6ZXJTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGluaXRpYWxpemUsXG4gICAgICAgICAgZGVwczogW01hdG9tb0luaXRpYWxpemVyU2VydmljZV0sXG4gICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0aWFsaXplKG1hdG9tbzogTWF0b21vSW5pdGlhbGl6ZXJTZXJ2aWNlKSB7XG4gIHJldHVybiAoKSA9PiBtYXRvbW8uaW5pdCgpO1xufVxuIl19
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
2
|
+
import { initializeMatomoHolder } from '../holder';
|
|
3
|
+
import { MATOMO_CONFIG } from '../matomo-config';
|
|
4
|
+
import * as Cookies from 'js-cookie';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common/http";
|
|
7
|
+
const DIMENSION_TENANT_ID = 1;
|
|
8
|
+
const DIMENSION_SERVICE_ID = 2;
|
|
9
|
+
const SITE_ID = 1;
|
|
10
|
+
const MATOMO_HOST = 'frontend-analytics.platform.senior.com.br';
|
|
11
|
+
const DEFAULT_TRACKER_SUFFIX = 'matomo.php';
|
|
12
|
+
const DEFAULT_SCRIPT_SUFFIX = 'matomo.js';
|
|
13
|
+
const SENIOR_USER_INFO = 'SENIOR_USER_INFO';
|
|
14
|
+
const SENIOR_BASE_URL = 'com.senior.base.url';
|
|
15
|
+
const MATOMO_ENVIRONMENT = 'matomo_environment';
|
|
16
|
+
export class MatomoInitializerService {
|
|
17
|
+
config;
|
|
18
|
+
http;
|
|
19
|
+
constructor(config, http) {
|
|
20
|
+
this.config = config;
|
|
21
|
+
this.http = http;
|
|
22
|
+
initializeMatomoHolder();
|
|
23
|
+
}
|
|
24
|
+
init() {
|
|
25
|
+
if (this.isUserDataAvailable()) {
|
|
26
|
+
const userData = this.loadUserData();
|
|
27
|
+
if (!userData) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const { baseUrl, tenantName, username } = userData;
|
|
31
|
+
this.intializeMatomoSettings(username, tenantName);
|
|
32
|
+
const mtEnvironment = localStorage.getItem(MATOMO_ENVIRONMENT);
|
|
33
|
+
if (mtEnvironment) {
|
|
34
|
+
this.initializeTracker(mtEnvironment);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (this.http) {
|
|
38
|
+
this.http.get(`${baseUrl}/portal.json`).subscribe((rs) => {
|
|
39
|
+
const { environment } = rs;
|
|
40
|
+
localStorage.setItem(MATOMO_ENVIRONMENT, environment);
|
|
41
|
+
this.initializeTracker(environment);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
intializeMatomoSettings(username, tenantName) {
|
|
47
|
+
const { domainName, serviceName } = this.config.service;
|
|
48
|
+
const frontendName = `${domainName}.${serviceName}`;
|
|
49
|
+
window._paq.push(['setUserId', username]);
|
|
50
|
+
window._paq.push(['enableLinkTracking']);
|
|
51
|
+
window._paq.push(['setCustomDimension', DIMENSION_TENANT_ID, tenantName]);
|
|
52
|
+
window._paq.push(['setCustomDimension', DIMENSION_SERVICE_ID, frontendName]);
|
|
53
|
+
window._paq.push(['trackPageView']);
|
|
54
|
+
}
|
|
55
|
+
initializeTracker(environment) {
|
|
56
|
+
const { isMatomoEnabledInDev, alias } = this.config;
|
|
57
|
+
if (environment === 'prod' || (isMatomoEnabledInDev && alias)) {
|
|
58
|
+
const u = isMatomoEnabledInDev && environment !== 'prod' ? alias.host : MATOMO_HOST;
|
|
59
|
+
const siteId = isMatomoEnabledInDev && environment !== 'prod' ? alias.siteId : SITE_ID;
|
|
60
|
+
window._paq.push(['setTrackerUrl', this.buildHost(u, DEFAULT_TRACKER_SUFFIX)]);
|
|
61
|
+
window._paq.push(['setSiteId', siteId]);
|
|
62
|
+
const g = document.createElement('script');
|
|
63
|
+
g.type = 'text/javascript';
|
|
64
|
+
g.defer = true;
|
|
65
|
+
g.async = true;
|
|
66
|
+
g.src = this.buildHost(u, DEFAULT_SCRIPT_SUFFIX);
|
|
67
|
+
document.getElementsByTagName('script')[0].before(g);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
buildHost(host, suffix) {
|
|
71
|
+
return `https://${host}/${suffix}`;
|
|
72
|
+
}
|
|
73
|
+
loadUserData() {
|
|
74
|
+
const raw = localStorage.getItem(SENIOR_USER_INFO);
|
|
75
|
+
if (!raw) {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
const parsed = JSON.parse(raw);
|
|
79
|
+
const data = parsed?.data;
|
|
80
|
+
if (data) {
|
|
81
|
+
const { username, tenantName, tenantDomain } = data;
|
|
82
|
+
return {
|
|
83
|
+
tenantName,
|
|
84
|
+
tenantDomain,
|
|
85
|
+
username: `${username}@${tenantDomain}`,
|
|
86
|
+
baseUrl: Cookies.default?.get(SENIOR_BASE_URL) ?? Cookies.get?.(SENIOR_BASE_URL)
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
isUserDataAvailable() {
|
|
92
|
+
return localStorage.getItem(SENIOR_USER_INFO) !== null;
|
|
93
|
+
}
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoInitializerService, deps: [{ token: MATOMO_CONFIG }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
95
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoInitializerService });
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoInitializerService, decorators: [{
|
|
98
|
+
type: Injectable
|
|
99
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
100
|
+
type: Inject,
|
|
101
|
+
args: [MATOMO_CONFIG]
|
|
102
|
+
}] }, { type: i1.HttpClient, decorators: [{
|
|
103
|
+
type: Optional
|
|
104
|
+
}] }] });
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLWluaXRpYWxpemVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdHJhY2tlci9tYXRvbW8taW5pdGlhbGl6ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFN0QsT0FBTyxFQUFnQixzQkFBc0IsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNqRSxPQUFPLEVBQUUsYUFBYSxFQUFnQixNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE9BQU8sS0FBSyxPQUFPLE1BQU0sV0FBVyxDQUFDOzs7QUFJckMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7QUFDOUIsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUM7QUFDL0IsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLE1BQU0sV0FBVyxHQUFHLDJDQUEyQyxDQUFDO0FBQ2hFLE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDO0FBQzVDLE1BQU0scUJBQXFCLEdBQUcsV0FBVyxDQUFDO0FBQzFDLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7QUFDNUMsTUFBTSxlQUFlLEdBQUcscUJBQXFCLENBQUM7QUFDOUMsTUFBTSxrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQztBQUdoRCxNQUFNLE9BQU8sd0JBQXdCO0lBRU87SUFDWDtJQUYvQixZQUMwQyxNQUFvQixFQUMvQixJQUFnQjtRQURMLFdBQU0sR0FBTixNQUFNLENBQWM7UUFDL0IsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUU3QyxzQkFBc0IsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1lBQy9CLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZ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QyxnQkFBZ0IsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUN6RCxDQUFDO3dHQTNGVSx3QkFBd0Isa0JBRXpCLGFBQWE7NEdBRlosd0JBQXdCOzs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVOzswQkFHTixNQUFNOzJCQUFDLGFBQWE7OzBCQUNwQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE1hdG9tb0hvbGRlciwgaW5pdGlhbGl6ZU1hdG9tb0hvbGRlciB9IGZyb20gJy4uL2hvbGRlcic7XG5pbXBvcnQgeyBNQVRPTU9fQ09ORklHLCBNYXRvbW9Db25maWcgfSBmcm9tICcuLi9tYXRvbW8tY29uZmlnJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi91dGlscy91c2VyJztcbmltcG9ydCAqIGFzIENvb2tpZXMgZnJvbSAnanMtY29va2llJztcblxuZGVjbGFyZSBjb25zdCB3aW5kb3c6IE1hdG9tb0hvbGRlcjtcblxuY29uc3QgRElNRU5TSU9OX1RFTkFOVF9JRCA9IDE7XG5jb25zdCBESU1FTlNJT05fU0VSVklDRV9JRCA9IDI7XG5jb25zdCBTSVRFX0lEID0gMTtcbmNvbnN0IE1BVE9NT19IT1NUID0gJ2Zyb250ZW5kLWFuYWx5dGljcy5wbGF0Zm9ybS5zZW5pb3IuY29tLmJyJztcbmNvbnN0IERFRkFVTFRfVFJBQ0tFUl9TVUZGSVggPSAnbWF0b21vLnBocCc7XG5jb25zdCBERUZBVUxUX1NDUklQVF9TVUZGSVggPSAnbWF0b21vLmpzJztcbmNvbnN0IFNFTklPUl9VU0VSX0lORk8gPSAnU0VOSU9SX1VTRVJfSU5GTyc7XG5jb25zdCBTRU5JT1JfQkFTRV9VUkwgPSAnY29tLnNlbmlvci5iYXNlLnVybCc7XG5jb25zdCBNQVRPTU9fRU5WSVJPTk1FTlQgPSAnbWF0b21vX2Vudmlyb25tZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1hdG9tb0luaXRpYWxpemVyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTUFUT01PX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IE1hdG9tb0NvbmZpZyxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIHJlYWRvbmx5IGh0dHA6IEh0dHBDbGllbnQsXG4gICkge1xuICAgIGluaXRpYWxpemVNYXRvbW9Ib2xkZXIoKTtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNVc2VyRGF0YUF2YWlsYWJsZSgpKSB7XG4gICAgICBjb25zdCB1c2VyRGF0YSA9IHRoaXMubG9hZFVzZXJEYXRhKCk7XG4gICAgICBpZiAoIXVzZXJEYXRhKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHsgYmFzZVVybCwgdGVuYW50TmFtZSwgdXNlcm5hbWUgfSA9IHVzZXJEYXRhO1xuICAgICAgdGhpcy5pbnRpYWxpemVNYXRvbW9TZXR0aW5ncyh1c2VybmFtZSwgdGVuYW50TmFtZSk7XG5cbiAgICAgIGNvbnN0IG10RW52aXJvbm1lbnQgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShNQVRPTU9fRU5WSVJPTk1FTlQpO1xuICAgICAgaWYgKG10RW52aXJvbm1lbnQpIHtcbiAgICAgICAgdGhpcy5pbml0aWFsaXplVHJhY2tlcihtdEVudmlyb25tZW50KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5odHRwKSB7XG4gICAgICAgIHRoaXMuaHR0cC5nZXQoYCR7YmFzZVVybH0vcG9ydGFsLmpzb25gKS5zdWJzY3JpYmUoKHJzOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCB7IGVudmlyb25tZW50IH0gPSBycztcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShNQVRPTU9fRU5WSVJPTk1FTlQsIGVudmlyb25tZW50KTtcbiAgICAgICAgICB0aGlzLmluaXRpYWxpemVUcmFja2VyKGVudmlyb25tZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbnRpYWxpemVNYXRvbW9TZXR0aW5ncyh1c2VybmFtZTogc3RyaW5nLCB0ZW5hbnROYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCB7IGRvbWFpbk5hbWUsIHNlcnZpY2VOYW1lIH0gPSB0aGlzLmNvbmZpZy5zZXJ2aWNlO1xuICAgIGNvbnN0IGZyb250ZW5kTmFtZSA9IGAke2RvbWFpbk5hbWV9LiR7c2VydmljZU5hbWV9YDtcblxuICAgIHdpbmRvdy5fcGFxLnB1c2goWydzZXRVc2VySWQnLCB1c2VybmFtZV0pO1xuICAgIHdpbmRvdy5fcGFxLnB1c2goWydlbmFibGVMaW5rVHJhY2tpbmcnXSk7XG4gICAgd2luZG93Ll9wYXEucHVzaChbJ3NldEN1c3RvbURpbWVuc2lvbicsIERJTUVOU0lPTl9URU5BTlRfSUQsIHRlbmFudE5hbWVdKTtcbiAgICB3aW5kb3cuX3BhcS5wdXNoKFsnc2V0Q3VzdG9tRGltZW5zaW9uJywgRElNRU5TSU9OX1NFUlZJQ0VfSUQsIGZyb250ZW5kTmFtZV0pO1xuICAgIHdpbmRvdy5fcGFxLnB1c2goWyd0cmFja1BhZ2VWaWV3J10pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplVHJhY2tlcihlbnZpcm9ubWVudDogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgeyBpc01hdG9tb0VuYWJsZWRJbkRldiwgYWxpYXMgfSA9IHRoaXMuY29uZmlnO1xuXG4gICAgaWYgKGVudmlyb25tZW50ID09PSAncHJvZCcgfHwgKGlzTWF0b21vRW5hYmxlZEluRGV2ICYmIGFsaWFzKSkge1xuICAgICAgY29uc3QgdSA9IGlzTWF0b21vRW5hYmxlZEluRGV2ICYmIGVudmlyb25tZW50ICE9PSAncHJvZCcgPyBhbGlhcy5ob3N0IDogTUFUT01PX0hPU1Q7XG4gICAgICBjb25zdCBzaXRlSWQgPSBpc01hdG9tb0VuYWJsZWRJbkRldiAmJiBlbnZpcm9ubWVudCAhPT0gJ3Byb2QnID8gYWxpYXMuc2l0ZUlkIDogU0lURV9JRDtcblxuICAgICAgd2luZG93Ll9wYXEucHVzaChbJ3NldFRyYWNrZXJVcmwnLCB0aGlzLmJ1aWxkSG9zdCh1LCBERUZBVUxUX1RSQUNLRVJfU1VGRklYKV0pO1xuICAgICAgd2luZG93Ll9wYXEucHVzaChbJ3NldFNpdGVJZCcsIHNpdGVJZF0pO1xuXG4gICAgICBjb25zdCBnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICBnLnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgIGcuZGVmZXIgPSB0cnVlO1xuICAgICAgZy5hc3luYyA9IHRydWU7XG4gICAgICBnLnNyYyA9IHRoaXMuYnVpbGRIb3N0KHUsIERFRkFVTFRfU0NSSVBUX1NVRkZJWCk7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF0uYmVmb3JlKGcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRIb3N0KGhvc3Q6IHN0cmluZywgc3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgaHR0cHM6Ly8ke2hvc3R9LyR7c3VmZml4fWA7XG4gIH1cblxuICBwcml2YXRlIGxvYWRVc2VyRGF0YSgpOiBVc2VyIHwgbnVsbCB7XG4gICAgY29uc3QgcmF3ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oU0VOSU9SX1VTRVJfSU5GTyk7XG4gICAgaWYgKCFyYXcpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UocmF3KTtcbiAgICBjb25zdCBkYXRhID0gcGFyc2VkPy5kYXRhO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIGNvbnN0IHsgdXNlcm5hbWUsIHRlbmFudE5hbWUsIHRlbmFudERvbWFpbiB9ID0gZGF0YTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRlbmFudE5hbWUsXG4gICAgICAgIHRlbmFudERvbWFpbixcbiAgICAgICAgdXNlcm5hbWU6IGAke3VzZXJuYW1lfUAke3RlbmFudERvbWFpbn1gLFxuICAgICAgICBiYXNlVXJsOiAoQ29va2llcyBhcyBhbnkpLmRlZmF1bHQ/LmdldChTRU5JT1JfQkFTRV9VUkwpID8/IChDb29raWVzIGFzIGFueSkuZ2V0Py4oU0VOSU9SX0JBU0VfVVJMKVxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNVc2VyRGF0YUF2YWlsYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oU0VOSU9SX1VTRVJfSU5GTykgIT09IG51bGw7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class MatomoTrackerService {
|
|
4
|
+
initializeTrackPage(router) {
|
|
5
|
+
router.events.subscribe((event) => {
|
|
6
|
+
if (event?.constructor?.name === 'NavigationEnd') {
|
|
7
|
+
this.setTrackPageView();
|
|
8
|
+
}
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
setTrackPageView() {
|
|
12
|
+
if (!window._paq) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
window._paq.push(['setCustomUrl', window.location.href]);
|
|
16
|
+
window._paq.push(['setDocumentTitle', document.title]);
|
|
17
|
+
window._paq.push(['trackPageView']);
|
|
18
|
+
}
|
|
19
|
+
trackEvent(category, action, name, value) {
|
|
20
|
+
if (window._paq) {
|
|
21
|
+
const event = ['trackEvent', category, action];
|
|
22
|
+
if (name !== undefined) {
|
|
23
|
+
event.push(name);
|
|
24
|
+
}
|
|
25
|
+
if (value !== undefined) {
|
|
26
|
+
event.push(value);
|
|
27
|
+
}
|
|
28
|
+
window._paq.push(event);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoTrackerService, providedIn: 'root' });
|
|
33
|
+
}
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoTrackerService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{ providedIn: 'root' }]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLXRyYWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS90cmFja2VyL21hdG9tby10cmFja2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUV4QixtQkFBbUIsQ0FBQyxNQUFXO1FBQ3BDLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDckMsSUFBSSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksS0FBSyxlQUFlLEVBQUUsQ0FBQztnQkFDakQsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDMUIsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pCLE9BQU87UUFDVCxDQUFDO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDdkQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTSxVQUFVLENBQUMsUUFBZ0IsRUFBRSxNQUFjLEVBQUUsSUFBYSxFQUFFLEtBQWM7UUFDL0UsSUFBSSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsTUFBTSxLQUFLLEdBQWEsQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pELElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ25CLENBQUM7WUFFRCxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDeEIsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBWSxDQUFDLENBQUM7UUFDakMsQ0FBQztJQUNILENBQUM7d0dBaENVLG9CQUFvQjs0R0FBcEIsb0JBQW9CLGNBRFAsTUFBTTs7NEZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRvbW9Ib2xkZXIgfSBmcm9tICcuLi9ob2xkZXInO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogTWF0b21vSG9sZGVyO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIE1hdG9tb1RyYWNrZXJTZXJ2aWNlIHtcblxuICBwdWJsaWMgaW5pdGlhbGl6ZVRyYWNrUGFnZShyb3V0ZXI6IGFueSk6IHZvaWQge1xuICAgIHJvdXRlci5ldmVudHMuc3Vic2NyaWJlKChldmVudDogYW55KSA9PiB7XG4gICAgICBpZiAoZXZlbnQ/LmNvbnN0cnVjdG9yPy5uYW1lID09PSAnTmF2aWdhdGlvbkVuZCcpIHtcbiAgICAgICAgdGhpcy5zZXRUcmFja1BhZ2VWaWV3KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldFRyYWNrUGFnZVZpZXcoKTogdm9pZCB7XG4gICAgaWYgKCF3aW5kb3cuX3BhcSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB3aW5kb3cuX3BhcS5wdXNoKFsnc2V0Q3VzdG9tVXJsJywgd2luZG93LmxvY2F0aW9uLmhyZWZdKTtcbiAgICB3aW5kb3cuX3BhcS5wdXNoKFsnc2V0RG9jdW1lbnRUaXRsZScsIGRvY3VtZW50LnRpdGxlXSk7XG4gICAgd2luZG93Ll9wYXEucHVzaChbJ3RyYWNrUGFnZVZpZXcnXSk7XG4gIH1cblxuICBwdWJsaWMgdHJhY2tFdmVudChjYXRlZ29yeTogc3RyaW5nLCBhY3Rpb246IHN0cmluZywgbmFtZT86IHN0cmluZywgdmFsdWU/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAod2luZG93Ll9wYXEpIHtcbiAgICAgIGNvbnN0IGV2ZW50OiBzdHJpbmdbXSA9IFsndHJhY2tFdmVudCcsIGNhdGVnb3J5LCBhY3Rpb25dO1xuICAgICAgaWYgKG5hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBldmVudC5wdXNoKG5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBldmVudC5wdXNoKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgd2luZG93Ll9wYXEucHVzaChldmVudCBhcyBhbnkpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function requireNoNull(value, message) {
|
|
2
|
+
if (value === null || value === undefined) {
|
|
3
|
+
throw new Error(`Unexpected ${value} value: ${message}`);
|
|
4
|
+
}
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdmFsdWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvc3JjL2NvcmUvdXRpbHMvY2hlY2stdmFsdWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGFBQWEsQ0FBSSxLQUEyQixFQUFFLE9BQWU7SUFDM0UsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUMxQyxNQUFNLElBQUksS0FBSyxDQUFDLGNBQWMsS0FBSyxXQUFXLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiByZXF1aXJlTm9OdWxsPFQ+KHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCwgbWVzc2FnZTogc3RyaW5nKTogVCB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkICR7dmFsdWV9IHZhbHVlOiAke21lc3NhZ2V9YCk7XG4gIH1cbiAgcmV0dXJuIHZhbHVlO1xufVxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { requireNoNull } from './check-value';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ScriptInjector {
|
|
5
|
+
injectDOMScript(scriptUrl) {
|
|
6
|
+
const scriptElement = this.scriptFactory(scriptUrl);
|
|
7
|
+
const selfScript = requireNoNull(document.getElementsByTagName('script')[0], 'no existing script found');
|
|
8
|
+
selfScript.before(scriptElement);
|
|
9
|
+
}
|
|
10
|
+
scriptFactory(scriptUrl) {
|
|
11
|
+
const g = document.createElement('script');
|
|
12
|
+
g.type = 'text/javascript';
|
|
13
|
+
g.defer = true;
|
|
14
|
+
g.async = true;
|
|
15
|
+
g.src = scriptUrl;
|
|
16
|
+
return g;
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScriptInjector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
19
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScriptInjector });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScriptInjector, decorators: [{
|
|
22
|
+
type: Injectable
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LWluamVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3NyYy9jb3JlL3V0aWxzL3NjcmlwdC1pbmplY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzlDLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLGVBQWUsQ0FBQyxTQUFpQjtRQUMvQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FDOUIsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMxQywwQkFBMEIsQ0FDM0IsQ0FBQztRQUVGLFVBQVUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxTQUFpQjtRQUNyQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTNDLENBQUMsQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7UUFDM0IsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDZixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUNmLENBQUMsQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO1FBRWxCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQzt3R0FyQlUsY0FBYzs0R0FBZCxjQUFjOzs0RkFBZCxjQUFjO2tCQUQxQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVxdWlyZU5vTnVsbCB9IGZyb20gJy4vY2hlY2stdmFsdWUnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2NyaXB0SW5qZWN0b3Ige1xuICBpbmplY3RET01TY3JpcHQoc2NyaXB0VXJsOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JpcHRFbGVtZW50ID0gdGhpcy5zY3JpcHRGYWN0b3J5KHNjcmlwdFVybCk7XG5cbiAgICBjb25zdCBzZWxmU2NyaXB0ID0gcmVxdWlyZU5vTnVsbChcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXSxcbiAgICAgICdubyBleGlzdGluZyBzY3JpcHQgZm91bmQnXG4gICAgKTtcblxuICAgIHNlbGZTY3JpcHQuYmVmb3JlKHNjcmlwdEVsZW1lbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBzY3JpcHRGYWN0b3J5KHNjcmlwdFVybDogc3RyaW5nKTogSFRNTFNjcmlwdEVsZW1lbnQge1xuICAgIGNvbnN0IGcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcblxuICAgIGcudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgIGcuZGVmZXIgPSB0cnVlO1xuICAgIGcuYXN5bmMgPSB0cnVlO1xuICAgIGcuc3JjID0gc2NyaXB0VXJsO1xuXG4gICAgcmV0dXJuIGc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9zcmMvY29yZS91dGlscy91c2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFVzZXIge1xuICB1c2VybmFtZTogc3RyaW5nO1xuICB0ZW5hbnROYW1lOiBzdHJpbmc7XG4gIHRlbmFudERvbWFpbjogc3RyaW5nO1xuICBiYXNlVXJsOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { MatomoModule } from './core/matomo.module';
|
|
2
|
+
export { MatomoTrackerService } from './core/tracker/matomo-tracker.service';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNYXRvbW9Nb2R1bGUgfSBmcm9tICcuL2NvcmUvbWF0b21vLm1vZHVsZSc7XG5leHBvcnQgeyBNYXRvbW9UcmFja2VyU2VydmljZSB9IGZyb20gJy4vY29yZS90cmFja2VyL21hdG9tby10cmFja2VyLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VuaW9yc2lzdGVtYXMtbWF0b21vLWFuYWx5dGljcy1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvc3JjL3NlbmlvcnNpc3RlbWFzLW1hdG9tby1hbmFseXRpY3MtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Injectable, InjectionToken, Inject, Optional, APP_INITIALIZER, NgModule } from '@angular/core';
|
|
3
|
+
import * as Cookies from 'js-cookie';
|
|
4
|
+
import * as i1 from '@angular/common/http';
|
|
5
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
6
|
+
|
|
7
|
+
function requireNoNull(value, message) {
|
|
8
|
+
if (value === null || value === undefined) {
|
|
9
|
+
throw new Error(`Unexpected ${value} value: ${message}`);
|
|
10
|
+
}
|
|
11
|
+
return value;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
class ScriptInjector {
|
|
15
|
+
injectDOMScript(scriptUrl) {
|
|
16
|
+
const scriptElement = this.scriptFactory(scriptUrl);
|
|
17
|
+
const selfScript = requireNoNull(document.getElementsByTagName('script')[0], 'no existing script found');
|
|
18
|
+
selfScript.before(scriptElement);
|
|
19
|
+
}
|
|
20
|
+
scriptFactory(scriptUrl) {
|
|
21
|
+
const g = document.createElement('script');
|
|
22
|
+
g.type = 'text/javascript';
|
|
23
|
+
g.defer = true;
|
|
24
|
+
g.async = true;
|
|
25
|
+
g.src = scriptUrl;
|
|
26
|
+
return g;
|
|
27
|
+
}
|
|
28
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScriptInjector, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScriptInjector });
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScriptInjector, decorators: [{
|
|
32
|
+
type: Injectable
|
|
33
|
+
}] });
|
|
34
|
+
|
|
35
|
+
const MATOMO_CONFIG = new InjectionToken('MATOMO_CONFIG');
|
|
36
|
+
|
|
37
|
+
function initializeMatomoHolder() {
|
|
38
|
+
window._paq = window._paq || [];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const DIMENSION_TENANT_ID = 1;
|
|
42
|
+
const DIMENSION_SERVICE_ID = 2;
|
|
43
|
+
const SITE_ID = 1;
|
|
44
|
+
const MATOMO_HOST = 'frontend-analytics.platform.senior.com.br';
|
|
45
|
+
const DEFAULT_TRACKER_SUFFIX = 'matomo.php';
|
|
46
|
+
const DEFAULT_SCRIPT_SUFFIX = 'matomo.js';
|
|
47
|
+
const SENIOR_USER_INFO = 'SENIOR_USER_INFO';
|
|
48
|
+
const SENIOR_BASE_URL = 'com.senior.base.url';
|
|
49
|
+
const MATOMO_ENVIRONMENT = 'matomo_environment';
|
|
50
|
+
class MatomoInitializerService {
|
|
51
|
+
config;
|
|
52
|
+
http;
|
|
53
|
+
constructor(config, http) {
|
|
54
|
+
this.config = config;
|
|
55
|
+
this.http = http;
|
|
56
|
+
initializeMatomoHolder();
|
|
57
|
+
}
|
|
58
|
+
init() {
|
|
59
|
+
if (this.isUserDataAvailable()) {
|
|
60
|
+
const userData = this.loadUserData();
|
|
61
|
+
if (!userData) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const { baseUrl, tenantName, username } = userData;
|
|
65
|
+
this.intializeMatomoSettings(username, tenantName);
|
|
66
|
+
const mtEnvironment = localStorage.getItem(MATOMO_ENVIRONMENT);
|
|
67
|
+
if (mtEnvironment) {
|
|
68
|
+
this.initializeTracker(mtEnvironment);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
if (this.http) {
|
|
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
|
+
}
|
|
80
|
+
intializeMatomoSettings(username, tenantName) {
|
|
81
|
+
const { domainName, serviceName } = this.config.service;
|
|
82
|
+
const frontendName = `${domainName}.${serviceName}`;
|
|
83
|
+
window._paq.push(['setUserId', username]);
|
|
84
|
+
window._paq.push(['enableLinkTracking']);
|
|
85
|
+
window._paq.push(['setCustomDimension', DIMENSION_TENANT_ID, tenantName]);
|
|
86
|
+
window._paq.push(['setCustomDimension', DIMENSION_SERVICE_ID, frontendName]);
|
|
87
|
+
window._paq.push(['trackPageView']);
|
|
88
|
+
}
|
|
89
|
+
initializeTracker(environment) {
|
|
90
|
+
const { isMatomoEnabledInDev, alias } = this.config;
|
|
91
|
+
if (environment === 'prod' || (isMatomoEnabledInDev && alias)) {
|
|
92
|
+
const u = isMatomoEnabledInDev && environment !== 'prod' ? alias.host : MATOMO_HOST;
|
|
93
|
+
const siteId = isMatomoEnabledInDev && environment !== 'prod' ? alias.siteId : SITE_ID;
|
|
94
|
+
window._paq.push(['setTrackerUrl', this.buildHost(u, DEFAULT_TRACKER_SUFFIX)]);
|
|
95
|
+
window._paq.push(['setSiteId', siteId]);
|
|
96
|
+
const g = document.createElement('script');
|
|
97
|
+
g.type = 'text/javascript';
|
|
98
|
+
g.defer = true;
|
|
99
|
+
g.async = true;
|
|
100
|
+
g.src = this.buildHost(u, DEFAULT_SCRIPT_SUFFIX);
|
|
101
|
+
document.getElementsByTagName('script')[0].before(g);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
buildHost(host, suffix) {
|
|
105
|
+
return `https://${host}/${suffix}`;
|
|
106
|
+
}
|
|
107
|
+
loadUserData() {
|
|
108
|
+
const raw = localStorage.getItem(SENIOR_USER_INFO);
|
|
109
|
+
if (!raw) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const parsed = JSON.parse(raw);
|
|
113
|
+
const data = parsed?.data;
|
|
114
|
+
if (data) {
|
|
115
|
+
const { username, tenantName, tenantDomain } = data;
|
|
116
|
+
return {
|
|
117
|
+
tenantName,
|
|
118
|
+
tenantDomain,
|
|
119
|
+
username: `${username}@${tenantDomain}`,
|
|
120
|
+
baseUrl: Cookies.default?.get(SENIOR_BASE_URL) ?? Cookies.get?.(SENIOR_BASE_URL)
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
isUserDataAvailable() {
|
|
126
|
+
return localStorage.getItem(SENIOR_USER_INFO) !== null;
|
|
127
|
+
}
|
|
128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoInitializerService, deps: [{ token: MATOMO_CONFIG }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
129
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoInitializerService });
|
|
130
|
+
}
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoInitializerService, decorators: [{
|
|
132
|
+
type: Injectable
|
|
133
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
134
|
+
type: Inject,
|
|
135
|
+
args: [MATOMO_CONFIG]
|
|
136
|
+
}] }, { type: i1.HttpClient, decorators: [{
|
|
137
|
+
type: Optional
|
|
138
|
+
}] }] });
|
|
139
|
+
|
|
140
|
+
class MatomoModule {
|
|
141
|
+
static forRoot(config) {
|
|
142
|
+
return {
|
|
143
|
+
ngModule: MatomoModule,
|
|
144
|
+
providers: [
|
|
145
|
+
{
|
|
146
|
+
provide: MATOMO_CONFIG,
|
|
147
|
+
useValue: {
|
|
148
|
+
isMatomoEnabledInDev: false,
|
|
149
|
+
...config
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
MatomoInitializerService,
|
|
153
|
+
{
|
|
154
|
+
provide: APP_INITIALIZER,
|
|
155
|
+
useFactory: initialize,
|
|
156
|
+
deps: [MatomoInitializerService],
|
|
157
|
+
multi: true
|
|
158
|
+
},
|
|
159
|
+
]
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
163
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, imports: [TranslateModule] });
|
|
164
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, providers: [ScriptInjector], imports: [TranslateModule] });
|
|
165
|
+
}
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoModule, decorators: [{
|
|
167
|
+
type: NgModule,
|
|
168
|
+
args: [{
|
|
169
|
+
imports: [TranslateModule],
|
|
170
|
+
providers: [ScriptInjector]
|
|
171
|
+
}]
|
|
172
|
+
}] });
|
|
173
|
+
function initialize(matomo) {
|
|
174
|
+
return () => matomo.init();
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
class MatomoTrackerService {
|
|
178
|
+
initializeTrackPage(router) {
|
|
179
|
+
router.events.subscribe((event) => {
|
|
180
|
+
if (event?.constructor?.name === 'NavigationEnd') {
|
|
181
|
+
this.setTrackPageView();
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
setTrackPageView() {
|
|
186
|
+
if (!window._paq) {
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
window._paq.push(['setCustomUrl', window.location.href]);
|
|
190
|
+
window._paq.push(['setDocumentTitle', document.title]);
|
|
191
|
+
window._paq.push(['trackPageView']);
|
|
192
|
+
}
|
|
193
|
+
trackEvent(category, action, name, value) {
|
|
194
|
+
if (window._paq) {
|
|
195
|
+
const event = ['trackEvent', category, action];
|
|
196
|
+
if (name !== undefined) {
|
|
197
|
+
event.push(name);
|
|
198
|
+
}
|
|
199
|
+
if (value !== undefined) {
|
|
200
|
+
event.push(value);
|
|
201
|
+
}
|
|
202
|
+
window._paq.push(event);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoTrackerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
206
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoTrackerService, providedIn: 'root' });
|
|
207
|
+
}
|
|
208
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MatomoTrackerService, decorators: [{
|
|
209
|
+
type: Injectable,
|
|
210
|
+
args: [{ providedIn: 'root' }]
|
|
211
|
+
}] });
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* Generated bundle index. Do not edit.
|
|
215
|
+
*/
|
|
216
|
+
|
|
217
|
+
export { MatomoModule, MatomoTrackerService };
|
|
218
|
+
//# sourceMappingURL=seniorsistemas-matomo-analytics-client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seniorsistemas-matomo-analytics-client.mjs","sources":["../../lib/src/core/utils/check-value.ts","../../lib/src/core/utils/script-injector.ts","../../lib/src/core/matomo-config.ts","../../lib/src/core/holder.ts","../../lib/src/core/tracker/matomo-initializer.service.ts","../../lib/src/core/matomo.module.ts","../../lib/src/core/tracker/matomo-tracker.service.ts","../../lib/src/seniorsistemas-matomo-analytics-client.ts"],"sourcesContent":["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 { Injectable } from '@angular/core';\nimport { requireNoNull } from './check-value';\n\n@Injectable()\nexport class ScriptInjector {\n injectDOMScript(scriptUrl: string): void {\n const scriptElement = this.scriptFactory(scriptUrl);\n\n const selfScript = requireNoNull(\n document.getElementsByTagName('script')[0],\n 'no existing script found'\n );\n\n selfScript.before(scriptElement);\n }\n\n private scriptFactory(scriptUrl: string): 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 { 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: unknown[]['push'] };\n}\n\nexport function initializeMatomoHolder() {\n window._paq = window._paq || [];\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { MatomoHolder, initializeMatomoHolder } from '../holder';\nimport { MATOMO_CONFIG, MatomoConfig } 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()\nexport class MatomoInitializerService {\n constructor(\n @Inject(MATOMO_CONFIG) private readonly config: MatomoConfig,\n @Optional() private readonly http: HttpClient,\n ) {\n initializeMatomoHolder();\n }\n\n init(): void {\n if (this.isUserDataAvailable()) {\n const userData = this.loadUserData();\n if (!userData) {\n return;\n }\n const { baseUrl, tenantName, username } = userData;\n this.intializeMatomoSettings(username, tenantName);\n\n const mtEnvironment = localStorage.getItem(MATOMO_ENVIRONMENT);\n if (mtEnvironment) {\n this.initializeTracker(mtEnvironment);\n return;\n }\n\n if (this.http) {\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\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 const g = document.createElement('script');\n g.type = 'text/javascript';\n g.defer = true;\n g.async = true;\n g.src = this.buildHost(u, DEFAULT_SCRIPT_SUFFIX);\n document.getElementsByTagName('script')[0].before(g);\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 raw = localStorage.getItem(SENIOR_USER_INFO);\n if (!raw) {\n return null;\n }\n\n const parsed = JSON.parse(raw);\n const data = parsed?.data;\n\n if (data) {\n const { username, tenantName, tenantDomain } = data;\n return {\n tenantName,\n tenantDomain,\n username: `${username}@${tenantDomain}`,\n baseUrl: (Cookies as any).default?.get(SENIOR_BASE_URL) ?? (Cookies as any).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 { ScriptInjector } from './utils/script-injector';\nimport { APP_INITIALIZER, ModuleWithProviders, NgModule } from '@angular/core';\nimport { MATOMO_CONFIG, MatomoConfig } from './matomo-config';\nimport { MatomoInitializerService } from './tracker/matomo-initializer.service';\nimport { TranslateModule } from '@ngx-translate/core';\n\n@NgModule({\n imports: [TranslateModule],\n providers: [ScriptInjector]\n})\nexport class MatomoModule {\n static forRoot(config: MatomoConfig): ModuleWithProviders<MatomoModule> {\n return {\n ngModule: MatomoModule,\n providers: [\n {\n provide: MATOMO_CONFIG,\n useValue: {\n isMatomoEnabledInDev: false,\n ...config\n }\n },\n MatomoInitializerService,\n {\n provide: APP_INITIALIZER,\n useFactory: initialize,\n deps: [MatomoInitializerService],\n multi: true\n },\n ]\n };\n }\n}\n\nexport function initialize(matomo: MatomoInitializerService) {\n return () => matomo.init();\n}\n","import { Injectable } from '@angular/core';\nimport { MatomoHolder } from '../holder';\n\ndeclare const window: MatomoHolder;\n\n@Injectable({ providedIn: 'root' })\nexport class MatomoTrackerService {\n\n public initializeTrackPage(router: any): void {\n router.events.subscribe((event: any) => {\n if (event?.constructor?.name === 'NavigationEnd') {\n this.setTrackPageView();\n }\n });\n }\n\n private setTrackPageView(): void {\n if (!window._paq) {\n return;\n }\n window._paq.push(['setCustomUrl', window.location.href]);\n window._paq.push(['setDocumentTitle', document.title]);\n window._paq.push(['trackPageView']);\n }\n\n public trackEvent(category: string, action: string, name?: string, value?: string): void {\n if (window._paq) {\n const event: string[] = ['trackEvent', category, action];\n if (name !== undefined) {\n event.push(name);\n }\n\n if (value !== undefined) {\n event.push(value);\n }\n\n window._paq.push(event as any);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|