@elliemae/pui-app-sdk 5.22.0-beta.1 → 5.22.0
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 +1 -2
- package/dist/cjs/api/users/index.js +6 -4
- package/dist/cjs/data/auth/actions.js +10 -2
- package/dist/cjs/index.js +0 -3
- package/dist/cjs/utils/auth/index.js +8 -5
- package/dist/cjs/utils/decorators/functionDecorators.js +6 -1
- package/dist/cjs/utils/micro-frontend/guest.js +14 -101
- package/dist/cjs/{view/tests/scriptingObjects/constant.js → utils/micro-frontend/host-app.js} +10 -5
- package/dist/cjs/utils/micro-frontend/host.js +3 -36
- package/dist/cjs/utils/micro-frontend/scripting-objects/analytics.js +12 -2
- package/dist/cjs/{view/tests/utils.js → utils/micro-frontend/ssfguest-adapter.js} +29 -34
- package/dist/cjs/utils/testing/index.js +1 -15
- package/dist/cjs/view/login/index.js +4 -3
- package/dist/cjs/view/micro-iframe-app/iframe/index.js +1 -1
- package/dist/cjs/view/micro-iframe-app/iframe.html +1 -5
- package/dist/cjs/view/micro-iframe-app/use-frame-loaded.js +1 -3
- package/dist/cjs/view/require-auth.js +12 -2
- package/dist/esm/analytics/index.js +1 -2
- package/dist/esm/api/users/index.js +6 -4
- package/dist/esm/data/auth/actions.js +10 -2
- package/dist/esm/index.js +1 -7
- package/dist/esm/utils/auth/index.js +8 -5
- package/dist/esm/utils/decorators/functionDecorators.js +6 -1
- package/dist/esm/utils/micro-frontend/guest.js +14 -101
- package/dist/esm/utils/micro-frontend/host-app.js +9 -0
- package/dist/esm/utils/micro-frontend/host.js +3 -36
- package/dist/esm/utils/micro-frontend/scripting-objects/analytics.js +2 -2
- package/dist/esm/utils/micro-frontend/ssfguest-adapter.js +28 -0
- package/dist/esm/utils/testing/index.js +1 -5
- package/dist/esm/view/login/index.js +4 -3
- package/dist/esm/view/micro-iframe-app/iframe/index.js +1 -1
- package/dist/esm/view/micro-iframe-app/iframe.html +1 -5
- package/dist/esm/view/micro-iframe-app/use-frame-loaded.js +1 -3
- package/dist/esm/view/require-auth.js +12 -2
- package/dist/types/lib/api/users/index.d.ts +2 -1
- package/dist/types/lib/data/auth/actions.d.ts +2 -1
- package/dist/types/lib/index.d.ts +1 -2
- package/dist/types/lib/utils/auth/index.d.ts +4 -2
- package/dist/types/lib/utils/micro-frontend/guest.d.ts +11 -46
- package/dist/types/lib/utils/micro-frontend/host-app.d.ts +11 -0
- package/dist/types/lib/utils/micro-frontend/host.d.ts +10 -27
- package/dist/types/lib/utils/micro-frontend/scripting-objects/analytics.d.ts +2 -2
- package/dist/types/lib/utils/micro-frontend/ssfguest-adapter.d.ts +7 -0
- package/dist/types/lib/utils/micro-frontend/types.d.ts +1 -2
- package/dist/types/lib/utils/testing/index.d.ts +1 -57
- package/dist/types/lib/utils/window.d.ts +6 -13
- package/dist/types/lib/view/login/index.d.ts +2 -1
- package/dist/types/lib/view/micro-app/index.d.ts +0 -5
- package/dist/types/lib/view/micro-iframe-app/index.d.ts +0 -5
- package/dist/types/lib/view/require-auth.d.ts +2 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +43 -43
- package/dist/cjs/utils/micro-frontend/app-bridge.js +0 -40
- package/dist/cjs/utils/micro-frontend/tests/app.config.json +0 -200
- package/dist/cjs/utils/micro-frontend/tests/utils.js +0 -116
- package/dist/cjs/view/guest-microapp.js +0 -126
- package/dist/cjs/view/tests/__snapshots__/guest-microapp.test.tsx.snap +0 -21
- package/dist/cjs/view/tests/__snapshots__/micro-iframe-app.test.tsx.snap +0 -208
- package/dist/cjs/view/tests/app.config.json +0 -200
- package/dist/cjs/view/tests/constants.js +0 -44
- package/dist/cjs/view/tests/flights/23.1/app.checksum1.css +0 -3
- package/dist/cjs/view/tests/flights/23.1/app.checksum1.js +0 -52
- package/dist/cjs/view/tests/flights/23.1/manifest.json +0 -4
- package/dist/cjs/view/tests/flights/latest/app.checksum.css +0 -3
- package/dist/cjs/view/tests/flights/latest/app.checksum.js +0 -52
- package/dist/cjs/view/tests/flights/latest/manifest.json +0 -4
- package/dist/cjs/view/tests/hotels/23.1/app.checksum.css +0 -3
- package/dist/cjs/view/tests/hotels/23.1/app.checksum.js +0 -52
- package/dist/cjs/view/tests/hotels/23.1/manifest.json +0 -4
- package/dist/cjs/view/tests/hotels/latest/app.checksum.css +0 -3
- package/dist/cjs/view/tests/hotels/latest/app.checksum.js +0 -52
- package/dist/cjs/view/tests/hotels/latest/manifest.json +0 -4
- package/dist/cjs/view/tests/loan/latest/index.js +0 -116
- package/dist/cjs/view/tests/loan/latest/manifest.json +0 -3
- package/dist/cjs/view/tests/scriptingObjects/appraisalServiceModule.js +0 -81
- package/dist/cjs/view/tests/scriptingObjects/global.js +0 -40
- package/dist/cjs/view/tests/scriptingObjects/loan.js +0 -200
- package/dist/cjs/view/tests/server.js +0 -29
- package/dist/cjs/view/tests/serverHandlers.js +0 -210
- package/dist/cjs/view/tests/task/latest/index.dev.js +0 -67
- package/dist/cjs/view/tests/task/latest/index.js +0 -67
- package/dist/cjs/view/tests/task/latest/manifest.json +0 -4
- package/dist/cjs/view/tests/travelhub/23.1/app.checksum.css +0 -3
- package/dist/cjs/view/tests/travelhub/23.1/app.checksum.js +0 -25
- package/dist/cjs/view/tests/travelhub/23.1/landing.checksum1.css +0 -3
- package/dist/cjs/view/tests/travelhub/23.1/landing.checksum1.js +0 -6
- package/dist/cjs/view/tests/travelhub/23.1/manifest.json +0 -6
- package/dist/cjs/view/tests/travelhub/latest/app.checksum.css +0 -3
- package/dist/cjs/view/tests/travelhub/latest/app.checksum.js +0 -30
- package/dist/cjs/view/tests/travelhub/latest/landing.checksum.css +0 -3
- package/dist/cjs/view/tests/travelhub/latest/landing.checksum.js +0 -8
- package/dist/cjs/view/tests/travelhub/latest/manifest.json +0 -6
- package/dist/esm/utils/micro-frontend/app-bridge.js +0 -20
- package/dist/esm/utils/micro-frontend/tests/app.config.json +0 -200
- package/dist/esm/utils/micro-frontend/tests/utils.js +0 -96
- package/dist/esm/view/guest-microapp.js +0 -96
- package/dist/esm/view/tests/__snapshots__/guest-microapp.test.tsx.snap +0 -21
- package/dist/esm/view/tests/__snapshots__/micro-iframe-app.test.tsx.snap +0 -208
- package/dist/esm/view/tests/app.config.json +0 -200
- package/dist/esm/view/tests/constants.js +0 -24
- package/dist/esm/view/tests/flights/23.1/app.checksum1.css +0 -3
- package/dist/esm/view/tests/flights/23.1/app.checksum1.js +0 -51
- package/dist/esm/view/tests/flights/23.1/manifest.json +0 -4
- package/dist/esm/view/tests/flights/latest/app.checksum.css +0 -3
- package/dist/esm/view/tests/flights/latest/app.checksum.js +0 -51
- package/dist/esm/view/tests/flights/latest/manifest.json +0 -4
- package/dist/esm/view/tests/hotels/23.1/app.checksum.css +0 -3
- package/dist/esm/view/tests/hotels/23.1/app.checksum.js +0 -51
- package/dist/esm/view/tests/hotels/23.1/manifest.json +0 -4
- package/dist/esm/view/tests/hotels/latest/app.checksum.css +0 -3
- package/dist/esm/view/tests/hotels/latest/app.checksum.js +0 -51
- package/dist/esm/view/tests/hotels/latest/manifest.json +0 -4
- package/dist/esm/view/tests/loan/latest/index.js +0 -115
- package/dist/esm/view/tests/loan/latest/manifest.json +0 -3
- package/dist/esm/view/tests/scriptingObjects/appraisalServiceModule.js +0 -63
- package/dist/esm/view/tests/scriptingObjects/constant.js +0 -4
- package/dist/esm/view/tests/scriptingObjects/global.js +0 -22
- package/dist/esm/view/tests/scriptingObjects/loan.js +0 -180
- package/dist/esm/view/tests/server.js +0 -9
- package/dist/esm/view/tests/serverHandlers.js +0 -180
- package/dist/esm/view/tests/task/latest/index.dev.js +0 -66
- package/dist/esm/view/tests/task/latest/index.js +0 -66
- package/dist/esm/view/tests/task/latest/manifest.json +0 -4
- package/dist/esm/view/tests/travelhub/23.1/app.checksum.css +0 -3
- package/dist/esm/view/tests/travelhub/23.1/app.checksum.js +0 -24
- package/dist/esm/view/tests/travelhub/23.1/landing.checksum1.css +0 -3
- package/dist/esm/view/tests/travelhub/23.1/landing.checksum1.js +0 -5
- package/dist/esm/view/tests/travelhub/23.1/manifest.json +0 -6
- package/dist/esm/view/tests/travelhub/latest/app.checksum.css +0 -3
- package/dist/esm/view/tests/travelhub/latest/app.checksum.js +0 -29
- package/dist/esm/view/tests/travelhub/latest/landing.checksum.css +0 -3
- package/dist/esm/view/tests/travelhub/latest/landing.checksum.js +0 -7
- package/dist/esm/view/tests/travelhub/latest/manifest.json +0 -6
- package/dist/esm/view/tests/utils.js +0 -33
- package/dist/types/lib/utils/micro-frontend/app-bridge.d.ts +0 -4
- package/dist/types/lib/utils/micro-frontend/tests/utils.d.ts +0 -39
- package/dist/types/lib/view/guest-microapp.d.ts +0 -13
- package/dist/types/lib/view/tests/constants.d.ts +0 -11
- package/dist/types/lib/view/tests/flights/23.1/app.checksum1.d.ts +0 -7
- package/dist/types/lib/view/tests/flights/latest/app.checksum.d.ts +0 -7
- package/dist/types/lib/view/tests/hotels/23.1/app.checksum.d.ts +0 -7
- package/dist/types/lib/view/tests/hotels/latest/app.checksum.d.ts +0 -7
- package/dist/types/lib/view/tests/loan/latest/index.d.ts +0 -11
- package/dist/types/lib/view/tests/micro-iframe-app.test.d.ts +0 -1
- package/dist/types/lib/view/tests/scriptingObjects/appraisalServiceModule.d.ts +0 -36
- package/dist/types/lib/view/tests/scriptingObjects/constant.d.ts +0 -1
- package/dist/types/lib/view/tests/scriptingObjects/global.d.ts +0 -9
- package/dist/types/lib/view/tests/scriptingObjects/loan.d.ts +0 -31
- package/dist/types/lib/view/tests/server.d.ts +0 -1
- package/dist/types/lib/view/tests/serverHandlers.d.ts +0 -5
- package/dist/types/lib/view/tests/task/latest/index.d.ts +0 -10
- package/dist/types/lib/view/tests/task/latest/index.dev.d.ts +0 -10
- package/dist/types/lib/view/tests/travelhub/23.1/app.checksum.d.ts +0 -7
- package/dist/types/lib/view/tests/travelhub/23.1/landing.checksum1.d.ts +0 -2
- 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 +0 -7
- /package/dist/types/lib/{view/tests/guest-microapp.test.d.ts → utils/micro-frontend/tests/guest-ssf-host.test.d.ts} +0 -0
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { rest } from "msw";
|
|
2
|
-
import { readFile } from "fs/promises";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
import appConfig from "./app.config.json";
|
|
5
|
-
import loanAppManifest from "./loan/latest/manifest.json";
|
|
6
|
-
import latestTaskManifest from "./task/latest/manifest.json";
|
|
7
|
-
import latestAppManifest from "./travelhub/latest/manifest.json";
|
|
8
|
-
import versionedAppManifest from "./travelhub/23.1/manifest.json";
|
|
9
|
-
import latestFlightsManifest from "./flights/latest/manifest.json";
|
|
10
|
-
import versionedFlightsManifest from "./flights/23.1/manifest.json";
|
|
11
|
-
import latestHotelsManifest from "./hotels/latest/manifest.json";
|
|
12
|
-
import versionedHotelsManifest from "./hotels/23.1/manifest.json";
|
|
13
|
-
import { LATEST_VERSION, RELEASE_VERSION } from "./constants.js";
|
|
14
|
-
import { getMajorMinorVersion } from "./utils.js";
|
|
15
|
-
const relMajorMinorVersion = getMajorMinorVersion(RELEASE_VERSION);
|
|
16
|
-
var ResourceType = /* @__PURE__ */ ((ResourceType2) => {
|
|
17
|
-
ResourceType2["JS"] = "js";
|
|
18
|
-
ResourceType2["CSS"] = "css";
|
|
19
|
-
return ResourceType2;
|
|
20
|
-
})(ResourceType || {});
|
|
21
|
-
const manifests = {
|
|
22
|
-
task: {
|
|
23
|
-
latest: latestTaskManifest
|
|
24
|
-
},
|
|
25
|
-
travelHub: {
|
|
26
|
-
latest: latestAppManifest
|
|
27
|
-
},
|
|
28
|
-
flights: {
|
|
29
|
-
latest: latestFlightsManifest
|
|
30
|
-
},
|
|
31
|
-
hotels: {
|
|
32
|
-
latest: latestHotelsManifest
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
manifests.task[relMajorMinorVersion] = {};
|
|
36
|
-
manifests.travelHub[relMajorMinorVersion] = versionedAppManifest;
|
|
37
|
-
manifests.flights[relMajorMinorVersion] = versionedFlightsManifest;
|
|
38
|
-
manifests.hotels[relMajorMinorVersion] = versionedHotelsManifest;
|
|
39
|
-
const sendResource = async (res, ctx, filePath, type = "js" /* JS */) => {
|
|
40
|
-
const fileContent = await readFile(path.join(__dirname, filePath), "utf-8");
|
|
41
|
-
return res(
|
|
42
|
-
ctx.status(200),
|
|
43
|
-
ctx.set(
|
|
44
|
-
"Content-Type",
|
|
45
|
-
type === "js" /* JS */ ? "application/javascript" : "text/css"
|
|
46
|
-
),
|
|
47
|
-
ctx.body(fileContent)
|
|
48
|
-
);
|
|
49
|
-
};
|
|
50
|
-
const getAppResourceHandlers = (urls, baseFolder) => urls.map((url) => {
|
|
51
|
-
const handler = rest.get(url, async (req, res, ctx) => {
|
|
52
|
-
const newRes = await sendResource(
|
|
53
|
-
res,
|
|
54
|
-
ctx,
|
|
55
|
-
`${baseFolder}${url}`,
|
|
56
|
-
url.includes(".css") ? "css" /* CSS */ : "js" /* JS */
|
|
57
|
-
);
|
|
58
|
-
return newRes;
|
|
59
|
-
});
|
|
60
|
-
return handler;
|
|
61
|
-
});
|
|
62
|
-
const sendJS = async (res, ctx, filePath) => {
|
|
63
|
-
const fileContent = await readFile(path.join(__dirname, filePath), "utf-8");
|
|
64
|
-
return res(
|
|
65
|
-
ctx.status(200),
|
|
66
|
-
ctx.set("Content-Type", "application/javascript"),
|
|
67
|
-
ctx.body(fileContent)
|
|
68
|
-
);
|
|
69
|
-
};
|
|
70
|
-
const getServerHandlers = () => {
|
|
71
|
-
const relVersion = getMajorMinorVersion(RELEASE_VERSION);
|
|
72
|
-
const versionedHandlers = [LATEST_VERSION, relVersion].reduce(
|
|
73
|
-
(prevValue, version) => {
|
|
74
|
-
prevValue = prevValue.concat([
|
|
75
|
-
rest.get(
|
|
76
|
-
`/travelhub/${version}/manifest.json`,
|
|
77
|
-
(req, res, ctx) => res(ctx.json(manifests.travelHub[version]))
|
|
78
|
-
),
|
|
79
|
-
rest.get(
|
|
80
|
-
`/subfolder/${version}/manifest.json`,
|
|
81
|
-
(req, res, ctx) => res(ctx.json(manifests.travelHub[version]))
|
|
82
|
-
),
|
|
83
|
-
rest.get(
|
|
84
|
-
`/task/${version}/manifest.json`,
|
|
85
|
-
(req, res, ctx) => res(ctx.json(manifests.task[version]))
|
|
86
|
-
),
|
|
87
|
-
rest.get(
|
|
88
|
-
`/flights/${version}/manifest.json`,
|
|
89
|
-
(req, res, ctx) => res(ctx.json(manifests.flights[version]))
|
|
90
|
-
),
|
|
91
|
-
rest.get(
|
|
92
|
-
`/hotels/${version}/manifest.json`,
|
|
93
|
-
(req, res, ctx) => res(ctx.json(manifests.hotels[version]))
|
|
94
|
-
),
|
|
95
|
-
...getAppResourceHandlers(
|
|
96
|
-
[
|
|
97
|
-
`/task/${version}/index.js`,
|
|
98
|
-
`/task/${version}/index.dev.js`,
|
|
99
|
-
`/travelhub/${version}/app.checksum.js`,
|
|
100
|
-
`/travelhub/${version}/app.checksum.css`,
|
|
101
|
-
`/travelhub/${version}/landing.checksum.js`,
|
|
102
|
-
`/travelhub/${version}/landing.checksum.css`,
|
|
103
|
-
`/travelhub/${version}/landing.checksum1.js`,
|
|
104
|
-
`/travelhub/${version}/landing.checksum1.css`,
|
|
105
|
-
`/flights/${version}/app.checksum.js`,
|
|
106
|
-
`/flights/${version}/app.checksum.css`,
|
|
107
|
-
`/flights/${version}/app.checksum1.js`,
|
|
108
|
-
`/flights/${version}/app.checksum1.css`,
|
|
109
|
-
`/hotels/${version}/app.checksum.js`,
|
|
110
|
-
`/hotels/${version}/app.checksum.css`,
|
|
111
|
-
`/hotels/${version}/app.checksum1.js`,
|
|
112
|
-
`/hotels/${version}/app.checksum1.css`
|
|
113
|
-
],
|
|
114
|
-
"./"
|
|
115
|
-
)
|
|
116
|
-
]);
|
|
117
|
-
return prevValue;
|
|
118
|
-
},
|
|
119
|
-
[]
|
|
120
|
-
);
|
|
121
|
-
return versionedHandlers;
|
|
122
|
-
};
|
|
123
|
-
const serverHandlers = [
|
|
124
|
-
rest.get(
|
|
125
|
-
"https://www.google-analytics.com/analytics.js",
|
|
126
|
-
(req, res, ctx) => res(
|
|
127
|
-
ctx.status(200),
|
|
128
|
-
ctx.set("Content-Type", "application/javascript"),
|
|
129
|
-
ctx.body("")
|
|
130
|
-
)
|
|
131
|
-
),
|
|
132
|
-
rest.get(
|
|
133
|
-
"/latest/app.config.json",
|
|
134
|
-
(req, res, ctx) => res(ctx.json(appConfig))
|
|
135
|
-
),
|
|
136
|
-
rest.get(
|
|
137
|
-
`/${relMajorMinorVersion}/app.config.json`,
|
|
138
|
-
(req, res, ctx) => res(ctx.json(appConfig))
|
|
139
|
-
),
|
|
140
|
-
// frame html
|
|
141
|
-
rest.get("/iframe.html", async (req, res, ctx) => {
|
|
142
|
-
const fileContent = await readFile(
|
|
143
|
-
path.join(__dirname, "../micro-iframe-app/iframe.html"),
|
|
144
|
-
"utf-8"
|
|
145
|
-
);
|
|
146
|
-
return res(
|
|
147
|
-
ctx.status(200),
|
|
148
|
-
ctx.set("Content-Type", "text/html"),
|
|
149
|
-
ctx.body(fileContent)
|
|
150
|
-
);
|
|
151
|
-
}),
|
|
152
|
-
rest.get("/frame.html", async (req, res, ctx) => {
|
|
153
|
-
const fileContent = await readFile(
|
|
154
|
-
path.join(
|
|
155
|
-
process.cwd(),
|
|
156
|
-
"node_modules/@elliemae/pui-app-bridge/dist/esm/frame.html"
|
|
157
|
-
),
|
|
158
|
-
"utf-8"
|
|
159
|
-
);
|
|
160
|
-
return res(
|
|
161
|
-
ctx.status(200),
|
|
162
|
-
ctx.set("Content-Type", "text/html"),
|
|
163
|
-
ctx.body(fileContent)
|
|
164
|
-
);
|
|
165
|
-
}),
|
|
166
|
-
rest.get("/loan/latest/index.js", async (req, res, ctx) => {
|
|
167
|
-
const newRes = await sendJS(res, ctx, "./loan/latest/index.js");
|
|
168
|
-
return newRes;
|
|
169
|
-
}),
|
|
170
|
-
// loan microapp handler
|
|
171
|
-
rest.get(
|
|
172
|
-
"/loan/latest/manifest.json",
|
|
173
|
-
(req, res, ctx) => res(ctx.json(loanAppManifest))
|
|
174
|
-
),
|
|
175
|
-
...getServerHandlers()
|
|
176
|
-
];
|
|
177
|
-
export {
|
|
178
|
-
getServerHandlers,
|
|
179
|
-
serverHandlers
|
|
180
|
-
};
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
const appId = "taskapp";
|
|
2
|
-
const appName = "Task App Dev";
|
|
3
|
-
const appElementId = `pui-app-container-${appId}`;
|
|
4
|
-
const pipelinePath = "/pipeline";
|
|
5
|
-
const pipelineLinkText = "Pipeline";
|
|
6
|
-
const getWindow = () => {
|
|
7
|
-
try {
|
|
8
|
-
window.parent.document;
|
|
9
|
-
return window.parent;
|
|
10
|
-
} catch (err) {
|
|
11
|
-
return window;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
let host = null;
|
|
15
|
-
let parentHistory = null;
|
|
16
|
-
let logger = null;
|
|
17
|
-
const browserWindow = getWindow();
|
|
18
|
-
browserWindow.__TEST__ = browserWindow.__TEST__ ?? {
|
|
19
|
-
logs: []
|
|
20
|
-
};
|
|
21
|
-
window.emui = window.emui || { uuid: crypto.randomUUID() };
|
|
22
|
-
window.emui.app = {
|
|
23
|
-
uuid: window.emui.uuid,
|
|
24
|
-
init: async (options) => {
|
|
25
|
-
browserWindow.__TEST__.logs.push(`${appId} initializing`);
|
|
26
|
-
host = options.host;
|
|
27
|
-
parentHistory = options.history;
|
|
28
|
-
logger = options.logger;
|
|
29
|
-
},
|
|
30
|
-
mount: async () => {
|
|
31
|
-
browserWindow.__TEST__.logs.push(`${appId} mounting`);
|
|
32
|
-
const appContainer = document.getElementById(appElementId);
|
|
33
|
-
if (appContainer) {
|
|
34
|
-
const mainElement = document.createElement("main");
|
|
35
|
-
appContainer.appendChild(mainElement);
|
|
36
|
-
const pageHeaderEle = document.createElement("h1");
|
|
37
|
-
pageHeaderEle.textContent = appName;
|
|
38
|
-
mainElement.appendChild(pageHeaderEle);
|
|
39
|
-
const contentEle = document.createElement("p");
|
|
40
|
-
contentEle.textContent = "Go to ";
|
|
41
|
-
mainElement.appendChild(contentEle);
|
|
42
|
-
const linkEle = document.createElement("a");
|
|
43
|
-
linkEle.href = "#";
|
|
44
|
-
linkEle.onclick = () => {
|
|
45
|
-
parentHistory?.push?.(pipelinePath);
|
|
46
|
-
};
|
|
47
|
-
linkEle.textContent = pipelineLinkText;
|
|
48
|
-
contentEle.appendChild(linkEle);
|
|
49
|
-
browserWindow.__TEST__.logs.push(`${appId} mounted`);
|
|
50
|
-
} else {
|
|
51
|
-
throw new Error(
|
|
52
|
-
`App container element with id ${appElementId} not found`
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
unmount: () => {
|
|
57
|
-
browserWindow.__TEST__.logs.push(`${appId} unmounting`);
|
|
58
|
-
const appContainer = document.getElementById(appElementId);
|
|
59
|
-
if (appContainer) {
|
|
60
|
-
appContainer.removeChild(appContainer.getElementsByTagName("main")[0]);
|
|
61
|
-
}
|
|
62
|
-
browserWindow.__TEST__.logs.push(`${appId} unmounted`);
|
|
63
|
-
return Promise.resolve();
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
browserWindow.emui?.registerApp?.({ appId, app: window.emui.app });
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
const appId = "taskapp";
|
|
2
|
-
const appName = "Task App";
|
|
3
|
-
const appElementId = `pui-app-container-${appId}`;
|
|
4
|
-
const pipelinePath = "/pipeline";
|
|
5
|
-
const pipelineLinkText = "Pipeline";
|
|
6
|
-
const getWindow = () => {
|
|
7
|
-
try {
|
|
8
|
-
window.parent.document;
|
|
9
|
-
return window.parent;
|
|
10
|
-
} catch (err) {
|
|
11
|
-
return window;
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
let host = null;
|
|
15
|
-
let parentHistory = null;
|
|
16
|
-
let logger = null;
|
|
17
|
-
const browserWindow = getWindow();
|
|
18
|
-
browserWindow.__TEST__ = browserWindow.__TEST__ ?? {
|
|
19
|
-
logs: []
|
|
20
|
-
};
|
|
21
|
-
window.emui = window.emui || { uuid: crypto.randomUUID() };
|
|
22
|
-
window.emui.app = {
|
|
23
|
-
uuid: window.emui.uuid,
|
|
24
|
-
init: async (options) => {
|
|
25
|
-
browserWindow.__TEST__.logs.push(`${appId} initializing`);
|
|
26
|
-
host = options.host;
|
|
27
|
-
parentHistory = options.history;
|
|
28
|
-
logger = options.logger;
|
|
29
|
-
},
|
|
30
|
-
mount: async () => {
|
|
31
|
-
browserWindow.__TEST__.logs.push(`${appId} mounting`);
|
|
32
|
-
const appContainer = document.getElementById(appElementId);
|
|
33
|
-
if (appContainer) {
|
|
34
|
-
const mainElement = document.createElement("main");
|
|
35
|
-
appContainer.appendChild(mainElement);
|
|
36
|
-
const pageHeaderEle = document.createElement("h1");
|
|
37
|
-
pageHeaderEle.textContent = appName;
|
|
38
|
-
mainElement.appendChild(pageHeaderEle);
|
|
39
|
-
const contentEle = document.createElement("p");
|
|
40
|
-
contentEle.textContent = "Go to ";
|
|
41
|
-
mainElement.appendChild(contentEle);
|
|
42
|
-
const linkEle = document.createElement("a");
|
|
43
|
-
linkEle.href = "#";
|
|
44
|
-
linkEle.onclick = () => {
|
|
45
|
-
parentHistory?.push?.(pipelinePath);
|
|
46
|
-
};
|
|
47
|
-
linkEle.textContent = pipelineLinkText;
|
|
48
|
-
contentEle.appendChild(linkEle);
|
|
49
|
-
browserWindow.__TEST__.logs.push(`${appId} mounted`);
|
|
50
|
-
} else {
|
|
51
|
-
throw new Error(
|
|
52
|
-
`App container element with id ${appElementId} not found`
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
unmount: () => {
|
|
57
|
-
browserWindow.__TEST__.logs.push(`${appId} unmounting`);
|
|
58
|
-
const appContainer = document.getElementById(appElementId);
|
|
59
|
-
if (appContainer) {
|
|
60
|
-
appContainer.removeChild(appContainer.getElementsByTagName("main")[0]);
|
|
61
|
-
}
|
|
62
|
-
browserWindow.__TEST__.logs.push(`${appId} unmounted`);
|
|
63
|
-
return Promise.resolve();
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
browserWindow.emui?.registerApp?.({ appId, app: window.emui.app });
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
const appId = "travelhub";
|
|
2
|
-
const appName = "Travel Hub";
|
|
3
|
-
const getWindow = () => {
|
|
4
|
-
try {
|
|
5
|
-
window.parent.document;
|
|
6
|
-
return window.parent;
|
|
7
|
-
} catch (err) {
|
|
8
|
-
return window;
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
const browserWindow = getWindow();
|
|
12
|
-
browserWindow.emui = browserWindow.emui || {};
|
|
13
|
-
browserWindow.emui[appId] = browserWindow.emui[appId] || {};
|
|
14
|
-
const mainElement = document.createElement("main");
|
|
15
|
-
mainElement.id = "travelhub";
|
|
16
|
-
const pageHeaderEle = document.createElement("h1");
|
|
17
|
-
pageHeaderEle.id = "header";
|
|
18
|
-
pageHeaderEle.textContent = appName;
|
|
19
|
-
mainElement.appendChild(pageHeaderEle);
|
|
20
|
-
const versionEle = document.createElement("p");
|
|
21
|
-
versionEle.id = "version";
|
|
22
|
-
versionEle.textContent = "Version: 23.1";
|
|
23
|
-
mainElement.appendChild(versionEle);
|
|
24
|
-
document.body.appendChild(mainElement);
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
(function() {
|
|
2
|
-
const appId = "travelhub";
|
|
3
|
-
const appName = "Travel Hub";
|
|
4
|
-
const getWindow = () => {
|
|
5
|
-
try {
|
|
6
|
-
window.parent.document;
|
|
7
|
-
return window.parent;
|
|
8
|
-
} catch (err) {
|
|
9
|
-
return window;
|
|
10
|
-
}
|
|
11
|
-
};
|
|
12
|
-
const browserWindow = getWindow();
|
|
13
|
-
browserWindow.emui = browserWindow.emui ?? {};
|
|
14
|
-
browserWindow.emui[appId] = browserWindow.emui[appId] ?? {};
|
|
15
|
-
browserWindow.__TEST__ = browserWindow.__TEST__ ?? {
|
|
16
|
-
logs: []
|
|
17
|
-
};
|
|
18
|
-
const mainElement = document.createElement("main");
|
|
19
|
-
mainElement.id = "travelhub";
|
|
20
|
-
const pageHeaderEle = document.createElement("h1");
|
|
21
|
-
pageHeaderEle.id = "header";
|
|
22
|
-
pageHeaderEle.textContent = appName;
|
|
23
|
-
mainElement.appendChild(pageHeaderEle);
|
|
24
|
-
const versionEle = document.createElement("p");
|
|
25
|
-
versionEle.id = "version";
|
|
26
|
-
versionEle.textContent = "Version: latest";
|
|
27
|
-
mainElement.appendChild(versionEle);
|
|
28
|
-
document.body.appendChild(mainElement);
|
|
29
|
-
})();
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { readFile } from "fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { logger as puiLogger, Console } from "@elliemae/pui-diagnostics";
|
|
4
|
-
const getMajorMinorVersion = (version) => version.split(".").slice(0, 2).join(".");
|
|
5
|
-
const sendJS = async (res, ctx, filePath) => {
|
|
6
|
-
const fileContent = await readFile(path.join(__dirname, filePath), "utf-8");
|
|
7
|
-
return res.once(
|
|
8
|
-
ctx.status(200),
|
|
9
|
-
ctx.set("Content-Type", "application/javascript"),
|
|
10
|
-
ctx.body(fileContent)
|
|
11
|
-
);
|
|
12
|
-
};
|
|
13
|
-
const sendJSText = async (res, ctx, fileContent) => res.once(
|
|
14
|
-
ctx.status(200),
|
|
15
|
-
ctx.set("Content-Type", "application/javascript"),
|
|
16
|
-
ctx.body(fileContent)
|
|
17
|
-
);
|
|
18
|
-
const releaseJSThread = () => new Promise((resolve) => {
|
|
19
|
-
setTimeout(resolve, 0);
|
|
20
|
-
});
|
|
21
|
-
const logger = puiLogger({
|
|
22
|
-
transport: Console(),
|
|
23
|
-
index: "microfe",
|
|
24
|
-
team: "ui platform",
|
|
25
|
-
appName: "MicroFE Tests"
|
|
26
|
-
});
|
|
27
|
-
export {
|
|
28
|
-
getMajorMinorVersion,
|
|
29
|
-
logger,
|
|
30
|
-
releaseJSThread,
|
|
31
|
-
sendJS,
|
|
32
|
-
sendJSText
|
|
33
|
-
};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { CAppBridge } from '@elliemae/pui-app-bridge';
|
|
2
|
-
import { ScriptingObjectTypes, Events } from '@elliemae/pui-scripting-object';
|
|
3
|
-
import type { ScriptingObjects, EventListeners } from '@elliemae/microfe-common';
|
|
4
|
-
export declare const getAppBridge: <AppObjects extends ScriptingObjects = Partial<ScriptingObjectTypes>, AppEvents extends EventListeners = Events>() => Promise<CAppBridge<Partial<ScriptingObjectTypes>, Events>>;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export type SSFMessage = {
|
|
2
|
-
data: {
|
|
3
|
-
requestId: number;
|
|
4
|
-
type: string;
|
|
5
|
-
body: {
|
|
6
|
-
eventFeedback: boolean;
|
|
7
|
-
objectId: string;
|
|
8
|
-
functionName: string;
|
|
9
|
-
functionParams?: Array<unknown>;
|
|
10
|
-
};
|
|
11
|
-
source: string;
|
|
12
|
-
};
|
|
13
|
-
};
|
|
14
|
-
type PostMessageOptions = {
|
|
15
|
-
srcWindow: Window;
|
|
16
|
-
targetWindow: Window;
|
|
17
|
-
message: any;
|
|
18
|
-
};
|
|
19
|
-
export declare const applicationScriptingObject: {
|
|
20
|
-
object: {
|
|
21
|
-
events: never[];
|
|
22
|
-
functions: string[];
|
|
23
|
-
objectId: string;
|
|
24
|
-
objectType: string;
|
|
25
|
-
};
|
|
26
|
-
type: string;
|
|
27
|
-
};
|
|
28
|
-
export declare const authScriptingObject: {
|
|
29
|
-
object: {
|
|
30
|
-
events: never[];
|
|
31
|
-
functions: string[];
|
|
32
|
-
objectId: string;
|
|
33
|
-
objectType: string;
|
|
34
|
-
};
|
|
35
|
-
type: string;
|
|
36
|
-
};
|
|
37
|
-
export declare const postMessage: ({ srcWindow, targetWindow, message, }: PostMessageOptions) => void;
|
|
38
|
-
export declare const setupHost: (hostWindow: Window) => () => void;
|
|
39
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { OpenAppParams } from '@elliemae/pui-app-bridge';
|
|
2
|
-
export type OnLoadCompleteFn = (instanceId: string) => void;
|
|
3
|
-
export type OnUnloadCompleteFn = () => void;
|
|
4
|
-
export type GuestMicroAppParams = OpenAppParams & {
|
|
5
|
-
onLoadComplete?: OnLoadCompleteFn;
|
|
6
|
-
onUnloadComplete?: OnUnloadCompleteFn;
|
|
7
|
-
containerId?: string;
|
|
8
|
-
};
|
|
9
|
-
/**
|
|
10
|
-
* Component to load a guest microapp
|
|
11
|
-
* @param props - The props for the MicroApp component.
|
|
12
|
-
*/
|
|
13
|
-
export declare const GuestMicroApp: import("react").NamedExoticComponent<GuestMicroAppParams>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const LATEST_VERSION = "latest";
|
|
2
|
-
export declare const RELEASE_VERSION = "23.1.0";
|
|
3
|
-
export declare const LOAN_APP_ID = "loanapp";
|
|
4
|
-
export declare const TASK_APP_ID = "taskapp";
|
|
5
|
-
export declare const FLIGHTS_APP_ID = "flights";
|
|
6
|
-
export declare const HOTELS_APP_ID = "hotels";
|
|
7
|
-
export declare const APP_CONFIG_JSON_URL = "/latest/app.config.json";
|
|
8
|
-
export declare const LOAN_SAVED_EVENT = "loanSaved";
|
|
9
|
-
export declare const PRE_COMMIT_EVENT = "preCommit";
|
|
10
|
-
export declare const FRAME_CONTAINER_ID_PREFIX = "pui-iframe-container-";
|
|
11
|
-
export declare const FRAME_APP_CONTAINER_ID_PREFIX = "pui-app-container-";
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
declare const appId: "loanapp";
|
|
2
|
-
declare const appName: "Loan App";
|
|
3
|
-
declare const appElementId: "pui-app-container-flights";
|
|
4
|
-
declare const pipelinePath: "/pipeline";
|
|
5
|
-
declare const pipelineLinkText: "Pipeline";
|
|
6
|
-
declare function getWindow(): Window<Partial<import("@elliemae/pui-scripting-object").ScriptingObjectTypes>, import("@elliemae/pui-scripting-object").Events> & typeof globalThis;
|
|
7
|
-
declare let host: null;
|
|
8
|
-
declare let parentHistory: null;
|
|
9
|
-
declare let logger: null;
|
|
10
|
-
declare const browserWindow: WindowProxy;
|
|
11
|
-
declare function setFrameSize(): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { IModule, Listener, Events, LogLevels, LogMessage } from '@elliemae/pui-scripting-object';
|
|
2
|
-
import { ScriptingObject, Event } from '@elliemae/microfe-common';
|
|
3
|
-
export type AppraisalServiceEvents = {
|
|
4
|
-
'appraisalservice.onprecommit': Listener<AppraisalService, {
|
|
5
|
-
loanId: string;
|
|
6
|
-
}, Record<string, unknown>, boolean>;
|
|
7
|
-
'appraisalservice.onsaved': Listener<AppraisalService, {
|
|
8
|
-
loanId: string;
|
|
9
|
-
}, Record<string, unknown>, void>;
|
|
10
|
-
};
|
|
11
|
-
export declare class AppraisalService extends ScriptingObject implements IModule {
|
|
12
|
-
#private;
|
|
13
|
-
Close: Event<Events>;
|
|
14
|
-
Unloading: Event<Events>;
|
|
15
|
-
onPreCommit: Event<AppraisalServiceEvents>;
|
|
16
|
-
onSaved: Event<AppraisalServiceEvents>;
|
|
17
|
-
constructor({ loanId, creditScore, }: {
|
|
18
|
-
loanId: string;
|
|
19
|
-
creditScore: number;
|
|
20
|
-
});
|
|
21
|
-
getCapabilities: () => Promise<{
|
|
22
|
-
isAdmin: boolean;
|
|
23
|
-
los: string;
|
|
24
|
-
}>;
|
|
25
|
-
getParameters: () => Promise<{
|
|
26
|
-
moduleId: string;
|
|
27
|
-
loanId: string;
|
|
28
|
-
creditScore: number;
|
|
29
|
-
}>;
|
|
30
|
-
setCreditScore: (creditScore: number) => Promise<void>;
|
|
31
|
-
saveLoan: () => Promise<void>;
|
|
32
|
-
commit: () => Promise<unknown>;
|
|
33
|
-
delete: () => never;
|
|
34
|
-
log: (message: string | LogMessage, level: keyof typeof LogLevels) => Promise<void>;
|
|
35
|
-
unload: () => Promise<void>;
|
|
36
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const UNLOADING_EVENT_NAME = "Unloading";
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Events, IGlobal } from '@elliemae/pui-scripting-object';
|
|
2
|
-
import { ScriptingObject, Event } from '@elliemae/microfe-common';
|
|
3
|
-
export declare class Global extends ScriptingObject implements IGlobal {
|
|
4
|
-
#private;
|
|
5
|
-
constructor();
|
|
6
|
-
readonly Change: Event<Events>;
|
|
7
|
-
set: (key: string, value: string) => Promise<void>;
|
|
8
|
-
get: (key: string) => Promise<string>;
|
|
9
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ILoan, Events, LoanObject, ActionResponse, LoanLevelActions, LoanCollection, LoanCollectionObject, ApplicationInfo, FieldOptions, FieldOptionsParam, CurrentApplicationOptions, EditModeOptions } from '@elliemae/pui-scripting-object';
|
|
2
|
-
import { ScriptingObject, Event, CAppBridge } from '@elliemae/pui-app-bridge';
|
|
3
|
-
export declare class Loan extends ScriptingObject implements ILoan {
|
|
4
|
-
#private;
|
|
5
|
-
constructor(appBridge: CAppBridge);
|
|
6
|
-
readonly ApplicationSelected: Event<Events>;
|
|
7
|
-
readonly Close: Event<Events>;
|
|
8
|
-
readonly Change: Event<Events>;
|
|
9
|
-
readonly Committed: Event<Events>;
|
|
10
|
-
readonly EditModeChange: Event<Events>;
|
|
11
|
-
readonly MilestoneCompleted: Event<Events>;
|
|
12
|
-
readonly Open: Event<Events>;
|
|
13
|
-
readonly PreCommit: Event<Events>;
|
|
14
|
-
readonly PreMilestoneComplete: Event<Events>;
|
|
15
|
-
readonly Sync: Event<Events>;
|
|
16
|
-
all: () => Promise<LoanObject>;
|
|
17
|
-
applyLock: (fieldId: string, lock: boolean) => Promise<void>;
|
|
18
|
-
calculate: () => Promise<LoanObject>;
|
|
19
|
-
commit: () => Promise<string>;
|
|
20
|
-
execAction: (type: LoanLevelActions, params?: Record<string, unknown>) => Promise<ActionResponse>;
|
|
21
|
-
getCollection: (name: LoanCollection) => Promise<LoanCollectionObject>;
|
|
22
|
-
getCurrentApplication: () => Promise<ApplicationInfo>;
|
|
23
|
-
getField: (id: string) => Promise<string>;
|
|
24
|
-
getFieldOptions: (param: FieldOptionsParam) => Promise<Record<string, FieldOptions[]>>;
|
|
25
|
-
getFields: (ids: string[]) => Promise<Record<string, string>>;
|
|
26
|
-
isReadOnly: () => Promise<boolean>;
|
|
27
|
-
merge: () => Promise<void>;
|
|
28
|
-
setCurrentApplication: (options: CurrentApplicationOptions) => Promise<void>;
|
|
29
|
-
setEditMode: (options: EditModeOptions) => Promise<void>;
|
|
30
|
-
setFields: (fields: Record<string, string>) => Promise<void>;
|
|
31
|
-
}
|