@elliemae/pui-app-sdk 4.0.0-beta.3 → 4.0.0-beta.6
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/README.md +1 -1
- package/dist/cjs/utils/micro-frontend/guest.js +8 -16
- package/dist/cjs/utils/micro-frontend/host.js +5 -0
- package/dist/cjs/utils/micro-frontend/ssfguest-adapter.js +47 -0
- package/dist/cjs/view/app-root/index.js +3 -2
- package/dist/cjs/view/error-boundary/default-error-template.js +1 -1
- package/dist/cjs/view/fields/date-range-picker/index.js +95 -0
- package/dist/cjs/view/fields/date-time-picker/index.js +80 -0
- package/dist/cjs/view/fields/input-text/index.js +71 -0
- package/dist/cjs/view/fields/toggle/index.js +81 -0
- package/dist/cjs/view/micro-app/resources/script.js +19 -15
- package/dist/cjs/view/micro-app/resources/style.js +15 -11
- package/dist/esm/utils/micro-frontend/guest.js +8 -16
- package/dist/esm/utils/micro-frontend/host.js +5 -0
- package/dist/esm/utils/micro-frontend/ssfguest-adapter.js +25 -0
- package/dist/esm/view/app-root/index.js +3 -2
- package/dist/esm/view/error-boundary/default-error-template.js +1 -1
- package/dist/esm/view/fields/date-range-picker/index.js +77 -0
- package/dist/esm/view/fields/date-time-picker/index.js +62 -0
- package/dist/esm/view/fields/input-text/index.js +53 -0
- package/dist/esm/view/fields/toggle/index.js +63 -0
- package/dist/esm/view/micro-app/resources/script.js +19 -15
- package/dist/esm/view/micro-app/resources/style.js +15 -11
- package/dist/types/index.d.ts +1 -1
- package/dist/types/utils/micro-frontend/guest.d.ts +1 -1
- package/dist/types/utils/micro-frontend/host.d.ts +3 -1
- package/dist/types/utils/micro-frontend/ssfguest-adapter.d.ts +7 -0
- package/dist/types/view/error-boundary/index.d.ts +2 -1
- package/dist/types/view/fields/date-range-picker/index.d.ts +9 -0
- package/dist/types/view/fields/date-range-picker/index.stories.d.ts +7 -0
- package/dist/types/view/fields/date-time-picker/index.d.ts +9 -0
- package/dist/types/view/fields/date-time-picker/index.stories.d.ts +7 -0
- package/dist/types/view/fields/form-item-layout/index.d.ts +1 -1
- package/dist/types/view/fields/input-text/index.d.ts +9 -0
- package/dist/types/view/fields/input-text/index.stories.d.ts +7 -0
- package/dist/types/view/fields/toggle/index.d.ts +9 -0
- package/dist/types/view/fields/toggle/index.stories.d.ts +7 -0
- package/dist/types/view/micro-app/resources/script.d.ts +1 -1
- package/dist/types/view/micro-app/resources/style.d.ts +2 -2
- package/dist/types/view/modals/error/index.d.ts +2 -0
- package/package.json +39 -39
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Software Development Kit / API for developing React Web applications. Implements cross cutting concerns as reusable APIs
|
|
4
4
|
|
|
5
|
-
Build: [](https://jenkins.dco.elmae/job/UIPlatform/job/Dev/job/AppSDK/job/build/job/master/) Deploy: [](https://jenkins.dco.elmae/job/UIPlatform/Dev/AppSDK/deploy) Test: [](https://jenkins.dco.elmae/job/UIPlatform/QA/AppSDK/test) SecScan: [](https://jenkins.dco.elmae/job/UIPlatform/job/Dev/job/AppSDK/job/secscan/)
|
|
6
6
|
|
|
7
7
|
[SonarQube Report](https://sonar.ellielabs.com/overview?id=elliemae.pui.app.sdk-master)
|
|
8
8
|
|
|
@@ -23,9 +23,7 @@ __export(guest_exports, {
|
|
|
23
23
|
CMicroAppGuest: () => CMicroAppGuest
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(guest_exports);
|
|
26
|
-
var import_react_dom = __toESM(require("react-dom"));
|
|
27
26
|
var import_lodash = __toESM(require("lodash"));
|
|
28
|
-
var import_em_ssf_guest = __toESM(require("@elliemae/em-ssf-guest"));
|
|
29
27
|
var import_pui_theme = require("@elliemae/pui-theme");
|
|
30
28
|
var import_window = require("../window.js");
|
|
31
29
|
var import_app_config = require("../app-config/index.js");
|
|
@@ -35,6 +33,7 @@ var import_console_logger = require("./console-logger.js");
|
|
|
35
33
|
var import_web_storage = require("../web-storage.js");
|
|
36
34
|
var import_web_analytics = require("../../analytics/web-analytics.js");
|
|
37
35
|
var import_appdynamics = require("../../analytics/appdynamics.js");
|
|
36
|
+
var import_ssfguest_adapter = require("./ssfguest-adapter.js");
|
|
38
37
|
const isCrossDomain = () => {
|
|
39
38
|
try {
|
|
40
39
|
window.parent.document;
|
|
@@ -101,20 +100,16 @@ class CMicroAppGuest {
|
|
|
101
100
|
}
|
|
102
101
|
return value;
|
|
103
102
|
}
|
|
104
|
-
async
|
|
103
|
+
async getSSFAdapter() {
|
|
105
104
|
let host = null;
|
|
106
105
|
if (window.parent !== window) {
|
|
107
106
|
if (!isCrossDomain()) {
|
|
108
107
|
host = window.parent?.emui?.MicroAppHost || null;
|
|
109
|
-
} else
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
host = await Promise.race([
|
|
115
|
-
import_em_ssf_guest.default.getObject(this.props.hostName),
|
|
116
|
-
timeout
|
|
117
|
-
]);
|
|
108
|
+
} else {
|
|
109
|
+
const ssfAdapter = new import_ssfguest_adapter.SSFGuestAdapter();
|
|
110
|
+
if (!await ssfAdapter.init())
|
|
111
|
+
return null;
|
|
112
|
+
host = ssfAdapter;
|
|
118
113
|
}
|
|
119
114
|
}
|
|
120
115
|
return host;
|
|
@@ -123,7 +118,7 @@ class CMicroAppGuest {
|
|
|
123
118
|
this.props = import_lodash.default.merge(this.props, options);
|
|
124
119
|
this.props.history = options?.history || this.props.history;
|
|
125
120
|
if (!this.props.host) {
|
|
126
|
-
const host = await this.
|
|
121
|
+
const host = await this.getSSFAdapter();
|
|
127
122
|
if (host)
|
|
128
123
|
this.props.host = host;
|
|
129
124
|
}
|
|
@@ -145,9 +140,6 @@ class CMicroAppGuest {
|
|
|
145
140
|
});
|
|
146
141
|
}
|
|
147
142
|
unmount(options) {
|
|
148
|
-
const appEle = document.getElementById(this.containerId);
|
|
149
|
-
if (appEle)
|
|
150
|
-
import_react_dom.default.unmountComponentAtNode(appEle);
|
|
151
143
|
(0, import_web_storage.removeStorageEvents)();
|
|
152
144
|
return Promise.resolve().then(() => this.onUnmount ? this.onUnmount(options) : null);
|
|
153
145
|
}
|
|
@@ -48,10 +48,12 @@ class CMicroAppHost {
|
|
|
48
48
|
theme: (0, import_pui_theme.getDefaultTheme)()
|
|
49
49
|
};
|
|
50
50
|
this.activeGuests = {};
|
|
51
|
+
this.domainObjects = {};
|
|
51
52
|
this.getProps = this.getProps.bind(this);
|
|
52
53
|
this.getLogger = this.getLogger.bind(this);
|
|
53
54
|
this.getGuests = this.getGuests.bind(this);
|
|
54
55
|
this.getGuest = this.getGuest.bind(this);
|
|
56
|
+
this.getObject = this.getObject.bind(this);
|
|
55
57
|
this.renewSessionTimer = this.renewSessionTimer.bind(this);
|
|
56
58
|
this.setSystemVersion = this.setSystemVersion.bind(this);
|
|
57
59
|
(0, import_app_config.loadAppConfig)().then(() => {
|
|
@@ -154,4 +156,7 @@ class CMicroAppHost {
|
|
|
154
156
|
sendBAEvent(data) {
|
|
155
157
|
(0, import_analytics.sendBAEvent)({ data, self: true });
|
|
156
158
|
}
|
|
159
|
+
getObject(name) {
|
|
160
|
+
return this.domainObjects[name];
|
|
161
|
+
}
|
|
157
162
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var ssfguest_adapter_exports = {};
|
|
22
|
+
__export(ssfguest_adapter_exports, {
|
|
23
|
+
SSFGuestAdapter: () => SSFGuestAdapter
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(ssfguest_adapter_exports);
|
|
26
|
+
var import_em_ssf_guest = __toESM(require("@elliemae/em-ssf-guest"));
|
|
27
|
+
class SSFGuestAdapter {
|
|
28
|
+
async init() {
|
|
29
|
+
if (!import_em_ssf_guest.default)
|
|
30
|
+
return false;
|
|
31
|
+
await import_em_ssf_guest.default.connect();
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
async getObject(name) {
|
|
35
|
+
return import_em_ssf_guest.default.getObject(name);
|
|
36
|
+
}
|
|
37
|
+
subscribe(message, func) {
|
|
38
|
+
const callback = (domainObject, eventData) => {
|
|
39
|
+
func(message, eventData);
|
|
40
|
+
};
|
|
41
|
+
const [objectId, eventName] = message.split(".");
|
|
42
|
+
return import_em_ssf_guest.default.subscribe(objectId, eventName || "", callback);
|
|
43
|
+
}
|
|
44
|
+
unsubscribe(token, objectId, eventName) {
|
|
45
|
+
return import_em_ssf_guest.default.unsubscribe(objectId, eventName, token);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -38,6 +38,7 @@ __export(app_root_exports, {
|
|
|
38
38
|
});
|
|
39
39
|
module.exports = __toCommonJS(app_root_exports);
|
|
40
40
|
var React = __toESM(require("react"));
|
|
41
|
+
var import_react = require("react");
|
|
41
42
|
var import_react_redux = require("react-redux");
|
|
42
43
|
var import_styled_components = require("styled-components");
|
|
43
44
|
var import_pui_theme = require("@elliemae/pui-theme");
|
|
@@ -58,7 +59,7 @@ const AppRoot = ({
|
|
|
58
59
|
WaitMessage,
|
|
59
60
|
errorTemplate,
|
|
60
61
|
children
|
|
61
|
-
}) => /* @__PURE__ */ React.createElement(import_error_boundary.ErrorBoundary, {
|
|
62
|
+
}) => /* @__PURE__ */ React.createElement(import_react.StrictMode, null, /* @__PURE__ */ React.createElement(import_error_boundary.ErrorBoundary, {
|
|
62
63
|
errorTemplate
|
|
63
64
|
}, /* @__PURE__ */ React.createElement(import_react_redux.Provider, {
|
|
64
65
|
store
|
|
@@ -69,4 +70,4 @@ const AppRoot = ({
|
|
|
69
70
|
}, /* @__PURE__ */ React.createElement(AppToRender, {
|
|
70
71
|
manageSession,
|
|
71
72
|
WaitMessage
|
|
72
|
-
}, children)))));
|
|
73
|
+
}, children))))));
|
|
@@ -27,4 +27,4 @@ var React = __toESM(require("react"));
|
|
|
27
27
|
const DefaultErrorTemplate = ({
|
|
28
28
|
error = new Error("We are unable to process your request"),
|
|
29
29
|
errorInfo = { componentStack: "Please close your browser and login again" }
|
|
30
|
-
}) => /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", null, error?.message), /* @__PURE__ */ React.createElement("section", null, errorInfo));
|
|
30
|
+
}) => /* @__PURE__ */ React.createElement("div", null, /* @__PURE__ */ React.createElement("h2", null, error?.message), /* @__PURE__ */ React.createElement("section", null, errorInfo?.componentStack));
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
36
|
+
var __export = (target, all) => {
|
|
37
|
+
for (var name in all)
|
|
38
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
39
|
+
};
|
|
40
|
+
var __copyProps = (to, from, except, desc) => {
|
|
41
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
42
|
+
for (let key of __getOwnPropNames(from))
|
|
43
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
44
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
45
|
+
}
|
|
46
|
+
return to;
|
|
47
|
+
};
|
|
48
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
49
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
50
|
+
var date_range_picker_exports = {};
|
|
51
|
+
__export(date_range_picker_exports, {
|
|
52
|
+
DateRangePicker: () => DateRangePicker
|
|
53
|
+
});
|
|
54
|
+
module.exports = __toCommonJS(date_range_picker_exports);
|
|
55
|
+
var React = __toESM(require("react"));
|
|
56
|
+
var import_react = require("react");
|
|
57
|
+
var import_ds_controlled_form = require("@elliemae/ds-controlled-form");
|
|
58
|
+
var import_react_hook_form = require("react-hook-form");
|
|
59
|
+
const WrappedDateRangePicker = (_a) => {
|
|
60
|
+
var _b = _a, {
|
|
61
|
+
field: _c
|
|
62
|
+
} = _b, _d = _c, { value, onChange } = _d, restProps = __objRest(_d, ["value", "onChange"]), rest = __objRest(_b, [
|
|
63
|
+
"field"
|
|
64
|
+
]);
|
|
65
|
+
const [fromDateString, setFromDateString] = (0, import_react.useState)(value[0]);
|
|
66
|
+
const [toDateString, setToDateString] = (0, import_react.useState)(value[1]);
|
|
67
|
+
(0, import_react.useEffect)(() => {
|
|
68
|
+
onChange([fromDateString, toDateString]);
|
|
69
|
+
}, [fromDateString, toDateString]);
|
|
70
|
+
return /* @__PURE__ */ React.createElement(import_ds_controlled_form.DSControlledDateRangePicker, __spreadProps(__spreadValues(__spreadValues({}, rest), restProps), {
|
|
71
|
+
fromDate: fromDateString,
|
|
72
|
+
onFromDateChange: setFromDateString,
|
|
73
|
+
toDate: toDateString,
|
|
74
|
+
onToDateChange: setToDateString
|
|
75
|
+
}));
|
|
76
|
+
};
|
|
77
|
+
const DateRangePicker = (_e) => {
|
|
78
|
+
var _f = _e, {
|
|
79
|
+
name,
|
|
80
|
+
defaultValue = ["", ""],
|
|
81
|
+
rules = {}
|
|
82
|
+
} = _f, rest = __objRest(_f, [
|
|
83
|
+
"name",
|
|
84
|
+
"defaultValue",
|
|
85
|
+
"rules"
|
|
86
|
+
]);
|
|
87
|
+
return /* @__PURE__ */ React.createElement(import_react_hook_form.Controller, {
|
|
88
|
+
name,
|
|
89
|
+
defaultValue,
|
|
90
|
+
rules,
|
|
91
|
+
render: ({ field }) => /* @__PURE__ */ React.createElement(WrappedDateRangePicker, __spreadValues({
|
|
92
|
+
field
|
|
93
|
+
}, rest))
|
|
94
|
+
});
|
|
95
|
+
};
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
36
|
+
var __export = (target, all) => {
|
|
37
|
+
for (var name in all)
|
|
38
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
39
|
+
};
|
|
40
|
+
var __copyProps = (to, from, except, desc) => {
|
|
41
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
42
|
+
for (let key of __getOwnPropNames(from))
|
|
43
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
44
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
45
|
+
}
|
|
46
|
+
return to;
|
|
47
|
+
};
|
|
48
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
49
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
50
|
+
var date_time_picker_exports = {};
|
|
51
|
+
__export(date_time_picker_exports, {
|
|
52
|
+
DateTimePicker: () => DateTimePicker
|
|
53
|
+
});
|
|
54
|
+
module.exports = __toCommonJS(date_time_picker_exports);
|
|
55
|
+
var React = __toESM(require("react"));
|
|
56
|
+
var import_ds_controlled_form = require("@elliemae/ds-controlled-form");
|
|
57
|
+
var import_react_hook_form = require("react-hook-form");
|
|
58
|
+
const DateTimePicker = (_a) => {
|
|
59
|
+
var _b = _a, {
|
|
60
|
+
name,
|
|
61
|
+
defaultValue = "",
|
|
62
|
+
rules = {}
|
|
63
|
+
} = _b, rest = __objRest(_b, [
|
|
64
|
+
"name",
|
|
65
|
+
"defaultValue",
|
|
66
|
+
"rules"
|
|
67
|
+
]);
|
|
68
|
+
return /* @__PURE__ */ React.createElement(import_react_hook_form.Controller, {
|
|
69
|
+
name,
|
|
70
|
+
defaultValue,
|
|
71
|
+
rules,
|
|
72
|
+
render: (_a2) => {
|
|
73
|
+
var { field: _b2 } = _a2, _c = _b2, { value, onChange } = _c, restProps = __objRest(_c, ["value", "onChange"]);
|
|
74
|
+
return /* @__PURE__ */ React.createElement(import_ds_controlled_form.DSControlledDateTimePicker, __spreadProps(__spreadValues(__spreadValues({}, rest), restProps), {
|
|
75
|
+
dateTime: value,
|
|
76
|
+
onDateTimeChange: onChange
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
9
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
10
|
+
var __spreadValues = (a, b) => {
|
|
11
|
+
for (var prop in b || (b = {}))
|
|
12
|
+
if (__hasOwnProp.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
if (__getOwnPropSymbols)
|
|
15
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
16
|
+
if (__propIsEnum.call(b, prop))
|
|
17
|
+
__defNormalProp(a, prop, b[prop]);
|
|
18
|
+
}
|
|
19
|
+
return a;
|
|
20
|
+
};
|
|
21
|
+
var __objRest = (source, exclude) => {
|
|
22
|
+
var target = {};
|
|
23
|
+
for (var prop in source)
|
|
24
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
25
|
+
target[prop] = source[prop];
|
|
26
|
+
if (source != null && __getOwnPropSymbols)
|
|
27
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
28
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
29
|
+
target[prop] = source[prop];
|
|
30
|
+
}
|
|
31
|
+
return target;
|
|
32
|
+
};
|
|
33
|
+
var __export = (target, all) => {
|
|
34
|
+
for (var name in all)
|
|
35
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
36
|
+
};
|
|
37
|
+
var __copyProps = (to, from, except, desc) => {
|
|
38
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
39
|
+
for (let key of __getOwnPropNames(from))
|
|
40
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
41
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
42
|
+
}
|
|
43
|
+
return to;
|
|
44
|
+
};
|
|
45
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
46
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
47
|
+
var input_text_exports = {};
|
|
48
|
+
__export(input_text_exports, {
|
|
49
|
+
InputText: () => InputText
|
|
50
|
+
});
|
|
51
|
+
module.exports = __toCommonJS(input_text_exports);
|
|
52
|
+
var React = __toESM(require("react"));
|
|
53
|
+
var import_ds_controlled_form = require("@elliemae/ds-controlled-form");
|
|
54
|
+
var import_react_hook_form = require("react-hook-form");
|
|
55
|
+
const InputText = (_a) => {
|
|
56
|
+
var _b = _a, {
|
|
57
|
+
name,
|
|
58
|
+
defaultValue = "",
|
|
59
|
+
rules = {}
|
|
60
|
+
} = _b, rest = __objRest(_b, [
|
|
61
|
+
"name",
|
|
62
|
+
"defaultValue",
|
|
63
|
+
"rules"
|
|
64
|
+
]);
|
|
65
|
+
return /* @__PURE__ */ React.createElement(import_react_hook_form.Controller, {
|
|
66
|
+
name,
|
|
67
|
+
defaultValue,
|
|
68
|
+
rules,
|
|
69
|
+
render: ({ field }) => /* @__PURE__ */ React.createElement(import_ds_controlled_form.DSInputText, __spreadValues(__spreadValues({}, rest), field))
|
|
70
|
+
});
|
|
71
|
+
};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defProps = Object.defineProperties;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
11
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
12
|
+
var __spreadValues = (a, b) => {
|
|
13
|
+
for (var prop in b || (b = {}))
|
|
14
|
+
if (__hasOwnProp.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
if (__getOwnPropSymbols)
|
|
17
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
18
|
+
if (__propIsEnum.call(b, prop))
|
|
19
|
+
__defNormalProp(a, prop, b[prop]);
|
|
20
|
+
}
|
|
21
|
+
return a;
|
|
22
|
+
};
|
|
23
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
24
|
+
var __objRest = (source, exclude) => {
|
|
25
|
+
var target = {};
|
|
26
|
+
for (var prop in source)
|
|
27
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
if (source != null && __getOwnPropSymbols)
|
|
30
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
31
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
32
|
+
target[prop] = source[prop];
|
|
33
|
+
}
|
|
34
|
+
return target;
|
|
35
|
+
};
|
|
36
|
+
var __export = (target, all) => {
|
|
37
|
+
for (var name in all)
|
|
38
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
39
|
+
};
|
|
40
|
+
var __copyProps = (to, from, except, desc) => {
|
|
41
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
42
|
+
for (let key of __getOwnPropNames(from))
|
|
43
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
44
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
45
|
+
}
|
|
46
|
+
return to;
|
|
47
|
+
};
|
|
48
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
49
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
50
|
+
var toggle_exports = {};
|
|
51
|
+
__export(toggle_exports, {
|
|
52
|
+
Toggle: () => Toggle
|
|
53
|
+
});
|
|
54
|
+
module.exports = __toCommonJS(toggle_exports);
|
|
55
|
+
var React = __toESM(require("react"));
|
|
56
|
+
var import_ds_controlled_form = require("@elliemae/ds-controlled-form");
|
|
57
|
+
var import_react_hook_form = require("react-hook-form");
|
|
58
|
+
const Toggle = (_a) => {
|
|
59
|
+
var _b = _a, {
|
|
60
|
+
name,
|
|
61
|
+
defaultValue = false,
|
|
62
|
+
rules = {}
|
|
63
|
+
} = _b, rest = __objRest(_b, [
|
|
64
|
+
"name",
|
|
65
|
+
"defaultValue",
|
|
66
|
+
"rules"
|
|
67
|
+
]);
|
|
68
|
+
return /* @__PURE__ */ React.createElement(import_react_hook_form.Controller, {
|
|
69
|
+
name,
|
|
70
|
+
rules,
|
|
71
|
+
defaultValue,
|
|
72
|
+
render: (_a2) => {
|
|
73
|
+
var { field: _b2 } = _a2, _c = _b2, { value, onChange } = _c, restProps = __objRest(_c, ["value", "onChange"]);
|
|
74
|
+
return /* @__PURE__ */ React.createElement(import_ds_controlled_form.DSControlledToggle, __spreadProps(__spreadValues(__spreadValues({}, rest), restProps), {
|
|
75
|
+
checked: value,
|
|
76
|
+
value: value.toString(),
|
|
77
|
+
onChange: () => onChange(!value)
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
};
|
|
@@ -28,21 +28,25 @@ var import_url = require("../../../utils/url.js");
|
|
|
28
28
|
const APP_SCRIPT_ID_PREFIX = "emui-script-";
|
|
29
29
|
const HEAD_SCRIPTS = /(?:emuiDiagnostics|global|global-prod|emuiUserMonitoring)(?:..*)?.js/;
|
|
30
30
|
const isHeadScript = (scriptSrc) => HEAD_SCRIPTS.test(scriptSrc);
|
|
31
|
-
const addScriptToDOM = ({ name, hostUrl, documentEle }, fileName, index) =>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
31
|
+
const addScriptToDOM = ({ name, hostUrl, documentEle, manifestPath }, fileName, index) => {
|
|
32
|
+
if (!hostUrl || !manifestPath)
|
|
33
|
+
throw new Error("Unable to add scripts to DOM. hostUrl and manifestPath are required.");
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
const ele = documentEle.createElement("script");
|
|
36
|
+
if (!ele)
|
|
37
|
+
reject(new Error("Unable to insert Application scripts."));
|
|
38
|
+
ele.id = `${APP_SCRIPT_ID_PREFIX}${name}-${index}`;
|
|
39
|
+
const url = new URL(`${manifestPath.replace(/\/?$/, "/")}${fileName}`, hostUrl);
|
|
40
|
+
ele.src = (0, import_url.removeDoubleSlash)(url.href);
|
|
41
|
+
ele.onload = resolve.bind(null, ele.id);
|
|
42
|
+
ele.onerror = reject.bind(null, ele.id);
|
|
43
|
+
ele.async = false;
|
|
44
|
+
if (isHeadScript(ele.src))
|
|
45
|
+
documentEle.head.appendChild(ele);
|
|
46
|
+
else
|
|
47
|
+
documentEle.body.appendChild(ele);
|
|
48
|
+
});
|
|
49
|
+
};
|
|
46
50
|
const removeScriptFromDOM = (elementId = "", documentEle = document) => new Promise((resolve) => {
|
|
47
51
|
const ele = documentEle.getElementById(elementId);
|
|
48
52
|
if (!ele)
|
|
@@ -25,17 +25,21 @@ __export(style_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(style_exports);
|
|
26
26
|
var import_url = require("../../../utils/url.js");
|
|
27
27
|
const APP_STYLE_ID_PREFIX = "emui-style-";
|
|
28
|
-
const addStylesToDOM = ({ name, hostUrl, documentEle }, fileName, index) =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
28
|
+
const addStylesToDOM = ({ name, hostUrl, documentEle, manifestPath }, fileName, index) => {
|
|
29
|
+
if (!hostUrl || !manifestPath)
|
|
30
|
+
throw new Error("Unable to add styles to DOM. hostUrl and manifestPath are required.");
|
|
31
|
+
return new Promise((resolve, reject) => {
|
|
32
|
+
const ele = documentEle.createElement("link");
|
|
33
|
+
if (!ele)
|
|
34
|
+
reject(new Error("Unable to insert Application styles."));
|
|
35
|
+
ele.id = `${APP_STYLE_ID_PREFIX}${name}-${index}`;
|
|
36
|
+
ele.rel = "stylesheet";
|
|
37
|
+
const url = new URL(`${manifestPath.replace(/\/?$/, "/")}${fileName}`, hostUrl);
|
|
38
|
+
ele.href = (0, import_url.removeDoubleSlash)(url.href);
|
|
39
|
+
ele.onload = resolve.bind(null, ele.id);
|
|
40
|
+
documentEle.head.appendChild(ele);
|
|
41
|
+
});
|
|
42
|
+
};
|
|
39
43
|
const removeStyleFromDOM = (elementId = "", documentEle = document) => new Promise((resolve) => {
|
|
40
44
|
const ele = documentEle.getElementById(elementId);
|
|
41
45
|
if (!ele)
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import ReactDOM from "react-dom";
|
|
2
1
|
import _ from "lodash";
|
|
3
|
-
import ssfGuest from "@elliemae/em-ssf-guest";
|
|
4
2
|
import { getDefaultTheme } from "@elliemae/pui-theme";
|
|
5
3
|
import { getWindow } from "../window.js";
|
|
6
4
|
import { loadAppConfig } from "../app-config/index.js";
|
|
@@ -10,6 +8,7 @@ import { logger } from "./console-logger.js";
|
|
|
10
8
|
import { removeStorageEvents } from "../web-storage.js";
|
|
11
9
|
import { updateBAEventParameters } from "../../analytics/web-analytics.js";
|
|
12
10
|
import { setAppDynamicsUserData } from "../../analytics/appdynamics.js";
|
|
11
|
+
import { SSFGuestAdapter } from "./ssfguest-adapter.js";
|
|
13
12
|
const isCrossDomain = () => {
|
|
14
13
|
try {
|
|
15
14
|
window.parent.document;
|
|
@@ -76,20 +75,16 @@ class CMicroAppGuest {
|
|
|
76
75
|
}
|
|
77
76
|
return value;
|
|
78
77
|
}
|
|
79
|
-
async
|
|
78
|
+
async getSSFAdapter() {
|
|
80
79
|
let host = null;
|
|
81
80
|
if (window.parent !== window) {
|
|
82
81
|
if (!isCrossDomain()) {
|
|
83
82
|
host = window.parent?.emui?.MicroAppHost || null;
|
|
84
|
-
} else
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
host = await Promise.race([
|
|
90
|
-
ssfGuest.getObject(this.props.hostName),
|
|
91
|
-
timeout
|
|
92
|
-
]);
|
|
83
|
+
} else {
|
|
84
|
+
const ssfAdapter = new SSFGuestAdapter();
|
|
85
|
+
if (!await ssfAdapter.init())
|
|
86
|
+
return null;
|
|
87
|
+
host = ssfAdapter;
|
|
93
88
|
}
|
|
94
89
|
}
|
|
95
90
|
return host;
|
|
@@ -98,7 +93,7 @@ class CMicroAppGuest {
|
|
|
98
93
|
this.props = _.merge(this.props, options);
|
|
99
94
|
this.props.history = options?.history || this.props.history;
|
|
100
95
|
if (!this.props.host) {
|
|
101
|
-
const host = await this.
|
|
96
|
+
const host = await this.getSSFAdapter();
|
|
102
97
|
if (host)
|
|
103
98
|
this.props.host = host;
|
|
104
99
|
}
|
|
@@ -120,9 +115,6 @@ class CMicroAppGuest {
|
|
|
120
115
|
});
|
|
121
116
|
}
|
|
122
117
|
unmount(options) {
|
|
123
|
-
const appEle = document.getElementById(this.containerId);
|
|
124
|
-
if (appEle)
|
|
125
|
-
ReactDOM.unmountComponentAtNode(appEle);
|
|
126
118
|
removeStorageEvents();
|
|
127
119
|
return Promise.resolve().then(() => this.onUnmount ? this.onUnmount(options) : null);
|
|
128
120
|
}
|
|
@@ -33,10 +33,12 @@ class CMicroAppHost {
|
|
|
33
33
|
theme: getDefaultTheme()
|
|
34
34
|
};
|
|
35
35
|
this.activeGuests = {};
|
|
36
|
+
this.domainObjects = {};
|
|
36
37
|
this.getProps = this.getProps.bind(this);
|
|
37
38
|
this.getLogger = this.getLogger.bind(this);
|
|
38
39
|
this.getGuests = this.getGuests.bind(this);
|
|
39
40
|
this.getGuest = this.getGuest.bind(this);
|
|
41
|
+
this.getObject = this.getObject.bind(this);
|
|
40
42
|
this.renewSessionTimer = this.renewSessionTimer.bind(this);
|
|
41
43
|
this.setSystemVersion = this.setSystemVersion.bind(this);
|
|
42
44
|
loadAppConfig().then(() => {
|
|
@@ -139,6 +141,9 @@ class CMicroAppHost {
|
|
|
139
141
|
sendBAEvent(data) {
|
|
140
142
|
sendBAEvent({ data, self: true });
|
|
141
143
|
}
|
|
144
|
+
getObject(name) {
|
|
145
|
+
return this.domainObjects[name];
|
|
146
|
+
}
|
|
142
147
|
}
|
|
143
148
|
export {
|
|
144
149
|
CMicroAppHost
|