@sapui5/sap.ushell 1.142.0 → 1.143.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/ApplicationType/utils.js +9 -9
- package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +18 -0
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
- package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
- package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +2 -3
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +93 -110
- package/src/main/js/sap/ushell/appIntegration/ApplicationContainer.js +1 -1
- package/src/main/js/sap/ushell/appIntegration/PostMessageHandler/LifecycleHandler.js +1 -3
- package/src/main/js/sap/ushell/appIntegration/PostMessageHandler/NavigationHandler.js +4 -4
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager.js +6 -2
- package/src/main/js/sap/ushell/appIntegration/contracts/EmbeddedUI5Handler.js +3 -3
- package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV2Handler.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +4 -4
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/CheckConditions.js +0 -12
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/LoadingConfiguration.json +4 -0
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +21 -0
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +12 -1
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
- package/src/main/js/sap/ushell/components/appfinder/Component.js +2 -2
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +5 -5
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +2 -2
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +2 -2
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +10 -10
- package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +2 -2
- package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +4 -4
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +2 -2
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/Component.js +3 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/FrequentActivityProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/RecentSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchServiceProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +35 -7
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.view.xml +1 -1
- package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +14 -9
- package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +4 -3
- package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +6 -6
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +6 -6
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +6 -6
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +6 -6
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
- package/src/main/js/sap/ushell/library.js +1 -1
- package/src/main/js/sap/ushell/modules/Assistant/AssistantAPI.js +94 -0
- package/src/main/js/sap/ushell/modules/Assistant/AssistantProvider.js +50 -0
- package/src/main/js/sap/ushell/modules/Assistant/VisualConfiguration.js +41 -0
- package/src/main/js/sap/ushell/modules/Assistant.js +56 -0
- package/src/main/js/sap/ushell/modules/Notifications/NotificationsProvider.js +1 -1
- package/src/main/js/sap/ushell/modules/Search.js +1 -0
- package/src/main/js/sap/ushell/modules/loader/AssistantLoader.js +156 -0
- package/src/main/js/sap/ushell/navigationMode.js +1 -1
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
- package/src/main/js/sap/ushell/renderer/Renderer.js +4 -5
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +96 -99
- package/src/main/js/sap/ushell/renderer/resources/resources.properties +1 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +5 -5
- package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +5 -5
- package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +1 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +5 -5
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +5 -5
- package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +5 -5
- package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +6 -6
- package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +13 -13
- package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +3 -3
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.controller.js +0 -14
- package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.fragment.xml +0 -1
- package/src/main/js/sap/ushell/services/AppConfiguration.js +5 -63
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +2 -2
- package/src/main/js/sap/ushell/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +5 -5
- package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel.js +1 -1
- package/src/main/js/sap/ushell/services/Configuration.js +1 -1
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +13 -13
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
- package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/services/Extension.js +1 -1
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension.js +1 -1
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/Menu.js +1 -1
- package/src/main/js/sap/ushell/services/Message.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +3 -3
- package/src/main/js/sap/ushell/services/MessageBroker.js +3 -3
- package/src/main/js/sap/ushell/services/MessageInternal.js +1 -1
- package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +3 -3
- package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation.js +20 -20
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
- package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
- package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
- package/src/main/js/sap/ushell/services/Pages.js +1 -1
- package/src/main/js/sap/ushell/services/Personalization.js +1 -1
- package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager.js +2 -5
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +6 -7
- package/src/main/js/sap/ushell/services/SearchableContent.js +3 -5
- package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +52 -73
- package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
- package/src/main/js/sap/ushell/services/UITracer.js +1 -1
- package/src/main/js/sap/ushell/services/URLParsing.js +65 -47
- package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
- package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +2 -10
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +2 -2
- package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents.js +5 -5
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
- package/src/main/js/sap/ushell/state/StateManager.js +9 -4
- package/src/main/js/sap/ushell/state/modules/BackNavigation.js +1 -1
- package/src/main/js/sap/ushell/state/modules/ContentDensity.js +1 -1
- package/src/main/js/sap/ushell/state/modules/Favicon.js +1 -1
- package/src/main/js/sap/ushell/state/modules/HeaderLogo.js +1 -1
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/ApplicationContainer.less +0 -9
- package/src/main/js/sap/ushell/themes/base/ShellHeader.less +0 -14
- package/src/main/js/sap/ushell/themes/sap_belize_base/ApplicationContainer.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_belize_base/ShellHeader.less +0 -14
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/ApplicationContainer.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/ShellHeader.less +0 -14
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ApplicationContainer.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +0 -14
- package/src/main/js/sap/ushell/ui/ShellHeader.js +4 -29
- package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +0 -14
- package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +11 -11
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +12 -12
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +113 -22
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/SmartBusiness.js +39 -2
- package/src/main/js/sap/ushell/utils/UrlParsing.js +335 -208
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
- package/src/main/js/sap/ushell/utils.js +26 -22
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/ui5.yaml +0 -2
- package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +0 -58
- package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +0 -35
- package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +0 -65
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview handle all the resources for the different applications.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.143.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/util/Deferred",
|
|
@@ -184,7 +184,7 @@ sap.ui.define([
|
|
|
184
184
|
|
|
185
185
|
/**
|
|
186
186
|
* @param {object} oEvent the UI5 event object.
|
|
187
|
-
* @param {string} sChannel the
|
|
187
|
+
* @param {string} sChannel the event bus channel.
|
|
188
188
|
* @param {object} oData the send data.
|
|
189
189
|
*/
|
|
190
190
|
AppLifeCycle.prototype._onGetAppLifeCycle = function (oEvent, sChannel, oData) {
|
|
@@ -678,11 +678,11 @@ sap.ui.define([
|
|
|
678
678
|
* @param {string} sStorageAppId the storage app id.
|
|
679
679
|
* @param {sap.ushell.appIntegration.ApplicationContainer} oApplicationContainer the application container.
|
|
680
680
|
* @param {object} oResolvedHashFragment the resolved hash fragment object.
|
|
681
|
-
* @param {
|
|
681
|
+
* @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash the parsed shell hash.
|
|
682
682
|
* @param {string} sKeepAliveMode the keep alive mode.
|
|
683
683
|
* @returns {object} Returns the storage entry.
|
|
684
684
|
*/
|
|
685
|
-
AppLifeCycle.prototype._addStorageEntry = function (sStorageAppId, oApplicationContainer, oResolvedHashFragment,
|
|
685
|
+
AppLifeCycle.prototype._addStorageEntry = function (sStorageAppId, oApplicationContainer, oResolvedHashFragment, oParsedHash, sKeepAliveMode) {
|
|
686
686
|
const oOldStorageEntry = KeepAliveApps.get(sStorageAppId);
|
|
687
687
|
if (oOldStorageEntry) {
|
|
688
688
|
return oOldStorageEntry;
|
|
@@ -690,7 +690,7 @@ sap.ui.define([
|
|
|
690
690
|
|
|
691
691
|
const oNewStorageEntry = {
|
|
692
692
|
service: {},
|
|
693
|
-
shellHash:
|
|
693
|
+
shellHash: UrlParsing.constructShellHash(oParsedHash, true),
|
|
694
694
|
appId: sStorageAppId,
|
|
695
695
|
stt: "loading",
|
|
696
696
|
currentState: null, // current state is stored before close see: sap/ushell/state/CurrentState
|
|
@@ -744,10 +744,10 @@ sap.ui.define([
|
|
|
744
744
|
/**
|
|
745
745
|
* @param {string} sStorageAppId the storage app id.
|
|
746
746
|
* @param {object} oResolvedHashFragment the resolved hash fragment object.
|
|
747
|
-
* @param {
|
|
747
|
+
* @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash the parsed shell hash object.
|
|
748
748
|
* @returns {string} Returns the keep alive mode.
|
|
749
749
|
*/
|
|
750
|
-
AppLifeCycle.prototype._calculateKeepAliveMode = function (sStorageAppId, oResolvedHashFragment,
|
|
750
|
+
AppLifeCycle.prototype._calculateKeepAliveMode = function (sStorageAppId, oResolvedHashFragment, oParsedHash) {
|
|
751
751
|
const aKeepAliveModes = Object.values(KeepAliveMode);
|
|
752
752
|
|
|
753
753
|
// generic intent currently can never be keep alive
|
|
@@ -766,7 +766,7 @@ sap.ui.define([
|
|
|
766
766
|
}
|
|
767
767
|
|
|
768
768
|
// App override in intent parameters
|
|
769
|
-
sKeepAlive =
|
|
769
|
+
sKeepAlive = oParsedHash.params?.["sap-keep-alive"]?.[0];
|
|
770
770
|
if (aKeepAliveModes.includes(sKeepAlive)) {
|
|
771
771
|
return sKeepAlive;
|
|
772
772
|
}
|
|
@@ -781,8 +781,7 @@ sap.ui.define([
|
|
|
781
781
|
|
|
782
782
|
// if the app is a root intent, it should be kept alive (e.g. workzone advanced)
|
|
783
783
|
// can be overridden by the above checks
|
|
784
|
-
|
|
785
|
-
if (sShellHash && ushellUtils.isRootIntent(sShellHash)) {
|
|
784
|
+
if (UrlParsing.isRootIntent(oParsedHash)) {
|
|
786
785
|
return KeepAliveMode.True;
|
|
787
786
|
}
|
|
788
787
|
|
|
@@ -853,6 +852,9 @@ sap.ui.define([
|
|
|
853
852
|
// Add new ShellUIService instance of the interface to the application container
|
|
854
853
|
// this will only be used by iframe applications
|
|
855
854
|
oResolvedHashFragment.shellUIService = this._oGlobalShellUIService.getInterface();
|
|
855
|
+
|
|
856
|
+
// for SAPUI5 apps, the application type is still "URL" due to backwards compatibility, but the
|
|
857
|
+
// NavTargetResolutionInternal service already extracts the component name, so this can directly be used as indicator
|
|
856
858
|
const sTargetUi5ComponentName = oResolvedHashFragment?.ui5ComponentName;
|
|
857
859
|
const bIsUI5App = !!sTargetUi5ComponentName;
|
|
858
860
|
|
|
@@ -943,69 +945,72 @@ sap.ui.define([
|
|
|
943
945
|
* @param {string} sStorageAppId the storage app id.
|
|
944
946
|
* @param {sap.ushell.appIntegration.ApplicationContainer} oApplicationContainer the application container.
|
|
945
947
|
* @param {object} oResolvedHashFragment the resolved hash fragment.
|
|
948
|
+
* @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash the parsed shell hash.
|
|
946
949
|
* @param {boolean} bWasKeptAlive whether the app should be kept alive.
|
|
947
950
|
* @returns {Promise} after the application was opened.
|
|
948
951
|
*/
|
|
949
|
-
AppLifeCycle.prototype._openApp = async function (sStorageAppId, oApplicationContainer, oResolvedHashFragment, bWasKeptAlive) {
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
return StatefulContainerV2Handler.restoreAppWithinSameFrame(
|
|
953
|
-
oApplicationContainer,
|
|
954
|
-
sStorageAppId,
|
|
955
|
-
oResolvedHashFragment
|
|
956
|
-
);
|
|
957
|
-
}
|
|
952
|
+
AppLifeCycle.prototype._openApp = async function (sStorageAppId, oApplicationContainer, oResolvedHashFragment, oParsedHash, bWasKeptAlive) {
|
|
953
|
+
// ===============================================================================
|
|
954
|
+
// ApplicationContainer Reuse Scenario - e.g StatefulContainer or KeepAlive App
|
|
958
955
|
|
|
959
|
-
if (oApplicationContainer.
|
|
960
|
-
if (
|
|
956
|
+
if (oApplicationContainer.getIsFetchedFromCache()) {
|
|
957
|
+
if (oApplicationContainer.getCurrentAppId() === sStorageAppId) {
|
|
961
958
|
// application is already running within container
|
|
962
959
|
return;
|
|
963
960
|
}
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
* We _only_ need to destroy the remaining data in the outer shell
|
|
973
|
-
* Calling destroy on the iframe again will destroy the current app in the iframe
|
|
974
|
-
*/
|
|
975
|
-
const oStorageEntryToDestroy = KeepAliveApps.get(oResult.deletedKeepAliveId);
|
|
976
|
-
if (oStorageEntryToDestroy) {
|
|
977
|
-
KeepAliveApps.removeById(oResult.deletedKeepAliveId);
|
|
978
|
-
KeepAlive.destroy(oStorageEntryToDestroy);
|
|
961
|
+
|
|
962
|
+
if (oApplicationContainer.getStatefulType() === StatefulType.ContractV2) {
|
|
963
|
+
if (bWasKeptAlive && StatefulContainerV2Handler.isStatefulContainerSupportingKeepAlive(oApplicationContainer)) {
|
|
964
|
+
return StatefulContainerV2Handler.restoreAppWithinSameFrame(
|
|
965
|
+
oApplicationContainer,
|
|
966
|
+
sStorageAppId,
|
|
967
|
+
oResolvedHashFragment
|
|
968
|
+
);
|
|
979
969
|
}
|
|
980
|
-
}
|
|
981
|
-
return;
|
|
982
|
-
}
|
|
983
970
|
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
971
|
+
const oResult = await StatefulContainerV2Handler.createApp(
|
|
972
|
+
oApplicationContainer,
|
|
973
|
+
sStorageAppId,
|
|
974
|
+
oResolvedHashFragment
|
|
975
|
+
);
|
|
976
|
+
|
|
977
|
+
if (oResult?.deletedKeepAliveId) {
|
|
978
|
+
/*
|
|
979
|
+
* The app was already destroyed within the iframe
|
|
980
|
+
* We _only_ need to destroy the remaining data in the outer shell
|
|
981
|
+
* Calling destroy on the iframe again will destroy the current app in the iframe
|
|
982
|
+
*/
|
|
983
|
+
const oStorageEntryToDestroy = KeepAliveApps.get(oResult.deletedKeepAliveId);
|
|
984
|
+
if (oStorageEntryToDestroy) {
|
|
985
|
+
KeepAliveApps.removeById(oResult.deletedKeepAliveId);
|
|
986
|
+
KeepAlive.destroy(oStorageEntryToDestroy);
|
|
987
|
+
}
|
|
988
|
+
}
|
|
987
989
|
return;
|
|
988
990
|
}
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
991
|
+
|
|
992
|
+
if (oApplicationContainer.getStatefulType() === StatefulType.ContractV1) {
|
|
993
|
+
return StatefulContainerV1Handler.createApp(
|
|
994
|
+
oApplicationContainer,
|
|
995
|
+
sStorageAppId,
|
|
996
|
+
oResolvedHashFragment
|
|
997
|
+
);
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
// ApplicationContainer should be reused but does not supports StatefulContainer or already contains the app
|
|
1001
|
+
throw new Error("Unknown Application scenario. Cannot open app.");
|
|
995
1002
|
}
|
|
996
1003
|
|
|
997
|
-
//
|
|
998
|
-
//
|
|
999
|
-
const sTargetUi5ComponentName = oResolvedHashFragment?.ui5ComponentName;
|
|
1000
|
-
const bIsUI5App = !!sTargetUi5ComponentName;
|
|
1004
|
+
// ===============================================================================
|
|
1005
|
+
// New ApplicationContainer Scenario
|
|
1001
1006
|
|
|
1002
|
-
if (
|
|
1007
|
+
if (oApplicationContainer.isA("sap.ushell.appIntegration.UI5ApplicationContainer")) {
|
|
1003
1008
|
// happens for direct app start scenario on the abap platform (sap/ushell_abap/bootstrap/evo/boottask)
|
|
1004
1009
|
const bComponentLoadedInDirectAppStart = !!oResolvedHashFragment?.componentHandle;
|
|
1005
1010
|
if (!bComponentLoadedInDirectAppStart) {
|
|
1006
1011
|
AppConfiguration.setApplicationInInitMode();
|
|
1007
1012
|
|
|
1008
|
-
await EmbeddedUI5Handler.createApp(oApplicationContainer, oResolvedHashFragment);
|
|
1013
|
+
await EmbeddedUI5Handler.createApp(oApplicationContainer, oResolvedHashFragment, oParsedHash);
|
|
1009
1014
|
}
|
|
1010
1015
|
|
|
1011
1016
|
// todo: [FLPCOREANDUX-10024] rework abap direct app start
|
|
@@ -1027,7 +1032,17 @@ sap.ui.define([
|
|
|
1027
1032
|
if (typeof oComponentInstance.active === "function") {
|
|
1028
1033
|
oComponentInstance.active();
|
|
1029
1034
|
}
|
|
1035
|
+
|
|
1036
|
+
return;
|
|
1030
1037
|
}
|
|
1038
|
+
|
|
1039
|
+
/**
|
|
1040
|
+
* Initial ApplicationContainers for iframe applications.
|
|
1041
|
+
*
|
|
1042
|
+
* The openApp steps happens as part of the rendering.
|
|
1043
|
+
* The response cannot be awaited. Therefore, we just continue under the assumption that
|
|
1044
|
+
* the app will be opened successfully.
|
|
1045
|
+
*/
|
|
1031
1046
|
};
|
|
1032
1047
|
|
|
1033
1048
|
/**
|
|
@@ -1116,7 +1131,7 @@ sap.ui.define([
|
|
|
1116
1131
|
const bDefaultFullWidth = ApplicationType.getDefaultFullWidthSetting(sAppType);
|
|
1117
1132
|
|
|
1118
1133
|
const bFullWidthCapability = oResolvedHashFragment.appCapabilities?.fullWidth;
|
|
1119
|
-
// Here there's a double check for the
|
|
1134
|
+
// Here there's a double check for the fullWidth - once as a type of boolean and one as a string.
|
|
1120
1135
|
// This is because we found that developers configured this variable in the manifest also as a string,
|
|
1121
1136
|
// so the checks of the oMetadata and the oResolvedHashFragment are to avoid regression with the use of this field.
|
|
1122
1137
|
if (bDefaultFullWidth) {
|
|
@@ -1135,16 +1150,15 @@ sap.ui.define([
|
|
|
1135
1150
|
return bFullWidth;
|
|
1136
1151
|
};
|
|
1137
1152
|
|
|
1138
|
-
AppLifeCycle.prototype._getBaseAppId = function (
|
|
1139
|
-
const
|
|
1140
|
-
const sBasicHash = UrlParsing.getBasicHash(sStableHash);
|
|
1153
|
+
AppLifeCycle.prototype._getBaseAppId = function (oParsedHash) {
|
|
1154
|
+
const sBasicHash = UrlParsing.constructBasicHash(oParsedHash);
|
|
1141
1155
|
const sBaseAppId = `application-${sBasicHash}`;
|
|
1142
1156
|
|
|
1143
1157
|
return sBaseAppId;
|
|
1144
1158
|
};
|
|
1145
1159
|
|
|
1146
|
-
AppLifeCycle.prototype._getStorageAppId = function (
|
|
1147
|
-
const sStableHash = UrlParsing.
|
|
1160
|
+
AppLifeCycle.prototype._getStorageAppId = function (oParsedHash, sBaseAppId) {
|
|
1161
|
+
const sStableHash = UrlParsing.constructStableHash(oParsedHash);
|
|
1148
1162
|
|
|
1149
1163
|
if (this._oStorageAppIdMap[sStableHash]) {
|
|
1150
1164
|
return this._oStorageAppIdMap[sStableHash];
|
|
@@ -1182,21 +1196,19 @@ sap.ui.define([
|
|
|
1182
1196
|
};
|
|
1183
1197
|
|
|
1184
1198
|
/**
|
|
1185
|
-
* @param {object} oParsedShellHash the parsed shell hash.
|
|
1186
1199
|
* @param {object} oResolvedHashFragment the resolved hash fragment.
|
|
1187
|
-
* @param {
|
|
1200
|
+
* @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash the parsed shell hash.
|
|
1188
1201
|
* @param {boolean} bNavigationFromHome whether the navigation occurred from the home page.
|
|
1189
1202
|
* @returns {Promise} the application handle.
|
|
1190
1203
|
*/
|
|
1191
|
-
AppLifeCycle.prototype._startApplication = async function (
|
|
1192
|
-
const sBaseAppId = this._getBaseAppId(
|
|
1193
|
-
const sStorageAppId = this._getStorageAppId(
|
|
1204
|
+
AppLifeCycle.prototype._startApplication = async function (oResolvedHashFragment, oParsedHash, bNavigationFromHome) {
|
|
1205
|
+
const sBaseAppId = this._getBaseAppId(oParsedHash);
|
|
1206
|
+
const sStorageAppId = this._getStorageAppId(oParsedHash, sBaseAppId);
|
|
1194
1207
|
|
|
1195
1208
|
await this._cleanupBeforeNewApp(
|
|
1196
1209
|
sStorageAppId,
|
|
1197
|
-
oParsedShellHash,
|
|
1198
1210
|
oResolvedHashFragment,
|
|
1199
|
-
|
|
1211
|
+
oParsedHash,
|
|
1200
1212
|
bNavigationFromHome
|
|
1201
1213
|
);
|
|
1202
1214
|
|
|
@@ -1204,7 +1216,7 @@ sap.ui.define([
|
|
|
1204
1216
|
this.publishAppOpeningEvent(oResolvedHashFragment);
|
|
1205
1217
|
this._announceAppOpening(oResolvedHashFragment);
|
|
1206
1218
|
|
|
1207
|
-
const sKeepAliveMode = this._calculateKeepAliveMode(sStorageAppId, oResolvedHashFragment,
|
|
1219
|
+
const sKeepAliveMode = this._calculateKeepAliveMode(sStorageAppId, oResolvedHashFragment, oParsedHash);
|
|
1208
1220
|
const bShouldBeCached = sKeepAliveMode !== KeepAliveMode.False;
|
|
1209
1221
|
|
|
1210
1222
|
const oApplicationContainer = this._createOrReuseApplicationContainer(sStorageAppId, sBaseAppId, oResolvedHashFragment, bShouldBeCached);
|
|
@@ -1218,7 +1230,7 @@ sap.ui.define([
|
|
|
1218
1230
|
sStorageAppId,
|
|
1219
1231
|
oApplicationContainer,
|
|
1220
1232
|
oResolvedHashFragment,
|
|
1221
|
-
|
|
1233
|
+
oParsedHash,
|
|
1222
1234
|
sKeepAliveMode
|
|
1223
1235
|
);
|
|
1224
1236
|
} else {
|
|
@@ -1252,6 +1264,7 @@ sap.ui.define([
|
|
|
1252
1264
|
sStorageAppId,
|
|
1253
1265
|
oApplicationContainer,
|
|
1254
1266
|
oResolvedHashFragment,
|
|
1267
|
+
oParsedHash,
|
|
1255
1268
|
bWasKeptAlive
|
|
1256
1269
|
);
|
|
1257
1270
|
const oApplicationHandle = new ApplicationHandle(
|
|
@@ -1268,7 +1281,7 @@ sap.ui.define([
|
|
|
1268
1281
|
|
|
1269
1282
|
// todo: [FLPCOREANDUX-10024] fix this
|
|
1270
1283
|
// initialize now because the app is required for additional information
|
|
1271
|
-
this._initializeAppWithMetadata(oApplicationContainer, oResolvedHashFragment);
|
|
1284
|
+
this._initializeAppWithMetadata(oApplicationContainer, oResolvedHashFragment, oParsedHash);
|
|
1272
1285
|
|
|
1273
1286
|
/*
|
|
1274
1287
|
* finally allow the application container to be rendered
|
|
@@ -1289,13 +1302,12 @@ sap.ui.define([
|
|
|
1289
1302
|
};
|
|
1290
1303
|
|
|
1291
1304
|
/**
|
|
1292
|
-
* @param {object} oParsedShellHash the parsed shell hash.
|
|
1293
1305
|
* @param {object} oResolvedHashFragment the resolved hash fragment.
|
|
1294
|
-
* @param {
|
|
1306
|
+
* @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash the parsed shell hash.
|
|
1295
1307
|
* @param {boolean} bNavigationFromHome whether the navigation occurred from the home page.
|
|
1296
1308
|
* @returns {Promise} the application handle.
|
|
1297
1309
|
*/
|
|
1298
|
-
AppLifeCycle.prototype.startApplication = async function (
|
|
1310
|
+
AppLifeCycle.prototype.startApplication = async function (oResolvedHashFragment, oParsedHash, bNavigationFromHome) {
|
|
1299
1311
|
const oDeferred = await this._awaitLastApplicationStart();
|
|
1300
1312
|
|
|
1301
1313
|
const oApplicationBefore = this._oCurrentApplication;
|
|
@@ -1303,9 +1315,8 @@ sap.ui.define([
|
|
|
1303
1315
|
|
|
1304
1316
|
try {
|
|
1305
1317
|
const oApplicationHandle = await this._startApplication(
|
|
1306
|
-
oParsedShellHash,
|
|
1307
1318
|
oResolvedHashFragment,
|
|
1308
|
-
|
|
1319
|
+
oParsedHash,
|
|
1309
1320
|
bNavigationFromHome
|
|
1310
1321
|
);
|
|
1311
1322
|
oDeferred.resolve();
|
|
@@ -1379,15 +1390,6 @@ sap.ui.define([
|
|
|
1379
1390
|
StateManager.applyStalledChanges();
|
|
1380
1391
|
};
|
|
1381
1392
|
|
|
1382
|
-
/**
|
|
1383
|
-
* @returns {boolean} Whether the floating container is docked.
|
|
1384
|
-
*/
|
|
1385
|
-
AppLifeCycle.prototype._isFloatingContainerDocked = function () {
|
|
1386
|
-
const bDocked = ShellModel.getModel().getProperty("/floatingContainer/state").includes("docked");
|
|
1387
|
-
const bVisible = ShellModel.getModel().getProperty("/floatingContainer/visible");
|
|
1388
|
-
return bDocked && bVisible;
|
|
1389
|
-
};
|
|
1390
|
-
|
|
1391
1393
|
/**
|
|
1392
1394
|
*/
|
|
1393
1395
|
AppLifeCycle.prototype._sendFocusBackToShell = function () {
|
|
@@ -1409,8 +1411,8 @@ sap.ui.define([
|
|
|
1409
1411
|
});
|
|
1410
1412
|
};
|
|
1411
1413
|
|
|
1412
|
-
AppLifeCycle.prototype._initializeAppWithMetadata = function (oApplicationContainer, oResolvedHashFragment) {
|
|
1413
|
-
const oMetadata = AppConfiguration.getMetadata(oResolvedHashFragment,
|
|
1414
|
+
AppLifeCycle.prototype._initializeAppWithMetadata = function (oApplicationContainer, oResolvedHashFragment, oParsedHash) {
|
|
1415
|
+
const oMetadata = AppConfiguration.getMetadata(oResolvedHashFragment, oParsedHash);
|
|
1414
1416
|
|
|
1415
1417
|
this._oCurrentApplication.meta = oMetadata;
|
|
1416
1418
|
|
|
@@ -1422,15 +1424,6 @@ sap.ui.define([
|
|
|
1422
1424
|
if (!bFullWidth) {
|
|
1423
1425
|
oApplicationContainer.addStyleClass("sapUShellApplicationContainerLimitedWidth");
|
|
1424
1426
|
}
|
|
1425
|
-
|
|
1426
|
-
// todo: [FLPCOREANDUX-10024] clarify whether this should be reactive instead of one time only
|
|
1427
|
-
// todo: [FLPCOREANDUX-10024] move this block to ShellController
|
|
1428
|
-
if (this._isFloatingContainerDocked() && window.matchMedia("(min-width: 106.4rem)").matches) {
|
|
1429
|
-
oApplicationContainer.addStyleClass("sapUShellDockingContainer");
|
|
1430
|
-
oApplicationContainer.removeStyleClass("sapUShellApplicationContainerLimitedWidth");
|
|
1431
|
-
} else if (this._isFloatingContainerDocked()) {
|
|
1432
|
-
oApplicationContainer.removeStyleClass("sapUShellApplicationContainerLimitedWidth");
|
|
1433
|
-
}
|
|
1434
1427
|
}
|
|
1435
1428
|
|
|
1436
1429
|
let sIcon = "sap-icon://folder";
|
|
@@ -1448,13 +1441,12 @@ sap.ui.define([
|
|
|
1448
1441
|
* - exit the current application if it is a stateful container.
|
|
1449
1442
|
*
|
|
1450
1443
|
* @param {string} sStorageAppId the storage app id.
|
|
1451
|
-
* @param {string} oParsedShellHash the parsed shell hash.
|
|
1452
1444
|
* @param {object} oResolvedHashFragment the resolved hash fragment object.
|
|
1453
|
-
* @param {
|
|
1445
|
+
* @param {sap.ushell.services.URLParsing.DecomposedHash} oParsedHash the parsed shell hash.
|
|
1454
1446
|
* @param {boolean} bNavigationFromHome whether the navigation occurred from the home page.
|
|
1455
1447
|
* @returns {Promise} after the application was destroyed.
|
|
1456
1448
|
*/
|
|
1457
|
-
AppLifeCycle.prototype._cleanupBeforeNewApp = async function (sStorageAppId,
|
|
1449
|
+
AppLifeCycle.prototype._cleanupBeforeNewApp = async function (sStorageAppId, oResolvedHashFragment, oParsedHash, bNavigationFromHome) {
|
|
1458
1450
|
// todo: [FLPCOREANDUX-10024] add staged logging for startApplication including the cleanup similar to CSTR
|
|
1459
1451
|
// ====== Exit current iframe app ======
|
|
1460
1452
|
/*
|
|
@@ -1478,20 +1470,11 @@ sap.ui.define([
|
|
|
1478
1470
|
|
|
1479
1471
|
// ====== Handle special navigation scenarios for keep alive apps ======
|
|
1480
1472
|
if (bTargetAppWasKeptAlive) {
|
|
1481
|
-
const
|
|
1482
|
-
const oComparison = UrlParsing.compareHashes(sNewShellHash, oStorageEntry.shellHash);
|
|
1483
|
-
const bSameTarget = oComparison.sameIntent && oComparison.sameParameters;
|
|
1484
|
-
const bNavigationWithInnerAppRoute = !!sInnerAppRoute;
|
|
1485
|
-
|
|
1486
|
-
// todo: FLPCOREANDUX-10024 this case should be obsolete as apps do not share the same storage id
|
|
1487
|
-
// Case: different app
|
|
1488
|
-
if (!bSameTarget) {
|
|
1489
|
-
Log.warning(`The keepAlive app '${sStorageAppId}' has to be destroyed because of id clashes.`);
|
|
1490
|
-
await this.destroyApplication(sStorageAppId, oStoredApplicationContainer);
|
|
1473
|
+
const bNavigationWithInnerAppRoute = !!oParsedHash.appSpecificRoute;
|
|
1491
1474
|
|
|
1492
1475
|
// Case: Navigating from homepage to a keepAlive application via deep link (bookmark).
|
|
1493
1476
|
// In this case, although keepAlive is active we need to destroy the application and re-open it.
|
|
1494
|
-
|
|
1477
|
+
if (bNavigationFromHome && bNavigationWithInnerAppRoute) {
|
|
1495
1478
|
Log.warning(`The keepAlive app '${sStorageAppId}' has to be destroyed because of a bookmark start.`);
|
|
1496
1479
|
await this.destroyApplication(sStorageAppId, oStoredApplicationContainer);
|
|
1497
1480
|
}
|
|
@@ -1501,7 +1484,7 @@ sap.ui.define([
|
|
|
1501
1484
|
|
|
1502
1485
|
// ====== Ensure that component name and id clashes are prevented ======
|
|
1503
1486
|
if (bIsUI5AppWithoutIframe && !bTargetAppWasKeptAlive) {
|
|
1504
|
-
const sBasicHash = UrlParsing.
|
|
1487
|
+
const sBasicHash = UrlParsing.constructBasicHash(oParsedHash);
|
|
1505
1488
|
const sTargetUi5ComponentId = `application-${sBasicHash}-component`;
|
|
1506
1489
|
|
|
1507
1490
|
if (oCurrentApplicationContainer && oCurrentApplicationContainer.isA("sap.ushell.appIntegration.UI5ApplicationContainer")) {
|
|
@@ -129,9 +129,7 @@ sap.ui.define([
|
|
|
129
129
|
aNewCapabilities.push("sap.ushell.services.appLifeCycle.create");
|
|
130
130
|
aNewCapabilities.push("sap.ushell.services.appLifeCycle.destroy");
|
|
131
131
|
|
|
132
|
-
|
|
133
|
-
const bIsAppruntime = !ushellUtils.isSAPLegacyApplicationType(oApplicationContainer.getApplicationType(), oApplicationContainer.getFrameworkId());
|
|
134
|
-
if (bIsAppruntime) {
|
|
132
|
+
if (oSetup.isKeepAlive) { // e.g. appRuntime
|
|
135
133
|
aNewCapabilities.push("sap.ushell.services.appLifeCycle.store");
|
|
136
134
|
aNewCapabilities.push("sap.ushell.services.appLifeCycle.restore");
|
|
137
135
|
}
|
|
@@ -318,14 +318,14 @@ sap.ui.define([
|
|
|
318
318
|
async handler (oMessageBody, oMessageEvent) {
|
|
319
319
|
const { appSpecificRoute, writeHistory } = oMessageBody;
|
|
320
320
|
|
|
321
|
-
const
|
|
321
|
+
const oParsedHash = UrlParsing.parseShellHash(hasher.getHash());
|
|
322
322
|
|
|
323
323
|
// do nothing if new is exactly like the current one
|
|
324
|
-
if (
|
|
324
|
+
if (oParsedHash.appSpecificRoute === appSpecificRoute) {
|
|
325
325
|
return;
|
|
326
326
|
}
|
|
327
|
-
|
|
328
|
-
const sNewHash = `#${UrlParsing.constructShellHash(
|
|
327
|
+
oParsedHash.appSpecificRoute = appSpecificRoute;
|
|
328
|
+
const sNewHash = `#${UrlParsing.constructShellHash(oParsedHash)}`;
|
|
329
329
|
hasher.disableBlueBoxHashChangeTrigger = true;
|
|
330
330
|
if (writeHistory === true || writeHistory === "true") {
|
|
331
331
|
hasher.setHash(sNewHash);
|
|
@@ -144,10 +144,14 @@ sap.ui.define([
|
|
|
144
144
|
return;
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
+
// Use provided methods or create fallbacks. The fallbacks are only relevant for tests
|
|
147
148
|
const fnGetCurrentApplication = oOptions.getCurrentApplication || function () {};
|
|
148
|
-
|
|
149
|
+
const fnGetAllApplications = oOptions.getAllApplications || function () {
|
|
150
|
+
const oCurrentApplication = fnGetCurrentApplication();
|
|
151
|
+
return oCurrentApplication ? [oCurrentApplication] : [];
|
|
152
|
+
};
|
|
149
153
|
|
|
150
|
-
|
|
154
|
+
this.#fnGetCurrentApplication = fnGetCurrentApplication;
|
|
151
155
|
this.#fnGetAllApplications = fnGetAllApplications;
|
|
152
156
|
|
|
153
157
|
if (oOptions.skipReplay) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) 2009-2025 SAP SE, All Rights Reserved
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview handle all the resources for the different applications.
|
|
4
|
-
* @version 1.
|
|
4
|
+
* @version 1.143.0
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
"sap/ui/core/EventBus",
|
|
@@ -21,7 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
"use strict";
|
|
22
22
|
|
|
23
23
|
class EmbeddedUI5Handler {
|
|
24
|
-
async createApp (oApplicationContainer, oResolvedHashFragment) {
|
|
24
|
+
async createApp (oApplicationContainer, oResolvedHashFragment, oParsedHash) {
|
|
25
25
|
// We need to stop every application router to avoid inner-app hash change clashes
|
|
26
26
|
// before creating a new component.
|
|
27
27
|
ApplicationContainerCache.forEach((oCachedApplicationContainer) => {
|
|
@@ -37,7 +37,7 @@ sap.ui.define([
|
|
|
37
37
|
// load ui5 component via service; core-ext-light will be loaded as part of the asyncHints
|
|
38
38
|
const Ui5ComponentLoader = await Container.getServiceAsync("Ui5ComponentLoader");
|
|
39
39
|
|
|
40
|
-
const sBasicHash = UrlParsing.
|
|
40
|
+
const sBasicHash = UrlParsing.constructBasicHash(oParsedHash);
|
|
41
41
|
oResolvedHashFragment.ui5ComponentId = `application-${sBasicHash}-component`;
|
|
42
42
|
oApplicationContainer.setUi5ComponentId(oResolvedHashFragment.ui5ComponentId);
|
|
43
43
|
|
|
@@ -480,10 +480,10 @@ sap.ui.define([
|
|
|
480
480
|
};
|
|
481
481
|
|
|
482
482
|
this._setInitialAppRoute = function () {
|
|
483
|
-
const
|
|
484
|
-
if (
|
|
483
|
+
const oParsedHash = UrlParsing.parseShellHash(hasher.getHash());
|
|
484
|
+
if (oParsedHash && oParsedHash.appSpecificRoute && oParsedHash.appSpecificRoute.length > 0) {
|
|
485
485
|
AppCommunicationMgr.postMessageToFLP("sap.ushell.services.CrossApplicationNavigation.setInnerAppRoute", {
|
|
486
|
-
appSpecificRoute:
|
|
486
|
+
appSpecificRoute: oParsedHash.appSpecificRoute
|
|
487
487
|
});
|
|
488
488
|
}
|
|
489
489
|
};
|
|
@@ -663,7 +663,7 @@ sap.ui.define([
|
|
|
663
663
|
this.getPageConfig = function (oUrlData) {
|
|
664
664
|
window["sap-ushell-config"] = deepExtend({}, getDefaultShellConfig(), window["sap-ushell-config"]);
|
|
665
665
|
|
|
666
|
-
// temp code for
|
|
666
|
+
// temp code for always loading the web assistance plugin in the
|
|
667
667
|
// scube scenario. will be removed in the next release of s4 hana cloud
|
|
668
668
|
if (oUrlData.hasOwnProperty("sap-remote-intent")) {
|
|
669
669
|
const oPlugins = window["sap-ushell-config"].bootstrapPlugins;
|
|
@@ -20,18 +20,6 @@ sap.ui.define([
|
|
|
20
20
|
"use strict";
|
|
21
21
|
|
|
22
22
|
const CheckConditions = {
|
|
23
|
-
|
|
24
|
-
// determine manifest out of found component
|
|
25
|
-
_getAppDescriptor: function (oComponent) {
|
|
26
|
-
if (oComponent && oComponent.getMetadata) {
|
|
27
|
-
const oComponentMetaData = oComponent.getMetadata();
|
|
28
|
-
if (oComponentMetaData && oComponentMetaData.getManifest) {
|
|
29
|
-
return oComponentMetaData.getManifest();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
return {};
|
|
33
|
-
},
|
|
34
|
-
|
|
35
23
|
/**
|
|
36
24
|
* Checks if RTA needs to be restarted, e.g after 'Reset to default'.
|
|
37
25
|
* The sap.ui.fl library also reacts on the session storage entry and may start RTA
|