@elliemae/ssf-host 2.0.0-next.29
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/app.config.json +20 -0
- package/dist/cjs/guest.js +196 -0
- package/dist/cjs/host.js +930 -0
- package/dist/cjs/ihost.js +16 -0
- package/dist/cjs/index.html +183 -0
- package/dist/cjs/index.js +33 -0
- package/dist/cjs/package.json +4 -0
- package/dist/cjs/tests/guest.html +14 -0
- package/dist/cjs/tests/logger.js +31 -0
- package/dist/cjs/tests/scriptingObjects/appEvents.js +16 -0
- package/dist/cjs/tests/scriptingObjects/appObjects.js +16 -0
- package/dist/cjs/tests/scriptingObjects/appraisalServiceModule.js +127 -0
- package/dist/cjs/tests/scriptingObjects/constant.js +38 -0
- package/dist/cjs/tests/scriptingObjects/floodServiceModule.js +49 -0
- package/dist/cjs/tests/server.js +29 -0
- package/dist/cjs/tests/serverHandlers.js +50 -0
- package/dist/cjs/tests/utils.js +76 -0
- package/dist/cjs/types.js +46 -0
- package/dist/cjs/utils.js +57 -0
- package/dist/esm/app.config.json +20 -0
- package/dist/esm/guest.js +177 -0
- package/dist/esm/host.js +919 -0
- package/dist/esm/ihost.js +0 -0
- package/dist/esm/index.html +183 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/package.json +4 -0
- package/dist/esm/tests/guest.html +14 -0
- package/dist/esm/tests/logger.js +15 -0
- package/dist/esm/tests/scriptingObjects/appEvents.js +0 -0
- package/dist/esm/tests/scriptingObjects/appObjects.js +0 -0
- package/dist/esm/tests/scriptingObjects/appraisalServiceModule.js +112 -0
- package/dist/esm/tests/scriptingObjects/constant.js +18 -0
- package/dist/esm/tests/scriptingObjects/floodServiceModule.js +29 -0
- package/dist/esm/tests/server.js +9 -0
- package/dist/esm/tests/serverHandlers.js +20 -0
- package/dist/esm/tests/utils.js +56 -0
- package/dist/esm/types.js +26 -0
- package/dist/esm/utils.js +37 -0
- package/dist/public/app.config.json +20 -0
- package/dist/public/autoFill.js +3 -0
- package/dist/public/autoFill.js.br +0 -0
- package/dist/public/autoFill.js.gz +0 -0
- package/dist/public/autoFill.js.map +1 -0
- package/dist/public/index.html +1 -0
- package/dist/public/init.js +3 -0
- package/dist/public/init.js.br +0 -0
- package/dist/public/init.js.gz +0 -0
- package/dist/public/init.js.map +1 -0
- package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js +3 -0
- package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js.br +0 -0
- package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js.gz +0 -0
- package/dist/public/js/emuiSsfHost.c8f735724b6fe44f4dd6.js.map +1 -0
- package/dist/public/loan-object.js +3 -0
- package/dist/public/loan-object.js.br +1 -0
- package/dist/public/loan-object.js.gz +0 -0
- package/dist/public/loan-object.js.map +1 -0
- package/dist/public/utils.js +3 -0
- package/dist/public/utils.js.br +0 -0
- package/dist/public/utils.js.gz +0 -0
- package/dist/public/utils.js.map +1 -0
- package/dist/types/guest.d.ts +140 -0
- package/dist/types/host.d.ts +107 -0
- package/dist/types/ihost.d.ts +138 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/tests/event.test.d.ts +1 -0
- package/dist/types/tests/guest.test.d.ts +1 -0
- package/dist/types/tests/guestAsHost.test.d.ts +1 -0
- package/dist/types/tests/host.test.d.ts +1 -0
- package/dist/types/tests/logger.d.ts +3 -0
- package/dist/types/tests/scriptingObject.test.d.ts +1 -0
- package/dist/types/tests/scriptingObjects/appEvents.d.ts +3 -0
- package/dist/types/tests/scriptingObjects/appObjects.d.ts +7 -0
- package/dist/types/tests/scriptingObjects/appraisalServiceModule.d.ts +46 -0
- package/dist/types/tests/scriptingObjects/constant.d.ts +8 -0
- package/dist/types/tests/scriptingObjects/floodServiceModule.d.ts +17 -0
- package/dist/types/tests/server.d.ts +1 -0
- package/dist/types/tests/serverHandlers.d.ts +1 -0
- package/dist/types/tests/utils.d.ts +28 -0
- package/dist/types/types.d.ts +145 -0
- package/dist/types/utils.d.ts +8 -0
- package/dist/umd/app.config.json +20 -0
- package/dist/umd/autoFill.js +3 -0
- package/dist/umd/autoFill.js.br +0 -0
- package/dist/umd/autoFill.js.gz +0 -0
- package/dist/umd/autoFill.js.map +1 -0
- package/dist/umd/index.html +1 -0
- package/dist/umd/index.js +3 -0
- package/dist/umd/index.js.br +0 -0
- package/dist/umd/index.js.gz +0 -0
- package/dist/umd/index.js.map +1 -0
- package/dist/umd/init.js +3 -0
- package/dist/umd/init.js.br +0 -0
- package/dist/umd/init.js.gz +0 -0
- package/dist/umd/init.js.map +1 -0
- package/dist/umd/loan-object.js +3 -0
- package/dist/umd/loan-object.js.br +1 -0
- package/dist/umd/loan-object.js.gz +0 -0
- package/dist/umd/loan-object.js.map +1 -0
- package/dist/umd/utils.js +3 -0
- package/dist/umd/utils.js.br +0 -0
- package/dist/umd/utils.js.gz +0 -0
- package/dist/umd/utils.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1,76 @@
|
|
|
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 utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
|
+
createHost: () => createHost,
|
|
22
|
+
initGuest: () => initGuest,
|
|
23
|
+
postMessage: () => postMessage,
|
|
24
|
+
releaseJSThread: () => releaseJSThread
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(utils_exports);
|
|
27
|
+
var import_ssf_common = require("@elliemae/ssf-common");
|
|
28
|
+
var import__ = require("../index.js");
|
|
29
|
+
var import_logger = require("./logger.js");
|
|
30
|
+
var import_utils = require("../utils.js");
|
|
31
|
+
const createHost = (name = "IMTProduct") => {
|
|
32
|
+
let host = null;
|
|
33
|
+
const guestReady = new Promise((resolve) => {
|
|
34
|
+
const hostOptions = {
|
|
35
|
+
logger: import_logger.logger,
|
|
36
|
+
readyStateCallback: (guest) => {
|
|
37
|
+
resolve(guest);
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
host = new import__.SSFHost(name, hostOptions);
|
|
41
|
+
});
|
|
42
|
+
return { host, guestReady, guestName: `guest-${name}-sandbox` };
|
|
43
|
+
};
|
|
44
|
+
const postMessage = ({
|
|
45
|
+
srcWindow,
|
|
46
|
+
targetWindow,
|
|
47
|
+
message
|
|
48
|
+
}) => {
|
|
49
|
+
targetWindow.dispatchEvent(
|
|
50
|
+
new MessageEvent("message", {
|
|
51
|
+
source: srcWindow,
|
|
52
|
+
origin: (0, import_utils.getOrigin)(srcWindow.location.href),
|
|
53
|
+
data: {
|
|
54
|
+
source: "elli:remoting",
|
|
55
|
+
...message
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
const initGuest = (guestId) => {
|
|
61
|
+
const { contentWindow: guestWindow } = document.getElementById(guestId) || {};
|
|
62
|
+
if (!guestWindow)
|
|
63
|
+
throw new Error("Could not find guest window");
|
|
64
|
+
postMessage({
|
|
65
|
+
srcWindow: guestWindow,
|
|
66
|
+
targetWindow: guestWindow.parent,
|
|
67
|
+
message: {
|
|
68
|
+
body: { eventFeedback: true },
|
|
69
|
+
type: import_ssf_common.MessageType.GuestReady
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
return guestWindow;
|
|
73
|
+
};
|
|
74
|
+
const releaseJSThread = () => new Promise((resolve) => {
|
|
75
|
+
setTimeout(resolve, 0);
|
|
76
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
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 types_exports = {};
|
|
20
|
+
__export(types_exports, {
|
|
21
|
+
IFrameSandboxValues: () => IFrameSandboxValues,
|
|
22
|
+
OpenMode: () => OpenMode
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(types_exports);
|
|
25
|
+
var OpenMode = /* @__PURE__ */ ((OpenMode2) => {
|
|
26
|
+
OpenMode2["Popup"] = "popup";
|
|
27
|
+
OpenMode2["Embed"] = "embed";
|
|
28
|
+
return OpenMode2;
|
|
29
|
+
})(OpenMode || {});
|
|
30
|
+
var IFrameSandboxValues = /* @__PURE__ */ ((IFrameSandboxValues2) => {
|
|
31
|
+
IFrameSandboxValues2["AllowDownloadsWithoutUserActivation"] = "allow-downloads-without-user-activation";
|
|
32
|
+
IFrameSandboxValues2["AllowDownloads"] = "allow-downloads";
|
|
33
|
+
IFrameSandboxValues2["AllowForms"] = "allow-forms";
|
|
34
|
+
IFrameSandboxValues2["AllowModals"] = "allow-modals";
|
|
35
|
+
IFrameSandboxValues2["AllowOrientationLock"] = "allow-orientation-lock";
|
|
36
|
+
IFrameSandboxValues2["AllowPointerLock"] = "allow-pointer-lock";
|
|
37
|
+
IFrameSandboxValues2["AllowPopups"] = "allow-popups";
|
|
38
|
+
IFrameSandboxValues2["AllowPopupsToEscapeSandbox"] = "allow-popups-to-escape-sandbox";
|
|
39
|
+
IFrameSandboxValues2["AllowPresentation"] = "allow-presentation";
|
|
40
|
+
IFrameSandboxValues2["AllowSameOrigin"] = "allow-same-origin";
|
|
41
|
+
IFrameSandboxValues2["AllowScripts"] = "allow-scripts";
|
|
42
|
+
IFrameSandboxValues2["AllowStorageAccessByUserActivation"] = "allow-storage-access-by-user-activation";
|
|
43
|
+
IFrameSandboxValues2["AllowTopNavigation"] = "allow-top-navigation";
|
|
44
|
+
IFrameSandboxValues2["AllowTopNavigationByUserActivation"] = "allow-top-navigation-by-user-activation";
|
|
45
|
+
return IFrameSandboxValues2;
|
|
46
|
+
})(IFrameSandboxValues || {});
|
|
@@ -0,0 +1,57 @@
|
|
|
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 utils_exports = {};
|
|
20
|
+
__export(utils_exports, {
|
|
21
|
+
flatten: () => flatten,
|
|
22
|
+
getObjectId: () => getObjectId,
|
|
23
|
+
getOrigin: () => getOrigin,
|
|
24
|
+
isFunction: () => isFunction,
|
|
25
|
+
isProxy: () => isProxy,
|
|
26
|
+
isScriptingObject: () => isScriptingObject
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(utils_exports);
|
|
29
|
+
const getOrigin = (url) => {
|
|
30
|
+
if (url === "about:blank")
|
|
31
|
+
return "*";
|
|
32
|
+
const { origin } = new URL(url);
|
|
33
|
+
return origin === "null" || !origin ? url : origin;
|
|
34
|
+
};
|
|
35
|
+
const flatten = (source, target = []) => {
|
|
36
|
+
const retVal = target || [];
|
|
37
|
+
if (source && source.forEach) {
|
|
38
|
+
source.forEach((item) => {
|
|
39
|
+
flatten(item, retVal);
|
|
40
|
+
});
|
|
41
|
+
} else if (typeof source !== "undefined") {
|
|
42
|
+
retVal.push(source);
|
|
43
|
+
}
|
|
44
|
+
return retVal;
|
|
45
|
+
};
|
|
46
|
+
const isScriptingObject = (value) => (
|
|
47
|
+
// eslint-disable-next-line no-underscore-dangle, @typescript-eslint/no-unsafe-member-access
|
|
48
|
+
typeof value?._toJSON === "function"
|
|
49
|
+
);
|
|
50
|
+
function isFunction(value) {
|
|
51
|
+
return typeof value === "function";
|
|
52
|
+
}
|
|
53
|
+
const isProxy = (value) => (
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
55
|
+
value?.constructor?.name === "Proxy"
|
|
56
|
+
);
|
|
57
|
+
const getObjectId = (elementOrId) => elementOrId?.id ?? elementOrId;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"appId": "ssf-host",
|
|
3
|
+
"activeEnv": "localhost",
|
|
4
|
+
"options": {
|
|
5
|
+
"guestUrl": "http://localhost:4001"
|
|
6
|
+
},
|
|
7
|
+
"env": {
|
|
8
|
+
"localhost": {
|
|
9
|
+
"options": {
|
|
10
|
+
"guestUrl": "http://localhost:4001"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"dev2": {},
|
|
14
|
+
"qa2": {},
|
|
15
|
+
"qa3": {},
|
|
16
|
+
"int": {},
|
|
17
|
+
"stage": {},
|
|
18
|
+
"prod": {}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __publicField = (obj, key, value) => {
|
|
4
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
return value;
|
|
6
|
+
};
|
|
7
|
+
var __accessCheck = (obj, member, msg) => {
|
|
8
|
+
if (!member.has(obj))
|
|
9
|
+
throw TypeError("Cannot " + msg);
|
|
10
|
+
};
|
|
11
|
+
var __privateGet = (obj, member, getter) => {
|
|
12
|
+
__accessCheck(obj, member, "read from private field");
|
|
13
|
+
return getter ? getter.call(obj) : member.get(obj);
|
|
14
|
+
};
|
|
15
|
+
var __privateAdd = (obj, member, value) => {
|
|
16
|
+
if (member.has(obj))
|
|
17
|
+
throw TypeError("Cannot add the same private member more than once");
|
|
18
|
+
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
19
|
+
};
|
|
20
|
+
var __privateSet = (obj, member, value, setter) => {
|
|
21
|
+
__accessCheck(obj, member, "write to private field");
|
|
22
|
+
setter ? setter.call(obj, value) : member.set(obj, value);
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
25
|
+
var _remoting;
|
|
26
|
+
import { MessageType } from "@elliemae/ssf-common";
|
|
27
|
+
import { OpenMode } from "./types.js";
|
|
28
|
+
import { getOrigin } from "./utils.js";
|
|
29
|
+
class Guest {
|
|
30
|
+
/**
|
|
31
|
+
* Create object representing guest application
|
|
32
|
+
*
|
|
33
|
+
* @param {GuestOption} option - options for creating a guest application
|
|
34
|
+
*/
|
|
35
|
+
constructor(option) {
|
|
36
|
+
/**
|
|
37
|
+
* unique id of the guest application
|
|
38
|
+
*/
|
|
39
|
+
__publicField(this, "id");
|
|
40
|
+
/**
|
|
41
|
+
* page title of the guest application
|
|
42
|
+
*/
|
|
43
|
+
__publicField(this, "title");
|
|
44
|
+
/**
|
|
45
|
+
* url of the guest application
|
|
46
|
+
*/
|
|
47
|
+
__publicField(this, "url");
|
|
48
|
+
/**
|
|
49
|
+
* properties of the guest application
|
|
50
|
+
*/
|
|
51
|
+
__publicField(this, "params");
|
|
52
|
+
/**
|
|
53
|
+
* iframe element of the guest application
|
|
54
|
+
*/
|
|
55
|
+
__publicField(this, "domElement");
|
|
56
|
+
/**
|
|
57
|
+
* window object of the guest application
|
|
58
|
+
*/
|
|
59
|
+
__publicField(this, "window");
|
|
60
|
+
/**
|
|
61
|
+
* open mode of the guest application
|
|
62
|
+
*/
|
|
63
|
+
__publicField(this, "openMode");
|
|
64
|
+
/**
|
|
65
|
+
* origin of the guest application
|
|
66
|
+
*/
|
|
67
|
+
__publicField(this, "origin");
|
|
68
|
+
/**
|
|
69
|
+
* flag indicating if the guest application is initialized
|
|
70
|
+
*/
|
|
71
|
+
__publicField(this, "initialized", false);
|
|
72
|
+
/**
|
|
73
|
+
* flag indicating if the guest application is ready
|
|
74
|
+
*/
|
|
75
|
+
__publicField(this, "ready", false);
|
|
76
|
+
/**
|
|
77
|
+
* capabilities of the guest application
|
|
78
|
+
*/
|
|
79
|
+
__publicField(this, "capabilities");
|
|
80
|
+
/**
|
|
81
|
+
* remoting object
|
|
82
|
+
*/
|
|
83
|
+
__privateAdd(this, _remoting, void 0);
|
|
84
|
+
/**
|
|
85
|
+
* clean up resources
|
|
86
|
+
*/
|
|
87
|
+
__publicField(this, "dispose", () => {
|
|
88
|
+
__privateGet(this, _remoting).removeSender({ origin: this.origin, window: this.window });
|
|
89
|
+
if (this.openMode === OpenMode.Popup) {
|
|
90
|
+
this.window.close();
|
|
91
|
+
} else {
|
|
92
|
+
this.domElement?.remove?.();
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
/**
|
|
96
|
+
* Get information about the guest application
|
|
97
|
+
*
|
|
98
|
+
* @returns guest properties
|
|
99
|
+
*/
|
|
100
|
+
__publicField(this, "getInfo", () => ({
|
|
101
|
+
guestId: this.id,
|
|
102
|
+
guestTitle: this.title,
|
|
103
|
+
guestUrl: this.url
|
|
104
|
+
}));
|
|
105
|
+
/**
|
|
106
|
+
* initialize guest messaging
|
|
107
|
+
*/
|
|
108
|
+
__publicField(this, "init", () => {
|
|
109
|
+
__privateGet(this, _remoting).addSender({ origin: this.origin, window: this.window });
|
|
110
|
+
if (this.openMode === OpenMode.Popup) {
|
|
111
|
+
const handShakeInterval = setInterval(() => {
|
|
112
|
+
__privateGet(this, _remoting).send({
|
|
113
|
+
targetWin: this.window,
|
|
114
|
+
targetOrigin: this.origin,
|
|
115
|
+
messageType: MessageType.HandShake,
|
|
116
|
+
messageBody: {}
|
|
117
|
+
});
|
|
118
|
+
}, 1e3);
|
|
119
|
+
__privateGet(this, _remoting).listen({
|
|
120
|
+
messageType: MessageType.HandShakeAck,
|
|
121
|
+
callback: () => {
|
|
122
|
+
clearInterval(handShakeInterval);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
/**
|
|
128
|
+
* invokes event callback on the guest application
|
|
129
|
+
*
|
|
130
|
+
* @param {EventObject} event - event object
|
|
131
|
+
* @param {number} timeout - timeout in milliseconds
|
|
132
|
+
*/
|
|
133
|
+
__publicField(this, "dispatchEvent", (event, timeout) => __privateGet(this, _remoting).invoke({
|
|
134
|
+
targetWin: this.window,
|
|
135
|
+
targetOrigin: this.origin,
|
|
136
|
+
messageType: MessageType.ObjectEvent,
|
|
137
|
+
messageBody: event,
|
|
138
|
+
responseTimeoutMs: timeout
|
|
139
|
+
}));
|
|
140
|
+
/**
|
|
141
|
+
* Send a message without any form of response. fire and forget
|
|
142
|
+
*
|
|
143
|
+
* @param {MessageParam} param - message to be sent
|
|
144
|
+
*/
|
|
145
|
+
__publicField(this, "send", (param) => {
|
|
146
|
+
__privateGet(this, _remoting).send({
|
|
147
|
+
targetWin: this.window,
|
|
148
|
+
targetOrigin: this.origin,
|
|
149
|
+
...param
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
const {
|
|
153
|
+
guestId,
|
|
154
|
+
domElement = null,
|
|
155
|
+
title,
|
|
156
|
+
url,
|
|
157
|
+
window,
|
|
158
|
+
params = {},
|
|
159
|
+
openMode = OpenMode.Embed,
|
|
160
|
+
remoting
|
|
161
|
+
} = option;
|
|
162
|
+
this.id = guestId;
|
|
163
|
+
this.title = title;
|
|
164
|
+
this.url = url;
|
|
165
|
+
this.origin = getOrigin(url);
|
|
166
|
+
this.params = params;
|
|
167
|
+
this.domElement = domElement;
|
|
168
|
+
this.window = window;
|
|
169
|
+
this.openMode = openMode;
|
|
170
|
+
this.capabilities = {};
|
|
171
|
+
__privateSet(this, _remoting, remoting);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
_remoting = new WeakMap();
|
|
175
|
+
export {
|
|
176
|
+
Guest
|
|
177
|
+
};
|