@next-core/runtime 1.54.5 → 1.54.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","clearExpressionASTCache","clearFunctionASTCache","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","clearMatchedRoutes","_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 {\n clearExpressionASTCache,\n clearFunctionASTCache,\n} from \"@next-core/cook\";\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\";\nimport { clearMatchedRoutes } from \"./routeMatchedMap.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 clearExpressionASTCache();\n if (appChanged) {\n clearFunctionASTCache();\n }\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 clearMatchedRoutes();\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":";;;;;AAAA,SAAiBA,iBAAiB,QAAQ,SAAS;AAOnD,SAASC,cAAc,QAAQ,iBAAiB;AAChD,SACEC,uBAAuB,EACvBC,qBAAqB,QAChB,iBAAiB;AACxB,SAASC,QAAQ,QAAQ,QAAQ;AACjC,SAAyCC,UAAU,QAAQ,eAAe;AAC1E,SAEEC,aAAa,EACbC,eAAe,EACfC,YAAY,QACP,eAAe;AACtB,SAASC,SAAS,QAAQ,qBAAqB;AAC/C,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,SAAS,EAAEC,WAAW,QAAQ,YAAY;AACnD,SAASC,YAAY,EAAEC,eAAe,QAAQ,sBAAsB;AACpE,SAASC,2BAA2B,QAAQ,kCAAkC;AAC9E,SAASC,eAAe,QAAqB,sBAAsB;AACnE,SACEC,SAAS,EACTC,UAAU,EACVC,iBAAiB,EACjBC,OAAO,EACPC,QAAQ,QACH,oBAAoB;AAC3B,SACEC,iCAAiC,EACjCC,UAAU,EACVC,KAAK,QACA,cAAc;AACrB,SAASC,WAAW,QAAQ,mBAAmB;AAO/C,SAASC,qBAAqB,QAAQ,6BAA6B;AACnE,SACEC,eAAe,EACfC,iBAAiB,EACjBC,sBAAsB,QACjB,uBAAuB;AAC9B,SAASC,mBAAmB,EAAEC,mBAAmB,QAAQ,sBAAsB;AAC/E,SAASC,mBAAmB,QAAQ,2BAA2B;AAC/D,SAASC,uBAAuB,QAAQ,8BAA8B;AACtE,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,SAAS,QAAQ,YAAY;AACtC,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,gBAAgB,QAAQ,eAAe;AAChD,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,kBAAkB,QAAQ,sBAAsB;AAAC,IAAAC,YAAA,oBAAAC,OAAA;AAAA,IAAAC,UAAA,oBAAAD,OAAA;AAAA,IAAAE,aAAA,oBAAAF,OAAA;AAAA,IAAAG,aAAA,oBAAAH,OAAA;AAAA,IAAAI,eAAA,oBAAAJ,OAAA;AAAA,IAAAK,gBAAA,oBAAAL,OAAA;AAAA,IAAAM,wBAAA,oBAAAN,OAAA;AAAA,IAAAO,cAAA,oBAAAP,OAAA;AAAA,IAAAQ,SAAA,oBAAAR,OAAA;AAAA,IAAAS,WAAA,oBAAAT,OAAA;AAAA,IAAAU,YAAA,oBAAAV,OAAA;AAAA,IAAAW,UAAA,oBAAAX,OAAA;AAAA,IAAAY,aAAA,oBAAAC,OAAA;AAE1D,OAAO,MAAMC,MAAM,CAAC;EAgBlBC,WAAWA,CAACC,WAAyB,EAAE;IAAAC,2BAAA,OAAAL,aAAA;IAfvCM,0BAAA,OAASnB,YAAY;IACrBmB,0BAAA,OAAAjB,UAAU,EAAG,KAAK;IAClBiB,0BAAA,OAAAhB,aAAa;IACbgB,0BAAA,OAAAf,aAAa;IACbe,0BAAA,OAAAd,eAAe;IACfc,0BAAA,OAAAb,gBAAgB;IAChBa,0BAAA,OAAAZ,wBAAwB,EAAG,IAAIa,GAAG,CAA8B,CAAC;IACjED,0BAAA,OAAAX,cAAc,EAAG,CAAC;IAClBW,0BAAA,OAAAV,SAAS;IACTU,0BAAA,OAAAT,WAAW;IACXS,0BAAA,OAAAR,YAAY;IACZQ,0BAAA,OAAAP,UAAU;IAKRS,qBAAA,CAAKrB,YAAY,EAAjB,IAAI,EAAgBiB,WAAJ,CAAC;IAEjB,MAAMK,QAAO,GAAG3D,UAAU,CAAC,CAAC;IAC5B4D,MAAM,CAACC,gBAAgB,CAAC,cAAc,EAAGC,KAAK,IAAK;MACjD,MAAMC,OAAO,GAAGC,iBAAA,CAAAd,aAAA,MAAI,EAACe,8BAA6B,CAAC,CAAAC,IAAA,CAAnC,IAAI,EAAgC,CAAC,CAAC,CAAC;MACvD;MACA,IAAIH,OAAO,EAAE;QACX;QACA;QACAD,KAAK,CAACK,cAAc,CAAC,CAAC;QACtB;QACAL,KAAK,CAACM,WAAW,GAAG,EAAE;MACxB,CAAC,MAAM;QACL;QACA,OAAON,KAAK,CAACM,WAAW;MAC1B;IACF,CAAC,CAAC;IAEFT,QAAO,CAACU,KAAK,CAAC,CAACC,QAAQ,EAAEC,MAAM,KAC7BP,iBAAA,CAAAd,aAAA,MAAI,EAACe,8BAA6B,CAAC,CAAAC,IAAA,CAAnC,IAAI,EAAgC;MAAEI,QAAQ;MAAEC;IAAO,CAAC,CAC1D,CAAC;EACH;EAEAC,WAAWA,CAAA,EAAG;IACZ,OAAOC,qBAAA,CAAK3B,SAAS,EAAd,IAAa,CAAC;EACvB;EAEA4B,iBAAiBA,CAAA,EAAG;IAClB,OAAOD,qBAAA,CAAK/B,eAAe,EAApB,IAAmB,CAAC;EAC7B;EAEAiC,aAAaA,CAAA,EAAG;IACd,OAAO;MACLC,UAAU,EAAEH,qBAAA,CAAK1B,WAAW,EAAhB,IAAe,CAAC;MAC5B8B,WAAW,EAAEJ,qBAAA,CAAKzB,YAAY,EAAjB,IAAgB;IAC/B,CAAC;EACH;EAEA8B,YAAYA,CAAA,EAAG;IACb,OAAOL,qBAAA,CAAKxB,UAAU,EAAf,IAAc,CAAC;EACxB;EAoCA8B,SAASA,CAAA,EAAG;IACVrD,mBAAmB,CAAC,CAAC;IACrB,MAAMiC,OAAO,GAAG3D,UAAU,CAAC,CAAC;IAC5B0D,qBAAA,CAAKlB,aAAa,EAAlB,IAAI,EAAiBmB,OAAO,CAACW,QAAZ,CAAC;IAClB,IAAIU,QAAQ,GAAG,CAAC;IAChBrB,OAAO,CAACsB,MAAM,CAAC,OAAOX,QAAQ,EAAEC,MAAM,KAAK;MAAA,IAAAW,sBAAA,EAAAC,eAAA,EAAAC,gBAAA,EAAAC,sBAAA;MACzC,MAAMC,eAAe,GAAG,EAAEN,QAAQ;MAClC,IAAIO,eAAoC;MACxC,MAAMC,oBAA2C,GAAG;QAClDC,IAAI,EAAEC,SAAS;QACfC,KAAK,EAAED;MACT,CAAC;MACD;MACA;MACE;MACApB,QAAQ,CAACsB,GAAG,KAAKF,SAAS;MAC1B;MACA;MACCnB,MAAM,KAAK,KAAK;MACf;MACCE,qBAAA,CAAKjC,aAAa,EAAlB,IAAiB,CAAC,CAACoD,GAAG,KAAKF,SAAS;MACnC;MACA,EAAAR,sBAAA,GAAAT,qBAAA,CAAKjC,aAAa,EAAlB,IAAiB,CAAC,CAACmD,KAAK,cAAAT,sBAAA,uBAAxBA,sBAAA,CAA0BW,MAAM,MAAK,KAAK,CAAE,EAChD;QACAL,oBAAoB,CAACI,GAAG,GAAGF,SAAS;MACtC;MACA,IACE/F,iBAAiB,CACf;QAAE,GAAG8E,qBAAA,CAAKjC,aAAa,EAAlB,IAAiB,CAAC;QAAE,GAAGgD;MAAqB,CAAC,EAClD;QAAE,GAAGlB,QAAQ;QAAE,GAAGkB;MAAqB,CACzC,CAAC,IACAjB,MAAM,KAAK,KAAK,IAAI,EAAAY,eAAA,GAAAb,QAAQ,CAACqB,KAAK,cAAAR,eAAA,uBAAdA,eAAA,CAAgBU,MAAM,MAAK,KAAM,EACtD;QACA;QACA;QACAN,eAAe,GAAG,IAAI;MACxB;MAEA,IAAI,CAACA,eAAe,IAAI,GAAAH,gBAAA,GAACd,QAAQ,CAACqB,KAAK,cAAAP,gBAAA,eAAdA,gBAAA,CAAgBU,aAAa,GAAE;QAAA,IAAAC,sBAAA;QACtDR,eAAe,GACb,QAAAQ,sBAAA,GAAMtB,qBAAA,CAAK9B,gBAAgB,EAArB,IAAoB,CAAC,cAAAoD,sBAAA,uBAArBA,sBAAA,CAAuBC,2BAA2B,CACtD1B,QAAQ,EACRG,qBAAA,CAAKjC,aAAa,EAAlB,IAAiB,CACnB,CAAC;MACL;;MAEA;MACA,IAAIwC,QAAQ,KAAKM,eAAe,EAAE;QAChC;MACF;MAEA,IAAIC,eAAe,EAAE;QACnB7B,qBAAA,CAAKlB,aAAa,EAAlB,IAAI,EAAiB8B,QAAJ,CAAC;QAClB;MACF;MAEA7C,mBAAmB,CAAC,CAAC;MACrBiC,qBAAA,CAAKlB,aAAa,EAAlB,IAAI,EAAiB8B,QAAJ,CAAC;MAClB,CAAAe,sBAAA,GAAAZ,qBAAA,CAAK9B,gBAAgB,EAArB,IAAoB,CAAC,cAAA0C,sBAAA,eAArBA,sBAAA,CAAuBY,iBAAiB,CAAC,CAAC;MAE1C,IAAI1B,MAAM,KAAK,KAAK,EAAE;QACpB,MAAM2B,UAAU,GAAGzF,eAAe,CAChCgE,qBAAA,CAAKpC,YAAY,EAAjB,IAAgB,CAAC,EACjBiC,QAAQ,CAAC6B,QACX,CAAC;QACD;QACA;QACA,IAAI3F,YAAY,CAAC0F,UAAU,CAAC,EAAE;UAC5BtC,MAAM,CAACU,QAAQ,CAAC8B,MAAM,CAAC,CAAC;UACxB;QACF;MACF;MAEA,IAAI3B,qBAAA,CAAKlC,UAAU,EAAf,IAAc,CAAC,EAAE;QACnBmB,qBAAA,CAAKjB,aAAa,EAAlB,IAAI,EAAiB6B,QAAJ,CAAC;MACpB,CAAC,MAAM;QACLtC,gBAAgB,CAAC,gBAAgB,CAAC;QAClCgC,iBAAA,CAAAd,aAAA,MAAI,EAACmD,aAAY,CAAC,CAAAnC,IAAA,CAAlB,IAAI,EAAeI,QAAQ,EAAEgC,KAAK,CAAChF,eAAe,CAAC;MACrD;IACF,CAAC,CAAC;IACF,OAAO0C,iBAAA,CAAAd,aAAA,MAAI,EAACmD,aAAY,CAAC,CAAAnC,IAAA,CAAlB,IAAI,EAAeP,OAAO,CAACW,QAAQ;EAC5C;AAiVF;AAAC,SAAAL,+BApcgCsC,MAG9B,EAAsB;EAAA,IAAAC,sBAAA;EACrB,MAAM7C,OAAO,GAAG3D,UAAU,CAAC,CAAC;EAC5B,MAAMyG,eAAe,GAAG9C,OAAO,CAAC+C,eAAe,CAAC,CAAC;EACjD,CAAAF,sBAAA,GAAA/B,qBAAA,CAAK9B,gBAAgB,EAArB,IAAoB,CAAC,cAAA6D,sBAAA,eAArBA,sBAAA,CAAuBG,uBAAuB,CAACJ,MAAM,CAAC;EACtD,MAAMxC,OAAO,GAAGJ,OAAO,CAAC+C,eAAe,CAAC,CAAC;EACzC,IAAI,CAACD,eAAe,IAAI1C,OAAO,EAAE;IAC/B;IACAJ,OAAO,CAACiD,OAAO,CAAC,CAAC;EACnB;EACA,OAAO7C,OAAO;AAChB;AAAC,SAAA8C,cAGCC,EAAU,EACVnB,KAAmC,EACnCoB,IAAkB,EACZ;EAAA,IAAAC,mBAAA,EAAAC,oBAAA;EACN,IAAI,CAAAvD,qBAAA,CAAKb,cAAc,EAAnB,IAAI,GAAAmE,mBAAA,GAAJvC,qBAAA,CAAK5B,cAAc,EAAnB,IAAkB,CAAC,EAAAoE,oBAAA,GAAAD,mBAAA,IAAAA,mBAAA,CAAD,CAAC,EAAAC,oBAAA,IAAK,EAAE,EAAE;IAC9B,MAAMlD,OAAO,GAAG,qCAAqCgD,IAAI,CAACZ,QAAQ,GAAGY,IAAI,CAACG,MAAM,GAAGH,IAAI,CAACtB,IAAI,SAASqB,EAAE,GAAG;IAC1G;IACA,IAAIK,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC;MACAC,OAAO,CAACC,KAAK,CAACxD,OAAO,CAAC;MACtB;IACF,CAAC,MAAM;MACL,MAAM,IAAIyD,KAAK,CAACzD,OAAO,CAAC;IAC1B;EACF;EACA/D,UAAU,CAAC,CAAC,CAACyH,OAAO,CAACX,EAAE,EAAEnB,KAAK,CAAC;AACjC;AAAC,eAAAU,cAqFmB/B,QAAsB,EAAiB;EACzDZ,qBAAA,CAAKnB,UAAU,EAAf,IAAI,EAAc,IAAJ,CAAC;EACf,IAAI;IACF,MAAMyB,iBAAA,CAAAd,aAAA,MAAI,EAACwE,OAAM,CAAC,CAAAxD,IAAA,CAAZ,IAAI,EAASI,QAAQ,CAAC;EAC9B,CAAC,SAAS;IACRZ,qBAAA,CAAKnB,UAAU,EAAf,IAAI,EAAc,KAAJ,CAAC;IACf,IAAIkC,qBAAA,CAAKhC,aAAa,EAAlB,IAAiB,CAAC,EAAE;MACtB,MAAMkF,YAAY,GAAGlD,qBAAA,CAAKhC,aAAa,EAAlB,IAAiB,CAAC;MACvCiB,qBAAA,CAAKjB,aAAa,EAAlB,IAAI,EAAiBiD,SAAJ,CAAC;MAClB,MAAM1B,iBAAA,CAAAd,aAAA,MAAI,EAACmD,aAAY,CAAC,CAAAnC,IAAA,CAAlB,IAAI,EAAeyD,YAAY,CAAC;IACxC;EACF;AACF;AAAC,eAAAD,QAEapD,QAAsB,EAAiB;EAAA,IAAAsD,cAAA,EAAAC,eAAA,EAAAC,sBAAA,EAAAC,eAAA;EACnD,MAAM/C,QAAQ,GAAItB,qBAAA,CAAKZ,SAAS,EAAd,IAAI,EAAa/C,QAAQ,CAAC,YAAY,CAAzB,CAA2B;EAE1DsB,qBAAqB,CAAC,CAAC;EACvBhB,iBAAiB,CAAC,CAAC;EACnBc,KAAK,aAALA,KAAK,gBAAAyG,cAAA,GAALzG,KAAK,CAAE6G,OAAO,cAAAJ,cAAA,eAAdA,cAAA,CAAgBK,0BAA0B,CAAC,CAAC;EAE5C,MAAMtE,OAAO,GAAG3D,UAAU,CAAC,CAAC;EAC5B2D,OAAO,CAACiD,OAAO,CAAC,CAAC;;EAEjB;EACA,MAAMsB,cAAc,GAAG/G,KAAK,aAALA,KAAK,gBAAA0G,eAAA,GAAL1G,KAAK,CAAEgH,QAAQ,cAAAN,eAAA,uBAAfA,eAAA,CAAiBO,MAAM,CAAC,CAAC;EAEhD,MAAMlC,UAAU,GAAGzF,eAAe,CAACgE,qBAAA,CAAKpC,YAAY,EAAjB,IAAgB,CAAC,EAAEiC,QAAQ,CAAC6B,QAAQ,CAAC;EAExE,MAAMtB,WAAW,IAAAiD,sBAAA,GAAGrD,qBAAA,CAAK/B,eAAe,EAApB,IAAmB,CAAC,cAAAoF,sBAAA,uBAApBA,sBAAA,CAAsBO,GAAG;EAC7C,MAAMC,YAAY,GAAGpC,UAAU,aAAVA,UAAU,gBAAA6B,eAAA,GAAV7B,UAAU,CAAEmC,GAAG,cAAAN,eAAA,uBAAfA,eAAA,CAAiBQ,EAAE;EACxC;EACA,IACE3E,MAAM,CAAC4E,oBAAoB,IAC3BF,YAAY,IACZA,YAAY,MAAKzD,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAE0D,EAAE,GAChC;IACArG,cAAc,CAAC;MACbuG,KAAK,EAAEH,YAAY;MACnBI,OAAO,EAAExC,UAAU,CAACmC,GAAG,CAACM;IAC1B,CAAC,CAAC;EACJ;EAEA,IAAIzC,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEmC,GAAG,EAAE;IACnB,MAAMxG,gBAAgB,CAACqE,UAAU,CAAC;EACpC;EAEA,MAAMtB,UAAU,GAAIlB,qBAAA,CAAKX,WAAW,EAAhB,IAAI,EAAemD,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAEmC,GAAhB,CAAoB;EAEvDlG,YAAY,CAAC,CAAC;;EAEd;EACA,MAAMyG,UAAU,GACd/D,WAAW,IAAID,UAAU,GACrBC,WAAW,CAAC0D,EAAE,KAAK3D,UAAU,CAAC2D,EAAE,GAChC1D,WAAW,KAAKD,UAAU;EAEhC/E,uBAAuB,CAAC,CAAC;EACzB,IAAI+I,UAAU,EAAE;IACd9I,qBAAqB,CAAC,CAAC;EACzB;;EAEA;;EAEA;EACA,MAAM+I,KAAK,GAAG3H,UAAU,CAAC,CAAC,CAAC4H,eAAe,CAAC,CAAC;EAC5C,MAAMC,mBAAmB,GAAGtE,qBAAA,CAAK9B,gBAAgB,EAArB,IAAoB,CAAC;EAEjD,MAAMqG,UAAU,GAAGA,CAAClC,EAAU,EAAEnB,KAAwB,KAAW;IACjEuC,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;MACfe,MAAM,EAAE;IACV,CAAC,CAAC;IACFxE,qBAAA,CAAK7B,wBAAwB,EAA7B,IAA4B,CAAC,CAACsG,GAAG,CAACH,mBAAmB,CAAC;IACtD/E,iBAAA,CAAAd,aAAA,MAAI,EAAC2D,aAAY,CAAC,CAAA3C,IAAA,CAAlB,IAAI,EAAe4C,EAAE,EAAEnB,KAAK,EAAErB,QAAQ;EACxC,CAAC;EAED,MAAM6E,eAAe,GAAGA,CAAA,KAAY;IAClC,MAAMrC,EAAE,GAAG+B,KAAK,CAAC,aAAa,CAAC,GAAG,iBAAiB,GAAG,aAAa;IACnElH,mBAAmB,CAAC2C,QAAQ,CAAC;IAC7B0E,UAAU,CAAClC,EAAE,EAAE;MAAEC,IAAI,EAAEzC;IAAS,CAAC,CAAC;EACpC,CAAC;EAED,MAAM8E,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,mBAAmB,CAAgB;EACvE,MAAMC,MAAM,GAAGF,QAAQ,CAACC,aAAa,CAAC,qBAAqB,CAAgB;EAE3E,MAAME,UAAsB,GAAG;IAC7BC,GAAG,EAAE3H,SAAS,CAAC4H,IAAI;IACnBC,SAAS,EAAEP,IAAI;IACfQ,YAAY,EAAEL;EAChB,CAAC;EAED,MAAMM,qBAAqB,GAAGA,CAAA,KAAY;IAAA,IAAAC,qBAAA;IACxCvJ,WAAW,CAAC6I,IAAI,CAAC;IACjB7I,WAAW,CAACgJ,MAAM,CAAC;;IAEnB;IACA9E,qBAAA,CAAK7B,wBAAwB,EAA7B,IAA4B,CAAC,CAACsG,GAAG,CAACH,mBAAmB,CAAC;IACtD,KAAK,MAAMgB,IAAI,IAAItF,qBAAA,CAAK7B,wBAAwB,EAA7B,IAA4B,CAAC,EAAE;MAChD,IAAImH,IAAI,EAAE;QACRA,IAAI,CAACC,iBAAiB,CAAC,CAAC;QACxBD,IAAI,CAACE,OAAO,CAAC,CAAC;MAChB;IACF;IACAxF,qBAAA,CAAK7B,wBAAwB,EAA7B,IAA4B,CAAC,CAACsH,KAAK,CAAC,CAAC;IACrC/I,KAAK,aAALA,KAAK,gBAAA2I,qBAAA,GAAL3I,KAAK,CAAEgJ,iBAAiB,cAAAL,qBAAA,eAAxBA,qBAAA,CAA0BM,KAAK,CAAC,CAAC;IAEjC,IAAIxB,UAAU,EAAE;MACdlF,qBAAA,CAAKV,YAAY,EAAjB,IAAI,EAAgB6B,WAAJ,CAAC;MACjBjB,MAAM,CAACyG,aAAa,CAClB,IAAIC,WAAW,CAAC,YAAY,EAAE;QAC5B/D,MAAM,EAAE;UACN1B,WAAW;UACXD;QACF;MACF,CAAC,CACH,CAAC;IACH;EACF,CAAC;EAED5D,QAAQ,CACL4D,UAAU,KACR9D,iBAAiB,CAAC,CAAC,CAAC8D,UAAU,CAAC2D,EAAE,CAAC,IAAI3D,UAAU,CAAC2F,KAAK,CAAC,IACxD,OACJ,CAAC;EACDxJ,OAAO,CAAC,SAAS,CAAC;EAElB,IAAI6D,UAAU,EAAE;IAAA,IAAA4F,qBAAA,EAAAC,WAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,iBAAA;IACd1J,KAAK,aAALA,KAAK,gBAAAqJ,qBAAA,GAALrJ,KAAK,CAAE2J,kBAAkB,cAAAN,qBAAA,eAAzBA,qBAAA,CAA2BO,qBAAqB,CAC9C7E,UAAU,EACTuC,KAAK,IAAK,CAAC,CAACxH,iCAAiC,CAACwH,KAAK,CACtD,CAAC;IAED,MAAMuC,WAAwB,GAAG;MAC/BC,OAAO,EAAGC,MAAM,IAAK;QACnB,IAAIA,MAAM,CAACC,eAAe,EAAE;UAC1BhC,eAAe,CAAC,CAAC;UACjB,OAAO,IAAI;QACb;QACA,IAAI+B,MAAM,CAACE,QAAQ,EAAE;UACnBpC,UAAU,CAACkC,MAAM,CAACE,QAAQ,CAACC,IAAI,EAAEH,MAAM,CAACE,QAAQ,CAACzF,KAAK,CAAC;UACvD,OAAO,IAAI;QACb;QACA;QACAjC,qBAAA,CAAKb,cAAc,EAAnB,IAAI,EAAkB,CAAJ,CAAC;MACrB,CAAC;MACDyI,UAAU,EAAE,MAAOC,YAAY,IAAK;QAClC,MAAMC,SAAS,GAAG,MAAMC,OAAO,CAACC,GAAG,CAACH,YAAY,CAAC;QACjD7H,qBAAA,CAAKT,UAAU,EAAf,IAAI,EAAc0I,cAAc,CAACH,SAAS,CAA5B,CAAC;QACf5H,MAAM,CAACyG,aAAa,CAClB,IAAIC,WAAW,CAAC,kBAAkB,EAAE;UAAE/D,MAAM,EAAE9B,qBAAA,CAAKxB,UAAU,EAAf,IAAc;QAAE,CAAC,CACjE,CAAC;MACH,CAAC;MACDqD,KAAK,EAAEA,CAACiB,KAAK,EAAEqE,UAAU,KAAK;QAC5B,IAAIpK,sBAAsB,CAAC+F,KAAK,CAAC,IAAI,CAAC3D,MAAM,CAACiI,aAAa,EAAE;UAC1D1C,eAAe,CAAC,CAAC;UACjB;QACF,CAAC,MAAM,IAAI5B,KAAK,YAAY3H,cAAc,EAAE;UAC1C6E,qBAAA,CAAK7B,wBAAwB,EAA7B,IAA4B,CAAC,CAACsG,GAAG,CAACH,mBAAmB,CAAC;UACtD;QACF,CAAC,MAAM;UACL,MAAM+C,oBAAoB,GACxB5K,UAAU,CAAC,CAAC,CAAC6K,eAAe,CAAC,CAAC,CAACD,oBAAoB;UACrD,IAAItK,sBAAsB,CAAC+F,KAAK,CAAC,IAAIuE,oBAAoB,EAAE;YACzD9C,UAAU,CAAC8C,oBAAoB,EAAY;cAAE/E,IAAI,EAAEzC;YAAS,CAAC,CAAC;YAC9D;UACF;UACA,OAAO;YACL0H,MAAM,EAAE,IAAI;YACZd,MAAM,EAAE;cACNe,IAAI,EAAE;gBACJxC,GAAG,EAAE3H,SAAS,CAACoK,KAAK;gBACpBC,IAAI,EAAE,KAAK;gBACXC,UAAU,EAAE;kBACVC,WAAW,EAAE9K,iBAAiB,CAACgG,KAAK,CAAC;kBACrC+E,OAAO,EAAE;oBACPC,aAAa,EAAE;kBACjB,CAAC;kBACDC,KAAK,EAAE;oBACLC,KAAK,EAAE;kBACT;gBACF,CAAC;gBACDC,cAAc,EAAE,IAAK;gBACrBC,MAAM,EAAEf;cACV,CAAC;cACDgB,YAAY,EAAE;YAChB;UACF,CAAC;QACH;MACF;IACF,CAAC;IAED,MAAMC,eAAe,GAAInJ,qBAAA,CAAKf,gBAAgB,EAArB,IAAI,EAAoB,IAAIhC,eAAe,CAClE,MAAM,EACN;MAAEqK,WAAW;MAAEhG;IAAS,CAC1B,CAH6C,CAG3C;IAEF,MAAM0H,cAA8B,GAAIhJ,qBAAA,CAAKhB,eAAe,EAApB,IAAI,EAAmB;MAC7D2F,GAAG,EAAEzD,UAAU;MACfN,QAAQ;MACRwI,KAAK,EAAE,IAAIC,eAAe,CAACzI,QAAQ,CAAC4C,MAAM,CAAC;MAC3C2B,KAAK;MACLmE,GAAG,EAAE;QACH,IAAG7L,KAAK,aAALA,KAAK,gBAAAsJ,WAAA,GAALtJ,KAAK,CAAE8L,IAAI,cAAAxC,WAAA,uBAAXA,WAAA,CAAayC,OAAO,CAAC,CAAC;QACzB,GAAG9L,WAAW,CAAC,CAAC;QAChB+L,QAAQ,EAAE;UACRC,KAAK,EAAElM,UAAU,CAAC,CAAC,CAACmM,gBAAgB,CAAC;QACvC;MACF,CAAC;MACDC,QAAQ,EAAE,IAAIlN,SAAS,CAAC,KAAK,EAAEsF,SAAS,EAAEmH,eAAe,CAAC;MAC1DU,0BAA0B,EAAE,CAC1BpM,KAAK,aAALA,KAAK,gBAAAuJ,qBAAA,GAALvJ,KAAK,CAAEqM,gBAAgB,cAAA9C,qBAAA,uBAAvBA,qBAAA,CAAyB+C,mBAAmB,CAACvH,UAAU,CAAC,CACzD;MACDwH,gBAAgB,EAAE,IAAIC,GAAG,CAA6B,CAAC;MACvDC,iBAAiB,EAAE,IAAID,GAAG,CAAkC;IAC9D,CAlB2D,CAkBzD;IAEFjK,qBAAA,CAAKT,UAAU,EAAf,IAAI,EAAcyC,SAAJ,CAAC;IAEf9D,uBAAuB,CAACsE,UAAU,CAAC;IACnCxF,2BAA2B,EAAAiK,gBAAA,GAACzE,UAAU,CAAC2H,IAAI,cAAAlD,gBAAA,uBAAfA,gBAAA,CAAiBmD,SAAS,EAAElJ,UAAU,CAAC;IACnEzD,KAAK,aAALA,KAAK,gBAAAyJ,eAAA,GAALzJ,KAAK,CAAE6G,OAAO,cAAA4C,eAAA,eAAdA,eAAA,CAAgBmD,eAAe,EAAAlD,iBAAA,GAAC3E,UAAU,CAAC2H,IAAI,cAAAhD,iBAAA,uBAAfA,iBAAA,CAAiBmD,SAAS,CAAC;IAE3D,IAAIhC,MAAM,GAAG,KAAK;IAClB,IAAId,MAAoB;IACxB,IAAI+C,MAAmD,GAAG,EAAE;IAE5D,IAAI;MACF7L,kBAAkB,CAAC,CAAC;MACpB,MAAM8L,mBAAoC,GAAG,CAAC,CAAC;MAC/ChD,MAAM,GAAG,MAAM/K,YAAY,CACzBqJ,UAAU,EACVzH,mBAAmB,CAACmE,UAAU,CAACiI,MAAM,CAAC,EACtCzB,cAAc,EACdG,eAAe,EACf,EAAE,EACFqB,mBACF,CAAC;MACD,IAAIlD,WAAW,CAACC,OAAO,CAACC,MAAM,CAAC,EAAE;QAC/B;MACF;MAEA+C,MAAM,GAAGhO,aAAa,CAACyM,cAAc,CAAC;MAEtC,MAAMxM,eAAe,CAACgL,MAAM,EAAEwB,cAAc,EAAEuB,MAAM,CAAC;MAErDC,mBAAmB,CAACE,KAAK,GAAGlD,MAAM,CAACmD,eAAe;MAClDxB,eAAe,CAACyB,yBAAyB,CAACJ,mBAAmB,CAAC;MAC9D,MAAMlD,WAAW,CAACM,UAAU,CAACuB,eAAe,CAAC0B,eAAe,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,OAAOhH,KAAK,EAAE;MACd;MACAD,OAAO,CAACC,KAAK,CAAC,gBAAgB,EAAEA,KAAK,CAAC;MAEtC,MAAMiH,MAAM,GAAGxD,WAAW,CAAC1E,KAAK,CAACiB,KAAK,EAAEiC,UAAU,CAAC;MACnD,IAAI,CAACgF,MAAM,EAAE;QACX;MACF;MACA,CAAC;QAAExC,MAAM;QAAEd;MAAO,CAAC,GAAGsD,MAAM;IAC9B;IACAhF,UAAU,CAAC4E,KAAK,GAAGlD,MAAM,CAACe,IAAI;IAE9BpC,qBAAqB,CAAC,CAAC;IAEvB,IAAKqB,MAAM,CAACuD,KAAK,IAAIvD,MAAM,CAACuD,KAAK,CAACtC,IAAI,KAAK,QAAQ,IAAKH,MAAM,EAAE;MAC9D,IAAI,CAACA,MAAM,EAAE;QACX;QACAa,eAAe,CAAC6B,sBAAsB,CAAC,CAAC;MAC1C;MACA7N,UAAU,CAAC,CAAC;MACZD,SAAS,CAAC,CAAC;MAEXqB,YAAY,CAAC2C,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE+J,SAAS,CAAC;MACnCrO,SAAS,CAACkJ,UAAU,CAAC;;MAErB;MACA;MACA5F,MAAM,CAACgL,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;MAErB,IAAI,CAAC5C,MAAM,EAAE;QACXa,eAAe,CAACgC,gBAAgB,CAAC,CAAC;QAClChC,eAAe,CAACiC,kBAAkB,CAAC,CAAC;QACpCjC,eAAe,CAACkC,eAAe,CAAC,CAAC;QACjClC,eAAe,CAACmC,wBAAwB,CAAC,CAAC;QAC1CnC,eAAe,CAACoC,qBAAqB,CAAC,CAAC;QACvCpC,eAAe,CAACqC,2BAA2B,CAAC,CAAC;QAE7C,KAAK,MAAMC,KAAK,IAAIlB,MAAM,EAAE;UAC1BkB,KAAK,CAACC,cAAc,CAAC,CAAC;QACxB;QAEAlH,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;UACfe,MAAM,EAAE,IAAI;UACZoC,IAAI,EAAEH,MAAM,CAACG,IAAI;UACjBgE,SAAS,EAAEhG,QAAQ,CAACiG;QACtB,CAAC,CAAC;MACJ,CAAC,MAAM;QACLpH,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;UAAEe,MAAM,EAAE;QAAS,CAAC,CAAC;MACxC;MACAjH,gBAAgB,CAAC,UAAU,CAAC;MAE5B;IACF;EACF,CAAC,MAAM,IACL,CAAC4B,MAAM,CAACiI,aAAa,IACrB1K,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE8L,IAAI,IACX,CAAC9L,KAAK,CAAC8L,IAAI,CAACsC,UAAU,CAAC,CAAC,EACxB;IACA;IACA;IACApG,eAAe,CAAC,CAAC;IACjB;EACF,CAAC,MAAM;IACLU,qBAAqB,CAAC,CAAC;EACzB;EAEAhJ,UAAU,CAAC,CAAC;EACZD,SAAS,CAAC,CAAC;EAEX,MAAMqL,IAAiB,GAAG;IACxBxC,GAAG,EAAE3H,SAAS,CAACoK,KAAK;IACpBC,IAAI,EAAE,KAAK;IACXC,UAAU,EAAE;MACVC,WAAW,EAAE;IACf,CAAC;IACDK,cAAc,EAAE,IAAK;IACrBC,MAAM,EAAEnD;EACV,CAAC;EACDA,UAAU,CAAC4E,KAAK,GAAGnC,IAAI;EAEvB3L,SAAS,CAACkJ,UAAU,CAAC;;EAErB;EACA5F,MAAM,CAACgL,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;EACrB1G,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAG;IAAEe,MAAM,EAAE;EAAY,CAAC,CAAC;EACzCjH,gBAAgB,CAAC,UAAU,CAAC;AAC9B;AAGF,SAAS2J,cAAcA,CAACH,SAA2B,EAAE;EACnD,MAAMgE,SAAS,GAAG;IAChBC,UAAU,EAAE;EACd,CAAC;EACD,KAAK,MAAMC,QAAQ,IAAIlE,SAAS,EAAE;IAChC,MAAM;MAAEiE;IAAW,CAAC,GAAGC,QAAQ;IAC/B,IAAID,UAAU,EAAE;MACd,IAAIA,UAAU,CAACE,SAAS,EAAE;QACxBH,SAAS,CAACC,UAAU,GAAGA,UAAU,CAACG,KAAK;MACzC,CAAC,MAAM;QACLJ,SAAS,CAACC,UAAU,CAACI,IAAI,CAAC,GAAGJ,UAAU,CAACG,KAAK,CAAC;MAChD;IACF;EACF;EACA,OAAOJ,SAAS;AAClB","ignoreList":[]}
1
+ {"version":3,"file":"Router.js","names":["locationsAreEqual","HttpAbortError","clearExpressionASTCache","clearFunctionASTCache","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","clearMatchedRoutes","_storyboards","WeakMap","_rendering","_nextRender","_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","nextPrevLocation","listen","prevLocation","_queuedRender","catch","detail","_classPrivateFieldGet2","previousMessage","getBlockMessage","dispatchBeforePageLeave","unblock","_safeRedirect","to","state","from","_this$redirectCount","_this$redirectCount2","pathname","search","hash","process","env","NODE_ENV","console","error","Error","replace","next","_preRender","nextRender","undefined","_ref","_prevLocation$state","_location$state","_location$state2","_classPrivateFieldGet4","ignoreRendering","omittedLocationProps","key","notify","noIncremental","_classPrivateFieldGet3","didPerformIncrementalRender","dispatchPageLeave","storyboard","reload","_render","_hooks$flowApi","_hooks$pageView","_classPrivateFieldGet5","_storyboard$app","renderId","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 {\n clearExpressionASTCache,\n clearFunctionASTCache,\n} from \"@next-core/cook\";\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\";\nimport { clearMatchedRoutes } from \"./routeMatchedMap.js\";\n\ntype RenderTask = InitialRenderTask | SubsequentRenderTask;\n\ninterface InitialRenderTask {\n location: NextLocation;\n prevLocation?: undefined;\n action?: undefined;\n}\n\ninterface SubsequentRenderTask {\n location: NextLocation;\n prevLocation: NextLocation;\n action: Action;\n}\n\nexport class Router {\n readonly #storyboards: Storyboard[];\n #rendering = false;\n #nextRender?: RenderTask;\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 let nextPrevLocation = history.location;\n history.listen((location, action) => {\n const prevLocation = nextPrevLocation;\n nextPrevLocation = location;\n if (this.#rendering) {\n this.#nextRender = { location, prevLocation, action };\n } else {\n this.#queuedRender({\n location,\n prevLocation,\n action,\n }).catch(handleHttpError);\n }\n });\n return this.#queuedRender({ location: history.location });\n }\n\n async #queuedRender(next: RenderTask) {\n this.#rendering = true;\n try {\n await this.#preRender(next);\n } finally {\n this.#rendering = false;\n if (this.#nextRender) {\n const nextRender = this.#nextRender;\n this.#nextRender = undefined;\n await this.#queuedRender(nextRender);\n }\n }\n }\n\n async #preRender({ location, prevLocation, action }: RenderTask) {\n if (prevLocation) {\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 (prevLocation.key === undefined ||\n // or the previous location specified notify false.\n prevLocation.state?.notify === false))\n ) {\n omittedLocationProps.key = undefined;\n }\n if (\n locationsAreEqual(\n { ...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 prevLocation\n );\n }\n\n if (ignoreRendering) {\n return;\n }\n\n abortPendingRequest();\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 devtoolsHookEmit(\"locationChange\");\n }\n\n return this.#render(location);\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 clearExpressionASTCache();\n if (appChanged) {\n clearFunctionASTCache();\n }\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 clearMatchedRoutes();\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":[]}
@@ -9,7 +9,7 @@ import { isPreEvaluated } from "./compute/evaluate.js";
9
9
  import { setProperties } from "./compute/setProperties.js";
10
10
  import { applyMode, applyTheme } from "../themeAndMode.js";
11
11
  import { getTplHostElement, getTplStateStore } from "./CustomTemplates/utils.js";
12
- import { handleHttpError, httpErrorToString } from "../handleHttpError.js";
12
+ import { handleHttpError } from "../handleHttpError.js";
13
13
  import { Notification } from "../Notification.js";
14
14
  import { getFormStateStore } from "./FormRenderer/utils.js";
15
15
  import { hooks } from "./Runtime.js";
@@ -102,7 +102,10 @@ export function listenerFactory(handlers, runtimeContext, runtimeBrick) {
102
102
  // case "alias.replace":
103
103
 
104
104
  case "window.open":
105
- handleWindowAction(event, handler.args, runtimeContext);
105
+ handleWindowOpenAction(event, handler.args, runtimeContext);
106
+ break;
107
+ case "window.postMessage":
108
+ handleWindowPostMessageAction(event, handler.args, runtimeContext);
106
109
  break;
107
110
  case "location.reload":
108
111
  case "location.assign":
@@ -197,15 +200,9 @@ export function listenerFactory(handlers, runtimeContext, runtimeBrick) {
197
200
  }
198
201
  };
199
202
  }
