@sapui5/sap.ushell 1.133.0 → 1.134.1

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.
Files changed (1183) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell/.library +3 -2
  3. package/src/main/js/sap/ushell/AppInfoParameters.js +18 -4
  4. package/src/main/js/sap/ushell/ApplicationType/UrlPostProcessing.js +217 -0
  5. package/src/main/js/sap/ushell/ApplicationType/guiResolution.js +1 -1
  6. package/src/main/js/sap/ushell/ApplicationType/systemAlias.js +1 -1
  7. package/src/main/js/sap/ushell/ApplicationType/ui5Resolution.js +1 -1
  8. package/src/main/js/sap/ushell/ApplicationType/urlResolution.js +1 -1
  9. package/src/main/js/sap/ushell/ApplicationType/urlTemplateResolution.js +14 -7
  10. package/src/main/js/sap/ushell/ApplicationType/utils.js +1 -1
  11. package/src/main/js/sap/ushell/ApplicationType/wcfResolution.js +1 -1
  12. package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +1 -1
  13. package/src/main/js/sap/ushell/ApplicationType.js +1 -1
  14. package/src/main/js/sap/ushell/CanvasShapesManager.js +1 -1
  15. package/src/main/js/sap/ushell/Config/utils.js +1 -1
  16. package/src/main/js/sap/ushell/Config.js +1 -1
  17. package/src/main/js/sap/ushell/Container.js +1 -1
  18. package/src/main/js/sap/ushell/EventHub.js +1 -1
  19. package/src/main/js/sap/ushell/Fiori20Adapter.js +2 -2
  20. package/src/main/js/sap/ushell/Fiori20AdapterTest.js +2 -2
  21. package/src/main/js/sap/ushell/Layout.js +1 -1
  22. package/src/main/js/sap/ushell/NWBCInterface.js +11 -5
  23. package/src/main/js/sap/ushell/SessionHandler.js +139 -97
  24. package/src/main/js/sap/ushell/System.js +1 -1
  25. package/src/main/js/sap/ushell/TechnicalParameters.js +2 -2
  26. package/src/main/js/sap/ushell/UI5ComponentType.js +1 -1
  27. package/src/main/js/sap/ushell/UIActions.js +1 -1
  28. package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +2 -2
  29. package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +2 -2
  30. package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +2 -2
  31. package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +2 -2
  32. package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +2 -2
  33. package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +2 -2
  34. package/src/main/js/sap/ushell/URLTemplateProcessor.js +2 -2
  35. package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +2 -2
  36. package/src/main/js/sap/ushell/Ui5ServiceFactory.js +2 -2
  37. package/src/main/js/sap/ushell/User.js +43 -11
  38. package/src/main/js/sap/ushell/UserActivityLog.js +1 -1
  39. package/src/main/js/sap/ushell/adapters/AppVariantPersonalizationAdapter.js +1 -1
  40. package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +2 -2
  41. package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +2 -2
  42. package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +2 -2
  43. package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +22 -6
  44. package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +2 -2
  45. package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +1 -1
  46. package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +2 -2
  47. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +2 -2
  48. package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +2 -2
  49. package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.controller.js +251 -0
  50. package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegion.view.xml +69 -0
  51. package/src/main/js/sap/ushell/adapters/cdm/Settings/UserLanguageAndRegion/UserLanguageAndRegionEntry.js +67 -0
  52. package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +2 -2
  53. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +2 -2
  54. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +2 -2
  55. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +2 -2
  56. package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +2 -2
  57. package/src/main/js/sap/ushell/adapters/cdm/_Personalization/internals.js +1 -1
  58. package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +2 -2
  59. package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +2 -2
  60. package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +2 -2
  61. package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +2 -2
  62. package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +2 -2
  63. package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +2 -2
  64. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +2 -2
  65. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +2 -2
  66. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +2 -2
  67. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +2 -2
  68. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +2 -2
  69. package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +2 -2
  70. package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +1 -1
  71. package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +6 -1
  72. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +2 -2
  73. package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionInternalAdapter.js +2 -2
  74. package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +2 -2
  75. package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +2 -2
  76. package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +2 -2
  77. package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +2 -2
  78. package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +2 -2
  79. package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +2 -2
  80. package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +2 -2
  81. package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +2 -2
  82. package/src/main/js/sap/ushell/adapters/local/MenuAdapter.js +1 -1
  83. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +2 -2
  84. package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +2 -2
  85. package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +2 -2
  86. package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +2 -2
  87. package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +2 -2
  88. package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +2 -2
  89. package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +2 -2
  90. package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +2 -2
  91. package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +2 -2
  92. package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +2 -2
  93. package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +2 -2
  94. package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +2 -2
  95. package/src/main/js/sap/ushell/api/BootstrapObserver.js +1 -1
  96. package/src/main/js/sap/ushell/api/Copilot.js +1 -1
  97. package/src/main/js/sap/ushell/api/Inbox.js +1 -1
  98. package/src/main/js/sap/ushell/api/NewExperience/CustomOverflowListItem.js +1 -1
  99. package/src/main/js/sap/ushell/api/NewExperience.js +1 -1
  100. package/src/main/js/sap/ushell/api/RTA.js +1 -1
  101. package/src/main/js/sap/ushell/api/S4MyHome.js +1 -1
  102. package/src/main/js/sap/ushell/api/SAPBusinessClient.js +129 -0
  103. package/src/main/js/sap/ushell/api/common/ComponentInstantiation.js +1 -1
  104. package/src/main/js/sap/ushell/api/workpage/Designtime.js +1 -1
  105. package/src/main/js/sap/ushell/api/workpage/Runtime.js +1 -1
  106. package/src/main/js/sap/ushell/appRuntime/neo/AppInfoService.js +1 -1
  107. package/src/main/js/sap/ushell/appRuntime/neo/AppRuntimeNeo.js +1 -1
  108. package/src/main/js/sap/ushell/appRuntime/neo/ProxyAppUtils.js +1 -1
  109. package/src/main/js/sap/ushell/appRuntime/ui5/AppCommunicationMgr.js +24 -5
  110. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +1 -1
  111. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeContext.js +1 -1
  112. package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntimeService.js +1 -1
  113. package/src/main/js/sap/ushell/appRuntime/ui5/BusyIndicator.js +1 -1
  114. package/src/main/js/sap/ushell/appRuntime/ui5/SessionHandlerAgent.js +1 -1
  115. package/src/main/js/sap/ushell/appRuntime/ui5/libsPreload.js +1 -1
  116. package/src/main/js/sap/ushell/appRuntime/ui5/performance/FesrEnhancer.js +1 -1
  117. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/AppLifeCycleUtils.js +1 -1
  118. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/BaseRTAPluginStatus.js +1 -1
  119. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/CheckConditions.js +1 -1
  120. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/Renderer.js +1 -1
  121. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/baseRta/Trigger.js +1 -1
  122. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/Component.js +1 -1
  123. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/Component.js +1 -1
  124. package/src/main/js/sap/ushell/appRuntime/ui5/plugins/scriptAgent/Component.js +1 -1
  125. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/AccessKeysAgent.js +1 -1
  126. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +1 -1
  127. package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +2 -2
  128. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +2 -2
  129. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +2 -2
  130. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +1 -1
  131. package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +2 -2
  132. package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +2 -2
  133. package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +2 -2
  134. package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +2 -2
  135. package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +2 -2
  136. package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +2 -2
  137. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +2 -2
  138. package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +2 -2
  139. package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +2 -2
  140. package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +2 -2
  141. package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +2 -2
  142. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +2 -2
  143. package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +2 -2
  144. package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +2 -2
  145. package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +2 -2
  146. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +2 -2
  147. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +2 -2
  148. package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +2 -2
  149. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserDefaultParameters.js +1 -1
  150. package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +2 -2
  151. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/ContainerAdapter.js +1 -1
  152. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/EmptyAdapter.js +1 -1
  153. package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +2 -2
  154. package/src/main/js/sap/ushell/appRuntime/ui5/ui/UIProxy.js +1 -1
  155. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/EventProcessor.js +1 -1
  156. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/FLPLoader.js +1 -1
  157. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/FLPScheduler.js +1 -1
  158. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/LoadingConfiguration.json +4 -0
  159. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +33 -1
  160. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +2 -2
  161. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +2 -2
  162. package/src/main/js/sap/ushell/bootstrap/SchedulingAgent.js +1 -1
  163. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-dev.js +1 -1
  164. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def-loader.js +1 -1
  165. package/src/main/js/sap/ushell/bootstrap/cdm/cdm-def.js +1 -1
  166. package/src/main/js/sap/ushell/bootstrap/cdm/cdm.boot.task.js +1 -1
  167. package/src/main/js/sap/ushell/bootstrap/cdm/cdm.constants.js +1 -1
  168. package/src/main/js/sap/ushell/bootstrap/cdm.js +1 -1
  169. package/src/main/js/sap/ushell/bootstrap/common/common.boot.path.js +1 -1
  170. package/src/main/js/sap/ushell/bootstrap/common/common.boot.script.js +1 -1
  171. package/src/main/js/sap/ushell/bootstrap/common/common.boot.task.js +1 -1
  172. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.extractLibs.js +1 -1
  173. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +1 -1
  174. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +2 -2
  175. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5language.js +1 -1
  176. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5theme.js +1 -1
  177. package/src/main/js/sap/ushell/bootstrap/common/common.configure.ushell.js +1 -1
  178. package/src/main/js/sap/ushell/bootstrap/common/common.constants.js +1 -1
  179. package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +58 -25
  180. package/src/main/js/sap/ushell/bootstrap/common/common.debug.mode.js +1 -1
  181. package/src/main/js/sap/ushell/bootstrap/common/common.load.bootstrapExtension.js +1 -1
  182. package/src/main/js/sap/ushell/bootstrap/common/common.load.core-min.js +1 -1
  183. package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +1 -1
  184. package/src/main/js/sap/ushell/bootstrap/common/common.load.model.js +1 -1
  185. package/src/main/js/sap/ushell/bootstrap/common/common.load.script.js +1 -1
  186. package/src/main/js/sap/ushell/bootstrap/common/common.override.registermodulepath.js +1 -1
  187. package/src/main/js/sap/ushell/bootstrap/common/common.read.metatags.js +1 -1
  188. package/src/main/js/sap/ushell/bootstrap/common/common.read.ui5theme.from.config.js +1 -1
  189. package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +1 -1
  190. package/src/main/js/sap/ushell/bootstrap/common/common.util.js +1 -1
  191. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandbox.js +1 -1
  192. package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxBootTask.js +1 -1
  193. package/src/main/js/sap/ushell/bootstrap/sandbox2.js +2 -2
  194. package/src/main/js/sap/ushell/bootstrap/ui5loader-config.js +1 -1
  195. package/src/main/js/sap/ushell/components/CatalogsManager.js +1 -1
  196. package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +1 -1
  197. package/src/main/js/sap/ushell/components/DestroyHelper.js +1 -1
  198. package/src/main/js/sap/ushell/components/GroupsHelper.js +1 -1
  199. package/src/main/js/sap/ushell/components/HomepageManager.js +1 -1
  200. package/src/main/js/sap/ushell/components/MessagingHelper.js +1 -1
  201. package/src/main/js/sap/ushell/components/SharedComponentUtils.js +1 -1
  202. package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +1 -1
  203. package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +1 -1
  204. package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +1 -1
  205. package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +1 -1
  206. package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +11 -3
  207. package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +1 -1
  208. package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +1 -1
  209. package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +1 -1
  210. package/src/main/js/sap/ushell/components/appfinder/Component.js +1 -1
  211. package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +1 -1
  212. package/src/main/js/sap/ushell/components/appfinder/EasyAccessView.js +1 -1
  213. package/src/main/js/sap/ushell/components/appfinder/GroupListPopover.controller.js +1 -1
  214. package/src/main/js/sap/ushell/components/appfinder/GroupListPopoverView.js +1 -1
  215. package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +1 -1
  216. package/src/main/js/sap/ushell/components/appfinder/HierarchyAppsView.js +1 -1
  217. package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +1 -1
  218. package/src/main/js/sap/ushell/components/appfinder/HierarchyFoldersView.js +1 -1
  219. package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +1 -1
  220. package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
  221. package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +707 -916
  222. package/src/main/js/sap/ushell/components/applicationIntegration/ApplicationContainer.js +272 -0
  223. package/src/main/js/sap/ushell/components/applicationIntegration/ApplicationContainerCache.js +229 -0
  224. package/src/main/js/sap/ushell/components/applicationIntegration/ApplicationContainerRenderer.js +35 -0
  225. package/src/main/js/sap/ushell/components/applicationIntegration/IframeApplicationContainer.js +372 -0
  226. package/src/main/js/sap/ushell/components/applicationIntegration/IframeApplicationContainerRenderer.js +296 -0
  227. package/src/main/js/sap/ushell/components/applicationIntegration/KeepAliveApps.js +68 -0
  228. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessageManager/AppruntimeHandler.js +120 -0
  229. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessageManager/ExtensionItems.js +143 -0
  230. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessageManager/LifecycleHandler.js +618 -0
  231. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessageManager/MessageBrokerHandler.js +64 -0
  232. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessageManager/NWBCHandler.js +83 -0
  233. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessageManager/ServiceHandler.js +1503 -0
  234. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessageManager.js +638 -0
  235. package/src/main/js/sap/ushell/components/applicationIntegration/PostMessagePluginInterface.js +152 -0
  236. package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +21 -50
  237. package/src/main/js/sap/ushell/components/applicationIntegration/UI5ApplicationContainer.js +168 -0
  238. package/src/main/js/sap/ushell/components/applicationIntegration/UI5ApplicationContainerRenderer.js +41 -0
  239. package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +30 -679
  240. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +13 -390
  241. package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +8 -249
  242. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +9 -2365
  243. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPIInterface.js +10 -127
  244. package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageUtils.js +10 -177
  245. package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +10 -74
  246. package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +21 -12
  247. package/src/main/js/sap/ushell/components/applicationIntegration/contracts/EmbeddedUI5Handler.js +176 -0
  248. package/src/main/js/sap/ushell/components/applicationIntegration/contracts/StatefulContainerV1Handler.js +91 -0
  249. package/src/main/js/sap/ushell/components/applicationIntegration/contracts/StatefulContainerV2Handler.js +175 -0
  250. package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +13 -74
  251. package/src/main/js/sap/ushell/components/applicationIntegrationOld/AppLifeCycle.js +1926 -0
  252. package/src/main/js/sap/ushell/components/applicationIntegrationOld/Storage.js +62 -0
  253. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/Application.js +709 -0
  254. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/BlueBoxHandler.js +406 -0
  255. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/BlueBoxesCache.js +263 -0
  256. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageAPI.js +2382 -0
  257. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageAPIInterface.js +143 -0
  258. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/PostMessageUtils.js +192 -0
  259. package/src/main/js/sap/ushell/components/applicationIntegrationOld/application/WebGUIStatefulHandler.js +90 -0
  260. package/src/main/js/sap/ushell/components/applicationIntegrationOld/configuration/AppMeta.js +193 -0
  261. package/src/main/js/sap/ushell/components/applicationIntegrationOld/relatedServices/RelatedServices.js +91 -0
  262. package/src/main/js/sap/ushell/components/cards/Card.controller.js +1 -1
  263. package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +1 -1
  264. package/src/main/js/sap/ushell/components/cards/ManifestPropertyHelper.js +1 -1
  265. package/src/main/js/sap/ushell/components/cepsearchresult/app/Component.js +1 -1
  266. package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +1 -1
  267. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Component.js +1 -1
  268. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Config.js +1 -1
  269. package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Extension.js +1 -1
  270. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/AdvancedFormatters.js +1 -1
  271. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/Edition.js +1 -1
  272. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionAdvanced.js +1 -1
  273. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionStandard.js +1 -1
  274. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/appendStyleVars.js +1 -1
  275. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +1 -1
  276. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Highlighter.js +1 -1
  277. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Paginator.js +1 -1
  278. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/All.js +1 -1
  279. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +1 -1
  280. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Event.js +1 -1
  281. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/People.js +1 -1
  282. package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Workpage.js +1 -1
  283. package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +38 -22
  284. package/src/main/js/sap/ushell/components/container/IframePOSTUtils.js +5 -1
  285. package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +2 -2
  286. package/src/main/js/sap/ushell/components/contentFinder/Component.js +14 -5
  287. package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +2 -2
  288. package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +2 -2
  289. package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +2 -2
  290. package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
  291. package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
  292. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLListBinding.js +1 -1
  293. package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLModel.js +1 -1
  294. package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +32 -8
  295. package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +6 -2
  296. package/src/main/js/sap/ushell/components/contentFinder/view/VisualizationsNoDataIllustratedMessage.fragment.xml +6 -3
  297. package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +2 -2
  298. package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +54 -14
  299. package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
  300. package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources.properties +6 -0
  301. package/src/main/js/sap/ushell/components/factsheet/Component.js +2 -2
  302. package/src/main/js/sap/ushell/components/factsheet/annotation/Mapping.js +1 -1
  303. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +1 -1
  304. package/src/main/js/sap/ushell/components/factsheet/controls/PictureTileRenderer.js +1 -1
  305. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +1 -1
  306. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +1 -1
  307. package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerRenderer.js +1 -1
  308. package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +1 -1
  309. package/src/main/js/sap/ushell/components/factsheet/tools/ODataUrlTemplating.js +1 -1
  310. package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.controller.js +1 -1
  311. package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.view.js +1 -1
  312. package/src/main/js/sap/ushell/components/homeApp/error/Component.js +1 -1
  313. package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +1 -1
  314. package/src/main/js/sap/ushell/components/homepage/ActionMode.js +2 -2
  315. package/src/main/js/sap/ushell/components/homepage/Component.js +1 -1
  316. package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +1 -1
  317. package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +2 -2
  318. package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +2 -2
  319. package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +2 -2
  320. package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
  321. package/src/main/js/sap/ushell/components/pages/ActionMode.js +2 -2
  322. package/src/main/js/sap/ushell/components/pages/Component.js +2 -2
  323. package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +2 -2
  324. package/src/main/js/sap/ushell/components/pages/StateManager.js +1 -1
  325. package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +1 -1
  326. package/src/main/js/sap/ushell/components/pages/controller/MyHome.controller.js +1 -1
  327. package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +2 -2
  328. package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +1 -1
  329. package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
  330. package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +1 -1
  331. package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +2 -2
  332. package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
  333. package/src/main/js/sap/ushell/components/shell/FloatingContainer/Component.js +1 -1
  334. package/src/main/js/sap/ushell/components/shell/FloatingContainer/controls/FloatingContainer.js +1 -1
  335. package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
  336. package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +1 -1
  337. package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +1 -2
  338. package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
  339. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/Component.js +39 -4
  340. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +30 -63
  341. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +118 -0
  342. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
  343. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenu.view.xml +64 -17
  344. package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/view/NavigationBarMenuButton.view.xml +24 -0
  345. package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +2 -2
  346. package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -1
  347. package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +1 -1
  348. package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +2 -2
  349. package/src/main/js/sap/ushell/components/shell/Search/Component.js +1 -1
  350. package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +1 -1
  351. package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
  352. package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +2 -2
  353. package/src/main/js/sap/ushell/components/shell/SearchCEP/ProvidersExecuter.js +1 -1
  354. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +1 -1
  355. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +2 -2
  356. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +2 -2
  357. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +2 -2
  358. package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +2 -2
  359. package/src/main/js/sap/ushell/components/shell/Settings/Component.js +19 -16
  360. package/src/main/js/sap/ushell/components/shell/Settings/ContentWrapper.fragment.xml +3 -2
  361. package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +1 -1
  362. package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +44 -17
  363. package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +29 -24
  364. package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +1 -1
  365. package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +1 -1
  366. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsEntry.js +1 -1
  367. package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +1 -1
  368. package/src/main/js/sap/ushell/components/shell/Settings/search/Search.controller.js +1 -1
  369. package/src/main/js/sap/ushell/components/shell/Settings/search/SearchEntry.js +1 -1
  370. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesEntry.js +1 -1
  371. package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesSetting.controller.js +1 -1
  372. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +1 -1
  373. package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +1 -1
  374. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesEntry.js +1 -1
  375. package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +1 -1
  376. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/Component.js +1 -1
  377. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsEntry.js +1 -1
  378. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +1 -1
  379. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/ExtendedValueDialog.controller.js +1 -1
  380. package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +1 -1
  381. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +1 -1
  382. package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +1 -1
  383. package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +95 -215
  384. package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +77 -178
  385. package/src/main/js/sap/ushell/components/shell/SideNavigation/css/style.css +3 -0
  386. package/src/main/js/sap/ushell/components/shell/SideNavigation/fragment/Popover.fragment.xml +1 -1
  387. package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +8 -1
  388. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AllSpaces.js +52 -0
  389. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AppFinder.js +48 -0
  390. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +222 -0
  391. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericFixedNavigationListProvider.js +142 -0
  392. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericNavigationListProvider.js +186 -0
  393. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/MyHome.js +73 -0
  394. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/NavigationHelper.js +79 -0
  395. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/RecentActivity.js +141 -0
  396. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Spaces.js +288 -0
  397. package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/SpacesNavigationListProvider.js +79 -0
  398. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources.properties +15 -6
  399. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ar.properties +10 -2
  400. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_bg.properties +10 -2
  401. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ca.properties +10 -2
  402. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cnr.properties +10 -2
  403. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cs.properties +10 -2
  404. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_cy.properties +10 -2
  405. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_da.properties +10 -2
  406. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_de.properties +10 -2
  407. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_el.properties +10 -2
  408. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en.properties +10 -2
  409. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en_GB.properties +10 -2
  410. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_en_US_saprigi.properties +10 -2
  411. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_es.properties +10 -2
  412. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_es_MX.properties +10 -2
  413. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_et.properties +10 -2
  414. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fi.properties +10 -2
  415. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fr.properties +10 -2
  416. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_fr_CA.properties +10 -2
  417. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hi.properties +10 -2
  418. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hr.properties +10 -2
  419. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_hu.properties +10 -2
  420. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_id.properties +10 -2
  421. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_it.properties +10 -2
  422. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_iw.properties +10 -2
  423. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ja.properties +10 -2
  424. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_kk.properties +10 -2
  425. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ko.properties +10 -2
  426. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_lt.properties +10 -2
  427. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_lv.properties +10 -2
  428. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_mk.properties +10 -2
  429. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ms.properties +10 -2
  430. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_nl.properties +10 -2
  431. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_no.properties +10 -2
  432. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pl.properties +10 -2
  433. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pt.properties +10 -2
  434. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_pt_PT.properties +10 -2
  435. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ro.properties +10 -2
  436. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_ru.properties +10 -2
  437. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sh.properties +10 -2
  438. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sk.properties +10 -2
  439. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sl.properties +10 -2
  440. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sr.properties +10 -2
  441. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_sv.properties +10 -2
  442. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_th.properties +10 -2
  443. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_tr.properties +10 -2
  444. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_uk.properties +10 -2
  445. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_vi.properties +10 -2
  446. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_zh_CN.properties +10 -2
  447. package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources_zh_TW.properties +10 -2
  448. package/src/main/js/sap/ushell/components/shell/SideNavigation/view/SideNavigation.view.xml +37 -28
  449. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +2 -2
  450. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +142 -15
  451. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.fragment.xml +33 -0
  452. package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenuPopover.fragment.xml +25 -8
  453. package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +2 -2
  454. package/src/main/js/sap/ushell/components/tiles/action/ActionTile.controller.js +1 -1
  455. package/src/main/js/sap/ushell/components/tiles/action/Configuration.controller.js +1 -1
  456. package/src/main/js/sap/ushell/components/tiles/applauncher/Component.js +1 -1
  457. package/src/main/js/sap/ushell/components/tiles/applauncher/Configuration.controller.js +1 -1
  458. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +1 -1
  459. package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +1 -1
  460. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Component.js +1 -1
  461. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Configuration.controller.js +1 -1
  462. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +1 -3
  463. package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.view.js +1 -1
  464. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/Component.js +1 -1
  465. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +1 -1
  466. package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +1 -1
  467. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js +1 -1
  468. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +1 -1
  469. package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +1 -1
  470. package/src/main/js/sap/ushell/components/tiles/generic.js +1 -1
  471. package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.controller.js +1 -1
  472. package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.view.js +1 -1
  473. package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.controller.js +1 -1
  474. package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.view.js +1 -1
  475. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.controller.js +1 -1
  476. package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.view.js +1 -1
  477. package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.controller.js +1 -1
  478. package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.view.js +1 -1
  479. package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.controller.js +1 -1
  480. package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.view.js +1 -1
  481. package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.controller.js +1 -1
  482. package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.view.js +1 -1
  483. package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.controller.js +1 -1
  484. package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.view.js +1 -1
  485. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/cache.js +1 -1
  486. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/indicatorTileHelper.js +1 -1
  487. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +1 -1
  488. package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +1 -1
  489. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +1 -1
  490. package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.view.js +1 -1
  491. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.controller.js +1 -1
  492. package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.view.js +1 -1
  493. package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.controller.js +1 -1
  494. package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.view.js +1 -1
  495. package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.controller.js +1 -1
  496. package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.view.js +1 -1
  497. package/src/main/js/sap/ushell/components/tiles/sbtilecontent.js +1 -1
  498. package/src/main/js/sap/ushell/components/tiles/utils.js +1 -1
  499. package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +2 -2
  500. package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +2 -2
  501. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +2 -2
  502. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +2 -2
  503. package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +1 -1
  504. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +2 -2
  505. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +2 -2
  506. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +2 -2
  507. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +2 -2
  508. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +1 -1
  509. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +2 -2
  510. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +1 -1
  511. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +2 -2
  512. package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +1 -1
  513. package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
  514. package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +2 -2
  515. package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +2 -2
  516. package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
  517. package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +2 -2
  518. package/src/main/js/sap/ushell/functionBindPrototype.js +1 -1
  519. package/src/main/js/sap/ushell/iconfonts.js +1 -1
  520. package/src/main/js/sap/ushell/library.js +68 -2
  521. package/src/main/js/sap/ushell/navigationMode.js +2 -2
  522. package/src/main/js/sap/ushell/override.js +1 -1
  523. package/src/main/js/sap/ushell/performance/FesrEnhancer.js +1 -1
  524. package/src/main/js/sap/ushell/performance/ShellAnalytics.js +2 -2
  525. package/src/main/js/sap/ushell/performance/StatisticalRecord.js +2 -2
  526. package/src/main/js/sap/ushell/plugins/BaseRTAPlugin.js +1 -1
  527. package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +2 -2
  528. package/src/main/js/sap/ushell/plugins/appwarmup/ShellUIService.js +1 -1
  529. package/src/main/js/sap/ushell/plugins/ghostapp/Component.js +1 -1
  530. package/src/main/js/sap/ushell/plugins/ghostapp/FakeModel.js +1 -1
  531. package/src/main/js/sap/ushell/plugins/rta/Component.js +1 -1
  532. package/src/main/js/sap/ushell/plugins/rta-personalize/Component.js +1 -1
  533. package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +1 -1
  534. package/src/main/js/sap/ushell/renderer/History.js +1 -1
  535. package/src/main/js/sap/ushell/renderer/LogonFrameProvider.js +1 -1
  536. package/src/main/js/sap/ushell/renderer/Renderer.js +3 -3
  537. package/src/main/js/sap/ushell/renderer/Shell.controller.js +327 -140
  538. package/src/main/js/sap/ushell/renderer/Shell.view.js +1 -1
  539. package/src/main/js/sap/ushell/renderer/ShellLayout.js +10 -2
  540. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyApps.controller.js +1 -1
  541. package/src/main/js/sap/ushell/renderer/allMyApps/AllMyAppsManager.js +1 -1
  542. package/src/main/js/sap/ushell/renderer/resources/resources.properties +18 -0
  543. package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +10 -4
  544. package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +10 -4
  545. package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +9 -3
  546. package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +9 -3
  547. package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +10 -4
  548. package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +10 -4
  549. package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +10 -4
  550. package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +9 -3
  551. package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +10 -4
  552. package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +10 -4
  553. package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +10 -4
  554. package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +5 -4
  555. package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +9 -3
  556. package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +9 -3
  557. package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +10 -4
  558. package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +10 -4
  559. package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +9 -3
  560. package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +9 -3
  561. package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +10 -4
  562. package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +10 -4
  563. package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +10 -4
  564. package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +9 -3
  565. package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +9 -3
  566. package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +10 -4
  567. package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +9 -3
  568. package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +51 -45
  569. package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +10 -4
  570. package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +12 -6
  571. package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +10 -4
  572. package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +10 -4
  573. package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +10 -4
  574. package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +9 -3
  575. package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +10 -4
  576. package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +9 -3
  577. package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +9 -3
  578. package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +10 -4
  579. package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +10 -4
  580. package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +9 -3
  581. package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +9 -3
  582. package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +9 -3
  583. package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +11 -5
  584. package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +9 -3
  585. package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +9 -3
  586. package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +10 -4
  587. package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +10 -4
  588. package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +10 -4
  589. package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +11 -5
  590. package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +9 -3
  591. package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +9 -3
  592. package/src/main/js/sap/ushell/renderer/search/searchComponent/Component.js +1 -1
  593. package/src/main/js/sap/ushell/renderer/search/searchComponent/controller/CEPSearchApp.controller.js +1 -1
  594. package/src/main/js/sap/ushell/renderer/search/searchComponent/controller/SearchApp.controller.js +1 -1
  595. package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
  596. package/src/main/js/sap/ushell/renderer/search/searchComponent/view/CEPSearchApp.view.js +1 -1
  597. package/src/main/js/sap/ushell/renderer/search/searchComponent/view/SearchApp.view.js +1 -1
  598. package/src/main/js/sap/ushell/renderer/search/util.js +1 -1
  599. package/src/main/js/sap/ushell/renderer/shellHeader/ShellHeader.controller.js +13 -7
  600. package/src/main/js/sap/ushell/renderer/utils.js +1 -1
  601. package/src/main/js/sap/ushell/renderers/fiori2/History.js +1 -1
  602. package/src/main/js/sap/ushell/renderers/fiori2/LogonFrameProvider.js +1 -1
  603. package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +1 -1
  604. package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +1 -1
  605. package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +1 -1
  606. package/src/main/js/sap/ushell/renderers/fiori2/Shell.view.js +1 -1
  607. package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyAppsManager.js +1 -1
  608. package/src/main/js/sap/ushell/resources.js +1 -1
  609. package/src/main/js/sap/ushell/services/AllMyApps.js +1 -1
  610. package/src/main/js/sap/ushell/services/AppConfiguration.js +1 -1
  611. package/src/main/js/sap/ushell/services/AppLifeCycle.js +4 -3
  612. package/src/main/js/sap/ushell/services/AppState.js +2 -2
  613. package/src/main/js/sap/ushell/services/AppType.js +1 -1
  614. package/src/main/js/sap/ushell/services/Bookmark.js +2 -2
  615. package/src/main/js/sap/ushell/services/BookmarkV2.js +2 -2
  616. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +2 -2
  617. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +2 -2
  618. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +2 -2
  619. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/ParameterMapping.js +1 -1
  620. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +2 -2
  621. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +2 -2
  622. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +2 -2
  623. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +2 -2
  624. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +2 -2
  625. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +2 -2
  626. package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +2 -2
  627. package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +2 -2
  628. package/src/main/js/sap/ushell/services/CommonDataModel/PersonalizationProcessor.js +1 -1
  629. package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +2 -2
  630. package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +2 -2
  631. package/src/main/js/sap/ushell/services/CommonDataModel.js +2 -13
  632. package/src/main/js/sap/ushell/services/Configuration.js +2 -2
  633. package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +2 -2
  634. package/src/main/js/sap/ushell/services/Container.js +1 -1
  635. package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +2 -2
  636. package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +2 -2
  637. package/src/main/js/sap/ushell/services/DarkModeSupport.js +2 -2
  638. package/src/main/js/sap/ushell/services/EndUserFeedback.js +1 -1
  639. package/src/main/js/sap/ushell/services/Extension/Item.js +2 -2
  640. package/src/main/js/sap/ushell/services/Extension.js +2 -2
  641. package/src/main/js/sap/ushell/services/FlpLaunchPage.js +2 -2
  642. package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +2 -2
  643. package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +2 -2
  644. package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +2 -2
  645. package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +2 -2
  646. package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +2 -2
  647. package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +63 -0
  648. package/src/main/js/sap/ushell/services/FrameBoundExtension.js +14 -10
  649. package/src/main/js/sap/ushell/services/LaunchPage.js +2 -2
  650. package/src/main/js/sap/ushell/services/Menu.js +2 -2
  651. package/src/main/js/sap/ushell/services/Message.js +2 -2
  652. package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +269 -143
  653. package/src/main/js/sap/ushell/services/MessageBroker.js +2 -2
  654. package/src/main/js/sap/ushell/services/MessageInternal.js +2 -2
  655. package/src/main/js/sap/ushell/services/NavTargetResolution.js +1 -1
  656. package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +1 -1
  657. package/src/main/js/sap/ushell/services/Navigation/compatibility.js +2 -2
  658. package/src/main/js/sap/ushell/services/Navigation/utils.js +2 -2
  659. package/src/main/js/sap/ushell/services/Navigation.js +6 -6
  660. package/src/main/js/sap/ushell/services/NavigationDataProvider.js +2 -2
  661. package/src/main/js/sap/ushell/services/Notifications.js +1 -1
  662. package/src/main/js/sap/ushell/services/NotificationsV2.js +1 -1
  663. package/src/main/js/sap/ushell/services/PageBuilding.js +2 -2
  664. package/src/main/js/sap/ushell/services/PagePersistence.js +2 -2
  665. package/src/main/js/sap/ushell/services/PageReferencing.js +2 -2
  666. package/src/main/js/sap/ushell/services/Pages.js +2 -2
  667. package/src/main/js/sap/ushell/services/Personalization.js +2 -2
  668. package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +1 -1
  669. package/src/main/js/sap/ushell/services/PersonalizationV2/Personalizer.js +1 -1
  670. package/src/main/js/sap/ushell/services/PersonalizationV2/TransientPersonalizer.js +1 -1
  671. package/src/main/js/sap/ushell/services/PersonalizationV2/Variant.js +1 -1
  672. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSet.js +1 -1
  673. package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +1 -1
  674. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapter.js +1 -1
  675. package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapterContainer.js +1 -1
  676. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.js +1 -1
  677. package/src/main/js/sap/ushell/services/PersonalizationV2/constants.private.js +1 -1
  678. package/src/main/js/sap/ushell/services/PersonalizationV2/utils.js +1 -1
  679. package/src/main/js/sap/ushell/services/PersonalizationV2.js +2 -2
  680. package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +2 -2
  681. package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +2 -2
  682. package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +2 -2
  683. package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +2 -2
  684. package/src/main/js/sap/ushell/services/PluginManager.js +22 -9
  685. package/src/main/js/sap/ushell/services/ReferenceResolver.js +2 -2
  686. package/src/main/js/sap/ushell/services/Search.js +2 -2
  687. package/src/main/js/sap/ushell/services/SearchCEP.js +2 -2
  688. package/src/main/js/sap/ushell/services/SearchableContent.js +2 -2
  689. package/src/main/js/sap/ushell/services/ShellNavigation.js +2 -2
  690. package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +1 -1
  691. package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +1 -1
  692. package/src/main/js/sap/ushell/services/SmartNavigation.js +2 -2
  693. package/src/main/js/sap/ushell/services/SpaceContent.js +2 -2
  694. package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
  695. package/src/main/js/sap/ushell/services/UITracer.js +2 -2
  696. package/src/main/js/sap/ushell/services/URLParsing.js +1 -1
  697. package/src/main/js/sap/ushell/services/URLShortening.js +2 -2
  698. package/src/main/js/sap/ushell/services/URLTemplate.js +2 -2
  699. package/src/main/js/sap/ushell/services/Ui5ComponentHandle.js +11 -1
  700. package/src/main/js/sap/ushell/services/Ui5ComponentLoader/utils.js +2 -2
  701. package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +2 -2
  702. package/src/main/js/sap/ushell/services/UsageAnalytics.js +1 -1
  703. package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +2 -2
  704. package/src/main/js/sap/ushell/services/UserDefaultParameters.js +2 -2
  705. package/src/main/js/sap/ushell/services/UserInfo.js +2 -2
  706. package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +1 -1
  707. package/src/main/js/sap/ushell/services/UserRecents/RecentAppsUsage.js +1 -1
  708. package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +1 -1
  709. package/src/main/js/sap/ushell/services/UserRecents/UserRecentsBase.js +1 -1
  710. package/src/main/js/sap/ushell/services/UserRecents.js +2 -2
  711. package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +2 -2
  712. package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +2 -2
  713. package/src/main/js/sap/ushell/services/_AppState/AppStatePersistencyMethod.js +1 -1
  714. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +2 -2
  715. package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +2 -2
  716. package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +2 -2
  717. package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +2 -2
  718. package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +1 -1
  719. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainer.js +1 -1
  720. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariant.js +1 -1
  721. package/src/main/js/sap/ushell/services/_Personalization/PersonalizationContainerVariantSet.js +1 -1
  722. package/src/main/js/sap/ushell/services/_Personalization/Personalizer.js +1 -1
  723. package/src/main/js/sap/ushell/services/_Personalization/TransientPersonalizer.js +1 -1
  724. package/src/main/js/sap/ushell/services/_Personalization/Variant.js +1 -1
  725. package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +1 -1
  726. package/src/main/js/sap/ushell/services/_Personalization/VariantSetAdapter.js +1 -1
  727. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapter.js +1 -1
  728. package/src/main/js/sap/ushell/services/_Personalization/WindowAdapterContainer.js +1 -1
  729. package/src/main/js/sap/ushell/services/_Personalization/constants.js +1 -1
  730. package/src/main/js/sap/ushell/services/_Personalization/constants.private.js +1 -1
  731. package/src/main/js/sap/ushell/services/_Personalization/utils.js +1 -1
  732. package/src/main/js/sap/ushell/services/appstate/AppState.js +1 -1
  733. package/src/main/js/sap/ushell/services/appstate/AppStatePersistencyMethod.js +1 -1
  734. package/src/main/js/sap/ushell/services/appstate/AppStatePersistencySettings.js +1 -1
  735. package/src/main/js/sap/ushell/services/appstate/LimitedBuffer.js +1 -1
  736. package/src/main/js/sap/ushell/services/appstate/Sequentializer.js +1 -1
  737. package/src/main/js/sap/ushell/services/appstate/SequentializingAdapter.js +1 -1
  738. package/src/main/js/sap/ushell/services/appstate/WindowAdapter.js +1 -1
  739. package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +1 -1
  740. package/src/main/js/sap/ushell/state/BackNavigation.js +91 -0
  741. package/src/main/js/sap/ushell/state/BaseState.js +1 -1
  742. package/src/main/js/sap/ushell/state/BindingHelper.js +18 -15
  743. package/src/main/js/sap/ushell/state/ControlManager.js +1 -1
  744. package/src/main/js/sap/ushell/state/CurrentState.js +1 -1
  745. package/src/main/js/sap/ushell/state/KeepAlive.js +1 -1
  746. package/src/main/js/sap/ushell/state/ShellModel.js +1 -1
  747. package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +1 -1
  748. package/src/main/js/sap/ushell/state/StateManager/Operation.js +1 -1
  749. package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +1 -1
  750. package/src/main/js/sap/ushell/state/StateManager.js +1 -1
  751. package/src/main/js/sap/ushell/state/StateRules.js +1 -1
  752. package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +1 -1
  753. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +1 -1
  754. package/src/main/js/sap/ushell/state/StrategyFactory/FloatingContainerStrategy.js +1 -1
  755. package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +1 -1
  756. package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +1 -1
  757. package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +1 -1
  758. package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +1 -1
  759. package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +1 -1
  760. package/src/main/js/sap/ushell/state/StrategyFactory.js +1 -1
  761. package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +2 -2
  762. package/src/main/js/sap/ushell/themes/base/library.source.less +1 -1
  763. package/src/main/js/sap/ushell/themes/sap_belize/library.source.less +1 -1
  764. package/src/main/js/sap/ushell/themes/sap_belize_base/library.source.less +1 -1
  765. package/src/main/js/sap/ushell/themes/sap_belize_hcb/HistoryScreen.less +1 -1
  766. package/src/main/js/sap/ushell/themes/sap_belize_hcb/library.source.less +1 -1
  767. package/src/main/js/sap/ushell/themes/sap_belize_hcw/HistoryScreen.less +1 -1
  768. package/src/main/js/sap/ushell/themes/sap_belize_hcw/library.source.less +1 -1
  769. package/src/main/js/sap/ushell/themes/sap_belize_plus/library.source.less +1 -1
  770. package/src/main/js/sap/ushell/themes/sap_bluecrystal/HistoryScreen.less +1 -1
  771. package/src/main/js/sap/ushell/themes/sap_bluecrystal/library.source.less +1 -1
  772. package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/library.source.less +1 -1
  773. package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +1 -1
  774. package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +1 -1
  775. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +1 -1
  776. package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +1 -1
  777. package/src/main/js/sap/ushell/themes/sap_hcb/HistoryScreen.less +1 -1
  778. package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +1 -1
  779. package/src/main/js/sap/ushell/themes/sap_horizon/library.source.less +1 -1
  780. package/src/main/js/sap/ushell/themes/sap_horizon_dark/library.source.less +1 -1
  781. package/src/main/js/sap/ushell/themes/sap_horizon_hcb/library.source.less +1 -1
  782. package/src/main/js/sap/ushell/themes/sap_horizon_hcw/library.source.less +1 -1
  783. package/src/main/js/sap/ushell/thirdparty/Icons.js +191 -0
  784. package/src/main/js/sap/ushell/thirdparty/UserMenu.js +1809 -0
  785. package/src/main/js/sap/ushell/thirdparty/UserMenuAccount.js +104 -0
  786. package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +420 -0
  787. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons.js +2508 -0
  788. package/src/main/js/sap/ushell/thirdparty/_dynamics/SAP-icons2.js +2508 -0
  789. package/src/main/js/sap/ushell/thirdparty/_dynamics/ar.js +7139 -0
  790. package/src/main/js/sap/ushell/thirdparty/_dynamics/ar_EG.js +7139 -0
  791. package/src/main/js/sap/ushell/thirdparty/_dynamics/ar_SA.js +7138 -0
  792. package/src/main/js/sap/ushell/thirdparty/_dynamics/bg.js +6031 -0
  793. package/src/main/js/sap/ushell/thirdparty/_dynamics/ca.js +6133 -0
  794. package/src/main/js/sap/ushell/thirdparty/_dynamics/cnr.js +6219 -0
  795. package/src/main/js/sap/ushell/thirdparty/_dynamics/cs.js +6759 -0
  796. package/src/main/js/sap/ushell/thirdparty/_dynamics/da.js +5977 -0
  797. package/src/main/js/sap/ushell/thirdparty/_dynamics/de.js +6098 -0
  798. package/src/main/js/sap/ushell/thirdparty/_dynamics/de_AT.js +6099 -0
  799. package/src/main/js/sap/ushell/thirdparty/_dynamics/de_CH.js +6097 -0
  800. package/src/main/js/sap/ushell/thirdparty/_dynamics/el.js +5882 -0
  801. package/src/main/js/sap/ushell/thirdparty/_dynamics/el_CY.js +5882 -0
  802. package/src/main/js/sap/ushell/thirdparty/_dynamics/en.js +6094 -0
  803. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_AU.js +6134 -0
  804. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_GB.js +6125 -0
  805. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_HK.js +6136 -0
  806. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_IE.js +6125 -0
  807. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_IN.js +6132 -0
  808. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_NZ.js +6125 -0
  809. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_PG.js +6126 -0
  810. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_SG.js +6132 -0
  811. package/src/main/js/sap/ushell/thirdparty/_dynamics/en_ZA.js +6126 -0
  812. package/src/main/js/sap/ushell/thirdparty/_dynamics/es.js +6153 -0
  813. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_AR.js +6156 -0
  814. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_BO.js +6155 -0
  815. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_CL.js +6048 -0
  816. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_CO.js +6048 -0
  817. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_MX.js +6157 -0
  818. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_PE.js +5939 -0
  819. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_UY.js +5941 -0
  820. package/src/main/js/sap/ushell/thirdparty/_dynamics/es_VE.js +5940 -0
  821. package/src/main/js/sap/ushell/thirdparty/_dynamics/et.js +6077 -0
  822. package/src/main/js/sap/ushell/thirdparty/_dynamics/fa.js +6002 -0
  823. package/src/main/js/sap/ushell/thirdparty/_dynamics/fi.js +6245 -0
  824. package/src/main/js/sap/ushell/thirdparty/_dynamics/fr.js +6047 -0
  825. package/src/main/js/sap/ushell/thirdparty/_dynamics/fr_BE.js +6047 -0
  826. package/src/main/js/sap/ushell/thirdparty/_dynamics/fr_CA.js +6041 -0
  827. package/src/main/js/sap/ushell/thirdparty/_dynamics/fr_CH.js +6065 -0
  828. package/src/main/js/sap/ushell/thirdparty/_dynamics/fr_LU.js +6047 -0
  829. package/src/main/js/sap/ushell/thirdparty/_dynamics/he.js +6593 -0
  830. package/src/main/js/sap/ushell/thirdparty/_dynamics/hi.js +5911 -0
  831. package/src/main/js/sap/ushell/thirdparty/_dynamics/hr.js +6246 -0
  832. package/src/main/js/sap/ushell/thirdparty/_dynamics/hu.js +5995 -0
  833. package/src/main/js/sap/ushell/thirdparty/_dynamics/id.js +5783 -0
  834. package/src/main/js/sap/ushell/thirdparty/_dynamics/it.js +6036 -0
  835. package/src/main/js/sap/ushell/thirdparty/_dynamics/it_CH.js +6036 -0
  836. package/src/main/js/sap/ushell/thirdparty/_dynamics/ja.js +5942 -0
  837. package/src/main/js/sap/ushell/thirdparty/_dynamics/kk.js +5989 -0
  838. package/src/main/js/sap/ushell/thirdparty/_dynamics/ko.js +5823 -0
  839. package/src/main/js/sap/ushell/thirdparty/_dynamics/lt.js +6628 -0
  840. package/src/main/js/sap/ushell/thirdparty/_dynamics/lv.js +6164 -0
  841. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar.js +182 -0
  842. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar2.js +650 -0
  843. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +515 -0
  844. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg.js +182 -0
  845. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg2.js +650 -0
  846. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +515 -0
  847. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca.js +182 -0
  848. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca2.js +650 -0
  849. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +515 -0
  850. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr.js +182 -0
  851. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr2.js +650 -0
  852. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +515 -0
  853. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs.js +182 -0
  854. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs2.js +650 -0
  855. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +515 -0
  856. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy.js +182 -0
  857. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy2.js +650 -0
  858. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +515 -0
  859. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da.js +182 -0
  860. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da2.js +650 -0
  861. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +515 -0
  862. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de.js +182 -0
  863. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de2.js +650 -0
  864. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +515 -0
  865. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el.js +182 -0
  866. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el2.js +650 -0
  867. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +515 -0
  868. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en.js +182 -0
  869. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +650 -0
  870. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +515 -0
  871. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB.js +182 -0
  872. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB2.js +650 -0
  873. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +515 -0
  874. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd.js +182 -0
  875. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd2.js +650 -0
  876. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +515 -0
  877. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi.js +182 -0
  878. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +656 -0
  879. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +542 -0
  880. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc.js +182 -0
  881. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc2.js +650 -0
  882. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +515 -0
  883. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es.js +182 -0
  884. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es2.js +650 -0
  885. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +515 -0
  886. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX.js +182 -0
  887. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX2.js +650 -0
  888. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +515 -0
  889. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et.js +182 -0
  890. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et2.js +650 -0
  891. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +515 -0
  892. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi.js +182 -0
  893. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi2.js +650 -0
  894. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +515 -0
  895. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr.js +182 -0
  896. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr2.js +650 -0
  897. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +515 -0
  898. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA.js +182 -0
  899. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA2.js +650 -0
  900. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +515 -0
  901. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi.js +182 -0
  902. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi2.js +650 -0
  903. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +515 -0
  904. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr.js +182 -0
  905. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr2.js +650 -0
  906. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +515 -0
  907. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu.js +182 -0
  908. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu2.js +650 -0
  909. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +515 -0
  910. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_in.js +182 -0
  911. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_in2.js +266 -0
  912. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_in3.js +143 -0
  913. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it.js +182 -0
  914. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +650 -0
  915. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +515 -0
  916. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw.js +182 -0
  917. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw2.js +650 -0
  918. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +515 -0
  919. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja.js +182 -0
  920. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja2.js +650 -0
  921. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +515 -0
  922. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk.js +182 -0
  923. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk2.js +650 -0
  924. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +515 -0
  925. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko.js +182 -0
  926. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko2.js +650 -0
  927. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +515 -0
  928. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt.js +182 -0
  929. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt2.js +650 -0
  930. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +515 -0
  931. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv.js +182 -0
  932. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv2.js +650 -0
  933. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +515 -0
  934. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk.js +182 -0
  935. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk2.js +650 -0
  936. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +515 -0
  937. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms.js +182 -0
  938. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms2.js +650 -0
  939. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +515 -0
  940. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl.js +182 -0
  941. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl2.js +650 -0
  942. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +515 -0
  943. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no.js +182 -0
  944. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no2.js +650 -0
  945. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +515 -0
  946. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl.js +182 -0
  947. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl2.js +650 -0
  948. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +515 -0
  949. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt.js +182 -0
  950. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt2.js +650 -0
  951. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +515 -0
  952. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT.js +182 -0
  953. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT2.js +650 -0
  954. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +515 -0
  955. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro.js +182 -0
  956. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro2.js +650 -0
  957. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +515 -0
  958. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru.js +182 -0
  959. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru2.js +650 -0
  960. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +515 -0
  961. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh.js +182 -0
  962. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh2.js +650 -0
  963. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +515 -0
  964. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk.js +182 -0
  965. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk2.js +650 -0
  966. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +515 -0
  967. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl.js +182 -0
  968. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl2.js +650 -0
  969. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +515 -0
  970. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr.js +182 -0
  971. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr2.js +650 -0
  972. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +515 -0
  973. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv.js +182 -0
  974. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv2.js +650 -0
  975. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +515 -0
  976. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th.js +182 -0
  977. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th2.js +650 -0
  978. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +515 -0
  979. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr.js +182 -0
  980. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr2.js +650 -0
  981. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +515 -0
  982. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk.js +182 -0
  983. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk2.js +650 -0
  984. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +515 -0
  985. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi.js +182 -0
  986. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +650 -0
  987. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +515 -0
  988. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN.js +182 -0
  989. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN2.js +650 -0
  990. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +515 -0
  991. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW.js +182 -0
  992. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW2.js +650 -0
  993. package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +515 -0
  994. package/src/main/js/sap/ushell/thirdparty/_dynamics/mk.js +6095 -0
  995. package/src/main/js/sap/ushell/thirdparty/_dynamics/ms.js +5617 -0
  996. package/src/main/js/sap/ushell/thirdparty/_dynamics/nb.js +6085 -0
  997. package/src/main/js/sap/ushell/thirdparty/_dynamics/nl.js +6252 -0
  998. package/src/main/js/sap/ushell/thirdparty/_dynamics/nl_BE.js +6252 -0
  999. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css.js +7 -0
  1000. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +7 -0
  1001. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +7 -0
  1002. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +7 -0
  1003. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +7 -0
  1004. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +7 -0
  1005. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +7 -0
  1006. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +7 -0
  1007. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +7 -0
  1008. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +7 -0
  1009. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +7 -0
  1010. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css2.js +7 -0
  1011. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +7 -0
  1012. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +7 -0
  1013. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +7 -0
  1014. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +7 -0
  1015. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +7 -0
  1016. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css3.js +7 -0
  1017. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +7 -0
  1018. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +7 -0
  1019. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +7 -0
  1020. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +7 -0
  1021. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +7 -0
  1022. package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +7 -0
  1023. package/src/main/js/sap/ushell/thirdparty/_dynamics/pl.js +6639 -0
  1024. package/src/main/js/sap/ushell/thirdparty/_dynamics/pt.js +6165 -0
  1025. package/src/main/js/sap/ushell/thirdparty/_dynamics/pt_PT.js +6230 -0
  1026. package/src/main/js/sap/ushell/thirdparty/_dynamics/ro.js +6250 -0
  1027. package/src/main/js/sap/ushell/thirdparty/_dynamics/ru.js +6553 -0
  1028. package/src/main/js/sap/ushell/thirdparty/_dynamics/ru_UA.js +6553 -0
  1029. package/src/main/js/sap/ushell/thirdparty/_dynamics/sk.js +6482 -0
  1030. package/src/main/js/sap/ushell/thirdparty/_dynamics/sl.js +6494 -0
  1031. package/src/main/js/sap/ushell/thirdparty/_dynamics/sr.js +6291 -0
  1032. package/src/main/js/sap/ushell/thirdparty/_dynamics/sr_Latn.js +6278 -0
  1033. package/src/main/js/sap/ushell/thirdparty/_dynamics/sv.js +6126 -0
  1034. package/src/main/js/sap/ushell/thirdparty/_dynamics/th.js +5928 -0
  1035. package/src/main/js/sap/ushell/thirdparty/_dynamics/tr.js +6146 -0
  1036. package/src/main/js/sap/ushell/thirdparty/_dynamics/uk.js +6504 -0
  1037. package/src/main/js/sap/ushell/thirdparty/_dynamics/vi.js +5720 -0
  1038. package/src/main/js/sap/ushell/thirdparty/_dynamics/zh_CN.js +5770 -0
  1039. package/src/main/js/sap/ushell/thirdparty/_dynamics/zh_HK.js +5779 -0
  1040. package/src/main/js/sap/ushell/thirdparty/_dynamics/zh_SG.js +5779 -0
  1041. package/src/main/js/sap/ushell/thirdparty/_dynamics/zh_TW.js +5846 -0
  1042. package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css25.js +7177 -0
  1043. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/ListItem.js +81 -0
  1044. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/ListItemBase.js +44 -0
  1045. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents/dist/MenuItem.js +119 -0
  1046. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-base.js +212 -0
  1047. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/UserMenu.js +4 -0
  1048. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/UserMenuAccount.js +4 -0
  1049. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/UserMenuItem.js +4 -0
  1050. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/UserMenu.js +99 -0
  1051. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/UserMenuAccount.js +75 -0
  1052. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori/dist/UserMenuItem.js +39 -0
  1053. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-fiori.js +347 -0
  1054. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents-icons/AllIcons.js +26 -0
  1055. package/src/main/js/sap/ushell/thirdparty/ui5/webcomponents.js +650 -0
  1056. package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +4279 -0
  1057. package/src/main/js/sap/ushell/thirdparty/webcomponents-base2.js +7 -0
  1058. package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +146 -0
  1059. package/src/main/js/sap/ushell/thirdparty/webcomponents.js +381 -0
  1060. package/src/main/js/sap/ushell/ui/AppContainer.js +22 -8
  1061. package/src/main/js/sap/ushell/ui/AppContainerRenderer.js +1 -1
  1062. package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +1 -1
  1063. package/src/main/js/sap/ushell/ui/ContentNodeSelectorRenderer.js +1 -1
  1064. package/src/main/js/sap/ushell/ui/ContentNodeTreeItem.js +1 -1
  1065. package/src/main/js/sap/ushell/ui/CustomGroupHeaderListItem.js +1 -1
  1066. package/src/main/js/sap/ushell/ui/CustomGroupHeaderListItemRenderer.js +1 -1
  1067. package/src/main/js/sap/ushell/ui/QuickAccess.js +1 -1
  1068. package/src/main/js/sap/ushell/ui/ShellHeader.js +56 -40
  1069. package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -1
  1070. package/src/main/js/sap/ushell/ui/appfinder/AppBox.js +1 -1
  1071. package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternal.js +1 -1
  1072. package/src/main/js/sap/ushell/ui/appfinder/AppBoxInternalRenderer.js +1 -1
  1073. package/src/main/js/sap/ushell/ui/appfinder/AppBoxRenderer.js +1 -1
  1074. package/src/main/js/sap/ushell/ui/appfinder/PinButton.js +1 -1
  1075. package/src/main/js/sap/ushell/ui/appfinder/PinButtonRenderer.js +1 -1
  1076. package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.controller.js +1 -1
  1077. package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +1 -1
  1078. package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +2 -2
  1079. package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +1 -1
  1080. package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +1 -1
  1081. package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +1 -1
  1082. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportButton.js +1 -1
  1083. package/src/main/js/sap/ushell/ui/footerbar/ContactSupportDialog.controller.js +1 -1
  1084. package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +1 -1
  1085. package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +1 -1
  1086. package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +1 -1
  1087. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.controller.js +1 -1
  1088. package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +1 -1
  1089. package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +1 -1
  1090. package/src/main/js/sap/ushell/ui/launchpad/AccessibilityCustomData.js +1 -1
  1091. package/src/main/js/sap/ushell/ui/launchpad/ActionItem.js +1 -1
  1092. package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +1 -1
  1093. package/src/main/js/sap/ushell/ui/launchpad/AnchorItemRenderer.js +1 -1
  1094. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +1 -1
  1095. package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBarRenderer.js +1 -1
  1096. package/src/main/js/sap/ushell/ui/launchpad/CatalogEntryContainer.js +1 -1
  1097. package/src/main/js/sap/ushell/ui/launchpad/CatalogsContainer.js +1 -1
  1098. package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainer.js +1 -1
  1099. package/src/main/js/sap/ushell/ui/launchpad/DashboardGroupsContainerRenderer.js +1 -1
  1100. package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +2 -2
  1101. package/src/main/js/sap/ushell/ui/launchpad/FailedTileDialog.js +1 -1
  1102. package/src/main/js/sap/ushell/ui/launchpad/GroupHeaderActions.js +1 -1
  1103. package/src/main/js/sap/ushell/ui/launchpad/GroupListItem.js +1 -1
  1104. package/src/main/js/sap/ushell/ui/launchpad/GroupListItemRenderer.js +1 -1
  1105. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapper.js +1 -1
  1106. package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapperRenderer.js +1 -1
  1107. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialog.js +1 -1
  1108. package/src/main/js/sap/ushell/ui/launchpad/LoadingDialogRenderer.js +1 -1
  1109. package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
  1110. package/src/main/js/sap/ushell/ui/launchpad/PageRenderer.js +1 -1
  1111. package/src/main/js/sap/ushell/ui/launchpad/PlusTile.js +1 -1
  1112. package/src/main/js/sap/ushell/ui/launchpad/PlusTileRenderer.js +1 -1
  1113. package/src/main/js/sap/ushell/ui/launchpad/Section.js +2 -2
  1114. package/src/main/js/sap/ushell/ui/launchpad/SectionRenderer.js +1 -1
  1115. package/src/main/js/sap/ushell/ui/launchpad/Tile.js +1 -1
  1116. package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +1 -1
  1117. package/src/main/js/sap/ushell/ui/launchpad/TileContainerRenderer.js +1 -1
  1118. package/src/main/js/sap/ushell/ui/launchpad/TileContainerUtils.js +1 -1
  1119. package/src/main/js/sap/ushell/ui/launchpad/TileRenderer.js +1 -1
  1120. package/src/main/js/sap/ushell/ui/launchpad/TileState.js +1 -1
  1121. package/src/main/js/sap/ushell/ui/launchpad/TileStateInternal.js +1 -1
  1122. package/src/main/js/sap/ushell/ui/launchpad/TileStateInternalRenderer.js +1 -1
  1123. package/src/main/js/sap/ushell/ui/launchpad/TileStateRenderer.js +1 -1
  1124. package/src/main/js/sap/ushell/ui/launchpad/ViewPortState.js +1 -1
  1125. package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +1 -1
  1126. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceAbap.js +1 -1
  1127. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceBase.js +1 -1
  1128. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceCdm.js +1 -1
  1129. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLaunchPage.js +1 -1
  1130. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceLink.js +1 -1
  1131. package/src/main/js/sap/ushell/ui/launchpad/VizInstanceRenderer.js +1 -1
  1132. package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +2 -2
  1133. package/src/main/js/sap/ushell/ui/launchpad/section/CompactAreaRenderer.js +1 -1
  1134. package/src/main/js/sap/ushell/ui/shell/ContentRenderer.js +1 -1
  1135. package/src/main/js/sap/ushell/ui/shell/NavigationMiniTile.js +1 -1
  1136. package/src/main/js/sap/ushell/ui/shell/OverflowListItem.js +1 -1
  1137. package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +1 -1
  1138. package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +1 -1
  1139. package/src/main/js/sap/ushell/ui/shell/ShellFloatingAction.js +1 -1
  1140. package/src/main/js/sap/ushell/ui/shell/ShellFloatingActionRenderer.js +1 -1
  1141. package/src/main/js/sap/ushell/ui/shell/ShellFloatingActions.js +1 -9
  1142. package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
  1143. package/src/main/js/sap/ushell/ui/shell/ShellNavigationMenu.js +1 -1
  1144. package/src/main/js/sap/ushell/ui/shell/SidePane.js +1 -1
  1145. package/src/main/js/sap/ushell/ui/shell/SubHeader.js +8 -51
  1146. package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
  1147. package/src/main/js/sap/ushell/ui/shell/SysInfoBarRenderer.js +1 -1
  1148. package/src/main/js/sap/ushell/ui/shell/ToolArea.js +1 -1
  1149. package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +2 -2
  1150. package/src/main/js/sap/ushell/ui/tile/DynamicTile.js +1 -1
  1151. package/src/main/js/sap/ushell/ui/tile/DynamicTileRenderer.js +1 -1
  1152. package/src/main/js/sap/ushell/ui/tile/ImageTile.js +1 -1
  1153. package/src/main/js/sap/ushell/ui/tile/ImageTileRenderer.js +1 -1
  1154. package/src/main/js/sap/ushell/ui/tile/StaticTile.js +1 -1
  1155. package/src/main/js/sap/ushell/ui/tile/StaticTileRenderer.js +1 -1
  1156. package/src/main/js/sap/ushell/ui/tile/TileBase.js +1 -1
  1157. package/src/main/js/sap/ushell/ui/tile/TileBaseRenderer.js +1 -1
  1158. package/src/main/js/sap/ushell/ui/utils.js +2 -2
  1159. package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
  1160. package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +2 -2
  1161. package/src/main/js/sap/ushell/ui5service/UserStatus.js +2 -2
  1162. package/src/main/js/sap/ushell/utils/AppType.js +1 -1
  1163. package/src/main/js/sap/ushell/utils/Deferred.js +1 -1
  1164. package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +1 -1
  1165. package/src/main/js/sap/ushell/utils/HttpClient.js +1 -1
  1166. package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +17 -1
  1167. package/src/main/js/sap/ushell/utils/UriParameters.js +1 -1
  1168. package/src/main/js/sap/ushell/utils/UrlParsing.js +1 -1
  1169. package/src/main/js/sap/ushell/utils/UrlShortening.js +2 -2
  1170. package/src/main/js/sap/ushell/utils/WindowUtils.js +1 -1
  1171. package/src/main/js/sap/ushell/utils/chipsUtils.js +1 -1
  1172. package/src/main/js/sap/ushell/utils/objectOperations.js +1 -1
  1173. package/src/main/js/sap/ushell/utils/tilecard/TileCard.js +1 -1
  1174. package/src/main/js/sap/ushell/utils/tilecard/TileCardExtension.js +1 -1
  1175. package/src/main/js/sap/ushell/utils/type.js +1 -1
  1176. package/src/main/js/sap/ushell/utils/utilsCdm.js +1 -1
  1177. package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +1 -1
  1178. package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +2 -2
  1179. package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +3 -3
  1180. package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +3 -3
  1181. package/src/main/js/sap/ushell/utils.js +9 -1
  1182. package/src/test/js/sap/ushell/bootstrap/sandbox.js +2 -2
  1183. package/ui5.yaml +20 -1
