@next-core/runtime 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/CustomProcessors.js +29 -0
- package/dist/cjs/CustomProcessors.js.map +1 -0
- package/dist/cjs/CustomTemplates.js +179 -0
- package/dist/cjs/CustomTemplates.js.map +1 -0
- package/dist/cjs/StoryboardFunctionRegistry.js +118 -0
- package/dist/cjs/StoryboardFunctionRegistry.js.map +1 -0
- package/dist/cjs/auth.js +67 -0
- package/dist/cjs/auth.js.map +1 -0
- package/dist/cjs/fetchByProvider.js +13 -0
- package/dist/cjs/fetchByProvider.js.map +1 -0
- package/dist/cjs/getBasePath.js +15 -0
- package/dist/cjs/getBasePath.js.map +1 -0
- package/dist/cjs/getPageInfo.js +45 -0
- package/dist/cjs/getPageInfo.js.map +1 -0
- package/dist/cjs/handleHttpError.js +97 -0
- package/dist/cjs/handleHttpError.js.map +1 -0
- package/dist/cjs/history.js +27 -0
- package/dist/cjs/history.js.map +1 -0
- package/dist/cjs/index.js +199 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js +72 -0
- package/dist/cjs/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/constants.js +13 -0
- package/dist/cjs/internal/CustomTemplates/constants.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js +122 -0
- package/dist/cjs/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js +113 -0
- package/dist/cjs/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js +44 -0
- package/dist/cjs/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
- package/dist/cjs/internal/CustomTemplates/utils.js +44 -0
- package/dist/cjs/internal/CustomTemplates/utils.js.map +1 -0
- package/dist/cjs/internal/Renderer.js +392 -0
- package/dist/cjs/internal/Renderer.js.map +1 -0
- package/dist/cjs/internal/RendererContext.js +433 -0
- package/dist/cjs/internal/RendererContext.js.map +1 -0
- package/dist/cjs/internal/Router.js +448 -0
- package/dist/cjs/internal/Router.js.map +1 -0
- package/dist/cjs/internal/Runtime.js +140 -0
- package/dist/cjs/internal/Runtime.js.map +1 -0
- package/dist/cjs/internal/abortController.js +32 -0
- package/dist/cjs/internal/abortController.js.map +1 -0
- package/dist/cjs/internal/bindListeners.js +433 -0
- package/dist/cjs/internal/bindListeners.js.map +1 -0
- package/dist/cjs/internal/checkInstalledApps.js +105 -0
- package/dist/cjs/internal/checkInstalledApps.js.map +1 -0
- package/dist/cjs/internal/checkPermissions.js +102 -0
- package/dist/cjs/internal/checkPermissions.js.map +1 -0
- package/dist/cjs/internal/compute/StoryboardFunctions.js +16 -0
- package/dist/cjs/internal/compute/StoryboardFunctions.js.map +1 -0
- package/dist/cjs/internal/compute/WidgetFunctions.js +31 -0
- package/dist/cjs/internal/compute/WidgetFunctions.js.map +1 -0
- package/dist/cjs/internal/compute/WidgetI18n.js +21 -0
- package/dist/cjs/internal/compute/WidgetI18n.js.map +1 -0
- package/dist/cjs/internal/compute/checkIf.js +36 -0
- package/dist/cjs/internal/compute/checkIf.js.map +1 -0
- package/dist/cjs/internal/compute/collectMemberCallUsage.js +30 -0
- package/dist/cjs/internal/compute/collectMemberCallUsage.js.map +1 -0
- package/dist/cjs/internal/compute/computeRealProperties.js +80 -0
- package/dist/cjs/internal/compute/computeRealProperties.js.map +1 -0
- package/dist/cjs/internal/compute/computeRealValue.js +78 -0
- package/dist/cjs/internal/compute/computeRealValue.js.map +1 -0
- package/dist/cjs/internal/compute/evaluate.js +390 -0
- package/dist/cjs/internal/compute/evaluate.js.map +1 -0
- package/dist/cjs/internal/compute/getGeneralGlobals.js +87 -0
- package/dist/cjs/internal/compute/getGeneralGlobals.js.map +1 -0
- package/dist/cjs/internal/compute/getNextStateOfUseBrick.js +87 -0
- package/dist/cjs/internal/compute/getNextStateOfUseBrick.js.map +1 -0
- package/dist/cjs/internal/compute/getStorageItem.js +14 -0
- package/dist/cjs/internal/compute/getStorageItem.js.map +1 -0
- package/dist/cjs/internal/compute/getTracks.js +26 -0
- package/dist/cjs/internal/compute/getTracks.js.map +1 -0
- package/dist/cjs/internal/compute/images.js +23 -0
- package/dist/cjs/internal/compute/images.js.map +1 -0
- package/dist/cjs/internal/compute/listenOnTrackingContext.js +40 -0
- package/dist/cjs/internal/compute/listenOnTrackingContext.js.map +1 -0
- package/dist/cjs/internal/compute/markAsComputed.js +36 -0
- package/dist/cjs/internal/compute/markAsComputed.js.map +1 -0
- package/dist/cjs/internal/compute/setProperties.js +18 -0
- package/dist/cjs/internal/compute/setProperties.js.map +1 -0
- package/dist/cjs/internal/compute/setRealProperties.js +29 -0
- package/dist/cjs/internal/compute/setRealProperties.js.map +1 -0
- package/dist/cjs/internal/data/CollectContracts.js +29 -0
- package/dist/cjs/internal/data/CollectContracts.js.map +1 -0
- package/dist/cjs/internal/data/DataStore.js +190 -0
- package/dist/cjs/internal/data/DataStore.js.map +1 -0
- package/dist/cjs/internal/data/FlowApi.js +150 -0
- package/dist/cjs/internal/data/FlowApi.js.map +1 -0
- package/dist/cjs/internal/data/FlowApiProvider.js +122 -0
- package/dist/cjs/internal/data/FlowApiProvider.js.map +1 -0
- package/dist/cjs/internal/data/getProviderBrick.js +32 -0
- package/dist/cjs/internal/data/getProviderBrick.js.map +1 -0
- package/dist/cjs/internal/data/resolveData.js +96 -0
- package/dist/cjs/internal/data/resolveData.js.map +1 -0
- package/dist/cjs/internal/data/resolveDataStore.js +127 -0
- package/dist/cjs/internal/data/resolveDataStore.js.map +1 -0
- package/dist/cjs/internal/devtools.js +10 -0
- package/dist/cjs/internal/devtools.js.map +1 -0
- package/dist/cjs/internal/enums.js +13 -0
- package/dist/cjs/internal/enums.js.map +1 -0
- package/dist/cjs/internal/historyExtended.js +140 -0
- package/dist/cjs/internal/historyExtended.js.map +1 -0
- package/dist/cjs/internal/interfaces.js +6 -0
- package/dist/cjs/internal/interfaces.js.map +1 -0
- package/dist/cjs/internal/loadBootstrapData.js +227 -0
- package/dist/cjs/internal/loadBootstrapData.js.map +1 -0
- package/dist/cjs/internal/loadCheckLogin.js +17 -0
- package/dist/cjs/internal/loadCheckLogin.js.map +1 -0
- package/dist/cjs/internal/matchPath.js +88 -0
- package/dist/cjs/internal/matchPath.js.map +1 -0
- package/dist/cjs/internal/matchRoutes.js +34 -0
- package/dist/cjs/internal/matchRoutes.js.map +1 -0
- package/dist/cjs/internal/matchStoryboard.js +40 -0
- package/dist/cjs/internal/matchStoryboard.js.map +1 -0
- package/dist/cjs/internal/mediaQuery.js +55 -0
- package/dist/cjs/internal/mediaQuery.js.map +1 -0
- package/dist/cjs/internal/menu/computeMenuData.js +37 -0
- package/dist/cjs/internal/menu/computeMenuData.js.map +1 -0
- package/dist/cjs/internal/menu/constants.js +13 -0
- package/dist/cjs/internal/menu/constants.js.map +1 -0
- package/dist/cjs/internal/menu/fetchMenuById.js +102 -0
- package/dist/cjs/internal/menu/fetchMenuById.js.map +1 -0
- package/dist/cjs/internal/menu/fetchMenuTitle.js +37 -0
- package/dist/cjs/internal/menu/fetchMenuTitle.js.map +1 -0
- package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js +27 -0
- package/dist/cjs/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
- package/dist/cjs/internal/menu/interfaces.js +4 -0
- package/dist/cjs/internal/menu/interfaces.js.map +1 -0
- package/dist/cjs/internal/menu/loadDynamicMenuItems.js +28 -0
- package/dist/cjs/internal/menu/loadDynamicMenuItems.js.map +1 -0
- package/dist/cjs/internal/menu/mergeMenu.js +74 -0
- package/dist/cjs/internal/menu/mergeMenu.js.map +1 -0
- package/dist/cjs/internal/menu/reorderMenuItems.js +20 -0
- package/dist/cjs/internal/menu/reorderMenuItems.js.map +1 -0
- package/dist/cjs/internal/mount.js +90 -0
- package/dist/cjs/internal/mount.js.map +1 -0
- package/dist/cjs/internal/poll.js +83 -0
- package/dist/cjs/internal/poll.js.map +1 -0
- package/dist/cjs/internal/proxyFactories.js +39 -0
- package/dist/cjs/internal/proxyFactories.js.map +1 -0
- package/dist/cjs/internal/registerAppI18n.js +25 -0
- package/dist/cjs/internal/registerAppI18n.js.map +1 -0
- package/dist/cjs/internal/registerCustomTemplates.js +22 -0
- package/dist/cjs/internal/registerCustomTemplates.js.map +1 -0
- package/dist/cjs/internal/secret_internals.js +140 -0
- package/dist/cjs/internal/secret_internals.js.map +1 -0
- package/dist/cjs/themeAndMode.js +97 -0
- package/dist/cjs/themeAndMode.js.map +1 -0
- package/dist/esm/CustomProcessors.js +30 -0
- package/dist/esm/CustomProcessors.js.map +1 -0
- package/dist/esm/CustomTemplates.js +187 -0
- package/dist/esm/CustomTemplates.js.map +1 -0
- package/dist/esm/StoryboardFunctionRegistry.js +116 -0
- package/dist/esm/StoryboardFunctionRegistry.js.map +1 -0
- package/dist/esm/auth.js +57 -0
- package/dist/esm/auth.js.map +1 -0
- package/dist/esm/fetchByProvider.js +14 -0
- package/dist/esm/fetchByProvider.js.map +1 -0
- package/dist/esm/getBasePath.js +9 -0
- package/dist/esm/getBasePath.js.map +1 -0
- package/dist/esm/getPageInfo.js +39 -0
- package/dist/esm/getPageInfo.js.map +1 -0
- package/dist/esm/handleHttpError.js +90 -0
- package/dist/esm/handleHttpError.js.map +1 -0
- package/dist/esm/history.js +20 -0
- package/dist/esm/history.js.map +1 -0
- package/dist/esm/index.js +17 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js +68 -0
- package/dist/esm/internal/CustomTemplates/bindTemplateProxy.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/constants.js +4 -0
- package/dist/esm/internal/CustomTemplates/constants.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js +117 -0
- package/dist/esm/internal/CustomTemplates/expandCustomTemplate.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js +110 -0
- package/dist/esm/internal/CustomTemplates/setupTemplateProxy.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js +43 -0
- package/dist/esm/internal/CustomTemplates/setupUseBrickInTemplate.js.map +1 -0
- package/dist/esm/internal/CustomTemplates/utils.js +37 -0
- package/dist/esm/internal/CustomTemplates/utils.js.map +1 -0
- package/dist/esm/internal/Renderer.js +427 -0
- package/dist/esm/internal/Renderer.js.map +1 -0
- package/dist/esm/internal/RendererContext.js +425 -0
- package/dist/esm/internal/RendererContext.js.map +1 -0
- package/dist/esm/internal/Router.js +445 -0
- package/dist/esm/internal/Router.js.map +1 -0
- package/dist/esm/internal/Runtime.js +116 -0
- package/dist/esm/internal/Runtime.js.map +1 -0
- package/dist/esm/internal/abortController.js +24 -0
- package/dist/esm/internal/abortController.js.map +1 -0
- package/dist/esm/internal/bindListeners.js +434 -0
- package/dist/esm/internal/bindListeners.js.map +1 -0
- package/dist/esm/internal/checkInstalledApps.js +100 -0
- package/dist/esm/internal/checkInstalledApps.js.map +1 -0
- package/dist/esm/internal/checkPermissions.js +107 -0
- package/dist/esm/internal/checkPermissions.js.map +1 -0
- package/dist/esm/internal/compute/StoryboardFunctions.js +7 -0
- package/dist/esm/internal/compute/StoryboardFunctions.js.map +1 -0
- package/dist/esm/internal/compute/WidgetFunctions.js +23 -0
- package/dist/esm/internal/compute/WidgetFunctions.js.map +1 -0
- package/dist/esm/internal/compute/WidgetI18n.js +14 -0
- package/dist/esm/internal/compute/WidgetI18n.js.map +1 -0
- package/dist/esm/internal/compute/checkIf.js +39 -0
- package/dist/esm/internal/compute/checkIf.js.map +1 -0
- package/dist/esm/internal/compute/collectMemberCallUsage.js +22 -0
- package/dist/esm/internal/compute/collectMemberCallUsage.js.map +1 -0
- package/dist/esm/internal/compute/computeRealProperties.js +87 -0
- package/dist/esm/internal/compute/computeRealProperties.js.map +1 -0
- package/dist/esm/internal/compute/computeRealValue.js +86 -0
- package/dist/esm/internal/compute/computeRealValue.js.map +1 -0
- package/dist/esm/internal/compute/evaluate.js +387 -0
- package/dist/esm/internal/compute/evaluate.js.map +1 -0
- package/dist/esm/internal/compute/getGeneralGlobals.js +82 -0
- package/dist/esm/internal/compute/getGeneralGlobals.js.map +1 -0
- package/dist/esm/internal/compute/getNextStateOfUseBrick.js +78 -0
- package/dist/esm/internal/compute/getNextStateOfUseBrick.js.map +1 -0
- package/dist/esm/internal/compute/getStorageItem.js +8 -0
- package/dist/esm/internal/compute/getStorageItem.js.map +1 -0
- package/dist/esm/internal/compute/getTracks.js +20 -0
- package/dist/esm/internal/compute/getTracks.js.map +1 -0
- package/dist/esm/internal/compute/images.js +16 -0
- package/dist/esm/internal/compute/images.js.map +1 -0
- package/dist/esm/internal/compute/listenOnTrackingContext.js +37 -0
- package/dist/esm/internal/compute/listenOnTrackingContext.js.map +1 -0
- package/dist/esm/internal/compute/markAsComputed.js +28 -0
- package/dist/esm/internal/compute/markAsComputed.js.map +1 -0
- package/dist/esm/internal/compute/setProperties.js +12 -0
- package/dist/esm/internal/compute/setProperties.js.map +1 -0
- package/dist/esm/internal/compute/setRealProperties.js +23 -0
- package/dist/esm/internal/compute/setRealProperties.js.map +1 -0
- package/dist/esm/internal/data/CollectContracts.js +20 -0
- package/dist/esm/internal/data/CollectContracts.js.map +1 -0
- package/dist/esm/internal/data/DataStore.js +203 -0
- package/dist/esm/internal/data/DataStore.js.map +1 -0
- package/dist/esm/internal/data/FlowApi.js +156 -0
- package/dist/esm/internal/data/FlowApi.js.map +1 -0
- package/dist/esm/internal/data/FlowApiProvider.js +122 -0
- package/dist/esm/internal/data/FlowApiProvider.js.map +1 -0
- package/dist/esm/internal/data/getProviderBrick.js +33 -0
- package/dist/esm/internal/data/getProviderBrick.js.map +1 -0
- package/dist/esm/internal/data/resolveData.js +101 -0
- package/dist/esm/internal/data/resolveData.js.map +1 -0
- package/dist/esm/internal/data/resolveDataStore.js +134 -0
- package/dist/esm/internal/data/resolveDataStore.js.map +1 -0
- package/dist/esm/internal/devtools.js +4 -0
- package/dist/esm/internal/devtools.js.map +1 -0
- package/dist/esm/internal/enums.js +6 -0
- package/dist/esm/internal/enums.js.map +1 -0
- package/dist/esm/internal/historyExtended.js +132 -0
- package/dist/esm/internal/historyExtended.js.map +1 -0
- package/dist/esm/internal/interfaces.js +2 -0
- package/dist/esm/internal/interfaces.js.map +1 -0
- package/dist/esm/internal/loadBootstrapData.js +243 -0
- package/dist/esm/internal/loadBootstrapData.js.map +1 -0
- package/dist/esm/internal/loadCheckLogin.js +18 -0
- package/dist/esm/internal/loadCheckLogin.js.map +1 -0
- package/dist/esm/internal/matchPath.js +81 -0
- package/dist/esm/internal/matchPath.js.map +1 -0
- package/dist/esm/internal/matchRoutes.js +35 -0
- package/dist/esm/internal/matchRoutes.js.map +1 -0
- package/dist/esm/internal/matchStoryboard.js +33 -0
- package/dist/esm/internal/matchStoryboard.js.map +1 -0
- package/dist/esm/internal/mediaQuery.js +44 -0
- package/dist/esm/internal/mediaQuery.js.map +1 -0
- package/dist/esm/internal/menu/computeMenuData.js +38 -0
- package/dist/esm/internal/menu/computeMenuData.js.map +1 -0
- package/dist/esm/internal/menu/constants.js +4 -0
- package/dist/esm/internal/menu/constants.js.map +1 -0
- package/dist/esm/internal/menu/fetchMenuById.js +104 -0
- package/dist/esm/internal/menu/fetchMenuById.js.map +1 -0
- package/dist/esm/internal/menu/fetchMenuTitle.js +38 -0
- package/dist/esm/internal/menu/fetchMenuTitle.js.map +1 -0
- package/dist/esm/internal/menu/getMenusOfStandaloneApp.js +19 -0
- package/dist/esm/internal/menu/getMenusOfStandaloneApp.js.map +1 -0
- package/dist/esm/internal/menu/interfaces.js +4 -0
- package/dist/esm/internal/menu/interfaces.js.map +1 -0
- package/dist/esm/internal/menu/loadDynamicMenuItems.js +28 -0
- package/dist/esm/internal/menu/loadDynamicMenuItems.js.map +1 -0
- package/dist/esm/internal/menu/mergeMenu.js +77 -0
- package/dist/esm/internal/menu/mergeMenu.js.map +1 -0
- package/dist/esm/internal/menu/reorderMenuItems.js +14 -0
- package/dist/esm/internal/menu/reorderMenuItems.js.map +1 -0
- package/dist/esm/internal/mount.js +83 -0
- package/dist/esm/internal/mount.js.map +1 -0
- package/dist/esm/internal/poll.js +85 -0
- package/dist/esm/internal/poll.js.map +1 -0
- package/dist/esm/internal/proxyFactories.js +34 -0
- package/dist/esm/internal/proxyFactories.js.map +1 -0
- package/dist/esm/internal/registerAppI18n.js +20 -0
- package/dist/esm/internal/registerAppI18n.js.map +1 -0
- package/dist/esm/internal/registerCustomTemplates.js +16 -0
- package/dist/esm/internal/registerCustomTemplates.js.map +1 -0
- package/dist/esm/internal/secret_internals.js +145 -0
- package/dist/esm/internal/secret_internals.js.map +1 -0
- package/dist/esm/themeAndMode.js +80 -0
- package/dist/esm/themeAndMode.js.map +1 -0
- package/dist/types/CustomProcessors.d.ts +7 -0
- package/dist/types/CustomTemplates.d.ts +8 -0
- package/dist/types/StoryboardFunctionRegistry.d.ts +44 -0
- package/dist/types/auth.d.ts +19 -0
- package/dist/types/fetchByProvider.d.ts +2 -0
- package/dist/types/getBasePath.d.ts +4 -0
- package/dist/types/getPageInfo.d.ts +14 -0
- package/dist/types/handleHttpError.d.ts +19 -0
- package/dist/types/history.d.ts +7 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/internal/CustomTemplates/bindTemplateProxy.d.ts +3 -0
- package/dist/types/internal/CustomTemplates/constants.d.ts +11 -0
- package/dist/types/internal/CustomTemplates/expandCustomTemplate.d.ts +3 -0
- package/dist/types/internal/CustomTemplates/setupTemplateProxy.d.ts +7 -0
- package/dist/types/internal/CustomTemplates/setupUseBrickInTemplate.d.ts +2 -0
- package/dist/types/internal/CustomTemplates/utils.d.ts +7 -0
- package/dist/types/internal/Renderer.d.ts +21 -0
- package/dist/types/internal/RendererContext.d.ts +25 -0
- package/dist/types/internal/Router.d.ts +16 -0
- package/dist/types/internal/Runtime.d.ts +35 -0
- package/dist/types/internal/abortController.d.ts +2 -0
- package/dist/types/internal/bindListeners.d.ts +11 -0
- package/dist/types/internal/checkInstalledApps.d.ts +6 -0
- package/dist/types/internal/checkPermissions.d.ts +17 -0
- package/dist/types/internal/compute/StoryboardFunctions.d.ts +1 -0
- package/dist/types/internal/compute/WidgetFunctions.d.ts +3 -0
- package/dist/types/internal/compute/WidgetI18n.d.ts +3 -0
- package/dist/types/internal/compute/checkIf.d.ts +23 -0
- package/dist/types/internal/compute/collectMemberCallUsage.d.ts +8 -0
- package/dist/types/internal/compute/computeRealProperties.d.ts +4 -0
- package/dist/types/internal/compute/computeRealValue.d.ts +9 -0
- package/dist/types/internal/compute/evaluate.d.ts +21 -0
- package/dist/types/internal/compute/getGeneralGlobals.d.ts +12 -0
- package/dist/types/internal/compute/getNextStateOfUseBrick.d.ts +16 -0
- package/dist/types/internal/compute/getStorageItem.d.ts +1 -0
- package/dist/types/internal/compute/getTracks.d.ts +5 -0
- package/dist/types/internal/compute/images.d.ts +5 -0
- package/dist/types/internal/compute/listenOnTrackingContext.d.ts +9 -0
- package/dist/types/internal/compute/markAsComputed.d.ts +3 -0
- package/dist/types/internal/compute/setProperties.d.ts +2 -0
- package/dist/types/internal/compute/setRealProperties.d.ts +1 -0
- package/dist/types/internal/data/CollectContracts.d.ts +5 -0
- package/dist/types/internal/data/DataStore.d.ts +26 -0
- package/dist/types/internal/data/FlowApi.d.ts +30 -0
- package/dist/types/internal/data/FlowApiProvider.d.ts +20 -0
- package/dist/types/internal/data/getProviderBrick.d.ts +1 -0
- package/dist/types/internal/data/resolveData.d.ts +16 -0
- package/dist/types/internal/data/resolveDataStore.d.ts +11 -0
- package/dist/types/internal/devtools.d.ts +6 -0
- package/dist/types/internal/enums.d.ts +4 -0
- package/dist/types/internal/historyExtended.d.ts +58 -0
- package/dist/types/internal/interfaces.d.ts +92 -0
- package/dist/types/internal/loadBootstrapData.d.ts +10 -0
- package/dist/types/internal/loadCheckLogin.d.ts +1 -0
- package/dist/types/internal/matchPath.d.ts +18 -0
- package/dist/types/internal/matchRoutes.d.ts +9 -0
- package/dist/types/internal/matchStoryboard.d.ts +10 -0
- package/dist/types/internal/mediaQuery.d.ts +14 -0
- package/dist/types/internal/menu/computeMenuData.d.ts +7 -0
- package/dist/types/internal/menu/constants.d.ts +3 -0
- package/dist/types/internal/menu/fetchMenuById.d.ts +3 -0
- package/dist/types/internal/menu/fetchMenuTitle.d.ts +2 -0
- package/dist/types/internal/menu/getMenusOfStandaloneApp.d.ts +2 -0
- package/dist/types/internal/menu/interfaces.d.ts +74 -0
- package/dist/types/internal/menu/loadDynamicMenuItems.d.ts +3 -0
- package/dist/types/internal/menu/mergeMenu.d.ts +3 -0
- package/dist/types/internal/menu/reorderMenuItems.d.ts +2 -0
- package/dist/types/internal/mount.d.ts +3 -0
- package/dist/types/internal/poll.d.ts +10 -0
- package/dist/types/internal/proxyFactories.d.ts +2 -0
- package/dist/types/internal/registerAppI18n.d.ts +3 -0
- package/dist/types/internal/registerCustomTemplates.d.ts +2 -0
- package/dist/types/internal/secret_internals.d.ts +21 -0
- package/dist/types/themeAndMode.d.ts +16 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeMenuData.js","names":["_computeRealValue","require","_Runtime","_constants","computeMenuData","data","overrideAppId","runtimeContext","newRuntimeContext","app","id","overrideApp","window","STANDALONE_MICRO_APPS","symbolOverrideApp","_internalApiGetAppInBootstrapData","appendI18nNamespace","symbolMenuI18nNamespace","asyncComputeRealValue","ignoreSymbols","computeMenuItems","items","Promise","all","map","children","rest","computedRest","computedChildren","symbolAppId"],"sources":["../../../../src/internal/menu/computeMenuData.ts"],"sourcesContent":["import { asyncComputeRealValue } from \"../compute/computeRealValue.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport type {\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport { _internalApiGetAppInBootstrapData } from \"../Runtime.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\ntype RuntimeMenuRestRawData = Omit<RuntimeMenuRawData, \"app\" | \"items\">;\ntype RuntimeMenuItemRestRawData = Omit<RuntimeMenuItemRawData, \"children\">;\n\nexport function computeMenuData<\n T extends RuntimeMenuRestRawData | RuntimeMenuItemRestRawData\n>(data: T, overrideAppId: string, runtimeContext: RuntimeContext): Promise<T> {\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? data[symbolOverrideApp]\n : _internalApiGetAppInBootstrapData(overrideAppId);\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: data[symbolMenuI18nNamespace],\n };\n }\n return asyncComputeRealValue(data, newRuntimeContext, {\n ignoreSymbols: true,\n }) as Promise<T>;\n}\n\nexport function computeMenuItems(\n items: RuntimeMenuItemRawData[],\n runtimeContext: RuntimeContext\n): Promise<RuntimeMenuItemRawData[]> {\n return Promise.all(\n items.map(async ({ children, ...rest }) => {\n const [computedRest, computedChildren] = await Promise.all([\n computeMenuData(rest, rest[symbolAppId], runtimeContext),\n children && (await computeMenuItems(children, runtimeContext)),\n ]);\n return {\n ...computedRest,\n children: computedChildren,\n };\n })\n );\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AASO,SAASG,eAAeA,CAE7BC,IAAO,EAAEC,aAAqB,EAAEC,cAA8B,EAAc;EAC5E,IAAIC,iBAAiB,GAAGD,cAAc;EACtC,IAAID,aAAa,KAAKC,cAAc,CAACE,GAAG,CAACC,EAAE,EAAE;IAC3C,MAAMC,WAAW,GAAGC,MAAM,CAACC,qBAAqB,GAC5CR,IAAI,CAACS,4BAAiB,CAAC,GACvB,IAAAC,0CAAiC,EAACT,aAAa,CAAC;IACpDE,iBAAiB,GAAG;MAClB,GAAGD,cAAc;MACjBI,WAAW;MACXK,mBAAmB,EAAEX,IAAI,CAACY,kCAAuB;IACnD,CAAC;EACH;EACA,OAAO,IAAAC,uCAAqB,EAACb,IAAI,EAAEG,iBAAiB,EAAE;IACpDW,aAAa,EAAE;EACjB,CAAC,CAAC;AACJ;AAEO,SAASC,gBAAgBA,CAC9BC,KAA+B,EAC/Bd,cAA8B,EACK;EACnC,OAAOe,OAAO,CAACC,GAAG,CAChBF,KAAK,CAACG,GAAG,CAAC,OAAO;IAAEC,QAAQ;IAAE,GAAGC;EAAK,CAAC,KAAK;IACzC,MAAM,CAACC,YAAY,EAAEC,gBAAgB,CAAC,GAAG,MAAMN,OAAO,CAACC,GAAG,CAAC,CACzDnB,eAAe,CAACsB,IAAI,EAAEA,IAAI,CAACG,sBAAW,CAAC,EAAEtB,cAAc,CAAC,EACxDkB,QAAQ,KAAK,MAAML,gBAAgB,CAACK,QAAQ,EAAElB,cAAc,CAAC,CAAC,CAC/D,CAAC;IACF,OAAO;MACL,GAAGoB,YAAY;MACfF,QAAQ,EAAEG;IACZ,CAAC;EACH,CAAC,CAAC,CACH;AACH"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.symbolOverrideApp = exports.symbolMenuI18nNamespace = exports.symbolAppId = void 0;
|
|
7
|
+
const symbolAppId = Symbol("appId");
|
|
8
|
+
exports.symbolAppId = symbolAppId;
|
|
9
|
+
const symbolMenuI18nNamespace = Symbol("menuI18nNamespace");
|
|
10
|
+
exports.symbolMenuI18nNamespace = symbolMenuI18nNamespace;
|
|
11
|
+
const symbolOverrideApp = Symbol("overrideApp");
|
|
12
|
+
exports.symbolOverrideApp = symbolOverrideApp;
|
|
13
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["symbolAppId","Symbol","exports","symbolMenuI18nNamespace","symbolOverrideApp"],"sources":["../../../../src/internal/menu/constants.ts"],"sourcesContent":["export const symbolAppId = Symbol(\"appId\");\nexport const symbolMenuI18nNamespace = Symbol(\"menuI18nNamespace\");\nexport const symbolOverrideApp = Symbol(\"overrideApp\");\n"],"mappings":";;;;;;AAAO,MAAMA,WAAW,GAAGC,MAAM,CAAC,OAAO,CAAC;AAACC,OAAA,CAAAF,WAAA,GAAAA,WAAA;AACpC,MAAMG,uBAAuB,GAAGF,MAAM,CAAC,mBAAmB,CAAC;AAACC,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAC5D,MAAMC,iBAAiB,GAAGH,MAAM,CAAC,aAAa,CAAC;AAACC,OAAA,CAAAE,iBAAA,GAAAA,iBAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fetchMenuById = fetchMenuById;
|
|
7
|
+
exports.getMenuById = getMenuById;
|
|
8
|
+
var _cmdbSdk = require("@next-api-sdk/cmdb-sdk");
|
|
9
|
+
var _lodash = require("lodash");
|
|
10
|
+
var _mergeMenu = require("./mergeMenu.js");
|
|
11
|
+
var _reorderMenuItems = require("./reorderMenuItems.js");
|
|
12
|
+
var _checkPermissions = require("../checkPermissions.js");
|
|
13
|
+
var _checkIf = require("../compute/checkIf.js");
|
|
14
|
+
var _computeMenuData = require("./computeMenuData.js");
|
|
15
|
+
var _fetchMenuTitle = require("./fetchMenuTitle.js");
|
|
16
|
+
var _getMenusOfStandaloneApp = require("./getMenusOfStandaloneApp.js");
|
|
17
|
+
const menuPromises = new Map();
|
|
18
|
+
const menuCache = new Map();
|
|
19
|
+
function getMenuById(menuId) {
|
|
20
|
+
return menuCache.get(menuId);
|
|
21
|
+
}
|
|
22
|
+
function fetchMenuById(menuId, runtimeContext) {
|
|
23
|
+
let promise = menuPromises.get(menuId);
|
|
24
|
+
if (!promise) {
|
|
25
|
+
promise = _fetchMenuById(menuId, runtimeContext);
|
|
26
|
+
}
|
|
27
|
+
return promise;
|
|
28
|
+
}
|
|
29
|
+
async function _fetchMenuById(menuId, runtimeContext) {
|
|
30
|
+
const menuList = window.STANDALONE_MICRO_APPS ? (0, _getMenusOfStandaloneApp.getMenusOfStandaloneApp)(menuId, runtimeContext.app.id) : (await (0, _cmdbSdk.InstanceApi_postSearch)("EASYOPS_STORYBOARD_MENU", {
|
|
31
|
+
page: 1,
|
|
32
|
+
page_size: 200,
|
|
33
|
+
fields: {
|
|
34
|
+
menuId: true,
|
|
35
|
+
title: true,
|
|
36
|
+
icon: true,
|
|
37
|
+
link: true,
|
|
38
|
+
titleDataSource: true,
|
|
39
|
+
defaultCollapsed: true,
|
|
40
|
+
defaultCollapsedBreakpoint: true,
|
|
41
|
+
type: true,
|
|
42
|
+
injectMenuGroupId: true,
|
|
43
|
+
dynamicItems: true,
|
|
44
|
+
itemsResolve: true,
|
|
45
|
+
items: true,
|
|
46
|
+
i18n: true,
|
|
47
|
+
"items.children": true,
|
|
48
|
+
"app.appId": true
|
|
49
|
+
},
|
|
50
|
+
query: {
|
|
51
|
+
menuId: {
|
|
52
|
+
$eq: menuId
|
|
53
|
+
},
|
|
54
|
+
app: {
|
|
55
|
+
$size: {
|
|
56
|
+
$gt: 0
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
})).list;
|
|
61
|
+
const menuData = await (0, _mergeMenu.mergeMenu)(menuList, runtimeContext);
|
|
62
|
+
if (!menuData) {
|
|
63
|
+
throw new Error(`Menu not found: ${menuId}`);
|
|
64
|
+
}
|
|
65
|
+
(0, _reorderMenuItems.reorderMenuItems)(menuData);
|
|
66
|
+
const {
|
|
67
|
+
items,
|
|
68
|
+
app,
|
|
69
|
+
...restMenuData
|
|
70
|
+
} = menuData;
|
|
71
|
+
const newRuntimeContext = {
|
|
72
|
+
...runtimeContext,
|
|
73
|
+
pendingPermissionsPreCheck: [...runtimeContext.pendingPermissionsPreCheck, (0, _checkPermissions.preCheckPermissionsForAny)([items, restMenuData])]
|
|
74
|
+
};
|
|
75
|
+
delete newRuntimeContext.tplStateStoreId;
|
|
76
|
+
delete newRuntimeContext.forEachItem;
|
|
77
|
+
const rootAppId = app[0].appId;
|
|
78
|
+
const [computedMenuData, computedMenuItems] = await Promise.all([(0, _computeMenuData.computeMenuData)(restMenuData, rootAppId, newRuntimeContext), (0, _computeMenuData.computeMenuItems)(items, newRuntimeContext)]);
|
|
79
|
+
const finalMenuData = {
|
|
80
|
+
title: await (0, _fetchMenuTitle.fetchMenuTitle)(computedMenuData),
|
|
81
|
+
...(0, _lodash.pick)(computedMenuData, ["icon", "link", "defaultCollapsed", "defaultCollapsedBreakpoint"]),
|
|
82
|
+
menuItems: computedMenuItems.filter(_checkIf.checkIfOfComputed).map(item => {
|
|
83
|
+
var _item$children;
|
|
84
|
+
const children = (_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.filter(_checkIf.checkIfOfComputed);
|
|
85
|
+
return item.type === "group" ? {
|
|
86
|
+
type: "group",
|
|
87
|
+
title: item.text,
|
|
88
|
+
items: children
|
|
89
|
+
} : children !== null && children !== void 0 && children.length ? {
|
|
90
|
+
type: "subMenu",
|
|
91
|
+
title: item.text,
|
|
92
|
+
icon: item.icon,
|
|
93
|
+
items: children,
|
|
94
|
+
defaultExpanded: item.defaultExpanded
|
|
95
|
+
} : item;
|
|
96
|
+
})
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
// Todo(steve): reconsider the menu cache strategy
|
|
100
|
+
menuCache.set(menuId, finalMenuData);
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=fetchMenuById.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMenuById.js","names":["_cmdbSdk","require","_lodash","_mergeMenu","_reorderMenuItems","_checkPermissions","_checkIf","_computeMenuData","_fetchMenuTitle","_getMenusOfStandaloneApp","menuPromises","Map","menuCache","getMenuById","menuId","get","fetchMenuById","runtimeContext","promise","_fetchMenuById","menuList","window","STANDALONE_MICRO_APPS","getMenusOfStandaloneApp","app","id","InstanceApi_postSearch","page","page_size","fields","title","icon","link","titleDataSource","defaultCollapsed","defaultCollapsedBreakpoint","type","injectMenuGroupId","dynamicItems","itemsResolve","items","i18n","query","$eq","$size","$gt","list","menuData","mergeMenu","Error","reorderMenuItems","restMenuData","newRuntimeContext","pendingPermissionsPreCheck","preCheckPermissionsForAny","tplStateStoreId","forEachItem","rootAppId","appId","computedMenuData","computedMenuItems","Promise","all","computeMenuData","computeMenuItems","finalMenuData","fetchMenuTitle","pick","menuItems","filter","checkIfOfComputed","map","item","_item$children","children","text","length","defaultExpanded","set"],"sources":["../../../../src/internal/menu/fetchMenuById.ts"],"sourcesContent":["import { InstanceApi_postSearch } from \"@next-api-sdk/cmdb-sdk\";\nimport { pick } from \"lodash\";\nimport { mergeMenu } from \"./mergeMenu.js\";\nimport { reorderMenuItems } from \"./reorderMenuItems.js\";\nimport { preCheckPermissionsForAny } from \"../checkPermissions.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport type { MenuRawData } from \"./interfaces.js\";\nimport { checkIfOfComputed } from \"../compute/checkIf.js\";\nimport { computeMenuItems, computeMenuData } from \"./computeMenuData.js\";\nimport { fetchMenuTitle } from \"./fetchMenuTitle.js\";\nimport { getMenusOfStandaloneApp } from \"./getMenusOfStandaloneApp.js\";\n\nconst menuPromises = new Map<string, Promise<void>>();\n\nconst menuCache = new Map<string, unknown>();\n\nexport function getMenuById(menuId: string) {\n return menuCache.get(menuId);\n}\n\nexport function fetchMenuById(menuId: string, runtimeContext: RuntimeContext) {\n let promise = menuPromises.get(menuId);\n if (!promise) {\n promise = _fetchMenuById(menuId, runtimeContext);\n }\n return promise;\n}\n\nasync function _fetchMenuById(menuId: string, runtimeContext: RuntimeContext) {\n const menuList = window.STANDALONE_MICRO_APPS\n ? getMenusOfStandaloneApp(menuId, runtimeContext.app.id)\n : ((\n await InstanceApi_postSearch(\"EASYOPS_STORYBOARD_MENU\", {\n page: 1,\n page_size: 200,\n fields: {\n menuId: true,\n title: true,\n icon: true,\n link: true,\n titleDataSource: true,\n defaultCollapsed: true,\n defaultCollapsedBreakpoint: true,\n type: true,\n injectMenuGroupId: true,\n dynamicItems: true,\n itemsResolve: true,\n items: true,\n i18n: true,\n \"items.children\": true,\n \"app.appId\": true,\n },\n query: {\n menuId: {\n $eq: menuId,\n },\n app: {\n $size: {\n $gt: 0,\n },\n },\n },\n })\n ).list as MenuRawData[]);\n\n const menuData = await mergeMenu(menuList, runtimeContext);\n if (!menuData) {\n throw new Error(`Menu not found: ${menuId}`);\n }\n\n reorderMenuItems(menuData);\n\n const { items, app, ...restMenuData } = menuData;\n const newRuntimeContext: RuntimeContext = {\n ...runtimeContext,\n pendingPermissionsPreCheck: [\n ...runtimeContext.pendingPermissionsPreCheck,\n preCheckPermissionsForAny([items, restMenuData]),\n ],\n };\n delete newRuntimeContext.tplStateStoreId;\n delete newRuntimeContext.forEachItem;\n const rootAppId = app[0].appId;\n\n const [computedMenuData, computedMenuItems] = await Promise.all([\n computeMenuData(restMenuData, rootAppId, newRuntimeContext),\n computeMenuItems(items, newRuntimeContext),\n ]);\n\n const finalMenuData = {\n title: await fetchMenuTitle(computedMenuData),\n ...pick(computedMenuData, [\n \"icon\",\n \"link\",\n \"defaultCollapsed\",\n \"defaultCollapsedBreakpoint\",\n ]),\n menuItems: computedMenuItems.filter(checkIfOfComputed).map((item) => {\n const children = item.children?.filter(checkIfOfComputed);\n return item.type === \"group\"\n ? {\n type: \"group\",\n title: item.text,\n items: children,\n }\n : children?.length\n ? {\n type: \"subMenu\",\n title: item.text,\n icon: item.icon,\n items: children,\n defaultExpanded: item.defaultExpanded,\n }\n : item;\n }),\n };\n\n // Todo(steve): reconsider the menu cache strategy\n menuCache.set(menuId, finalMenuData);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.fetchMenuTitle = fetchMenuTitle;
|
|
7
|
+
var _lodash = require("lodash");
|
|
8
|
+
var _cmdbSdk = require("@next-api-sdk/cmdb-sdk");
|
|
9
|
+
const menuTitleCache = new Map();
|
|
10
|
+
async function fetchMenuTitle(menuData) {
|
|
11
|
+
if (menuData.title || (0, _lodash.isEmpty)(menuData.titleDataSource)) {
|
|
12
|
+
return menuData.title;
|
|
13
|
+
}
|
|
14
|
+
const cacheKey = JSON.stringify(menuData.titleDataSource);
|
|
15
|
+
if (menuTitleCache.has(cacheKey)) {
|
|
16
|
+
return menuTitleCache.get(cacheKey);
|
|
17
|
+
}
|
|
18
|
+
const {
|
|
19
|
+
objectId,
|
|
20
|
+
instanceId,
|
|
21
|
+
attributeId
|
|
22
|
+
} = menuData.titleDataSource;
|
|
23
|
+
const attr = attributeId !== null && attributeId !== void 0 ? attributeId : "name";
|
|
24
|
+
const instanceData = await (0, _cmdbSdk.InstanceApi_getDetail)(objectId, instanceId, {
|
|
25
|
+
fields: attr
|
|
26
|
+
});
|
|
27
|
+
let title;
|
|
28
|
+
if (attributeId === "#showKey" && Array.isArray(instanceData[attr])) {
|
|
29
|
+
const [primary, ...rest] = instanceData[attr];
|
|
30
|
+
title = rest.length > 0 ? `${primary}(${rest.join(",")})` : String(primary);
|
|
31
|
+
} else {
|
|
32
|
+
title = String(instanceData[attr]);
|
|
33
|
+
}
|
|
34
|
+
menuTitleCache.set(cacheKey, title);
|
|
35
|
+
return title;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=fetchMenuTitle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetchMenuTitle.js","names":["_lodash","require","_cmdbSdk","menuTitleCache","Map","fetchMenuTitle","menuData","title","isEmpty","titleDataSource","cacheKey","JSON","stringify","has","get","objectId","instanceId","attributeId","attr","instanceData","InstanceApi_getDetail","fields","Array","isArray","primary","rest","length","join","String","set"],"sources":["../../../../src/internal/menu/fetchMenuTitle.ts"],"sourcesContent":["import { isEmpty } from \"lodash\";\nimport { InstanceApi_getDetail } from \"@next-api-sdk/cmdb-sdk\";\nimport type { MenuRawData } from \"./interfaces.js\";\n\nconst menuTitleCache = new Map<string, string>();\n\nexport async function fetchMenuTitle(\n menuData: Pick<MenuRawData, \"title\" | \"titleDataSource\">\n) {\n if (menuData.title || isEmpty(menuData.titleDataSource)) {\n return menuData.title;\n }\n const cacheKey = JSON.stringify(menuData.titleDataSource);\n if (menuTitleCache.has(cacheKey)) {\n return menuTitleCache.get(cacheKey);\n }\n const { objectId, instanceId, attributeId } = menuData.titleDataSource;\n const attr = attributeId ?? \"name\";\n const instanceData = await InstanceApi_getDetail(objectId, instanceId, {\n fields: attr,\n });\n let title: string;\n if (attributeId === \"#showKey\" && Array.isArray(instanceData[attr])) {\n const [primary, ...rest] = instanceData[attr];\n title = rest.length > 0 ? `${primary}(${rest.join(\",\")})` : String(primary);\n } else {\n title = String(instanceData[attr]);\n }\n menuTitleCache.set(cacheKey, title);\n return title;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAGA,MAAME,cAAc,GAAG,IAAIC,GAAG,EAAkB;AAEzC,eAAeC,cAAcA,CAClCC,QAAwD,EACxD;EACA,IAAIA,QAAQ,CAACC,KAAK,IAAI,IAAAC,eAAO,EAACF,QAAQ,CAACG,eAAe,CAAC,EAAE;IACvD,OAAOH,QAAQ,CAACC,KAAK;EACvB;EACA,MAAMG,QAAQ,GAAGC,IAAI,CAACC,SAAS,CAACN,QAAQ,CAACG,eAAe,CAAC;EACzD,IAAIN,cAAc,CAACU,GAAG,CAACH,QAAQ,CAAC,EAAE;IAChC,OAAOP,cAAc,CAACW,GAAG,CAACJ,QAAQ,CAAC;EACrC;EACA,MAAM;IAAEK,QAAQ;IAAEC,UAAU;IAAEC;EAAY,CAAC,GAAGX,QAAQ,CAACG,eAAe;EACtE,MAAMS,IAAI,GAAGD,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,MAAM;EAClC,MAAME,YAAY,GAAG,MAAM,IAAAC,8BAAqB,EAACL,QAAQ,EAAEC,UAAU,EAAE;IACrEK,MAAM,EAAEH;EACV,CAAC,CAAC;EACF,IAAIX,KAAa;EACjB,IAAIU,WAAW,KAAK,UAAU,IAAIK,KAAK,CAACC,OAAO,CAACJ,YAAY,CAACD,IAAI,CAAC,CAAC,EAAE;IACnE,MAAM,CAACM,OAAO,EAAE,GAAGC,IAAI,CAAC,GAAGN,YAAY,CAACD,IAAI,CAAC;IAC7CX,KAAK,GAAGkB,IAAI,CAACC,MAAM,GAAG,CAAC,GAAI,GAAEF,OAAQ,IAAGC,IAAI,CAACE,IAAI,CAAC,GAAG,CAAE,GAAE,GAAGC,MAAM,CAACJ,OAAO,CAAC;EAC7E,CAAC,MAAM;IACLjB,KAAK,GAAGqB,MAAM,CAACT,YAAY,CAACD,IAAI,CAAC,CAAC;EACpC;EACAf,cAAc,CAAC0B,GAAG,CAACnB,QAAQ,EAAEH,KAAK,CAAC;EACnC,OAAOA,KAAK;AACd"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getMenusOfStandaloneApp = getMenusOfStandaloneApp;
|
|
7
|
+
var _Runtime = require("../Runtime.js");
|
|
8
|
+
function getMenusOfStandaloneApp(menuId, appId) {
|
|
9
|
+
var _ref, _storyboard$meta$inje, _storyboard$meta, _storyboard$meta2;
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
11
|
+
const storyboard = (0, _Runtime._internalApiGetStoryboardInBootstrapData)(appId);
|
|
12
|
+
const menus = (_ref = (_storyboard$meta$inje = (_storyboard$meta = storyboard.meta) === null || _storyboard$meta === void 0 ? void 0 : _storyboard$meta.injectMenus) !== null && _storyboard$meta$inje !== void 0 ? _storyboard$meta$inje : (_storyboard$meta2 = storyboard.meta) === null || _storyboard$meta2 === void 0 ? void 0 : _storyboard$meta2.menus) !== null && _ref !== void 0 ? _ref : [];
|
|
13
|
+
return menus.filter(menu => menu.menuId === menuId).map(menu => {
|
|
14
|
+
var _menu$app, _menu$app$;
|
|
15
|
+
return {
|
|
16
|
+
...menu,
|
|
17
|
+
...((_menu$app = menu.app) !== null && _menu$app !== void 0 && (_menu$app$ = _menu$app[0]) !== null && _menu$app$ !== void 0 && _menu$app$.appId ? {} : {
|
|
18
|
+
app: [{
|
|
19
|
+
appId
|
|
20
|
+
}]
|
|
21
|
+
})
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=getMenusOfStandaloneApp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getMenusOfStandaloneApp.js","names":["_Runtime","require","getMenusOfStandaloneApp","menuId","appId","_ref","_storyboard$meta$inje","_storyboard$meta","_storyboard$meta2","storyboard","_internalApiGetStoryboardInBootstrapData","menus","meta","injectMenus","filter","menu","map","_menu$app","_menu$app$","app"],"sources":["../../../../src/internal/menu/getMenusOfStandaloneApp.ts"],"sourcesContent":["import { _internalApiGetStoryboardInBootstrapData } from \"../Runtime.js\";\nimport { MenuRawData } from \"./interfaces.js\";\n\nexport function getMenusOfStandaloneApp(\n menuId: string,\n appId: string\n): MenuRawData[] {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const storyboard = _internalApiGetStoryboardInBootstrapData(appId)!;\n const menus = (storyboard.meta?.injectMenus ??\n storyboard.meta?.menus ??\n []) as MenuRawData[];\n\n return menus\n .filter((menu) => menu.menuId === menuId)\n .map((menu) => ({\n ...menu,\n ...(menu.app?.[0]?.appId ? {} : { app: [{ appId }] }),\n }));\n\n // Todo: maybe: fetch menus from STANDALONE_MENU@EASYOPS\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGO,SAASC,uBAAuBA,CACrCC,MAAc,EACdC,KAAa,EACE;EAAA,IAAAC,IAAA,EAAAC,qBAAA,EAAAC,gBAAA,EAAAC,iBAAA;EACf;EACA,MAAMC,UAAU,GAAG,IAAAC,iDAAwC,EAACN,KAAK,CAAE;EACnE,MAAMO,KAAK,IAAAN,IAAA,IAAAC,qBAAA,IAAAC,gBAAA,GAAIE,UAAU,CAACG,IAAI,cAAAL,gBAAA,uBAAfA,gBAAA,CAAiBM,WAAW,cAAAP,qBAAA,cAAAA,qBAAA,IAAAE,iBAAA,GACzCC,UAAU,CAACG,IAAI,cAAAJ,iBAAA,uBAAfA,iBAAA,CAAiBG,KAAK,cAAAN,IAAA,cAAAA,IAAA,GACtB,EAAoB;EAEtB,OAAOM,KAAK,CACTG,MAAM,CAAEC,IAAI,IAAKA,IAAI,CAACZ,MAAM,KAAKA,MAAM,CAAC,CACxCa,GAAG,CAAED,IAAI;IAAA,IAAAE,SAAA,EAAAC,UAAA;IAAA,OAAM;MACd,GAAGH,IAAI;MACP,IAAI,CAAAE,SAAA,GAAAF,IAAI,CAACI,GAAG,cAAAF,SAAA,gBAAAC,UAAA,GAARD,SAAA,CAAW,CAAC,CAAC,cAAAC,UAAA,eAAbA,UAAA,CAAed,KAAK,GAAG,CAAC,CAAC,GAAG;QAAEe,GAAG,EAAE,CAAC;UAAEf;QAAM,CAAC;MAAE,CAAC;IACtD,CAAC;EAAA,CAAC,CAAC;;EAEL;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.js","names":["_constants","require"],"sources":["../../../../src/internal/menu/interfaces.ts"],"sourcesContent":["import type { MetaI18n, MicroApp, ResolveConf } from \"@next-core/types\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\n\n/** 原始菜单数据。 */\nexport interface MenuRawData {\n menuId: string;\n title: string;\n app: [\n {\n appId: string;\n }\n ];\n icon?: unknown;\n link?: string;\n titleDataSource?: TitleDataSource;\n items?: MenuItemRawData[];\n type?: \"main\" | \"inject\";\n injectMenuGroupId?: string;\n defaultCollapsed?: boolean;\n defaultCollapsedBreakpoint?: number;\n dynamicItems?: boolean;\n itemsResolve?: ResolveConf;\n i18n?: MetaI18n;\n overrideApp?: MicroApp;\n}\n\n/** 原始菜单项数据。 */\nexport type MenuItemRawData = Omit<SidebarMenuSimpleItem, \"type\"> & {\n children?: MenuItemRawData[];\n type?: \"default\" | \"group\";\n sort?: number;\n if?: string | boolean;\n defaultExpanded?: boolean;\n groupId?: string;\n};\n\ninterface TitleDataSource {\n objectId: string;\n instanceId: string;\n attributeId?: string;\n}\n\n/** 侧边栏基本菜单项的配置。 */\nexport interface SidebarMenuSimpleItem {\n /** 菜单项文本。 */\n text: string;\n\n /** 菜单项对应的系统内地址。 */\n // to?: LocationDescriptor;\n to?: unknown;\n\n /** 菜单项对应的外部链接地址。 */\n href?: string;\n\n /** 菜单项的图标。 */\n // icon?: MenuIcon;\n icon?: unknown;\n\n /** 菜单项链接打开的目标。 */\n target?: string;\n\n type?: \"default\";\n\n /** 高亮菜单项时是否使用精确匹配来对比当前地址和菜单项地址。 */\n exact?: boolean;\n\n /** 设置额外包含的匹配高亮菜单项的地址列表。 */\n activeIncludes?: string[];\n\n /** 设置需要被排除的匹配高亮菜单项的地址列表。 */\n activeExcludes?: string[];\n\n /** 设置匹配高亮菜单项时是否还对 search 参数进行比较。 */\n activeMatchSearch?: boolean;\n\n /** @internal */\n key?: string;\n}\n\nexport interface RuntimeMenuItemRawData extends MenuItemRawData {\n children?: RuntimeMenuItemRawData[];\n [symbolAppId]: string;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n\nexport interface RuntimeMenuRawData extends MenuRawData {\n items: RuntimeMenuItemRawData[];\n // [symbolShouldCache]?: boolean;\n [symbolMenuI18nNamespace]?: string;\n [symbolOverrideApp]?: MicroApp;\n}\n"],"mappings":";;AACA,IAAAA,UAAA,GAAAC,OAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.loadDynamicMenuItems = loadDynamicMenuItems;
|
|
7
|
+
var _Runtime = require("../Runtime.js");
|
|
8
|
+
var _resolveData = require("../data/resolveData.js");
|
|
9
|
+
async function loadDynamicMenuItems(menu, runtimeContext, menuWithI18n) {
|
|
10
|
+
if (menu.dynamicItems && menu.itemsResolve) {
|
|
11
|
+
const overrideAppId = menu.app[0].appId;
|
|
12
|
+
let newRuntimeContext = runtimeContext;
|
|
13
|
+
if (overrideAppId !== runtimeContext.app.id) {
|
|
14
|
+
const overrideApp = window.STANDALONE_MICRO_APPS ? menu.overrideApp : (0, _Runtime._internalApiGetAppInBootstrapData)(overrideAppId);
|
|
15
|
+
newRuntimeContext = {
|
|
16
|
+
...runtimeContext,
|
|
17
|
+
overrideApp,
|
|
18
|
+
appendI18nNamespace: menuWithI18n.get(menu)
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const resolved = await (0, _resolveData.resolveData)({
|
|
22
|
+
transform: "items",
|
|
23
|
+
...menu.itemsResolve
|
|
24
|
+
}, newRuntimeContext);
|
|
25
|
+
menu.items = resolved.items;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=loadDynamicMenuItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loadDynamicMenuItems.js","names":["_Runtime","require","_resolveData","loadDynamicMenuItems","menu","runtimeContext","menuWithI18n","dynamicItems","itemsResolve","overrideAppId","app","appId","newRuntimeContext","id","overrideApp","window","STANDALONE_MICRO_APPS","_internalApiGetAppInBootstrapData","appendI18nNamespace","get","resolved","resolveData","transform","items"],"sources":["../../../../src/internal/menu/loadDynamicMenuItems.ts"],"sourcesContent":["import type { MenuItemRawData, MenuRawData } from \"./interfaces.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { _internalApiGetAppInBootstrapData } from \"../Runtime.js\";\nimport { resolveData } from \"../data/resolveData.js\";\n\nexport async function loadDynamicMenuItems(\n menu: MenuRawData,\n runtimeContext: RuntimeContext,\n menuWithI18n: WeakMap<MenuRawData, string>\n): Promise<void> {\n if (menu.dynamicItems && menu.itemsResolve) {\n const overrideAppId = menu.app[0].appId;\n let newRuntimeContext = runtimeContext;\n if (overrideAppId !== runtimeContext.app.id) {\n const overrideApp = window.STANDALONE_MICRO_APPS\n ? menu.overrideApp\n : _internalApiGetAppInBootstrapData(overrideAppId);\n newRuntimeContext = {\n ...runtimeContext,\n overrideApp,\n appendI18nNamespace: menuWithI18n.get(menu),\n };\n }\n const resolved = (await resolveData(\n {\n transform: \"items\",\n ...menu.itemsResolve,\n },\n newRuntimeContext\n )) as { items: MenuItemRawData[] };\n menu.items = resolved.items;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEO,eAAeE,oBAAoBA,CACxCC,IAAiB,EACjBC,cAA8B,EAC9BC,YAA0C,EAC3B;EACf,IAAIF,IAAI,CAACG,YAAY,IAAIH,IAAI,CAACI,YAAY,EAAE;IAC1C,MAAMC,aAAa,GAAGL,IAAI,CAACM,GAAG,CAAC,CAAC,CAAC,CAACC,KAAK;IACvC,IAAIC,iBAAiB,GAAGP,cAAc;IACtC,IAAII,aAAa,KAAKJ,cAAc,CAACK,GAAG,CAACG,EAAE,EAAE;MAC3C,MAAMC,WAAW,GAAGC,MAAM,CAACC,qBAAqB,GAC5CZ,IAAI,CAACU,WAAW,GAChB,IAAAG,0CAAiC,EAACR,aAAa,CAAC;MACpDG,iBAAiB,GAAG;QAClB,GAAGP,cAAc;QACjBS,WAAW;QACXI,mBAAmB,EAAEZ,YAAY,CAACa,GAAG,CAACf,IAAI;MAC5C,CAAC;IACH;IACA,MAAMgB,QAAQ,GAAI,MAAM,IAAAC,wBAAW,EACjC;MACEC,SAAS,EAAE,OAAO;MAClB,GAAGlB,IAAI,CAACI;IACV,CAAC,EACDI,iBAAiB,CACe;IAClCR,IAAI,CAACmB,KAAK,GAAGH,QAAQ,CAACG,KAAK;EAC7B;AACF"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mergeMenu = mergeMenu;
|
|
7
|
+
var _i18n = require("@next-core/i18n");
|
|
8
|
+
var _registerAppI18n = require("../registerAppI18n.js");
|
|
9
|
+
var _constants = require("./constants.js");
|
|
10
|
+
var _loadDynamicMenuItems = require("./loadDynamicMenuItems.js");
|
|
11
|
+
async function mergeMenu(menuList, runtimeContext) {
|
|
12
|
+
const mainMenu = menuList.find(menu => menu.type !== "inject");
|
|
13
|
+
if (!mainMenu) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
16
|
+
const validMenuList = [];
|
|
17
|
+
const injectWithMenus = new Map();
|
|
18
|
+
const menuWithI18n = new WeakMap();
|
|
19
|
+
for (const menu of menuList) {
|
|
20
|
+
if (menu.i18n) {
|
|
21
|
+
const menuI18nNamespace = (0, _registerAppI18n.getI18nNamespace)("menu", `${menu.menuId}~${menu.app[0].appId}+${menu.instanceId}`);
|
|
22
|
+
// Support any language in `menu.i18n`.
|
|
23
|
+
Object.entries(menu.i18n).forEach(([lang, resources]) => {
|
|
24
|
+
_i18n.i18n.addResourceBundle(lang, menuI18nNamespace, resources);
|
|
25
|
+
});
|
|
26
|
+
menuWithI18n.set(menu, menuI18nNamespace);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
await Promise.all(menuList.map(menu => (0, _loadDynamicMenuItems.loadDynamicMenuItems)(menu, runtimeContext, menuWithI18n)));
|
|
30
|
+
for (const menu of menuList) {
|
|
31
|
+
var _menu$items;
|
|
32
|
+
if ((_menu$items = menu.items) !== null && _menu$items !== void 0 && _menu$items.length) {
|
|
33
|
+
if (menu.type === "inject" && menu.injectMenuGroupId) {
|
|
34
|
+
let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);
|
|
35
|
+
if (!injectingMenus) {
|
|
36
|
+
injectingMenus = [];
|
|
37
|
+
injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);
|
|
38
|
+
}
|
|
39
|
+
injectingMenus.push(menu);
|
|
40
|
+
} else {
|
|
41
|
+
validMenuList.push(menu);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
...mainMenu,
|
|
47
|
+
items: validMenuList.flatMap(menu =>
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
49
|
+
processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)),
|
|
50
|
+
[_constants.symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),
|
|
51
|
+
[_constants.symbolOverrideApp]: mainMenu.overrideApp
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function processGroupInject(items, menu, injectWithMenus, menuWithI18n) {
|
|
55
|
+
return items === null || items === void 0 ? void 0 : items.map(item => {
|
|
56
|
+
var _processGroupInject;
|
|
57
|
+
const foundInjectingMenus = item.groupId && injectWithMenus.get(item.groupId);
|
|
58
|
+
if (foundInjectingMenus) {
|
|
59
|
+
// Each menu to be injected with should be injected only once.
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
61
|
+
injectWithMenus.delete(item.groupId);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
...item,
|
|
65
|
+
children: ((_processGroupInject = processGroupInject(item.children, menu, injectWithMenus, menuWithI18n)) !== null && _processGroupInject !== void 0 ? _processGroupInject : []).concat(foundInjectingMenus ? foundInjectingMenus.flatMap(injectingMenu =>
|
|
66
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
67
|
+
processGroupInject(injectingMenu.items, injectingMenu, injectWithMenus, menuWithI18n)) : []),
|
|
68
|
+
[_constants.symbolAppId]: menu.app[0].appId,
|
|
69
|
+
[_constants.symbolMenuI18nNamespace]: menuWithI18n.get(menu),
|
|
70
|
+
[_constants.symbolOverrideApp]: menu.overrideApp
|
|
71
|
+
};
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=mergeMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mergeMenu.js","names":["_i18n","require","_registerAppI18n","_constants","_loadDynamicMenuItems","mergeMenu","menuList","runtimeContext","mainMenu","find","menu","type","undefined","validMenuList","injectWithMenus","Map","menuWithI18n","WeakMap","i18n","menuI18nNamespace","getI18nNamespace","menuId","app","appId","instanceId","Object","entries","forEach","lang","resources","addResourceBundle","set","Promise","all","map","loadDynamicMenuItems","_menu$items","items","length","injectMenuGroupId","injectingMenus","get","push","flatMap","processGroupInject","symbolMenuI18nNamespace","symbolOverrideApp","overrideApp","item","_processGroupInject","foundInjectingMenus","groupId","delete","children","concat","injectingMenu","symbolAppId"],"sources":["../../../../src/internal/menu/mergeMenu.ts"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport { getI18nNamespace } from \"../registerAppI18n.js\";\nimport {\n symbolAppId,\n symbolMenuI18nNamespace,\n symbolOverrideApp,\n} from \"./constants.js\";\nimport type {\n MenuItemRawData,\n MenuRawData,\n RuntimeMenuItemRawData,\n RuntimeMenuRawData,\n} from \"./interfaces.js\";\nimport type { RuntimeContext } from \"../interfaces.js\";\nimport { loadDynamicMenuItems } from \"./loadDynamicMenuItems.js\";\n\nexport async function mergeMenu(\n menuList: MenuRawData[],\n runtimeContext: RuntimeContext\n): Promise<RuntimeMenuRawData | undefined> {\n const mainMenu = menuList.find((menu) => menu.type !== \"inject\");\n if (!mainMenu) {\n return undefined;\n }\n const validMenuList: MenuRawData[] = [];\n const injectWithMenus = new Map<string, MenuRawData[]>();\n const menuWithI18n = new WeakMap<MenuRawData, string>();\n\n for (const menu of menuList) {\n if (menu.i18n) {\n const menuI18nNamespace = getI18nNamespace(\n \"menu\",\n `${menu.menuId}~${menu.app[0].appId}+${\n (menu as { instanceId?: string }).instanceId\n }`\n );\n // Support any language in `menu.i18n`.\n Object.entries(menu.i18n).forEach(([lang, resources]) => {\n i18n.addResourceBundle(lang, menuI18nNamespace, resources);\n });\n menuWithI18n.set(menu, menuI18nNamespace);\n }\n }\n\n await Promise.all(\n menuList.map((menu) =>\n loadDynamicMenuItems(menu, runtimeContext, menuWithI18n)\n )\n );\n\n for (const menu of menuList) {\n if (menu.items?.length) {\n if (menu.type === \"inject\" && menu.injectMenuGroupId) {\n let injectingMenus = injectWithMenus.get(menu.injectMenuGroupId);\n if (!injectingMenus) {\n injectingMenus = [];\n injectWithMenus.set(menu.injectMenuGroupId, injectingMenus);\n }\n injectingMenus.push(menu);\n } else {\n validMenuList.push(menu);\n }\n }\n }\n\n return {\n ...mainMenu,\n items: validMenuList.flatMap(\n (menu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(menu.items, menu, injectWithMenus, menuWithI18n)!\n ),\n [symbolMenuI18nNamespace]: menuWithI18n.get(mainMenu),\n [symbolOverrideApp]: mainMenu.overrideApp,\n };\n}\n\nfunction processGroupInject(\n items: MenuItemRawData[] | undefined,\n menu: MenuRawData,\n injectWithMenus: Map<string, MenuRawData[]>,\n menuWithI18n: WeakMap<MenuRawData, string>\n): RuntimeMenuItemRawData[] | undefined {\n return items?.map((item) => {\n const foundInjectingMenus =\n item.groupId && injectWithMenus.get(item.groupId);\n if (foundInjectingMenus) {\n // Each menu to be injected with should be injected only once.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n injectWithMenus.delete(item.groupId!);\n }\n return {\n ...item,\n children: (\n processGroupInject(\n item.children,\n menu,\n injectWithMenus,\n menuWithI18n\n ) ?? ([] as RuntimeMenuItemRawData[])\n ).concat(\n foundInjectingMenus\n ? foundInjectingMenus.flatMap(\n (injectingMenu) =>\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n processGroupInject(\n injectingMenu.items,\n injectingMenu,\n injectWithMenus,\n menuWithI18n\n )!\n )\n : ([] as RuntimeMenuItemRawData[])\n ),\n [symbolAppId]: menu.app[0].appId,\n [symbolMenuI18nNamespace]: menuWithI18n.get(menu),\n [symbolOverrideApp]: menu.overrideApp,\n };\n });\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.reorderMenuItems = reorderMenuItems;
|
|
7
|
+
var _lodash = require("lodash");
|
|
8
|
+
function reorderMenuItems(menuData) {
|
|
9
|
+
menuData.items = sortMenuItems(menuData.items).map(item => ({
|
|
10
|
+
...item,
|
|
11
|
+
children: sortMenuItems(item.children)
|
|
12
|
+
}));
|
|
13
|
+
}
|
|
14
|
+
function sortMenuItems(list) {
|
|
15
|
+
return (0, _lodash.sortBy)(list, item => {
|
|
16
|
+
var _item$sort;
|
|
17
|
+
return (_item$sort = item.sort) !== null && _item$sort !== void 0 ? _item$sort : -Infinity;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=reorderMenuItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reorderMenuItems.js","names":["_lodash","require","reorderMenuItems","menuData","items","sortMenuItems","map","item","children","list","sortBy","_item$sort","sort","Infinity"],"sources":["../../../../src/internal/menu/reorderMenuItems.ts"],"sourcesContent":["import { sortBy } from \"lodash\";\nimport { MenuItemRawData, MenuRawData } from \"./interfaces.js\";\n\nexport function reorderMenuItems(menuData: MenuRawData): void {\n menuData.items = sortMenuItems(menuData.items).map((item) => ({\n ...item,\n children: sortMenuItems(item.children) as MenuItemRawData[],\n }));\n}\n\nfunction sortMenuItems(list: MenuItemRawData[] | undefined): MenuItemRawData[] {\n return sortBy(list, (item) => item.sort ?? -Infinity);\n}\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAGO,SAASC,gBAAgBA,CAACC,QAAqB,EAAQ;EAC5DA,QAAQ,CAACC,KAAK,GAAGC,aAAa,CAACF,QAAQ,CAACC,KAAK,CAAC,CAACE,GAAG,CAAEC,IAAI,KAAM;IAC5D,GAAGA,IAAI;IACPC,QAAQ,EAAEH,aAAa,CAACE,IAAI,CAACC,QAAQ;EACvC,CAAC,CAAC,CAAC;AACL;AAEA,SAASH,aAAaA,CAACI,IAAmC,EAAqB;EAC7E,OAAO,IAAAC,cAAM,EAACD,IAAI,EAAGF,IAAI;IAAA,IAAAI,UAAA;IAAA,QAAAA,UAAA,GAAKJ,IAAI,CAACK,IAAI,cAAAD,UAAA,cAAAA,UAAA,GAAI,CAACE,QAAQ;EAAA,EAAC;AACvD"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mountTree = mountTree;
|
|
7
|
+
exports.unmountTree = unmountTree;
|
|
8
|
+
var _bindTemplateProxy = require("./CustomTemplates/bindTemplateProxy.js");
|
|
9
|
+
var _utils = require("./CustomTemplates/utils.js");
|
|
10
|
+
var _bindListeners = require("./bindListeners.js");
|
|
11
|
+
var _setRealProperties = require("./compute/setRealProperties.js");
|
|
12
|
+
var _enums = require("./enums.js");
|
|
13
|
+
function unmountTree(mountPoint) {
|
|
14
|
+
mountPoint.innerHTML = "";
|
|
15
|
+
}
|
|
16
|
+
function mountTree(root, initializedElement) {
|
|
17
|
+
let current = root.child;
|
|
18
|
+
const portalElements = [];
|
|
19
|
+
while (current) {
|
|
20
|
+
const tagName = current.type;
|
|
21
|
+
if (tagName.includes("-") && !customElements.get(tagName)) {
|
|
22
|
+
// eslint-disable-next-line no-console
|
|
23
|
+
console.error(`Undefined custom element: ${tagName}`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// istanbul ignore if
|
|
27
|
+
if (tagName === "basic-bricks.script-brick") {
|
|
28
|
+
// eslint-disable-next-line no-console
|
|
29
|
+
console.warn("`basic-bricks.script-brick` is deprecated, please take caution when using it");
|
|
30
|
+
}
|
|
31
|
+
const element = initializedElement && current === root.child ? initializedElement : document.createElement(tagName);
|
|
32
|
+
current.element = element;
|
|
33
|
+
if (current.slotId) {
|
|
34
|
+
element.setAttribute("slot", current.slotId);
|
|
35
|
+
}
|
|
36
|
+
if (current.iid) {
|
|
37
|
+
element.dataset.iid = current.iid;
|
|
38
|
+
}
|
|
39
|
+
(0, _setRealProperties.setRealProperties)(element, current.properties);
|
|
40
|
+
(0, _bindListeners.bindListeners)(element, current.events, current.runtimeContext);
|
|
41
|
+
if (current.tplHostMetadata) {
|
|
42
|
+
// 先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,
|
|
43
|
+
// 避免初始化的一次 state update 操作及其 onChange 事件。
|
|
44
|
+
element.$$tplStateStore = (0, _utils.getTplStateStore)({
|
|
45
|
+
tplStateStoreId: current.tplHostMetadata.tplStateStoreId,
|
|
46
|
+
tplStateStoreMap: current.runtimeContext.tplStateStoreMap
|
|
47
|
+
}, "mount");
|
|
48
|
+
}
|
|
49
|
+
(0, _bindTemplateProxy.bindTemplateProxy)(current);
|
|
50
|
+
if (current.portal) {
|
|
51
|
+
portalElements.push(element);
|
|
52
|
+
} else if (current.return) {
|
|
53
|
+
if (!current.return.childElements) {
|
|
54
|
+
current.return.childElements = [];
|
|
55
|
+
}
|
|
56
|
+
current.return.childElements.push(element);
|
|
57
|
+
}
|
|
58
|
+
if (current.child) {
|
|
59
|
+
current = current.child;
|
|
60
|
+
} else if (current.sibling) {
|
|
61
|
+
current = current.sibling;
|
|
62
|
+
} else {
|
|
63
|
+
var _currentReturn;
|
|
64
|
+
let currentReturn = current.return;
|
|
65
|
+
while (currentReturn) {
|
|
66
|
+
// Append elements inside out
|
|
67
|
+
if (currentReturn.childElements) {
|
|
68
|
+
if (currentReturn.tag === _enums.RenderTag.ROOT) {
|
|
69
|
+
var _currentReturn$contai;
|
|
70
|
+
(_currentReturn$contai = currentReturn.container) === null || _currentReturn$contai === void 0 ? void 0 : _currentReturn$contai.append(...currentReturn.childElements);
|
|
71
|
+
if (portalElements.length > 0) {
|
|
72
|
+
const portal = typeof currentReturn.createPortal === "function" ? currentReturn.createPortal() : currentReturn.createPortal;
|
|
73
|
+
portal.append(...portalElements);
|
|
74
|
+
}
|
|
75
|
+
} else {
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
77
|
+
currentReturn.element.append(...currentReturn.childElements);
|
|
78
|
+
}
|
|
79
|
+
currentReturn.childElements = undefined;
|
|
80
|
+
}
|
|
81
|
+
if (currentReturn.sibling) {
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
currentReturn = currentReturn.return;
|
|
85
|
+
}
|
|
86
|
+
current = (_currentReturn = currentReturn) === null || _currentReturn === void 0 ? void 0 : _currentReturn.sibling;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=mount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mount.js","names":["_bindTemplateProxy","require","_utils","_bindListeners","_setRealProperties","_enums","unmountTree","mountPoint","innerHTML","mountTree","root","initializedElement","current","child","portalElements","tagName","type","includes","customElements","get","console","error","warn","element","document","createElement","slotId","setAttribute","iid","dataset","setRealProperties","properties","bindListeners","events","runtimeContext","tplHostMetadata","$$tplStateStore","getTplStateStore","tplStateStoreId","tplStateStoreMap","bindTemplateProxy","portal","push","return","childElements","sibling","_currentReturn","currentReturn","tag","RenderTag","ROOT","_currentReturn$contai","container","append","length","createPortal","undefined"],"sources":["../../../src/internal/mount.ts"],"sourcesContent":["import { bindTemplateProxy } from \"./CustomTemplates/bindTemplateProxy.js\";\nimport { getTplStateStore } from \"./CustomTemplates/utils.js\";\nimport { bindListeners } from \"./bindListeners.js\";\nimport { setRealProperties } from \"./compute/setRealProperties.js\";\nimport { RenderTag } from \"./enums.js\";\nimport type {\n RenderNode,\n RenderRoot,\n RuntimeBrickElement,\n} from \"./interfaces.js\";\n\nexport function unmountTree(mountPoint: HTMLElement) {\n mountPoint.innerHTML = \"\";\n}\n\nexport function mountTree(\n root: RenderRoot,\n initializedElement?: RuntimeBrickElement\n): void {\n let current = root.child;\n const portalElements: RuntimeBrickElement[] = [];\n while (current) {\n const tagName = current.type;\n\n if (tagName.includes(\"-\") && !customElements.get(tagName)) {\n // eslint-disable-next-line no-console\n console.error(`Undefined custom element: ${tagName}`);\n }\n\n // istanbul ignore if\n if (tagName === \"basic-bricks.script-brick\") {\n // eslint-disable-next-line no-console\n console.warn(\n \"`basic-bricks.script-brick` is deprecated, please take caution when using it\"\n );\n }\n\n const element: RuntimeBrickElement =\n initializedElement && current === root.child\n ? initializedElement\n : document.createElement(tagName);\n current.element = element;\n\n if (current.slotId) {\n element.setAttribute(\"slot\", current.slotId);\n }\n if (current.iid) {\n element.dataset.iid = current.iid;\n }\n setRealProperties(element, current.properties);\n bindListeners(element, current.events, current.runtimeContext);\n if (current.tplHostMetadata) {\n // 先设置属性,再设置 `$$tplStateStore`,这样,当触发属性设置时,\n // 避免初始化的一次 state update 操作及其 onChange 事件。\n element.$$tplStateStore = getTplStateStore(\n {\n tplStateStoreId: current.tplHostMetadata.tplStateStoreId,\n tplStateStoreMap: current.runtimeContext.tplStateStoreMap,\n },\n \"mount\"\n );\n }\n bindTemplateProxy(current);\n\n if (current.portal) {\n portalElements.push(element);\n } else if (current.return) {\n if (!current.return.childElements) {\n current.return.childElements = [];\n }\n current.return.childElements.push(element);\n }\n\n if (current.child) {\n current = current.child;\n } else if (current.sibling) {\n current = current.sibling;\n } else {\n let currentReturn: RenderNode | null | undefined = current.return;\n while (currentReturn) {\n // Append elements inside out\n if (currentReturn.childElements) {\n if (currentReturn.tag === RenderTag.ROOT) {\n currentReturn.container?.append(...currentReturn.childElements);\n\n if (portalElements.length > 0) {\n const portal =\n typeof currentReturn.createPortal === \"function\"\n ? currentReturn.createPortal()\n : currentReturn.createPortal;\n portal.append(...portalElements);\n }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n currentReturn.element!.append(...currentReturn.childElements);\n }\n currentReturn.childElements = undefined;\n }\n if (currentReturn.sibling) {\n break;\n }\n currentReturn = currentReturn.return;\n }\n current = currentReturn?.sibling;\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,kBAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAOO,SAASK,WAAWA,CAACC,UAAuB,EAAE;EACnDA,UAAU,CAACC,SAAS,GAAG,EAAE;AAC3B;AAEO,SAASC,SAASA,CACvBC,IAAgB,EAChBC,kBAAwC,EAClC;EACN,IAAIC,OAAO,GAAGF,IAAI,CAACG,KAAK;EACxB,MAAMC,cAAqC,GAAG,EAAE;EAChD,OAAOF,OAAO,EAAE;IACd,MAAMG,OAAO,GAAGH,OAAO,CAACI,IAAI;IAE5B,IAAID,OAAO,CAACE,QAAQ,CAAC,GAAG,CAAC,IAAI,CAACC,cAAc,CAACC,GAAG,CAACJ,OAAO,CAAC,EAAE;MACzD;MACAK,OAAO,CAACC,KAAK,CAAE,6BAA4BN,OAAQ,EAAC,CAAC;IACvD;;IAEA;IACA,IAAIA,OAAO,KAAK,2BAA2B,EAAE;MAC3C;MACAK,OAAO,CAACE,IAAI,CACV,8EAA8E,CAC/E;IACH;IAEA,MAAMC,OAA4B,GAChCZ,kBAAkB,IAAIC,OAAO,KAAKF,IAAI,CAACG,KAAK,GACxCF,kBAAkB,GAClBa,QAAQ,CAACC,aAAa,CAACV,OAAO,CAAC;IACrCH,OAAO,CAACW,OAAO,GAAGA,OAAO;IAEzB,IAAIX,OAAO,CAACc,MAAM,EAAE;MAClBH,OAAO,CAACI,YAAY,CAAC,MAAM,EAAEf,OAAO,CAACc,MAAM,CAAC;IAC9C;IACA,IAAId,OAAO,CAACgB,GAAG,EAAE;MACfL,OAAO,CAACM,OAAO,CAACD,GAAG,GAAGhB,OAAO,CAACgB,GAAG;IACnC;IACA,IAAAE,oCAAiB,EAACP,OAAO,EAAEX,OAAO,CAACmB,UAAU,CAAC;IAC9C,IAAAC,4BAAa,EAACT,OAAO,EAAEX,OAAO,CAACqB,MAAM,EAAErB,OAAO,CAACsB,cAAc,CAAC;IAC9D,IAAItB,OAAO,CAACuB,eAAe,EAAE;MAC3B;MACA;MACAZ,OAAO,CAACa,eAAe,GAAG,IAAAC,uBAAgB,EACxC;QACEC,eAAe,EAAE1B,OAAO,CAACuB,eAAe,CAACG,eAAe;QACxDC,gBAAgB,EAAE3B,OAAO,CAACsB,cAAc,CAACK;MAC3C,CAAC,EACD,OAAO,CACR;IACH;IACA,IAAAC,oCAAiB,EAAC5B,OAAO,CAAC;IAE1B,IAAIA,OAAO,CAAC6B,MAAM,EAAE;MAClB3B,cAAc,CAAC4B,IAAI,CAACnB,OAAO,CAAC;IAC9B,CAAC,MAAM,IAAIX,OAAO,CAAC+B,MAAM,EAAE;MACzB,IAAI,CAAC/B,OAAO,CAAC+B,MAAM,CAACC,aAAa,EAAE;QACjChC,OAAO,CAAC+B,MAAM,CAACC,aAAa,GAAG,EAAE;MACnC;MACAhC,OAAO,CAAC+B,MAAM,CAACC,aAAa,CAACF,IAAI,CAACnB,OAAO,CAAC;IAC5C;IAEA,IAAIX,OAAO,CAACC,KAAK,EAAE;MACjBD,OAAO,GAAGA,OAAO,CAACC,KAAK;IACzB,CAAC,MAAM,IAAID,OAAO,CAACiC,OAAO,EAAE;MAC1BjC,OAAO,GAAGA,OAAO,CAACiC,OAAO;IAC3B,CAAC,MAAM;MAAA,IAAAC,cAAA;MACL,IAAIC,aAA4C,GAAGnC,OAAO,CAAC+B,MAAM;MACjE,OAAOI,aAAa,EAAE;QACpB;QACA,IAAIA,aAAa,CAACH,aAAa,EAAE;UAC/B,IAAIG,aAAa,CAACC,GAAG,KAAKC,gBAAS,CAACC,IAAI,EAAE;YAAA,IAAAC,qBAAA;YACxC,CAAAA,qBAAA,GAAAJ,aAAa,CAACK,SAAS,cAAAD,qBAAA,uBAAvBA,qBAAA,CAAyBE,MAAM,CAAC,GAAGN,aAAa,CAACH,aAAa,CAAC;YAE/D,IAAI9B,cAAc,CAACwC,MAAM,GAAG,CAAC,EAAE;cAC7B,MAAMb,MAAM,GACV,OAAOM,aAAa,CAACQ,YAAY,KAAK,UAAU,GAC5CR,aAAa,CAACQ,YAAY,EAAE,GAC5BR,aAAa,CAACQ,YAAY;cAChCd,MAAM,CAACY,MAAM,CAAC,GAAGvC,cAAc,CAAC;YAClC;UACF,CAAC,MAAM;YACL;YACAiC,aAAa,CAACxB,OAAO,CAAE8B,MAAM,CAAC,GAAGN,aAAa,CAACH,aAAa,CAAC;UAC/D;UACAG,aAAa,CAACH,aAAa,GAAGY,SAAS;QACzC;QACA,IAAIT,aAAa,CAACF,OAAO,EAAE;UACzB;QACF;QACAE,aAAa,GAAGA,aAAa,CAACJ,MAAM;MACtC;MACA/B,OAAO,IAAAkC,cAAA,GAAGC,aAAa,cAAAD,cAAA,uBAAbA,cAAA,CAAeD,OAAO;IAClC;EACF;AACF"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.clearPollTimeout = clearPollTimeout;
|
|
7
|
+
exports.startPoll = startPoll;
|
|
8
|
+
var _Runtime = require("./Runtime.js");
|
|
9
|
+
const timeoutIdList = new Set();
|
|
10
|
+
function startPoll(task, {
|
|
11
|
+
progress,
|
|
12
|
+
success,
|
|
13
|
+
error,
|
|
14
|
+
finally: finallyCallback
|
|
15
|
+
}, {
|
|
16
|
+
interval,
|
|
17
|
+
leadingRequestDelay,
|
|
18
|
+
continueOnError,
|
|
19
|
+
delegateLoadingBar,
|
|
20
|
+
expectPollEnd,
|
|
21
|
+
expectPollStopImmediately
|
|
22
|
+
}) {
|
|
23
|
+
const currentRenderId = (0, _Runtime._internalApiGetRenderId)();
|
|
24
|
+
let currentTimeoutId;
|
|
25
|
+
async function poll() {
|
|
26
|
+
timeoutIdList.delete(currentTimeoutId);
|
|
27
|
+
let shouldStop;
|
|
28
|
+
try {
|
|
29
|
+
shouldStop = expectPollStopImmediately === null || expectPollStopImmediately === void 0 ? void 0 : expectPollStopImmediately();
|
|
30
|
+
// Stop polling immediately when the expectation is match before task.
|
|
31
|
+
if (!shouldStop) {
|
|
32
|
+
const result = await task();
|
|
33
|
+
// Stop polling immediately when the expectation is match or a different router
|
|
34
|
+
// is rendering after the task processed.
|
|
35
|
+
shouldStop = (expectPollStopImmediately === null || expectPollStopImmediately === void 0 ? void 0 : expectPollStopImmediately()) || currentRenderId !== (0, _Runtime._internalApiGetRenderId)();
|
|
36
|
+
if (!shouldStop) {
|
|
37
|
+
progress === null || progress === void 0 ? void 0 : progress(result);
|
|
38
|
+
if (expectPollEnd !== null && expectPollEnd !== void 0 && expectPollEnd(result)) {
|
|
39
|
+
if (delegateLoadingBar) {
|
|
40
|
+
window.dispatchEvent(new Event("request.end"));
|
|
41
|
+
}
|
|
42
|
+
success === null || success === void 0 ? void 0 : success(result);
|
|
43
|
+
finallyCallback === null || finallyCallback === void 0 ? void 0 : finallyCallback();
|
|
44
|
+
} else {
|
|
45
|
+
delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
} catch (e) {
|
|
50
|
+
// Stop polling immediately when the expectation is match or a different router
|
|
51
|
+
// is rendering after the task processed.
|
|
52
|
+
shouldStop = (expectPollStopImmediately === null || expectPollStopImmediately === void 0 ? void 0 : expectPollStopImmediately()) || currentRenderId !== (0, _Runtime._internalApiGetRenderId)();
|
|
53
|
+
if (!shouldStop) {
|
|
54
|
+
error === null || error === void 0 ? void 0 : error(e);
|
|
55
|
+
if (continueOnError) {
|
|
56
|
+
delayedPoll(interval !== null && interval !== void 0 ? interval : 3000);
|
|
57
|
+
} else {
|
|
58
|
+
finallyCallback === null || finallyCallback === void 0 ? void 0 : finallyCallback();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
} finally {
|
|
62
|
+
// Manually dispatch an event of `request.end` when the polling is stopped immediately.
|
|
63
|
+
if (delegateLoadingBar && shouldStop) {
|
|
64
|
+
window.dispatchEvent(new Event("request.end"));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function delayedPoll(delay) {
|
|
69
|
+
currentTimeoutId = setTimeout(poll, delay);
|
|
70
|
+
timeoutIdList.add(currentTimeoutId);
|
|
71
|
+
}
|
|
72
|
+
delayedPoll(leadingRequestDelay !== null && leadingRequestDelay !== void 0 ? leadingRequestDelay : 0);
|
|
73
|
+
if (delegateLoadingBar) {
|
|
74
|
+
window.dispatchEvent(new Event("request.start"));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function clearPollTimeout() {
|
|
78
|
+
for (const timeoutId of timeoutIdList) {
|
|
79
|
+
clearTimeout(timeoutId);
|
|
80
|
+
}
|
|
81
|
+
timeoutIdList.clear();
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=poll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll.js","names":["_Runtime","require","timeoutIdList","Set","startPoll","task","progress","success","error","finally","finallyCallback","interval","leadingRequestDelay","continueOnError","delegateLoadingBar","expectPollEnd","expectPollStopImmediately","currentRenderId","_internalApiGetRenderId","currentTimeoutId","poll","delete","shouldStop","result","window","dispatchEvent","Event","delayedPoll","e","delay","setTimeout","add","clearPollTimeout","timeoutId","clearTimeout","clear"],"sources":["../../../src/internal/poll.ts"],"sourcesContent":["import type { ProviderPollOptions } from \"@next-core/types\";\nimport { _internalApiGetRenderId } from \"./Runtime.js\";\n\nexport type PollableCallbackFunction = (result?: unknown) => unknown;\n\nexport interface PollableCallback {\n progress?: PollableCallbackFunction;\n success?: PollableCallbackFunction;\n error?: PollableCallbackFunction;\n finally?: PollableCallbackFunction;\n}\n\nconst timeoutIdList = new Set<number>();\n\nexport function startPoll(\n task: () => unknown,\n { progress, success, error, finally: finallyCallback }: PollableCallback,\n {\n interval,\n leadingRequestDelay,\n continueOnError,\n delegateLoadingBar,\n expectPollEnd,\n expectPollStopImmediately,\n }: ProviderPollOptions\n): void {\n const currentRenderId = _internalApiGetRenderId();\n let currentTimeoutId: number;\n async function poll(): Promise<void> {\n timeoutIdList.delete(currentTimeoutId);\n let shouldStop: boolean | undefined;\n try {\n shouldStop = expectPollStopImmediately?.();\n // Stop polling immediately when the expectation is match before task.\n if (!shouldStop) {\n const result = await task();\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediately?.() ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n progress?.(result);\n if (expectPollEnd?.(result)) {\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n success?.(result);\n finallyCallback?.();\n } else {\n delayedPoll(interval ?? 3000);\n }\n }\n }\n } catch (e) {\n // Stop polling immediately when the expectation is match or a different router\n // is rendering after the task processed.\n shouldStop =\n expectPollStopImmediately?.() ||\n currentRenderId !== _internalApiGetRenderId();\n if (!shouldStop) {\n error?.(e);\n if (continueOnError) {\n delayedPoll(interval ?? 3000);\n } else {\n finallyCallback?.();\n }\n }\n } finally {\n // Manually dispatch an event of `request.end` when the polling is stopped immediately.\n if (delegateLoadingBar && shouldStop) {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n }\n }\n\n function delayedPoll(delay: number): void {\n currentTimeoutId = setTimeout(poll, delay) as unknown as number;\n timeoutIdList.add(currentTimeoutId);\n }\n\n delayedPoll(leadingRequestDelay ?? 0);\n\n if (delegateLoadingBar) {\n window.dispatchEvent(new Event(\"request.start\"));\n }\n}\n\nexport function clearPollTimeout(): void {\n for (const timeoutId of timeoutIdList) {\n clearTimeout(timeoutId);\n }\n timeoutIdList.clear();\n}\n"],"mappings":";;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAWA,MAAMC,aAAa,GAAG,IAAIC,GAAG,EAAU;AAEhC,SAASC,SAASA,CACvBC,IAAmB,EACnB;EAAEC,QAAQ;EAAEC,OAAO;EAAEC,KAAK;EAAEC,OAAO,EAAEC;AAAkC,CAAC,EACxE;EACEC,QAAQ;EACRC,mBAAmB;EACnBC,eAAe;EACfC,kBAAkB;EAClBC,aAAa;EACbC;AACmB,CAAC,EAChB;EACN,MAAMC,eAAe,GAAG,IAAAC,gCAAuB,GAAE;EACjD,IAAIC,gBAAwB;EAC5B,eAAeC,IAAIA,CAAA,EAAkB;IACnClB,aAAa,CAACmB,MAAM,CAACF,gBAAgB,CAAC;IACtC,IAAIG,UAA+B;IACnC,IAAI;MACFA,UAAU,GAAGN,yBAAyB,aAAzBA,yBAAyB,uBAAzBA,yBAAyB,EAAI;MAC1C;MACA,IAAI,CAACM,UAAU,EAAE;QACf,MAAMC,MAAM,GAAG,MAAMlB,IAAI,EAAE;QAC3B;QACA;QACAiB,UAAU,GACR,CAAAN,yBAAyB,aAAzBA,yBAAyB,uBAAzBA,yBAAyB,EAAI,KAC7BC,eAAe,KAAK,IAAAC,gCAAuB,GAAE;QAC/C,IAAI,CAACI,UAAU,EAAE;UACfhB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGiB,MAAM,CAAC;UAClB,IAAIR,aAAa,aAAbA,aAAa,eAAbA,aAAa,CAAGQ,MAAM,CAAC,EAAE;YAC3B,IAAIT,kBAAkB,EAAE;cACtBU,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,aAAa,CAAC,CAAC;YAChD;YACAnB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAGgB,MAAM,CAAC;YACjBb,eAAe,aAAfA,eAAe,uBAAfA,eAAe,EAAI;UACrB,CAAC,MAAM;YACLiB,WAAW,CAAChB,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,IAAI,CAAC;UAC/B;QACF;MACF;IACF,CAAC,CAAC,OAAOiB,CAAC,EAAE;MACV;MACA;MACAN,UAAU,GACR,CAAAN,yBAAyB,aAAzBA,yBAAyB,uBAAzBA,yBAAyB,EAAI,KAC7BC,eAAe,KAAK,IAAAC,gCAAuB,GAAE;MAC/C,IAAI,CAACI,UAAU,EAAE;QACfd,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAGoB,CAAC,CAAC;QACV,IAAIf,eAAe,EAAE;UACnBc,WAAW,CAAChB,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAI,IAAI,CAAC;QAC/B,CAAC,MAAM;UACLD,eAAe,aAAfA,eAAe,uBAAfA,eAAe,EAAI;QACrB;MACF;IACF,CAAC,SAAS;MACR;MACA,IAAII,kBAAkB,IAAIQ,UAAU,EAAE;QACpCE,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,aAAa,CAAC,CAAC;MAChD;IACF;EACF;EAEA,SAASC,WAAWA,CAACE,KAAa,EAAQ;IACxCV,gBAAgB,GAAGW,UAAU,CAACV,IAAI,EAAES,KAAK,CAAsB;IAC/D3B,aAAa,CAAC6B,GAAG,CAACZ,gBAAgB,CAAC;EACrC;EAEAQ,WAAW,CAACf,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,CAAC,CAAC;EAErC,IAAIE,kBAAkB,EAAE;IACtBU,MAAM,CAACC,aAAa,CAAC,IAAIC,KAAK,CAAC,eAAe,CAAC,CAAC;EAClD;AACF;AAEO,SAASM,gBAAgBA,CAAA,EAAS;EACvC,KAAK,MAAMC,SAAS,IAAI/B,aAAa,EAAE;IACrCgC,YAAY,CAACD,SAAS,CAAC;EACzB;EACA/B,aAAa,CAACiC,KAAK,EAAE;AACvB"}
|