200
- async function handleUseProviderAction(event, handler, runtimeContext, runtimeBrick) {
201
- try {
202
- const providerBrick = await getProviderBrick(handler.useProvider);
203
- const method = handler.method !== "saveAs" ? "resolve" : "saveAs";
204
- brickCallback(event, providerBrick, handler, method, runtimeContext, runtimeBrick);
205
- } catch (error) {
206
- // eslint-disable-next-line no-console
207
- console.error(httpErrorToString(error));
208
- }
203
+ function handleUseProviderAction(event, handler, runtimeContext, runtimeBrick) {
204
+ const method = handler.method !== "saveAs" ? "resolve" : "saveAs";
205
+ brickCallback(event, handler.useProvider, handler, method, runtimeContext, runtimeBrick);
209
206
  }
210
207
  function handleCustomAction(event, handler, runtimeContext, runtimeBrick) {
211
208
  let targets = [];
@@ -271,23 +268,20 @@ function handleCustomAction(event, handler, runtimeContext, runtimeBrick) {
271
268
  });
272
269
  }
273
270
  }
274
- async function brickCallback(event, target, handler, method, runtimeContext, runtimeBrick, options) {
275
- if (typeof target[method] !== "function") {
276
- // eslint-disable-next-line no-console
277
- console.error("target has no method:", {
278
- target,
279
- method: method
280
- });
281
- return;
282
- }
271
+ async function brickCallback(event, targetOrProvider, handler, method, runtimeContext, runtimeBrick, options) {
272
+ const isProvider = isUseProviderHandler(handler);
283
273
  const task = async () => {
284
274
  var _hooks$flowApi;
275
+ const realTarget = isProvider ? await getProviderBrick(targetOrProvider) : targetOrProvider;
276
+ if (typeof realTarget[method] !== "function") {
277
+ throw new Error(`target <${realTarget.tagName.toLowerCase()}> has no method: ${method}`);
278
+ }
285
279
  let computedArgs = argsFactory(handler.args, runtimeContext, event, options);
286
280
  if (isUseProviderHandler(handler) && hooks !== null && hooks !== void 0 && (_hooks$flowApi = hooks.flowApi) !== null && _hooks$flowApi !== void 0 && _hooks$flowApi.isFlowApiProvider(handler.useProvider)) {
287
281
  var _handler$sse;
288
282
  computedArgs = await hooks.flowApi.getArgsOfFlowApi(handler.useProvider, computedArgs, method, (_handler$sse = handler.sse) === null || _handler$sse === void 0 ? void 0 : _handler$sse.stream);
289
283
  }
290
- return target[method](...computedArgs);
284
+ return realTarget[method](...computedArgs);
291
285
  };
292
286
  if (!handler.callback) {
293
287
  task();
@@ -300,7 +294,7 @@ async function brickCallback(event, target, handler, method, runtimeContext, run
300
294
  error: callbackFactory("error"),
301
295
  finally: callbackFactory("finally")
302
296
  };
303
- if (isUseProviderHandler(handler)) {
297
+ if (isProvider) {
304
298
  var _handler$sse2, _handler$poll;
305
299
  const pollRuntimeContext = {
306
300
  ...runtimeContext,
@@ -368,10 +362,18 @@ function handleHistoryAction(event, method, args, callback, runtimeContext) {
368
362
  }
369
363
  getHistory()[overrideMethod](...computedArgs);
370
364
  }
371
- function handleWindowAction(event, args, runtimeContext) {
365
+ function handleWindowOpenAction(event, args, runtimeContext) {
372
366
  const [url, target, features] = argsFactory(args, runtimeContext, event);
373
367
  window.open(url, target || "_self", features);
374
368
  }
369
+ function handleWindowPostMessageAction(event, args, runtimeContext) {
370
+ const computedArgs = argsFactory(args, runtimeContext, event);
371
+ if (computedArgs.length === 1) {
372
+ // Add default target origin
373
+ computedArgs.push(location.origin);
374
+ }
375
+ window.postMessage(...computedArgs);
376
+ }
375
377
  function batchUpdate(args, batch, method, store, runtimeContext, event) {
376
378
  if (batch) {
377
379
  store.updateValues(args, method, arg => {
@@ -1 +1 @@
1
- {"version":3,"file":"bindListeners.js","names":["isEvaluable","isObject","checkIf","computeRealValue","getHistory","getProviderBrick","startPoll","isPreEvaluated","setProperties","applyMode","applyTheme","getTplHostElement","getTplStateStore","handleHttpError","httpErrorToString","Notification","getFormStateStore","hooks","startSSEStream","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","_ref","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","isConditionalEventHandler","then","runtimeBrick","event","else","object","split","handleHistoryAction","args","callback","handleWindowAction","handleLocationAction","handleStorageAction","preventDefault","stopPropagation","handleConsoleAction","handleMessageAction","detail","handleContextAction","batch","handleTplStateAction","type","init","argsFactory","tplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","handleMessageDispatcher","theme","console","error","handleUseProviderAction","handleCustomAction","providerBrick","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","options","task","_hooks$flowApi","computedArgs","flowApi","isFlowApiProvider","_handler$sse","getArgsOfFlowApi","sse","stream","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","_handler$sse2","_handler$poll","pollRuntimeContext","sseStream","pollEnabled","poll","enabled","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","url","features","window","open","batchUpdate","store","updateValues","arg","name","value","updateValue","isBatch","isArray","every","ctxStore","tplStateStore","JSON","stringify","formStateStore","location","assign","storage","localStorage","sessionStorage","setItem","removeItem","show","message","_hooks$messageDispatc","messageDispatcher","arguments"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n ConditionalEventHandler,\n BatchUpdateContextItem,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError, httpErrorToString } from \"../handleHttpError.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { hooks } from \"./Runtime.js\";\nimport { startSSEStream } from \"./sse.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function isConditionalEventHandler(\n handler: BrickEventHandler\n): handler is ConditionalEventHandler {\n return !!(handler as ConditionalEventHandler).then;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n if (handler.else) {\n listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);\n }\n continue;\n }\n\n if (isConditionalEventHandler(handler)) {\n listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);\n } else if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n case \"event.stopPropagation\":\n event.stopPropagation();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"message.subscribe\":\n case \"message.unsubscribe\":\n handleMessageDispatcher(\n event,\n method,\n handler.args,\n runtimeContext,\n runtimeBrick,\n handler.callback\n );\n break;\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nasync function handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n try {\n const providerBrick = await getProviderBrick(handler.useProvider);\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n providerBrick,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(httpErrorToString(error));\n }\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n target: HTMLElement,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n if (typeof (target as any)[method] !== \"function\") {\n // eslint-disable-next-line no-console\n console.error(\"target has no method:\", {\n target,\n method: method,\n });\n return;\n }\n\n const task = async (): Promise<unknown> => {\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (\n isUseProviderHandler(handler) &&\n hooks?.flowApi?.isFlowApiProvider(handler.useProvider)\n ) {\n computedArgs = await hooks.flowApi.getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method,\n handler.sse?.stream\n );\n }\n return (target as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n if (isUseProviderHandler(handler)) {\n const pollRuntimeContext = {\n ...runtimeContext,\n event,\n };\n\n const sseStream = computeRealValue(\n handler.sse?.stream,\n pollRuntimeContext\n ) as boolean | undefined;\n\n if (sseStream) {\n startSSEStream(\n task as () => Promise<AsyncIterable<unknown>>,\n pollableCallback\n );\n return;\n }\n\n const pollEnabled = computeRealValue(\n handler.poll?.enabled,\n pollRuntimeContext\n ) as boolean | undefined;\n\n if (pollEnabled) {\n startPoll(\n task,\n pollableCallback,\n handler.poll as ProviderPollOptions,\n pollRuntimeContext\n );\n\n return;\n }\n }\n\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string,\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction batchUpdate(\n args: unknown[],\n batch: boolean,\n method: \"replace\" | \"assign\",\n store: DataStore<\"CTX\" | \"STATE\">,\n runtimeContext: RuntimeContext,\n event: CustomEvent | Event\n): void {\n if (batch) {\n store.updateValues(\n args as BatchUpdateContextItem[],\n method,\n (arg: unknown[]) => {\n return argsFactory(\n arg,\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n }\n );\n } else {\n args.forEach((arg) => {\n const { name, value } = argsFactory(\n [arg],\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n store.updateValue(name, value, method);\n });\n }\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && (method === \"assign\" || method === \"replace\")) {\n batchUpdate(\n args,\n batch,\n method,\n runtimeContext.ctxStore,\n runtimeContext,\n event\n );\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && method === \"update\") {\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${JSON.stringify(args)}`\n );\n batchUpdate(args, batch, \"replace\", tplStateStore, runtimeContext, event);\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nasync function handleMessageDispatcher(\n event: Event,\n method: \"subscribe\" | \"unsubscribe\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n callback?: BrickEventHandlerCallback\n) {\n const task = () => {\n const computedArgs = argsFactory(args, runtimeContext, event);\n return hooks?.messageDispatcher?.[method](...computedArgs);\n };\n if (!callback) {\n task();\n return;\n }\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n runtimeBrick\n );\n try {\n const result = await task();\n callbackFactory(\"success\")(result);\n } catch (error) {\n callbackFactory(\"error\")(error);\n } finally {\n callbackFactory(\"finally\")();\n }\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"bindListeners.js","names":["isEvaluable","isObject","checkIf","computeRealValue","getHistory","getProviderBrick","startPoll","isPreEvaluated","setProperties","applyMode","applyTheme","getTplHostElement","getTplStateStore","handleHttpError","Notification","getFormStateStore","hooks","startSSEStream","bindListeners","brick","eventsMap","runtimeContext","Object","entries","forEach","_ref","eventType","handlers","listener","listenerFactory","element","addEventListener","$$listeners","push","$$eventListeners","handler","concat","unbindListeners","removeEventListener","length","isBuiltinHandler","action","isUseProviderHandler","useProvider","isCustomHandler","target","targetRef","method","properties","isExecuteCustomHandler","isSetPropsCustomHandler","isConditionalEventHandler","then","runtimeBrick","event","else","object","split","handleHistoryAction","args","callback","handleWindowOpenAction","handleWindowPostMessageAction","handleLocationAction","handleStorageAction","preventDefault","stopPropagation","handleConsoleAction","handleMessageAction","detail","handleContextAction","batch","handleTplStateAction","type","init","argsFactory","tplHostElement","dispatchEvent","CustomEvent","handleFormStateAction","handleMessageDispatcher","theme","console","error","handleUseProviderAction","handleCustomAction","brickCallback","targets","rawTarget","rawTargetRef","computedTarget","multiple","Array","from","document","querySelectorAll","found","querySelector","HTMLElement","computedTargetRef","targetRefs","join","map","ref","_tplHostElement$$$get","$$getElementByRef","call","filter","Boolean","useEventAsDefault","targetOrProvider","options","isProvider","task","_hooks$flowApi","realTarget","Error","tagName","toLowerCase","computedArgs","flowApi","isFlowApiProvider","_handler$sse","getArgsOfFlowApi","sse","stream","callbackFactory","eventCallbackFactory","pollableCallback","progress","success","finally","_handler$sse2","_handler$poll","pollRuntimeContext","sseStream","pollEnabled","poll","enabled","result","err","baseArgsLength","hasCallback","overrideMethod","useEventDetailAsDefault","undefined","blocked","url","features","window","open","location","origin","postMessage","batchUpdate","store","updateValues","arg","name","value","updateValue","isBatch","isArray","every","ctxStore","tplStateStore","JSON","stringify","formStateStore","assign","storage","localStorage","sessionStorage","setItem","removeItem","show","message","_hooks$messageDispatc","messageDispatcher","arguments"],"sources":["../../../src/internal/bindListeners.ts"],"sourcesContent":["import type {\n BrickEventHandler,\n BrickEventHandlerCallback,\n BrickEventsMap,\n BuiltinBrickEventHandler,\n CustomBrickEventHandler,\n ExecuteCustomBrickEventHandler,\n ProviderPollOptions,\n SetPropsCustomBrickEventHandler,\n SiteTheme,\n UseProviderEventHandler,\n ConditionalEventHandler,\n BatchUpdateContextItem,\n} from \"@next-core/types\";\nimport { isEvaluable } from \"@next-core/cook\";\nimport { isObject } from \"@next-core/utils/general\";\nimport { checkIf } from \"./compute/checkIf.js\";\nimport { computeRealValue } from \"./compute/computeRealValue.js\";\nimport { getHistory } from \"../history.js\";\nimport { getProviderBrick } from \"./data/getProviderBrick.js\";\nimport { PollableCallback, startPoll } from \"./poll.js\";\nimport { isPreEvaluated } from \"./compute/evaluate.js\";\nimport { setProperties } from \"./compute/setProperties.js\";\nimport { applyMode, applyTheme } from \"../themeAndMode.js\";\nimport type {\n ElementHolder,\n RuntimeBrickElement,\n RuntimeContext,\n} from \"./interfaces.js\";\nimport {\n getTplHostElement,\n getTplStateStore,\n} from \"./CustomTemplates/utils.js\";\nimport { handleHttpError } from \"../handleHttpError.js\";\nimport { Notification } from \"../Notification.js\";\nimport { getFormStateStore } from \"./FormRenderer/utils.js\";\nimport { DataStore } from \"./data/DataStore.js\";\nimport { hooks } from \"./Runtime.js\";\nimport { startSSEStream } from \"./sse.js\";\n\nexport function bindListeners(\n brick: RuntimeBrickElement,\n eventsMap: BrickEventsMap | undefined,\n runtimeContext: RuntimeContext\n): void {\n if (!eventsMap) {\n return;\n }\n Object.entries(eventsMap).forEach(([eventType, handlers]) => {\n const listener = listenerFactory(handlers, runtimeContext, {\n element: brick,\n });\n brick.addEventListener(eventType, listener);\n\n // Remember added listeners for unbinding.\n if (!brick.$$listeners) {\n brick.$$listeners = [];\n }\n brick.$$listeners.push([eventType, listener]);\n\n // Remember added listeners for devtools.\n if (!brick.$$eventListeners) {\n brick.$$eventListeners = [];\n }\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n brick.$$eventListeners.push([eventType, null, handler]);\n }\n });\n}\n\nexport function unbindListeners(brick: RuntimeBrickElement): void {\n if (brick.$$listeners) {\n for (const [eventType, listener] of brick.$$listeners) {\n brick.removeEventListener(eventType, listener);\n }\n brick.$$listeners.length = 0;\n }\n}\n\nexport function isBuiltinHandler(\n handler: BrickEventHandler\n): handler is BuiltinBrickEventHandler {\n return typeof (handler as BuiltinBrickEventHandler).action === \"string\";\n}\n\nexport function isUseProviderHandler(\n handler: BrickEventHandler\n): handler is UseProviderEventHandler {\n return typeof (handler as UseProviderEventHandler).useProvider === \"string\";\n}\n\nexport function isCustomHandler(\n handler: BrickEventHandler\n): handler is CustomBrickEventHandler {\n return !!(\n ((handler as CustomBrickEventHandler).target ||\n (handler as CustomBrickEventHandler).targetRef) &&\n ((handler as ExecuteCustomBrickEventHandler).method ||\n (handler as SetPropsCustomBrickEventHandler).properties)\n );\n}\n\nexport function isExecuteCustomHandler(\n handler: CustomBrickEventHandler\n): handler is ExecuteCustomBrickEventHandler {\n return !!(handler as ExecuteCustomBrickEventHandler).method;\n}\n\nexport function isSetPropsCustomHandler(\n handler: CustomBrickEventHandler\n): handler is SetPropsCustomBrickEventHandler {\n return !!(handler as SetPropsCustomBrickEventHandler).properties;\n}\n\nexport function isConditionalEventHandler(\n handler: BrickEventHandler\n): handler is ConditionalEventHandler {\n return !!(handler as ConditionalEventHandler).then;\n}\n\nexport function listenerFactory(\n handlers: BrickEventHandler | BrickEventHandler[],\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function (event: Event): void {\n for (const handler of ([] as BrickEventHandler[]).concat(handlers)) {\n if (!checkIf(handler, { ...runtimeContext, event })) {\n if (handler.else) {\n listenerFactory(handler.else, runtimeContext, runtimeBrick)(event);\n }\n continue;\n }\n\n if (isConditionalEventHandler(handler)) {\n listenerFactory(handler.then, runtimeContext, runtimeBrick)(event);\n } else if (isBuiltinHandler(handler)) {\n const [object, method] = handler.action.split(\".\") as any;\n switch (handler.action) {\n case \"history.push\":\n case \"history.replace\":\n case \"history.pushQuery\":\n case \"history.replaceQuery\":\n case \"history.pushAnchor\":\n case \"history.block\":\n case \"history.goBack\":\n case \"history.goForward\":\n case \"history.reload\":\n case \"history.unblock\":\n handleHistoryAction(\n event,\n method,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n // case \"segue.push\":\n // case \"segue.replace\":\n // case \"alias.push\":\n // case \"alias.replace\":\n\n case \"window.open\":\n handleWindowOpenAction(event, handler.args, runtimeContext);\n break;\n\n case \"window.postMessage\":\n handleWindowPostMessageAction(event, handler.args, runtimeContext);\n break;\n\n case \"location.reload\":\n case \"location.assign\":\n handleLocationAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"localStorage.setItem\":\n case \"localStorage.removeItem\":\n case \"sessionStorage.setItem\":\n case \"sessionStorage.removeItem\":\n handleStorageAction(\n event,\n object,\n method,\n handler.args,\n runtimeContext\n );\n break;\n\n case \"event.preventDefault\":\n event.preventDefault();\n break;\n case \"event.stopPropagation\":\n event.stopPropagation();\n break;\n\n case \"console.log\":\n case \"console.error\":\n case \"console.warn\":\n case \"console.info\":\n handleConsoleAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"message.success\":\n case \"message.error\":\n case \"message.info\":\n case \"message.warn\":\n handleMessageAction(event, method, handler.args, runtimeContext);\n break;\n\n case \"handleHttpError\":\n handleHttpError((event as CustomEvent).detail);\n break;\n\n case \"context.assign\":\n case \"context.replace\":\n case \"context.refresh\":\n case \"context.load\":\n handleContextAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"state.update\":\n case \"state.refresh\":\n case \"state.load\":\n handleTplStateAction(\n event,\n method,\n handler.args,\n handler.batch ?? true,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"tpl.dispatchEvent\": {\n const [type, init] = argsFactory(\n handler.args,\n runtimeContext,\n event\n ) as [string, CustomEventInit];\n const tplHostElement = getTplHostElement(\n runtimeContext,\n handler.action,\n `: ${type}`\n );\n tplHostElement.dispatchEvent(new CustomEvent(type, init));\n break;\n }\n\n case \"formstate.update\":\n handleFormStateAction(\n event,\n handler.args,\n handler.callback,\n runtimeContext\n );\n break;\n\n case \"message.subscribe\":\n case \"message.unsubscribe\":\n handleMessageDispatcher(\n event,\n method,\n handler.args,\n runtimeContext,\n runtimeBrick,\n handler.callback\n );\n break;\n\n case \"theme.setDarkTheme\":\n case \"theme.setLightTheme\":\n applyTheme(\n handler.action === \"theme.setDarkTheme\" ? \"dark\" : \"light\"\n );\n break;\n case \"theme.setTheme\": {\n const [theme] = argsFactory(handler.args, runtimeContext, event);\n applyTheme(theme as SiteTheme);\n break;\n }\n case \"mode.setDashboardMode\":\n case \"mode.setDefaultMode\":\n applyMode(\n handler.action === \"mode.setDashboardMode\"\n ? \"dashboard\"\n : \"default\"\n );\n break;\n\n // case \"menu.clearMenuTitleCache\":\n // case \"menu.clearMenuCache\":\n\n // case \"analytics.event\":\n\n // case \"preview.debug\":\n\n default:\n // eslint-disable-next-line no-console\n console.error(\"unknown event listener action:\", handler.action);\n }\n } else if (isUseProviderHandler(handler)) {\n handleUseProviderAction(event, handler, runtimeContext, runtimeBrick);\n } else if (isCustomHandler(handler)) {\n handleCustomAction(event, handler, runtimeContext, runtimeBrick!);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unknown event handler:\", handler);\n }\n }\n };\n}\n\nfunction handleUseProviderAction(\n event: Event,\n handler: UseProviderEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n const method = handler.method !== \"saveAs\" ? \"resolve\" : \"saveAs\";\n brickCallback(\n event,\n handler.useProvider,\n handler,\n method,\n runtimeContext,\n runtimeBrick\n );\n}\n\nfunction handleCustomAction(\n event: Event,\n handler: CustomBrickEventHandler,\n runtimeContext: RuntimeContext,\n runtimeBrick: ElementHolder\n) {\n let targets: HTMLElement[] = [];\n const rawTarget = handler.target;\n const rawTargetRef = handler.targetRef;\n let computedTarget = rawTarget;\n // Allow `target` to be set as evaluable string.\n if (\n typeof rawTarget === \"string\"\n ? isEvaluable(rawTarget)\n : isPreEvaluated(rawTarget)\n ) {\n computedTarget = computeRealValue(rawTarget, { ...runtimeContext, event });\n }\n if (typeof computedTarget === \"string\") {\n if (computedTarget === \"_self\") {\n targets.push(runtimeBrick.element!);\n } else if (handler.multiple) {\n targets = Array.from(document.querySelectorAll(computedTarget));\n } else {\n const found = document.querySelector(computedTarget) as HTMLElement;\n if (found !== null) {\n targets.push(found);\n }\n }\n } else if (computedTarget) {\n if (computedTarget instanceof HTMLElement) {\n targets.push(computedTarget as HTMLElement);\n } else {\n // eslint-disable-next-line no-console\n console.error(\"unexpected target:\", computedTarget);\n }\n } else if (rawTargetRef) {\n let computedTargetRef = rawTargetRef;\n // Allow `targetRef` to be set as evaluable string.\n if (\n typeof rawTargetRef === \"string\"\n ? isEvaluable(rawTargetRef)\n : isPreEvaluated(rawTargetRef)\n ) {\n computedTargetRef = computeRealValue(rawTargetRef, {\n ...runtimeContext,\n event,\n }) as string | string[];\n }\n const targetRefs = ([] as string[]).concat(computedTargetRef);\n const tplHostElement = getTplHostElement(\n runtimeContext,\n \"targetRef\",\n `: ${targetRefs.join(\", \")}`\n );\n targets.push(\n ...(targetRefs\n .map((ref) => tplHostElement.$$getElementByRef?.(ref))\n .filter(Boolean) as HTMLElement[])\n );\n }\n if (targets.length === 0) {\n // eslint-disable-next-line no-console\n console.error(\"target not found:\", rawTarget || rawTargetRef);\n return;\n }\n if (isExecuteCustomHandler(handler)) {\n targets.forEach((target) => {\n brickCallback(\n event,\n target,\n handler,\n handler.method,\n runtimeContext,\n runtimeBrick,\n {\n useEventAsDefault: true,\n }\n );\n });\n } else if (isSetPropsCustomHandler(handler)) {\n setProperties(targets, handler.properties, {\n ...runtimeContext,\n event,\n });\n }\n}\n\nasync function brickCallback(\n event: Event,\n targetOrProvider: HTMLElement | string,\n handler: ExecuteCustomBrickEventHandler | UseProviderEventHandler,\n method: string,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n options?: ArgsFactoryOptions\n): Promise<void> {\n const isProvider = isUseProviderHandler(handler);\n\n const task = async (): Promise<unknown> => {\n const realTarget = isProvider\n ? await getProviderBrick(targetOrProvider as string)\n : (targetOrProvider as HTMLElement);\n\n if (typeof (realTarget as any)[method] !== \"function\") {\n throw new Error(\n `target <${realTarget.tagName.toLowerCase()}> has no method: ${method}`\n );\n }\n\n let computedArgs = argsFactory(\n handler.args,\n runtimeContext,\n event,\n options\n );\n if (\n isUseProviderHandler(handler) &&\n hooks?.flowApi?.isFlowApiProvider(handler.useProvider)\n ) {\n computedArgs = await hooks.flowApi.getArgsOfFlowApi(\n handler.useProvider,\n computedArgs,\n method,\n handler.sse?.stream\n );\n }\n return (realTarget as any)[method](...computedArgs);\n };\n\n if (!handler.callback) {\n task();\n return;\n }\n\n const callbackFactory = eventCallbackFactory(\n handler.callback,\n runtimeContext,\n runtimeBrick\n );\n\n const pollableCallback: Required<PollableCallback> = {\n progress: callbackFactory(\"progress\"),\n success: callbackFactory(\"success\"),\n error: callbackFactory(\"error\"),\n finally: callbackFactory(\"finally\"),\n };\n\n if (isProvider) {\n const pollRuntimeContext = {\n ...runtimeContext,\n event,\n };\n\n const sseStream = computeRealValue(\n handler.sse?.stream,\n pollRuntimeContext\n ) as boolean | undefined;\n\n if (sseStream) {\n startSSEStream(\n task as () => Promise<AsyncIterable<unknown>>,\n pollableCallback\n );\n return;\n }\n\n const pollEnabled = computeRealValue(\n handler.poll?.enabled,\n pollRuntimeContext\n ) as boolean | undefined;\n\n if (pollEnabled) {\n startPoll(\n task,\n pollableCallback,\n handler.poll as ProviderPollOptions,\n pollRuntimeContext\n );\n\n return;\n }\n }\n\n try {\n // Try to catch synchronized tasks too.\n const result = await task();\n pollableCallback.success(result);\n } catch (err) {\n pollableCallback.error(err);\n } finally {\n pollableCallback[\"finally\"]();\n }\n}\n\nfunction handleHistoryAction(\n event: Event,\n method:\n | \"push\"\n | \"replace\"\n | \"pushQuery\"\n | \"replaceQuery\"\n | \"pushAnchor\"\n | \"block\"\n | \"goBack\"\n | \"goForward\"\n | \"reload\"\n | \"unblock\",\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n let baseArgsLength = 0;\n let hasCallback = false;\n let overrideMethod = method as \"setBlockMessage\";\n switch (method) {\n case \"push\":\n case \"replace\":\n case \"pushQuery\":\n case \"replaceQuery\":\n case \"pushAnchor\":\n baseArgsLength = 2;\n hasCallback = true;\n break;\n case \"reload\":\n hasCallback = true;\n break;\n case \"block\":\n baseArgsLength = 1;\n overrideMethod = \"setBlockMessage\";\n break;\n }\n let computedArgs: unknown[] = [];\n if (baseArgsLength > 0) {\n computedArgs = argsFactory(args, runtimeContext, event, {\n useEventDetailAsDefault: true,\n });\n computedArgs.length = baseArgsLength;\n }\n if (hasCallback && callback) {\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n undefined\n );\n computedArgs.push((blocked: boolean) => {\n callbackFactory(blocked ? \"error\" : \"success\")({ blocked });\n callbackFactory(\"finally\")({ blocked });\n });\n }\n (getHistory()[overrideMethod] as (...args: unknown[]) => unknown)(\n ...computedArgs\n );\n}\n\nfunction handleWindowOpenAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const [url, target, features] = argsFactory(args, runtimeContext, event) as [\n string,\n string,\n string,\n ];\n window.open(url, target || \"_self\", features);\n}\n\nfunction handleWindowPostMessageAction(\n event: Event,\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event) as Parameters<\n typeof window.postMessage\n >;\n if (computedArgs.length === 1) {\n // Add default target origin\n computedArgs.push(location.origin);\n }\n window.postMessage(...computedArgs);\n}\n\nfunction batchUpdate(\n args: unknown[],\n batch: boolean,\n method: \"replace\" | \"assign\",\n store: DataStore<\"CTX\" | \"STATE\">,\n runtimeContext: RuntimeContext,\n event: CustomEvent | Event\n): void {\n if (batch) {\n store.updateValues(\n args as BatchUpdateContextItem[],\n method,\n (arg: unknown[]) => {\n return argsFactory(\n arg,\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n }\n );\n } else {\n args.forEach((arg) => {\n const { name, value } = argsFactory(\n [arg],\n runtimeContext,\n event\n )[0] as BatchUpdateContextItem;\n store.updateValue(name, value, method);\n });\n }\n}\n\nfunction handleContextAction(\n event: Event,\n method: \"assign\" | \"replace\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && (method === \"assign\" || method === \"replace\")) {\n batchUpdate(\n args,\n batch,\n method,\n runtimeContext.ctxStore,\n runtimeContext,\n event\n );\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n runtimeContext.ctxStore.updateValue(\n name as string,\n value,\n method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleTplStateAction(\n event: Event,\n method: \"update\" | \"refresh\" | \"load\",\n args: unknown[] | undefined,\n batch: boolean,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const isBatch = Array.isArray(args) && args.every(isObject);\n if (isBatch && method === \"update\") {\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${JSON.stringify(args)}`\n );\n batchUpdate(args, batch, \"replace\", tplStateStore, runtimeContext, event);\n } else {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const tplStateStore = getTplStateStore(\n runtimeContext,\n `state.${method}`,\n `: ${name}`\n );\n tplStateStore.updateValue(\n name as string,\n value,\n method === \"update\" ? \"replace\" : method,\n callback,\n runtimeContext\n );\n }\n}\n\nfunction handleFormStateAction(\n event: Event,\n args: unknown[] | undefined,\n callback: BrickEventHandlerCallback | undefined,\n runtimeContext: RuntimeContext\n) {\n const [name, value] = argsFactory(args, runtimeContext, event);\n const formStateStore = getFormStateStore(\n runtimeContext,\n \"formstate.update\",\n `: ${name}`\n );\n formStateStore.updateValue(\n name as string,\n value,\n \"replace\",\n callback,\n runtimeContext\n );\n}\n\nfunction handleLocationAction(\n event: Event,\n method: \"assign\" | \"reload\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n if (method === \"assign\") {\n const [url] = argsFactory(args, runtimeContext, event) as [string];\n location.assign(url);\n } else {\n location[method]();\n }\n}\n\nfunction handleStorageAction(\n event: Event,\n object: \"localStorage\" | \"sessionStorage\",\n method: \"setItem\" | \"removeItem\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const storage = object === \"localStorage\" ? localStorage : sessionStorage;\n const [name, value] = argsFactory(args, runtimeContext, event);\n if (method === \"setItem\") {\n if (value !== undefined) {\n storage.setItem(name as string, JSON.stringify(value));\n }\n } else {\n storage.removeItem(name as string);\n }\n}\n\nfunction handleConsoleAction(\n event: Event,\n method: \"log\" | \"error\" | \"warn\" | \"info\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n // eslint-disable-next-line no-console\n console[method](\n ...argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n })\n );\n}\n\nfunction handleMessageAction(\n event: Event,\n method: \"success\" | \"error\" | \"info\" | \"warn\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext\n) {\n const computedArgs = argsFactory(args, runtimeContext, event, {\n useEventAsDefault: true,\n });\n Notification.show({\n type: method,\n message: computedArgs[0] as string,\n });\n}\n\nasync function handleMessageDispatcher(\n event: Event,\n method: \"subscribe\" | \"unsubscribe\",\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder,\n callback?: BrickEventHandlerCallback\n) {\n const task = () => {\n const computedArgs = argsFactory(args, runtimeContext, event);\n return hooks?.messageDispatcher?.[method](...computedArgs);\n };\n if (!callback) {\n task();\n return;\n }\n const callbackFactory = eventCallbackFactory(\n callback,\n runtimeContext,\n runtimeBrick\n );\n try {\n const result = await task();\n callbackFactory(\"success\")(result);\n } catch (error) {\n callbackFactory(\"error\")(error);\n } finally {\n callbackFactory(\"finally\")();\n }\n}\n\nexport function eventCallbackFactory(\n callback: BrickEventHandlerCallback,\n runtimeContext: RuntimeContext,\n runtimeBrick?: ElementHolder\n) {\n return function callbackFactory(\n type: \"success\" | \"error\" | \"finally\" | \"progress\"\n ) {\n return function (result?: unknown) {\n const handlers = callback?.[type];\n if (handlers) {\n try {\n const event = new CustomEvent(`callback.${type}`, {\n detail: result,\n });\n listenerFactory(handlers, runtimeContext, runtimeBrick)(event);\n } catch (err) {\n // Do not throw errors in `callback.success` or `callback.progress`,\n // to avoid the following triggering of `callback.error`.\n // eslint-disable-next-line\n console.error(err);\n }\n } else if (type === \"error\") {\n // eslint-disable-next-line\n console.error(\"Unhandled callback error:\", result);\n }\n };\n };\n}\n\ninterface ArgsFactoryOptions {\n useEventAsDefault?: boolean;\n useEventDetailAsDefault?: boolean;\n}\n\nfunction argsFactory(\n args: unknown[] | undefined,\n runtimeContext: RuntimeContext,\n event: Event,\n options: ArgsFactoryOptions = {}\n): unknown[] {\n return Array.isArray(args)\n ? (computeRealValue(args, {\n ...runtimeContext,\n event,\n }) as unknown[])\n : options.useEventAsDefault\n ? [event]\n : options.useEventDetailAsDefault\n ? [(event as CustomEvent).detail]\n : [];\n}\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@next-core/runtime",
3
- "version": "1.54.5",
3
+ "version": "1.54.7",
4
4
  "homepage": "https://github.com/easyops-cn/next-core/tree/v3/packages/runtime",
5
5
  "license": "GPL-3.0",
6
6
  "repository": {
@@ -47,12 +47,12 @@
47
47
  "@next-core/color-theme": "^0.4.8",
48
48
  "@next-core/cook": "^2.4.8",
49
49
  "@next-core/http": "^1.2.6",
50
- "@next-core/i18n": "^1.0.61",
51
- "@next-core/inject": "^1.0.40",
50
+ "@next-core/i18n": "^1.0.62",
51
+ "@next-core/inject": "^1.0.41",
52
52
  "@next-core/loader": "^1.6.6",
53
53
  "@next-core/supply": "^2.1.20",
54
- "@next-core/types": "^1.12.0",
55
- "@next-core/utils": "^1.7.19",
54
+ "@next-core/types": "^1.12.1",
55
+ "@next-core/utils": "^1.7.20",
56
56
  "@ungap/event-target": "^0.2.4",
57
57
  "compare-versions": "^6.1.0",
58
58
  "history": "^4.10.1",
@@ -67,5 +67,5 @@
67
67
  "@next-core/build-next-libs": "^1.0.18",
68
68
  "@next-core/test-next": "^1.1.5"
69
69
  },
70
- "gitHead": "0e42ab94fb0fa1f07df95ed112ab9ac613f6f55b"
70
+ "gitHead": "450899b40ba1cf07fe0a05e080066308a7aa71a4"
71
71
  }