@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.
@@ -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(data);
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(eventData);
43
+ sendEvent(data);
39
44
  } else {
40
- sendBAEventToSelf(eventData);
45
+ sendBAEventToSelf(data);
41
46
  }
42
47
  } else {
43
- sendBAEventToSelf(eventData);
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
- pageUrl: href,
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 = { ...(0, import_web_analytics.getBAEventParameters)(), ...event };
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(data);
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(eventData);
20
+ sendEvent(data);
16
21
  } else {
17
- sendBAEventToSelf(eventData);
22
+ sendBAEventToSelf(data);
18
23
  }
19
24
  } else {
20
- sendBAEventToSelf(eventData);
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
- pageUrl: href,
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 = { ...getBAEventParameters(), ...event };
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
+ };