@elliemae/pui-app-sdk 5.13.0 → 5.13.1
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/dist/cjs/analytics/index.js +10 -5
- package/dist/cjs/analytics/page-view-event.js +1 -19
- package/dist/cjs/utils/helpers.js +21 -0
- package/dist/cjs/utils/micro-frontend/scripting-objects/analytics.js +6 -1
- package/dist/esm/analytics/index.js +10 -5
- package/dist/esm/analytics/page-view-event.js +1 -19
- package/dist/esm/utils/helpers.js +21 -0
- package/dist/esm/utils/micro-frontend/scripting-objects/analytics.js +6 -1
- package/dist/types/lib/analytics/index.d.ts +7 -0
- package/dist/types/lib/utils/helpers.d.ts +10 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
|
@@ -23,23 +23,28 @@ __export(analytics_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(analytics_exports);
|
|
24
24
|
var import_guest = require("../utils/micro-frontend/guest.js");
|
|
25
25
|
var import_web_analytics = require("../utils/micro-frontend/scripting-objects/web-analytics.js");
|
|
26
|
+
var import_helpers = require("../utils/helpers.js");
|
|
26
27
|
const sendBAEventToSelf = (data) => {
|
|
28
|
+
const eventData = {
|
|
29
|
+
...(0, import_web_analytics.getBAEventParameters)(),
|
|
30
|
+
...(0, import_helpers.getProductAppDetails)(),
|
|
31
|
+
...data
|
|
32
|
+
};
|
|
27
33
|
window.gtmDataLayer = window.gtmDataLayer || [];
|
|
28
|
-
window.gtmDataLayer.push(
|
|
34
|
+
window.gtmDataLayer.push(eventData);
|
|
29
35
|
};
|
|
30
36
|
const sendBAEvent = ({
|
|
31
37
|
data,
|
|
32
38
|
self = true
|
|
33
39
|
}) => {
|
|
34
|
-
const eventData = { ...(0, import_web_analytics.getBAEventParameters)(), ...data };
|
|
35
40
|
if (!self) {
|
|
36
41
|
const sendEvent = import_guest.CMicroAppGuest.getInstance()?.getHost()?.sendBAEvent;
|
|
37
42
|
if (sendEvent) {
|
|
38
|
-
sendEvent(
|
|
43
|
+
sendEvent(data);
|
|
39
44
|
} else {
|
|
40
|
-
sendBAEventToSelf(
|
|
45
|
+
sendBAEventToSelf(data);
|
|
41
46
|
}
|
|
42
47
|
} else {
|
|
43
|
-
sendBAEventToSelf(
|
|
48
|
+
sendBAEventToSelf(data);
|
|
44
49
|
}
|
|
45
50
|
};
|
|
@@ -22,29 +22,11 @@ __export(page_view_event_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(page_view_event_exports);
|
|
24
24
|
var import_index = require("./index.js");
|
|
25
|
-
const getWindow = () => {
|
|
26
|
-
try {
|
|
27
|
-
window.top?.document;
|
|
28
|
-
return window.top || window.self;
|
|
29
|
-
} catch (e) {
|
|
30
|
-
return window.self;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
25
|
const pageViewEvent = ({ pageTitle }) => {
|
|
34
|
-
const pageWindow = getWindow();
|
|
35
|
-
const { pathname, href } = pageWindow.location;
|
|
36
|
-
const { title } = pageWindow.document;
|
|
37
|
-
const { pathname: guestPagePath, href: guestPageUrl } = window.location;
|
|
38
|
-
const { title: guestPageTitle } = document;
|
|
39
26
|
(0, import_index.sendBAEvent)({
|
|
40
27
|
data: {
|
|
41
28
|
event: "pageView",
|
|
42
|
-
|
|
43
|
-
pagePath: pathname,
|
|
44
|
-
pageTitle: title,
|
|
45
|
-
guestPageUrl,
|
|
46
|
-
guestPagePath,
|
|
47
|
-
guestPageTitle: pageTitle || guestPageTitle
|
|
29
|
+
appPageTitle: pageTitle
|
|
48
30
|
}
|
|
49
31
|
});
|
|
50
32
|
};
|
|
@@ -19,10 +19,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var helpers_exports = {};
|
|
20
20
|
__export(helpers_exports, {
|
|
21
21
|
convertRelativeToAbsoluteUrl: () => convertRelativeToAbsoluteUrl,
|
|
22
|
+
getProductAppDetails: () => getProductAppDetails,
|
|
22
23
|
isCIBuild: () => isCIBuild,
|
|
23
24
|
isProd: () => isProd
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(helpers_exports);
|
|
27
|
+
var import_window = require("./window.js");
|
|
26
28
|
const isProd = () => false;
|
|
27
29
|
const isCIBuild = () => process.env.CI === "true";
|
|
28
30
|
const PROTOCOL = /^(?:[a-z]+:)?\/\//;
|
|
@@ -32,3 +34,22 @@ const convertRelativeToAbsoluteUrl = (url) => {
|
|
|
32
34
|
}
|
|
33
35
|
return url;
|
|
34
36
|
};
|
|
37
|
+
const getProductAppDetails = () => {
|
|
38
|
+
const pageWindow = (0, import_window.getWindow)();
|
|
39
|
+
const { title: productPageTitle } = pageWindow.document;
|
|
40
|
+
const { title: appPageTitle } = document;
|
|
41
|
+
const productId = pageWindow?.emui?.appId ?? "";
|
|
42
|
+
const appId = window?.emui?.appId ?? "";
|
|
43
|
+
const { pathname: productPath, href: productUrl } = pageWindow.location;
|
|
44
|
+
const { pathname: appPath, href: appUrl } = window.location;
|
|
45
|
+
return {
|
|
46
|
+
productId,
|
|
47
|
+
productPath,
|
|
48
|
+
productUrl,
|
|
49
|
+
productPageTitle,
|
|
50
|
+
appId,
|
|
51
|
+
appPath,
|
|
52
|
+
appUrl,
|
|
53
|
+
appPageTitle
|
|
54
|
+
};
|
|
55
|
+
};
|
|
@@ -33,6 +33,7 @@ __export(analytics_exports, {
|
|
|
33
33
|
module.exports = __toCommonJS(analytics_exports);
|
|
34
34
|
var import_em_ssf_host = __toESM(require("@elliemae/em-ssf-host"));
|
|
35
35
|
var import_web_analytics = require("./web-analytics.js");
|
|
36
|
+
var import_helpers = require("../../helpers.js");
|
|
36
37
|
class Analytics extends import_em_ssf_host.default.ScriptingObject {
|
|
37
38
|
/**
|
|
38
39
|
* logger instance
|
|
@@ -89,7 +90,11 @@ class Analytics extends import_em_ssf_host.default.ScriptingObject {
|
|
|
89
90
|
* @returns promise
|
|
90
91
|
*/
|
|
91
92
|
sendBAEvent = (event) => {
|
|
92
|
-
const eventEx = {
|
|
93
|
+
const eventEx = {
|
|
94
|
+
...(0, import_web_analytics.getBAEventParameters)(),
|
|
95
|
+
...(0, import_helpers.getProductAppDetails)(),
|
|
96
|
+
...event
|
|
97
|
+
};
|
|
93
98
|
window.gtmDataLayer = window.gtmDataLayer || [];
|
|
94
99
|
window.gtmDataLayer.push(eventEx);
|
|
95
100
|
return Promise.resolve();
|
|
@@ -1,23 +1,28 @@
|
|
|
1
1
|
import { CMicroAppGuest } from "../utils/micro-frontend/guest.js";
|
|
2
2
|
import { getBAEventParameters } from "../utils/micro-frontend/scripting-objects/web-analytics.js";
|
|
3
|
+
import { getProductAppDetails } from "../utils/helpers.js";
|
|
3
4
|
const sendBAEventToSelf = (data) => {
|
|
5
|
+
const eventData = {
|
|
6
|
+
...getBAEventParameters(),
|
|
7
|
+
...getProductAppDetails(),
|
|
8
|
+
...data
|
|
9
|
+
};
|
|
4
10
|
window.gtmDataLayer = window.gtmDataLayer || [];
|
|
5
|
-
window.gtmDataLayer.push(
|
|
11
|
+
window.gtmDataLayer.push(eventData);
|
|
6
12
|
};
|
|
7
13
|
const sendBAEvent = ({
|
|
8
14
|
data,
|
|
9
15
|
self = true
|
|
10
16
|
}) => {
|
|
11
|
-
const eventData = { ...getBAEventParameters(), ...data };
|
|
12
17
|
if (!self) {
|
|
13
18
|
const sendEvent = CMicroAppGuest.getInstance()?.getHost()?.sendBAEvent;
|
|
14
19
|
if (sendEvent) {
|
|
15
|
-
sendEvent(
|
|
20
|
+
sendEvent(data);
|
|
16
21
|
} else {
|
|
17
|
-
sendBAEventToSelf(
|
|
22
|
+
sendBAEventToSelf(data);
|
|
18
23
|
}
|
|
19
24
|
} else {
|
|
20
|
-
sendBAEventToSelf(
|
|
25
|
+
sendBAEventToSelf(data);
|
|
21
26
|
}
|
|
22
27
|
};
|
|
23
28
|
export {
|
|
@@ -1,27 +1,9 @@
|
|
|
1
1
|
import { sendBAEvent } from "./index.js";
|
|
2
|
-
const getWindow = () => {
|
|
3
|
-
try {
|
|
4
|
-
window.top?.document;
|
|
5
|
-
return window.top || window.self;
|
|
6
|
-
} catch (e) {
|
|
7
|
-
return window.self;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
10
2
|
const pageViewEvent = ({ pageTitle }) => {
|
|
11
|
-
const pageWindow = getWindow();
|
|
12
|
-
const { pathname, href } = pageWindow.location;
|
|
13
|
-
const { title } = pageWindow.document;
|
|
14
|
-
const { pathname: guestPagePath, href: guestPageUrl } = window.location;
|
|
15
|
-
const { title: guestPageTitle } = document;
|
|
16
3
|
sendBAEvent({
|
|
17
4
|
data: {
|
|
18
5
|
event: "pageView",
|
|
19
|
-
|
|
20
|
-
pagePath: pathname,
|
|
21
|
-
pageTitle: title,
|
|
22
|
-
guestPageUrl,
|
|
23
|
-
guestPagePath,
|
|
24
|
-
guestPageTitle: pageTitle || guestPageTitle
|
|
6
|
+
appPageTitle: pageTitle
|
|
25
7
|
}
|
|
26
8
|
});
|
|
27
9
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getWindow } from "./window.js";
|
|
1
2
|
const isProd = () => false;
|
|
2
3
|
const isCIBuild = () => process.env.CI === "true";
|
|
3
4
|
const PROTOCOL = /^(?:[a-z]+:)?\/\//;
|
|
@@ -7,8 +8,28 @@ const convertRelativeToAbsoluteUrl = (url) => {
|
|
|
7
8
|
}
|
|
8
9
|
return url;
|
|
9
10
|
};
|
|
11
|
+
const getProductAppDetails = () => {
|
|
12
|
+
const pageWindow = getWindow();
|
|
13
|
+
const { title: productPageTitle } = pageWindow.document;
|
|
14
|
+
const { title: appPageTitle } = document;
|
|
15
|
+
const productId = pageWindow?.emui?.appId ?? "";
|
|
16
|
+
const appId = window?.emui?.appId ?? "";
|
|
17
|
+
const { pathname: productPath, href: productUrl } = pageWindow.location;
|
|
18
|
+
const { pathname: appPath, href: appUrl } = window.location;
|
|
19
|
+
return {
|
|
20
|
+
productId,
|
|
21
|
+
productPath,
|
|
22
|
+
productUrl,
|
|
23
|
+
productPageTitle,
|
|
24
|
+
appId,
|
|
25
|
+
appPath,
|
|
26
|
+
appUrl,
|
|
27
|
+
appPageTitle
|
|
28
|
+
};
|
|
29
|
+
};
|
|
10
30
|
export {
|
|
11
31
|
convertRelativeToAbsoluteUrl,
|
|
32
|
+
getProductAppDetails,
|
|
12
33
|
isCIBuild,
|
|
13
34
|
isProd
|
|
14
35
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import ssfHost from "@elliemae/em-ssf-host";
|
|
2
2
|
import { getBAEventParameters } from "./web-analytics.js";
|
|
3
|
+
import { getProductAppDetails } from "../../helpers.js";
|
|
3
4
|
class Analytics extends ssfHost.ScriptingObject {
|
|
4
5
|
/**
|
|
5
6
|
* logger instance
|
|
@@ -56,7 +57,11 @@ class Analytics extends ssfHost.ScriptingObject {
|
|
|
56
57
|
* @returns promise
|
|
57
58
|
*/
|
|
58
59
|
sendBAEvent = (event) => {
|
|
59
|
-
const eventEx = {
|
|
60
|
+
const eventEx = {
|
|
61
|
+
...getBAEventParameters(),
|
|
62
|
+
...getProductAppDetails(),
|
|
63
|
+
...event
|
|
64
|
+
};
|
|
60
65
|
window.gtmDataLayer = window.gtmDataLayer || [];
|
|
61
66
|
window.gtmDataLayer.push(eventEx);
|
|
62
67
|
return Promise.resolve();
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { BAEvent } from '@elliemae/pui-micro-frontend-base';
|
|
2
|
+
/**
|
|
3
|
+
* Sends business analytics event
|
|
4
|
+
* @param root0
|
|
5
|
+
* @param root0.data
|
|
6
|
+
* @param root0.self
|
|
7
|
+
* @deprecated use Analytics.sendBAEvent scripting object method instead
|
|
8
|
+
*/
|
|
2
9
|
export declare const sendBAEvent: ({ data, self, }: {
|
|
3
10
|
data: BAEvent;
|
|
4
11
|
self?: boolean;
|
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
export declare const isProd: () => boolean;
|
|
2
2
|
export declare const isCIBuild: () => boolean;
|
|
3
3
|
export declare const convertRelativeToAbsoluteUrl: (url: string) => string;
|
|
4
|
+
export declare const getProductAppDetails: () => {
|
|
5
|
+
productId: string;
|
|
6
|
+
productPath: string;
|
|
7
|
+
productUrl: string;
|
|
8
|
+
productPageTitle: string;
|
|
9
|
+
appId: string;
|
|
10
|
+
appPath: string;
|
|
11
|
+
appUrl: string;
|
|
12
|
+
appPageTitle: string;
|
|
13
|
+
};
|