@next-core/runtime 1.1.1 → 1.2.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/index.js +9 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +3 -0
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/cjs/internal/Router.js +2 -1
- package/dist/cjs/internal/Router.js.map +1 -1
- package/dist/cjs/internal/compute/evaluate.js +1 -0
- package/dist/cjs/internal/compute/evaluate.js.map +1 -1
- package/dist/cjs/internal/insertPreviewRoutes.js +34 -0
- package/dist/cjs/internal/insertPreviewRoutes.js.map +1 -0
- package/dist/cjs/internal/interfaces.js.map +1 -1
- package/dist/cjs/internal/secret_internals.js +96 -3
- package/dist/cjs/internal/secret_internals.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +3 -0
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/esm/internal/Router.js +2 -1
- package/dist/esm/internal/Router.js.map +1 -1
- package/dist/esm/internal/compute/evaluate.js +3 -2
- package/dist/esm/internal/compute/evaluate.js.map +1 -1
- package/dist/esm/internal/insertPreviewRoutes.js +28 -0
- package/dist/esm/internal/insertPreviewRoutes.js.map +1 -0
- package/dist/esm/internal/interfaces.js.map +1 -1
- package/dist/esm/internal/secret_internals.js +88 -5
- package/dist/esm/internal/secret_internals.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/internal/insertPreviewRoutes.d.ts +2 -0
- package/dist/types/internal/interfaces.d.ts +1 -0
- package/dist/types/internal/secret_internals.d.ts +11 -1
- package/package.json +2 -2
|
@@ -5,11 +5,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.initializePreviewBootstrap = initializePreviewBootstrap;
|
|
7
7
|
exports.legacyDoTransform = legacyDoTransform;
|
|
8
|
+
exports.loadBricks = loadBricks;
|
|
8
9
|
exports.mountUseBrick = mountUseBrick;
|
|
9
10
|
exports.renderPreviewBricks = renderPreviewBricks;
|
|
10
11
|
exports.renderUseBrick = renderUseBrick;
|
|
11
12
|
exports.unmountUseBrick = unmountUseBrick;
|
|
13
|
+
exports.updateSnippetPreviewSettings = void 0;
|
|
14
|
+
exports.updateStoryboard = updateStoryboard;
|
|
15
|
+
exports.updateStoryboardByRoute = updateStoryboardByRoute;
|
|
16
|
+
exports.updateStoryboardBySnippet = updateStoryboardBySnippet;
|
|
17
|
+
exports.updateStoryboardByTemplate = updateStoryboardByTemplate;
|
|
18
|
+
exports.updateTemplatePreviewSettings = updateTemplatePreviewSettings;
|
|
12
19
|
var _loader = require("@next-core/loader");
|
|
20
|
+
var _lodash = require("lodash");
|
|
13
21
|
var _Runtime = require("./Runtime.js");
|
|
14
22
|
var _Renderer = require("./Renderer.js");
|
|
15
23
|
var _RendererContext = require("./RendererContext.js");
|
|
@@ -19,14 +27,18 @@ var _themeAndMode = require("../themeAndMode.js");
|
|
|
19
27
|
var _enums = require("./enums.js");
|
|
20
28
|
var _computeRealValue = require("./compute/computeRealValue.js");
|
|
21
29
|
var _isStrictMode = require("../isStrictMode.js");
|
|
30
|
+
var _CustomTemplates = require("../CustomTemplates.js");
|
|
31
|
+
var _registerAppI18n = require("./registerAppI18n.js");
|
|
22
32
|
async function renderUseBrick(useBrick, data) {
|
|
23
|
-
var _output$node;
|
|
33
|
+
var _runtimeContext$tplSt, _output$node;
|
|
34
|
+
const tplStateStoreScope = [];
|
|
24
35
|
const runtimeContext = {
|
|
25
36
|
...(0, _Runtime._internalApiGetRuntimeContext)(),
|
|
26
37
|
data,
|
|
27
38
|
pendingPermissionsPreCheck: [],
|
|
28
|
-
|
|
39
|
+
tplStateStoreScope
|
|
29
40
|
};
|
|
41
|
+
(_runtimeContext$tplSt = runtimeContext.tplStateStoreMap) !== null && _runtimeContext$tplSt !== void 0 ? _runtimeContext$tplSt : runtimeContext.tplStateStoreMap = new Map();
|
|
30
42
|
const rendererContext = new _RendererContext.RendererContext("useBrick");
|
|
31
43
|
const renderRoot = {
|
|
32
44
|
tag: _enums.RenderTag.ROOT,
|
|
@@ -46,7 +58,9 @@ async function renderUseBrick(useBrick, data) {
|
|
|
46
58
|
}
|
|
47
59
|
}, runtimeContext, rendererContext);
|
|
48
60
|
(0, _loader.flushStableLoadBricks)();
|
|
49
|
-
await Promise.all([...output.blockingList,
|
|
61
|
+
await Promise.all([...output.blockingList,
|
|
62
|
+
// Wait for local tpl state stores belong to current `useBrick` only.
|
|
63
|
+
...tplStateStoreScope.map(store => store.waitForAll()), ...runtimeContext.pendingPermissionsPreCheck]);
|
|
50
64
|
if ((_output$node = output.node) !== null && _output$node !== void 0 && _output$node.portal) {
|
|
51
65
|
throw new Error("The root brick of useBrick cannot be a portal brick");
|
|
52
66
|
}
|
|
@@ -166,4 +180,83 @@ function legacyDoTransform(data, to, options) {
|
|
|
166
180
|
noInject: true
|
|
167
181
|
});
|
|
168
182
|
}
|
|
183
|
+
|
|
184
|
+
// istanbul ignore next
|
|
185
|
+
function loadBricks(bricks) {
|
|
186
|
+
return (0, _loader.loadBricksImperatively)(bricks, (0, _Runtime.getBrickPackages)());
|
|
187
|
+
}
|
|
188
|
+
function updateStoryboard(appId, storyboardPatch) {
|
|
189
|
+
const storyboard = (0, _Runtime._internalApiGetStoryboardInBootstrapData)(appId);
|
|
190
|
+
Object.assign(storyboard, {
|
|
191
|
+
...storyboardPatch,
|
|
192
|
+
$$fulfilling: null,
|
|
193
|
+
$$fulfilled: true,
|
|
194
|
+
$$registerCustomTemplateProcessed: false
|
|
195
|
+
});
|
|
196
|
+
(0, _registerAppI18n.registerAppI18n)(storyboard);
|
|
197
|
+
}
|
|
198
|
+
function updateStoryboardByRoute(appId, newRoute) {
|
|
199
|
+
const storyboard = (0, _Runtime._internalApiGetStoryboardInBootstrapData)(appId);
|
|
200
|
+
let match = false;
|
|
201
|
+
const getKey = route => `${route.path}.${route.exact}`;
|
|
202
|
+
const replaceRoute = (routes, key) => {
|
|
203
|
+
return routes.map(route => {
|
|
204
|
+
const routeKey = getKey(route);
|
|
205
|
+
if (route.type === "routes") {
|
|
206
|
+
route.routes = replaceRoute(route.routes, key);
|
|
207
|
+
return route;
|
|
208
|
+
} else if (routeKey === key) {
|
|
209
|
+
match = true;
|
|
210
|
+
return newRoute;
|
|
211
|
+
} else {
|
|
212
|
+
return route;
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
};
|
|
216
|
+
storyboard.routes = replaceRoute(storyboard.routes, getKey(newRoute));
|
|
217
|
+
if (!match) {
|
|
218
|
+
storyboard.routes.unshift(newRoute);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
function updateStoryboardByTemplate(appId, newTemplate, settings) {
|
|
222
|
+
const tplName = `${appId}.${newTemplate.name}`;
|
|
223
|
+
// customTemplateRegistry.delete(tplName);
|
|
224
|
+
_CustomTemplates.customTemplates.define(tplName, {
|
|
225
|
+
bricks: newTemplate.bricks,
|
|
226
|
+
proxy: newTemplate.proxy,
|
|
227
|
+
state: newTemplate.state
|
|
228
|
+
});
|
|
229
|
+
updateTemplatePreviewSettings(appId, newTemplate.name, settings);
|
|
230
|
+
}
|
|
231
|
+
function updateTemplatePreviewSettings(appId, templateId, settings) {
|
|
232
|
+
_updatePreviewSettings(appId, `\${APP.homepage}/_dev_only_/template-preview/${templateId}`, [{
|
|
233
|
+
brick: templateId,
|
|
234
|
+
...(0, _lodash.pick)(settings, "properties", "events", "lifeCycle", "context")
|
|
235
|
+
}]);
|
|
236
|
+
}
|
|
237
|
+
function updateStoryboardBySnippet(appId, snippetData) {
|
|
238
|
+
var _snippetData$bricks;
|
|
239
|
+
_updatePreviewSettings(appId, `\${APP.homepage}/_dev_only_/snippet-preview/${snippetData.snippetId}`, (_snippetData$bricks = snippetData.bricks) !== null && _snippetData$bricks !== void 0 && _snippetData$bricks.length ? snippetData.bricks : [{
|
|
240
|
+
brick: "span"
|
|
241
|
+
}]);
|
|
242
|
+
}
|
|
243
|
+
const updateSnippetPreviewSettings = updateStoryboardBySnippet;
|
|
244
|
+
exports.updateSnippetPreviewSettings = updateSnippetPreviewSettings;
|
|
245
|
+
function _updatePreviewSettings(appId, path, bricks) {
|
|
246
|
+
const {
|
|
247
|
+
routes
|
|
248
|
+
} = (0, _Runtime._internalApiGetStoryboardInBootstrapData)(appId);
|
|
249
|
+
const previewRouteIndex = routes.findIndex(route => route.path === path);
|
|
250
|
+
const newPreviewRoute = {
|
|
251
|
+
path,
|
|
252
|
+
bricks,
|
|
253
|
+
menu: false,
|
|
254
|
+
exact: true
|
|
255
|
+
};
|
|
256
|
+
if (previewRouteIndex === -1) {
|
|
257
|
+
routes.unshift(newPreviewRoute);
|
|
258
|
+
} else {
|
|
259
|
+
routes.splice(previewRouteIndex, 1, newPreviewRoute);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
169
262
|
//# sourceMappingURL=secret_internals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret_internals.js","names":["_loader","require","_Runtime","_Renderer","_RendererContext","_mount","_handleHttpError","_themeAndMode","_enums","_computeRealValue","_isStrictMode","renderUseBrick","useBrick","data","_output$node","runtimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","flushStableLoadBricks","Promise","all","blockingList","values","map","store","waitForAll","node","portal","Error","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","_rendererContext","initializePreviewBootstrap","bootstrapData","_internalApiSetBootstrapData","renderPreviewBricks","bricks","mountPoints","options","previousRendererContext","container","main","failed","renderBricks","push","error","BRICK","textContent","httpErrorToString","return","menuRequests","sandbox","_options$theme","setTheme","theme","setMode","dispatchBeforePageLoad","applyTheme","applyMode","window","scrollTo","dispatchPageLoad","legacyDoTransform","to","computeRealValue","noInject"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BootstrapData,\n BrickConf,\n SiteTheme,\n UseSingleBrickConf,\n} from \"@next-core/types\";\nimport { flushStableLoadBricks } from \"@next-core/loader\";\nimport {\n _internalApiGetRuntimeContext,\n _internalApiSetBootstrapData,\n} from \"./Runtime.js\";\nimport { RenderOutput, renderBrick, renderBricks } from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type { RenderRoot, RuntimeContext } from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { httpErrorToString } from \"../handleHttpError.js\";\nimport { applyMode, applyTheme, setMode, setTheme } from \"../themeAndMode.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n}\n\nexport async function renderUseBrick(\n useBrick: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const runtimeContext: RuntimeContext = {\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n };\n\n const rendererContext = new RendererContext(\"useBrick\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const transform = (useBrick as { transform?: Record<string, unknown> })\n .transform;\n const strict = isStrictMode();\n if (transform) {\n warnAboutStrictMode(\n strict,\n \"`useBrick.transform`\",\n 'please use \"properties\" instead, check your useBrick:',\n useBrick\n );\n }\n\n const output = await renderBrick(\n renderRoot,\n strict\n ? useBrick\n : {\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n runtimeContext,\n rendererContext\n );\n\n flushStableLoadBricks();\n\n await Promise.all([\n ...output.blockingList,\n ...[...runtimeContext.tplStateStoreMap.values()].map((store) =>\n store.waitForAll()\n ),\n ...runtimeContext.pendingPermissionsPreCheck,\n ]);\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\nlet _rendererContext: RendererContext;\n\nexport function initializePreviewBootstrap(\n bootstrapData: Partial<BootstrapData>\n) {\n _internalApiSetBootstrapData(bootstrapData);\n}\n\nexport async function renderPreviewBricks(\n bricks: BrickConf[],\n mountPoints: {\n main: HTMLElement;\n portal: HTMLElement;\n },\n options: {\n sandbox?: boolean;\n theme?: SiteTheme;\n } = {}\n) {\n const runtimeContext = {\n pendingPermissionsPreCheck: [],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n } as Partial<RuntimeContext> as RuntimeContext;\n\n const previousRendererContext = _rendererContext;\n const rendererContext = (_rendererContext = new RendererContext(\"router\"));\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: mountPoints.main,\n createPortal: mountPoints.portal,\n };\n\n let failed = false;\n let output: RenderOutput;\n try {\n output = await renderBricks(\n renderRoot,\n bricks,\n runtimeContext,\n rendererContext\n );\n\n output.blockingList.push(\n ...[...runtimeContext.tplStateStoreMap.values()].map((store) =>\n store.waitForAll()\n ),\n ...runtimeContext.pendingPermissionsPreCheck\n );\n\n flushStableLoadBricks();\n\n await Promise.all(output.blockingList);\n } catch (error) {\n failed = true;\n output = {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n return: renderRoot,\n runtimeContext: null!,\n },\n blockingList: [],\n menuRequests: [],\n };\n }\n\n renderRoot.child = output.node;\n\n previousRendererContext?.dispose();\n unmountTree(mountPoints.main);\n unmountTree(mountPoints.portal);\n\n if (options.sandbox) {\n setTheme(options.theme ?? \"light\");\n setMode(\"default\");\n\n if (!failed) {\n rendererContext.dispatchBeforePageLoad();\n }\n\n applyTheme();\n applyMode();\n }\n\n mountTree(renderRoot);\n\n if (options.sandbox) {\n window.scrollTo(0, 0);\n }\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n // rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n }\n}\n\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"secret_internals.js","names":["_loader","require","_lodash","_Runtime","_Renderer","_RendererContext","_mount","_handleHttpError","_themeAndMode","_enums","_computeRealValue","_isStrictMode","_CustomTemplates","_registerAppI18n","renderUseBrick","useBrick","data","_runtimeContext$tplSt","_output$node","tplStateStoreScope","runtimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","flushStableLoadBricks","Promise","all","blockingList","map","store","waitForAll","node","portal","Error","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","_rendererContext","initializePreviewBootstrap","bootstrapData","_internalApiSetBootstrapData","renderPreviewBricks","bricks","mountPoints","options","previousRendererContext","container","main","failed","renderBricks","push","values","error","BRICK","textContent","httpErrorToString","return","menuRequests","sandbox","_options$theme","setTheme","theme","setMode","dispatchBeforePageLoad","applyTheme","applyMode","window","scrollTo","dispatchPageLoad","legacyDoTransform","to","computeRealValue","noInject","loadBricks","loadBricksImperatively","getBrickPackages","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","pick","updateStoryboardBySnippet","snippetData","_snippetData$bricks","snippetId","length","updateSnippetPreviewSettings","exports","previewRouteIndex","findIndex","newPreviewRoute","menu","splice"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BootstrapData,\n BrickConf,\n CustomTemplate,\n RouteConf,\n SiteTheme,\n Storyboard,\n UseSingleBrickConf,\n} from \"@next-core/types\";\nimport {\n flushStableLoadBricks,\n loadBricksImperatively,\n} from \"@next-core/loader\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n _internalApiSetBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport { RenderOutput, renderBrick, renderBricks } from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type { RenderRoot, RuntimeContext } from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { httpErrorToString } from \"../handleHttpError.js\";\nimport { applyMode, applyTheme, setMode, setTheme } from \"../themeAndMode.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { isStrictMode, warnAboutStrictMode } from \"../isStrictMode.js\";\nimport { customTemplates } from \"../CustomTemplates.js\";\nimport { registerAppI18n } from \"./registerAppI18n.js\";\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n}\n\nexport async function renderUseBrick(\n useBrick: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const tplStateStoreScope: DataStore<\"STATE\">[] = [];\n const runtimeContext: RuntimeContext = {\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n tplStateStoreScope,\n };\n\n runtimeContext.tplStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"useBrick\");\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n // Will set during `mountUseBrick`\n createPortal: null!,\n };\n\n const transform = (useBrick as { transform?: Record<string, unknown> })\n .transform;\n const strict = isStrictMode();\n if (transform) {\n warnAboutStrictMode(\n strict,\n \"`useBrick.transform`\",\n 'please use \"properties\" instead, check your useBrick:',\n useBrick\n );\n }\n\n const output = await renderBrick(\n renderRoot,\n strict\n ? useBrick\n : {\n ...useBrick,\n properties: {\n ...useBrick.properties,\n ...transform,\n },\n },\n runtimeContext,\n rendererContext\n );\n\n flushStableLoadBricks();\n\n await Promise.all([\n ...output.blockingList,\n // Wait for local tpl state stores belong to current `useBrick` only.\n ...tplStateStoreScope.map((store) => store.waitForAll()),\n ...runtimeContext.pendingPermissionsPreCheck,\n ]);\n\n if (output.node?.portal) {\n throw new Error(\"The root brick of useBrick cannot be a portal brick\");\n }\n\n renderRoot.child = output.node;\n\n const tagName = output.node ? output.node.type : null;\n\n return { tagName, renderRoot, rendererContext };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext }: RenderUseBrickResult,\n element: HTMLElement\n): MountUseBrickResult {\n let portal: HTMLElement | undefined;\n renderRoot.createPortal = () => {\n const portalRoot = document.querySelector(\n \"#portal-mount-point\"\n ) as HTMLElement;\n portal = document.createElement(\"div\");\n portalRoot.appendChild(portal);\n return portal;\n };\n\n mountTree(renderRoot, element);\n\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n\n return {\n portal,\n };\n}\n\nexport function unmountUseBrick(\n { rendererContext }: RenderUseBrickResult,\n mountResult: MountUseBrickResult\n): void {\n // if (mountResult.mainBrick) {\n // mountResult.mainBrick.unmount();\n // }\n if (mountResult.portal) {\n unmountTree(mountResult.portal);\n mountResult.portal.remove();\n }\n rendererContext.dispatchOnUnmount();\n rendererContext.dispose();\n}\n\nlet _rendererContext: RendererContext;\n\nexport function initializePreviewBootstrap(\n bootstrapData: Partial<BootstrapData>\n) {\n _internalApiSetBootstrapData(bootstrapData);\n}\n\nexport async function renderPreviewBricks(\n bricks: BrickConf[],\n mountPoints: {\n main: HTMLElement;\n portal: HTMLElement;\n },\n options: {\n sandbox?: boolean;\n theme?: SiteTheme;\n } = {}\n) {\n const runtimeContext = {\n pendingPermissionsPreCheck: [],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n } as Partial<RuntimeContext> as RuntimeContext;\n\n const previousRendererContext = _rendererContext;\n const rendererContext = (_rendererContext = new RendererContext(\"router\"));\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: mountPoints.main,\n createPortal: mountPoints.portal,\n };\n\n let failed = false;\n let output: RenderOutput;\n try {\n output = await renderBricks(\n renderRoot,\n bricks,\n runtimeContext,\n rendererContext\n );\n\n output.blockingList.push(\n ...[...runtimeContext.tplStateStoreMap.values()].map((store) =>\n store.waitForAll()\n ),\n ...runtimeContext.pendingPermissionsPreCheck\n );\n\n flushStableLoadBricks();\n\n await Promise.all(output.blockingList);\n } catch (error) {\n failed = true;\n output = {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n return: renderRoot,\n runtimeContext: null!,\n },\n blockingList: [],\n menuRequests: [],\n };\n }\n\n renderRoot.child = output.node;\n\n previousRendererContext?.dispose();\n unmountTree(mountPoints.main);\n unmountTree(mountPoints.portal);\n\n if (options.sandbox) {\n setTheme(options.theme ?? \"light\");\n setMode(\"default\");\n\n if (!failed) {\n rendererContext.dispatchBeforePageLoad();\n }\n\n applyTheme();\n applyMode();\n }\n\n mountTree(renderRoot);\n\n if (options.sandbox) {\n window.scrollTo(0, 0);\n }\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n // rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n }\n}\n\nexport function legacyDoTransform(\n data: unknown,\n to: unknown,\n options?: unknown\n) {\n if (options) {\n throw new Error(\"Legacy doTransform does not support options in v3\");\n }\n return computeRealValue(\n to,\n {\n ..._internalApiGetRuntimeContext()!,\n data,\n },\n {\n noInject: true,\n }\n );\n}\n\n// istanbul ignore next\nexport function loadBricks(bricks: string[] | Set<string>) {\n return loadBricksImperatively(bricks, getBrickPackages());\n}\n\nexport function updateStoryboard(\n appId: string,\n storyboardPatch: Partial<Storyboard>\n): void {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n Object.assign(storyboard, {\n ...storyboardPatch,\n $$fulfilling: null,\n $$fulfilled: true,\n $$registerCustomTemplateProcessed: false,\n });\n registerAppI18n(storyboard);\n}\n\nexport function updateStoryboardByRoute(appId: string, newRoute: RouteConf) {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n let match = false;\n const getKey = (route: RouteConf): string => `${route.path}.${route.exact}`;\n const replaceRoute = (routes: RouteConf[], key: string): RouteConf[] => {\n return routes.map((route) => {\n const routeKey = getKey(route);\n if (route.type === \"routes\") {\n route.routes = replaceRoute(route.routes, key);\n return route;\n } else if (routeKey === key) {\n match = true;\n return newRoute;\n } else {\n return route;\n }\n });\n };\n storyboard.routes = replaceRoute(storyboard.routes, getKey(newRoute));\n if (!match) {\n storyboard.routes.unshift(newRoute);\n }\n}\n\nexport function updateStoryboardByTemplate(\n appId: string,\n newTemplate: CustomTemplate,\n settings: unknown\n): void {\n const tplName = `${appId}.${newTemplate.name}`;\n // customTemplateRegistry.delete(tplName);\n customTemplates.define(tplName, {\n bricks: newTemplate.bricks,\n proxy: newTemplate.proxy,\n state: newTemplate.state,\n });\n updateTemplatePreviewSettings(appId, newTemplate.name, settings);\n}\n\nexport function updateTemplatePreviewSettings(\n appId: string,\n templateId: string,\n settings?: unknown\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/template-preview/${templateId}`,\n [\n {\n brick: templateId,\n ...pick(settings, \"properties\", \"events\", \"lifeCycle\", \"context\"),\n },\n ]\n );\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetData.snippetId}`,\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }]\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n menu: false,\n exact: true,\n };\n if (previewRouteIndex === -1) {\n routes.unshift(newPreviewRoute);\n } else {\n routes.splice(previewRouteIndex, 1, newPreviewRoute);\n }\n}\n"],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -14,4 +14,5 @@ export { checkIfOfComputed, checkIfByTransform } from "./internal/compute/checkI
|
|
|
14
14
|
export { registerWidgetFunctions } from "./internal/compute/WidgetFunctions.js";
|
|
15
15
|
export { registerWidgetI18n } from "./internal/compute/WidgetI18n.js";
|
|
16
16
|
export { StoryboardFunctionRegistryFactory } from "./StoryboardFunctionRegistry.js";
|
|
17
|
+
export { matchPath } from "./internal/matchPath.js";
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["createRuntime","getRuntime","_secret_internals","__secret_internals","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport { createRuntime, getRuntime } from \"./internal/Runtime.js\";\nexport * as __secret_internals from \"./internal/secret_internals.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,SAASA,aAAa,EAAEC,UAAU,QAAQ,uBAAuB;AAAC,YAAAC,iBAAA,MAC9B,gCAAgC;AAAA,SAAAA,iBAAA,IAAxDC,kBAAkB;AAC9B,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["createRuntime","getRuntime","_secret_internals","__secret_internals","getCssPropertyValue","getCurrentTheme","getCurrentMode","batchSetAppsLocalTheme","applyTheme","checkIfOfComputed","checkIfByTransform","registerWidgetFunctions","registerWidgetI18n","StoryboardFunctionRegistryFactory","matchPath"],"sources":["../../src/index.ts"],"sourcesContent":["export * from \"./auth.js\";\nexport * from \"./CustomProcessors.js\";\nexport * from \"./CustomTemplates.js\";\nexport * from \"./fetchByProvider.js\";\nexport * from \"./getBasePath.js\";\nexport * from \"./getPageInfo.js\";\nexport * from \"./handleHttpError.js\";\nexport * from \"./history.js\";\nexport { createRuntime, getRuntime } from \"./internal/Runtime.js\";\nexport * as __secret_internals from \"./internal/secret_internals.js\";\nexport {\n getCssPropertyValue,\n getCurrentTheme,\n getCurrentMode,\n batchSetAppsLocalTheme,\n applyTheme,\n} from \"./themeAndMode.js\";\nexport {\n checkIfOfComputed,\n checkIfByTransform,\n} from \"./internal/compute/checkIf.js\";\nexport { registerWidgetFunctions } from \"./internal/compute/WidgetFunctions.js\";\nexport { registerWidgetI18n } from \"./internal/compute/WidgetI18n.js\";\nexport { StoryboardFunctionRegistryFactory } from \"./StoryboardFunctionRegistry.js\";\nexport { matchPath } from \"./internal/matchPath.js\";\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,sBAAsB;AACpC,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,sBAAsB;AACpC,cAAc,cAAc;AAC5B,SAASA,aAAa,EAAEC,UAAU,QAAQ,uBAAuB;AAAC,YAAAC,iBAAA,MAC9B,gCAAgC;AAAA,SAAAA,iBAAA,IAAxDC,kBAAkB;AAC9B,SACEC,mBAAmB,EACnBC,eAAe,EACfC,cAAc,EACdC,sBAAsB,EACtBC,UAAU,QACL,mBAAmB;AAC1B,SACEC,iBAAiB,EACjBC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,uBAAuB,QAAQ,uCAAuC;AAC/E,SAASC,kBAAkB,QAAQ,kCAAkC;AACrE,SAASC,iCAAiC,QAAQ,iCAAiC;AACnF,SAASC,SAAS,QAAQ,yBAAyB"}
|
|
@@ -19,6 +19,9 @@ export function expandCustomTemplate(tplTagName, brickConf, hostBrick, asyncHost
|
|
|
19
19
|
delete runtimeContext.forEachItem;
|
|
20
20
|
var tplStateStore = new DataStore("STATE", hostBrick);
|
|
21
21
|
runtimeContext.tplStateStoreMap.set(tplStateStoreId, tplStateStore);
|
|
22
|
+
if (runtimeContext.tplStateStoreScope) {
|
|
23
|
+
runtimeContext.tplStateStoreScope.push(tplStateStore);
|
|
24
|
+
}
|
|
22
25
|
var {
|
|
23
26
|
bricks,
|
|
24
27
|
proxy,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expandCustomTemplate.js","names":["uniqueId","customTemplates","DataStore","setupTemplateProxy","setupUseBrickInTemplate","childrenToSlots","collectWidgetContract","expandCustomTemplate","tplTagName","brickConf","hostBrick","asyncHostProperties","tplStateStoreId","runtimeContext","_objectSpread","forEachItem","tplStateStore","tplStateStoreMap","set","bricks","proxy","state","contracts","get","define","slots","originalExternalSlots","children","externalChildren","restBrickConf","_objectWithoutProperties","_excluded","newBrickConf","brick","tplHostMetadata","internalBricksByRef","Map","reversedProxies","properties","from","to","Object","entries","proxies","ref","
|
|
1
|
+
{"version":3,"file":"expandCustomTemplate.js","names":["uniqueId","customTemplates","DataStore","setupTemplateProxy","setupUseBrickInTemplate","childrenToSlots","collectWidgetContract","expandCustomTemplate","tplTagName","brickConf","hostBrick","asyncHostProperties","tplStateStoreId","runtimeContext","_objectSpread","forEachItem","tplStateStore","tplStateStoreMap","set","tplStateStoreScope","push","bricks","proxy","state","contracts","get","define","slots","originalExternalSlots","children","externalChildren","restBrickConf","_objectWithoutProperties","_excluded","newBrickConf","brick","tplHostMetadata","internalBricksByRef","Map","reversedProxies","properties","from","to","Object","entries","proxies","ref","hostContext","externalSlots","type","map","item","expandBrickInTemplate","brickConfInTemplate","if","slotsInTemplate","childrenInTemplate","restBrickConfInTemplate","_excluded2","transpiledSlots","fromEntries","_ref","_slotConf$bricks","slotName","slotConf"],"sources":["../../../../src/internal/CustomTemplates/expandCustomTemplate.ts"],"sourcesContent":["import type {\n BrickConf,\n BrickConfInTemplate,\n SlotsConfInTemplate,\n SlotsConfOfBricks,\n UseSingleBrickConf,\n} from \"@next-core/types\";\nimport { uniqueId } from \"lodash\";\nimport { customTemplates } from \"../../CustomTemplates.js\";\nimport { DataStore } from \"../data/DataStore.js\";\nimport { RuntimeBrickConfWithTplSymbols } from \"./constants.js\";\nimport { setupTemplateProxy } from \"./setupTemplateProxy.js\";\nimport type {\n AsyncProperties,\n RuntimeBrick,\n TemplateHostBrick,\n TemplateHostContext,\n} from \"../interfaces.js\";\nimport { setupUseBrickInTemplate } from \"./setupUseBrickInTemplate.js\";\nimport { childrenToSlots } from \"../Renderer.js\";\nimport { collectWidgetContract } from \"../data/CollectContracts.js\";\n\nexport function expandCustomTemplate<T extends BrickConf | UseSingleBrickConf>(\n tplTagName: string,\n brickConf: T,\n hostBrick: RuntimeBrick,\n asyncHostProperties: AsyncProperties | undefined\n): T {\n const tplStateStoreId = uniqueId(\"tpl-state-\");\n const runtimeContext = {\n ...hostBrick.runtimeContext,\n tplStateStoreId,\n };\n\n // There is a boundary for `forEachItem` between template internals and externals.\n delete runtimeContext.forEachItem;\n\n const tplStateStore = new DataStore(\"STATE\", hostBrick);\n runtimeContext.tplStateStoreMap.set(tplStateStoreId, tplStateStore);\n if (runtimeContext.tplStateStoreScope) {\n runtimeContext.tplStateStoreScope.push(tplStateStore);\n }\n\n const { bricks, proxy, state, contracts } = customTemplates.get(tplTagName)!;\n collectWidgetContract(contracts);\n tplStateStore.define(state, runtimeContext, asyncHostProperties);\n\n const {\n slots: originalExternalSlots,\n children: externalChildren,\n ...restBrickConf\n } = brickConf;\n\n const newBrickConf = {\n ...restBrickConf,\n brick: tplTagName,\n } as T;\n\n hostBrick.tplHostMetadata = {\n internalBricksByRef: new Map(),\n tplStateStoreId,\n proxy,\n };\n\n // Reversed proxies are used for expand storyboard before rendering page.\n const reversedProxies: TemplateHostContext[\"reversedProxies\"] = {\n properties: new Map(),\n slots: new Map(),\n // mergeBases: new Map(),\n };\n\n if (proxy?.properties) {\n for (const [from, to] of Object.entries(proxy.properties)) {\n let proxies = reversedProxies.properties.get(to.ref);\n if (!proxies) {\n proxies = [];\n reversedProxies.properties.set(to.ref, proxies);\n }\n proxies.push({\n from,\n to,\n });\n }\n }\n\n if (proxy?.slots) {\n for (const [from, to] of Object.entries(proxy.slots)) {\n let proxies = reversedProxies.slots.get(to.ref);\n if (!proxies) {\n proxies = [];\n reversedProxies.slots.set(to.ref, proxies);\n }\n proxies.push({\n from,\n to,\n });\n }\n }\n\n const hostContext: TemplateHostContext = {\n reversedProxies,\n asyncHostProperties,\n externalSlots: childrenToSlots(externalChildren, originalExternalSlots) as\n | SlotsConfOfBricks\n | undefined,\n tplStateStoreId,\n hostBrick: hostBrick as TemplateHostBrick,\n };\n\n newBrickConf.slots = {\n \"\": {\n type: \"bricks\",\n bricks: bricks.map((item) => expandBrickInTemplate(item, hostContext)),\n },\n };\n\n return newBrickConf;\n}\n\nfunction expandBrickInTemplate(\n brickConfInTemplate: BrickConfInTemplate,\n hostContext: TemplateHostContext\n): RuntimeBrickConfWithTplSymbols {\n // Ignore `if: null` to make `looseCheckIf` working.\n if (brickConfInTemplate.if === null) {\n delete brickConfInTemplate.if;\n }\n const {\n properties,\n slots: slotsInTemplate,\n children: childrenInTemplate,\n ...restBrickConfInTemplate\n } = brickConfInTemplate;\n\n const transpiledSlots = childrenToSlots(\n childrenInTemplate,\n slotsInTemplate\n ) as SlotsConfInTemplate | undefined;\n\n const slots: SlotsConfOfBricks = Object.fromEntries(\n Object.entries(transpiledSlots ?? {}).map(([slotName, slotConf]) => [\n slotName,\n {\n type: \"bricks\",\n bricks: (slotConf.bricks ?? []).map((item) =>\n expandBrickInTemplate(item, hostContext)\n ),\n },\n ])\n );\n\n return {\n ...restBrickConfInTemplate,\n properties: setupUseBrickInTemplate(properties, hostContext),\n slots,\n ...setupTemplateProxy(hostContext, restBrickConfInTemplate.ref, slots),\n };\n}\n"],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ import { clearCollectWidgetContract, collectContract } from "./data/CollectContr
|
|
|
30
30
|
import { fulfilStoryboard } from "./loadBootstrapData.js";
|
|
31
31
|
import { RenderTag } from "./enums.js";
|
|
32
32
|
import { preCheckInstalledApps } from "./checkInstalledApps.js";
|
|
33
|
+
import { insertPreviewRoutes } from "./insertPreviewRoutes.js";
|
|
33
34
|
var _storyboards = /*#__PURE__*/new WeakMap();
|
|
34
35
|
var _rendering = /*#__PURE__*/new WeakMap();
|
|
35
36
|
var _prevLocation = /*#__PURE__*/new WeakMap();
|
|
@@ -329,7 +330,7 @@ function _render3() {
|
|
|
329
330
|
var failed = false;
|
|
330
331
|
var output;
|
|
331
332
|
try {
|
|
332
|
-
output = yield renderRoutes(renderRoot, storyboard.routes, runtimeContext, rendererContext);
|
|
333
|
+
output = yield renderRoutes(renderRoot, insertPreviewRoutes(storyboard.routes), runtimeContext, rendererContext);
|
|
333
334
|
if (output.unauthenticated) {
|
|
334
335
|
redirectToLogin();
|
|
335
336
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","names":["locationsAreEqual","flushStableLoadBricks","HttpAbortError","uniqueId","getHistory","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","preCheckPermissions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","getRuntime","getAuth","isLoggedIn","getPageInfo","resetAllComputedMarks","handleHttpError","httpErrorToString","isUnauthenticatedError","abortPendingRequest","initAbortController","registerCustomTemplates","clearCollectWidgetContract","collectContract","fulfilStoryboard","RenderTag","preCheckInstalledApps","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_safeRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_classPrivateMethodGet","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","listen","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet3","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","dispatchPageLeave","storyboard","pathname","reload","_queuedRender2","catch","detail","_classPrivateFieldGet4","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","concat","search","process","env","NODE_ENV","console","error","Error","replace","_x","_queuedRender3","apply","arguments","_asyncToGenerator","_render2","nextLocation","_x2","_render3","_classPrivateFieldGet5","app","appChanged","id","flags","getFeatureFlags","prevRendererContext","redirectTo","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","item","dispatchOnUnmount","dispose","clear","theme","dispatchEvent","CustomEvent","_storyboard$meta","_storyboard$meta2","runtimeContext","query","URLSearchParams","sys","ctxStore","pendingPermissionsPreCheck","tplStateStoreMap","Map","rendererContext","meta","functions","contracts","failed","output","routes","unauthenticated","redirect","path","Promise","all","blockingList","waitForAll","values","map","store","menuConfs","menuRequests","mergeMenuConfs","NO_AUTH_GUARD","node","BRICK","type","properties","textContent","return","child","route","dispatchBeforePageLoad","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport { flushStableLoadBricks } from \"@next-core/loader\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport { RenderOutput, renderRoutes } from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { preCheckPermissions } from \"./checkPermissions.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport { getRuntime } from \"./Runtime.js\";\nimport { getAuth, isLoggedIn } from \"../auth.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type { RenderBrick, RenderRoot, RuntimeContext } from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport {\n handleHttpError,\n httpErrorToString,\n isUnauthenticatedError,\n} from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport {\n clearCollectWidgetContract,\n collectContract,\n} from \"./data/CollectContracts.js\";\nimport { fulfilStoryboard } from \"./loadBootstrapData.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { preCheckInstalledApps } from \"./checkInstalledApps.js\";\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #prevLocation!: NextLocation;\n #nextLocation?: NextLocation;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: {\n breadcrumb?: BreadcrumbItemConf[];\n };\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return {\n currentApp: this.#currentApp,\n previousApp: this.#previousApp,\n };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n this.#prevLocation = history.location;\n history.listen((location, action) => {\n let ignoreRendering = false;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (this.#prevLocation.key === undefined ||\n // or the previous location specified notify false.\n this.#prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...this.#prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\n // this.locationContext.messageDispatcher.reset();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n if (this.#rendering) {\n this.#nextLocation = location;\n } else {\n // devtoolsHookEmit(\"locationChange\");\n this.#queuedRender(location).catch(handleHttpError);\n }\n });\n return this.#queuedRender(history.location);\n }\n\n async #queuedRender(location: NextLocation): Promise<void> {\n this.#rendering = true;\n try {\n await this.#render(location);\n } finally {\n this.#rendering = false;\n if (this.#nextLocation) {\n const nextLocation = this.#nextLocation;\n this.#nextLocation = undefined;\n await this.#queuedRender(nextLocation);\n }\n }\n }\n\n async #render(location: NextLocation): Promise<void> {\n this.#renderId = uniqueId(\"render-id-1\");\n\n resetAllComputedMarks();\n clearResolveCache();\n clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n const storyboard = matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n const currentApp = (this.#currentApp = storyboard?.app);\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", {\n detail: {\n previousApp,\n currentApp,\n },\n })\n );\n }\n };\n\n if (currentApp) {\n preCheckInstalledApps(storyboard);\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...getAuth(),\n ...getPageInfo(),\n },\n ctxStore: new DataStore(\"CTX\"),\n pendingPermissionsPreCheck: [preCheckPermissions(storyboard)],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n });\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"router\"\n ));\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n try {\n output = await renderRoutes(\n renderRoot,\n storyboard.routes,\n runtimeContext,\n rendererContext\n );\n if (output.unauthenticated) {\n redirectToLogin();\n return;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n\n flushStableLoadBricks();\n\n await Promise.all([\n ...output.blockingList,\n runtimeContext.ctxStore.waitForAll(),\n ...[...runtimeContext.tplStateStoreMap.values()].map((store) =>\n store.waitForAll()\n ),\n // Todo: load processors only when they would used in current rendering.\n // loadProcessorsImperatively(\n // strictCollectMemberUsage(\n // [storyboard.routes, storyboard.meta?.customTemplates],\n // \"PROCESSORS\",\n // 2\n // ),\n // getBrickPackages()\n // ),\n ...runtimeContext.pendingPermissionsPreCheck,\n ]);\n\n const menuConfs = await Promise.all(output.menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n failed = true;\n output = {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n runtimeContext: null!,\n return: renderRoot,\n },\n blockingList: [],\n menuRequests: [],\n };\n }\n }\n renderRoot.child = output.node;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n }\n\n return;\n }\n } else if (!window.NO_AUTH_GUARD && !isLoggedIn()) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node: RenderBrick = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\",\n },\n runtimeContext: null!,\n return: renderRoot,\n };\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n }\n}\n\nfunction mergeMenuConfs(menuConfs: (StaticMenuConf | undefined)[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\n if (menuConf) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Router.js","names":["locationsAreEqual","flushStableLoadBricks","HttpAbortError","uniqueId","getHistory","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","preCheckPermissions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","getRuntime","getAuth","isLoggedIn","getPageInfo","resetAllComputedMarks","handleHttpError","httpErrorToString","isUnauthenticatedError","abortPendingRequest","initAbortController","registerCustomTemplates","clearCollectWidgetContract","collectContract","fulfilStoryboard","RenderTag","preCheckInstalledApps","insertPreviewRoutes","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_safeRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_classPrivateMethodGet","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","listen","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet3","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","dispatchPageLeave","storyboard","pathname","reload","_queuedRender2","catch","detail","_classPrivateFieldGet4","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","concat","search","process","env","NODE_ENV","console","error","Error","replace","_x","_queuedRender3","apply","arguments","_asyncToGenerator","_render2","nextLocation","_x2","_render3","_classPrivateFieldGet5","app","appChanged","id","flags","getFeatureFlags","prevRendererContext","redirectTo","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","item","dispatchOnUnmount","dispose","clear","theme","dispatchEvent","CustomEvent","_storyboard$meta","_storyboard$meta2","runtimeContext","query","URLSearchParams","sys","ctxStore","pendingPermissionsPreCheck","tplStateStoreMap","Map","rendererContext","meta","functions","contracts","failed","output","routes","unauthenticated","redirect","path","Promise","all","blockingList","waitForAll","values","map","store","menuConfs","menuRequests","mergeMenuConfs","NO_AUTH_GUARD","node","BRICK","type","properties","textContent","return","child","route","dispatchBeforePageLoad","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\nimport { flushStableLoadBricks } from \"@next-core/loader\";\nimport type {\n BreadcrumbItemConf,\n MicroApp,\n StaticMenuConf,\n Storyboard,\n} from \"@next-core/types\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { uniqueId } from \"lodash\";\nimport { NextHistoryState, NextLocation, getHistory } from \"../history.js\";\nimport { RenderOutput, renderRoutes } from \"./Renderer.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { clearResolveCache } from \"./data/resolveData.js\";\nimport { mountTree, unmountTree } from \"./mount.js\";\nimport { isOutsideApp, matchStoryboard } from \"./matchStoryboard.js\";\nimport { registerStoryboardFunctions } from \"./compute/StoryboardFunctions.js\";\nimport { preCheckPermissions } from \"./checkPermissions.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport { getRuntime } from \"./Runtime.js\";\nimport { getAuth, isLoggedIn } from \"../auth.js\";\nimport { getPageInfo } from \"../getPageInfo.js\";\nimport type { RenderBrick, RenderRoot, RuntimeContext } from \"./interfaces.js\";\nimport { resetAllComputedMarks } from \"./compute/markAsComputed.js\";\nimport {\n handleHttpError,\n httpErrorToString,\n isUnauthenticatedError,\n} from \"../handleHttpError.js\";\nimport { abortPendingRequest, initAbortController } from \"./abortController.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport {\n clearCollectWidgetContract,\n collectContract,\n} from \"./data/CollectContracts.js\";\nimport { fulfilStoryboard } from \"./loadBootstrapData.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { preCheckInstalledApps } from \"./checkInstalledApps.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #prevLocation!: NextLocation;\n #nextLocation?: NextLocation;\n #runtimeContext?: RuntimeContext;\n #rendererContext?: RendererContext;\n #rendererContextTrashCan = new Set<RendererContext | undefined>();\n #redirectCount = 0;\n #renderId?: string;\n #currentApp?: MicroApp;\n #previousApp?: MicroApp;\n #navConfig?: {\n breadcrumb?: BreadcrumbItemConf[];\n };\n\n constructor(storyboards: Storyboard[]) {\n this.#storyboards = storyboards;\n\n const history = getHistory();\n window.addEventListener(\"beforeunload\", (event) => {\n const message = this.#getBlockMessageBeforePageLave({});\n // See examples in https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload\n if (message) {\n // Cancel the event\n // If you prevent default behavior in Mozilla Firefox prompt will always be shown\n event.preventDefault();\n // Chrome requires returnValue to be set\n event.returnValue = \"\";\n } else {\n // the absence of a returnValue property on the event will guarantee the browser unload happens\n delete event.returnValue;\n }\n });\n\n history.block((location, action) =>\n this.#getBlockMessageBeforePageLave({ location, action })\n );\n }\n\n getRenderId() {\n return this.#renderId;\n }\n\n getRuntimeContext() {\n return this.#runtimeContext;\n }\n\n getRecentApps() {\n return {\n currentApp: this.#currentApp,\n previousApp: this.#previousApp,\n };\n }\n\n getNavConfig() {\n return this.#navConfig;\n }\n\n #getBlockMessageBeforePageLave(detail: {\n location?: NextLocation;\n action?: Action;\n }): string | undefined {\n const history = getHistory();\n const previousMessage = history.getBlockMessage();\n this.#rendererContext?.dispatchBeforePageLeave(detail);\n const message = history.getBlockMessage();\n if (!previousMessage && message) {\n // Auto unblock only if new block was introduced by `onBeforePageLeave`.\n history.unblock();\n }\n return message;\n }\n\n #safeRedirect(\n to: string,\n state: NextHistoryState | undefined,\n from: NextLocation\n ): void {\n if (this.#redirectCount++ > 10) {\n const message = `Infinite redirect detected: from \"${from.pathname}${from.search}${from.hash}\" to \"${to}\"`;\n // istanbul ignore else: error cannot be caught in test\n if (process.env.NODE_ENV === \"test\") {\n // eslint-disable-next-line no-console\n console.error(message);\n return;\n } else {\n throw new Error(message);\n }\n }\n getHistory().replace(to, state);\n }\n\n bootstrap() {\n initAbortController();\n const history = getHistory();\n this.#prevLocation = history.location;\n history.listen((location, action) => {\n let ignoreRendering = false;\n const omittedLocationProps: Partial<NextLocation> = {\n hash: undefined,\n state: undefined,\n };\n // Omit the \"key\" when checking whether locations are equal in certain situations.\n if (\n // When current location is triggered by browser action of hash link.\n location.key === undefined ||\n // When current location is triggered by browser action of non-push-or-replace,\n // such as goBack or goForward,\n (action === \"POP\" &&\n // and the previous location was triggered by hash link,\n (this.#prevLocation.key === undefined ||\n // or the previous location specified notify false.\n this.#prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...this.#prevLocation, ...omittedLocationProps },\n { ...location, ...omittedLocationProps }\n ) ||\n (action !== \"POP\" && location.state?.notify === false)\n ) {\n // Ignore rendering if location not changed except hash, state and optional key.\n // Ignore rendering if notify is `false`.\n ignoreRendering = true;\n }\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\n // this.locationContext.messageDispatcher.reset();\n\n if (action === \"POP\") {\n const storyboard = matchStoryboard(\n this.#storyboards,\n location.pathname\n );\n // When a browser action of goBack or goForward is performing,\n // force reload when the target page is a page of an outside app.\n if (isOutsideApp(storyboard)) {\n window.location.reload();\n return;\n }\n }\n\n if (this.#rendering) {\n this.#nextLocation = location;\n } else {\n // devtoolsHookEmit(\"locationChange\");\n this.#queuedRender(location).catch(handleHttpError);\n }\n });\n return this.#queuedRender(history.location);\n }\n\n async #queuedRender(location: NextLocation): Promise<void> {\n this.#rendering = true;\n try {\n await this.#render(location);\n } finally {\n this.#rendering = false;\n if (this.#nextLocation) {\n const nextLocation = this.#nextLocation;\n this.#nextLocation = undefined;\n await this.#queuedRender(nextLocation);\n }\n }\n }\n\n async #render(location: NextLocation): Promise<void> {\n this.#renderId = uniqueId(\"render-id-1\");\n\n resetAllComputedMarks();\n clearResolveCache();\n clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n const storyboard = matchStoryboard(this.#storyboards, location.pathname);\n\n const previousApp = this.#runtimeContext?.app;\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n const currentApp = (this.#currentApp = storyboard?.app);\n\n // Storyboard maybe re-assigned, e.g. when open launchpad.\n const appChanged =\n previousApp && currentApp\n ? previousApp.id !== currentApp.id\n : previousApp !== currentApp;\n\n // TODO: handle favicon\n\n // Set `Router::#currentApp` before calling `getFeatureFlags()`\n const flags = getRuntime().getFeatureFlags();\n const prevRendererContext = this.#rendererContext;\n\n const redirectTo = (to: string, state?: NextHistoryState): void => {\n this.#rendererContextTrashCan.add(prevRendererContext);\n this.#safeRedirect(to, state, location);\n };\n\n const redirectToLogin = (): void => {\n const to = flags[\"sso-enabled\"] ? \"/sso-auth/login\" : \"/auth/login\";\n redirectTo(to, { from: location });\n };\n\n const main = document.querySelector(\"#main-mount-point\") as HTMLElement;\n const portal = document.querySelector(\"#portal-mount-point\") as HTMLElement;\n\n const renderRoot: RenderRoot = {\n tag: RenderTag.ROOT,\n container: main,\n createPortal: portal,\n };\n\n const cleanUpPreviousRender = (): void => {\n unmountTree(main);\n unmountTree(portal);\n\n // Note: redirects can lead to multiple trash renderer contexts.\n this.#rendererContextTrashCan.add(prevRendererContext);\n for (const item of this.#rendererContextTrashCan) {\n if (item) {\n item.dispatchOnUnmount();\n item.dispose();\n }\n }\n this.#rendererContextTrashCan.clear();\n\n setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (appChanged) {\n this.#previousApp = previousApp;\n window.dispatchEvent(\n new CustomEvent(\"app.change\", {\n detail: {\n previousApp,\n currentApp,\n },\n })\n );\n }\n };\n\n if (currentApp) {\n preCheckInstalledApps(storyboard);\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...getAuth(),\n ...getPageInfo(),\n },\n ctxStore: new DataStore(\"CTX\"),\n pendingPermissionsPreCheck: [preCheckPermissions(storyboard)],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n });\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"router\"\n ));\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n try {\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext\n );\n if (output.unauthenticated) {\n redirectToLogin();\n return;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n\n flushStableLoadBricks();\n\n await Promise.all([\n ...output.blockingList,\n runtimeContext.ctxStore.waitForAll(),\n ...[...runtimeContext.tplStateStoreMap.values()].map((store) =>\n store.waitForAll()\n ),\n // Todo: load processors only when they would used in current rendering.\n // loadProcessorsImperatively(\n // strictCollectMemberUsage(\n // [storyboard.routes, storyboard.meta?.customTemplates],\n // \"PROCESSORS\",\n // 2\n // ),\n // getBrickPackages()\n // ),\n ...runtimeContext.pendingPermissionsPreCheck,\n ]);\n\n const menuConfs = await Promise.all(output.menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n if (isUnauthenticatedError(error) && !window.NO_AUTH_GUARD) {\n redirectToLogin();\n return;\n } else if (error instanceof HttpAbortError) {\n this.#rendererContextTrashCan.add(prevRendererContext);\n return;\n } else {\n failed = true;\n output = {\n node: {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: httpErrorToString(error),\n },\n runtimeContext: null!,\n return: renderRoot,\n },\n blockingList: [],\n menuRequests: [],\n };\n }\n }\n renderRoot.child = output.node;\n\n cleanUpPreviousRender();\n\n if ((output.route && output.route.type !== \"routes\") || failed) {\n if (!failed) {\n // There is a window to set theme and mode by `lifeCycle.onBeforePageLoad`.\n rendererContext.dispatchBeforePageLoad();\n }\n applyTheme();\n applyMode();\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n }\n\n return;\n }\n } else if (!window.NO_AUTH_GUARD && !isLoggedIn()) {\n // Todo(steve): refine after api-gateway supports fetching storyboards before logged in.\n // Redirect to login if no storyboard is matched.\n redirectToLogin();\n return;\n } else {\n cleanUpPreviousRender();\n }\n\n applyTheme();\n applyMode();\n\n const node: RenderBrick = {\n tag: RenderTag.BRICK,\n type: \"div\",\n properties: {\n textContent: \"Page not found\",\n },\n runtimeContext: null!,\n return: renderRoot,\n };\n renderRoot.child = node;\n\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n window.scrollTo(0, 0);\n }\n}\n\nfunction mergeMenuConfs(menuConfs: (StaticMenuConf | undefined)[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\n if (menuConf) {\n const { breadcrumb } = menuConf;\n if (breadcrumb) {\n if (breadcrumb.overwrite) {\n navConfig.breadcrumb = breadcrumb.items;\n } else {\n navConfig.breadcrumb.push(...breadcrumb.items);\n }\n }\n }\n }\n return navConfig;\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
2
|
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
3
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
4
|
-
var _excluded = ["pendingPermissionsPreCheck", "tplStateStoreMap"];
|
|
4
|
+
var _excluded = ["pendingPermissionsPreCheck", "tplStateStoreMap", "tplStateStoreScope"];
|
|
5
5
|
import { cook, preevaluate, shouldAllowRecursiveEvaluations } from "@next-core/cook";
|
|
6
6
|
import { loadProcessorsImperatively } from "@next-core/loader";
|
|
7
7
|
import { supply } from "@next-core/supply";
|
|
@@ -78,7 +78,8 @@ runtimeContext) {
|
|
|
78
78
|
|
|
79
79
|
var {
|
|
80
80
|
pendingPermissionsPreCheck: _1,
|
|
81
|
-
tplStateStoreMap: _2
|
|
81
|
+
tplStateStoreMap: _2,
|
|
82
|
+
tplStateStoreScope: _3
|
|
82
83
|
} = runtimeContext,
|
|
83
84
|
passByRuntimeContext = _objectWithoutProperties(runtimeContext, _excluded);
|
|
84
85
|
runtimeContext = _objectSpread(_objectSpread({}, raw[symbolForContext]), passByRuntimeContext);
|