@sapui5/sap.ushell 1.111.1 → 1.112.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/AppInfoParameters.js +104 -4
- package/src/main/js/sap/ushell/ApplicationType.js +11 -4
- package/src/main/js/sap/ushell/Container.js +0 -32
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
- package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
- package/src/main/js/sap/ushell/TechnicalParameters.js +51 -21
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +24 -158
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -2
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +22 -140
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +2 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +12 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +28 -4
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +7 -5
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/logger.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/state.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5datetimeformat.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/common/common.create.configcontract.core.js +1 -0
- package/src/main/js/sap/ushell/bootstrap/common/common.read.ushell.config.from.url.js +26 -23
- package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +69 -33
- package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +3 -0
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +15 -3
- package/src/main/js/sap/ushell/components/applicationIntegration/Storage.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +29 -18
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +15 -2
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +9 -4
- package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
- package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +1 -7
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/controls/Paginator.css +14 -3
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/controls/Paginator.js +57 -11
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +14 -2
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +470 -23
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +308 -6
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +83 -12
- package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +33 -6
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +7 -7
- package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +96 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +44 -14
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +82 -25
- package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +18 -10
- package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +52 -1
- package/src/main/js/sap/ushell/components/contentFinderAppSearch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderAppSearch/controller/ContentFinderAppSearch.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderAppSearch/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +116 -40
- package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +1 -1
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +17 -6
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/NavigationSvcSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/ContentWrapper.fragment.xml +7 -1
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +9 -10
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +49 -57
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +4 -1
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +26 -27
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +23 -4
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/ContentFinderDialog.controller.js +12 -9
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +67 -16
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +5 -3
- package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +4 -262
- package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -170
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
- package/src/main/js/sap/ushell/library.js +1 -3
- package/src/main/js/sap/ushell/navigationMode.js +1 -1
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/AccessKeysHandler.js +3 -1
- package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +2 -2
- package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyApps.controller.js +2 -1
- package/src/main/js/sap/ushell/renderers/fiori2/allMyApps/AllMyApps.view.xml +10 -1
- package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +15 -5
- package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_de.properties +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/services/AppConfiguration.js +0 -37
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +50 -3
- package/src/main/js/sap/ushell/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/services/Bookmark.js +93 -30
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel.js +5 -243
- package/src/main/js/sap/ushell/services/Configuration.js +1 -1
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/Menu.js +1 -1
- package/src/main/js/sap/ushell/services/Message.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker.js +31 -12
- package/src/main/js/sap/ushell/services/NavTargetResolution.js +4 -2
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
- package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
- package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
- package/src/main/js/sap/ushell/services/Pages.js +21 -3
- package/src/main/js/sap/ushell/services/Personalization.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager.js +1 -3
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +178 -125
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
- package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
- package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +15 -18
- package/src/main/js/sap/ushell/services/SmartNavigation.js +32 -6
- package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
- package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
- package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +5 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +2 -2
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +1 -1
- package/src/main/js/sap/ushell/services/_CommonDataModel/SiteConverter.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +131 -135
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +341 -308
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
- package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +1 -1
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/Catalog.less +4 -0
- package/src/main/js/sap/ushell/themes/base/ContentFinder.less +5 -1
- package/src/main/js/sap/ushell/themes/base/SearchFLP.less +0 -5
- package/src/main/js/sap/ushell/themes/base/ShellAppTitle.less +6 -9
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.eot +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.json +16 -1
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.ttf +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff2 +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.eot +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.ttf +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/horizon/BusinessSuiteInAppSymbols.woff2 +0 -0
- package/src/main/js/sap/ushell/themes/base/library.source.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_belize/ShellHeader.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_belize/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_belize_hcb/ShellHeader.less +0 -27
- package/src/main/js/sap/ushell/themes/sap_belize_hcb/library.source.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_belize_hcw/ShellHeader.less +0 -25
- package/src/main/js/sap/ushell/themes/sap_belize_hcw/library.source.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_bluecrystal/library.source.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +2 -11
- package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellHeader.less +2 -11
- package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellHeader.less +0 -25
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellHeader.less +0 -25
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_hcb/ShellHeader.less +0 -24
- package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +0 -2
- package/src/main/js/sap/ushell/themes/sap_horizon/ShellAppTitle.less +2 -12
- package/src/main/js/sap/ushell/themes/sap_horizon/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_dark/ShellAppTitle.less +2 -12
- package/src/main/js/sap/ushell/themes/sap_horizon_dark/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_hcb/ShellAppTitle.less +0 -25
- package/src/main/js/sap/ushell/themes/sap_horizon_hcb/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_hcw/ShellAppTitle.less +0 -25
- package/src/main/js/sap/ushell/themes/sap_horizon_hcw/library.source.less +0 -1
- package/src/main/js/sap/ushell/ui/appfinder/AppBoxRenderer.js +0 -15
- package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +199 -0
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +202 -0
- package/src/main/js/sap/ushell/ui/contentFinder/AppBox.js +17 -2
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/LoadingDialogRenderer.js +2 -45
- package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +2 -2
- package/src/main/js/sap/ushell/ui/launchpad/TileRenderer.js +4 -21
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ShellAppTitle.js +6 -8
- package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ShellLayout.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ShellNavigationMenu.js +21 -62
- package/src/main/js/sap/ushell/ui/shell/SplitContainer.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +25 -5
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/ui5.yaml +53 -51
- package/src/main/js/sap/ushell/services/ContentExtension.js +0 -114
- package/src/main/js/sap/ushell/themes/base/UserPreferencesButton.less +0 -35
- package/src/main/js/sap/ushell/themes/base/flower-standalone.less +0 -774
- package/src/main/js/sap/ushell/themes/sap_belize/UserPreferencesButton.less +0 -7
- package/src/main/js/sap/ushell/themes/sap_belize_hcb/UserPreferencesButton.less +0 -7
- package/src/main/js/sap/ushell/themes/sap_belize_hcb/flower-standalone.less +0 -34
- package/src/main/js/sap/ushell/themes/sap_belize_hcw/UserPreferencesButton.less +0 -7
- package/src/main/js/sap/ushell/themes/sap_belize_hcw/flower-standalone.less +0 -34
- package/src/main/js/sap/ushell/themes/sap_bluecrystal/UserPreferencesButton.less +0 -7
- package/src/main/js/sap/ushell/themes/sap_bluecrystal/flower-standalone.less +0 -23
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/flower-standalone.less +0 -34
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/flower-standalone.less +0 -33
- package/src/main/js/sap/ushell/themes/sap_hcb/UserPreferencesButton.less +0 -7
- package/src/main/js/sap/ushell/themes/sap_hcb/flower-standalone.less +0 -34
- package/src/main/js/sap/ushell/themes/sap_horizon/UserPreferencesButton.less +0 -9
- package/src/main/js/sap/ushell/themes/sap_horizon_dark/UserPreferencesButton.less +0 -8
- package/src/main/js/sap/ushell/ui/footerbar/SettingsButton.js +0 -90
- package/src/main/js/sap/ushell/ui/footerbar/UserPreferencesButton.js +0 -505
- package/src/main/js/sap/ushell/ui5service/CardNavigation.js +0 -131
- package/src/main/js/sap/ushell/ui5service/CardUserFrequents.js +0 -138
- package/src/main/js/sap/ushell/ui5service/CardUserRecents.js +0 -101
- package/src/main/js/sap/ushell/ui5service/_CardUserRecents/CardUserRecentsBase.js +0 -108
|
@@ -1,26 +1,29 @@
|
|
|
1
1
|
// Copyright (c) 2009-2022 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* @fileOverview This module contains
|
|
5
|
-
* @version 1.
|
|
4
|
+
* @fileOverview This module contains the implementation of the message broker
|
|
5
|
+
* @version 1.112.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/Log",
|
|
9
|
-
"sap/base/util/deepExtend"
|
|
10
|
-
|
|
11
|
-
], function (Log, deepExtend, Application) {
|
|
9
|
+
"sap/base/util/deepExtend"
|
|
10
|
+
], function (Log, deepExtend) {
|
|
12
11
|
"use strict";
|
|
13
12
|
|
|
14
13
|
var oAcceptedOrigins = {},
|
|
15
14
|
oClientsPerChannel = {},
|
|
16
|
-
|
|
15
|
+
oConnectedClients = {},
|
|
16
|
+
oSubscribedClients = {};
|
|
17
|
+
|
|
18
|
+
//add default origin
|
|
19
|
+
oAcceptedOrigins[window.location.origin] = true;
|
|
17
20
|
|
|
18
21
|
var MessageBrokerEngine = function () {
|
|
19
22
|
|
|
20
23
|
/**
|
|
21
|
-
* This method maps PostMessage to API
|
|
22
24
|
*
|
|
23
25
|
* @param {object} oPostMessageData The PostMessage object.
|
|
26
|
+
* @returns {Promise} Promise result.
|
|
24
27
|
*
|
|
25
28
|
* @since 1.110.0
|
|
26
29
|
* @private
|
|
@@ -28,40 +31,110 @@ sap.ui.define([
|
|
|
28
31
|
|
|
29
32
|
this.processPostMessage = function (oPostMessageData) {
|
|
30
33
|
|
|
31
|
-
|
|
34
|
+
var oMessageData = oPostMessageData.oMessageData,
|
|
35
|
+
oMessageDataBody = oMessageData.body,
|
|
36
|
+
oMessage = oPostMessageData.oMessage,
|
|
37
|
+
sOrigin = oMessage.origin,
|
|
38
|
+
oIframe = oMessage.source;
|
|
39
|
+
|
|
40
|
+
oMessageDataBody.requestId = oMessageData.request_id;
|
|
41
|
+
|
|
42
|
+
if (!oIframe) {
|
|
43
|
+
var sErrorMsg = "Missing iframe object in PostMessage request";
|
|
44
|
+
Log.error(sErrorMsg, null, "sap.ushell.services.MessageBroker");
|
|
45
|
+
return Promise.reject(sErrorMsg);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return this._handlePostMessageRequest(oMessageDataBody, oIframe, sOrigin);
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
*
|
|
53
|
+
* @param {string} sClientId client id.
|
|
54
|
+
* @returns {Promise} the result.
|
|
55
|
+
*
|
|
56
|
+
* @since 1.110.0
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
32
59
|
|
|
33
|
-
|
|
34
|
-
oMessageDataBody = oMessageData.body,
|
|
35
|
-
oMessage = oPostMessageData.oMessage,
|
|
36
|
-
sOrigin = oMessage.origin,
|
|
37
|
-
oIframe = oMessage.source;
|
|
60
|
+
this.connect = function (sClientId) {
|
|
38
61
|
|
|
39
|
-
|
|
62
|
+
var sError;
|
|
63
|
+
|
|
64
|
+
if (typeof sClientId !== "string" || !sClientId.length) {
|
|
65
|
+
sError = "Missing required parameter client id";
|
|
66
|
+
} else if (oConnectedClients[sClientId]) {
|
|
67
|
+
sError = "Client is already connected";
|
|
68
|
+
} else {
|
|
69
|
+
var aSubscribedClients = Object.values(oSubscribedClients);
|
|
70
|
+
// add client initial entry to connected clients
|
|
71
|
+
oConnectedClients[sClientId] = true;
|
|
72
|
+
return Promise.resolve(aSubscribedClients);
|
|
73
|
+
}
|
|
40
74
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
75
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
76
|
+
return Promise.reject(sError);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
*
|
|
81
|
+
* @param {string} sClientId client id.
|
|
82
|
+
* @returns {Promise} the result.
|
|
83
|
+
*
|
|
84
|
+
* @since 1.110.0
|
|
85
|
+
* @private
|
|
86
|
+
*/
|
|
87
|
+
|
|
88
|
+
this.disconnect = function (sClientId) {
|
|
89
|
+
|
|
90
|
+
var sError;
|
|
91
|
+
|
|
92
|
+
if (typeof sClientId !== "string" || !sClientId.length) {
|
|
93
|
+
sError = "Missing required parameter client id";
|
|
94
|
+
} else if (!oConnectedClients[sClientId]) {
|
|
95
|
+
sError = "Client is already disconnected";
|
|
96
|
+
} else {
|
|
97
|
+
|
|
98
|
+
for (var sChannelKey in oClientsPerChannel) {
|
|
99
|
+
|
|
100
|
+
var aChannelClients = oClientsPerChannel[sChannelKey];
|
|
101
|
+
// find client and remove from the channel
|
|
102
|
+
for (var oClientKey in aChannelClients) {
|
|
103
|
+
|
|
104
|
+
var oClient = aChannelClients[oClientKey];
|
|
105
|
+
|
|
106
|
+
if (oClient.clientId === sClientId) {
|
|
107
|
+
aChannelClients.splice(oClientKey, 1);
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
44
111
|
}
|
|
45
112
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
113
|
+
// if client disconnects but is still subscribed
|
|
114
|
+
if (oSubscribedClients[sClientId] && oSubscribedClients[sClientId].channels.length) {
|
|
115
|
+
this._emitEvent("clientUnsubscribed", sClientId, oSubscribedClients[sClientId].channels);
|
|
116
|
+
|
|
117
|
+
// remove from subscribed clients
|
|
118
|
+
delete oSubscribedClients[sClientId];
|
|
119
|
+
}
|
|
120
|
+
// remove from connected clients
|
|
121
|
+
delete oConnectedClients[sClientId];
|
|
122
|
+
|
|
123
|
+
return Promise.resolve();
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
127
|
+
return Promise.reject(sError);
|
|
54
128
|
};
|
|
55
129
|
|
|
56
130
|
/**
|
|
57
131
|
*
|
|
58
132
|
* @param {string} sClientId client id.
|
|
59
133
|
* @param {array} aSubscribedChannels array of channel-objects.
|
|
60
|
-
* @param {object} data additional data.
|
|
61
134
|
* @param {function} fnMessageCallback callback function returns promise.
|
|
62
135
|
* @param {function} fnClientConnectionCallback callback function returns promise.
|
|
63
|
-
* @param {object} oIframe iframe object if
|
|
64
|
-
* @param {string} sOrigin iframe origin if
|
|
136
|
+
* @param {object} oIframe iframe object if iframe client.
|
|
137
|
+
* @param {string} sOrigin iframe origin if iframe client.
|
|
65
138
|
* @returns {Promise} the result.
|
|
66
139
|
*
|
|
67
140
|
* @since 1.110.0
|
|
@@ -71,30 +144,26 @@ sap.ui.define([
|
|
|
71
144
|
this.subscribe = function (
|
|
72
145
|
sClientId,
|
|
73
146
|
aSubscribedChannels,
|
|
74
|
-
data,
|
|
75
147
|
fnMessageCallback,
|
|
76
148
|
fnClientConnectionCallback,
|
|
77
149
|
oIframe,
|
|
78
150
|
sOrigin
|
|
79
151
|
) {
|
|
80
152
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return reject("Missing required parameter(s)");
|
|
96
|
-
}
|
|
97
|
-
|
|
153
|
+
var sError,
|
|
154
|
+
sMessageName = "clientSubscribed",
|
|
155
|
+
aOtherSubscribedClients = [],
|
|
156
|
+
bIsNewClient = false;
|
|
157
|
+
|
|
158
|
+
if (typeof sClientId !== "string" || !sClientId.length ||
|
|
159
|
+
!aSubscribedChannels.length ||
|
|
160
|
+
(typeof oIframe !== "object" &&
|
|
161
|
+
(typeof fnMessageCallback !== "function" ||
|
|
162
|
+
typeof fnClientConnectionCallback !== "function"))) {
|
|
163
|
+
sError = "Missing required parameter(s)";
|
|
164
|
+
} else if (!oConnectedClients[sClientId]) {
|
|
165
|
+
sError = "Client is not connected";
|
|
166
|
+
} else {
|
|
98
167
|
for (var sChannelKey in aSubscribedChannels) {
|
|
99
168
|
|
|
100
169
|
var oChannel = aSubscribedChannels[sChannelKey];
|
|
@@ -103,96 +172,142 @@ sap.ui.define([
|
|
|
103
172
|
var oFullClientData = {
|
|
104
173
|
clientId: sClientId,
|
|
105
174
|
subscribedChannels: aSubscribedChannels,
|
|
106
|
-
data: data,
|
|
107
175
|
messageCallback: fnMessageCallback,
|
|
108
176
|
clientConnectionCallback: fnClientConnectionCallback,
|
|
109
177
|
iframe: oIframe || {},
|
|
110
178
|
origin: sOrigin || "",
|
|
111
|
-
isUI5: !oIframe
|
|
179
|
+
isUI5: !oIframe
|
|
112
180
|
};
|
|
113
181
|
|
|
182
|
+
// add new channel
|
|
114
183
|
if (!oClientsPerChannel[oChannel.channelId]) {
|
|
115
184
|
oClientsPerChannel[oChannel.channelId] = [];
|
|
116
185
|
}
|
|
117
186
|
|
|
118
|
-
oClientsPerChannel[oChannel.channelId].
|
|
187
|
+
var oExistingClient = oClientsPerChannel[oChannel.channelId].find(function (oClient) {
|
|
188
|
+
return oClient.clientId === sClientId;
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
// add new client
|
|
192
|
+
if (!oExistingClient) {
|
|
193
|
+
oClientsPerChannel[oChannel.channelId].push(oFullClientData);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// if client is already subscribed to any channel
|
|
197
|
+
if (oSubscribedClients[sClientId]) {
|
|
198
|
+
var oExistingChannel = oSubscribedClients[sClientId].channels.find(function (oSubChannel) {
|
|
199
|
+
return oSubChannel.channelId === oChannel.channelId;
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
if (!oExistingChannel) {
|
|
203
|
+
// add new channel to the existing channels
|
|
204
|
+
oSubscribedClients[sClientId].channels.push(oChannel);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
119
207
|
}
|
|
120
208
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
subscribedChannels: aSubscribedChannels
|
|
124
|
-
};
|
|
209
|
+
// if new client
|
|
210
|
+
if (!oSubscribedClients[sClientId]) {
|
|
125
211
|
|
|
126
|
-
|
|
127
|
-
oActiveClients[sClientId] = oActiveClientData;
|
|
212
|
+
bIsNewClient = true;
|
|
128
213
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
214
|
+
var oSubscriptionData = {
|
|
215
|
+
clientId: sClientId,
|
|
216
|
+
channels: aSubscribedChannels
|
|
217
|
+
};
|
|
218
|
+
// add to subscribed clients
|
|
219
|
+
oSubscribedClients[sClientId] = oSubscriptionData;
|
|
220
|
+
|
|
221
|
+
aOtherSubscribedClients = Object.values(oSubscribedClients).filter(function (oClient) {
|
|
222
|
+
return oClient.clientId !== sClientId;
|
|
223
|
+
});
|
|
224
|
+
// notify new UI5 client of other already subscribed clients
|
|
225
|
+
if (!oIframe && aOtherSubscribedClients.length) {
|
|
226
|
+
fnClientConnectionCallback(sMessageName, aOtherSubscribedClients);
|
|
227
|
+
}
|
|
132
228
|
}
|
|
133
229
|
|
|
134
|
-
|
|
135
|
-
|
|
230
|
+
// notify other subscribed clients of new subscription
|
|
231
|
+
if (Object.keys(oSubscribedClients).length > 1) {
|
|
232
|
+
this._emitEvent(sMessageName, sClientId, aSubscribedChannels);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return Promise.resolve(oIframe && bIsNewClient ? aOtherSubscribedClients : "");
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
239
|
+
return Promise.reject(sError);
|
|
136
240
|
};
|
|
137
241
|
|
|
138
242
|
/**
|
|
139
243
|
*
|
|
140
244
|
* @param {string} sClientId client id.
|
|
245
|
+
* @param {array} aUnsubscribedChannels channels to unsubscribe from.
|
|
141
246
|
* @returns {Promise} the resolve or error.
|
|
142
247
|
*
|
|
143
248
|
* @since 1.110.0
|
|
144
249
|
* @private
|
|
145
250
|
*/
|
|
146
251
|
|
|
147
|
-
this.unsubscribe = function (sClientId) {
|
|
148
|
-
|
|
149
|
-
return new Promise(function (resolve, reject) {
|
|
252
|
+
this.unsubscribe = function (sClientId, aUnsubscribedChannels) {
|
|
150
253
|
|
|
151
|
-
|
|
254
|
+
var sError;
|
|
152
255
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
256
|
+
if (typeof sClientId !== "string" || !sClientId.length ||
|
|
257
|
+
!Array.isArray(aUnsubscribedChannels) || !aUnsubscribedChannels.length) {
|
|
258
|
+
sError = "Missing required parameter(s)";
|
|
259
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
260
|
+
return Promise.reject(sError);
|
|
261
|
+
}
|
|
157
262
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
263
|
+
if (!oConnectedClients[sClientId]) {
|
|
264
|
+
sError = "Client is not connected";
|
|
265
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
266
|
+
return Promise.reject(sError);
|
|
267
|
+
}
|
|
163
268
|
|
|
164
|
-
|
|
269
|
+
for (var sChannelIndex in aUnsubscribedChannels) {
|
|
165
270
|
|
|
166
|
-
|
|
271
|
+
var oChannel = aUnsubscribedChannels[sChannelIndex];
|
|
167
272
|
|
|
168
|
-
|
|
273
|
+
if (oClientsPerChannel[oChannel.channelId]) {
|
|
274
|
+
var aChannelClients = oClientsPerChannel[oChannel.channelId];
|
|
169
275
|
// find client and remove from the channel
|
|
170
276
|
for (var oClientKey in aChannelClients) {
|
|
171
277
|
|
|
172
278
|
var oClient = aChannelClients[oClientKey];
|
|
173
279
|
|
|
174
280
|
if (oClient.clientId === sClientId) {
|
|
281
|
+
var aSubscribedChannels = oSubscribedClients[sClientId].channels;
|
|
282
|
+
|
|
283
|
+
oSubscribedClients[sClientId].channels = aSubscribedChannels.filter(function (oSubChannel) {
|
|
284
|
+
return oSubChannel.channelId !== oChannel.channelId;
|
|
285
|
+
});
|
|
175
286
|
|
|
176
|
-
aSubscribedChannels = oClient.subscribedChannels;
|
|
177
287
|
aChannelClients.splice(oClientKey, 1);
|
|
178
288
|
break;
|
|
179
289
|
}
|
|
180
290
|
}
|
|
291
|
+
} else {
|
|
292
|
+
// if channel does not exist
|
|
293
|
+
var sMessage = "Unknown channel Id: " + oChannel.channelId;
|
|
294
|
+
Log.warning(sMessage, null, "sap.ushell.services.MessageBroker");
|
|
181
295
|
}
|
|
296
|
+
}
|
|
182
297
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
}.bind(this));
|
|
298
|
+
this._emitEvent( "clientUnsubscribed", sClientId, aUnsubscribedChannels);
|
|
299
|
+
return Promise.resolve();
|
|
186
300
|
};
|
|
187
301
|
|
|
188
302
|
/**
|
|
189
303
|
*
|
|
190
304
|
* @param {string} sChannelId channel id.
|
|
191
305
|
* @param {string} sClientId client id.
|
|
192
|
-
* @param {string} sMessageId request id for
|
|
306
|
+
* @param {string} sMessageId request id for iframe clients or message id for UI5 clients.
|
|
193
307
|
* @param {string} sMessageName message name.
|
|
194
308
|
* @param {array} aTargetClientIds array of target clients Ids.
|
|
195
309
|
* @param {object} data additional data.
|
|
310
|
+
* @returns {Promise} Promise result.
|
|
196
311
|
*
|
|
197
312
|
* @since 1.110.0
|
|
198
313
|
* @private
|
|
@@ -200,54 +315,62 @@ sap.ui.define([
|
|
|
200
315
|
|
|
201
316
|
this.publish = function (sChannelId, sClientId, sMessageId, sMessageName, aTargetClientIds, data) {
|
|
202
317
|
|
|
203
|
-
|
|
318
|
+
var sError,
|
|
319
|
+
aTargetClients = [];
|
|
204
320
|
|
|
205
|
-
|
|
321
|
+
// if client is not connected
|
|
322
|
+
if (!oConnectedClients[sClientId]) {
|
|
323
|
+
sError = "Client is not connected";
|
|
324
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
325
|
+
return Promise.reject(sError);
|
|
326
|
+
}
|
|
206
327
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
328
|
+
// if channel does not exist
|
|
329
|
+
if (!oClientsPerChannel[sChannelId]) {
|
|
330
|
+
sError = "Unknown channel Id: " + sChannelId;
|
|
331
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
332
|
+
return Promise.reject(sError);
|
|
333
|
+
}
|
|
213
334
|
|
|
214
|
-
|
|
335
|
+
var oPubClient = oClientsPerChannel[sChannelId].find(function (oSubClient) {
|
|
336
|
+
return oSubClient.clientId === sClientId;
|
|
337
|
+
});
|
|
215
338
|
|
|
216
|
-
|
|
339
|
+
// if client is not subscribed to the channel
|
|
340
|
+
if (!oPubClient) {
|
|
341
|
+
sError = "Client is not subscribed to the provided channel";
|
|
342
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
343
|
+
return Promise.reject(sError);
|
|
344
|
+
}
|
|
217
345
|
|
|
346
|
+
for (var sClientKey in aTargetClientIds) {
|
|
218
347
|
|
|
219
|
-
|
|
348
|
+
var sTargetClientId = aTargetClientIds[sClientKey];
|
|
220
349
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
350
|
+
// if message is for all clients in the channel
|
|
351
|
+
if (sTargetClientId === "*") {
|
|
352
|
+
aTargetClients = oClientsPerChannel[sChannelId].concat();
|
|
353
|
+
break;
|
|
354
|
+
} else {
|
|
355
|
+
// check if target client exists
|
|
356
|
+
var oTargetClient = oClientsPerChannel[sChannelId].find(function (oClient) {
|
|
357
|
+
return oClient.clientId === sTargetClientId;
|
|
358
|
+
});
|
|
230
359
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
360
|
+
if (oTargetClient) {
|
|
361
|
+
aTargetClients.push(this._deepCopy(oTargetClient));
|
|
234
362
|
}
|
|
235
363
|
}
|
|
364
|
+
}
|
|
236
365
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
} else {
|
|
246
|
-
sError = "Target client(s) not found in the provided channel";
|
|
247
|
-
Log.error(sError);
|
|
248
|
-
return reject(sError);
|
|
249
|
-
}
|
|
250
|
-
}.bind(this));
|
|
366
|
+
if (aTargetClients.length) {
|
|
367
|
+
this._sendMessage(aTargetClients, sChannelId, sMessageId, sMessageName, sClientId, data);
|
|
368
|
+
return Promise.resolve();
|
|
369
|
+
} else {
|
|
370
|
+
sError = "Target client(s) not found in the provided channel";
|
|
371
|
+
Log.error(sError, null, "sap.ushell.services.MessageBroker");
|
|
372
|
+
return Promise.reject(sError);
|
|
373
|
+
}
|
|
251
374
|
};
|
|
252
375
|
|
|
253
376
|
/**
|
|
@@ -260,10 +383,10 @@ sap.ui.define([
|
|
|
260
383
|
|
|
261
384
|
this.addAcceptedOrigin = function (sOrigin) {
|
|
262
385
|
|
|
263
|
-
if (sOrigin) {
|
|
386
|
+
if (typeof sOrigin === "string" && sOrigin.length > 0) {
|
|
264
387
|
oAcceptedOrigins[sOrigin] = true;
|
|
265
388
|
} else {
|
|
266
|
-
Log.
|
|
389
|
+
Log.warning("Missing required parameter sOrigin", null, "sap.ushell.services.MessageBroker");
|
|
267
390
|
}
|
|
268
391
|
};
|
|
269
392
|
|
|
@@ -281,18 +404,17 @@ sap.ui.define([
|
|
|
281
404
|
|
|
282
405
|
/**
|
|
283
406
|
*
|
|
284
|
-
* @returns {
|
|
407
|
+
* @returns {array} the result.
|
|
285
408
|
*
|
|
286
409
|
* @since 1.110.0
|
|
287
410
|
* @private
|
|
288
411
|
*/
|
|
289
412
|
|
|
290
413
|
this.getAcceptedOrigins = function () {
|
|
291
|
-
return
|
|
414
|
+
return Object.keys(oAcceptedOrigins);
|
|
292
415
|
};
|
|
293
416
|
|
|
294
417
|
/**
|
|
295
|
-
* This function is for testing the state of oActiveClients in qunit
|
|
296
418
|
*
|
|
297
419
|
* @returns {object} the result.
|
|
298
420
|
*
|
|
@@ -300,23 +422,21 @@ sap.ui.define([
|
|
|
300
422
|
* @private
|
|
301
423
|
*/
|
|
302
424
|
|
|
303
|
-
this.
|
|
425
|
+
this.getSubscribedClients = function () {
|
|
304
426
|
return this._deepCopy(oClientsPerChannel);
|
|
305
427
|
};
|
|
306
428
|
|
|
307
429
|
/**
|
|
308
|
-
* This function notifies clients of various events in a channel
|
|
309
430
|
*
|
|
310
431
|
* @param {string} sMessageName message name.
|
|
311
432
|
* @param {string} sClientId client id.
|
|
312
|
-
* @param {array}
|
|
313
|
-
* @param {object} data additional data.
|
|
433
|
+
* @param {array} aChannels subscribed/unsubscribed channels of the client.
|
|
314
434
|
*
|
|
315
435
|
* @since 1.110.0
|
|
316
436
|
* @private
|
|
317
437
|
*/
|
|
318
438
|
|
|
319
|
-
this._emitEvent = function (sMessageName, sClientId,
|
|
439
|
+
this._emitEvent = function (sMessageName, sClientId, aChannels) {
|
|
320
440
|
|
|
321
441
|
var oNotifiedClients = {};
|
|
322
442
|
|
|
@@ -329,17 +449,20 @@ sap.ui.define([
|
|
|
329
449
|
var oClient = oChannel[sClientKey];
|
|
330
450
|
// do not notify the same client who initiated the event
|
|
331
451
|
if (oClient.clientId !== sClientId && !oNotifiedClients[oClient.clientId]) {
|
|
452
|
+
|
|
453
|
+
var oParams = {
|
|
454
|
+
clientId: sClientId,
|
|
455
|
+
channels: aChannels
|
|
456
|
+
};
|
|
457
|
+
|
|
332
458
|
if (oClient.isUI5 !== false) {
|
|
333
|
-
oClient.clientConnectionCallback(sMessageName,
|
|
459
|
+
oClient.clientConnectionCallback(sMessageName, [oParams]);
|
|
334
460
|
} else {
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
data: data
|
|
341
|
-
},
|
|
342
|
-
oMessageBody = this._buildPostMessageObject("event", oParams);
|
|
461
|
+
|
|
462
|
+
oParams.channelId = "sap.ushell.MessageBroker";
|
|
463
|
+
oParams.messageName = sMessageName;
|
|
464
|
+
|
|
465
|
+
var oMessageBody = this._buildPostMessageObject("event", oParams);
|
|
343
466
|
this._sendPostMessageToClient(oMessageBody, oClient.iframe, oClient.origin, false);
|
|
344
467
|
}
|
|
345
468
|
|
|
@@ -350,161 +473,41 @@ sap.ui.define([
|
|
|
350
473
|
};
|
|
351
474
|
|
|
352
475
|
/**
|
|
353
|
-
* This function sends message to UI5 client and awaits for reply
|
|
354
|
-
*
|
|
355
|
-
* @param {object} oClient target client object.
|
|
356
|
-
* @param {string} sClientId client id.
|
|
357
|
-
* @param {string} sChannelId channel id.
|
|
358
|
-
* @param {string} sMessageId request id for embedded clients or message id for UI5 clients.
|
|
359
|
-
* @param {string} sMessageName message name.
|
|
360
|
-
* @param {object} data additional data.
|
|
361
|
-
* @returns {Promise} Promise result.
|
|
362
476
|
*
|
|
363
|
-
* @since 1.110.0
|
|
364
|
-
* @private
|
|
365
|
-
*/
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
this._sendMessageToUI5Client = function(oClient, sClientId, sChannelId, sMessageId, sMessageName, data) {
|
|
369
|
-
|
|
370
|
-
return new Promise(function (resolve, reject) {
|
|
371
|
-
oClient.messageCallback(sClientId, sChannelId, sMessageName, data)
|
|
372
|
-
.then(function (oResponse) {
|
|
373
|
-
if (oResponse) {
|
|
374
|
-
var oRequestingClient = oClientsPerChannel[sChannelId].find(function (oStoredClient) {
|
|
375
|
-
return oStoredClient.clientId === sClientId;
|
|
376
|
-
}),
|
|
377
|
-
oRequestingClientClone = this._deepCopy(oRequestingClient);
|
|
378
|
-
|
|
379
|
-
// send data back to client who requested it
|
|
380
|
-
if (oRequestingClientClone.isUI5 !== false) {
|
|
381
|
-
oRequestingClientClone.messageCallback(oClient.clientId, sChannelId, sMessageName, oResponse, sMessageId);
|
|
382
|
-
} else {
|
|
383
|
-
var oParams = {
|
|
384
|
-
clientId: oClient.clientId,
|
|
385
|
-
channelId: sChannelId,
|
|
386
|
-
messageName: sMessageName,
|
|
387
|
-
subscribedChannels: oClient.subscribedChannels,
|
|
388
|
-
data: oResponse,
|
|
389
|
-
requestId: sMessageId
|
|
390
|
-
},
|
|
391
|
-
oMessageBody = this._buildPostMessageObject("response", oParams);
|
|
392
|
-
// send data back to client who requested it
|
|
393
|
-
this._sendPostMessageToClient(oMessageBody, oRequestingClientClone.iframe, oRequestingClientClone.origin, false);
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
return resolve();
|
|
398
|
-
}.bind(this))
|
|
399
|
-
.catch(function (sError) {
|
|
400
|
-
return reject(sError);
|
|
401
|
-
});
|
|
402
|
-
}.bind(this));
|
|
403
|
-
};
|
|
404
|
-
|
|
405
|
-
/**
|
|
406
|
-
* This function sends message to embedded client and awaits for reply
|
|
407
|
-
*
|
|
408
|
-
* @param {string} sActionType request/response.
|
|
409
|
-
* @param {object} oClient target client object.
|
|
410
|
-
* @param {object} oParams post message parameters.
|
|
411
|
-
* @returns {Promise} Promise result.
|
|
412
|
-
*
|
|
413
|
-
* @since 1.110.0
|
|
414
|
-
* @private
|
|
415
|
-
*/
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
this._sendMessageToEmbeddedClient = function(sActionType, oClient, oParams) {
|
|
419
|
-
|
|
420
|
-
return new Promise(function (resolve, reject) {
|
|
421
|
-
|
|
422
|
-
var oMessageBody = this._buildPostMessageObject(sActionType, oParams);
|
|
423
|
-
|
|
424
|
-
this._sendPostMessageToClient(oMessageBody, oClient.iframe, oClient.origin, true)
|
|
425
|
-
.then(function (oResponse) {
|
|
426
|
-
if (oResponse) {
|
|
427
|
-
var oRequestingClient = oClientsPerChannel[oParams.channelId].find(function (oStoredClient) {
|
|
428
|
-
return oStoredClient.clientId === oParams.clientId;
|
|
429
|
-
}),
|
|
430
|
-
oRequestingClientClone = this._deepCopy(oRequestingClient);
|
|
431
|
-
|
|
432
|
-
// send data back to client who requested it
|
|
433
|
-
if (oRequestingClientClone.isUI5 !== false) {
|
|
434
|
-
oRequestingClientClone.messageCallback(oClient.clientId, oParams.channelId, oParams.messageName, oResponse.body, oParams.requestId);
|
|
435
|
-
} else {
|
|
436
|
-
oResponse.request_id = oResponse.correlationMessageId = oParams.requestId;
|
|
437
|
-
this._sendPostMessageToClient(oResponse, oRequestingClientClone.iframe, oRequestingClientClone.origin, false);
|
|
438
|
-
}
|
|
439
|
-
}
|
|
440
|
-
|
|
441
|
-
return resolve();
|
|
442
|
-
}.bind(this))
|
|
443
|
-
.catch(function (sError) {
|
|
444
|
-
return reject(sError);
|
|
445
|
-
});
|
|
446
|
-
}.bind(this));
|
|
447
|
-
};
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* This function sends message to client(s)
|
|
451
|
-
*
|
|
452
|
-
* @param {string} sActionType action type (response/request).
|
|
453
477
|
* @param {array} aTargetClients target clients.
|
|
454
478
|
* @param {string} sChannelId channel id.
|
|
455
|
-
* @param {string} sMessageId request id for
|
|
479
|
+
* @param {string} sMessageId request id for iframe clients or message id for UI5 clients.
|
|
456
480
|
* @param {string} sMessageName message name.
|
|
457
481
|
* @param {string} sClientId client id.
|
|
458
482
|
* @param {object} data additional data.
|
|
459
|
-
* @returns {Promise} Promise result.
|
|
460
483
|
*
|
|
461
484
|
* @since 1.110.0
|
|
462
485
|
* @private
|
|
463
486
|
*/
|
|
464
487
|
|
|
465
|
-
this._sendMessage = function (
|
|
466
|
-
|
|
467
|
-
return new Promise(function (resolve, reject) {
|
|
468
|
-
|
|
469
|
-
if (!aTargetClients.length) {
|
|
470
|
-
return resolve(aTargetClients);
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
for (var sClientKey in aTargetClients) {
|
|
488
|
+
this._sendMessage = function (aTargetClients, sChannelId, sMessageId, sMessageName, sClientId, data) {
|
|
474
489
|
|
|
475
|
-
|
|
490
|
+
for (var sClientKey in aTargetClients) {
|
|
476
491
|
|
|
477
|
-
|
|
478
|
-
if (oClient.clientId !== sClientId) {
|
|
479
|
-
if (oClient.isUI5 !== false) {
|
|
492
|
+
var oClient = aTargetClients[sClientKey];
|
|
480
493
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
};
|
|
496
|
-
|
|
497
|
-
this._sendMessageToEmbeddedClient(sActionType, oClient, oParams)
|
|
498
|
-
.then(function (oResponse) {
|
|
499
|
-
return resolve(oResponse);
|
|
500
|
-
})
|
|
501
|
-
.catch(function (sError) {
|
|
502
|
-
return reject(sError);
|
|
503
|
-
});
|
|
504
|
-
}
|
|
494
|
+
// do not send message to the same client who requested to send it
|
|
495
|
+
if (oClient.clientId !== sClientId) {
|
|
496
|
+
if (oClient.isUI5 !== false) {
|
|
497
|
+
oClient.messageCallback(sClientId, sChannelId, sMessageName, data);
|
|
498
|
+
} else {
|
|
499
|
+
var oParams = {
|
|
500
|
+
clientId: sClientId,
|
|
501
|
+
channelId: sChannelId,
|
|
502
|
+
messageName: sMessageName,
|
|
503
|
+
data: data
|
|
504
|
+
};
|
|
505
|
+
|
|
506
|
+
var oMessageBody = this._buildPostMessageObject("request", oParams);
|
|
507
|
+
this._sendPostMessageToClient(oMessageBody, oClient.iframe, oClient.origin, false);
|
|
505
508
|
}
|
|
506
509
|
}
|
|
507
|
-
}
|
|
510
|
+
}
|
|
508
511
|
};
|
|
509
512
|
|
|
510
513
|
/**
|
|
@@ -536,28 +539,33 @@ sap.ui.define([
|
|
|
536
539
|
return new Promise(function (resolve, reject) {
|
|
537
540
|
|
|
538
541
|
var sEndpoint,
|
|
539
|
-
sStatus = "accepted",
|
|
540
542
|
bPostMsgResponse = false,
|
|
541
543
|
sClientId = oMessageDataBody.clientId,
|
|
542
544
|
sChannelId = oMessageDataBody.channelId,
|
|
543
545
|
sRequestId = oMessageDataBody.requestId,
|
|
544
546
|
sMessageName = oMessageDataBody.messageName,
|
|
545
547
|
aSubscribedChannels = oMessageDataBody.subscribedChannels,
|
|
546
|
-
aTargetClientIds = oMessageDataBody.targetClientIds
|
|
548
|
+
aTargetClientIds = oMessageDataBody.targetClientIds,
|
|
547
549
|
data = oMessageDataBody.data;
|
|
548
550
|
|
|
549
551
|
var oEndpointParams = {
|
|
552
|
+
connect: [
|
|
553
|
+
sClientId
|
|
554
|
+
],
|
|
555
|
+
disconnect: [
|
|
556
|
+
sClientId
|
|
557
|
+
],
|
|
550
558
|
subscribe: [
|
|
551
559
|
sClientId,
|
|
552
560
|
aSubscribedChannels,
|
|
553
|
-
data,
|
|
554
561
|
null,
|
|
555
562
|
null,
|
|
556
563
|
oIframe,
|
|
557
564
|
sOrigin
|
|
558
565
|
],
|
|
559
566
|
unsubscribe: [
|
|
560
|
-
sClientId
|
|
567
|
+
sClientId,
|
|
568
|
+
aSubscribedChannels
|
|
561
569
|
],
|
|
562
570
|
publish: [
|
|
563
571
|
sChannelId,
|
|
@@ -573,18 +581,15 @@ sap.ui.define([
|
|
|
573
581
|
channelId: sChannelId,
|
|
574
582
|
clientId: sClientId,
|
|
575
583
|
messageName: sMessageName,
|
|
576
|
-
data: data,
|
|
577
584
|
requestId: sRequestId
|
|
578
|
-
}
|
|
579
|
-
oResponseObject = this._buildPostMessageObject("response", oPostMessageParams);
|
|
585
|
+
};
|
|
580
586
|
|
|
581
587
|
switch (sMessageName) {
|
|
582
588
|
case "connect":
|
|
583
|
-
sEndpoint = "subscribe";
|
|
584
|
-
bPostMsgResponse = true;
|
|
585
|
-
break;
|
|
586
589
|
case "disconnect":
|
|
587
|
-
|
|
590
|
+
case "subscribe":
|
|
591
|
+
case "unsubscribe":
|
|
592
|
+
sEndpoint = sMessageName;
|
|
588
593
|
bPostMsgResponse = true;
|
|
589
594
|
break;
|
|
590
595
|
default:
|
|
@@ -592,6 +597,8 @@ sap.ui.define([
|
|
|
592
597
|
break;
|
|
593
598
|
}
|
|
594
599
|
|
|
600
|
+
var oResponseObject = this._buildPostMessageObject("response", oPostMessageParams);
|
|
601
|
+
|
|
595
602
|
this._callApi(sEndpoint, oEndpointParams[sEndpoint])
|
|
596
603
|
.then(function (oResponse) {
|
|
597
604
|
if (Array.isArray(oResponse)) {
|
|
@@ -606,9 +613,7 @@ sap.ui.define([
|
|
|
606
613
|
})
|
|
607
614
|
.finally(function () {
|
|
608
615
|
if (bPostMsgResponse) {
|
|
609
|
-
|
|
610
|
-
oResponseObject.body.status = sStatus;
|
|
611
|
-
}
|
|
616
|
+
oResponseObject.body.status = "accepted";
|
|
612
617
|
this._sendPostMessageToClient(oResponseObject, oIframe, sOrigin, false);
|
|
613
618
|
}
|
|
614
619
|
}.bind(this));
|
|
@@ -625,46 +630,79 @@ sap.ui.define([
|
|
|
625
630
|
*/
|
|
626
631
|
|
|
627
632
|
this._sendPostMessageToClient = function (oMessageDataBody, oIframe, sTargetDomain, bWaitForResponse) {
|
|
628
|
-
return
|
|
633
|
+
return new Promise(function (resolve, reject) {
|
|
634
|
+
sap.ui.require(["sap/ushell/components/applicationIntegration/application/Application"], function (Application) {
|
|
635
|
+
Application.postMessageToIframeObject(oMessageDataBody, oIframe, sTargetDomain, bWaitForResponse).then(resolve, reject);
|
|
636
|
+
});
|
|
637
|
+
});
|
|
629
638
|
};
|
|
630
639
|
|
|
631
640
|
/**
|
|
632
|
-
* This function builds post message object
|
|
633
641
|
*
|
|
634
642
|
* @param {string} sType object type.
|
|
635
643
|
* @param {object} oParams object properties.
|
|
636
|
-
* @returns {
|
|
644
|
+
* @returns {object} relevant post message object.
|
|
637
645
|
*
|
|
638
646
|
* @since 1.110.0
|
|
639
647
|
* @private
|
|
640
648
|
*/
|
|
641
649
|
|
|
642
650
|
this._buildPostMessageObject = function (sObjectType, oParams) {
|
|
651
|
+
function createPostMessageRequest (sServiceName, oMessageBody) {
|
|
652
|
+
var sRequestId = Date.now().toString();
|
|
653
|
+
|
|
654
|
+
return {
|
|
655
|
+
type: "request",
|
|
656
|
+
request_id: sRequestId,
|
|
657
|
+
service: sServiceName,
|
|
658
|
+
body: oMessageBody
|
|
659
|
+
};
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
function createPostMessageResponse (sServiceName, sRequestId, oMessageBody, bSuccess) {
|
|
663
|
+
return {
|
|
664
|
+
type: "response",
|
|
665
|
+
request_id: sRequestId,
|
|
666
|
+
service: sServiceName,
|
|
667
|
+
status: (bSuccess ? "success" : "error"),
|
|
668
|
+
body: oMessageBody
|
|
669
|
+
};
|
|
670
|
+
}
|
|
643
671
|
|
|
644
672
|
var sServiceName = "sap.ushell.services.MessageBroker",
|
|
645
673
|
oMessageBody = {
|
|
646
674
|
request: {
|
|
647
675
|
channelId: oParams.channelId,
|
|
648
676
|
clientId: oParams.clientId,
|
|
649
|
-
messageName: oParams.messageName
|
|
650
|
-
data: oParams.data
|
|
677
|
+
messageName: oParams.messageName
|
|
651
678
|
},
|
|
652
679
|
response: {
|
|
653
680
|
channelId: oParams.channelId,
|
|
654
681
|
clientId: oParams.clientId,
|
|
655
682
|
correlationMessageId: oParams.requestId,
|
|
656
|
-
messageName: oParams.messageName
|
|
657
|
-
data: oParams.data
|
|
683
|
+
messageName: oParams.messageName
|
|
658
684
|
},
|
|
659
685
|
event: {
|
|
660
686
|
channelId: oParams.channelId,
|
|
661
687
|
clientId: oParams.clientId,
|
|
662
|
-
messageName: oParams.messageName
|
|
663
|
-
subscribedChannels: oParams.subscribedChannels,
|
|
664
|
-
data: oParams.data
|
|
688
|
+
messageName: oParams.messageName
|
|
665
689
|
}
|
|
666
690
|
};
|
|
667
691
|
|
|
692
|
+
switch (sObjectType) {
|
|
693
|
+
case "event":
|
|
694
|
+
oMessageBody.event.channels = oParams.channels;
|
|
695
|
+
break;
|
|
696
|
+
case "request":
|
|
697
|
+
if (oParams.data) {
|
|
698
|
+
oMessageBody[sObjectType].data = oParams.data;
|
|
699
|
+
}
|
|
700
|
+
if (oParams.activeClients) {
|
|
701
|
+
oMessageBody[sObjectType].activeClients = oParams.activeClients;
|
|
702
|
+
}
|
|
703
|
+
break;
|
|
704
|
+
}
|
|
705
|
+
|
|
668
706
|
var oObjectParams = {
|
|
669
707
|
request: [
|
|
670
708
|
sServiceName,
|
|
@@ -682,16 +720,12 @@ sap.ui.define([
|
|
|
682
720
|
]
|
|
683
721
|
};
|
|
684
722
|
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
var sMethod = this._buildFunctionName("createPostMessage", sObjectType === "response" ? sObjectType : "request");
|
|
690
|
-
return Application[sMethod].apply(this, oObjectParams[sObjectType]);
|
|
723
|
+
var //sMethod = this._buildFunctionName("createPostMessage", sObjectType === "response" ? sObjectType : "request"),
|
|
724
|
+
fnMethod = (sObjectType === "response" ? createPostMessageResponse : createPostMessageRequest);
|
|
725
|
+
return fnMethod.apply(this, oObjectParams[sObjectType]);
|
|
691
726
|
};
|
|
692
727
|
|
|
693
728
|
/**
|
|
694
|
-
* This function builds function name dynamically
|
|
695
729
|
*
|
|
696
730
|
* @param {string} sPrefix function name prefix.
|
|
697
731
|
* @param {string} sType function type.
|
|
@@ -707,7 +741,6 @@ sap.ui.define([
|
|
|
707
741
|
};
|
|
708
742
|
|
|
709
743
|
/**
|
|
710
|
-
* Deep copy
|
|
711
744
|
*
|
|
712
745
|
* @param {object} oEntity.
|
|
713
746
|
* @returns {object} deep copy.
|