mis-crystal-design-system 2.6.9 → 2.7.2
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/analytics/analytics.module.d.ts +4 -0
- package/analytics/analytics.service.d.ts +11 -0
- package/analytics/index.d.ts +1 -0
- package/analytics/mis-crystal-design-system-analytics.d.ts +4 -0
- package/analytics/mis-crystal-design-system-analytics.metadata.json +1 -0
- package/analytics/package.json +11 -0
- package/analytics/public_api.d.ts +2 -0
- package/bundles/mis-crystal-design-system-analytics.umd.js +422 -0
- package/bundles/mis-crystal-design-system-analytics.umd.js.map +1 -0
- package/bundles/mis-crystal-design-system-analytics.umd.min.js +16 -0
- package/bundles/mis-crystal-design-system-analytics.umd.min.js.map +1 -0
- package/esm2015/analytics/analytics.module.js +14 -0
- package/esm2015/analytics/analytics.service.js +62 -0
- package/esm2015/analytics/index.js +2 -0
- package/esm2015/analytics/mis-crystal-design-system-analytics.js +5 -0
- package/esm2015/analytics/public_api.js +3 -0
- package/fesm2015/mis-crystal-design-system-analytics.js +79 -0
- package/fesm2015/mis-crystal-design-system-analytics.js.map +1 -0
- package/package.json +1 -1
- package/styles/fonts/icomoon.eot +0 -0
- package/styles/fonts/icomoon.svg +85 -50
- package/styles/fonts/icomoon.ttf +0 -0
- package/styles/fonts/icomoon.woff +0 -0
- package/styles/mis-icons.scss +185 -57
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { DOCUMENT } from "@angular/common";
|
|
2
|
+
import { Inject, Injectable } from "@angular/core";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class AnalyticsService {
|
|
6
|
+
constructor(document) {
|
|
7
|
+
this.document = document;
|
|
8
|
+
this.scriptLoaded = false;
|
|
9
|
+
this.pendingEvents = [];
|
|
10
|
+
}
|
|
11
|
+
insertScript(measurementId, renderer) {
|
|
12
|
+
const loadScript = renderer.createElement("script");
|
|
13
|
+
loadScript.setAttribute("async", true);
|
|
14
|
+
loadScript.setAttribute("src", `https://www.googletagmanager.com/gtag/js?id=${measurementId}`);
|
|
15
|
+
const initScript = renderer.createElement("script");
|
|
16
|
+
initScript.innerText = `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'${measurementId}\');`;
|
|
17
|
+
renderer.appendChild(this.document.head, loadScript);
|
|
18
|
+
renderer.appendChild(this.document.head, initScript);
|
|
19
|
+
this.handlePendingEvents(loadScript);
|
|
20
|
+
}
|
|
21
|
+
handlePendingEvents(script) {
|
|
22
|
+
script.addEventListener("load", () => {
|
|
23
|
+
this.scriptLoaded = true;
|
|
24
|
+
for (const eventDetails of this.pendingEvents) {
|
|
25
|
+
if (eventDetails[0] === "event") {
|
|
26
|
+
this.send(eventDetails[1], eventDetails[2], eventDetails[3], eventDetails[4]);
|
|
27
|
+
}
|
|
28
|
+
else if (eventDetails[0] === "set") {
|
|
29
|
+
this.setIdentity(eventDetails[1]);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
send(eventAction, event_category, event_label, event_value, force = false) {
|
|
35
|
+
if (!this.scriptLoaded && !force) {
|
|
36
|
+
this.pendingEvents.push(["event", eventAction, event_category, event_label, event_value]);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
gtag === null || gtag === void 0 ? void 0 : gtag("event", eventAction, {
|
|
40
|
+
event_category,
|
|
41
|
+
event_label,
|
|
42
|
+
event_value
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
setIdentity(identifier) {
|
|
46
|
+
if (!this.scriptLoaded) {
|
|
47
|
+
this.pendingEvents.push(["set", identifier]);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
gtag === null || gtag === void 0 ? void 0 : gtag("set", { user_id: identifier });
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
AnalyticsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AnalyticsService_Factory() { return new AnalyticsService(i0.ɵɵinject(i1.DOCUMENT)); }, token: AnalyticsService, providedIn: "root" });
|
|
54
|
+
AnalyticsService.decorators = [
|
|
55
|
+
{ type: Injectable, args: [{
|
|
56
|
+
providedIn: "root"
|
|
57
|
+
},] }
|
|
58
|
+
];
|
|
59
|
+
AnalyticsService.ctorParameters = () => [
|
|
60
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
61
|
+
];
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9hbmFseXRpY3MvYW5hbHl0aWNzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDOzs7QUFNOUQsTUFBTSxPQUFPLGdCQUFnQjtJQUkzQixZQUFzQyxRQUFhO1FBQWIsYUFBUSxHQUFSLFFBQVEsQ0FBSztRQUgzQyxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixrQkFBYSxHQUF5QixFQUFFLENBQUM7SUFFSyxDQUFDO0lBRXZELFlBQVksQ0FBQyxhQUFxQixFQUFFLFFBQW1CO1FBQ3JELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkMsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsK0NBQStDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFFL0YsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxVQUFVLENBQUMsU0FBUyxHQUFHLG9JQUFvSSxhQUFhLE1BQU0sQ0FBQztRQUMvSyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxNQUF5QjtRQUNuRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixLQUFLLE1BQU0sWUFBWSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQzdDLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sRUFBRTtvQkFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDL0U7cUJBQU0sSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxFQUFFO29CQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNuQzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxDQUFDLFdBQW1CLEVBQUUsY0FBc0IsRUFBRSxXQUFvQixFQUFFLFdBQW9CLEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDekcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMxRixPQUFPO1NBQ1I7UUFDRCxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUcsT0FBTyxFQUFFLFdBQVcsRUFBRTtZQUMzQixjQUFjO1lBQ2QsV0FBVztZQUNYLFdBQVc7U0FDWixFQUFFO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxVQUFrQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQzdDLE9BQU87U0FDUjtRQUNELElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUU7SUFDekMsQ0FBQzs7OztZQXBERixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs0Q0FLYyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBSZW5kZXJlcjIgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuZGVjbGFyZSBjb25zdCBndGFnOiBGdW5jdGlvbjtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiBcInJvb3RcIlxufSlcbmV4cG9ydCBjbGFzcyBBbmFseXRpY3NTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBzY3JpcHRMb2FkZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBwZW5kaW5nRXZlbnRzOiBBcnJheTxBcnJheTxzdHJpbmc+PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IGFueSkge31cblxuICBpbnNlcnRTY3JpcHQobWVhc3VyZW1lbnRJZDogc3RyaW5nLCByZW5kZXJlcjogUmVuZGVyZXIyKTogdm9pZCB7XG4gICAgY29uc3QgbG9hZFNjcmlwdCA9IHJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgbG9hZFNjcmlwdC5zZXRBdHRyaWJ1dGUoXCJhc3luY1wiLCB0cnVlKTtcbiAgICBsb2FkU2NyaXB0LnNldEF0dHJpYnV0ZShcInNyY1wiLCBgaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD0ke21lYXN1cmVtZW50SWR9YCk7XG5cbiAgICBjb25zdCBpbml0U2NyaXB0ID0gcmVuZGVyZXIuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcbiAgICBpbml0U2NyaXB0LmlubmVyVGV4dCA9IGB3aW5kb3cuZGF0YUxheWVyID0gd2luZG93LmRhdGFMYXllciB8fCBbXTtmdW5jdGlvbiBndGFnKCl7ZGF0YUxheWVyLnB1c2goYXJndW1lbnRzKTt9Z3RhZyhcXCdqc1xcJywgbmV3IERhdGUoKSk7Z3RhZyhcXCdjb25maWdcXCcsIFxcJyR7bWVhc3VyZW1lbnRJZH1cXCcpO2A7XG4gICAgcmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCBsb2FkU2NyaXB0KTtcbiAgICByZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmRvY3VtZW50LmhlYWQsIGluaXRTY3JpcHQpO1xuICAgIHRoaXMuaGFuZGxlUGVuZGluZ0V2ZW50cyhsb2FkU2NyaXB0KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlUGVuZGluZ0V2ZW50cyhzY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50KTogdm9pZCB7XG4gICAgc2NyaXB0LmFkZEV2ZW50TGlzdGVuZXIoXCJsb2FkXCIsICgpID0+IHtcbiAgICAgIHRoaXMuc2NyaXB0TG9hZGVkID0gdHJ1ZTtcbiAgICAgIGZvciAoY29uc3QgZXZlbnREZXRhaWxzIG9mIHRoaXMucGVuZGluZ0V2ZW50cykge1xuICAgICAgICBpZiAoZXZlbnREZXRhaWxzWzBdID09PSBcImV2ZW50XCIpIHtcbiAgICAgICAgICB0aGlzLnNlbmQoZXZlbnREZXRhaWxzWzFdLCBldmVudERldGFpbHNbMl0sIGV2ZW50RGV0YWlsc1szXSwgZXZlbnREZXRhaWxzWzRdKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudERldGFpbHNbMF0gPT09IFwic2V0XCIpIHtcbiAgICAgICAgICB0aGlzLnNldElkZW50aXR5KGV2ZW50RGV0YWlsc1sxXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNlbmQoZXZlbnRBY3Rpb246IHN0cmluZywgZXZlbnRfY2F0ZWdvcnk6IHN0cmluZywgZXZlbnRfbGFiZWw/OiBzdHJpbmcsIGV2ZW50X3ZhbHVlPzogc3RyaW5nLCBmb3JjZSA9IGZhbHNlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNjcmlwdExvYWRlZCAmJiAhZm9yY2UpIHtcbiAgICAgIHRoaXMucGVuZGluZ0V2ZW50cy5wdXNoKFtcImV2ZW50XCIsIGV2ZW50QWN0aW9uLCBldmVudF9jYXRlZ29yeSwgZXZlbnRfbGFiZWwsIGV2ZW50X3ZhbHVlXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGd0YWc/LihcImV2ZW50XCIsIGV2ZW50QWN0aW9uLCB7XG4gICAgICBldmVudF9jYXRlZ29yeSxcbiAgICAgIGV2ZW50X2xhYmVsLFxuICAgICAgZXZlbnRfdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIHNldElkZW50aXR5KGlkZW50aWZpZXI6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zY3JpcHRMb2FkZWQpIHtcbiAgICAgIHRoaXMucGVuZGluZ0V2ZW50cy5wdXNoKFtcInNldFwiLCBpZGVudGlmaWVyXSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGd0YWc/LihcInNldFwiLCB7IHVzZXJfaWQ6IGlkZW50aWZpZXIgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from "./public_api";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9hbmFseXRpY3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9wdWJsaWNfYXBpXCI7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1hbmFseXRpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9hbmFseXRpY3MvbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS1hbmFseXRpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "./analytics.service";
|
|
2
|
+
export * from "./analytics.module";
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2FuYWx5dGljcy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FuYWx5dGljcy5zZXJ2aWNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hbmFseXRpY3MubW9kdWxlXCI7XG4iXX0=
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { ɵɵdefineInjectable, ɵɵinject, Injectable, Inject, NgModule } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class AnalyticsService {
|
|
5
|
+
constructor(document) {
|
|
6
|
+
this.document = document;
|
|
7
|
+
this.scriptLoaded = false;
|
|
8
|
+
this.pendingEvents = [];
|
|
9
|
+
}
|
|
10
|
+
insertScript(measurementId, renderer) {
|
|
11
|
+
const loadScript = renderer.createElement("script");
|
|
12
|
+
loadScript.setAttribute("async", true);
|
|
13
|
+
loadScript.setAttribute("src", `https://www.googletagmanager.com/gtag/js?id=${measurementId}`);
|
|
14
|
+
const initScript = renderer.createElement("script");
|
|
15
|
+
initScript.innerText = `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date());gtag(\'config\', \'${measurementId}\');`;
|
|
16
|
+
renderer.appendChild(this.document.head, loadScript);
|
|
17
|
+
renderer.appendChild(this.document.head, initScript);
|
|
18
|
+
this.handlePendingEvents(loadScript);
|
|
19
|
+
}
|
|
20
|
+
handlePendingEvents(script) {
|
|
21
|
+
script.addEventListener("load", () => {
|
|
22
|
+
this.scriptLoaded = true;
|
|
23
|
+
for (const eventDetails of this.pendingEvents) {
|
|
24
|
+
if (eventDetails[0] === "event") {
|
|
25
|
+
this.send(eventDetails[1], eventDetails[2], eventDetails[3], eventDetails[4]);
|
|
26
|
+
}
|
|
27
|
+
else if (eventDetails[0] === "set") {
|
|
28
|
+
this.setIdentity(eventDetails[1]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
send(eventAction, event_category, event_label, event_value, force = false) {
|
|
34
|
+
if (!this.scriptLoaded && !force) {
|
|
35
|
+
this.pendingEvents.push(["event", eventAction, event_category, event_label, event_value]);
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
gtag === null || gtag === void 0 ? void 0 : gtag("event", eventAction, {
|
|
39
|
+
event_category,
|
|
40
|
+
event_label,
|
|
41
|
+
event_value
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
setIdentity(identifier) {
|
|
45
|
+
if (!this.scriptLoaded) {
|
|
46
|
+
this.pendingEvents.push(["set", identifier]);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
gtag === null || gtag === void 0 ? void 0 : gtag("set", { user_id: identifier });
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
AnalyticsService.ɵprov = ɵɵdefineInjectable({ factory: function AnalyticsService_Factory() { return new AnalyticsService(ɵɵinject(DOCUMENT)); }, token: AnalyticsService, providedIn: "root" });
|
|
53
|
+
AnalyticsService.decorators = [
|
|
54
|
+
{ type: Injectable, args: [{
|
|
55
|
+
providedIn: "root"
|
|
56
|
+
},] }
|
|
57
|
+
];
|
|
58
|
+
AnalyticsService.ctorParameters = () => [
|
|
59
|
+
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
|
|
60
|
+
];
|
|
61
|
+
|
|
62
|
+
class AnalyticsModule {
|
|
63
|
+
static forRoot() {
|
|
64
|
+
return {
|
|
65
|
+
ngModule: AnalyticsModule,
|
|
66
|
+
providers: [AnalyticsService]
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
AnalyticsModule.decorators = [
|
|
71
|
+
{ type: NgModule }
|
|
72
|
+
];
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Generated bundle index. Do not edit.
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
export { AnalyticsModule, AnalyticsService };
|
|
79
|
+
//# sourceMappingURL=mis-crystal-design-system-analytics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-analytics.js","sources":["../../../projects/mis-components/analytics/analytics.service.ts","../../../projects/mis-components/analytics/analytics.module.ts","../../../projects/mis-components/analytics/mis-crystal-design-system-analytics.ts"],"sourcesContent":["import { DOCUMENT } from \"@angular/common\";\nimport { Inject, Injectable, Renderer2 } from \"@angular/core\";\ndeclare const gtag: Function;\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class AnalyticsService {\n private scriptLoaded = false;\n private pendingEvents: Array<Array<string>> = [];\n\n constructor(@Inject(DOCUMENT) private document: any) {}\n\n insertScript(measurementId: string, renderer: Renderer2): void {\n const loadScript = renderer.createElement(\"script\");\n loadScript.setAttribute(\"async\", true);\n loadScript.setAttribute(\"src\", `https://www.googletagmanager.com/gtag/js?id=${measurementId}`);\n\n const initScript = renderer.createElement(\"script\");\n initScript.innerText = `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag(\\'js\\', new Date());gtag(\\'config\\', \\'${measurementId}\\');`;\n renderer.appendChild(this.document.head, loadScript);\n renderer.appendChild(this.document.head, initScript);\n this.handlePendingEvents(loadScript);\n }\n\n private handlePendingEvents(script: HTMLScriptElement): void {\n script.addEventListener(\"load\", () => {\n this.scriptLoaded = true;\n for (const eventDetails of this.pendingEvents) {\n if (eventDetails[0] === \"event\") {\n this.send(eventDetails[1], eventDetails[2], eventDetails[3], eventDetails[4]);\n } else if (eventDetails[0] === \"set\") {\n this.setIdentity(eventDetails[1]);\n }\n }\n });\n }\n\n send(eventAction: string, event_category: string, event_label?: string, event_value?: string, force = false): void {\n if (!this.scriptLoaded && !force) {\n this.pendingEvents.push([\"event\", eventAction, event_category, event_label, event_value]);\n return;\n }\n gtag?.(\"event\", eventAction, {\n event_category,\n event_label,\n event_value\n });\n }\n\n setIdentity(identifier: string): void {\n if (!this.scriptLoaded) {\n this.pendingEvents.push([\"set\", identifier]);\n return;\n }\n gtag?.(\"set\", { user_id: identifier });\n }\n}\n","import { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { AnalyticsService } from \"./analytics.service\";\n\n@NgModule()\nexport class AnalyticsModule {\n static forRoot(): ModuleWithProviders<AnalyticsModule> {\n return {\n ngModule: AnalyticsModule,\n providers: [AnalyticsService]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAOa,gBAAgB;IAI3B,YAAsC,QAAa;QAAb,aAAQ,GAAR,QAAQ,CAAK;QAH3C,iBAAY,GAAG,KAAK,CAAC;QACrB,kBAAa,GAAyB,EAAE,CAAC;KAEM;IAEvD,YAAY,CAAC,aAAqB,EAAE,QAAmB;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,UAAU,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,+CAA+C,aAAa,EAAE,CAAC,CAAC;QAE/F,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,UAAU,CAAC,SAAS,GAAG,oIAAoI,aAAa,MAAM,CAAC;QAC/K,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;KACtC;IAEO,mBAAmB,CAAC,MAAyB;QACnD,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,aAAa,EAAE;gBAC7C,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;oBAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC/E;qBAAM,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE;oBACpC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnC;aACF;SACF,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,WAAmB,EAAE,cAAsB,EAAE,WAAoB,EAAE,WAAoB,EAAE,KAAK,GAAG,KAAK;QACzG,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YAC1F,OAAO;SACR;QACD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,OAAO,EAAE,WAAW,EAAE;YAC3B,cAAc;YACd,WAAW;YACX,WAAW;SACZ,EAAE;KACJ;IAED,WAAW,CAAC,UAAkB;QAC5B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;YAC7C,OAAO;SACR;QACD,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;KACxC;;;;YApDF,UAAU,SAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;4CAKc,MAAM,SAAC,QAAQ;;;MCNjB,eAAe;IAC1B,OAAO,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,eAAe;YACzB,SAAS,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;KACH;;;YAPF,QAAQ;;;ACJT;;;;;;"}
|
package/package.json
CHANGED
package/styles/fonts/icomoon.eot
CHANGED
|
Binary file
|