@elliemae/pui-app-sdk 5.21.1 → 5.22.0-beta.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 +2 -1
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/utils/micro-frontend/app-bridge.js +40 -0
- package/dist/cjs/utils/micro-frontend/guest.js +101 -14
- package/dist/cjs/utils/micro-frontend/host.js +36 -3
- package/dist/cjs/utils/micro-frontend/scripting-objects/analytics.js +2 -12
- package/dist/cjs/utils/micro-frontend/tests/app.config.json +200 -0
- package/dist/cjs/utils/micro-frontend/tests/utils.js +116 -0
- package/dist/cjs/utils/testing/index.js +15 -1
- package/dist/cjs/view/guest-microapp.js +126 -0
- package/dist/cjs/view/micro-iframe-app/iframe/index.js +1 -1
- package/dist/cjs/view/micro-iframe-app/iframe.html +5 -1
- package/dist/cjs/view/micro-iframe-app/use-frame-loaded.js +3 -1
- package/dist/cjs/view/tests/__snapshots__/guest-microapp.test.tsx.snap +21 -0
- package/dist/cjs/view/tests/__snapshots__/micro-iframe-app.test.tsx.snap +208 -0
- package/dist/cjs/view/tests/app.config.json +200 -0
- package/dist/cjs/view/tests/constants.js +44 -0
- package/dist/cjs/view/tests/flights/23.1/app.checksum1.css +3 -0
- package/dist/cjs/view/tests/flights/23.1/app.checksum1.js +52 -0
- package/dist/cjs/view/tests/flights/23.1/manifest.json +4 -0
- package/dist/cjs/view/tests/flights/latest/app.checksum.css +3 -0
- package/dist/cjs/view/tests/flights/latest/app.checksum.js +52 -0
- package/dist/cjs/view/tests/flights/latest/manifest.json +4 -0
- package/dist/cjs/view/tests/hotels/23.1/app.checksum.css +3 -0
- package/dist/cjs/view/tests/hotels/23.1/app.checksum.js +52 -0
- package/dist/cjs/view/tests/hotels/23.1/manifest.json +4 -0
- package/dist/cjs/view/tests/hotels/latest/app.checksum.css +3 -0
- package/dist/cjs/view/tests/hotels/latest/app.checksum.js +52 -0
- package/dist/cjs/view/tests/hotels/latest/manifest.json +4 -0
- package/dist/cjs/view/tests/loan/latest/index.js +116 -0
- package/dist/cjs/view/tests/loan/latest/manifest.json +3 -0
- package/dist/cjs/view/tests/scriptingObjects/appraisalServiceModule.js +81 -0
- package/dist/cjs/{utils/micro-frontend/host-app.js → view/tests/scriptingObjects/constant.js} +5 -10
- package/dist/cjs/view/tests/scriptingObjects/global.js +40 -0
- package/dist/cjs/view/tests/scriptingObjects/loan.js +200 -0
- package/dist/cjs/view/tests/server.js +29 -0
- package/dist/cjs/view/tests/serverHandlers.js +210 -0
- package/dist/cjs/view/tests/task/latest/index.dev.js +67 -0
- package/dist/cjs/view/tests/task/latest/index.js +67 -0
- package/dist/cjs/view/tests/task/latest/manifest.json +4 -0
- package/dist/cjs/view/tests/travelhub/23.1/app.checksum.css +3 -0
- package/dist/cjs/view/tests/travelhub/23.1/app.checksum.js +25 -0
- package/dist/cjs/view/tests/travelhub/23.1/landing.checksum1.css +3 -0
- package/dist/cjs/view/tests/travelhub/23.1/landing.checksum1.js +6 -0
- package/dist/cjs/view/tests/travelhub/23.1/manifest.json +6 -0
- package/dist/cjs/view/tests/travelhub/latest/app.checksum.css +3 -0
- package/dist/cjs/view/tests/travelhub/latest/app.checksum.js +30 -0
- package/dist/cjs/view/tests/travelhub/latest/landing.checksum.css +3 -0
- package/dist/cjs/view/tests/travelhub/latest/landing.checksum.js +8 -0
- package/dist/cjs/view/tests/travelhub/latest/manifest.json +6 -0
- package/dist/cjs/{utils/micro-frontend/ssfguest-adapter.js → view/tests/utils.js} +34 -29
- package/dist/esm/analytics/index.js +2 -1
- package/dist/esm/index.js +7 -1
- package/dist/esm/utils/micro-frontend/app-bridge.js +20 -0
- package/dist/esm/utils/micro-frontend/guest.js +101 -14
- package/dist/esm/utils/micro-frontend/host.js +36 -3
- package/dist/esm/utils/micro-frontend/scripting-objects/analytics.js +2 -2
- package/dist/esm/utils/micro-frontend/tests/app.config.json +200 -0
- package/dist/esm/utils/micro-frontend/tests/utils.js +96 -0
- package/dist/esm/utils/testing/index.js +5 -1
- package/dist/esm/view/guest-microapp.js +96 -0
- package/dist/esm/view/micro-iframe-app/iframe/index.js +1 -1
- package/dist/esm/view/micro-iframe-app/iframe.html +5 -1
- package/dist/esm/view/micro-iframe-app/use-frame-loaded.js +3 -1
- package/dist/esm/view/tests/__snapshots__/guest-microapp.test.tsx.snap +21 -0
- package/dist/esm/view/tests/__snapshots__/micro-iframe-app.test.tsx.snap +208 -0
- package/dist/esm/view/tests/app.config.json +200 -0
- package/dist/esm/view/tests/constants.js +24 -0
- package/dist/esm/view/tests/flights/23.1/app.checksum1.css +3 -0
- package/dist/esm/view/tests/flights/23.1/app.checksum1.js +51 -0
- package/dist/esm/view/tests/flights/23.1/manifest.json +4 -0
- package/dist/esm/view/tests/flights/latest/app.checksum.css +3 -0
- package/dist/esm/view/tests/flights/latest/app.checksum.js +51 -0
- package/dist/esm/view/tests/flights/latest/manifest.json +4 -0
- package/dist/esm/view/tests/hotels/23.1/app.checksum.css +3 -0
- package/dist/esm/view/tests/hotels/23.1/app.checksum.js +51 -0
- package/dist/esm/view/tests/hotels/23.1/manifest.json +4 -0
- package/dist/esm/view/tests/hotels/latest/app.checksum.css +3 -0
- package/dist/esm/view/tests/hotels/latest/app.checksum.js +51 -0
- package/dist/esm/view/tests/hotels/latest/manifest.json +4 -0
- package/dist/esm/view/tests/loan/latest/index.js +115 -0
- package/dist/esm/view/tests/loan/latest/manifest.json +3 -0
- package/dist/esm/view/tests/scriptingObjects/appraisalServiceModule.js +63 -0
- package/dist/esm/view/tests/scriptingObjects/constant.js +4 -0
- package/dist/esm/view/tests/scriptingObjects/global.js +22 -0
- package/dist/esm/view/tests/scriptingObjects/loan.js +180 -0
- package/dist/esm/view/tests/server.js +9 -0
- package/dist/esm/view/tests/serverHandlers.js +180 -0
- package/dist/esm/view/tests/task/latest/index.dev.js +66 -0
- package/dist/esm/view/tests/task/latest/index.js +66 -0
- package/dist/esm/view/tests/task/latest/manifest.json +4 -0
- package/dist/esm/view/tests/travelhub/23.1/app.checksum.css +3 -0
- package/dist/esm/view/tests/travelhub/23.1/app.checksum.js +24 -0
- package/dist/esm/view/tests/travelhub/23.1/landing.checksum1.css +3 -0
- package/dist/esm/view/tests/travelhub/23.1/landing.checksum1.js +5 -0
- package/dist/esm/view/tests/travelhub/23.1/manifest.json +6 -0
- package/dist/esm/view/tests/travelhub/latest/app.checksum.css +3 -0
- package/dist/esm/view/tests/travelhub/latest/app.checksum.js +29 -0
- package/dist/esm/view/tests/travelhub/latest/landing.checksum.css +3 -0
- package/dist/esm/view/tests/travelhub/latest/landing.checksum.js +7 -0
- package/dist/esm/view/tests/travelhub/latest/manifest.json +6 -0
- package/dist/esm/view/tests/utils.js +33 -0
- package/dist/types/lib/index.d.ts +2 -1
- package/dist/types/lib/utils/micro-frontend/app-bridge.d.ts +4 -0
- package/dist/types/lib/utils/micro-frontend/guest.d.ts +46 -11
- package/dist/types/lib/utils/micro-frontend/host.d.ts +27 -10
- package/dist/types/lib/utils/micro-frontend/scripting-objects/analytics.d.ts +2 -2
- package/dist/types/lib/utils/micro-frontend/tests/utils.d.ts +39 -0
- package/dist/types/lib/utils/micro-frontend/types.d.ts +2 -1
- package/dist/types/lib/utils/testing/index.d.ts +57 -1
- package/dist/types/lib/utils/window.d.ts +13 -6
- package/dist/types/lib/view/guest-microapp.d.ts +13 -0
- package/dist/types/lib/view/micro-app/index.d.ts +5 -0
- package/dist/types/lib/view/micro-iframe-app/index.d.ts +5 -0
- package/dist/types/lib/view/tests/constants.d.ts +11 -0
- package/dist/types/lib/view/tests/flights/23.1/app.checksum1.d.ts +7 -0
- package/dist/types/lib/view/tests/flights/latest/app.checksum.d.ts +7 -0
- package/dist/types/lib/view/tests/hotels/23.1/app.checksum.d.ts +7 -0
- package/dist/types/lib/view/tests/hotels/latest/app.checksum.d.ts +7 -0
- package/dist/types/lib/view/tests/loan/latest/index.d.ts +11 -0
- package/dist/types/lib/view/tests/micro-iframe-app.test.d.ts +1 -0
- package/dist/types/lib/view/tests/scriptingObjects/appraisalServiceModule.d.ts +36 -0
- package/dist/types/lib/view/tests/scriptingObjects/constant.d.ts +1 -0
- package/dist/types/lib/view/tests/scriptingObjects/global.d.ts +9 -0
- package/dist/types/lib/view/tests/scriptingObjects/loan.d.ts +31 -0
- package/dist/types/lib/view/tests/server.d.ts +1 -0
- package/dist/types/lib/view/tests/serverHandlers.d.ts +5 -0
- package/dist/types/lib/view/tests/task/latest/index.d.ts +10 -0
- package/dist/types/lib/view/tests/task/latest/index.dev.d.ts +10 -0
- package/dist/types/lib/view/tests/travelhub/23.1/app.checksum.d.ts +7 -0
- package/dist/types/lib/view/tests/travelhub/23.1/landing.checksum1.d.ts +2 -0
- package/dist/types/lib/view/tests/travelhub/latest/app.checksum.d.ts +0 -0
- package/dist/types/lib/view/tests/travelhub/latest/landing.checksum.d.ts +0 -0
- package/dist/types/lib/view/tests/utils.d.ts +7 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +43 -43
- package/dist/esm/utils/micro-frontend/host-app.js +0 -9
- package/dist/esm/utils/micro-frontend/ssfguest-adapter.js +0 -28
- package/dist/types/lib/utils/micro-frontend/host-app.d.ts +0 -11
- package/dist/types/lib/utils/micro-frontend/ssfguest-adapter.d.ts +0 -7
- /package/dist/types/lib/{utils/micro-frontend/tests/guest-ssf-host.test.d.ts → view/tests/guest-microapp.test.d.ts} +0 -0
|
@@ -38,7 +38,8 @@ const sendBAEvent = ({
|
|
|
38
38
|
self = true
|
|
39
39
|
}) => {
|
|
40
40
|
if (!self) {
|
|
41
|
-
const
|
|
41
|
+
const host = import_guest.CMicroAppGuest.getInstance()?.getHost();
|
|
42
|
+
const sendEvent = host?.sendBAEvent;
|
|
42
43
|
if (sendEvent) {
|
|
43
44
|
sendEvent(data);
|
|
44
45
|
} else {
|
package/dist/cjs/index.js
CHANGED
|
@@ -32,6 +32,7 @@ __export(index_exports, {
|
|
|
32
32
|
Analytics: () => import_analytics2.Analytics,
|
|
33
33
|
AppRoot: () => import_app_root.AppRoot,
|
|
34
34
|
Autocomplete: () => import_autocomplete.Autocomplete,
|
|
35
|
+
CMicroApp: () => import_guest.CMicroAppGuest,
|
|
35
36
|
CMicroAppGuest: () => import_guest.CMicroAppGuest,
|
|
36
37
|
CMicroAppHost: () => import_host.CMicroAppHost,
|
|
37
38
|
CheckBox: () => import_check_box.CheckBox,
|
|
@@ -48,6 +49,7 @@ __export(index_exports, {
|
|
|
48
49
|
FormItemLayout: () => import_form_item_layout.FormItemLayout,
|
|
49
50
|
FormLayoutBlockItem: () => import_form_layout_block_item.FormLayoutBlockItem,
|
|
50
51
|
FormSubmitButton: () => import_submit_button.FormSubmitButton,
|
|
52
|
+
GuestMicroApp: () => import_guest_microapp.GuestMicroApp,
|
|
51
53
|
InputMask: () => import_input_mask.InputMask,
|
|
52
54
|
InputText: () => import_input_text.InputText,
|
|
53
55
|
LargeTextBox: () => import_large_text_box.LargeTextBox,
|
|
@@ -233,6 +235,7 @@ var import_live_message = require("./data/live-message/index.js");
|
|
|
233
235
|
var import_error = require("./data/error/index.js");
|
|
234
236
|
var import_actions4 = require("./data/logout/actions.js");
|
|
235
237
|
var import_micro_app = require("./view/micro-app/index.js");
|
|
238
|
+
var import_guest_microapp = require("./view/guest-microapp.js");
|
|
236
239
|
var import_micro_iframe_app = require("./view/micro-iframe-app/index.js");
|
|
237
240
|
var import_utils = require("./view/micro-app/utils.js");
|
|
238
241
|
var import_store3 = require("./data/store.js");
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var app_bridge_exports = {};
|
|
20
|
+
__export(app_bridge_exports, {
|
|
21
|
+
getAppBridge: () => getAppBridge
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(app_bridge_exports);
|
|
24
|
+
var import_pui_app_bridge = require("@elliemae/pui-app-bridge");
|
|
25
|
+
var import_logger = require("../logger.js");
|
|
26
|
+
var import_analytics = require("./scripting-objects/analytics.js");
|
|
27
|
+
let appBridge = null;
|
|
28
|
+
const getAppBridge = async () => {
|
|
29
|
+
if (!appBridge) {
|
|
30
|
+
const logger = (0, import_logger.getLogger)();
|
|
31
|
+
const version = window.emui?.version || "latest";
|
|
32
|
+
appBridge = new import_pui_app_bridge.CAppBridge({
|
|
33
|
+
logger,
|
|
34
|
+
version
|
|
35
|
+
});
|
|
36
|
+
await appBridge.init();
|
|
37
|
+
appBridge.addScriptingObject(new import_analytics.Analytics({ logger }));
|
|
38
|
+
}
|
|
39
|
+
return appBridge;
|
|
40
|
+
};
|
|
@@ -34,6 +34,7 @@ module.exports = __toCommonJS(guest_exports);
|
|
|
34
34
|
var import_lodash = __toESM(require("lodash"));
|
|
35
35
|
var import_uuid = require("uuid");
|
|
36
36
|
var import_pui_theme = require("@elliemae/pui-theme");
|
|
37
|
+
var import_ssf_guest = require("@elliemae/ssf-guest");
|
|
37
38
|
var import_window = require("../window.js");
|
|
38
39
|
var import_app_config = require("../app-config/index.js");
|
|
39
40
|
var import_config = require("../app-config/config.js");
|
|
@@ -43,8 +44,7 @@ var import_logger = require("../logger.js");
|
|
|
43
44
|
var import_web_storage = require("../web-storage.js");
|
|
44
45
|
var import_web_analytics = require("./scripting-objects/web-analytics.js");
|
|
45
46
|
var import_appdynamics = require("../../analytics/appdynamics.js");
|
|
46
|
-
var
|
|
47
|
-
var import_host_app = require("./host-app.js");
|
|
47
|
+
var import_app_bridge = require("./app-bridge.js");
|
|
48
48
|
const isCrossDomain = () => {
|
|
49
49
|
try {
|
|
50
50
|
window.parent.document;
|
|
@@ -53,6 +53,11 @@ const isCrossDomain = () => {
|
|
|
53
53
|
return true;
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
|
+
var CommunicationMethod = /* @__PURE__ */ ((CommunicationMethod2) => {
|
|
57
|
+
CommunicationMethod2["SSF"] = "ssf";
|
|
58
|
+
CommunicationMethod2["APPSDK"] = "app-sdk";
|
|
59
|
+
return CommunicationMethod2;
|
|
60
|
+
})(CommunicationMethod || {});
|
|
56
61
|
class CMicroAppGuest {
|
|
57
62
|
/**
|
|
58
63
|
* unique microapp id
|
|
@@ -63,6 +68,14 @@ class CMicroAppGuest {
|
|
|
63
68
|
appId;
|
|
64
69
|
props;
|
|
65
70
|
containerId;
|
|
71
|
+
/**
|
|
72
|
+
* communication method used between microapps
|
|
73
|
+
*/
|
|
74
|
+
#communicationMethod;
|
|
75
|
+
/**
|
|
76
|
+
* AppBridge instance
|
|
77
|
+
*/
|
|
78
|
+
#appBridge = null;
|
|
66
79
|
onInit;
|
|
67
80
|
onMount;
|
|
68
81
|
onUnmount;
|
|
@@ -73,6 +86,7 @@ class CMicroAppGuest {
|
|
|
73
86
|
window.emui.uuid = window.emui.uuid || (0, import_uuid.v4)();
|
|
74
87
|
this.appId = window.emui?.appId || (0, import_config.getAppConfigValue)("appId");
|
|
75
88
|
this.#uuid = window.emui.uuid;
|
|
89
|
+
this.#communicationMethod = "app-sdk" /* APPSDK */;
|
|
76
90
|
this.props = {
|
|
77
91
|
host: null,
|
|
78
92
|
hostUrl: null,
|
|
@@ -94,7 +108,7 @@ class CMicroAppGuest {
|
|
|
94
108
|
}
|
|
95
109
|
static getInstance(params) {
|
|
96
110
|
if (!this.instance) {
|
|
97
|
-
this.instance = new
|
|
111
|
+
this.instance = new CMicroAppGuest(params);
|
|
98
112
|
}
|
|
99
113
|
return this.instance;
|
|
100
114
|
}
|
|
@@ -110,6 +124,46 @@ class CMicroAppGuest {
|
|
|
110
124
|
getLogger() {
|
|
111
125
|
return this.logger;
|
|
112
126
|
}
|
|
127
|
+
getObject(objectId) {
|
|
128
|
+
let host = null;
|
|
129
|
+
if (this.#communicationMethod === "ssf" /* SSF */) {
|
|
130
|
+
host = this.getHost();
|
|
131
|
+
return host.getObject(objectId);
|
|
132
|
+
}
|
|
133
|
+
host = this.getHost();
|
|
134
|
+
if (!host) return Promise.resolve(null);
|
|
135
|
+
return host.getObject(objectId);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* subscribe to the scripting object event
|
|
139
|
+
* @param {SubscribeParam<EventId, AppEvents[EventId]>} params - the parameters for the subscription
|
|
140
|
+
* @param {string} params.soName - the name of the scripting object
|
|
141
|
+
* @param {string} params.eventName - the name of the event
|
|
142
|
+
* @param {Function} params.callback - the callback function to be called when the event is triggered
|
|
143
|
+
* @returns {void}
|
|
144
|
+
*/
|
|
145
|
+
subscribe(params) {
|
|
146
|
+
let host = null;
|
|
147
|
+
if (this.#communicationMethod === "ssf" /* SSF */) {
|
|
148
|
+
host = this.getHost();
|
|
149
|
+
return host.subscribe(params);
|
|
150
|
+
}
|
|
151
|
+
host = this.getHost();
|
|
152
|
+
return host.subscribe(params);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* unsubscribe from the scripting object event
|
|
156
|
+
* @param params - parameters for the unsubscription
|
|
157
|
+
*/
|
|
158
|
+
unsubscribe(params) {
|
|
159
|
+
let host = null;
|
|
160
|
+
if (this.#communicationMethod === "ssf" /* SSF */) {
|
|
161
|
+
host = this.getHost();
|
|
162
|
+
host.unsubscribe(params);
|
|
163
|
+
}
|
|
164
|
+
host = this.getHost();
|
|
165
|
+
host.unsubscribe(params);
|
|
166
|
+
}
|
|
113
167
|
getProps() {
|
|
114
168
|
return this.props;
|
|
115
169
|
}
|
|
@@ -174,21 +228,22 @@ class CMicroAppGuest {
|
|
|
174
228
|
}
|
|
175
229
|
getSessionStorageItem(key) {
|
|
176
230
|
let value = sessionStorage.getItem(key);
|
|
177
|
-
|
|
178
|
-
|
|
231
|
+
const host = this.getHost();
|
|
232
|
+
if (!value && host?.getItem) {
|
|
233
|
+
value = host.getItem(key);
|
|
179
234
|
}
|
|
180
235
|
return value;
|
|
181
236
|
}
|
|
182
|
-
async
|
|
237
|
+
async findHost() {
|
|
183
238
|
let host = null;
|
|
184
239
|
if (window.parent !== window) {
|
|
185
240
|
if (!isCrossDomain()) {
|
|
186
|
-
host = window.parent?.emui?.MicroAppHost
|
|
241
|
+
host = window.parent?.emui?.MicroAppHost ?? null;
|
|
187
242
|
}
|
|
188
243
|
if (!host) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
244
|
+
host = new import_ssf_guest.SSFGuest({ appLogger: this.logger });
|
|
245
|
+
await host.connect();
|
|
246
|
+
this.#communicationMethod = "ssf" /* SSF */;
|
|
192
247
|
}
|
|
193
248
|
}
|
|
194
249
|
return host;
|
|
@@ -200,17 +255,21 @@ class CMicroAppGuest {
|
|
|
200
255
|
this.props = import_lodash.default.merge(this.props, options);
|
|
201
256
|
this.props.history = options?.history || this.props.history;
|
|
202
257
|
if (!this.props.host) {
|
|
203
|
-
const host = await this.
|
|
204
|
-
if (host)
|
|
258
|
+
const host = await this.findHost();
|
|
259
|
+
if (host) {
|
|
260
|
+
this.props.host = host;
|
|
261
|
+
}
|
|
205
262
|
}
|
|
206
|
-
if (this.props.host) (0, import_host_app.setHostApp)(this.props.host);
|
|
207
263
|
__webpack_public_path__ = __webpack_public_path__.replace(/\/?$/, "/");
|
|
208
264
|
return (0, import_app_config.loadAppConfig)().then(() => {
|
|
209
265
|
const instanceId = this.getSessionStorageItem("instanceId") || "";
|
|
210
266
|
const userId = this.getSessionStorageItem("userId") || "";
|
|
211
267
|
(0, import_web_analytics.updateBAEventParameters)({ appId: this.appId, instanceId, userId });
|
|
212
268
|
(0, import_appdynamics.setAppDynamicsUserData)({ appId: this.appId, instanceId, userId });
|
|
213
|
-
|
|
269
|
+
return (0, import_app_bridge.getAppBridge)().then((appBridge) => {
|
|
270
|
+
this.#appBridge = appBridge;
|
|
271
|
+
if (this.onInit) this.onInit(this.props);
|
|
272
|
+
});
|
|
214
273
|
});
|
|
215
274
|
}
|
|
216
275
|
mount(options = { containerId: "app-container" }) {
|
|
@@ -231,4 +290,32 @@ class CMicroAppGuest {
|
|
|
231
290
|
navigate(url, state) {
|
|
232
291
|
if (url) this.props.history.push(url, state);
|
|
233
292
|
}
|
|
293
|
+
/**
|
|
294
|
+
* add scripting object for child microapp to use
|
|
295
|
+
* @param so - The scripting object to be added.
|
|
296
|
+
* @param params - Optional parameters for adding the scripting object.
|
|
297
|
+
*/
|
|
298
|
+
addScriptingObject(so, params) {
|
|
299
|
+
if (this.#appBridge) {
|
|
300
|
+
this.#appBridge.addScriptingObject(so, params);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* dispatch event to child microapp
|
|
305
|
+
* @param {DispatchEventParams<EventId, Params>} params - event parameters
|
|
306
|
+
*/
|
|
307
|
+
async dispatchEvent(params) {
|
|
308
|
+
if (this.#appBridge) {
|
|
309
|
+
await this.#appBridge.dispatchEvent(params);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* removes scripting object from child microapp use
|
|
314
|
+
* @param objectId unique id of the scripting object
|
|
315
|
+
*/
|
|
316
|
+
removeScriptingObject(objectId) {
|
|
317
|
+
if (this.#appBridge) {
|
|
318
|
+
this.#appBridge.removeScriptingObject(objectId);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
234
321
|
}
|
|
@@ -39,7 +39,7 @@ var import_appdynamics = require("../../analytics/appdynamics.js");
|
|
|
39
39
|
var import_analytics = require("./scripting-objects/analytics.js");
|
|
40
40
|
var import_web_analytics = require("./scripting-objects/web-analytics.js");
|
|
41
41
|
var import_session = require("../session.js");
|
|
42
|
-
var
|
|
42
|
+
var import_app_bridge = require("./app-bridge.js");
|
|
43
43
|
class CMicroAppHost {
|
|
44
44
|
static instance;
|
|
45
45
|
logger;
|
|
@@ -51,6 +51,7 @@ class CMicroAppHost {
|
|
|
51
51
|
throttleRenewSessionTimer;
|
|
52
52
|
scriptingObjects;
|
|
53
53
|
#ssfHostRef;
|
|
54
|
+
#appBridge = null;
|
|
54
55
|
// eslint-disable-next-line max-statements
|
|
55
56
|
constructor(params) {
|
|
56
57
|
this.appId = (0, import_config.getAppConfigValue)("appId");
|
|
@@ -91,6 +92,11 @@ class CMicroAppHost {
|
|
|
91
92
|
}
|
|
92
93
|
);
|
|
93
94
|
(0, import_app_config.loadAppConfig)().then(() => {
|
|
95
|
+
(0, import_app_bridge.getAppBridge)().then((appBridge) => {
|
|
96
|
+
this.#appBridge = appBridge;
|
|
97
|
+
}).catch((ex) => {
|
|
98
|
+
throw ex;
|
|
99
|
+
});
|
|
94
100
|
if (this.onInit) this.onInit(this.props);
|
|
95
101
|
}).catch(() => {
|
|
96
102
|
});
|
|
@@ -101,8 +107,7 @@ class CMicroAppHost {
|
|
|
101
107
|
}
|
|
102
108
|
static getInstance(params) {
|
|
103
109
|
if (!this.instance) {
|
|
104
|
-
this.instance = new
|
|
105
|
-
(0, import_host_app.setHostApp)(this.instance);
|
|
110
|
+
this.instance = new CMicroAppHost(params);
|
|
106
111
|
}
|
|
107
112
|
return this.instance;
|
|
108
113
|
}
|
|
@@ -196,4 +201,32 @@ class CMicroAppHost {
|
|
|
196
201
|
async getObject(name) {
|
|
197
202
|
return this.scriptingObjects[name];
|
|
198
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* add scripting object for child microapp to use
|
|
206
|
+
* @param so - The scripting object to be added.
|
|
207
|
+
* @param params - Optional parameters for adding the scripting object.
|
|
208
|
+
*/
|
|
209
|
+
addScriptingObject(so, params) {
|
|
210
|
+
if (this.#appBridge) {
|
|
211
|
+
this.#appBridge.addScriptingObject(so, params);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* dispatch event to child microapp
|
|
216
|
+
* @param {DispatchEventParams<EventId, Params>} params - event parameters
|
|
217
|
+
*/
|
|
218
|
+
async dispatchEvent(params) {
|
|
219
|
+
if (this.#appBridge) {
|
|
220
|
+
await this.#appBridge.dispatchEvent(params);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* removes scripting object from child microapp use
|
|
225
|
+
* @param objectId unique id of the scripting object
|
|
226
|
+
*/
|
|
227
|
+
removeScriptingObject(objectId) {
|
|
228
|
+
if (this.#appBridge) {
|
|
229
|
+
this.#appBridge.removeScriptingObject(objectId);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
199
232
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,25 +15,17 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
var analytics_exports = {};
|
|
30
20
|
__export(analytics_exports, {
|
|
31
21
|
Analytics: () => Analytics
|
|
32
22
|
});
|
|
33
23
|
module.exports = __toCommonJS(analytics_exports);
|
|
34
|
-
var
|
|
24
|
+
var import_ssf_host = require("@elliemae/ssf-host");
|
|
35
25
|
var import_web_analytics = require("./web-analytics.js");
|
|
36
26
|
var import_helpers = require("../../helpers.js");
|
|
37
27
|
var import_headSampler = require("../../headSampler.js");
|
|
38
|
-
class Analytics extends
|
|
28
|
+
class Analytics extends import_ssf_host.ScriptingObject {
|
|
39
29
|
/**
|
|
40
30
|
* logger instance
|
|
41
31
|
*/
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
{
|
|
2
|
+
"appId": "microfe",
|
|
3
|
+
"activeEnv": "localhost",
|
|
4
|
+
"googleTagManager": true,
|
|
5
|
+
"sessionTimeoutWarnInterval": "7200000",
|
|
6
|
+
"sessionTimeoutInterval": "9000000",
|
|
7
|
+
"microFrontendApps": {
|
|
8
|
+
"loanapp": {
|
|
9
|
+
"name": "Loan",
|
|
10
|
+
"hostUrl": "./loan",
|
|
11
|
+
"development": {
|
|
12
|
+
"files": ["index.js"]
|
|
13
|
+
},
|
|
14
|
+
"production": {
|
|
15
|
+
"files": ["index.js"]
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"taskapp": {
|
|
19
|
+
"name": "Task",
|
|
20
|
+
"hostUrl": "./task",
|
|
21
|
+
"mode": "development",
|
|
22
|
+
"development": {
|
|
23
|
+
"files": ["index.dev.js"]
|
|
24
|
+
},
|
|
25
|
+
"production": {
|
|
26
|
+
"files": ["index.js"]
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"travelhub": {
|
|
30
|
+
"name": "TravelHub",
|
|
31
|
+
"hostUrl": "./travelhub",
|
|
32
|
+
"development": {
|
|
33
|
+
"files": ["app.js", "landing.js", "app.css", "landing.css"]
|
|
34
|
+
},
|
|
35
|
+
"production": {
|
|
36
|
+
"files": ["app.js", "landing.js", "app.css", "landing.css"]
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"flights": {
|
|
40
|
+
"name": "Flights",
|
|
41
|
+
"hostUrl": "./flights",
|
|
42
|
+
"development": {
|
|
43
|
+
"files": ["app.js", "app.css"]
|
|
44
|
+
},
|
|
45
|
+
"production": {
|
|
46
|
+
"files": ["app.js", "app.css"]
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"hotels": {
|
|
50
|
+
"name": "Hotels",
|
|
51
|
+
"hostUrl": "./hotels",
|
|
52
|
+
"development": {
|
|
53
|
+
"files": ["app.js", "app.css"]
|
|
54
|
+
},
|
|
55
|
+
"production": {
|
|
56
|
+
"files": ["app.js", "app.css"]
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"serviceEndpoints": {
|
|
61
|
+
"api": "",
|
|
62
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
63
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
64
|
+
},
|
|
65
|
+
"env": {
|
|
66
|
+
"localhost": {
|
|
67
|
+
"serviceEndpoints": {
|
|
68
|
+
"api": "",
|
|
69
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
70
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"dev": {
|
|
74
|
+
"serviceEndpoints": {
|
|
75
|
+
"api": "https://dev.api.puiservice.rd.elliemae.io",
|
|
76
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
77
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"dev2": {
|
|
81
|
+
"serviceEndpoints": {
|
|
82
|
+
"api": "https://int.api.ellielabs.com",
|
|
83
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
84
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
"qa": {
|
|
88
|
+
"serviceEndpoints": {
|
|
89
|
+
"api": "https://dev.api.puiservice.rd.elliemae.io",
|
|
90
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
91
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"qa2": {
|
|
95
|
+
"serviceEndpoints": {
|
|
96
|
+
"api": "https://int.api.ellielabs.com",
|
|
97
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
98
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"qa3": {
|
|
102
|
+
"serviceEndpoints": {
|
|
103
|
+
"api": "https://int.api.ellielabs.com",
|
|
104
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
105
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"int": {
|
|
109
|
+
"serviceEndpoints": {
|
|
110
|
+
"api": "https://int.api.ellielabs.com",
|
|
111
|
+
"idp": "https://int.idp.ellielabs.com",
|
|
112
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"peg-osb1": {
|
|
116
|
+
"serviceEndpoints": {
|
|
117
|
+
"api": "https://encompass-peg-api.elliemae.com",
|
|
118
|
+
"idp": "https://peg.idp.ellielabs.com/authorize",
|
|
119
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
"peg-osb2": {
|
|
123
|
+
"serviceEndpoints": {
|
|
124
|
+
"api": "https://encompass-peg2-api.elliemae.com",
|
|
125
|
+
"idp": "https://peg.idp.ellielabs.com/authorize",
|
|
126
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"peg": {
|
|
130
|
+
"serviceEndpoints": {
|
|
131
|
+
"api": "https://peg2-west.api.ellielabs.com",
|
|
132
|
+
"idp": "https://peg.idp.ellielabs.com/authorize",
|
|
133
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"peg-oapi-west": {
|
|
137
|
+
"serviceEndpoints": {
|
|
138
|
+
"api": "https://peg2-west.api.ellielabs.com",
|
|
139
|
+
"idp": "https://peg.idp.ellielabs.com/authorize",
|
|
140
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"peg-oapi-east": {
|
|
144
|
+
"serviceEndpoints": {
|
|
145
|
+
"api": "https://peg2-east.api.ellielabs.com",
|
|
146
|
+
"idp": "https://peg.idp.ellielabs.com/authorize",
|
|
147
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"peg2-oapi-east": {
|
|
151
|
+
"serviceEndpoints": {
|
|
152
|
+
"api": "https://peg2-east.api.ellielabs.com",
|
|
153
|
+
"idp": "https://peg.idp.ellielabs.com/authorize",
|
|
154
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"peg3": {
|
|
158
|
+
"serviceEndpoints": {
|
|
159
|
+
"api": "https://pel1.api.ellielabs.com",
|
|
160
|
+
"idp": "https://peg3.idp.ellielabs.com/authorize",
|
|
161
|
+
"logger": "https://int.api.ellielabs.com/diagnostics/v2/logging"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"stage": {
|
|
165
|
+
"serviceEndpoints": {
|
|
166
|
+
"api": "https://stg.api.elliemae.com",
|
|
167
|
+
"idp": "https://stg.idp.elliemae.com/authorize",
|
|
168
|
+
"logger": "https://api.ellielabs.com/diagnostics/v2/logging"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
"beta": {
|
|
172
|
+
"serviceEndpoints": {
|
|
173
|
+
"api": "https://concept.api.elliemae.com",
|
|
174
|
+
"idp": "https://concept.idp.elliemae.com/authorize",
|
|
175
|
+
"logger": "https://api.ellielabs.com/diagnostics/v2/logging"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"demo": {
|
|
179
|
+
"serviceEndpoints": {
|
|
180
|
+
"api": "https://concept.api.elliemae.com",
|
|
181
|
+
"idp": "https://concept.idp.elliemae.com/authorize",
|
|
182
|
+
"logger": "https://api.ellielabs.com/diagnostics/v2/logging"
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
"epc": {
|
|
186
|
+
"serviceEndpoints": {
|
|
187
|
+
"api": "https://concept.api.elliemae.com",
|
|
188
|
+
"idp": "https://concept.idp.elliemae.com/authorize",
|
|
189
|
+
"logger": "https://api.ellielabs.com/diagnostics/v2/logging"
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"prod": {
|
|
193
|
+
"serviceEndpoints": {
|
|
194
|
+
"api": "https://api.elliemae.com",
|
|
195
|
+
"idp": "https://idp.elliemae.com/authorize",
|
|
196
|
+
"logger": "https://api.ellielabs.com/diagnostics/v2/logging"
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|