@next-core/runtime 1.44.2 → 1.44.4
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/CustomProcessors.js.map +1 -1
- package/dist/cjs/CustomTemplates.js +7 -11
- package/dist/cjs/CustomTemplates.js.map +1 -1
- package/dist/cjs/createRoot.js +4 -4
- package/dist/cjs/createRoot.js.map +1 -1
- package/dist/cjs/getPageInfo.js.map +1 -1
- package/dist/cjs/handleHttpError.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +4 -5
- package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +4 -7
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +21 -24
- package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +4 -7
- package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
- package/dist/cjs/internal/CustomTemplates/utils.js +3 -3
- package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -1
- package/dist/cjs/internal/FormRenderer/expandFormRenderer.js +3 -3
- package/dist/cjs/internal/FormRenderer/expandFormRenderer.js.map +1 -1
- package/dist/cjs/internal/FormRenderer/utils.js +2 -2
- package/dist/cjs/internal/FormRenderer/utils.js.map +1 -1
- package/dist/cjs/internal/Renderer.js +8 -14
- package/dist/cjs/internal/Renderer.js.map +1 -1
- package/dist/cjs/internal/RendererContext.js +8 -10
- package/dist/cjs/internal/RendererContext.js.map +1 -1
- package/dist/cjs/internal/Router.js.map +1 -1
- package/dist/cjs/internal/Runtime.js +19 -16
- package/dist/cjs/internal/Runtime.js.map +1 -1
- package/dist/cjs/internal/bindListeners.js +2 -3
- package/dist/cjs/internal/bindListeners.js.map +1 -1
- package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -1
- package/dist/cjs/internal/compute/evaluate.js +4 -4
- package/dist/cjs/internal/compute/evaluate.js.map +1 -1
- package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/cjs/internal/compute/getStorageItem.js +1 -2
- package/dist/cjs/internal/compute/getStorageItem.js.map +1 -1
- package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -1
- package/dist/cjs/internal/compute/setRealProperties.js.map +1 -1
- package/dist/cjs/internal/data/DataStore.js.map +1 -1
- package/dist/cjs/internal/data/getProviderBrick.js.map +1 -1
- package/dist/cjs/internal/data/realTimeDataInspect.js.map +1 -1
- package/dist/cjs/internal/data/resolveData.js.map +1 -1
- package/dist/cjs/internal/data/resolveDataStore.js +2 -4
- package/dist/cjs/internal/data/resolveDataStore.js.map +1 -1
- package/dist/cjs/internal/hasInstalledApp.js.map +1 -1
- package/dist/cjs/internal/historyExtended.js.map +1 -1
- package/dist/cjs/internal/matchPath.js.map +1 -1
- package/dist/cjs/internal/matchRoutes.js.map +1 -1
- package/dist/cjs/internal/matchStoryboard.js +2 -2
- package/dist/cjs/internal/matchStoryboard.js.map +1 -1
- package/dist/cjs/internal/mediaQuery.js.map +1 -1
- package/dist/cjs/internal/mount.js.map +1 -1
- package/dist/cjs/internal/poll.js +3 -3
- package/dist/cjs/internal/poll.js.map +1 -1
- package/dist/cjs/internal/registerAppI18n.js.map +1 -1
- package/dist/cjs/internal/registerCustomTemplates.js.map +1 -1
- package/dist/cjs/internal/secret_internals.js +4 -4
- package/dist/cjs/internal/secret_internals.js.map +1 -1
- package/dist/cjs/internal/setupRootRuntimeContext.js +2 -3
- package/dist/cjs/internal/setupRootRuntimeContext.js.map +1 -1
- package/dist/cjs/isStrictMode.js.map +1 -1
- package/dist/cjs/setLoginStateCookie.js.map +1 -1
- package/dist/cjs/setWatermark.js +4 -4
- package/dist/cjs/setWatermark.js.map +1 -1
- package/dist/cjs/themeAndMode.js +1 -2
- package/dist/cjs/themeAndMode.js.map +1 -1
- package/dist/esm/CustomProcessors.js +5 -5
- package/dist/esm/CustomProcessors.js.map +1 -1
- package/dist/esm/CustomTemplates.js +48 -58
- package/dist/esm/CustomTemplates.js.map +1 -1
- package/dist/esm/Dialog.js +3 -3
- package/dist/esm/Dialog.js.map +1 -1
- package/dist/esm/Notification.js +2 -2
- package/dist/esm/Notification.js.map +1 -1
- package/dist/esm/StoryboardFunctionRegistry.js +18 -18
- package/dist/esm/StoryboardFunctionRegistry.js.map +1 -1
- package/dist/esm/createRoot.js +125 -129
- package/dist/esm/createRoot.js.map +1 -1
- package/dist/esm/fetchByProvider.js +3 -10
- package/dist/esm/fetchByProvider.js.map +1 -1
- package/dist/esm/getBasePath.js +2 -2
- package/dist/esm/getBasePath.js.map +1 -1
- package/dist/esm/getPageInfo.js +5 -5
- package/dist/esm/getPageInfo.js.map +1 -1
- package/dist/esm/getRealValue.js +7 -6
- package/dist/esm/getRealValue.js.map +1 -1
- package/dist/esm/getV2RuntimeFromDll.js +1 -1
- package/dist/esm/getV2RuntimeFromDll.js.map +1 -1
- package/dist/esm/handleHttpError.js +11 -11
- package/dist/esm/handleHttpError.js.map +1 -1
- package/dist/esm/history.js +4 -4
- package/dist/esm/history.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +13 -17
- package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/constants.js +5 -5
- package/dist/esm/internal/CustomTemplates/constants.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +41 -42
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +43 -46
- package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js +16 -18
- package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -1
- package/dist/esm/internal/CustomTemplates/utils.js +8 -8
- package/dist/esm/internal/CustomTemplates/utils.js.map +1 -1
- package/dist/esm/internal/FormRenderer/constants.js +2 -2
- package/dist/esm/internal/FormRenderer/constants.js.map +1 -1
- package/dist/esm/internal/FormRenderer/expandFormRenderer.js +28 -23
- package/dist/esm/internal/FormRenderer/expandFormRenderer.js.map +1 -1
- package/dist/esm/internal/FormRenderer/getDefaultProperties.js +45 -22
- package/dist/esm/internal/FormRenderer/getDefaultProperties.js.map +1 -1
- package/dist/esm/internal/FormRenderer/utils.js +4 -4
- package/dist/esm/internal/FormRenderer/utils.js.map +1 -1
- package/dist/esm/internal/Renderer.js +517 -580
- package/dist/esm/internal/Renderer.js.map +1 -1
- package/dist/esm/internal/RendererContext.js +132 -148
- package/dist/esm/internal/RendererContext.js.map +1 -1
- package/dist/esm/internal/Router.js +325 -346
- package/dist/esm/internal/Router.js.map +1 -1
- package/dist/esm/internal/Runtime.js +58 -53
- package/dist/esm/internal/Runtime.js.map +1 -1
- package/dist/esm/internal/abortController.js +7 -6
- package/dist/esm/internal/abortController.js.map +1 -1
- package/dist/esm/internal/bindListeners.js +136 -156
- package/dist/esm/internal/bindListeners.js.map +1 -1
- package/dist/esm/internal/compute/StoryboardFunctions.js +1 -1
- package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -1
- package/dist/esm/internal/compute/WidgetFunctions.js +6 -6
- package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -1
- package/dist/esm/internal/compute/WidgetI18n.js +4 -4
- package/dist/esm/internal/compute/WidgetI18n.js.map +1 -1
- package/dist/esm/internal/compute/checkIf.js +10 -23
- package/dist/esm/internal/compute/checkIf.js.map +1 -1
- package/dist/esm/internal/compute/computeRealProperties.js +22 -35
- package/dist/esm/internal/compute/computeRealProperties.js.map +1 -1
- package/dist/esm/internal/compute/computeRealValue.js +42 -49
- package/dist/esm/internal/compute/computeRealValue.js.map +1 -1
- package/dist/esm/internal/compute/evaluate.js +71 -75
- package/dist/esm/internal/compute/evaluate.js.map +1 -1
- package/dist/esm/internal/compute/getGeneralGlobals.js +5 -5
- package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -1
- package/dist/esm/internal/compute/getNextStateOfUseBrick.js +1 -1
- package/dist/esm/internal/compute/getStorageItem.js +2 -3
- package/dist/esm/internal/compute/getStorageItem.js.map +1 -1
- package/dist/esm/internal/compute/getTracks.js +5 -5
- package/dist/esm/internal/compute/getTracks.js.map +1 -1
- package/dist/esm/internal/compute/listenOnTrackingContext.js +8 -11
- package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -1
- package/dist/esm/internal/compute/markAsComputed.js +2 -2
- package/dist/esm/internal/compute/markAsComputed.js.map +1 -1
- package/dist/esm/internal/compute/setProperties.js +1 -1
- package/dist/esm/internal/compute/setProperties.js.map +1 -1
- package/dist/esm/internal/compute/setRealProperties.js +3 -3
- package/dist/esm/internal/compute/setRealProperties.js.map +1 -1
- package/dist/esm/internal/customizeColorTheme.js +15 -13
- package/dist/esm/internal/customizeColorTheme.js.map +1 -1
- package/dist/esm/internal/data/DataStore.js +161 -177
- package/dist/esm/internal/data/DataStore.js.map +1 -1
- package/dist/esm/internal/data/getProviderBrick.js +21 -28
- package/dist/esm/internal/data/getProviderBrick.js.map +1 -1
- package/dist/esm/internal/data/realTimeDataInspect.js +5 -5
- package/dist/esm/internal/data/realTimeDataInspect.js.map +1 -1
- package/dist/esm/internal/data/resolveData.js +89 -103
- package/dist/esm/internal/data/resolveData.js.map +1 -1
- package/dist/esm/internal/data/resolveDataStore.js +53 -67
- package/dist/esm/internal/data/resolveDataStore.js.map +1 -1
- package/dist/esm/internal/devtools.js +9 -9
- package/dist/esm/internal/devtools.js.map +1 -1
- package/dist/esm/internal/enums.js +1 -1
- package/dist/esm/internal/fulfilStoryboard.js +15 -28
- package/dist/esm/internal/fulfilStoryboard.js.map +1 -1
- package/dist/esm/internal/hasInstalledApp.js +3 -3
- package/dist/esm/internal/hasInstalledApp.js.map +1 -1
- package/dist/esm/internal/historyExtended.js +40 -37
- package/dist/esm/internal/historyExtended.js.map +1 -1
- package/dist/esm/internal/i18n.js +5 -5
- package/dist/esm/internal/i18n.js.map +1 -1
- package/dist/esm/internal/injected.js +1 -1
- package/dist/esm/internal/injected.js.map +1 -1
- package/dist/esm/internal/insertPreviewRoutes.js +3 -3
- package/dist/esm/internal/insertPreviewRoutes.js.map +1 -1
- package/dist/esm/internal/matchPath.js +17 -17
- package/dist/esm/internal/matchPath.js.map +1 -1
- package/dist/esm/internal/matchRoutes.js +18 -25
- package/dist/esm/internal/matchRoutes.js.map +1 -1
- package/dist/esm/internal/matchStoryboard.js +6 -6
- package/dist/esm/internal/matchStoryboard.js.map +1 -1
- package/dist/esm/internal/mediaQuery.js +11 -11
- package/dist/esm/internal/mediaQuery.js.map +1 -1
- package/dist/esm/internal/mount.js +7 -7
- package/dist/esm/internal/mount.js.map +1 -1
- package/dist/esm/internal/poll.js +53 -60
- package/dist/esm/internal/poll.js.map +1 -1
- package/dist/esm/internal/proxyFactories.js +4 -4
- package/dist/esm/internal/proxyFactories.js.map +1 -1
- package/dist/esm/internal/registerAppI18n.js +6 -6
- package/dist/esm/internal/registerAppI18n.js.map +1 -1
- package/dist/esm/internal/registerCustomTemplates.js +3 -3
- package/dist/esm/internal/registerCustomTemplates.js.map +1 -1
- package/dist/esm/internal/secret_internals.js +140 -146
- package/dist/esm/internal/secret_internals.js.map +1 -1
- package/dist/esm/internal/setupRootRuntimeContext.js +6 -7
- package/dist/esm/internal/setupRootRuntimeContext.js.map +1 -1
- package/dist/esm/internal/sse.js +24 -53
- package/dist/esm/internal/sse.js.map +1 -1
- package/dist/esm/internal/test_only.js +1 -1
- package/dist/esm/isStrictMode.js +3 -3
- package/dist/esm/isStrictMode.js.map +1 -1
- package/dist/esm/setAppVariable.js +1 -1
- package/dist/esm/setAppVariable.js.map +1 -1
- package/dist/esm/setLoginStateCookie.js +5 -5
- package/dist/esm/setLoginStateCookie.js.map +1 -1
- package/dist/esm/setUIVersion.js +1 -1
- package/dist/esm/setWatermark.js +13 -13
- package/dist/esm/setWatermark.js.map +1 -1
- package/dist/esm/themeAndMode.js +14 -13
- package/dist/esm/themeAndMode.js.map +1 -1
- package/dist/types/tsdoc-metadata.json +1 -1
- package/package.json +12 -12
|
@@ -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","setUIVersion","setAppVariable","setWatermark","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_assertClassBrand","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","_this","renderId","listen","_ref","_asyncToGenerator","_classPrivateFieldGet2","_location$state","_location$state2","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","_objectSpread","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","pathname","reload","_queuedRender","catch","_x","_x2","apply","arguments","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","from","_this$redirectCount","_this$redirectCount2","concat","search","process","env","NODE_ENV","console","error","Error","replace","_x3","_queuedRender2","_render","nextLocation","_x4","_render2","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_storyboard$app","_this2","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","appId","version","currentVersion","appChanged","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","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","dataset","errorBoundary","style","color","runtimeContext","return","blockingList","rendererContext","query","URLSearchParams","sys","auth","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","meta","functions","collectContract","contracts","stores","rootMenuRequestNode","routes","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","route","dispatchBeforePageLoad","uiVersion","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 {\n MenuRequestNode,\n RenderBrick,\n RenderRoot,\n RuntimeContext,\n} 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\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.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 && !location.state?.noIncremental) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n this.#prevLocation\n );\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 const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n setWatermark();\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 window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\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 dataset: {\n errorBoundary: \"\",\n },\n style: {\n color: \"var(--color-error)\",\n },\n },\n runtimeContext: null!,\n return: returnNode,\n },\n blockingList: [],\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 const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\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 setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n 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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","ignoreList":[]}
|
|
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","setAppVariable","setWatermark","_storyboards","WeakMap","_rendering","_prevLocation","_nextLocation","_runtimeContext","_rendererContext","_rendererContextTrashCan","_redirectCount","_renderId","_currentApp","_previousApp","_navConfig","_Router_brand","WeakSet","Router","constructor","storyboards","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Set","_classPrivateFieldSet","history","window","addEventListener","event","message","_assertClassBrand","_getBlockMessageBeforePageLave","call","preventDefault","returnValue","block","location","action","getRenderId","_classPrivateFieldGet","getRuntimeContext","getRecentApps","currentApp","previousApp","getNavConfig","bootstrap","renderId","listen","_classPrivateFieldGet2","_location$state","_location$state2","_classPrivateFieldGet4","currentRenderId","ignoreRendering","omittedLocationProps","hash","undefined","state","key","notify","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","pathname","reload","_queuedRender","catch","detail","_classPrivateFieldGet5","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","from","_this$redirectCount","_this$redirectCount2","search","process","env","NODE_ENV","console","error","Error","replace","_render","nextLocation","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet6","_storyboard$app","flowApi","clearCollectWidgetContract","finishPageView","pageView","create","app","currentAppId","id","BOOTSTRAP_UNION_FILE","appId","version","currentVersion","appChanged","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","routeHelper","bailout","output","unauthenticated","redirect","path","mergeMenus","menuRequests","menuConfs","Promise","all","mergeMenuConfs","returnNode","NO_AUTH_GUARD","noAuthGuardLoginPath","getMiscSettings","failed","node","BRICK","type","properties","textContent","dataset","errorBoundary","style","color","runtimeContext","return","blockingList","rendererContext","query","URLSearchParams","sys","auth","getAuth","settings","brand","getBrandSettings","ctxStore","pendingPermissionsPreCheck","checkPermissions","preCheckPermissions","tplStateStoreMap","Map","formStateStoreMap","meta","functions","collectContract","contracts","stores","rootMenuRequestNode","routes","child","menuRequestNode","setInitialMenuRequestNode","getMenuRequests","result","route","dispatchBeforePageLoad","uiVersion","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 {\n MenuRequestNode,\n RenderBrick,\n RenderRoot,\n RuntimeContext,\n} 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\";\nimport { setAppVariable } from \"../setAppVariable.js\";\nimport { setWatermark } from \"../setWatermark.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 && !location.state?.noIncremental) {\n ignoreRendering =\n await this.#rendererContext?.didPerformIncrementalRender(\n location,\n this.#prevLocation\n );\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 const currentAppId = storyboard?.app?.id;\n // dynamically change the value of the APP variable, if it's union app\n if (\n window.BOOTSTRAP_UNION_FILE &&\n currentAppId &&\n currentAppId !== previousApp?.id\n ) {\n setAppVariable({\n appId: currentAppId,\n version: storyboard.app.currentVersion!,\n });\n }\n\n if (storyboard?.app) {\n await fulfilStoryboard(storyboard);\n }\n\n const currentApp = (this.#currentApp = storyboard?.app);\n\n setWatermark();\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 window.dispatchEvent(\n new CustomEvent(\"navConfig.change\", { detail: this.#navConfig })\n );\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 dataset: {\n errorBoundary: \"\",\n },\n style: {\n color: \"var(--color-error)\",\n },\n },\n runtimeContext: null!,\n return: returnNode,\n },\n blockingList: [],\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 const rootMenuRequestNode: MenuRequestNode = {};\n output = await renderRoutes(\n renderRoot,\n insertPreviewRoutes(storyboard.routes),\n runtimeContext,\n rendererContext,\n [],\n rootMenuRequestNode\n );\n if (routeHelper.bailout(output)) {\n return;\n }\n\n stores = getDataStores(runtimeContext);\n\n await postAsyncRender(output, runtimeContext, stores);\n\n rootMenuRequestNode.child = output.menuRequestNode;\n rendererContext.setInitialMenuRequestNode(rootMenuRequestNode);\n await routeHelper.mergeMenus(rendererContext.getMenuRequests());\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 setUIVersion(currentApp?.uiVersion);\n mountTree(renderRoot);\n\n // Scroll to top after each rendering.\n // See https://github.com/ReactTraining/react-router/blob/master/packages/react-router-dom/docs/guides/scroll-restoration.md\n window.scrollTo(0, 0);\n\n if (!failed) {\n rendererContext.dispatchPageLoad();\n rendererContext.dispatchAnchorLoad();\n rendererContext.dispatchOnMount();\n rendererContext.initializeScrollIntoView();\n rendererContext.initializeMediaChange();\n 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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","ignoreList":[]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
1
|
import _classPrivateMethodInitSpec from "@babel/runtime/helpers/classPrivateMethodInitSpec";
|
|
4
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
5
3
|
import _classPrivateFieldInitSpec from "@babel/runtime/helpers/classPrivateFieldInitSpec";
|
|
@@ -22,12 +20,12 @@ import { hasInstalledApp } from "./hasInstalledApp.js";
|
|
|
22
20
|
import { listenDevtoolsEagerly } from "./devtools.js";
|
|
23
21
|
import { getV2RuntimeFromDll } from "../getV2RuntimeFromDll.js";
|
|
24
22
|
import { customizeColorTheme } from "./customizeColorTheme.js";
|
|
25
|
-
|
|
23
|
+
let runtime;
|
|
26
24
|
|
|
27
25
|
// Allow inject bootstrap data in a runtime other than Brick Next.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
export
|
|
26
|
+
let bootstrapData;
|
|
27
|
+
let router;
|
|
28
|
+
export let hooks;
|
|
31
29
|
export function createRuntime(options) {
|
|
32
30
|
if (runtime) {
|
|
33
31
|
throw new Error("Cannot create multiple runtimes");
|
|
@@ -49,12 +47,12 @@ function getRuntimeV3() {
|
|
|
49
47
|
|
|
50
48
|
// istanbul ignore next
|
|
51
49
|
function getRuntimeV2Factory() {
|
|
52
|
-
|
|
50
|
+
const v2Kit = getV2RuntimeFromDll();
|
|
53
51
|
if (v2Kit) {
|
|
54
52
|
return function getRuntimeV2() {
|
|
55
53
|
return new Proxy(v2Kit.getRuntime(), {
|
|
56
54
|
get() {
|
|
57
|
-
|
|
55
|
+
const key = arguments.length <= 1 ? undefined : arguments[1];
|
|
58
56
|
switch (key) {
|
|
59
57
|
case "getCurrentApp":
|
|
60
58
|
case "getRecentApps":
|
|
@@ -77,7 +75,7 @@ function getRuntimeV2Factory() {
|
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
// istanbul ignore next
|
|
80
|
-
export
|
|
78
|
+
export const getRuntime = getRuntimeV2Factory() || getRuntimeV3;
|
|
81
79
|
var _initialized = /*#__PURE__*/new WeakMap();
|
|
82
80
|
var _bootstrapped = /*#__PURE__*/new WeakMap();
|
|
83
81
|
var _Runtime_brand = /*#__PURE__*/new WeakSet();
|
|
@@ -96,35 +94,32 @@ export class Runtime {
|
|
|
96
94
|
_classPrivateFieldSet(_initialized, this, true);
|
|
97
95
|
normalizeBootstrapData(data);
|
|
98
96
|
bootstrapData = data;
|
|
99
|
-
|
|
97
|
+
const {
|
|
100
98
|
notification,
|
|
101
99
|
dialog
|
|
102
100
|
} = _assertClassBrand(_Runtime_brand, this, _getPresetBricks).call(this);
|
|
103
101
|
if (notification !== false) {
|
|
104
|
-
loadNotificationService(notification
|
|
102
|
+
loadNotificationService(notification ?? "basic.show-notification", this.loadBricks);
|
|
105
103
|
}
|
|
106
104
|
if (dialog !== false) {
|
|
107
|
-
loadDialogService(dialog
|
|
105
|
+
loadDialogService(dialog ?? "basic.show-dialog", this.loadBricks);
|
|
108
106
|
}
|
|
109
107
|
customizeColorTheme((_data$settings = data.settings) === null || _data$settings === void 0 || (_data$settings = _data$settings.misc) === null || _data$settings === void 0 ? void 0 : _data$settings.theme);
|
|
110
108
|
}
|
|
111
|
-
bootstrap(data) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
router = new Router(bootstrapData.storyboards);
|
|
122
|
-
yield router.bootstrap();
|
|
123
|
-
})();
|
|
109
|
+
async bootstrap(data) {
|
|
110
|
+
if (data) {
|
|
111
|
+
this.initialize(data);
|
|
112
|
+
}
|
|
113
|
+
if (_classPrivateFieldGet(_bootstrapped, this)) {
|
|
114
|
+
throw new Error("The runtime cannot be bootstrapped more than once");
|
|
115
|
+
}
|
|
116
|
+
_classPrivateFieldSet(_bootstrapped, this, true);
|
|
117
|
+
router = new Router(bootstrapData.storyboards);
|
|
118
|
+
await router.bootstrap();
|
|
124
119
|
}
|
|
125
120
|
getRecentApps() {
|
|
126
|
-
var _router
|
|
127
|
-
return (
|
|
121
|
+
var _router;
|
|
122
|
+
return ((_router = router) === null || _router === void 0 ? void 0 : _router.getRecentApps()) ?? {};
|
|
128
123
|
}
|
|
129
124
|
getCurrentApp() {
|
|
130
125
|
var _router2;
|
|
@@ -135,41 +130,48 @@ export class Runtime {
|
|
|
135
130
|
}
|
|
136
131
|
getFeatureFlags() {
|
|
137
132
|
var _bootstrapData, _router3;
|
|
138
|
-
return
|
|
133
|
+
return {
|
|
134
|
+
...((_bootstrapData = bootstrapData) === null || _bootstrapData === void 0 || (_bootstrapData = _bootstrapData.settings) === null || _bootstrapData === void 0 ? void 0 : _bootstrapData.featureFlags),
|
|
135
|
+
...((_router3 = router) === null || _router3 === void 0 || (_router3 = _router3.getRecentApps().currentApp) === null || _router3 === void 0 || (_router3 = _router3.config) === null || _router3 === void 0 || (_router3 = _router3.settings) === null || _router3 === void 0 ? void 0 : _router3.featureFlags),
|
|
139
136
|
"migrate-to-brick-next-v3": true
|
|
140
|
-
}
|
|
137
|
+
};
|
|
141
138
|
}
|
|
142
139
|
getMiscSettings() {
|
|
143
140
|
var _bootstrapData2, _router4;
|
|
144
|
-
return
|
|
141
|
+
return {
|
|
142
|
+
...((_bootstrapData2 = bootstrapData) === null || _bootstrapData2 === void 0 || (_bootstrapData2 = _bootstrapData2.settings) === null || _bootstrapData2 === void 0 ? void 0 : _bootstrapData2.misc),
|
|
143
|
+
...((_router4 = router) === null || _router4 === void 0 || (_router4 = _router4.getRecentApps().currentApp) === null || _router4 === void 0 || (_router4 = _router4.config) === null || _router4 === void 0 || (_router4 = _router4.settings) === null || _router4 === void 0 ? void 0 : _router4.misc)
|
|
144
|
+
};
|
|
145
145
|
}
|
|
146
146
|
getBrandSettings() {
|
|
147
147
|
var _bootstrapData3;
|
|
148
|
-
return
|
|
149
|
-
base_title: "DevOps 管理专家"
|
|
150
|
-
|
|
148
|
+
return {
|
|
149
|
+
base_title: "DevOps 管理专家",
|
|
150
|
+
...((_bootstrapData3 = bootstrapData) === null || _bootstrapData3 === void 0 || (_bootstrapData3 = _bootstrapData3.settings) === null || _bootstrapData3 === void 0 ? void 0 : _bootstrapData3.brand)
|
|
151
|
+
};
|
|
151
152
|
}
|
|
152
153
|
getLaunchpadSettings() {
|
|
153
154
|
var _bootstrapData4;
|
|
154
|
-
return
|
|
155
|
+
return {
|
|
155
156
|
columns: 7,
|
|
156
|
-
rows: 4
|
|
157
|
-
|
|
157
|
+
rows: 4,
|
|
158
|
+
...((_bootstrapData4 = bootstrapData) === null || _bootstrapData4 === void 0 || (_bootstrapData4 = _bootstrapData4.settings) === null || _bootstrapData4 === void 0 ? void 0 : _bootstrapData4.launchpad)
|
|
159
|
+
};
|
|
158
160
|
}
|
|
159
161
|
getDesktops() {
|
|
160
|
-
var
|
|
161
|
-
return (
|
|
162
|
+
var _bootstrapData5;
|
|
163
|
+
return ((_bootstrapData5 = bootstrapData) === null || _bootstrapData5 === void 0 ? void 0 : _bootstrapData5.desktops) ?? [];
|
|
162
164
|
}
|
|
163
165
|
getLaunchpadSiteMap() {
|
|
164
|
-
var
|
|
165
|
-
return (
|
|
166
|
+
var _bootstrapData6;
|
|
167
|
+
return ((_bootstrapData6 = bootstrapData) === null || _bootstrapData6 === void 0 ? void 0 : _bootstrapData6.siteSort) ?? [];
|
|
166
168
|
}
|
|
167
169
|
toggleLaunchpadEffect(open) {
|
|
168
170
|
document.body.classList.toggle("launchpad-open", open);
|
|
169
171
|
}
|
|
170
172
|
applyPageTitle(pageTitle) {
|
|
171
|
-
|
|
172
|
-
document.title = pageTitle ?
|
|
173
|
+
const baseTitle = this.getBrandSettings().base_title;
|
|
174
|
+
document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;
|
|
173
175
|
}
|
|
174
176
|
getNavConfig() {
|
|
175
177
|
var _router5;
|
|
@@ -180,8 +182,8 @@ export class Runtime {
|
|
|
180
182
|
}
|
|
181
183
|
}
|
|
182
184
|
function _getPresetBricks() {
|
|
183
|
-
var
|
|
184
|
-
return (
|
|
185
|
+
var _bootstrapData10;
|
|
186
|
+
return ((_bootstrapData10 = bootstrapData) === null || _bootstrapData10 === void 0 || (_bootstrapData10 = _bootstrapData10.settings) === null || _bootstrapData10 === void 0 ? void 0 : _bootstrapData10.presetBricks) ?? {};
|
|
185
187
|
}
|
|
186
188
|
function normalizeBootstrapData(data) {
|
|
187
189
|
if (isObject(data.settings)) {
|
|
@@ -193,26 +195,29 @@ function normalizeBootstrapData(data) {
|
|
|
193
195
|
}
|
|
194
196
|
function processPublicDepsPackages(brickPackages, pubDeps) {
|
|
195
197
|
if (!(pubDeps !== null && pubDeps !== void 0 && pubDeps.length)) return brickPackages;
|
|
196
|
-
|
|
198
|
+
const bricksMap = new Map();
|
|
197
199
|
|
|
198
200
|
// bootstrapData 数据和 pubDeps 中可能同时存在同一个包名,需要过滤去重, 以 pubDeps 中的包为准
|
|
199
|
-
[...
|
|
200
|
-
|
|
201
|
-
|
|
201
|
+
[...pubDeps, ...brickPackages].forEach(pkg => {
|
|
202
|
+
const pkgName = pkg.filePath.split("/")[1];
|
|
203
|
+
// 始终将 pubDeps 放在前面
|
|
204
|
+
if (!bricksMap.has(pkgName)) {
|
|
205
|
+
bricksMap.set(pkgName, pkg);
|
|
206
|
+
}
|
|
202
207
|
});
|
|
203
208
|
return Array.from(bricksMap.values());
|
|
204
209
|
}
|
|
205
210
|
export function getBrickPackages() {
|
|
206
|
-
var
|
|
207
|
-
return
|
|
211
|
+
var _bootstrapData7;
|
|
212
|
+
return processPublicDepsPackages((_bootstrapData7 = bootstrapData) === null || _bootstrapData7 === void 0 ? void 0 : _bootstrapData7.brickPackages, window.PUBLIC_DEPS) ?? injectedBrickPackages ?? window.STANDALONE_BRICK_PACKAGES ?? [];
|
|
208
213
|
}
|
|
209
214
|
export function _internalApiGetRenderId() {
|
|
210
215
|
var _router6;
|
|
211
216
|
return (_router6 = router) === null || _router6 === void 0 ? void 0 : _router6.getRenderId();
|
|
212
217
|
}
|
|
213
218
|
export function _internalApiMatchStoryboard(pathname) {
|
|
214
|
-
var
|
|
215
|
-
return matchStoryboard((
|
|
219
|
+
var _bootstrapData8;
|
|
220
|
+
return matchStoryboard(((_bootstrapData8 = bootstrapData) === null || _bootstrapData8 === void 0 ? void 0 : _bootstrapData8.storyboards) ?? [], pathname);
|
|
216
221
|
}
|
|
217
222
|
export function _internalApiGetRuntimeContext() {
|
|
218
223
|
var _router7;
|
|
@@ -226,7 +231,7 @@ export function _internalApiGetAppInBootstrapData(appId) {
|
|
|
226
231
|
var _internalApiGetStoryb;
|
|
227
232
|
return (_internalApiGetStoryb = _internalApiGetStoryboardInBootstrapData(appId)) === null || _internalApiGetStoryb === void 0 ? void 0 : _internalApiGetStoryb.app;
|
|
228
233
|
}
|
|
229
|
-
export
|
|
234
|
+
export let _test_only_setBootstrapData;
|
|
230
235
|
|
|
231
236
|
// istanbul ignore next
|
|
232
237
|
if (process.env.NODE_ENV === "test") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Runtime.js","names":["i18n","initializeI18n","loadBricksImperatively","deepFreeze","isObject","moment","createHistory","matchStoryboard","Router","NS","locales","loadNotificationService","loadDialogService","injectedBrickPackages","hasInstalledApp","listenDevtoolsEagerly","getV2RuntimeFromDll","customizeColorTheme","runtime","bootstrapData","router","hooks","createRuntime","options","Error","locale","language","on","Runtime","getRuntimeV3","getRuntimeV2Factory","v2Kit","getRuntimeV2","Proxy","getRuntime","get","key","arguments","length","undefined","Reflect","_initialized","WeakMap","_bootstrapped","_Runtime_brand","WeakSet","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_defineProperty","initialize","data","_data$settings","_classPrivateFieldGet","_classPrivateFieldSet","normalizeBootstrapData","notification","dialog","_assertClassBrand","_getPresetBricks","call","loadBricks","settings","misc","theme","bootstrap","_this","_asyncToGenerator","storyboards","getRecentApps","_router$getRecentApps","_router","getCurrentApp","_router2","currentApp","appId","matchVersion","getFeatureFlags","_bootstrapData","_router3","_objectSpread","featureFlags","config","getMiscSettings","_bootstrapData2","_router4","getBrandSettings","_bootstrapData3","base_title","brand","getLaunchpadSettings","_bootstrapData4","columns","rows","launchpad","getDesktops","_bootstrapData$deskto","_bootstrapData5","desktops","getLaunchpadSiteMap","_bootstrapData$siteSo","_bootstrapData6","siteSort","toggleLaunchpadEffect","open","document","body","classList","toggle","applyPageTitle","pageTitle","baseTitle","title","concat","getNavConfig","_router5","bricks","getBrickPackages","_bootstrapData$settin","_bootstrapData10","presetBricks","brickPackages","processPublicDepsPackages","pubDeps","bricksMap","Map","forEach","pkg","pkgName","filePath","split","set","Array","from","values","_ref","_ref2","_processPublicDepsPac","_bootstrapData7","window","PUBLIC_DEPS","STANDALONE_BRICK_PACKAGES","_internalApiGetRenderId","_router6","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData$storyb","_bootstrapData8","_internalApiGetRuntimeContext","_router7","getRuntimeContext","_internalApiGetStoryboardInBootstrapData","_bootstrapData9","find","storyboard","app","id","_internalApiGetAppInBootstrapData","_internalApiGetStoryb","_test_only_setBootstrapData","process","env","NODE_ENV"],"sources":["../../../src/internal/Runtime.ts"],"sourcesContent":["import type {\n RuntimeStoryboard,\n BootstrapSettings,\n FeatureFlags,\n BootstrapData,\n Contract,\n Storyboard,\n BrickConf,\n RouteConf,\n ResolveConf,\n BrickPackage,\n} from \"@next-core/types\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nimport { deepFreeze, isObject } from \"@next-core/utils/general\";\nimport type { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { NS, locales } from \"./i18n.js\";\nimport { loadNotificationService } from \"../Notification.js\";\nimport { loadDialogService } from \"../Dialog.js\";\nimport { injectedBrickPackages } from \"./injected.js\";\nimport { type AppForCheck, hasInstalledApp } from \"./hasInstalledApp.js\";\nimport type { RuntimeContext } from \"./interfaces.js\";\nimport { listenDevtoolsEagerly } from \"./devtools.js\";\nimport { getV2RuntimeFromDll } from \"../getV2RuntimeFromDll.js\";\nimport { ThemeSettings, customizeColorTheme } from \"./customizeColorTheme.js\";\n\nlet runtime: Runtime;\n\n// Allow inject bootstrap data in a runtime other than Brick Next.\nlet bootstrapData: BootstrapData | undefined;\nlet router: Router | undefined;\n\nexport interface RuntimeOptions {\n hooks?: RuntimeHooks;\n}\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport interface PageViewInfo {\n status: \"ok\" | \"failed\" | \"redirected\" | \"not-found\";\n path?: string;\n pageTitle?: string;\n}\n\nexport interface RuntimeHooks {\n auth?: {\n getAuth(): object;\n isLoggedIn(): boolean;\n authenticate?(...args: unknown[]): unknown;\n logout?(...args: unknown[]): unknown;\n };\n fulfilStoryboard?: (storyboard: RuntimeStoryboard) => Promise<void>;\n validatePermissions?: typeof PermissionApi_validatePermissions;\n checkPermissions?: {\n checkPermissions(...actions: string[]): boolean;\n preCheckPermissions(storyboard: Storyboard): Promise<void> | undefined;\n preCheckPermissionsForBrickOrRoute(\n container: BrickConf | RouteConf,\n asyncComputeRealValue: (value: unknown) => Promise<unknown>\n ): Promise<void> | undefined;\n };\n checkInstalledApps?: {\n preCheckInstalledApps(\n storyboard: Storyboard,\n hasAppInBootstrap: (appId: string) => boolean\n ): void;\n waitForCheckingApps(appIds: string[]): Promise<void>;\n getCheckedApp(appId: string): AppForCheck | undefined;\n };\n flowApi?: {\n FLOW_API_PROVIDER: string;\n registerFlowApiProvider(): void;\n isFlowApiProvider(provider: string): boolean;\n getArgsOfFlowApi(\n provider: string,\n originalArgs: unknown[],\n method?: string,\n stream?: boolean\n ): Promise<unknown[]>;\n collectContract(contracts: Contract[] | undefined): void;\n collectWidgetContract(contracts: Contract[] | undefined): void;\n clearCollectWidgetContract(): void;\n };\n menu?: {\n getMenuById(menuId: string): unknown;\n fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n runtimeHelpers: RuntimeHooksMenuHelpers\n ): Promise<unknown>;\n };\n images?: {\n imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n ): ImagesFactory;\n widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n ): ImagesFactory;\n };\n messageDispatcher?: {\n subscribe(...args: unknown[]): Promise<unknown>;\n unsubscribe(...args: unknown[]): Promise<unknown>;\n onMessage(channel: string, listener: (data: unknown) => void): void;\n onClose(listener: () => void): void;\n reset(): void;\n };\n pageView?: {\n create(): (info: PageViewInfo) => void;\n };\n}\n\nexport interface RuntimeHooksMenuHelpers {\n getStoryboardByAppId(appId: string): Storyboard | undefined;\n resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext\n ): Promise<unknown>;\n asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n options?: { ignoreSymbols?: boolean; noInject?: boolean }\n ): Promise<unknown>;\n}\n\nexport let hooks: RuntimeHooks | undefined;\n\nexport function createRuntime(options?: RuntimeOptions) {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n listenDevtoolsEagerly();\n hooks = options?.hooks;\n initializeI18n(NS, locales);\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\n\nfunction getRuntimeV3() {\n return runtime;\n}\n\n// istanbul ignore next\nfunction getRuntimeV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function getRuntimeV2() {\n return new Proxy(v2Kit.getRuntime(), {\n get(...args) {\n const key = args[1];\n switch (key) {\n case \"getCurrentApp\":\n case \"getRecentApps\":\n case \"hasInstalledApp\":\n case \"getDesktops\":\n case \"getLaunchpadSettings\":\n case \"getLaunchpadSiteMap\":\n case \"toggleLaunchpadEffect\":\n case \"applyPageTitle\":\n case \"getNavConfig\":\n case \"getFeatureFlags\":\n case \"getMiscSettings\":\n case \"getBrandSettings\":\n return Reflect.get(...args);\n }\n },\n }) as unknown as Runtime;\n };\n }\n}\n\n// istanbul ignore next\nexport const getRuntime = getRuntimeV2Factory() || getRuntimeV3;\n\nexport class Runtime {\n #initialized = false;\n #bootstrapped = false;\n\n readonly version: number | undefined = 3;\n\n initialize(data: BootstrapData) {\n if (this.#initialized) {\n throw new Error(\"The runtime cannot be initialized more than once\");\n }\n this.#initialized = true;\n normalizeBootstrapData(data);\n bootstrapData = data;\n const { notification, dialog } = this.#getPresetBricks();\n if (notification !== false) {\n loadNotificationService(\n notification ?? \"basic.show-notification\",\n this.loadBricks\n );\n }\n if (dialog !== false) {\n loadDialogService(dialog ?? \"basic.show-dialog\", this.loadBricks);\n }\n customizeColorTheme(data.settings?.misc?.theme as ThemeSettings);\n }\n\n async bootstrap(data?: BootstrapData) {\n if (data) {\n this.initialize(data);\n }\n if (this.#bootstrapped) {\n throw new Error(\"The runtime cannot be bootstrapped more than once\");\n }\n this.#bootstrapped = true;\n router = new Router(bootstrapData!.storyboards!);\n await router.bootstrap();\n }\n\n getRecentApps() {\n return router?.getRecentApps() ?? {};\n }\n\n getCurrentApp() {\n return router?.getRecentApps().currentApp;\n }\n\n hasInstalledApp(appId: string, matchVersion?: string): boolean {\n return hasInstalledApp(appId, matchVersion);\n }\n\n getFeatureFlags(): FeatureFlags {\n return {\n ...bootstrapData?.settings?.featureFlags,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.featureFlags,\n \"migrate-to-brick-next-v3\": true,\n };\n }\n\n getMiscSettings() {\n return {\n ...bootstrapData?.settings?.misc,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.misc,\n };\n }\n\n getBrandSettings(): Record<string, string> {\n return {\n base_title: \"DevOps 管理专家\",\n ...(bootstrapData?.settings?.brand as Record<string, string>),\n };\n }\n\n getLaunchpadSettings() {\n return {\n columns: 7,\n rows: 4,\n ...bootstrapData?.settings?.launchpad,\n };\n }\n\n getDesktops(): unknown[] {\n return bootstrapData?.desktops ?? [];\n }\n\n getLaunchpadSiteMap(): unknown[] {\n return bootstrapData?.siteSort ?? [];\n }\n\n toggleLaunchpadEffect(open: boolean): void {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n\n applyPageTitle(pageTitle: string): void {\n const baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;\n }\n\n getNavConfig() {\n return router?.getNavConfig();\n }\n\n loadBricks(bricks: string[] | Set<string>) {\n return loadBricksImperatively(bricks, getBrickPackages());\n }\n\n #getPresetBricks() {\n return (bootstrapData?.settings?.presetBricks ?? {}) as {\n notification?: string | false;\n dialog?: string | false;\n };\n }\n}\n\nfunction normalizeBootstrapData(data: BootstrapData) {\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n if (data.brickPackages) {\n deepFreeze(data.brickPackages);\n }\n}\n\nfunction processPublicDepsPackages(\n brickPackages: BrickPackage[],\n pubDeps: BrickPackage[]\n): BrickPackage[] {\n if (!pubDeps?.length) return brickPackages;\n\n const bricksMap = new Map();\n\n // bootstrapData 数据和 pubDeps 中可能同时存在同一个包名,需要过滤去重, 以 pubDeps 中的包为准\n [...brickPackages, ...pubDeps].forEach((pkg) => {\n const pkgName = pkg.filePath.split(\"/\")[1];\n\n bricksMap.set(pkgName, pkg);\n });\n\n return Array.from(bricksMap.values());\n}\n\nexport function getBrickPackages() {\n return (\n processPublicDepsPackages(\n bootstrapData?.brickPackages as BrickPackage[],\n window.PUBLIC_DEPS as BrickPackage[]\n ) ??\n injectedBrickPackages ??\n (window.STANDALONE_BRICK_PACKAGES as BrickPackage[]) ??\n []\n );\n}\n\nexport function _internalApiGetRenderId(): string | undefined {\n return router?.getRenderId();\n}\n\nexport function _internalApiMatchStoryboard(\n pathname: string\n): RuntimeStoryboard | undefined {\n return matchStoryboard(bootstrapData?.storyboards ?? [], pathname);\n}\n\nexport function _internalApiGetRuntimeContext() {\n return router?.getRuntimeContext();\n}\n\nexport function _internalApiGetStoryboardInBootstrapData(appId: string) {\n return bootstrapData?.storyboards?.find(\n (storyboard) => storyboard.app.id === appId\n );\n}\n\nexport function _internalApiGetAppInBootstrapData(appId: string) {\n return _internalApiGetStoryboardInBootstrapData(appId)?.app;\n}\n\nexport let _test_only_setBootstrapData: (data: BootstrapData) => void;\n\n// istanbul ignore next\nif (process.env.NODE_ENV === \"test\") {\n _test_only_setBootstrapData = (data) => {\n bootstrapData = data as BootstrapData;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Runtime.js","names":["i18n","initializeI18n","loadBricksImperatively","deepFreeze","isObject","moment","createHistory","matchStoryboard","Router","NS","locales","loadNotificationService","loadDialogService","injectedBrickPackages","hasInstalledApp","listenDevtoolsEagerly","getV2RuntimeFromDll","customizeColorTheme","runtime","bootstrapData","router","hooks","createRuntime","options","Error","locale","language","on","Runtime","getRuntimeV3","getRuntimeV2Factory","v2Kit","getRuntimeV2","Proxy","getRuntime","get","key","arguments","length","undefined","Reflect","_initialized","WeakMap","_bootstrapped","_Runtime_brand","WeakSet","constructor","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_defineProperty","initialize","data","_data$settings","_classPrivateFieldGet","_classPrivateFieldSet","normalizeBootstrapData","notification","dialog","_assertClassBrand","_getPresetBricks","call","loadBricks","settings","misc","theme","bootstrap","storyboards","getRecentApps","_router","getCurrentApp","_router2","currentApp","appId","matchVersion","getFeatureFlags","_bootstrapData","_router3","featureFlags","config","getMiscSettings","_bootstrapData2","_router4","getBrandSettings","_bootstrapData3","base_title","brand","getLaunchpadSettings","_bootstrapData4","columns","rows","launchpad","getDesktops","_bootstrapData5","desktops","getLaunchpadSiteMap","_bootstrapData6","siteSort","toggleLaunchpadEffect","open","document","body","classList","toggle","applyPageTitle","pageTitle","baseTitle","title","getNavConfig","_router5","bricks","getBrickPackages","_bootstrapData10","presetBricks","brickPackages","processPublicDepsPackages","pubDeps","bricksMap","Map","forEach","pkg","pkgName","filePath","split","has","set","Array","from","values","_bootstrapData7","window","PUBLIC_DEPS","STANDALONE_BRICK_PACKAGES","_internalApiGetRenderId","_router6","getRenderId","_internalApiMatchStoryboard","pathname","_bootstrapData8","_internalApiGetRuntimeContext","_router7","getRuntimeContext","_internalApiGetStoryboardInBootstrapData","_bootstrapData9","find","storyboard","app","id","_internalApiGetAppInBootstrapData","_internalApiGetStoryb","_test_only_setBootstrapData","process","env","NODE_ENV"],"sources":["../../../src/internal/Runtime.ts"],"sourcesContent":["import type {\n RuntimeStoryboard,\n BootstrapSettings,\n FeatureFlags,\n BootstrapData,\n Contract,\n Storyboard,\n BrickConf,\n RouteConf,\n ResolveConf,\n BrickPackage,\n} from \"@next-core/types\";\nimport { i18n, initializeI18n } from \"@next-core/i18n\";\nimport { loadBricksImperatively } from \"@next-core/loader\";\nimport { deepFreeze, isObject } from \"@next-core/utils/general\";\nimport type { PermissionApi_validatePermissions } from \"@next-api-sdk/micro-app-sdk\";\nimport moment from \"moment\";\nimport \"moment/locale/zh-cn.js\";\nimport { createHistory } from \"../history.js\";\nimport { matchStoryboard } from \"./matchStoryboard.js\";\nimport { Router } from \"./Router.js\";\nimport { NS, locales } from \"./i18n.js\";\nimport { loadNotificationService } from \"../Notification.js\";\nimport { loadDialogService } from \"../Dialog.js\";\nimport { injectedBrickPackages } from \"./injected.js\";\nimport { type AppForCheck, hasInstalledApp } from \"./hasInstalledApp.js\";\nimport type { RuntimeContext } from \"./interfaces.js\";\nimport { listenDevtoolsEagerly } from \"./devtools.js\";\nimport { getV2RuntimeFromDll } from \"../getV2RuntimeFromDll.js\";\nimport { ThemeSettings, customizeColorTheme } from \"./customizeColorTheme.js\";\n\nlet runtime: Runtime;\n\n// Allow inject bootstrap data in a runtime other than Brick Next.\nlet bootstrapData: BootstrapData | undefined;\nlet router: Router | undefined;\n\nexport interface RuntimeOptions {\n hooks?: RuntimeHooks;\n}\n\nexport interface ImagesFactory {\n get(name: string): string;\n}\n\nexport interface PageViewInfo {\n status: \"ok\" | \"failed\" | \"redirected\" | \"not-found\";\n path?: string;\n pageTitle?: string;\n}\n\nexport interface RuntimeHooks {\n auth?: {\n getAuth(): object;\n isLoggedIn(): boolean;\n authenticate?(...args: unknown[]): unknown;\n logout?(...args: unknown[]): unknown;\n };\n fulfilStoryboard?: (storyboard: RuntimeStoryboard) => Promise<void>;\n validatePermissions?: typeof PermissionApi_validatePermissions;\n checkPermissions?: {\n checkPermissions(...actions: string[]): boolean;\n preCheckPermissions(storyboard: Storyboard): Promise<void> | undefined;\n preCheckPermissionsForBrickOrRoute(\n container: BrickConf | RouteConf,\n asyncComputeRealValue: (value: unknown) => Promise<unknown>\n ): Promise<void> | undefined;\n };\n checkInstalledApps?: {\n preCheckInstalledApps(\n storyboard: Storyboard,\n hasAppInBootstrap: (appId: string) => boolean\n ): void;\n waitForCheckingApps(appIds: string[]): Promise<void>;\n getCheckedApp(appId: string): AppForCheck | undefined;\n };\n flowApi?: {\n FLOW_API_PROVIDER: string;\n registerFlowApiProvider(): void;\n isFlowApiProvider(provider: string): boolean;\n getArgsOfFlowApi(\n provider: string,\n originalArgs: unknown[],\n method?: string,\n stream?: boolean\n ): Promise<unknown[]>;\n collectContract(contracts: Contract[] | undefined): void;\n collectWidgetContract(contracts: Contract[] | undefined): void;\n clearCollectWidgetContract(): void;\n };\n menu?: {\n getMenuById(menuId: string): unknown;\n fetchMenuById(\n menuId: string,\n runtimeContext: RuntimeContext,\n runtimeHelpers: RuntimeHooksMenuHelpers\n ): Promise<unknown>;\n };\n images?: {\n imagesFactory(\n appId: string,\n isBuildPush?: boolean,\n version?: string\n ): ImagesFactory;\n widgetImagesFactory(\n widgetId: string,\n widgetVersion?: string\n ): ImagesFactory;\n };\n messageDispatcher?: {\n subscribe(...args: unknown[]): Promise<unknown>;\n unsubscribe(...args: unknown[]): Promise<unknown>;\n onMessage(channel: string, listener: (data: unknown) => void): void;\n onClose(listener: () => void): void;\n reset(): void;\n };\n pageView?: {\n create(): (info: PageViewInfo) => void;\n };\n}\n\nexport interface RuntimeHooksMenuHelpers {\n getStoryboardByAppId(appId: string): Storyboard | undefined;\n resolveData(\n resolveConf: ResolveConf,\n runtimeContext: RuntimeContext\n ): Promise<unknown>;\n asyncComputeRealValue(\n value: unknown,\n runtimeContext: RuntimeContext,\n options?: { ignoreSymbols?: boolean; noInject?: boolean }\n ): Promise<unknown>;\n}\n\nexport let hooks: RuntimeHooks | undefined;\n\nexport function createRuntime(options?: RuntimeOptions) {\n if (runtime) {\n throw new Error(\"Cannot create multiple runtimes\");\n }\n listenDevtoolsEagerly();\n hooks = options?.hooks;\n initializeI18n(NS, locales);\n moment.locale(i18n.language);\n i18n.on(\"languageChanged\", () => {\n moment.locale(i18n.language);\n });\n createHistory();\n runtime = new Runtime();\n return runtime;\n}\n\nfunction getRuntimeV3() {\n return runtime;\n}\n\n// istanbul ignore next\nfunction getRuntimeV2Factory() {\n const v2Kit = getV2RuntimeFromDll();\n if (v2Kit) {\n return function getRuntimeV2() {\n return new Proxy(v2Kit.getRuntime(), {\n get(...args) {\n const key = args[1];\n switch (key) {\n case \"getCurrentApp\":\n case \"getRecentApps\":\n case \"hasInstalledApp\":\n case \"getDesktops\":\n case \"getLaunchpadSettings\":\n case \"getLaunchpadSiteMap\":\n case \"toggleLaunchpadEffect\":\n case \"applyPageTitle\":\n case \"getNavConfig\":\n case \"getFeatureFlags\":\n case \"getMiscSettings\":\n case \"getBrandSettings\":\n return Reflect.get(...args);\n }\n },\n }) as unknown as Runtime;\n };\n }\n}\n\n// istanbul ignore next\nexport const getRuntime = getRuntimeV2Factory() || getRuntimeV3;\n\nexport class Runtime {\n #initialized = false;\n #bootstrapped = false;\n\n readonly version: number | undefined = 3;\n\n initialize(data: BootstrapData) {\n if (this.#initialized) {\n throw new Error(\"The runtime cannot be initialized more than once\");\n }\n this.#initialized = true;\n normalizeBootstrapData(data);\n bootstrapData = data;\n const { notification, dialog } = this.#getPresetBricks();\n if (notification !== false) {\n loadNotificationService(\n notification ?? \"basic.show-notification\",\n this.loadBricks\n );\n }\n if (dialog !== false) {\n loadDialogService(dialog ?? \"basic.show-dialog\", this.loadBricks);\n }\n customizeColorTheme(data.settings?.misc?.theme as ThemeSettings);\n }\n\n async bootstrap(data?: BootstrapData) {\n if (data) {\n this.initialize(data);\n }\n if (this.#bootstrapped) {\n throw new Error(\"The runtime cannot be bootstrapped more than once\");\n }\n this.#bootstrapped = true;\n router = new Router(bootstrapData!.storyboards!);\n await router.bootstrap();\n }\n\n getRecentApps() {\n return router?.getRecentApps() ?? {};\n }\n\n getCurrentApp() {\n return router?.getRecentApps().currentApp;\n }\n\n hasInstalledApp(appId: string, matchVersion?: string): boolean {\n return hasInstalledApp(appId, matchVersion);\n }\n\n getFeatureFlags(): FeatureFlags {\n return {\n ...bootstrapData?.settings?.featureFlags,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.featureFlags,\n \"migrate-to-brick-next-v3\": true,\n };\n }\n\n getMiscSettings() {\n return {\n ...bootstrapData?.settings?.misc,\n ...(\n router?.getRecentApps().currentApp?.config\n ?.settings as BootstrapSettings\n )?.misc,\n };\n }\n\n getBrandSettings(): Record<string, string> {\n return {\n base_title: \"DevOps 管理专家\",\n ...(bootstrapData?.settings?.brand as Record<string, string>),\n };\n }\n\n getLaunchpadSettings() {\n return {\n columns: 7,\n rows: 4,\n ...bootstrapData?.settings?.launchpad,\n };\n }\n\n getDesktops(): unknown[] {\n return bootstrapData?.desktops ?? [];\n }\n\n getLaunchpadSiteMap(): unknown[] {\n return bootstrapData?.siteSort ?? [];\n }\n\n toggleLaunchpadEffect(open: boolean): void {\n document.body.classList.toggle(\"launchpad-open\", open);\n }\n\n applyPageTitle(pageTitle: string): void {\n const baseTitle = this.getBrandSettings().base_title;\n document.title = pageTitle ? `${pageTitle} - ${baseTitle}` : baseTitle;\n }\n\n getNavConfig() {\n return router?.getNavConfig();\n }\n\n loadBricks(bricks: string[] | Set<string>) {\n return loadBricksImperatively(bricks, getBrickPackages());\n }\n\n #getPresetBricks() {\n return (bootstrapData?.settings?.presetBricks ?? {}) as {\n notification?: string | false;\n dialog?: string | false;\n };\n }\n}\n\nfunction normalizeBootstrapData(data: BootstrapData) {\n if (isObject(data.settings)) {\n deepFreeze(data.settings);\n }\n if (data.brickPackages) {\n deepFreeze(data.brickPackages);\n }\n}\n\nfunction processPublicDepsPackages(\n brickPackages: BrickPackage[],\n pubDeps: BrickPackage[]\n): BrickPackage[] {\n if (!pubDeps?.length) return brickPackages;\n\n const bricksMap = new Map();\n\n // bootstrapData 数据和 pubDeps 中可能同时存在同一个包名,需要过滤去重, 以 pubDeps 中的包为准\n [...pubDeps, ...brickPackages].forEach((pkg) => {\n const pkgName = pkg.filePath.split(\"/\")[1];\n // 始终将 pubDeps 放在前面\n if (!bricksMap.has(pkgName)) {\n bricksMap.set(pkgName, pkg);\n }\n });\n\n return Array.from(bricksMap.values());\n}\n\nexport function getBrickPackages() {\n return (\n processPublicDepsPackages(\n bootstrapData?.brickPackages as BrickPackage[],\n window.PUBLIC_DEPS as BrickPackage[]\n ) ??\n injectedBrickPackages ??\n (window.STANDALONE_BRICK_PACKAGES as BrickPackage[]) ??\n []\n );\n}\n\nexport function _internalApiGetRenderId(): string | undefined {\n return router?.getRenderId();\n}\n\nexport function _internalApiMatchStoryboard(\n pathname: string\n): RuntimeStoryboard | undefined {\n return matchStoryboard(bootstrapData?.storyboards ?? [], pathname);\n}\n\nexport function _internalApiGetRuntimeContext() {\n return router?.getRuntimeContext();\n}\n\nexport function _internalApiGetStoryboardInBootstrapData(appId: string) {\n return bootstrapData?.storyboards?.find(\n (storyboard) => storyboard.app.id === appId\n );\n}\n\nexport function _internalApiGetAppInBootstrapData(appId: string) {\n return _internalApiGetStoryboardInBootstrapData(appId)?.app;\n}\n\nexport let _test_only_setBootstrapData: (data: BootstrapData) => void;\n\n// istanbul ignore next\nif (process.env.NODE_ENV === \"test\") {\n _test_only_setBootstrapData = (data) => {\n bootstrapData = data as BootstrapData;\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
2
1
|
import { http } from "@next-core/http";
|
|
3
|
-
|
|
2
|
+
let nativeController;
|
|
4
3
|
export function initAbortController() {
|
|
5
4
|
if (!window.AbortController) {
|
|
6
5
|
return;
|
|
@@ -8,11 +7,13 @@ export function initAbortController() {
|
|
|
8
7
|
nativeController = new AbortController();
|
|
9
8
|
http.interceptors.request.use(config => {
|
|
10
9
|
var _config$options;
|
|
11
|
-
return
|
|
12
|
-
|
|
10
|
+
return {
|
|
11
|
+
...config,
|
|
12
|
+
options: {
|
|
13
|
+
...config.options,
|
|
13
14
|
signal: (_config$options = config.options) !== null && _config$options !== void 0 && _config$options.noAbortOnRouteChange ? null : nativeController.signal
|
|
14
|
-
}
|
|
15
|
-
}
|
|
15
|
+
}
|
|
16
|
+
};
|
|
16
17
|
});
|
|
17
18
|
}
|
|
18
19
|
export function abortPendingRequest() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abortController.js","names":["http","nativeController","initAbortController","window","AbortController","interceptors","request","use","config","_config$options","
|
|
1
|
+
{"version":3,"file":"abortController.js","names":["http","nativeController","initAbortController","window","AbortController","interceptors","request","use","config","_config$options","options","signal","noAbortOnRouteChange","abortPendingRequest","abort"],"sources":["../../../src/internal/abortController.ts"],"sourcesContent":["import { http } from \"@next-core/http\";\n\nlet nativeController: AbortController;\n\nexport function initAbortController() {\n if (!window.AbortController) {\n return;\n }\n\n nativeController = new AbortController();\n\n http.interceptors.request.use((config) => {\n return {\n ...config,\n options: {\n ...config.options,\n signal: config.options?.noAbortOnRouteChange\n ? null\n : nativeController.signal,\n },\n };\n });\n}\n\nexport function abortPendingRequest() {\n if (nativeController) {\n nativeController.abort();\n nativeController = new AbortController();\n }\n}\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AAEtC,IAAIC,gBAAiC;AAErC,OAAO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,IAAI,CAACC,MAAM,CAACC,eAAe,EAAE;IAC3B;EACF;EAEAH,gBAAgB,GAAG,IAAIG,eAAe,CAAC,CAAC;EAExCJ,IAAI,CAACK,YAAY,CAACC,OAAO,CAACC,GAAG,CAAEC,MAAM,IAAK;IAAA,IAAAC,eAAA;IACxC,OAAO;MACL,GAAGD,MAAM;MACTE,OAAO,EAAE;QACP,GAAGF,MAAM,CAACE,OAAO;QACjBC,MAAM,EAAE,CAAAF,eAAA,GAAAD,MAAM,CAACE,OAAO,cAAAD,eAAA,eAAdA,eAAA,CAAgBG,oBAAoB,GACxC,IAAI,GACJX,gBAAgB,CAACU;MACvB;IACF,CAAC;EACH,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,mBAAmBA,CAAA,EAAG;EACpC,IAAIZ,gBAAgB,EAAE;IACpBA,gBAAgB,CAACa,KAAK,CAAC,CAAC;IACxBb,gBAAgB,GAAG,IAAIG,eAAe,CAAC,CAAC;EAC1C;AACF","ignoreList":[]}
|