@next-core/runtime 1.24.4 → 1.24.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/internal/Router.js +2 -2
- package/dist/cjs/internal/Router.js.map +1 -1
- package/dist/cjs/internal/secret_internals.js +1 -1
- package/dist/cjs/internal/secret_internals.js.map +1 -1
- package/dist/cjs/setUIVersion.js +19 -0
- package/dist/cjs/setUIVersion.js.map +1 -0
- package/dist/esm/internal/Router.js +2 -2
- package/dist/esm/internal/Router.js.map +1 -1
- package/dist/esm/internal/secret_internals.js +1 -1
- package/dist/esm/internal/secret_internals.js.map +1 -1
- package/dist/esm/setUIVersion.js +13 -0
- package/dist/esm/setUIVersion.js.map +1 -0
- package/dist/types/setUIVersion.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/setUIClassName.js +0 -22
- package/dist/cjs/setUIClassName.js.map +0 -1
- package/dist/esm/setUIClassName.js +0 -17
- package/dist/esm/setUIClassName.js.map +0 -1
- package/dist/types/setUIClassName.d.ts +0 -1
|
@@ -33,7 +33,7 @@ var _fulfilStoryboard = require("./fulfilStoryboard.js");
|
|
|
33
33
|
var _enums = require("./enums.js");
|
|
34
34
|
var _insertPreviewRoutes = require("./insertPreviewRoutes.js");
|
|
35
35
|
var _devtools = require("./devtools.js");
|
|
36
|
-
var
|
|
36
|
+
var _setUIVersion = require("../setUIVersion.js");
|
|
37
37
|
var _storyboards = /*#__PURE__*/new WeakMap();
|
|
38
38
|
var _rendering = /*#__PURE__*/new WeakMap();
|
|
39
39
|
var _prevLocation = /*#__PURE__*/new WeakMap();
|
|
@@ -440,7 +440,7 @@ async function _render2(location) {
|
|
|
440
440
|
(0, _themeAndMode.applyTheme)();
|
|
441
441
|
(0, _themeAndMode.applyMode)();
|
|
442
442
|
window.DISABLE_REACT_FLUSH_SYNC = false;
|
|
443
|
-
(0,
|
|
443
|
+
(0, _setUIVersion.setUIVersion)(currentApp === null || currentApp === void 0 ? void 0 : currentApp.uiVersion);
|
|
444
444
|
(0, _mount.mountTree)(renderRoot);
|
|
445
445
|
setTimeout(() => {
|
|
446
446
|
window.DISABLE_REACT_FLUSH_SYNC = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","names":["_history2","require","_http","_lodash","_history3","_Renderer","_DataStore","_resolveData","_mount","_matchStoryboard","_StoryboardFunctions","_RendererContext","_themeAndMode","_Runtime","_getPageInfo","_markAsComputed","_handleHttpError","_abortController","_setLoginStateCookie","_registerCustomTemplates","_fulfilStoryboard","_enums","_insertPreviewRoutes","_devtools","_setUIClassName","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_safeRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","writable","value","Set","_classPrivateFieldSet2","history","getHistory","window","addEventListener","event","message","_classPrivateMethodGet2","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet7","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","initAbortController","renderId","listen","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","locationsAreEqual","_classPrivateFieldGet3","didPerformIncrementalRender","abortPendingRequest","dispatchPageLeave","storyboard","matchStoryboard","pathname","isOutsideApp","reload","devtoolsHookEmit","_queuedRender2","catch","handleHttpError","exports","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","search","process","env","NODE_ENV","console","error","Error","replace","_render2","nextLocation","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","uniqueId","resetAllComputedMarks","clearResolveCache","hooks","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","fulfilStoryboard","appChanged","id","flags","getRuntime","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","setLoginStateCookie","main","document","querySelector","portal","renderRoot","tag","RenderTag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","unmountTree","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","setTheme","getLocalAppsTheme","theme","setMode","_hooks$checkInstalled","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","appId","_internalApiGetAppInBootstrapData","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isUnauthenticatedError","NO_AUTH_GUARD","HttpAbortError","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","httpErrorToString","runtimeContext","return","blockingList","rendererContext","RendererContext","query","URLSearchParams","sys","auth","getAuth","getPageInfo","settings","brand","getBrandSettings","ctxStore","DataStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","registerCustomTemplates","registerStoryboardFunctions","meta","functions","collectContract","contracts","stores","renderRoutes","insertPreviewRoutes","routes","getDataStores","postAsyncRender","setInitialMenuRequests","result","child","route","dispatchBeforePageLoad","applyTheme","applyMode","DISABLE_REACT_FLUSH_SYNC","setUIClassName","uiVersion","mountTree","setTimeout","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\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 {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} 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 { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.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 { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIClassName } from \"../setUIClassName.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 let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\n let ignoreRendering: boolean | undefined;\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\n if (!ignoreRendering) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(location);\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\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 const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\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 finishPageView?.({\n status: \"redirected\",\n });\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 setLoginStateCookie(location);\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 hooks?.messageDispatcher?.reset();\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 setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n },\n catch: (error, returnNode) => {\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 const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n return {\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: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: {\n brand: getRuntime().getBrandSettings(),\n },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n []\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n await routeHelper.mergeMenus(output.menuRequests);\n rendererContext.setInitialMenuRequests(output.menuRequests);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\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 window.DISABLE_REACT_FLUSH_SYNC = false;\n setUIClassName(currentApp?.uiVersion);\n mountTree(renderRoot);\n setTimeout(() => {\n window.DISABLE_REACT_FLUSH_SYNC = true;\n });\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 rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\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 finishPageView?.({ status: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\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 return navConfig;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Router.js","names":["_history2","require","_http","_lodash","_history3","_Renderer","_DataStore","_resolveData","_mount","_matchStoryboard","_StoryboardFunctions","_RendererContext","_themeAndMode","_Runtime","_getPageInfo","_markAsComputed","_handleHttpError","_abortController","_setLoginStateCookie","_registerCustomTemplates","_fulfilStoryboard","_enums","_insertPreviewRoutes","_devtools","_setUIVersion","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_getBlockMessageBeforePageLave","WeakSet","_safeRedirect","_queuedRender","_render","Router","constructor","storyboards","_classPrivateMethodInitSpec2","default","_classPrivateFieldInitSpec2","writable","value","Set","_classPrivateFieldSet2","history","getHistory","window","addEventListener","event","message","_classPrivateMethodGet2","_getBlockMessageBeforePageLave2","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet7","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","initAbortController","renderId","listen","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","locationsAreEqual","_classPrivateFieldGet3","didPerformIncrementalRender","abortPendingRequest","dispatchPageLeave","storyboard","matchStoryboard","pathname","isOutsideApp","reload","devtoolsHookEmit","_queuedRender2","catch","handleHttpError","exports","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","search","process","env","NODE_ENV","console","error","Error","replace","_render2","nextLocation","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","uniqueId","resetAllComputedMarks","clearResolveCache","hooks","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","fulfilStoryboard","appChanged","id","flags","getRuntime","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","setLoginStateCookie","main","document","querySelector","portal","renderRoot","tag","RenderTag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","unmountTree","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","setTheme","getLocalAppsTheme","theme","setMode","_hooks$checkInstalled","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","appId","_internalApiGetAppInBootstrapData","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","isUnauthenticatedError","NO_AUTH_GUARD","HttpAbortError","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","httpErrorToString","runtimeContext","return","blockingList","rendererContext","RendererContext","query","URLSearchParams","sys","auth","getAuth","getPageInfo","settings","brand","getBrandSettings","ctxStore","DataStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","registerCustomTemplates","registerStoryboardFunctions","meta","functions","collectContract","contracts","stores","renderRoutes","insertPreviewRoutes","routes","getDataStores","postAsyncRender","setInitialMenuRequests","result","child","route","dispatchBeforePageLoad","applyTheme","applyMode","DISABLE_REACT_FLUSH_SYNC","setUIVersion","uiVersion","mountTree","setTimeout","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\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 {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} 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 { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.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 { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.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 let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\n let ignoreRendering: boolean | undefined;\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\n if (!ignoreRendering) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(location);\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\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 const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\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 finishPageView?.({\n status: \"redirected\",\n });\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 setLoginStateCookie(location);\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 hooks?.messageDispatcher?.reset();\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 setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n },\n catch: (error, returnNode) => {\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 const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n return {\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: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: {\n brand: getRuntime().getBrandSettings(),\n },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n []\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n await routeHelper.mergeMenus(output.menuRequests);\n rendererContext.setInitialMenuRequests(output.menuRequests);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\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 window.DISABLE_REACT_FLUSH_SYNC = false;\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n setTimeout(() => {\n window.DISABLE_REACT_FLUSH_SYNC = true;\n });\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 rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\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 finishPageView?.({ status: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\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 return navConfig;\n}\n"],"mappings":"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"}
|
|
@@ -169,7 +169,7 @@ function updateStoryboardByTemplate(appId, newTemplate, settings) {
|
|
|
169
169
|
function updateTemplatePreviewSettings(appId, templateId, settings) {
|
|
170
170
|
_updatePreviewSettings(appId, `\${APP.homepage}/_dev_only_/template-preview/${templateId}`, [{
|
|
171
171
|
brick: templateId,
|
|
172
|
-
...(0, _lodash.pick)(settings, "properties", "events", "lifeCycle", "context")
|
|
172
|
+
...(0, _lodash.pick)(settings, "properties", "events", "lifeCycle", "context", "slots", "children")
|
|
173
173
|
}]);
|
|
174
174
|
}
|
|
175
175
|
function getSnippetPreviewPath(snippetId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_mount","_enums","_computeRealValue","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","renderUseBrick","useBrick","data","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","scopedStores","postAsyncRender","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","exports","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.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\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\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 scopedRuntimeContext,\n rendererContext,\n []\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\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, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: 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 rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\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\n/** For v2 compatibility of `doTransform` from brick-kit. */\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\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\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\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\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(id)\n );\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"secret_internals.js","names":["_lodash","require","_Runtime","_Renderer","_RendererContext","_mount","_enums","_computeRealValue","_isStrictMode","_CustomTemplates","_registerAppI18n","_utils","renderUseBrick","useBrick","data","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","createScopedRuntimeContext","_internalApiGetRuntimeContext","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","RendererContext","renderRoot","tag","RenderTag","ROOT","createPortal","transform","strict","isStrictMode","warnAboutStrictMode","output","renderBrick","properties","scopedStores","postAsyncRender","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","element","portalRoot","document","querySelector","createElement","appendChild","mountTree","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","mountResult","unmountTree","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","computeRealValue","noInject","updateStoryboard","appId","storyboardPatch","storyboard","_internalApiGetStoryboardInBootstrapData","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","registerAppI18n","updateStoryboardByRoute","newRoute","match","getKey","route","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","customTemplates","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","pick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","exports","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","tplStateStoreId","runtimeContext","tplStateStore","getTplStateStore","getValue","ctxStore","getAllContextValues","getAllValues","getBrickPackagesById","id","getBrickPackages","find","pkg","filePath","startsWith","getRenderId","_internalApiGetRenderId","getAddedContracts","updateStoryboardType","collectUsedContracts","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.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\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\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 scopedRuntimeContext,\n rendererContext,\n []\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\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, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: 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 rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\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\n/** For v2 compatibility of `doTransform` from brick-kit. */\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\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(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\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\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(id)\n );\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.setUIVersion = setUIVersion;
|
|
7
|
+
function setUIVersion(version) {
|
|
8
|
+
// 仅允许特定的 UI 版本
|
|
9
|
+
let ui;
|
|
10
|
+
switch (version) {
|
|
11
|
+
case "8.2":
|
|
12
|
+
ui = "v8-2";
|
|
13
|
+
break;
|
|
14
|
+
default:
|
|
15
|
+
ui = "v8";
|
|
16
|
+
}
|
|
17
|
+
document.documentElement.dataset.ui = ui;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=setUIVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setUIVersion.js","names":["setUIVersion","version","ui","document","documentElement","dataset"],"sources":["../../src/setUIVersion.ts"],"sourcesContent":["export function setUIVersion(version: string | undefined | null) {\n // 仅允许特定的 UI 版本\n let ui: string;\n switch (version) {\n case \"8.2\":\n ui = \"v8-2\";\n break;\n default:\n ui = \"v8\";\n }\n document.documentElement.dataset.ui = ui;\n}\n"],"mappings":";;;;;;AAAO,SAASA,YAAYA,CAACC,OAAkC,EAAE;EAC/D;EACA,IAAIC,EAAU;EACd,QAAQD,OAAO;IACb,KAAK,KAAK;MACRC,EAAE,GAAG,MAAM;MACX;IACF;MACEA,EAAE,GAAG,IAAI;EACb;EACAC,QAAQ,CAACC,eAAe,CAACC,OAAO,CAACH,EAAE,GAAGA,EAAE;AAC1C"}
|
|
@@ -28,7 +28,7 @@ import { fulfilStoryboard } from "./fulfilStoryboard.js";
|
|
|
28
28
|
import { RenderTag } from "./enums.js";
|
|
29
29
|
import { insertPreviewRoutes } from "./insertPreviewRoutes.js";
|
|
30
30
|
import { devtoolsHookEmit } from "./devtools.js";
|
|
31
|
-
import {
|
|
31
|
+
import { setUIVersion } from "../setUIVersion.js";
|
|
32
32
|
var _storyboards = /*#__PURE__*/new WeakMap();
|
|
33
33
|
var _rendering = /*#__PURE__*/new WeakMap();
|
|
34
34
|
var _prevLocation = /*#__PURE__*/new WeakMap();
|
|
@@ -450,7 +450,7 @@ function _render3() {
|
|
|
450
450
|
applyTheme();
|
|
451
451
|
applyMode();
|
|
452
452
|
window.DISABLE_REACT_FLUSH_SYNC = false;
|
|
453
|
-
|
|
453
|
+
setUIVersion(currentApp === null || currentApp === void 0 ? void 0 : currentApp.uiVersion);
|
|
454
454
|
mountTree(renderRoot);
|
|
455
455
|
setTimeout(() => {
|
|
456
456
|
window.DISABLE_REACT_FLUSH_SYNC = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","uniqueId","getHistory","getDataStores","postAsyncRender","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","_internalApiGetAppInBootstrapData","getRuntime","hooks","getPageInfo","resetAllComputedMarks","handleHttpError","httpErrorToString","isUnauthenticatedError","abortPendingRequest","initAbortController","setLoginStateCookie","registerCustomTemplates","fulfilStoryboard","RenderTag","insertPreviewRoutes","devtoolsHookEmit","setUIClassName","_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","_this","renderId","listen","_ref","_asyncToGenerator","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","pathname","reload","_queuedRender2","catch","_x","_x2","apply","arguments","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","concat","search","process","env","NODE_ENV","console","error","Error","replace","_x3","_queuedRender3","_render2","nextLocation","_x4","_render3","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_this2","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","appChanged","id","flags","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","theme","_hooks$checkInstalled","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","appId","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","_ref2","menuRequests","menuConfs","Promise","all","mergeMenuConfs","_x5","returnNode","NO_AUTH_GUARD","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","runtimeContext","return","blockingList","rendererContext","query","URLSearchParams","sys","auth","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","meta","functions","collectContract","contracts","stores","routes","setInitialMenuRequests","result","child","route","dispatchBeforePageLoad","DISABLE_REACT_FLUSH_SYNC","uiVersion","setTimeout","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\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 {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} 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 { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.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 { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIClassName } from \"../setUIClassName.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 let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\n let ignoreRendering: boolean | undefined;\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\n if (!ignoreRendering) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(location);\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\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 const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\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 finishPageView?.({\n status: \"redirected\",\n });\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 setLoginStateCookie(location);\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 hooks?.messageDispatcher?.reset();\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 setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n },\n catch: (error, returnNode) => {\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 const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n return {\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: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: {\n brand: getRuntime().getBrandSettings(),\n },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n []\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n await routeHelper.mergeMenus(output.menuRequests);\n rendererContext.setInitialMenuRequests(output.menuRequests);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\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 window.DISABLE_REACT_FLUSH_SYNC = false;\n setUIClassName(currentApp?.uiVersion);\n mountTree(renderRoot);\n setTimeout(() => {\n window.DISABLE_REACT_FLUSH_SYNC = true;\n });\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 rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\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 finishPageView?.({ status: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\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 return navConfig;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","uniqueId","getHistory","getDataStores","postAsyncRender","renderRoutes","DataStore","clearResolveCache","mountTree","unmountTree","isOutsideApp","matchStoryboard","registerStoryboardFunctions","RendererContext","applyMode","applyTheme","getLocalAppsTheme","setMode","setTheme","_internalApiGetAppInBootstrapData","getRuntime","hooks","getPageInfo","resetAllComputedMarks","handleHttpError","httpErrorToString","isUnauthenticatedError","abortPendingRequest","initAbortController","setLoginStateCookie","registerCustomTemplates","fulfilStoryboard","RenderTag","insertPreviewRoutes","devtoolsHookEmit","setUIVersion","_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","_this","renderId","listen","_ref","_asyncToGenerator","_classPrivateFieldGet2","_location$state","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","pathname","reload","_queuedRender2","catch","_x","_x2","apply","arguments","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect2","to","from","_this$redirectCount","_this$redirectCount2","concat","search","process","env","NODE_ENV","console","error","Error","replace","_x3","_queuedRender3","_render2","nextLocation","_x4","_render3","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_this2","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","appChanged","id","flags","getFeatureFlags","prevRendererContext","redirectTo","status","add","redirectToLogin","main","document","querySelector","portal","renderRoot","tag","ROOT","container","createPortal","cleanUpPreviousRender","_hooks$messageDispatc","item","dispatchOnUnmount","dispose","clear","messageDispatcher","reset","dispatchEvent","CustomEvent","theme","_hooks$checkInstalled","_hooks$auth","_hooks$checkPermissio","_storyboard$meta","_hooks$flowApi2","_storyboard$meta2","checkInstalledApps","preCheckInstalledApps","appId","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","_ref2","menuRequests","menuConfs","Promise","all","mergeMenuConfs","_x5","returnNode","NO_AUTH_GUARD","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","runtimeContext","return","blockingList","rendererContext","query","URLSearchParams","sys","auth","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","meta","functions","collectContract","contracts","stores","routes","setInitialMenuRequests","result","child","route","dispatchBeforePageLoad","DISABLE_REACT_FLUSH_SYNC","uiVersion","setTimeout","scrollTo","dispatchPageLoad","dispatchAnchorLoad","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","pageTitle","title","isLoggedIn","navConfig","breadcrumb","menuConf","overwrite","items","push"],"sources":["../../../src/internal/Router.ts"],"sourcesContent":["import { Action, locationsAreEqual } from \"history\";\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 {\n RenderOutput,\n getDataStores,\n postAsyncRender,\n renderRoutes,\n} 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 { RendererContext, RouteHelper } from \"./RendererContext.js\";\nimport {\n applyMode,\n applyTheme,\n getLocalAppsTheme,\n setMode,\n setTheme,\n} from \"../themeAndMode.js\";\nimport {\n _internalApiGetAppInBootstrapData,\n getRuntime,\n hooks,\n} from \"./Runtime.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 { setLoginStateCookie } from \"../setLoginStateCookie.js\";\nimport { registerCustomTemplates } from \"./registerCustomTemplates.js\";\nimport { fulfilStoryboard } from \"./fulfilStoryboard.js\";\nimport { RenderTag } from \"./enums.js\";\nimport { insertPreviewRoutes } from \"./insertPreviewRoutes.js\";\nimport { devtoolsHookEmit } from \"./devtools.js\";\nimport { setUIVersion } from \"../setUIVersion.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 let renderId = 0;\n history.listen(async (location, action) => {\n const currentRenderId = ++renderId;\n let ignoreRendering: boolean | undefined;\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\n if (!ignoreRendering) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(location);\n }\n\n // Ignore stale renders\n if (renderId !== currentRenderId) {\n return;\n }\n\n if (ignoreRendering) {\n this.#prevLocation = location;\n return;\n }\n\n abortPendingRequest();\n this.#prevLocation = location;\n this.#rendererContext?.dispatchPageLeave();\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 const renderId = (this.#renderId = uniqueId(\"render-id-\"));\n\n resetAllComputedMarks();\n clearResolveCache();\n hooks?.flowApi?.clearCollectWidgetContract();\n\n const history = getHistory();\n history.unblock();\n\n // const renderStartTime = performance.now();\n const finishPageView = hooks?.pageView?.create();\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 finishPageView?.({\n status: \"redirected\",\n });\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 setLoginStateCookie(location);\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 hooks?.messageDispatcher?.reset();\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 setTheme(\n (currentApp &&\n (getLocalAppsTheme()[currentApp.id] || currentApp.theme)) ||\n \"light\"\n );\n setMode(\"default\");\n\n if (currentApp) {\n hooks?.checkInstalledApps?.preCheckInstalledApps(\n storyboard,\n (appId) => !!_internalApiGetAppInBootstrapData(appId)\n );\n\n const routeHelper: RouteHelper = {\n bailout: (output) => {\n if (output.unauthenticated) {\n redirectToLogin();\n return true;\n }\n if (output.redirect) {\n redirectTo(output.redirect.path, output.redirect.state);\n return true;\n }\n // Reset redirect count if no redirect is set.\n this.#redirectCount = 0;\n },\n mergeMenus: async (menuRequests) => {\n const menuConfs = await Promise.all(menuRequests);\n this.#navConfig = mergeMenuConfs(menuConfs);\n },\n catch: (error, returnNode) => {\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 const noAuthGuardLoginPath =\n getRuntime().getMiscSettings().noAuthGuardLoginPath;\n if (isUnauthenticatedError(error) && noAuthGuardLoginPath) {\n redirectTo(noAuthGuardLoginPath as string, { from: location });\n return;\n }\n return {\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: returnNode,\n },\n blockingList: [],\n menuRequests: [],\n },\n };\n }\n },\n };\n\n const rendererContext = (this.#rendererContext = new RendererContext(\n \"page\",\n { routeHelper, renderId }\n ));\n\n const runtimeContext: RuntimeContext = (this.#runtimeContext = {\n app: currentApp,\n location,\n query: new URLSearchParams(location.search),\n flags,\n sys: {\n ...hooks?.auth?.getAuth(),\n ...getPageInfo(),\n settings: {\n brand: getRuntime().getBrandSettings(),\n },\n },\n ctxStore: new DataStore(\"CTX\", undefined, rendererContext),\n pendingPermissionsPreCheck: [\n hooks?.checkPermissions?.preCheckPermissions(storyboard),\n ],\n tplStateStoreMap: new Map<string, DataStore<\"STATE\">>(),\n formStateStoreMap: new Map<string, DataStore<\"FORM_STATE\">>(),\n });\n\n this.#navConfig = undefined;\n\n registerCustomTemplates(storyboard);\n registerStoryboardFunctions(storyboard.meta?.functions, currentApp);\n hooks?.flowApi?.collectContract(storyboard.meta?.contracts);\n\n let failed = false;\n let output: RenderOutput;\n let stores: DataStore<\"CTX\" | \"STATE\" | \"FORM_STATE\">[] = [];\n\n try {\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n []\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n await routeHelper.mergeMenus(output.menuRequests);\n rendererContext.setInitialMenuRequests(output.menuRequests);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(\"Router failed:\", error);\n\n const result = routeHelper.catch(error, renderRoot);\n if (!result) {\n return;\n }\n ({ failed, output } = result);\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 window.DISABLE_REACT_FLUSH_SYNC = false;\n setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n setTimeout(() => {\n window.DISABLE_REACT_FLUSH_SYNC = true;\n });\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 rendererContext.initializeMessageDispatcher();\n\n for (const store of stores) {\n store.mountAsyncData();\n }\n\n finishPageView?.({\n status: \"ok\",\n path: output.path,\n pageTitle: document.title,\n });\n } else {\n finishPageView?.({ status: \"failed\" });\n }\n devtoolsHookEmit(\"rendered\");\n\n return;\n }\n } else if (\n !window.NO_AUTH_GUARD &&\n hooks?.auth &&\n !hooks.auth.isLoggedIn()\n ) {\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 finishPageView?.({ status: \"not-found\" });\n devtoolsHookEmit(\"rendered\");\n }\n}\n\nfunction mergeMenuConfs(menuConfs: StaticMenuConf[]) {\n const navConfig = {\n breadcrumb: [] as BreadcrumbItemConf[],\n };\n for (const menuConf of menuConfs) {\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 return navConfig;\n}\n"],"mappings":"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"}
|
|
@@ -152,7 +152,7 @@ export function updateStoryboardByTemplate(appId, newTemplate, settings) {
|
|
|
152
152
|
export function updateTemplatePreviewSettings(appId, templateId, settings) {
|
|
153
153
|
_updatePreviewSettings(appId, "${APP.homepage}/_dev_only_/template-preview/".concat(templateId), [_objectSpread({
|
|
154
154
|
brick: templateId
|
|
155
|
-
}, pick(settings, "properties", "events", "lifeCycle", "context"))]);
|
|
155
|
+
}, pick(settings, "properties", "events", "lifeCycle", "context", "slots", "children"))]);
|
|
156
156
|
}
|
|
157
157
|
function getSnippetPreviewPath(snippetId) {
|
|
158
158
|
return "${APP.homepage}/_dev_only_/snippet-preview/".concat(snippetId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret_internals.js","names":["pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","createScopedRuntimeContext","postAsyncRender","renderBrick","RendererContext","mountTree","unmountTree","RenderTag","computeRealValue","isStrictMode","warnAboutStrictMode","customTemplates","registerAppI18n","getTplStateStore","renderUseBrick","_x","_x2","_renderUseBrick","apply","arguments","_asyncToGenerator","useBrick","data","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","_objectSpread","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","transform","strict","output","properties","scopedStores","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","noInject","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","match","getKey","route","concat","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","_ref3","tplStateStoreId","runtimeContext","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","getRenderId","getAddedContracts","_x3","_x4","_getAddedContracts","_ref5","updateStoryboardType","collectUsedContracts","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.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\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\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 scopedRuntimeContext,\n rendererContext,\n []\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\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, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: 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 rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\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\n/** For v2 compatibility of `doTransform` from brick-kit. */\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\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\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\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\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(id)\n );\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"secret_internals.js","names":["pick","_internalApiGetRenderId","_internalApiGetRuntimeContext","_internalApiGetStoryboardInBootstrapData","getBrickPackages","createScopedRuntimeContext","postAsyncRender","renderBrick","RendererContext","mountTree","unmountTree","RenderTag","computeRealValue","isStrictMode","warnAboutStrictMode","customTemplates","registerAppI18n","getTplStateStore","renderUseBrick","_x","_x2","_renderUseBrick","apply","arguments","_asyncToGenerator","useBrick","data","_scopedRuntimeContext","_scopedRuntimeContext2","_output$node","_output$node2","scopedRuntimeContext","tplStateStoreScope","formStateStoreScope","_objectSpread","pendingPermissionsPreCheck","tplStateStoreMap","Map","formStateStoreMap","rendererContext","renderRoot","tag","ROOT","createPortal","transform","strict","output","properties","scopedStores","node","PLACEHOLDER","Error","portal","child","tagName","type","mountUseBrick","_ref","element","portalRoot","document","querySelector","createElement","appendChild","dispatchOnMount","initializeScrollIntoView","initializeMediaChange","initializeMessageDispatcher","store","mountAsyncData","unmountUseBrick","_ref2","mountResult","remove","dispatchOnUnmount","dispose","legacyDoTransform","to","options","noInject","updateStoryboard","appId","storyboardPatch","storyboard","Object","assign","$$fulfilling","$$fulfilled","$$registerCustomTemplateProcessed","updateStoryboardByRoute","newRoute","match","getKey","route","concat","path","exact","replaceRoute","routes","key","map","routeKey","unshift","updateStoryboardByTemplate","newTemplate","settings","tplName","name","define","bricks","proxy","state","updateTemplatePreviewSettings","templateId","_updatePreviewSettings","brick","getSnippetPreviewPath","snippetId","updateStoryboardBySnippet","snippetData","_snippetData$bricks","length","context","updateSnippetPreviewSettings","previewRouteIndex","findIndex","newPreviewRoute","menu","splice","getContextValue","_ref3","tplStateStoreId","runtimeContext","tplStateStore","getValue","ctxStore","getAllContextValues","_ref4","getAllValues","getBrickPackagesById","id","find","pkg","filePath","startsWith","getRenderId","getAddedContracts","_x3","_x4","_getAddedContracts","_ref5","updateStoryboardType","collectUsedContracts","updatedStoryboard","meta","_storyboard$routes","snippetPreviewPath","currentRoute","addedContracts","contractApis","forEach","api","_storyboard$meta","_","namespaceId","contracts","some","contract","push"],"sources":["../../../src/internal/secret_internals.ts"],"sourcesContent":["import type {\n BrickConf,\n CustomTemplate,\n RouteConf,\n Storyboard,\n UseSingleBrickConf,\n RuntimeSnippet,\n ContextConf,\n} from \"@next-core/types\";\nimport { pick } from \"lodash\";\nimport {\n _internalApiGetRenderId,\n _internalApiGetRuntimeContext,\n _internalApiGetStoryboardInBootstrapData,\n getBrickPackages,\n} from \"./Runtime.js\";\nimport {\n createScopedRuntimeContext,\n postAsyncRender,\n renderBrick,\n} from \"./Renderer.js\";\nimport { RendererContext } from \"./RendererContext.js\";\nimport type { DataStore } from \"./data/DataStore.js\";\nimport type {\n DataValueOption,\n PreviewOption,\n PreviewStoryboardPatch,\n RenderRoot,\n} from \"./interfaces.js\";\nimport { mountTree, unmountTree } from \"./mount.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\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\n\nexport type { DataValueOption, RuntimeContext } from \"./interfaces.js\";\n\nexport interface RenderUseBrickResult {\n tagName: string | null;\n renderRoot: RenderRoot;\n rendererContext: RendererContext;\n scopedStores: DataStore<\"STATE\" | \"FORM_STATE\">[];\n}\n\nexport async function renderUseBrick(\n useBrick: UseSingleBrickConf,\n data: unknown\n): Promise<RenderUseBrickResult> {\n const [scopedRuntimeContext, tplStateStoreScope, formStateStoreScope] =\n createScopedRuntimeContext({\n ..._internalApiGetRuntimeContext()!,\n data,\n pendingPermissionsPreCheck: [],\n });\n\n scopedRuntimeContext.tplStateStoreMap ??= new Map();\n scopedRuntimeContext.formStateStoreMap ??= new Map();\n\n const rendererContext = new RendererContext(\"fragment\");\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 scopedRuntimeContext,\n rendererContext,\n []\n );\n\n const scopedStores = [...tplStateStoreScope, ...formStateStoreScope];\n\n await postAsyncRender(output, scopedRuntimeContext, scopedStores);\n\n if (output.node?.tag === RenderTag.PLACEHOLDER) {\n throw new Error(\n \"The root brick of useBrick cannot be an ignored control node\"\n );\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, scopedStores };\n}\n\nexport interface MountUseBrickResult {\n portal?: HTMLElement;\n}\n\nexport function mountUseBrick(\n { renderRoot, rendererContext, scopedStores }: 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 rendererContext.initializeMessageDispatcher();\n\n for (const store of scopedStores) {\n store.mountAsyncData();\n }\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\n/** For v2 compatibility of `doTransform` from brick-kit. */\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\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(\n settings,\n \"properties\",\n \"events\",\n \"lifeCycle\",\n \"context\",\n \"slots\",\n \"children\"\n ),\n },\n ]\n );\n}\n\nfunction getSnippetPreviewPath(snippetId: string): string {\n return `\\${APP.homepage}/_dev_only_/snippet-preview/${snippetId}`;\n}\n\nexport function updateStoryboardBySnippet(\n appId: string,\n snippetData: {\n snippetId: string;\n bricks?: BrickConf[];\n context?: ContextConf[];\n }\n): void {\n _updatePreviewSettings(\n appId,\n getSnippetPreviewPath(snippetData.snippetId),\n snippetData.bricks?.length ? snippetData.bricks : [{ brick: \"span\" }],\n snippetData.context\n );\n}\n\nexport const updateSnippetPreviewSettings = updateStoryboardBySnippet;\n\nfunction _updatePreviewSettings(\n appId: string,\n path: string,\n bricks: BrickConf[],\n context?: ContextConf[]\n) {\n const { routes } = _internalApiGetStoryboardInBootstrapData(appId)!;\n const previewRouteIndex = routes.findIndex((route) => route.path === path);\n const newPreviewRoute: RouteConf = {\n path,\n bricks,\n context,\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\nexport function getContextValue(\n name: string,\n { tplStateStoreId }: DataValueOption\n): unknown {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getValue(name);\n }\n\n return runtimeContext.ctxStore.getValue(name);\n}\n\nexport function getAllContextValues({\n tplStateStoreId,\n}: DataValueOption): Record<string, unknown> {\n const runtimeContext = _internalApiGetRuntimeContext()!;\n\n if (tplStateStoreId) {\n const tplStateStore = getTplStateStore(\n {\n ...runtimeContext,\n tplStateStoreId,\n },\n \"STATE\"\n );\n return tplStateStore.getAllValues();\n }\n\n return runtimeContext.ctxStore.getAllValues();\n}\n\nexport function getBrickPackagesById(id: string) {\n return getBrickPackages().find((pkg) =>\n pkg.id ? pkg.id === id : pkg.filePath.startsWith(id)\n );\n}\n\nexport function getRenderId() {\n return _internalApiGetRenderId();\n}\n\nexport async function getAddedContracts(\n storyboardPatch: PreviewStoryboardPatch,\n { appId, updateStoryboardType, collectUsedContracts }: PreviewOption\n): Promise<string[]> {\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId);\n let updatedStoryboard;\n\n // 拿到更新部分的 storyboard 配置,然后扫描一遍,找到新增的 contracts\n if (updateStoryboardType === \"route\") {\n updatedStoryboard = {\n routes: [storyboardPatch as RouteConf],\n } as Storyboard;\n } else if (updateStoryboardType === \"template\") {\n updatedStoryboard = {\n meta: {\n customTemplates: [storyboardPatch as CustomTemplate],\n },\n } as Storyboard;\n } else if (updateStoryboardType === \"snippet\") {\n // snippet 是放在挂载 route 里预览,通过 previewPath 拿到当前修改 route\n const snippetPreviewPath = getSnippetPreviewPath(\n (storyboardPatch as RuntimeSnippet).snippetId\n );\n const currentRoute = storyboard?.routes?.find(\n (route) => route.path === snippetPreviewPath\n );\n\n updatedStoryboard = {\n routes: [currentRoute],\n } as Storyboard;\n }\n\n const addedContracts: string[] = [];\n\n if (updatedStoryboard && collectUsedContracts) {\n const contractApis = await collectUsedContracts(updatedStoryboard);\n\n contractApis.forEach((api: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_, namespaceId, name] = api.match(\n /(.*)@(.*):\\d\\.\\d\\.\\d/\n ) as string[];\n\n if (\n !storyboard?.meta?.contracts?.some(\n (contract) =>\n contract.namespaceId === namespaceId && contract.name === name\n )\n ) {\n addedContracts.push(api);\n }\n });\n }\n\n return addedContracts;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setUIVersion.js","names":["setUIVersion","version","ui","document","documentElement","dataset"],"sources":["../../src/setUIVersion.ts"],"sourcesContent":["export function setUIVersion(version: string | undefined | null) {\n // 仅允许特定的 UI 版本\n let ui: string;\n switch (version) {\n case \"8.2\":\n ui = \"v8-2\";\n break;\n default:\n ui = \"v8\";\n }\n document.documentElement.dataset.ui = ui;\n}\n"],"mappings":"AAAA,OAAO,SAASA,YAAYA,CAACC,OAAkC,EAAE;EAC/D;EACA,IAAIC,EAAU;EACd,QAAQD,OAAO;IACb,KAAK,KAAK;MACRC,EAAE,GAAG,MAAM;MACX;IACF;MACEA,EAAE,GAAG,IAAI;EACb;EACAC,QAAQ,CAACC,eAAe,CAACC,OAAO,CAACH,EAAE,GAAGA,EAAE;AAC1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function setUIVersion(version: string | undefined | null): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-core/runtime",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.6",
|
|
4
4
|
"homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"repository": {
|
|
@@ -65,5 +65,5 @@
|
|
|
65
65
|
"@next-core/build-next-libs": "^1.0.8",
|
|
66
66
|
"@next-core/test-next": "^1.0.11"
|
|
67
67
|
},
|
|
68
|
-
"gitHead": "
|
|
68
|
+
"gitHead": "180674bd983cdf44c0709841e5ea08d2c5ac4bca"
|
|
69
69
|
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.setUIClassName = setUIClassName;
|
|
7
|
-
function setUIClassName(version = "8") {
|
|
8
|
-
let lastVersion = "";
|
|
9
|
-
document.body.classList.forEach(item => {
|
|
10
|
-
if (item.startsWith("ui")) {
|
|
11
|
-
lastVersion = item;
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
if (lastVersion) {
|
|
15
|
-
document.body.classList.remove(lastVersion);
|
|
16
|
-
}
|
|
17
|
-
const getUIClassName = version => {
|
|
18
|
-
return `ui-v${version.split(".").join("-")}`;
|
|
19
|
-
};
|
|
20
|
-
document.body.classList.add(getUIClassName(version));
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=setUIClassName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setUIClassName.js","names":["setUIClassName","version","lastVersion","document","body","classList","forEach","item","startsWith","remove","getUIClassName","split","join","add"],"sources":["../../src/setUIClassName.ts"],"sourcesContent":["export function setUIClassName(version = \"8\") {\n let lastVersion = \"\";\n document.body.classList.forEach((item) => {\n if (item.startsWith(\"ui\")) {\n lastVersion = item;\n }\n });\n\n if (lastVersion) {\n document.body.classList.remove(lastVersion);\n }\n\n const getUIClassName = (version: string): string => {\n return `ui-v${version.split(\".\").join(\"-\")}`;\n };\n\n document.body.classList.add(getUIClassName(version));\n}\n"],"mappings":";;;;;;AAAO,SAASA,cAAcA,CAACC,OAAO,GAAG,GAAG,EAAE;EAC5C,IAAIC,WAAW,GAAG,EAAE;EACpBC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,OAAO,CAAEC,IAAI,IAAK;IACxC,IAAIA,IAAI,CAACC,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBN,WAAW,GAAGK,IAAI;IACpB;EACF,CAAC,CAAC;EAEF,IAAIL,WAAW,EAAE;IACfC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACI,MAAM,CAACP,WAAW,CAAC;EAC7C;EAEA,MAAMQ,cAAc,GAAIT,OAAe,IAAa;IAClD,OAAQ,OAAMA,OAAO,CAACU,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAE,EAAC;EAC9C,CAAC;EAEDT,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACQ,GAAG,CAACH,cAAc,CAACT,OAAO,CAAC,CAAC;AACtD"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function setUIClassName() {
|
|
2
|
-
var version = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "8";
|
|
3
|
-
var lastVersion = "";
|
|
4
|
-
document.body.classList.forEach(item => {
|
|
5
|
-
if (item.startsWith("ui")) {
|
|
6
|
-
lastVersion = item;
|
|
7
|
-
}
|
|
8
|
-
});
|
|
9
|
-
if (lastVersion) {
|
|
10
|
-
document.body.classList.remove(lastVersion);
|
|
11
|
-
}
|
|
12
|
-
var getUIClassName = version => {
|
|
13
|
-
return "ui-v".concat(version.split(".").join("-"));
|
|
14
|
-
};
|
|
15
|
-
document.body.classList.add(getUIClassName(version));
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=setUIClassName.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setUIClassName.js","names":["setUIClassName","version","arguments","length","undefined","lastVersion","document","body","classList","forEach","item","startsWith","remove","getUIClassName","concat","split","join","add"],"sources":["../../src/setUIClassName.ts"],"sourcesContent":["export function setUIClassName(version = \"8\") {\n let lastVersion = \"\";\n document.body.classList.forEach((item) => {\n if (item.startsWith(\"ui\")) {\n lastVersion = item;\n }\n });\n\n if (lastVersion) {\n document.body.classList.remove(lastVersion);\n }\n\n const getUIClassName = (version: string): string => {\n return `ui-v${version.split(\".\").join(\"-\")}`;\n };\n\n document.body.classList.add(getUIClassName(version));\n}\n"],"mappings":"AAAA,OAAO,SAASA,cAAcA,CAAA,EAAgB;EAAA,IAAfC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EAC1C,IAAIG,WAAW,GAAG,EAAE;EACpBC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACC,OAAO,CAAEC,IAAI,IAAK;IACxC,IAAIA,IAAI,CAACC,UAAU,CAAC,IAAI,CAAC,EAAE;MACzBN,WAAW,GAAGK,IAAI;IACpB;EACF,CAAC,CAAC;EAEF,IAAIL,WAAW,EAAE;IACfC,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACI,MAAM,CAACP,WAAW,CAAC;EAC7C;EAEA,IAAMQ,cAAc,GAAIZ,OAAe,IAAa;IAClD,cAAAa,MAAA,CAAcb,OAAO,CAACc,KAAK,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;EAC5C,CAAC;EAEDV,QAAQ,CAACC,IAAI,CAACC,SAAS,CAACS,GAAG,CAACJ,cAAc,CAACZ,OAAO,CAAC,CAAC;AACtD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function setUIClassName(version?: string): void;
|