@@ -0,0 +1,2382 @@
1
+ // Copyright (c) 2009-2025 SAP SE, All Rights Reserved
2
+
3
+ /**
4
+ * @fileOverview defines the post message API for all applications running in iframe within the shell
5
+ * @version 1.134.1
6
+ * @private
7
+ */
8
+ sap.ui.define([
9
+ "sap/base/i18n/Formatting",
10
+ "sap/base/i18n/Localization",
11
+ "sap/ui/core/Element",
12
+ "sap/ushell/utils",
13
+ "sap/ui/core/library",
14
+ "sap/ui/thirdparty/jquery",
15
+ "sap/base/Log",
16
+ "sap/ui/core/UIComponent",
17
+ "sap/ushell/services/AppConfiguration",
18
+ "sap/ushell/services/Navigation/compatibility",
19
+ "sap/ushell/EventHub",
20
+ "sap/ushell/components/applicationIntegrationOld/application/PostMessageAPIInterface",
21
+ "sap/ui/thirdparty/URI",
22
+ "sap/base/util/deepExtend",
23
+ "sap/ushell/Config",
24
+ "sap/ushell/library",
25
+ "sap/ushell/utils/UrlParsing",
26
+ "sap/m/Button",
27
+ "sap/m/library",
28
+ "sap/ui/thirdparty/hasher",
29
+ "sap/ui/core/EventBus",
30
+ "sap/ushell/resources",
31
+ "sap/ushell/ui/shell/ShellHeadItem",
32
+ "sap/base/util/uid",
33
+ "sap/ushell/Container",
34
+ "sap/base/util/Deferred",
35
+ "sap/ushell/state/ShellModel",
36
+ "sap/ushell/ApplicationType/systemAlias"
37
+ ], function (
38
+ Formatting,
39
+ Localization,
40
+ Element,
41
+ ushellUtils,
42
+ coreLib,
43
+ jQuery,
44
+ Log,
45
+ UIComponent,
46
+ AppConfiguration,
47
+ navigationCompatibility,
48
+ EventHub,
49
+ PostMessageAPIInterface,
50
+ URI,
51
+ deepExtend,
52
+ Config,
53
+ ushellLibrary,
54
+ UrlParsing,
55
+ Button,
56
+ mobileLibrary,
57
+ hasher,
58
+ EventBus,
59
+ resources,
60
+ ShellHeadItem,
61
+ fnGetUid,
62
+ Container,
63
+ Deferred,
64
+ ShellModel,
65
+ SystemAlias
66
+ ) {
67
+ "use strict";
68
+
69
+ if (!Config.last("/core/navigation/enableAppLifeCycleFallback")) {
70
+ return {};
71
+ }
72
+
73
+ // shortcut for sap.ushell.ContentNodeType
74
+ const ContentNodeType = ushellLibrary.ContentNodeType;
75
+
76
+ const SAP_API_PREFIX = "sap.ushell.";
77
+
78
+ const oDummyComponent = new UIComponent();
79
+ const URLHelper = mobileLibrary.URLHelper;
80
+ /**
81
+ * All APIs must start with "sap.ushell" prefix
82
+ */
83
+ const oAPIs = {
84
+ "sap.ushell.services.Navigation": {
85
+ oServiceCalls: {
86
+ getHref: {
87
+ executeServiceCallFn: async (oServiceParams) => {
88
+ const { oTarget } = oServiceParams.oMessageData.body;
89
+ const Navigation = await Container.getServiceAsync("Navigation");
90
+
91
+ return Navigation.getHref(oTarget);
92
+ }
93
+ },
94
+ backToPreviousApp: {
95
+ executeServiceCallFn: async () => {
96
+ const Navigation = await Container.getServiceAsync("Navigation");
97
+ return Navigation.backToPreviousApp();
98
+ }
99
+ },
100
+ historyBack: {
101
+ executeServiceCallFn: async (oServiceParams) => {
102
+ const { iSteps } = oServiceParams.oMessageData.body;
103
+ const Navigation = await Container.getServiceAsync("Navigation");
104
+
105
+ return Navigation.historyBack(iSteps);
106
+ }
107
+ },
108
+ isInitialNavigation: {
109
+ executeServiceCallFn: async () => {
110
+ const Navigation = await Container.getServiceAsync("Navigation");
111
+ return Navigation.isInitialNavigation();
112
+ }
113
+ },
114
+ navigate: {
115
+ executeServiceCallFn: async (oServiceParams) => {
116
+ const { oTarget } = oServiceParams.oMessageData.body;
117
+ const Navigation = await Container.getServiceAsync("Navigation");
118
+
119
+ const oTargetClone = deepExtend({}, oTarget);
120
+ ushellUtils.storeSapSystemToLocalStorage(oTargetClone);
121
+
122
+ return Navigation.navigate(oTargetClone);
123
+ }
124
+ },
125
+ getPrimaryIntent: {
126
+ executeServiceCallFn: async (oServiceParams) => {
127
+ const { sSemanticObject, oLinkFilter } = oServiceParams.oMessageData.body;
128
+ const Navigation = await Container.getServiceAsync("Navigation");
129
+
130
+ return Navigation.getPrimaryIntent(sSemanticObject, oLinkFilter);
131
+ }
132
+ },
133
+ getLinks: {
134
+ executeServiceCallFn: async (oServiceParams) => {
135
+ const oParams = oServiceParams.oMessageData.body;
136
+ const Navigation = await Container.getServiceAsync("Navigation");
137
+
138
+ return Navigation.getLinks(oParams);
139
+ }
140
+ },
141
+ getSemanticObjects: {
142
+ executeServiceCallFn: async () => {
143
+ const Navigation = await Container.getServiceAsync("Navigation");
144
+ return Navigation.getSemanticObjects();
145
+ }
146
+ },
147
+
148
+ isNavigationSupported: {
149
+ executeServiceCallFn: async (oServiceParams) => {
150
+ const { aTargets } = oServiceParams.oMessageData.body;
151
+ const Navigation = await Container.getServiceAsync("Navigation");
152
+
153
+ return Navigation.isNavigationSupported(aTargets);
154
+ }
155
+ },
156
+ getAppState: {
157
+ executeServiceCallFn: async (oServiceParams) => {
158
+ const { sAppStateKey } = oServiceParams.oMessageData.body;
159
+ const Navigation = await Container.getServiceAsync("Navigation");
160
+
161
+ const oAppState = await Navigation.getAppState(oDummyComponent, sAppStateKey);
162
+ delete oAppState._oServiceInstance;
163
+
164
+ return oAppState;
165
+ }
166
+ },
167
+ resolveIntent: {
168
+ executeServiceCallFn: async (oServiceParams) => {
169
+ const { sHashFragment } = oServiceParams.oMessageData.body;
170
+ const Navigation = await Container.getServiceAsync("Navigation");
171
+
172
+ return Navigation.resolveIntent(sHashFragment);
173
+ }
174
+ },
175
+ isUrlSupported: {
176
+ executeServiceCallFn: async (oServiceParams) => {
177
+ const { sUrl } = oServiceParams.oMessageData.body;
178
+ const Navigation = await Container.getServiceAsync("Navigation");
179
+
180
+ return Navigation.isUrlSupported(sUrl);
181
+ }
182
+ }
183
+ }
184
+ },
185
+ "sap.ushell.services.CrossApplicationNavigation": {
186
+ oServiceCalls: {
187
+ hrefForExternal: {
188
+ executeServiceCallFn: async (oServiceParams) => {
189
+ const { oArgs } = oServiceParams.oMessageData.body;
190
+ const Navigation = await Container.getServiceAsync("Navigation");
191
+
192
+ return Navigation.getHref(oArgs);
193
+ }
194
+ },
195
+ getSemanticObjectLinks: {
196
+ executeServiceCallFn: async (oServiceParams) => {
197
+ // beware sSemanticObject may also be an array of argument arrays
198
+ // {sSemanticObject, mParameters, bIgnoreFormFactors }
199
+ const { sSemanticObject, mParameters, bIgnoreFormFactors, bCompactIntents } = oServiceParams.oMessageData.body;
200
+
201
+ return navigationCompatibility.getSemanticObjectLinks(
202
+ sSemanticObject,
203
+ mParameters,
204
+ bIgnoreFormFactors,
205
+ undefined,
206
+ undefined,
207
+ bCompactIntents
208
+ );
209
+ }
210
+ },
211
+ isIntentSupported: {
212
+ executeServiceCallFn: async (oServiceParams) => {
213
+ const { aIntents } = oServiceParams.oMessageData.body;
214
+
215
+ return navigationCompatibility.isIntentSupported(aIntents);
216
+ }
217
+ },
218
+ isNavigationSupported: {
219
+ executeServiceCallFn: async (oServiceParams) => {
220
+ const { aIntents } = oServiceParams.oMessageData.body;
221
+ const Navigation = await Container.getServiceAsync("Navigation");
222
+
223
+ return Navigation.isNavigationSupported(aIntents);
224
+ }
225
+ },
226
+ backToPreviousApp: {
227
+ executeServiceCallFn: async () => {
228
+ const Navigation = await Container.getServiceAsync("Navigation");
229
+ Navigation.backToPreviousApp();
230
+ }
231
+ },
232
+ historyBack: {
233
+ executeServiceCallFn: async (oServiceParams) => {
234
+ const { iSteps } = oServiceParams.oMessageData.body;
235
+ const Navigation = await Container.getServiceAsync("Navigation");
236
+
237
+ Navigation.historyBack(iSteps);
238
+ }
239
+ },
240
+ getAppStateData: {
241
+ executeServiceCallFn: async (oServiceParams) => {
242
+ // note: sAppStateKey may be an array of argument arrays
243
+ const { sAppStateKey: vAppStateKey } = oServiceParams.oMessageData.body;
244
+
245
+ return navigationCompatibility.getAppStateData(vAppStateKey);
246
+ }
247
+ },
248
+ toExternal: {
249
+ executeServiceCallFn: async (oServiceParams) => {
250
+ const { oArgs } = oServiceParams.oMessageData.body;
251
+ const Navigation = await Container.getServiceAsync("Navigation");
252
+
253
+ const oArgsClone = deepExtend({}, oArgs);
254
+ ushellUtils.storeSapSystemToLocalStorage(oArgsClone);
255
+
256
+ return Navigation.navigate(oArgsClone);
257
+ }
258
+ },
259
+ registerBeforeAppCloseEvent: {
260
+ executeServiceCallFn: async (oServiceParams) => {
261
+ const oParams = oServiceParams.oMessageData.body;
262
+ oServiceParams.oContainer.setProperty(
263
+ "beforeAppCloseEvent",
264
+ {
265
+ enabled: true,
266
+ params: oParams
267
+ },
268
+ true
269
+ );
270
+ }
271
+ },
272
+ expandCompactHash: {
273
+ executeServiceCallFn: async (oServiceParams) => {
274
+ const { sHashFragment } = oServiceParams.oMessageData.body;
275
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
276
+
277
+ const oDeferred = NavTargetResolutionInternal.expandCompactHash(sHashFragment);
278
+ return ushellUtils.promisify(oDeferred);
279
+ }
280
+ },
281
+ getDistinctSemanticObjects: {
282
+ executeServiceCallFn: async () => {
283
+ const Navigation = await Container.getServiceAsync("Navigation");
284
+
285
+ return Navigation.getSemanticObjects();
286
+ }
287
+ },
288
+ getLinks: {
289
+ executeServiceCallFn: async (oServiceParams) => {
290
+ const vParams = oServiceParams.oMessageData.body;
291
+
292
+ return navigationCompatibility.getLinks(vParams);
293
+ }
294
+ },
295
+ getPrimaryIntent: {
296
+ executeServiceCallFn: async (oServiceParams) => {
297
+ const { sSemanticObject, mParameters } = oServiceParams.oMessageData.body;
298
+ const Navigation = await Container.getServiceAsync("Navigation");
299
+
300
+ return Navigation.getPrimaryIntent(sSemanticObject, mParameters);
301
+ }
302
+ },
303
+ hrefForAppSpecificHash: {
304
+ executeServiceCallFn: async (oServiceParams) => {
305
+ const { sAppHash } = oServiceParams.oMessageData.body;
306
+ const Navigation = await Container.getServiceAsync("Navigation");
307
+
308
+ return Navigation.getHref(sAppHash);
309
+ }
310
+ },
311
+ isInitialNavigation: {
312
+ executeServiceCallFn: async () => {
313
+ const Navigation = await Container.getServiceAsync("Navigation");
314
+ return Navigation.isInitialNavigation();
315
+ }
316
+ },
317
+ getAppState: {
318
+ executeServiceCallFn: async (oServiceParams) => {
319
+ const { sAppStateKey } = oServiceParams.oMessageData.body;
320
+ const Navigation = await Container.getServiceAsync("Navigation");
321
+
322
+ const oAppState = await Navigation.getAppState(oDummyComponent, sAppStateKey);
323
+ delete oAppState._oServiceInstance;
324
+
325
+ return oAppState;
326
+ }
327
+ },
328
+ setInnerAppRoute: {
329
+ executeServiceCallFn: async (oServiceParams) => {
330
+ const { appSpecificRoute, writeHistory } = oServiceParams.oMessageData.body;
331
+
332
+ const oHash = UrlParsing.parseShellHash(hasher.getHash());
333
+
334
+ //do nothing if new is exactly like the current one
335
+ if (oHash.appSpecificRoute === appSpecificRoute) {
336
+ return;
337
+ }
338
+ oHash.appSpecificRoute = appSpecificRoute;
339
+ const sNewHash = `#${UrlParsing.constructShellHash(oHash)}`;
340
+ hasher.disableBlueBoxHashChangeTrigger = true;
341
+ if (writeHistory === true || writeHistory === "true") {
342
+ hasher.setHash(sNewHash);
343
+ } else {
344
+ hasher.replaceHash(sNewHash);
345
+ }
346
+ hasher.disableBlueBoxHashChangeTrigger = false;
347
+ }
348
+ },
349
+ setInnerAppStateData: {
350
+ executeServiceCallFn: (oServiceParams) => {
351
+ return PostMessageAPI.prototype._createNewInnerAppState(oServiceParams);
352
+ }
353
+ },
354
+ resolveIntent: {
355
+ executeServiceCallFn: async (oServiceParams) => {
356
+ const { sHashFragment } = oServiceParams.oMessageData.body;
357
+ const Navigation = await Container.getServiceAsync("Navigation");
358
+
359
+ return Navigation.resolveIntent(sHashFragment);
360
+ }
361
+ }
362
+ }
363
+ },
364
+ "sap.ushell.ui5service.ShellUIService": {
365
+ oServiceCalls: {
366
+ setTitle: {
367
+ executeServiceCallFn: async (oServiceParams) => {
368
+ const { sTitle, oAdditionalInformation } = oServiceParams.oMessageData.body;
369
+ const ShellUIService = oServiceParams.oContainer.getShellUIService();
370
+
371
+ ShellUIService.setTitle(sTitle, oAdditionalInformation);
372
+ }
373
+ },
374
+ setBackNavigation: {
375
+ executeServiceCallFn: async (oServiceParams) => {
376
+ const ShellUIService = oServiceParams.oContainer.getShellUIService();
377
+
378
+ let fnCallback;
379
+ if (oServiceParams?.oMessageData?.body?.callbackMessage?.service) {
380
+ fnCallback = PostMessageAPI.prototype._backButtonPressedCallback.bind(
381
+ null,
382
+ oServiceParams.oMessage.source,
383
+ oServiceParams.oMessageData.body.callbackMessage.service,
384
+ oServiceParams.oMessage.origin
385
+ );
386
+ } // empty body or callback message will call the setBackNavigation with undefined, this should reset the back button callback
387
+
388
+ ShellUIService.setBackNavigation(fnCallback);
389
+ }
390
+ }
391
+ }
392
+ },
393
+ "sap.ushell.services.ShellUIService": {
394
+ oServiceCalls: {
395
+ setTitle: {
396
+ executeServiceCallFn: async (oServiceParams) => {
397
+ const { sTitle, oAdditionalInformation } = oServiceParams.oMessageData.body;
398
+ const ShellUIService = oServiceParams.oContainer.getShellUIService();
399
+
400
+ ShellUIService.setTitle(sTitle, oAdditionalInformation);
401
+ }
402
+ },
403
+ setHierarchy: {
404
+ executeServiceCallFn: async (oServiceParams) => {
405
+ const { aHierarchyLevels } = oServiceParams.oMessageData.body;
406
+ const ShellUIService = oServiceParams.oContainer.getShellUIService();
407
+
408
+ ShellUIService.setHierarchy(aHierarchyLevels);
409
+ }
410
+ },
411
+ setRelatedApps: {
412
+ executeServiceCallFn: async (oServiceParams) => {
413
+ const { aRelatedApps } = oServiceParams.oMessageData.body;
414
+ const ShellUIService = oServiceParams.oContainer.getShellUIService();
415
+
416
+ ShellUIService.setRelatedApps(aRelatedApps);
417
+ }
418
+ },
419
+ setDirtyFlag: {
420
+ executeServiceCallFn: async (oServiceParams) => {
421
+ const { bIsDirty } = oServiceParams.oMessageData.body;
422
+
423
+ Container.setDirtyFlag(bIsDirty);
424
+ }
425
+ },
426
+ showShellUIBlocker: {
427
+ executeServiceCallFn: async (oServiceParams) => {
428
+ Log.error("'sap.ushell.services.ShellUIService.showShellUIBlocker' was discontinued. This call will be ignored.");
429
+ }
430
+ },
431
+ getFLPUrl: {
432
+ executeServiceCallFn: (oServiceParams) => {
433
+ const bIncludeHash = oServiceParams?.oMessageData?.body?.bIncludeHash;
434
+
435
+ return Container.getFLPUrlAsync(bIncludeHash);
436
+ }
437
+ },
438
+ getShellGroupIDs: {
439
+ executeServiceCallFn: async (oServiceParams) => {
440
+ /**
441
+ * @deprecated since 1.120 Classic homepage is deprecated.
442
+ */ // eslint-disable-next-line no-constant-condition
443
+ if (true) {
444
+ const { bGetAll } = oServiceParams.oMessageData.body || {};
445
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
446
+
447
+ return BookmarkV2.getShellGroupIDs(bGetAll);
448
+ }
449
+
450
+ throw new Error("Bookmark.getShellGroupIDs is deprecated. Please use BookmarkV2.getContentNodes instead.");
451
+ }
452
+ },
453
+ addBookmark: {
454
+ executeServiceCallFn: async (oServiceParams) => {
455
+ /**
456
+ * @deprecated since 1.120 Classic homepage is deprecated.
457
+ */ // eslint-disable-next-line no-constant-condition
458
+ if (true) {
459
+ const { oParameters, groupId } = oServiceParams.oMessageData.body;
460
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
461
+
462
+ return BookmarkV2.addBookmarkByGroupId(oParameters, groupId);
463
+ }
464
+
465
+ throw new Error("Bookmark.addBookmarkByGroupId is deprecated. Please use BookmarkV2.addBookmark instead.");
466
+ }
467
+ },
468
+ addBookmarkDialog: {
469
+ executeServiceCallFn: async () => {
470
+ const [AddBookmarkButton] = await ushellUtils.requireAsync(["sap/ushell/ui/footerbar/AddBookmarkButton"]);
471
+ const dialogButton = new AddBookmarkButton();
472
+ dialogButton.firePress({});
473
+ }
474
+ },
475
+ getShellGroupTiles: {
476
+ executeServiceCallFn: async (oServiceParams) => {
477
+ /**
478
+ * @deprecated since 1.120 Classic homepage is deprecated.
479
+ */ // eslint-disable-next-line no-constant-condition
480
+ if (true) {
481
+ const { groupId } = oServiceParams.oMessageData.body;
482
+ const FlpLaunchPage = await Container.getServiceAsync("FlpLaunchPage");
483
+
484
+ const oDeferred = FlpLaunchPage.getTilesByGroupId(groupId);
485
+ return ushellUtils.promisify(oDeferred);
486
+ }
487
+
488
+ throw new Error("Classic homepage is deprecated.");
489
+ }
490
+ },
491
+ sendUrlAsEmail: {
492
+ executeServiceCallFn: async () => {
493
+ const sAppName = ShellModel.getModel().getProperty("/application/title");
494
+
495
+ let sSubject;
496
+ if (sAppName === undefined) {
497
+ sSubject = resources.i18n.getText("linkToApplication");
498
+ } else {
499
+ sSubject = `${resources.i18n.getText("linkTo")} '${sAppName}'`;
500
+ }
501
+
502
+ PostMessageAPI.prototype._sendEmail(
503
+ "",
504
+ sSubject,
505
+ document.URL,
506
+ "",
507
+ "",
508
+ document.URL,
509
+ true
510
+ );
511
+ }
512
+ },
513
+ sendEmailWithFLPButton: {
514
+ executeServiceCallFn: async (oServiceParams) => {
515
+ const { bSetAppStateToPublic } = oServiceParams.oMessageData.body;
516
+
517
+ const sAppName = ShellModel.getModel().getProperty("/application/title");
518
+ let sSubject;
519
+ if (sAppName === undefined) {
520
+ sSubject = resources.i18n.getText("linkToApplication");
521
+ } else {
522
+ sSubject = `${resources.i18n.getText("linkTo")} '${sAppName}'`;
523
+ }
524
+
525
+ PostMessageAPI.prototype._sendEmail(
526
+ "",
527
+ sSubject,
528
+ document.URL,
529
+ "",
530
+ "",
531
+ document.URL,
532
+ bSetAppStateToPublic
533
+ );
534
+ }
535
+ },
536
+ sendEmail: {
537
+ executeServiceCallFn: async (oServiceParams) => {
538
+ const { sTo, sSubject, sBody, sCc, sBcc, sIFrameURL, bSetAppStateToPublic } = oServiceParams.oMessageData.body;
539
+
540
+ PostMessageAPI.prototype._sendEmail(
541
+ sTo,
542
+ sSubject,
543
+ sBody,
544
+ sCc,
545
+ sBcc,
546
+ sIFrameURL,
547
+ bSetAppStateToPublic
548
+ );
549
+ }
550
+ },
551
+ processHotKey: {
552
+ executeServiceCallFn: async (oServiceParams) => {
553
+ const oParams = oServiceParams.oMessageData.body;
554
+ // IE doesn't support creating the KeyboardEvent object with a the "new" constructor, hence if this will fail, it will be created
555
+ // using the document object- https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/KeyboardEvent
556
+ // This KeyboardEvent has a constructor, so checking for its ecsitaance will not solve this, hence, only solution found is try-catch
557
+ let oEvent;
558
+ try {
559
+ oEvent = new KeyboardEvent("keydown", oParams);
560
+ } catch (err) {
561
+ const { altKey, ctrlKey, shiftKey, key, keyCode } = oParams;
562
+ const IEevent = document.createEvent("KeyboardEvent");
563
+
564
+ let sSpecialKeys = ""; // https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/initKeyboardEvent
565
+ if (altKey) {
566
+ sSpecialKeys += "Alt ";
567
+ }
568
+ if (ctrlKey) {
569
+ sSpecialKeys += "Control ";
570
+ }
571
+ if (shiftKey) {
572
+ sSpecialKeys += "Shift ";
573
+ }
574
+
575
+ IEevent.initKeyboardEvent("keydown", false, false, null, key, keyCode, sSpecialKeys, 0, false);
576
+ oEvent = IEevent;
577
+ }
578
+ document.dispatchEvent(oEvent);
579
+ }
580
+ }
581
+ }
582
+ },
583
+ "sap.ushell.services.Container": {
584
+ oServiceCalls: {
585
+ setDirtyFlag: {
586
+ executeServiceCallFn: async (oServiceParams) => {
587
+ const { bIsDirty } = oServiceParams.oMessageData.body;
588
+ Container.setDirtyFlag(bIsDirty);
589
+ }
590
+ },
591
+ registerDirtyStateProvider: {
592
+ executeServiceCallFn: async (oServiceParams) => {
593
+ const { bRegister } = oServiceParams.oMessageData.body;
594
+ if (bRegister) {
595
+ PostMessageAPI.prototype.registerAsyncDirtyStateProvider(oServiceParams);
596
+ } else {
597
+ PostMessageAPI.prototype.deregisterAsyncDirtyStateProvider(oServiceParams);
598
+ }
599
+ }
600
+ },
601
+ getFLPUrl: {
602
+ executeServiceCallFn: (oServiceParams) => {
603
+ const bIncludeHash = oServiceParams?.oMessageData?.body?.bIncludeHash;
604
+ return Container.getFLPUrlAsync(bIncludeHash);
605
+ }
606
+ },
607
+ getFLPConfig: {
608
+ executeServiceCallFn: async () => {
609
+ return Container.getFLPConfig();
610
+ }
611
+ },
612
+ getFLPPlatform: {
613
+ executeServiceCallFn: () => {
614
+ return Container.getFLPPlatform();
615
+ }
616
+ },
617
+ attachLogoutEvent: {
618
+ executeServiceCallFn: async (oServiceParams) => {
619
+ Container.attachLogoutEvent(async function () {
620
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
621
+
622
+ return PostMessageUtils.postMessageToIframeApp(
623
+ oServiceParams.oContainer,
624
+ "sap.ushell.appRuntime",
625
+ "executeLogoutFunctions",
626
+ {},
627
+ true
628
+ );
629
+ }, true);
630
+ }
631
+ }
632
+ }
633
+ },
634
+ "sap.ushell.services.AppState": {
635
+ oServiceCalls: {
636
+ getAppState: {
637
+ executeServiceCallFn: async (oServiceParams) => {
638
+ const { sKey } = oServiceParams.oMessageData.body;
639
+ const AppState = await Container.getServiceAsync("AppState");
640
+
641
+ const oDeferred = AppState.getAppState(sKey);
642
+
643
+ const oAppState = await ushellUtils.promisify(oDeferred);
644
+ delete oAppState._oServiceInstance;
645
+ return oAppState;
646
+ }
647
+ },
648
+ _saveAppState: {
649
+ executeServiceCallFn: async (oServiceParams) => {
650
+ const { sKey, sData, sAppName, sComponent, bTransient, iPersistencyMethod, oPersistencySettings } = oServiceParams.oMessageData.body;
651
+ const AppState = await Container.getServiceAsync("AppState");
652
+
653
+ const oDeferred = AppState._saveAppState(
654
+ sKey,
655
+ sData,
656
+ sAppName,
657
+ sComponent,
658
+ bTransient,
659
+ iPersistencyMethod,
660
+ oPersistencySettings
661
+ );
662
+ return ushellUtils.promisify(oDeferred);
663
+ }
664
+ },
665
+ _loadAppState: {
666
+ executeServiceCallFn: async (oServiceParams) => {
667
+ const { sKey } = oServiceParams.oMessageData.body;
668
+ const AppState = await Container.getServiceAsync("AppState");
669
+
670
+ const oDeferred = AppState._loadAppState(sKey);
671
+ return ushellUtils.promisify(oDeferred);
672
+ }
673
+ },
674
+ deleteAppState: {
675
+ executeServiceCallFn: async (oServiceParams) => {
676
+ const { sKey } = oServiceParams.oMessageData.body;
677
+ const AppState = await Container.getServiceAsync("AppState");
678
+
679
+ const oDeferred = AppState.deleteAppState(sKey);
680
+ return ushellUtils.promisify(oDeferred);
681
+ }
682
+ },
683
+ makeStatePersistent: {
684
+ executeServiceCallFn: async (oServiceParams) => {
685
+ const { sKey, iPersistencyMethod, oPersistencySettings } = oServiceParams.oMessageData.body;
686
+ const AppState = await Container.getServiceAsync("AppState");
687
+
688
+ const oDeferred = AppState.makeStatePersistent(sKey, iPersistencyMethod, oPersistencySettings);
689
+ return ushellUtils.promisify(oDeferred);
690
+ }
691
+ }
692
+ }
693
+ },
694
+ "sap.ushell.services.Bookmark": {
695
+ oServiceCalls: {
696
+ addBookmarkUI5: {
697
+ executeServiceCallFn: async (oServiceParams) => {
698
+ const { oParameters, vContainer } = oServiceParams.oMessageData.body;
699
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
700
+
701
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
702
+ PostMessageAPI.prototype._stripBookmarkServiceUrlForLocalContentProvider(oParameters, oSystemContext);
703
+
704
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
705
+
706
+ return BookmarkV2.addBookmark(oParameters, vContainer, oSystemContext.id);
707
+ }
708
+ },
709
+ // Bookmark@addBookmarkByGroupId is mapped to sap.ushell.services.Bookmark.addBookmark
710
+ // Bookmark@addBookmark is mapped to sap.ushell.services.Bookmark.addBookmarkUI5
711
+ addBookmark: {
712
+ executeServiceCallFn: async (oServiceParams) => {
713
+ /**
714
+ * @deprecated since 1.120 Classic homepage is deprecated.
715
+ */ // eslint-disable-next-line no-constant-condition
716
+ if (true) {
717
+ const { oParameters, groupId } = oServiceParams.oMessageData.body;
718
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
719
+
720
+ return BookmarkV2.addBookmarkByGroupId(oParameters, groupId);
721
+ }
722
+
723
+ throw new Error("Bookmark.addBookmarkByGroupId is deprecated. Please use BookmarkV2.addBookmark instead.");
724
+ }
725
+ },
726
+ getShellGroupIDs: {
727
+ executeServiceCallFn: async () => {
728
+ /**
729
+ * @deprecated since 1.120 Classic homepage is deprecated.
730
+ */ // eslint-disable-next-line no-constant-condition
731
+ if (true) {
732
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
733
+
734
+ return BookmarkV2.getShellGroupIDs();
735
+ }
736
+
737
+ throw new Error("Bookmark.getShellGroupIDs is deprecated. Please use BookmarkV2.getContentNodes instead.");
738
+ }
739
+ },
740
+ addCatalogTileToGroup: {
741
+ executeServiceCallFn: async (oServiceParams) => {
742
+ Log.error("Bookmark.addCatalogTileToGroup is deprecated. Please use BookmarkV2.addBookmark instead.");
743
+
744
+ /**
745
+ * @deprecated since 1.120 Classic homepage is deprecated.
746
+ */ // eslint-disable-next-line no-constant-condition
747
+ if (true) {
748
+ const { sCatalogTileId, sGroupId, oCatalogData } = oServiceParams.oMessageData.body;
749
+ const Bookmark = await Container.getServiceAsync("Bookmark");
750
+
751
+ const oDeferred = Bookmark.addCatalogTileToGroup(sCatalogTileId, sGroupId, oCatalogData);
752
+ return ushellUtils.promisify(oDeferred);
753
+ }
754
+
755
+ throw new Error("Bookmark.addCatalogTileToGroup is deprecated. Please use BookmarkV2.addBookmark instead.");
756
+ }
757
+ },
758
+ countBookmarks: {
759
+ executeServiceCallFn: async (oServiceParams) => {
760
+ const { sUrl } = oServiceParams.oMessageData.body;
761
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
762
+
763
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
764
+
765
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
766
+
767
+ return BookmarkV2.countBookmarks(sUrl, oSystemContext.id);
768
+ }
769
+ },
770
+ deleteBookmarks: {
771
+ executeServiceCallFn: async (oServiceParams) => {
772
+ const { sUrl } = oServiceParams.oMessageData.body;
773
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
774
+
775
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
776
+
777
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
778
+
779
+ return BookmarkV2.deleteBookmarks(sUrl, oSystemContext.id);
780
+ }
781
+ },
782
+ updateBookmarks: {
783
+ executeServiceCallFn: async (oServiceParams) => {
784
+ const { sUrl, oParameters } = oServiceParams.oMessageData.body;
785
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
786
+
787
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
788
+
789
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
790
+
791
+ return BookmarkV2.updateBookmarks(sUrl, oParameters, oSystemContext.id);
792
+ }
793
+ },
794
+ getContentNodes: {
795
+ executeServiceCallFn: async () => {
796
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
797
+
798
+ return BookmarkV2.getContentNodes();
799
+ }
800
+ },
801
+ addCustomBookmark: {
802
+ executeServiceCallFn: async (oServiceParams) => {
803
+ const { sVizType, oConfig, vContentNodes } = oServiceParams.oMessageData.body;
804
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
805
+
806
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
807
+
808
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
809
+
810
+ return BookmarkV2.addCustomBookmark(sVizType, oConfig, vContentNodes, oSystemContext.id);
811
+ }
812
+ },
813
+ countCustomBookmarks: {
814
+ executeServiceCallFn: async (oServiceParams) => {
815
+ const { oIdentifier } = oServiceParams.oMessageData.body;
816
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
817
+
818
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
819
+ oIdentifier.contentProviderId = oSystemContext.id;
820
+
821
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
822
+
823
+ return BookmarkV2.countCustomBookmarks(oIdentifier);
824
+ }
825
+ },
826
+ updateCustomBookmarks: {
827
+ executeServiceCallFn: async (oServiceParams) => {
828
+ const { oIdentifier, oConfig } = oServiceParams.oMessageData.body;
829
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
830
+
831
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
832
+ oIdentifier.contentProviderId = oSystemContext.id;
833
+
834
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
835
+
836
+ return BookmarkV2.updateCustomBookmarks(oIdentifier, oConfig);
837
+ }
838
+ },
839
+ deleteCustomBookmarks: {
840
+ executeServiceCallFn: async (oServiceParams) => {
841
+ const { oIdentifier } = oServiceParams.oMessageData.body;
842
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
843
+
844
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
845
+ oIdentifier.contentProviderId = oSystemContext.id;
846
+
847
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
848
+
849
+ return BookmarkV2.deleteCustomBookmarks(oIdentifier);
850
+ }
851
+ },
852
+ addBookmarkToPage: {
853
+ executeServiceCallFn: async (oServiceParams) => {
854
+ const { oParameters, sPageId } = oServiceParams.oMessageData.body;
855
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
856
+
857
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
858
+
859
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
860
+
861
+ return BookmarkV2.addBookmarkToPage(oParameters, sPageId, oSystemContext.id);
862
+ }
863
+ }
864
+ }
865
+ },
866
+ "sap.ushell.services.BookmarkV2": {
867
+ oServiceCalls: {
868
+ addBookmarkUI5: {
869
+ executeServiceCallFn: async (oServiceParams) => {
870
+ const { oParameters, vContainer } = oServiceParams.oMessageData.body;
871
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
872
+
873
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
874
+ PostMessageAPI.prototype._stripBookmarkServiceUrlForLocalContentProvider(oParameters, oSystemContext);
875
+
876
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
877
+
878
+ return BookmarkV2.addBookmark(oParameters, vContainer, oSystemContext.id);
879
+ }
880
+ },
881
+ // BookmarkV2@addBookmarkByGroupId is mapped to sap.ushell.services.BookmarkV2.addBookmark
882
+ // BookmarkV2@addBookmark is mapped to sap.ushell.services.BookmarkV2.addBookmarkUI5
883
+ addBookmark: {
884
+ executeServiceCallFn: async (oServiceParams) => {
885
+ /**
886
+ * @deprecated since 1.120 Classic homepage is deprecated.
887
+ */ // eslint-disable-next-line no-constant-condition
888
+ if (true) {
889
+ const { oParameters, groupId } = oServiceParams.oMessageData.body;
890
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
891
+
892
+ return BookmarkV2.addBookmarkByGroupId(oParameters, groupId);
893
+ }
894
+
895
+ throw new Error("BookmarkV2.addBookmarkByGroupId is deprecated. Please use BookmarkV2.addBookmark instead.");
896
+ }
897
+ },
898
+ getShellGroupIDs: {
899
+ executeServiceCallFn: async () => {
900
+ /**
901
+ * @deprecated since 1.120 Classic homepage is deprecated.
902
+ */ // eslint-disable-next-line no-constant-condition
903
+ if (true) {
904
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
905
+
906
+ return BookmarkV2.getShellGroupIDs();
907
+ }
908
+
909
+ throw new Error("BookmarkV2.getShellGroupIDs is deprecated. Please use BookmarkV2.getContentNodes instead.");
910
+ }
911
+ },
912
+ countBookmarks: {
913
+ executeServiceCallFn: async (oServiceParams) => {
914
+ const { sUrl } = oServiceParams.oMessageData.body;
915
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
916
+
917
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
918
+
919
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
920
+
921
+ return BookmarkV2.countBookmarks(sUrl, oSystemContext.id);
922
+ }
923
+ },
924
+ deleteBookmarks: {
925
+ executeServiceCallFn: async (oServiceParams) => {
926
+ const { sUrl } = oServiceParams.oMessageData.body;
927
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
928
+
929
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
930
+
931
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
932
+
933
+ return BookmarkV2.deleteBookmarks(sUrl, oSystemContext.id);
934
+ }
935
+ },
936
+ updateBookmarks: {
937
+ executeServiceCallFn: async (oServiceParams) => {
938
+ const { sUrl, oParameters } = oServiceParams.oMessageData.body;
939
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
940
+
941
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
942
+
943
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
944
+
945
+ return BookmarkV2.updateBookmarks(sUrl, oParameters, oSystemContext.id);
946
+ }
947
+ },
948
+ getContentNodes: {
949
+ executeServiceCallFn: async () => {
950
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
951
+
952
+ return BookmarkV2.getContentNodes();
953
+ }
954
+ },
955
+ addCustomBookmark: {
956
+ executeServiceCallFn: async (oServiceParams) => {
957
+ const { sVizType, oConfig, vContentNodes } = oServiceParams.oMessageData.body;
958
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
959
+
960
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
961
+
962
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
963
+
964
+ return BookmarkV2.addCustomBookmark(sVizType, oConfig, vContentNodes, oSystemContext.id);
965
+ }
966
+ },
967
+ countCustomBookmarks: {
968
+ executeServiceCallFn: async (oServiceParams) => {
969
+ const { oIdentifier } = oServiceParams.oMessageData.body;
970
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
971
+
972
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
973
+ oIdentifier.contentProviderId = oSystemContext.id;
974
+
975
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
976
+
977
+ return BookmarkV2.countCustomBookmarks(oIdentifier);
978
+ }
979
+ },
980
+ updateCustomBookmarks: {
981
+ executeServiceCallFn: async (oServiceParams) => {
982
+ const { oIdentifier, oConfig } = oServiceParams.oMessageData.body;
983
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
984
+
985
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
986
+ oIdentifier.contentProviderId = oSystemContext.id;
987
+
988
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
989
+
990
+ return BookmarkV2.updateCustomBookmarks(oIdentifier, oConfig);
991
+ }
992
+ },
993
+ deleteCustomBookmarks: {
994
+ executeServiceCallFn: async (oServiceParams) => {
995
+ const { oIdentifier } = oServiceParams.oMessageData.body;
996
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
997
+
998
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
999
+ oIdentifier.contentProviderId = oSystemContext.id;
1000
+
1001
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
1002
+
1003
+ return BookmarkV2.deleteCustomBookmarks(oIdentifier);
1004
+ }
1005
+ },
1006
+ addBookmarkToPage: {
1007
+ executeServiceCallFn: async (oServiceParams) => {
1008
+ const { oParameters, sPageId } = oServiceParams.oMessageData.body;
1009
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
1010
+
1011
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
1012
+
1013
+ const BookmarkV2 = await Container.getServiceAsync("BookmarkV2");
1014
+
1015
+ return BookmarkV2.addBookmarkToPage(oParameters, sPageId, oSystemContext.id);
1016
+ }
1017
+ }
1018
+ }
1019
+ },
1020
+ "sap.ushell.services.AppLifeCycle": {
1021
+ oServiceCalls: {
1022
+ reloadCurrentApp: {
1023
+ executeServiceCallFn: async (oServiceParams) => {
1024
+ // should only be called for appruntime
1025
+ EventHub.emit("reloadCurrentApp", {
1026
+ // Omit sAppContainerId, otherwise the entire iframe will be reloaded
1027
+ sCurrentHash: hasher.getHash(),
1028
+ date: Date.now()
1029
+ });
1030
+ }
1031
+ },
1032
+ getFullyQualifiedXhrUrl: {
1033
+ executeServiceCallFn: async (oServiceParams) => {
1034
+ const { path } = oServiceParams.oMessageData.body;
1035
+
1036
+ if (path !== "" && path !== undefined && path !== null) {
1037
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
1038
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
1039
+ const sXhrUrl = oSystemContext.getFullyQualifiedXhrUrl(path);
1040
+
1041
+ let sHostName = "";
1042
+ let sProtocol = "";
1043
+ let sPort = "";
1044
+ const sFlpURL = Container.getFLPUrl(true);
1045
+ const oURI = new URI(sFlpURL);
1046
+ if (oURI.protocol() !== null && oURI.protocol() !== undefined && oURI.protocol() !== "") {
1047
+ sProtocol = `${oURI.protocol()}://`;
1048
+ }
1049
+ if (oURI.hostname() !== null && oURI.hostname() !== undefined && oURI.hostname() !== "") {
1050
+ sHostName = oURI.hostname();
1051
+ }
1052
+ if (oURI.port() !== null && oURI.port() !== undefined && oURI.port() !== "") {
1053
+ sPort = `:${oURI.port()}`;
1054
+ }
1055
+
1056
+ const sResult = sProtocol + sHostName + sPort + sXhrUrl;
1057
+ return sResult;
1058
+ }
1059
+ }
1060
+ },
1061
+ getSystemAlias: {
1062
+ executeServiceCallFn: async (oServiceParams) => {
1063
+ const oAppTargetResolution = oServiceParams.oContainer.getCurrentAppTargetResolution();
1064
+ const sFullyQualifiedSystemAlias = oAppTargetResolution.systemAlias;
1065
+ const sContentProviderId = oAppTargetResolution.contentProviderId;
1066
+ return SystemAlias.getSystemAliasInProvider(sFullyQualifiedSystemAlias, sContentProviderId);
1067
+ }
1068
+ },
1069
+ setNewAppInfo: {
1070
+ executeServiceCallFn: async (oServiceParams) => {
1071
+ const oParams = oServiceParams.oMessageData.body;
1072
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
1073
+
1074
+ AppLifeCycle.setAppInfo(oParams, true);
1075
+ }
1076
+ },
1077
+ updateCurrentAppInfo: {
1078
+ executeServiceCallFn: async (oServiceParams) => {
1079
+ const oParams = oServiceParams.oMessageData.body;
1080
+ const AppLifeCycle = await Container.getServiceAsync("AppLifeCycle");
1081
+
1082
+ AppLifeCycle.setAppInfo(oParams, false);
1083
+ }
1084
+ }
1085
+ }
1086
+ },
1087
+ "sap.ushell.services.AppConfiguration": {
1088
+ oServiceCalls: {
1089
+ setApplicationFullWidth: {
1090
+ executeServiceCallFn: async (oServiceParams) => {
1091
+ const { bValue } = oServiceParams.oMessageData.body;
1092
+ AppConfiguration.setApplicationFullWidthInternal(bValue);
1093
+ }
1094
+ }
1095
+ }
1096
+ },
1097
+ "sap.ushell.appRuntime": {
1098
+ oRequestCalls: {
1099
+ innerAppRouteChange: {
1100
+ isActiveOnly: true,
1101
+ distributionType: ["all"]
1102
+ },
1103
+ keepAliveAppHide: {
1104
+ isActiveOnly: true,
1105
+ distributionType: ["all"]
1106
+ },
1107
+ keepAliveAppShow: {
1108
+ isActiveOnly: true,
1109
+ distributionType: ["all"]
1110
+ },
1111
+ hashChange: {
1112
+ isActiveOnly: true,
1113
+ distributionType: ["URL"]
1114
+ },
1115
+ setDirtyFlag: {
1116
+ isActiveOnly: true,
1117
+ distributionType: ["URL"]
1118
+ },
1119
+ getDirtyFlag: {
1120
+ isActiveOnly: true,
1121
+ distributionType: ["URL"]
1122
+ },
1123
+ themeChange: {
1124
+ isActiveOnly: false,
1125
+ distributionType: ["all"]
1126
+ },
1127
+ uiDensityChange: {
1128
+ isActiveOnly: false,
1129
+ distributionType: ["all"]
1130
+ }
1131
+ },
1132
+ oServiceCalls: {
1133
+ hashChange: {
1134
+ executeServiceCallFn: async (oServiceParams) => {
1135
+ const { newHash, direction } = oServiceParams.oMessageData.body;
1136
+ //FIX for internal incident #1980317281 - In general, hash structure in FLP is splitted into 3 parts:
1137
+ //A - application identification & B - Application parameters & C - Internal application area
1138
+ // Now, when an IFrame changes its hash, it sends PostMessage up to the FLP. The FLP does 2 things: Change its URL
1139
+ // and send a PostMessage back to the IFrame. This fix instruct the Shell.Controller.js to block only
1140
+ // the message back to the IFrame.
1141
+ hasher.disableBlueBoxHashChangeTrigger = true;
1142
+ hasher.replaceHash(newHash);
1143
+ hasher.disableBlueBoxHashChangeTrigger = false;
1144
+
1145
+ //Getting the history direction, taken from the history object of UI5 (sent by the Iframe).
1146
+ //The direction value is used to update the direction property of the UI5 history object
1147
+ // that is running in the Iframe.
1148
+ if (direction) {
1149
+ const ShellNavigationInternal = await Container.getServiceAsync("ShellNavigationInternal");
1150
+ ShellNavigationInternal.hashChanger.fireEvent(
1151
+ "hashReplaced",
1152
+ {
1153
+ hash: ShellNavigationInternal.hashChanger.getHash(),
1154
+ direction: direction
1155
+ }
1156
+ );
1157
+ Log.debug(`PostMessageAPI.hashChange :: Informed by the Iframe, to change the History direction property in FLP to: ${direction}`);
1158
+ }
1159
+
1160
+ return;
1161
+ }
1162
+ },
1163
+ iframeIsValid: {
1164
+ executeServiceCallFn: async (oServiceParams) => {
1165
+ oServiceParams.oContainer.setProperty("isIframeValidTime", { time: new Date().getTime() }, true);
1166
+ }
1167
+ },
1168
+ iframeIsBusy: {
1169
+ executeServiceCallFn: async (oServiceParams) => {
1170
+ //deprecated since 1.118 and not used anymore
1171
+ }
1172
+ },
1173
+ isInvalidIframe: {
1174
+ executeServiceCallFn: async (oServiceParams) => {
1175
+ const { bValue } = oServiceParams.oMessageData.body;
1176
+ oServiceParams.oContainer.setProperty("isInvalidIframe", bValue, true);
1177
+ }
1178
+ }
1179
+ }
1180
+ },
1181
+ "sap.ushell.services.UserInfo": {
1182
+ oServiceCalls: {
1183
+ getThemeList: {
1184
+ executeServiceCallFn: async () => {
1185
+ const UserInfo = await Container.getServiceAsync("UserInfo");
1186
+
1187
+ const oDeferred = UserInfo.getThemeList();
1188
+
1189
+ return ushellUtils.promisify(oDeferred);
1190
+ }
1191
+ },
1192
+ getShellUserInfo: {
1193
+ executeServiceCallFn: async () => {
1194
+ const UserInfo = await Container.getServiceAsync("UserInfo");
1195
+
1196
+ return UserInfo.getShellUserInfo();
1197
+ }
1198
+ },
1199
+ getLanguageList: {
1200
+ executeServiceCallFn: async () => {
1201
+ const UserInfo = await Container.getServiceAsync("UserInfo");
1202
+
1203
+ const oDeferred = UserInfo.getLanguageList();
1204
+
1205
+ return ushellUtils.promisify(oDeferred);
1206
+ }
1207
+ },
1208
+ updateUserPreferences: {
1209
+ executeServiceCallFn: async (oServiceParams) => {
1210
+ const { language } = oServiceParams.oMessageData.body;
1211
+
1212
+ if (language) {
1213
+ const oUser = Container.getUser();
1214
+ oUser.setLanguage(language);
1215
+ const UserInfo = await Container.getServiceAsync("UserInfo");
1216
+
1217
+ const oDeferred = UserInfo.updateUserPreferences();
1218
+ await ushellUtils.promisify(oDeferred);
1219
+
1220
+ oUser.resetChangedProperty("language");
1221
+ }
1222
+ }
1223
+ },
1224
+ openThemeManager: {
1225
+ executeServiceCallFn: async () => {
1226
+ EventHub.emit("openThemeManager", Date.now());
1227
+ }
1228
+ },
1229
+ getLocaleData: {
1230
+ executeServiceCallFn: async () => {
1231
+ const oLocaleData = {
1232
+ //date format
1233
+ calendarType: Formatting.getCalendarType(),
1234
+ dateFormatShort: Formatting.getDatePattern("short"),
1235
+ dateFormatMedium: Formatting.getDatePattern("medium"),
1236
+ //number format
1237
+ numberFormatGroup: Formatting.getNumberSymbol("group"),
1238
+ numberFormatDecimal: Formatting.getNumberSymbol("decimal"),
1239
+ //time format
1240
+ timeFormatShort: Formatting.getTimePattern("short"),
1241
+ timeFormatMedium: Formatting.getTimePattern("medium"),
1242
+ //calendar customizing
1243
+ calendarMapping: Formatting.getCustomIslamicCalendarData(),
1244
+ //timezone
1245
+ timeZone: Localization.getTimezone(),
1246
+ //currency formats
1247
+ currencyFormats: Formatting.getCustomCurrencies()
1248
+ };
1249
+ return oLocaleData;
1250
+ }
1251
+ }
1252
+ }
1253
+ },
1254
+ "sap.ushell.services.UserDefaultParameters": {
1255
+ oServiceCalls: {
1256
+ getValue: {
1257
+ executeServiceCallFn: async (oServiceParams) => {
1258
+ const { sParameterName } = oServiceParams.oMessageData.body;
1259
+ const [AppLifeCycle, UserDefaultParameters] = await Promise.all([
1260
+ Container.getServiceAsync("AppLifeCycle"),
1261
+ Container.getServiceAsync("UserDefaultParameters")
1262
+ ]);
1263
+ const oSystemContext = await AppLifeCycle.getCurrentApplication().getSystemContext();
1264
+ return UserDefaultParameters.getValue(sParameterName, oSystemContext);
1265
+ }
1266
+ }
1267
+ }
1268
+ },
1269
+ "sap.ushell.services.ShellNavigation": {
1270
+ oServiceCalls: {
1271
+ toExternal: {
1272
+ executeServiceCallFn: async (oServiceParams) => {
1273
+ const { oArgs, bWriteHistory } = oServiceParams.oMessageData.body;
1274
+ const ShellNavigationInternal = await Container.getServiceAsync("ShellNavigationInternal");
1275
+
1276
+ ShellNavigationInternal.toExternal(oArgs, undefined, bWriteHistory);
1277
+ }
1278
+ },
1279
+ toAppHash: {
1280
+ executeServiceCallFn: async (oServiceParams) => {
1281
+ const { sAppHash, bWriteHistory } = oServiceParams.oMessageData.body;
1282
+ const ShellNavigationInternal = await Container.getServiceAsync("ShellNavigationInternal");
1283
+
1284
+ ShellNavigationInternal.toAppHash(sAppHash, bWriteHistory);
1285
+ }
1286
+ }
1287
+ }
1288
+ },
1289
+ "sap.ushell.services.ShellNavigationInternal": {
1290
+ oServiceCalls: {
1291
+ toExternal: {
1292
+ executeServiceCallFn: async (oServiceParams) => {
1293
+ const { oArgs, bWriteHistory } = oServiceParams.oMessageData.body;
1294
+ const ShellNavigationInternal = await Container.getServiceAsync("ShellNavigationInternal");
1295
+
1296
+ ShellNavigationInternal.toExternal(oArgs, undefined, bWriteHistory);
1297
+ }
1298
+ },
1299
+ toAppHash: {
1300
+ executeServiceCallFn: async (oServiceParams) => {
1301
+ const { sAppHash, bWriteHistory } = oServiceParams.oMessageData.body;
1302
+ const ShellNavigationInternal = await Container.getServiceAsync("ShellNavigationInternal");
1303
+
1304
+ ShellNavigationInternal.toAppHash(sAppHash, bWriteHistory);
1305
+ }
1306
+ }
1307
+ }
1308
+ },
1309
+ "sap.ushell.services.NavTargetResolution": {
1310
+ oServiceCalls: {
1311
+ getDistinctSemanticObjects: {
1312
+ executeServiceCallFn: async () => {
1313
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1314
+
1315
+ const oDeferred = NavTargetResolutionInternal.getDistinctSemanticObjects();
1316
+
1317
+ return ushellUtils.promisify(oDeferred);
1318
+ }
1319
+ },
1320
+ expandCompactHash: {
1321
+ executeServiceCallFn: async (oServiceParams) => {
1322
+ const { sHashFragment } = oServiceParams.oMessageData.body;
1323
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1324
+
1325
+ const oDeferred = NavTargetResolutionInternal.expandCompactHash(sHashFragment);
1326
+
1327
+ return ushellUtils.promisify(oDeferred);
1328
+ }
1329
+ },
1330
+ resolveHashFragment: {
1331
+ executeServiceCallFn: async (oServiceParams) => {
1332
+ const { sHashFragment } = oServiceParams.oMessageData.body;
1333
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1334
+
1335
+ const oDeferred = NavTargetResolutionInternal.resolveHashFragment(sHashFragment);
1336
+
1337
+ return ushellUtils.promisify(oDeferred);
1338
+ }
1339
+ },
1340
+ isIntentSupported: {
1341
+ executeServiceCallFn: async (oServiceParams) => {
1342
+ const { aIntents } = oServiceParams.oMessageData.body;
1343
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1344
+
1345
+ // isIntentSupported: [intent1, intent2, ...] => { intent1: result1, intent2: result2, ... }
1346
+ // isNavigationSupported: [intent1, intent2, ...] => [result1, result2, ...]
1347
+ const oDeferred = NavTargetResolutionInternal.isNavigationSupported(aIntents);
1348
+ const aResults = await ushellUtils.promisify(oDeferred);
1349
+
1350
+ return aResults.reduce((oResult, oIntentSupported, iIndex) => {
1351
+ const sIntent = aIntents[iIndex];
1352
+ oResult[sIntent] = oIntentSupported;
1353
+ return oResult;
1354
+ }, {});
1355
+ }
1356
+ },
1357
+ isNavigationSupported: {
1358
+ executeServiceCallFn: async (oServiceParams) => {
1359
+ const { aIntents } = oServiceParams.oMessageData.body;
1360
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1361
+
1362
+ const oDeferred = NavTargetResolutionInternal.isNavigationSupported(aIntents);
1363
+
1364
+ return ushellUtils.promisify(oDeferred);
1365
+ }
1366
+ }
1367
+ }
1368
+ },
1369
+ "sap.ushell.services.NavTargetResolutionInternal": {
1370
+ oServiceCalls: {
1371
+ getDistinctSemanticObjects: {
1372
+ executeServiceCallFn: async () => {
1373
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1374
+
1375
+ const oDeferred = NavTargetResolutionInternal.getDistinctSemanticObjects();
1376
+
1377
+ return ushellUtils.promisify(oDeferred);
1378
+ }
1379
+ },
1380
+ expandCompactHash: {
1381
+ executeServiceCallFn: async (oServiceParams) => {
1382
+ const { sHashFragment } = oServiceParams.oMessageData.body;
1383
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1384
+
1385
+ const oDeferred = NavTargetResolutionInternal.expandCompactHash(sHashFragment);
1386
+
1387
+ return ushellUtils.promisify(oDeferred);
1388
+ }
1389
+ },
1390
+ resolveHashFragment: {
1391
+ executeServiceCallFn: async (oServiceParams) => {
1392
+ const { sHashFragment } = oServiceParams.oMessageData.body;
1393
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1394
+
1395
+ const oDeferred = NavTargetResolutionInternal.resolveHashFragment(sHashFragment);
1396
+
1397
+ return ushellUtils.promisify(oDeferred);
1398
+ }
1399
+ },
1400
+ isIntentSupported: {
1401
+ executeServiceCallFn: async (oServiceParams) => {
1402
+ const { aIntents } = oServiceParams.oMessageData.body;
1403
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1404
+
1405
+ // isIntentSupported: [intent1, intent2, ...] => { intent1: result1, intent2: result2, ... }
1406
+ // isNavigationSupported: [intent1, intent2, ...] => [result1, result2, ...]
1407
+ const oDeferred = NavTargetResolutionInternal.isNavigationSupported(aIntents);
1408
+ const aResults = await ushellUtils.promisify(oDeferred);
1409
+
1410
+ return aResults.reduce((oResult, oIntentSupported, iIndex) => {
1411
+ const sIntent = aIntents[iIndex];
1412
+ oResult[sIntent] = oIntentSupported;
1413
+ return oResult;
1414
+ }, {});
1415
+ }
1416
+ },
1417
+ isNavigationSupported: {
1418
+ executeServiceCallFn: async (oServiceParams) => {
1419
+ const { aIntents } = oServiceParams.oMessageData.body;
1420
+ const NavTargetResolutionInternal = await Container.getServiceAsync("NavTargetResolutionInternal");
1421
+
1422
+ const oDeferred = NavTargetResolutionInternal.isNavigationSupported(aIntents);
1423
+
1424
+ return ushellUtils.promisify(oDeferred);
1425
+ }
1426
+ }
1427
+ }
1428
+ },
1429
+ "sap.ushell.services.Renderer": {
1430
+ oServiceCalls: {
1431
+ addHeaderItem: {
1432
+ executeServiceCallFn: async (oServiceParams) => {
1433
+ const { sId, sTooltip, sIcon, iFloatingNumber, bVisible, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1434
+ const FrameBoundExtension = await Container.getServiceAsync("FrameBoundExtension");
1435
+
1436
+ const oItem = await FrameBoundExtension.createHeaderItem({
1437
+ id: sId,
1438
+ tooltip: sTooltip,
1439
+ icon: sIcon,
1440
+ floatingNumber: iFloatingNumber,
1441
+ press: async function () {
1442
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
1443
+
1444
+ PostMessageUtils.postMessageToIframeApp(
1445
+ oServiceParams.oContainer,
1446
+ "sap.ushell.appRuntime",
1447
+ "buttonClick",
1448
+ { buttonId: sId }
1449
+ );
1450
+ }
1451
+ }, {
1452
+ position: "begin"
1453
+ });
1454
+
1455
+ storeItem(sId, oItem);
1456
+ applyItemVisibility(oItem, bVisible, bCurrentState, aStates);
1457
+ }
1458
+ },
1459
+
1460
+ addHeaderEndItem: {
1461
+ executeServiceCallFn: async (oServiceParams) => {
1462
+ const { sId, sTooltip, sIcon, iFloatingNumber, bVisible, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1463
+ const FrameBoundExtension = await Container.getServiceAsync("FrameBoundExtension");
1464
+
1465
+ const oItem = await FrameBoundExtension.createHeaderItem({
1466
+ id: sId,
1467
+ tooltip: sTooltip,
1468
+ icon: sIcon,
1469
+ floatingNumber: iFloatingNumber,
1470
+ press: async function () {
1471
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
1472
+
1473
+ PostMessageUtils.postMessageToIframeApp(
1474
+ oServiceParams.oContainer,
1475
+ "sap.ushell.appRuntime",
1476
+ "buttonClick",
1477
+ { buttonId: sId }
1478
+ );
1479
+ }
1480
+ }, {
1481
+ position: "end"
1482
+ });
1483
+
1484
+ storeItem(sId, oItem);
1485
+ applyItemVisibility(oItem, bVisible, bCurrentState, aStates);
1486
+ }
1487
+ },
1488
+
1489
+ showHeaderItem: {
1490
+ executeServiceCallFn: async (oServiceParams) => {
1491
+ const { aIds: vIds, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1492
+
1493
+ const aIds = Array.isArray(vIds) ? vIds : [vIds];
1494
+
1495
+ visitItems(aIds, (oItem) => {
1496
+ applyItemVisibility(oItem, true, bCurrentState, aStates);
1497
+ });
1498
+ }
1499
+ },
1500
+ showHeaderEndItem: {
1501
+ executeServiceCallFn: async (oServiceParams) => {
1502
+ const { aIds: vIds, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1503
+
1504
+ const aIds = Array.isArray(vIds) ? vIds : [vIds];
1505
+
1506
+ visitItems(aIds, (oItem) => {
1507
+ applyItemVisibility(oItem, true, bCurrentState, aStates);
1508
+ });
1509
+ }
1510
+ },
1511
+ hideHeaderItem: {
1512
+ executeServiceCallFn: async (oServiceParams) => {
1513
+ const { aIds: vIds, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1514
+
1515
+ const aIds = Array.isArray(vIds) ? vIds : [vIds];
1516
+
1517
+ visitItems(aIds, (oItem) => {
1518
+ applyItemVisibility(oItem, false, bCurrentState, aStates);
1519
+ });
1520
+ }
1521
+ },
1522
+ hideHeaderEndItem: {
1523
+ executeServiceCallFn: async (oServiceParams) => {
1524
+ const { aIds: vIds, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1525
+
1526
+ const aIds = Array.isArray(vIds) ? vIds : [vIds];
1527
+
1528
+ visitItems(aIds, (oItem) => {
1529
+ applyItemVisibility(oItem, false, bCurrentState, aStates);
1530
+ });
1531
+ }
1532
+ },
1533
+ setHeaderTitle: { // secondTitle
1534
+ executeServiceCallFn: async (oServiceParams) => {
1535
+ const { sTitle } = oServiceParams.oMessageData.body;
1536
+ const Extension = await Container.getServiceAsync("Extension");
1537
+
1538
+ Extension.setSecondTitle(sTitle);
1539
+ }
1540
+ },
1541
+ setHeaderVisibility: {
1542
+ executeServiceCallFn: async (oServiceParams) => {
1543
+ const { bVisible, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1544
+ const oRenderer = Container.getRendererInternal("fiori2");
1545
+
1546
+ oRenderer.setHeaderVisibility(bVisible, !!bCurrentState, aStates);
1547
+ }
1548
+ },
1549
+ createShellHeadItem: {
1550
+ executeServiceCallFn: async (oServiceParams) => {
1551
+ const { params } = oServiceParams.oMessageData.body;
1552
+ params.press = async function () {
1553
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
1554
+
1555
+ PostMessageUtils.postMessageToIframeApp(
1556
+ oServiceParams.oContainer,
1557
+ "sap.ushell.appRuntime",
1558
+ "buttonClick",
1559
+ { buttonId: params.id }
1560
+ );
1561
+ };
1562
+ // eslint-disable-next-line no-new
1563
+ new ShellHeadItem(params);
1564
+ }
1565
+ },
1566
+ showActionButton: {
1567
+ executeServiceCallFn: async (oServiceParams) => {
1568
+ const { aIds: vIds, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1569
+
1570
+ const aIds = Array.isArray(vIds) ? vIds : [vIds];
1571
+
1572
+ visitItems(aIds, (oItem) => {
1573
+ applyItemVisibility(oItem, true, bCurrentState, aStates);
1574
+ });
1575
+ }
1576
+ },
1577
+ hideActionButton: {
1578
+ executeServiceCallFn: async (oServiceParams) => {
1579
+ const { aIds: vIds, bCurrentState, aStates } = oServiceParams.oMessageData.body;
1580
+
1581
+ const aIds = Array.isArray(vIds) ? vIds : [vIds];
1582
+
1583
+ visitItems(aIds, (oItem) => {
1584
+ applyItemVisibility(oItem, false, bCurrentState, aStates);
1585
+ });
1586
+ }
1587
+ },
1588
+ addUserAction: {
1589
+ executeServiceCallFn: async (oServiceParams) => {
1590
+ const { controlType, oControlProperties, bIsVisible, bCurrentState, aStates } = oServiceParams.oMessageData.body.oParameters;
1591
+ const Extension = await Container.getServiceAsync("Extension");
1592
+
1593
+ oControlProperties.press = async function () {
1594
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
1595
+
1596
+ PostMessageUtils.postMessageToIframeApp(
1597
+ oServiceParams.oContainer,
1598
+ "sap.ushell.appRuntime",
1599
+ "buttonClick",
1600
+ { buttonId: oControlProperties.id }
1601
+ );
1602
+ };
1603
+
1604
+ const oItem = await Extension.createUserAction(oControlProperties, {
1605
+ controlType
1606
+ });
1607
+
1608
+ storeItem(oControlProperties.id, oItem);
1609
+ applyItemVisibility(oItem, bIsVisible, bCurrentState, aStates);
1610
+ }
1611
+ },
1612
+ addOptionsActionSheetButton: {
1613
+ executeServiceCallFn: async (oServiceParams) => {
1614
+ const vButtons = oServiceParams.oMessageData.body;
1615
+ const Extension = await Container.getServiceAsync("Extension");
1616
+
1617
+ const aButtons = Array.isArray(vButtons) ? vButtons : [vButtons];
1618
+
1619
+ aButtons.forEach(async (oButton) => {
1620
+ destroyControl(oButton.id);
1621
+
1622
+ // eslint-disable-next-line no-new
1623
+ new Button({
1624
+ id: oButton.id,
1625
+ text: oButton.text,
1626
+ icon: oButton.icon,
1627
+ tooltip: oButton.tooltip,
1628
+ press: async function () {
1629
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
1630
+
1631
+ PostMessageUtils.postMessageToIframeApp(
1632
+ oServiceParams.oContainer,
1633
+ "sap.ushell.appRuntime",
1634
+ "buttonClick",
1635
+ { buttonId: oButton.id }
1636
+ );
1637
+ }
1638
+ });
1639
+
1640
+ const oItem = await Extension.createUserAction({
1641
+ id: oButton.id
1642
+ });
1643
+
1644
+ storeItem(oButton.id, oItem);
1645
+ applyItemVisibility(oItem, true, true, oButton.aStates);
1646
+ });
1647
+ }
1648
+ },
1649
+ removeOptionsActionSheetButton: {
1650
+ executeServiceCallFn: async (oServiceParams) => {
1651
+ const vButtons = oServiceParams.oMessageData.body;
1652
+
1653
+ const aButtons = Array.isArray(vButtons) ? vButtons : [vButtons];
1654
+
1655
+ aButtons.forEach((oButton) => {
1656
+ const oItem = getItem(oButton.id);
1657
+ if (oItem) {
1658
+ applyItemVisibility(oItem, false, true, oButton.aStates);
1659
+
1660
+ return destroyControl(oButton.id);
1661
+ }
1662
+ Log.warning(`User action with id ${oButton.id} not found`);
1663
+ });
1664
+ }
1665
+ },
1666
+ updateHeaderItem: {
1667
+ executeServiceCallFn: async (oServiceParams) => {
1668
+ const { sId, oControlProperties } = oServiceParams.oMessageData.body;
1669
+
1670
+ // we only support update of floatingNumber
1671
+ if (!Object.hasOwn(oControlProperties, "floatingNumber")) {
1672
+ return;
1673
+ }
1674
+
1675
+ const oItem = getItem(sId);
1676
+
1677
+ if (oItem?.getControl) {
1678
+ const oControl = await oItem.getControl();
1679
+ oControl?.setFloatingNumber?.(oControlProperties.floatingNumber);
1680
+ }
1681
+ }
1682
+ },
1683
+ destroyButton: {
1684
+ executeServiceCallFn: async (oServiceParams) => {
1685
+ const { aIds: vIds } = oServiceParams.oMessageData.body;
1686
+
1687
+ const aIds = Array.isArray(vIds) ? vIds : [vIds];
1688
+
1689
+ aIds.forEach((sId) => {
1690
+ destroyControl(sId);
1691
+ });
1692
+ }
1693
+ }
1694
+ }
1695
+ },
1696
+ "sap.ushell.services.Extension": {
1697
+ oServiceCalls: {
1698
+ createHeaderItem: {
1699
+ executeServiceCallFn: async (oServiceParams) => {
1700
+ const { controlProperties, events, parameters } = oServiceParams.oMessageData.body;
1701
+ const sItemId = generateItemId();
1702
+
1703
+ events.forEach((sEventName) => {
1704
+ controlProperties[sEventName] = async function () {
1705
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
1706
+
1707
+ PostMessageUtils.postMessageToIframeApp(
1708
+ oServiceParams.oContainer,
1709
+ "sap.ushell.services.Extension",
1710
+ "handleControlEvent", {
1711
+ eventName: sEventName,
1712
+ itemId: sItemId
1713
+ }
1714
+ );
1715
+ };
1716
+ });
1717
+
1718
+ const Extension = await Container.getServiceAsync("Extension");
1719
+ const oItem = await Extension.createHeaderItem(controlProperties, parameters);
1720
+ storeItem(sItemId, oItem);
1721
+
1722
+ return {
1723
+ itemId: sItemId
1724
+ };
1725
+ }
1726
+ },
1727
+ createUserAction: {
1728
+ executeServiceCallFn: async (oServiceParams) => {
1729
+ const { controlProperties, events, parameters } = oServiceParams.oMessageData.body;
1730
+ const sItemId = generateItemId();
1731
+
1732
+ events.forEach((sEventName) => {
1733
+ controlProperties[sEventName] = async function () {
1734
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
1735
+
1736
+ PostMessageUtils.postMessageToIframeApp(
1737
+ oServiceParams.oContainer,
1738
+ "sap.ushell.services.Extension",
1739
+ "handleControlEvent",
1740
+ {
1741
+ eventName: sEventName,
1742
+ itemId: sItemId
1743
+ }
1744
+ );
1745
+ };
1746
+ });
1747
+
1748
+ const Extension = await Container.getServiceAsync("Extension");
1749
+ const oItem = await Extension.createUserAction(controlProperties, parameters);
1750
+ storeItem(sItemId, oItem);
1751
+
1752
+ return {
1753
+ itemId: sItemId
1754
+ };
1755
+ }
1756
+ },
1757
+ "Item.destroy": {
1758
+ executeServiceCallFn: async (oServiceParams) => {
1759
+ const { itemId } = oServiceParams.oMessageData.body;
1760
+
1761
+ const oItem = getItem(itemId);
1762
+ if (oItem?.destroy) {
1763
+ oItem.destroy();
1764
+ removeItem(itemId);
1765
+ }
1766
+ }
1767
+ },
1768
+ "Item.showForCurrentApp": {
1769
+ executeServiceCallFn: async (oServiceParams) => {
1770
+ const { itemId } = oServiceParams.oMessageData.body;
1771
+
1772
+ const oItem = getItem(itemId);
1773
+ if (oItem?.showForCurrentApp) {
1774
+ oItem.showForCurrentApp();
1775
+ }
1776
+ }
1777
+ },
1778
+ "Item.hideForCurrentApp": {
1779
+ executeServiceCallFn: async (oServiceParams) => {
1780
+ const { itemId } = oServiceParams.oMessageData.body;
1781
+
1782
+ const oItem = getItem(itemId);
1783
+ if (oItem?.hideForCurrentApp) {
1784
+ oItem.hideForCurrentApp();
1785
+ }
1786
+ }
1787
+ },
1788
+ "Item.showForAllApps": {
1789
+ executeServiceCallFn: async (oServiceParams) => {
1790
+ const { itemId } = oServiceParams.oMessageData.body;
1791
+
1792
+ const oItem = getItem(itemId);
1793
+ if (oItem?.showForAllApps) {
1794
+ oItem.showForAllApps();
1795
+ }
1796
+ }
1797
+ },
1798
+ "Item.hideForAllApps": {
1799
+ executeServiceCallFn: async (oServiceParams) => {
1800
+ const { itemId } = oServiceParams.oMessageData.body;
1801
+
1802
+ const oItem = getItem(itemId);
1803
+ if (oItem?.hideForAllApps) {
1804
+ oItem.hideForAllApps();
1805
+ }
1806
+ }
1807
+ },
1808
+ "Item.showOnHome": {
1809
+ executeServiceCallFn: async (oServiceParams) => {
1810
+ const { itemId } = oServiceParams.oMessageData.body;
1811
+
1812
+ const oItem = getItem(itemId);
1813
+ if (oItem?.showOnHome) {
1814
+ oItem.showOnHome();
1815
+ }
1816
+ }
1817
+ },
1818
+ "Item.hideOnHome": {
1819
+ executeServiceCallFn: async (oServiceParams) => {
1820
+ const { itemId } = oServiceParams.oMessageData.body;
1821
+
1822
+ const oItem = getItem(itemId);
1823
+ if (oItem?.hideOnHome) {
1824
+ oItem.hideOnHome();
1825
+ }
1826
+ }
1827
+ },
1828
+ setSecondTitle: {
1829
+ executeServiceCallFn: async (oServiceParams) => {
1830
+ const { title } = oServiceParams.oMessageData.body;
1831
+ const Extension = await Container.getServiceAsync("Extension");
1832
+
1833
+ return Extension.setSecondTitle(title);
1834
+ }
1835
+ }
1836
+ }
1837
+ },
1838
+ "sap.ushell.services.LaunchPage": {
1839
+ oServiceCalls: {
1840
+ getGroupsForBookmarks: {
1841
+ executeServiceCallFn: async () => {
1842
+ /**
1843
+ * @deprecated since 1.120 Classic homepage is deprecated.
1844
+ */ // eslint-disable-next-line no-constant-condition
1845
+ if (true) {
1846
+ const FlpLaunchPage = await Container.getServiceAsync("FlpLaunchPage");
1847
+
1848
+ const oDeferred = FlpLaunchPage.getGroupsForBookmarks();
1849
+
1850
+ return ushellUtils.promisify(oDeferred);
1851
+ }
1852
+
1853
+ throw new Error("LaunchPage.getGroupsForBookmarks is deprecated. Please use BookmarkV2.getContentNodes instead.");
1854
+ }
1855
+ }
1856
+ }
1857
+ },
1858
+ "sap.ushell.services.Menu": {
1859
+ oServiceCalls: {
1860
+ getSpacesPagesHierarchy: {
1861
+ executeServiceCallFn: async () => {
1862
+ const Menu = await Container.getServiceAsync("Menu");
1863
+
1864
+ const aContentNodes = Menu.getContentNodes([ContentNodeType.Space, ContentNodeType.Page]);
1865
+
1866
+ return aContentNodes.map(({ id: spaceId, label: spaceLabel, children }) => {
1867
+ return {
1868
+ id: spaceId,
1869
+ title: spaceLabel,
1870
+ pages: (children || []).map(({ id: pageId, label: pageLabel }) => {
1871
+ return {
1872
+ id: pageId,
1873
+ title: pageLabel
1874
+ };
1875
+ })
1876
+ };
1877
+ });
1878
+ }
1879
+ }
1880
+ }
1881
+ },
1882
+ "sap.ushell.services.CommonDataModel": {
1883
+ oServiceCalls: {
1884
+ getAllPages: {
1885
+ executeServiceCallFn: async () => {
1886
+ const CommonDataModel = await Container.getServiceAsync("CommonDataModel");
1887
+
1888
+ return CommonDataModel.getAllPages();
1889
+ }
1890
+ }
1891
+ }
1892
+ },
1893
+ "sap.ushell.services.UITracer": {
1894
+ oServiceCalls: {
1895
+ trace: {
1896
+ executeServiceCallFn: async (oServiceParams) => {
1897
+ const { trace } = oServiceParams.oMessageData.body;
1898
+ await Container.getServiceAsync("UITracer");
1899
+
1900
+ EventHub.emit("UITracer.trace", trace);
1901
+ }
1902
+ }
1903
+ }
1904
+ },
1905
+ "sap.ushell.services.MessageBroker": {
1906
+ oServiceCalls: {
1907
+ _execute: {
1908
+ executeServiceCallFn: async (oServiceParams) => {
1909
+ if (Config.last("/core/shell/enableMessageBroker")) {
1910
+ await Container.getServiceAsync("MessageBroker");
1911
+ const [MessageBrokerEngine] = await ushellUtils.requireAsync(["sap/ushell/services/MessageBroker/MessageBrokerEngine"]);
1912
+
1913
+ return MessageBrokerEngine.processPostMessage(oServiceParams);
1914
+ }
1915
+ return {};
1916
+ }
1917
+ }
1918
+ }
1919
+ },
1920
+ "sap.ushell.services.SearchableContent": {
1921
+ oServiceCalls: {
1922
+ getApps: {
1923
+ executeServiceCallFn: async (oServiceParams) => {
1924
+ const oOptions = oServiceParams?.oMessageData?.body?.oOptions || {};
1925
+ const SearchableContent = await Container.getServiceAsync("SearchableContent");
1926
+
1927
+ return SearchableContent.getApps(oOptions);
1928
+ }
1929
+ }
1930
+ }
1931
+ },
1932
+ "sap.ushell.services.ReferenceResolver": {
1933
+ oServiceCalls: {
1934
+ resolveReferences: {
1935
+ executeServiceCallFn: async (oServiceParams) => {
1936
+ const { aReferences } = oServiceParams.oMessageData.body;
1937
+ const ReferenceResolver = await Container.getServiceAsync("ReferenceResolver");
1938
+
1939
+ return ReferenceResolver.resolveReferences(aReferences);
1940
+ }
1941
+ }
1942
+ }
1943
+ }
1944
+ };
1945
+
1946
+ /**
1947
+ * @private
1948
+ */
1949
+ function PostMessageAPI () {
1950
+ /**
1951
+ * @private
1952
+ */
1953
+ this._getBrowserURL = function () {
1954
+ return document.URL;
1955
+ };
1956
+
1957
+ //check that all APIs start with "sap.ushell". FLP will not
1958
+ // start successfully if this is not the case
1959
+ Object.keys(oAPIs).forEach((sKey) => {
1960
+ if (sKey.indexOf(SAP_API_PREFIX) !== 0) {
1961
+ throw new Error(`All Post Message APIs must start with '${SAP_API_PREFIX}' - ${sKey}`);
1962
+ }
1963
+ });
1964
+
1965
+ PostMessageAPIInterface.init(
1966
+ true,
1967
+ PostMessageAPI.prototype.registerShellCommunicationHandler.bind(this)
1968
+ );
1969
+ }
1970
+
1971
+ /**
1972
+ * @private
1973
+ */
1974
+ PostMessageAPI.prototype.getAPIs = function () {
1975
+ return oAPIs;
1976
+ };
1977
+
1978
+ /**
1979
+ * @private
1980
+ */
1981
+ function addShellCommunicationHandler (sKey, oCommunicationEntry) {
1982
+ //only one entry is possible in oCommunicationHandler because we got here from registerShellCommunicationHandler!
1983
+ const oCommObject = oAPIs[sKey];
1984
+
1985
+ //We have the entry just update it
1986
+ if (oCommObject) {
1987
+ //add the communication handler to that entry
1988
+ if (oCommunicationEntry.oServiceCalls) {
1989
+ Object.keys(oCommunicationEntry.oServiceCalls).forEach((key) => {
1990
+ oCommObject.oServiceCalls[key] = oCommunicationEntry.oServiceCalls[key];
1991
+ });
1992
+ }
1993
+
1994
+ if (!oCommObject.oRequestCalls) {
1995
+ oCommObject.oRequestCalls = {};
1996
+ }
1997
+
1998
+ if (oCommunicationEntry.oRequestCalls) {
1999
+ Object.keys(oCommunicationEntry.oRequestCalls).forEach((key) => {
2000
+ oCommObject.oRequestCalls[key] = oCommunicationEntry.oRequestCalls[key];
2001
+ });
2002
+ }
2003
+ return;
2004
+ }
2005
+
2006
+ //create a new entry..
2007
+ const oNewCommEntry = {
2008
+ oRequestCalls: {},
2009
+ oServiceCalls: {}
2010
+ };
2011
+
2012
+ if (oCommunicationEntry.oServiceCalls) {
2013
+ Object.keys(oCommunicationEntry.oServiceCalls).forEach((key) => {
2014
+ oNewCommEntry.oServiceCalls[key] = oCommunicationEntry.oServiceCalls[key];
2015
+ });
2016
+ }
2017
+
2018
+ if (oCommunicationEntry.oRequestCalls) {
2019
+ Object.keys(oCommunicationEntry.oRequestCalls).forEach((key) => {
2020
+ oNewCommEntry.oRequestCalls[key] = oCommunicationEntry.oRequestCalls[key];
2021
+ });
2022
+ }
2023
+
2024
+ oAPIs[sKey] = oNewCommEntry;
2025
+ }
2026
+
2027
+ /**
2028
+ * @private
2029
+ */
2030
+ PostMessageAPI.prototype._getPostMesageInterface = function (sServiceName, sInterface) {
2031
+ const oShellCommunicationHandlersObj = this.getAPIs();
2032
+
2033
+ if (oShellCommunicationHandlersObj[sServiceName]) {
2034
+ const oCommHandlerService = oShellCommunicationHandlersObj[sServiceName];
2035
+ if (oCommHandlerService?.oRequestCalls?.[sInterface]) {
2036
+ return oCommHandlerService.oRequestCalls[sInterface];
2037
+ }
2038
+ }
2039
+ };
2040
+
2041
+ /**
2042
+ * @private
2043
+ */
2044
+ PostMessageAPI.prototype.registerShellCommunicationHandler = function (oCommunicationHandler) {
2045
+ Object.keys(oCommunicationHandler).forEach((sKey) => {
2046
+ addShellCommunicationHandler(sKey, oCommunicationHandler[sKey]);
2047
+ });
2048
+ };
2049
+
2050
+ /**
2051
+ * @private
2052
+ */
2053
+ PostMessageAPI.prototype.isActiveOnly = function (sServiceName, sInterface) {
2054
+ const oCommandInterface = this._getPostMesageInterface(sServiceName, sInterface);
2055
+
2056
+ if (oCommandInterface) {
2057
+ return oCommandInterface.isActiveOnly;
2058
+ }
2059
+ };
2060
+
2061
+ /**
2062
+ * @private
2063
+ */
2064
+ PostMessageAPI.prototype._createNewInnerAppState = async function (oServiceParams) {
2065
+ const { sData } = oServiceParams.oMessageData.body;
2066
+ let oValue;
2067
+
2068
+ if (sData !== undefined) {
2069
+ try {
2070
+ oValue = JSON.parse(sData);
2071
+ } catch (e) {
2072
+ oValue = sData;
2073
+ }
2074
+ } else {
2075
+ oValue = "";
2076
+ }
2077
+
2078
+ const AppState = await Container.getServiceAsync("AppState");
2079
+ const oNewAppState = AppState.createEmptyAppState();
2080
+
2081
+ oNewAppState.setData(oValue);
2082
+ oNewAppState.save();
2083
+ const sNewAppStateKey = oNewAppState.getKey();
2084
+
2085
+ let sHash = hasher.getHash();
2086
+ if (sHash.indexOf("&/") > 0) {
2087
+ if (sHash.indexOf("sap-iapp-state=") > 0) {
2088
+ const sCurrAppStateKey = /(?:sap-iapp-state=)([^&/]+)/.exec(sHash)[1];
2089
+ sHash = sHash.replace(sCurrAppStateKey, sNewAppStateKey);
2090
+ } else {
2091
+ sHash = `${sHash}/sap-iapp-state=${sNewAppStateKey}`;
2092
+ }
2093
+ } else {
2094
+ sHash = `${sHash}&/sap-iapp-state=${sNewAppStateKey}`;
2095
+ }
2096
+
2097
+ hasher.disableBlueBoxHashChangeTrigger = true;
2098
+ hasher.replaceHash(sHash);
2099
+ hasher.disableBlueBoxHashChangeTrigger = false;
2100
+
2101
+ return sNewAppStateKey;
2102
+ };
2103
+
2104
+ /**
2105
+ * Destroys a control by its ID.
2106
+ * Does nothing if the control does not exist.
2107
+ * @param {string} sControlId The ID of the control.
2108
+ *
2109
+ * @since 1.125.0
2110
+ * @private
2111
+ */
2112
+ function destroyControl (sControlId) {
2113
+ const oControl = Element.getElementById(sControlId);
2114
+ if (oControl?.destroy) {
2115
+ oControl.destroy();
2116
+ }
2117
+ }
2118
+
2119
+ /**
2120
+ * Applies the visibility of an item according to the fiori2 renderer logic.
2121
+ * @param {sap.ushell.services.Extension.Item|sap.ushell.services.FrameBoundExtension.Item} oItem The extension item.
2122
+ * @param {boolean} bVisible The visibility for the item.
2123
+ * @param {boolean} bCurrentState Wether the visibility applies to the current state.
2124
+ * @param {sap.ushell.renderer.Renderer.LaunchpadState[]} aStates The desired launchpad states.
2125
+ *
2126
+ * @since 1.125.0
2127
+ * @private
2128
+ */
2129
+ function applyItemVisibility (oItem, bVisible, bCurrentState, aStates) {
2130
+ /* eslint-disable no-unused-expressions */
2131
+ if (bCurrentState) {
2132
+ bVisible ? oItem.showForCurrentApp() : oItem.hideForCurrentApp();
2133
+ } else {
2134
+ bVisible ? oItem.hideForCurrentApp() : oItem.showForCurrentApp();
2135
+
2136
+ // aStates is only evaluated if bCurrentState is false
2137
+ if (Array.isArray(aStates)) {
2138
+ if (aStates.includes("app")) {
2139
+ bVisible ? oItem.showForAllApps() : oItem.hideForAllApps();
2140
+ } else {
2141
+ bVisible ? oItem.hideForAllApps() : oItem.showForAllApps();
2142
+ }
2143
+ if (aStates.includes("home")) {
2144
+ bVisible ? oItem.showOnHome() : oItem.hideOnHome();
2145
+ } else {
2146
+ bVisible ? oItem.hideOnHome() : oItem.showOnHome();
2147
+ }
2148
+ }
2149
+ }
2150
+ /* eslint-enable no-unused-expressions */
2151
+ }
2152
+
2153
+ const oItemMap = {};
2154
+
2155
+ /**
2156
+ * Generates a unique ID for an item.
2157
+ * @returns {string} A unique ID.
2158
+ *
2159
+ * @see sap.ushell.services.Extension.Item
2160
+ * @see sap.ushell.services.FrameBoundExtension.Item
2161
+ *
2162
+ * @since 1.124.0
2163
+ * @private
2164
+ */
2165
+ function generateItemId () {
2166
+ const sItemId = fnGetUid();
2167
+ if (Object.hasOwn(oItemMap, sItemId)) {
2168
+ return generateItemId();
2169
+ }
2170
+ // reserve the item ID in the map to avoid duplicates
2171
+ oItemMap[sItemId] = null;
2172
+ return sItemId;
2173
+ }
2174
+
2175
+ /**
2176
+ * Stores the Item object by its ID.
2177
+ * @param {*} sItemId The ID of the item.
2178
+ * @param {object} oItem The item object.
2179
+ *
2180
+ * @see sap.ushell.services.Extension.Item
2181
+ * @see sap.ushell.services.FrameBoundExtension.Item
2182
+ *
2183
+ * @since 1.124.0
2184
+ * @private
2185
+ */
2186
+ function storeItem (sItemId, oItem) {
2187
+ oItemMap[sItemId] = oItem;
2188
+ }
2189
+
2190
+ /**
2191
+ * Returns the Item object by its ID.
2192
+ * @param {string} sItemId The ID of the item.
2193
+ * @returns {object} The item object.
2194
+ *
2195
+ * @see sap.ushell.services.Extension.Item
2196
+ * @see sap.ushell.services.FrameBoundExtension.Item
2197
+ *
2198
+ * @since 1.124.0
2199
+ * @private
2200
+ */
2201
+ function getItem (sItemId) {
2202
+ return oItemMap[sItemId];
2203
+ }
2204
+
2205
+ /**
2206
+ * Removes the Item object by its ID.
2207
+ * @param {string} sItemId The ID of the item.
2208
+ *
2209
+ * @see sap.ushell.services.Extension.Item
2210
+ * @see sap.ushell.services.FrameBoundExtension.Item
2211
+ *
2212
+ * @since 1.124.0
2213
+ * @private
2214
+ */
2215
+ function removeItem (sItemId) {
2216
+ delete oItemMap[sItemId];
2217
+ }
2218
+
2219
+ /**
2220
+ * Visits each item by its ID and calls a callback function.
2221
+ * Ignores items that are not found.
2222
+ * @param {string[]} aIds The ids of the items to visit
2223
+ * @param {function} fnCallback The callback function to call for each item
2224
+ *
2225
+ * @since 1.125.0
2226
+ * @private
2227
+ */
2228
+ function visitItems (aIds, fnCallback) {
2229
+ aIds.forEach((sId) => {
2230
+ const oItem = getItem(sId);
2231
+ if (oItem) {
2232
+ fnCallback(oItem);
2233
+ } else {
2234
+ Log.warning(`Item with id ${sId} not found`);
2235
+ }
2236
+ });
2237
+ }
2238
+
2239
+ /**
2240
+ * @private
2241
+ */
2242
+ PostMessageAPI.prototype.registerAsyncDirtyStateProvider = function (oServiceParams) {
2243
+ Container.setAsyncDirtyStateProvider(async function (oNavigationContext) {
2244
+ const [PostMessageUtils] = await ushellUtils.requireAsync(["sap/ushell/components/applicationIntegration/application/PostMessageUtils"]);
2245
+
2246
+ //safety check in case post message does not get result
2247
+ const oNativeDeferred = new Deferred();
2248
+ const backupTimer = setTimeout(() => {
2249
+ oNativeDeferred.resolve(false);
2250
+ }, 2500);
2251
+
2252
+ PostMessageUtils.postMessageToIframeApp(
2253
+ oServiceParams.oContainer,
2254
+ "sap.ushell.appRuntime",
2255
+ "handleDirtyStateProvider",
2256
+ { oNavigationContext: oNavigationContext },
2257
+ true
2258
+ ).then((oResponse) => {
2259
+ if (backupTimer) {
2260
+ clearTimeout(backupTimer);
2261
+ }
2262
+
2263
+ oNativeDeferred.resolve(oResponse?.body?.result || false);
2264
+ });
2265
+
2266
+ return oNativeDeferred.promise;
2267
+ });
2268
+ };
2269
+
2270
+ /**
2271
+ * @private
2272
+ */
2273
+ PostMessageAPI.prototype.deregisterAsyncDirtyStateProvider = function () {
2274
+ Container.setAsyncDirtyStateProvider();
2275
+ };
2276
+
2277
+ /**
2278
+ * @private
2279
+ */
2280
+ PostMessageAPI.prototype._sendEmail = async function (sTo = "", sSubject = "", sBody = "", sCc = "", sBcc = "", sIFrameURL, bSetAppStateToPublic) {
2281
+ let sFLPUrl = (this._getBrowserURL && this._getBrowserURL()) || document.URL;
2282
+
2283
+ function replaceIframeUrlToFLPUrl (sIFrameURL1, sFLPUrl1, sXStateKey, sIStateKey, sXStateKeyNew, sIStateKeyNew) {
2284
+ //replace iframe url with flp url
2285
+ sSubject = sSubject.includes(sIFrameURL1) ? sSubject.replace(sIFrameURL1, sFLPUrl1) : sSubject;
2286
+ sBody = sBody.includes(sIFrameURL1) ? sBody.replace(sIFrameURL1, sFLPUrl1) : sBody;
2287
+
2288
+ //for cases where we do not find iframe url, replace the app state keys
2289
+ if (sXStateKey && sXStateKeyNew) {
2290
+ sSubject = sSubject.includes(sXStateKey) ? sSubject.replaceAll(sXStateKey, sXStateKeyNew) : sSubject;
2291
+ sBody = sBody.includes(sXStateKey) ? sBody.replaceAll(sXStateKey, sXStateKeyNew) : sBody;
2292
+ }
2293
+
2294
+ if (sIStateKey && sIStateKeyNew) {
2295
+ sSubject = sSubject.includes(sIStateKey) ? sSubject.replaceAll(sIStateKey, sIStateKeyNew) : sSubject;
2296
+ sBody = sBody.includes(sIStateKey) ? sBody.replaceAll(sIStateKey, sIStateKeyNew) : sBody;
2297
+ }
2298
+
2299
+ }
2300
+
2301
+ if (bSetAppStateToPublic) {
2302
+ const oAppStateService = await Container.getServiceAsync("AppState");
2303
+ oAppStateService.setAppStateToPublic(sIFrameURL).then((sNewURL, sXStateKey, sIStateKey, sXStateKeyNew = "", sIStateKeyNew = "") => {
2304
+ if (sXStateKeyNew) {
2305
+ sFLPUrl = sFLPUrl.replace(sXStateKey, sXStateKeyNew);
2306
+ }
2307
+ if (sIStateKeyNew) {
2308
+ sFLPUrl = sFLPUrl.replace(sIStateKey, sIStateKeyNew);
2309
+ }
2310
+ //check if the subject or the body of the email contain the IFrame URL
2311
+ replaceIframeUrlToFLPUrl(sIFrameURL, sFLPUrl, sXStateKey, sIStateKey, sXStateKeyNew, sIStateKeyNew);
2312
+ URLHelper.triggerEmail(sTo, sSubject, sBody, sCc, sBcc);
2313
+ }, Log.error);
2314
+ } else {
2315
+ //check if the subject or the body of the email contain the IFrame URL
2316
+ replaceIframeUrlToFLPUrl(sIFrameURL, sFLPUrl);
2317
+ URLHelper.triggerEmail(sTo, sSubject, sBody, sCc, sBcc);
2318
+ }
2319
+ };
2320
+
2321
+ /**
2322
+ * Helper function for removing the service URL of dynamic bookmark tiles
2323
+ * if the bookmark is created from a local service provider
2324
+ * <p>
2325
+ * This is a short-term mitigation for customer incident 57472/2021.
2326
+ * The service URLs for dynamic tiles created as bookmark for apps created
2327
+ * locally on CF (either manually or deployed to the local HTML5 repo) cannot
2328
+ * be correctly constructed, because the path prefix cannot be resolved.
2329
+ * As intermediate workaround, we remove the service URL to avoid the display
2330
+ * of the ERROR state.
2331
+ *
2332
+ * @private
2333
+ * @param {object} oParameters parameters for bookmark creation
2334
+ * @param {object} oSystemContext the system context for bookmark creation
2335
+ */
2336
+ PostMessageAPI.prototype._stripBookmarkServiceUrlForLocalContentProvider = function (oParameters, oSystemContext) {
2337
+ if (!oParameters || !oParameters.serviceUrl || !oSystemContext) {
2338
+ return;
2339
+ }
2340
+
2341
+ if (oSystemContext.id === "" || oSystemContext.id === "saas_approuter") {
2342
+ oParameters.serviceUrl = undefined;
2343
+
2344
+ Log.warning("Dynamic data bookmarks tiles are not supported for local content providers",
2345
+ null, "sap/ushell/components/applicationIntegration/application/PostMessageAPI");
2346
+ }
2347
+ };
2348
+
2349
+ /**
2350
+ * Callback for the back button registered via
2351
+ * <code>sap.ushell.ui5service.ShellUIService#setBackNavigation</code>
2352
+ *
2353
+ * Sends a postMessage request to the source window for triggering the
2354
+ * back navigation in the application.
2355
+ *
2356
+ * @param {object} oSourceWindow
2357
+ * the source window object
2358
+ * @param {string} sServiceName
2359
+ * the service name returned from the previous setBackNavigation
2360
+ * postMessage request
2361
+ * @param {string} sOrigin
2362
+ * a string identifying the origin where the message is sent from
2363
+ */
2364
+ PostMessageAPI.prototype._backButtonPressedCallback = function (oSourceWindow, sServiceName, sOrigin) {
2365
+ const sRequestData = JSON.stringify({
2366
+ type: "request",
2367
+ service: sServiceName,
2368
+ request_id: fnGetUid(),
2369
+ body: {}
2370
+ });
2371
+
2372
+ Log.debug(
2373
+ `Sending post message request to origin ' ${sOrigin}': ${sRequestData}`,
2374
+ null,
2375
+ "sap.ushell.components.container.ApplicationContainer"
2376
+ );
2377
+
2378
+ oSourceWindow.postMessage(sRequestData, sOrigin);
2379
+ };
2380
+
2381
+ return new PostMessageAPI();
2382
+ });