@sapui5/sap.ushell 1.111.0 → 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/AppLifeCycleAgent.js +10 -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 +17 -4
- 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 +21 -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 +16 -3
- 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/WorkPageColumnRenderer.js +3 -0
- 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/WorkPageCell.less +2 -2
- package/src/main/js/sap/ushell/themes/base/WorkPageColumn.less +8 -0
- package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +2 -2
- 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
|
@@ -109,11 +109,11 @@
|
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
.sapUshellNavigationMenuListItems:not(:last-child) .sapMLIBContent:after {
|
|
112
|
-
background-color: @
|
|
112
|
+
background-color: @sapUiContentNonInteractiveIconColor;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
.sapUshellNavigationMenuListItems:not(:first-child) .sapMLIBContent:before {
|
|
116
|
-
background-color: @
|
|
116
|
+
background-color: @sapUiContentNonInteractiveIconColor;
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
/** Shell Application Title control **/
|
|
@@ -134,16 +134,6 @@
|
|
|
134
134
|
font-size: 1rem;
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
-
/** Shell Navigation Menu - override background color*/
|
|
138
|
-
#sapUshellNavMenuTabBar {
|
|
139
|
-
background-color: @sapUiListBackground;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
/** Shell Navigation Menu - override to style of the text-tab-bar head area background color**/
|
|
143
|
-
#sapUshellNavMenuTabBar .sapMITH {
|
|
144
|
-
background-color: @sapUiListBackground;
|
|
145
|
-
}
|
|
146
|
-
|
|
147
137
|
/** Shell Navigation Menu - Mini Tiles (of relatedApps)**/
|
|
148
138
|
.sapUshellNavMiniTile {
|
|
149
139
|
background-color: @sapUiTileBackground;
|
|
@@ -99,31 +99,6 @@
|
|
|
99
99
|
border-bottom: 0;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
/** Shell Navigation Menu - related Apps grid (within a flexbox) - override the text-tab-bar content area height **/
|
|
103
|
-
#sapUshellAppTitlePopover .sapMITBContent {
|
|
104
|
-
background-color: @sapUiButtonBackground;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/** Shell Navigation Menu - Popover Header color override **/
|
|
108
|
-
#sapUshellAppTitlePopover .sapMIBar.sapMHeader-CTX {
|
|
109
|
-
background-color: @sapUiListBackground;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** Shell Navigation Menu - override background color*/
|
|
113
|
-
#sapUshellNavMenuTabBar {
|
|
114
|
-
background-color: @sapUiListBackground;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/** Shell Navigation Menu - override to style of the text-tab-bar head area background color**/
|
|
118
|
-
#sapUshellNavMenuTabBar .sapMITH {
|
|
119
|
-
background-color: @sapUiListBackground;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
#sapUshellNavMenuTabBar .sapMITBContainerContent {
|
|
123
|
-
border: 0;
|
|
124
|
-
border-top: 2px @sapDefault_BorderStyle @sapUiHcStandardForeground;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
102
|
/** Shell Navigation Menu - Mini Tiles (of relatedApps)**/
|
|
128
103
|
.sapUshellNavMiniTile {
|
|
129
104
|
background-color: @sapUiListBackground;
|
|
@@ -99,31 +99,6 @@
|
|
|
99
99
|
border-bottom: 0;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
/** Shell Navigation Menu - related Apps grid (within a flexbox) - override the text-tab-bar content area height **/
|
|
103
|
-
#sapUshellAppTitlePopover .sapMITBContent {
|
|
104
|
-
background-color: @sapUiButtonBackground;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/** Shell Navigation Menu - Popover Header color override **/
|
|
108
|
-
#sapUshellAppTitlePopover .sapMIBar.sapMHeader-CTX {
|
|
109
|
-
background-color: @sapUiListBackground;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/** Shell Navigation Menu - override background color*/
|
|
113
|
-
#sapUshellNavMenuTabBar {
|
|
114
|
-
background-color: @sapUiListBackground;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
/** Shell Navigation Menu - override to style of the text-tab-bar head area background color**/
|
|
118
|
-
#sapUshellNavMenuTabBar .sapMITH {
|
|
119
|
-
background-color: @sapUiListBackground;
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
#sapUshellNavMenuTabBar .sapMITBContainerContent {
|
|
123
|
-
border: 0;
|
|
124
|
-
border-top: 2px @sapDefault_BorderStyle @sapUiHcStandardForeground;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
102
|
/** Shell Navigation Menu - Mini Tiles (of relatedApps)**/
|
|
128
103
|
.sapUshellNavMiniTile {
|
|
129
104
|
background-color: @sapUiListBackground;
|
|
@@ -24,23 +24,8 @@ sap.ui.define([
|
|
|
24
24
|
* the AppBox to be rendered
|
|
25
25
|
*/
|
|
26
26
|
AppBoxRenderer.render = function (rm, oAppBox) {
|
|
27
|
-
var oCatalogContainer = oAppBox.getParent(),
|
|
28
|
-
oAppBoxes = [];
|
|
29
|
-
|
|
30
|
-
if (oCatalogContainer && oCatalogContainer.getAppBoxesContainer && oCatalogContainer.getCustomTilesContainer) {
|
|
31
|
-
// AppFinder: CatalogEntryContainer
|
|
32
|
-
oAppBoxes = oCatalogContainer.getAppBoxesContainer().concat(oCatalogContainer.getCustomTilesContainer());
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
var oVisibleAppBoxes = oAppBoxes.filter(function (appBox) {
|
|
36
|
-
return appBox.getVisible();
|
|
37
|
-
}),
|
|
38
|
-
iCurrentItemIndex = oVisibleAppBoxes.indexOf(oAppBox) > -1 ? oVisibleAppBoxes.indexOf(oAppBox) + 1 : "";
|
|
39
|
-
|
|
40
27
|
rm.openStart("li", oAppBox);
|
|
41
28
|
rm.class("sapUshellAppBox");
|
|
42
|
-
rm.attr("aria-posinset", iCurrentItemIndex);
|
|
43
|
-
rm.attr("aria-setsize", oVisibleAppBoxes.length);
|
|
44
29
|
rm.attr("aria-label", oAppBox._getAriaLabel());
|
|
45
30
|
rm.attr("aria-roledescription", resources.i18n.getText("tile"));
|
|
46
31
|
rm.attr("aria-describedby", oAppBox.getId());
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
// Copyright (c) 2009-2022 SAP SE, All Rights Reserved
|
|
2
|
+
sap.ui.define([
|
|
3
|
+
"sap/ui/integration/Extension",
|
|
4
|
+
"sap/ushell/utils/UrlParsing",
|
|
5
|
+
"sap/ushell/utils/AppType",
|
|
6
|
+
"sap/ushell/library",
|
|
7
|
+
"sap/ushell/Config",
|
|
8
|
+
"sap/ushell/EventHub",
|
|
9
|
+
"sap/ushell/resources"
|
|
10
|
+
], function (Extension, UrlParsing, AppTypeUtils, ushellLibrary, Config, EventHub, resources) {
|
|
11
|
+
"use strict";
|
|
12
|
+
|
|
13
|
+
var AppType = ushellLibrary.AppType;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Formats a title string based on the app type.
|
|
17
|
+
*
|
|
18
|
+
* @param {string} sTitle Title to be formatted.
|
|
19
|
+
* @param {string} sAppType The app type.
|
|
20
|
+
* @returns {string} The formatted title.
|
|
21
|
+
*
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
function _titleFormatter (sTitle, sAppType) {
|
|
25
|
+
if (sAppType === AppType.SEARCH) {
|
|
26
|
+
return "\"" + sTitle + "\"";
|
|
27
|
+
}
|
|
28
|
+
return sTitle;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Formats the description based on the app type.
|
|
33
|
+
*
|
|
34
|
+
* @param {string} sAppType The app type.
|
|
35
|
+
* @returns {string} The formatted description.
|
|
36
|
+
*
|
|
37
|
+
* @private
|
|
38
|
+
*/
|
|
39
|
+
function _descriptionFormatter (sAppType) {
|
|
40
|
+
if (sAppType === AppType.SEARCH) {
|
|
41
|
+
return resources.i18n.getText("recentActivitiesSearchDescription");
|
|
42
|
+
}
|
|
43
|
+
return AppTypeUtils.getDisplayName(sAppType);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return Extension.extend("sap.ushell.ui.cards.FrequentActivitiesExtension", {
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Initializes the card extension.
|
|
50
|
+
*/
|
|
51
|
+
init: function () {
|
|
52
|
+
Extension.prototype.init.apply(this, arguments);
|
|
53
|
+
this.oUserRecentsPromise = sap.ushell.Container.getServiceAsync("UserRecents");
|
|
54
|
+
this.oCrossAppNavPromise = sap.ushell.Container.getServiceAsync("CrossApplicationNavigation");
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Exit callback. Cleans up the objects and turns of the event listening for EventHub events.
|
|
59
|
+
*/
|
|
60
|
+
exit: function () {
|
|
61
|
+
Extension.prototype.exit.apply(this, arguments);
|
|
62
|
+
EventHub.on("newUserRecentsItem").off();
|
|
63
|
+
EventHub.on("userRecentsCleared").off();
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* When the card is loaded and ready () we will listen to the EventHub events newUserRecentsItem and userRecentsCleared to refresh the card data.
|
|
68
|
+
*/
|
|
69
|
+
onCardReady: function () {
|
|
70
|
+
EventHub.on("newUserRecentsItem").do(function () {
|
|
71
|
+
// It will call getData() again, and show loading placeholders while loading.
|
|
72
|
+
// Data sorting has to be implemented in the getData() method.
|
|
73
|
+
this.getCard().refreshData();
|
|
74
|
+
}.bind(this));
|
|
75
|
+
|
|
76
|
+
EventHub.on("userRecentsCleared").do(function () {
|
|
77
|
+
this.getCard().refreshData();
|
|
78
|
+
}.bind(this));
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Gets the Data to be used for binding the card items.
|
|
83
|
+
* @returns {Promise} A Promise with the frequently used card items.
|
|
84
|
+
*/
|
|
85
|
+
getData: function () {
|
|
86
|
+
if (!Config.last("/core/shell/model/enableTrackingActivity")) {
|
|
87
|
+
return Promise.resolve([]);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (this._sortedData) {
|
|
91
|
+
return Promise.resolve(this._resolvedData);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return this.oUserRecentsPromise
|
|
95
|
+
.then(function (oUserRecents) { // 1: get the data
|
|
96
|
+
return new Promise(function (resolve, reject) {
|
|
97
|
+
oUserRecents.getFrequentActivity()
|
|
98
|
+
.done(resolve)
|
|
99
|
+
.fail(reject);
|
|
100
|
+
});
|
|
101
|
+
})
|
|
102
|
+
.then(this._getActivitiesAsCardItems.bind(this)) // 2: prepare the data for the card
|
|
103
|
+
.then(this._checkEnabled.bind(this)); // 3: determine which items are enabled - set their "Enabled" property
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Generates the card item objects for the given activities.
|
|
108
|
+
* @param {Object []} aActivities Array of activities that need to be used to generate card items.
|
|
109
|
+
* @returns {Promise []} Array of card item objects that can be bound to the list items of the card.
|
|
110
|
+
*
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
113
|
+
_getActivitiesAsCardItems: function (aActivities) {
|
|
114
|
+
var aCardItems = [],
|
|
115
|
+
oCardItem;
|
|
116
|
+
for (var i = 0; i < aActivities.length; i++) {
|
|
117
|
+
if (aActivities[i].url && aActivities[i].url !== "") {
|
|
118
|
+
var oShellHash = UrlParsing.parseShellHash(aActivities[i].url);
|
|
119
|
+
oCardItem = {
|
|
120
|
+
Name: _titleFormatter(aActivities[i].title, aActivities[i].appType),
|
|
121
|
+
Description: _descriptionFormatter(aActivities[i].appType),
|
|
122
|
+
Icon: aActivities[i].icon || "sap-icon://product",
|
|
123
|
+
Url: aActivities[i].url
|
|
124
|
+
};
|
|
125
|
+
if (oShellHash) {
|
|
126
|
+
oCardItem.Intent = {
|
|
127
|
+
SemanticObject: oShellHash.semanticObject,
|
|
128
|
+
Action: oShellHash.action,
|
|
129
|
+
Parameters: oShellHash.params,
|
|
130
|
+
AppSpecificRoute: oShellHash.appSpecificRoute
|
|
131
|
+
};
|
|
132
|
+
} else {
|
|
133
|
+
oCardItem.Url = aActivities[i].url;
|
|
134
|
+
}
|
|
135
|
+
aCardItems.push(oCardItem);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return aCardItems;
|
|
139
|
+
},
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Checks for a given array of card activities if each of them is enabled for user interaction.
|
|
143
|
+
* It adds the Enabled property to each object with the boolean representation of enablement.
|
|
144
|
+
* @param {Object []} aActivities Array of activities (frequently used apps) to check if each of them is enabled for user action.
|
|
145
|
+
* @returns {Promise []} Array of resolved Promises of activities with the additional information about the interaction enablement for each entry.
|
|
146
|
+
*
|
|
147
|
+
* @private
|
|
148
|
+
*/
|
|
149
|
+
_checkEnabled: function (aActivities) {
|
|
150
|
+
var aPromises = aActivities.map(function (oActivity) {
|
|
151
|
+
return this._isActionEnabled(oActivity)
|
|
152
|
+
.then(function (bEnabled) {
|
|
153
|
+
oActivity.Enabled = bEnabled;
|
|
154
|
+
return oActivity;
|
|
155
|
+
});
|
|
156
|
+
}.bind(this));
|
|
157
|
+
|
|
158
|
+
return Promise.all(aPromises);
|
|
159
|
+
},
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Checks if the navigation for a given context is supported. This is the case if eigther the activity
|
|
163
|
+
* Url property is a Url or a parseable ShellHash.
|
|
164
|
+
* @param {Object} oActivity activity for which the navigation support is checked
|
|
165
|
+
* @returns {Promise} Resolves to true if the navigation is supported or an Url is given, false else.
|
|
166
|
+
*
|
|
167
|
+
* @private
|
|
168
|
+
*/
|
|
169
|
+
_isActionEnabled: function (oActivity) {
|
|
170
|
+
var oShellHash = UrlParsing.parseShellHash(oActivity.Url);
|
|
171
|
+
|
|
172
|
+
if (!oShellHash) {
|
|
173
|
+
return Promise.resolve(true);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
var oParameters = oShellHash.params;
|
|
177
|
+
|
|
178
|
+
var oNavigation = {
|
|
179
|
+
target: {
|
|
180
|
+
semanticObject: oShellHash.semanticObject,
|
|
181
|
+
action: oShellHash.action
|
|
182
|
+
},
|
|
183
|
+
params: oParameters
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
return this.oCrossAppNavPromise.then(function (oCrossAppNav) {
|
|
187
|
+
return new Promise(function (resolve) {
|
|
188
|
+
oCrossAppNav.isNavigationSupported([oNavigation])
|
|
189
|
+
.done(function (aResponses) {
|
|
190
|
+
resolve(aResponses[0].supported);
|
|
191
|
+
})
|
|
192
|
+
.fail(function () {
|
|
193
|
+
resolve(false);
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
});
|
|
199
|
+
});
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
// Copyright (c) 2009-2022 SAP SE, All Rights Reserved
|
|
2
|
+
/**
|
|
3
|
+
* @fileOverview Extension for recent activities card
|
|
4
|
+
*
|
|
5
|
+
* @version 1.112.0
|
|
6
|
+
*/
|
|
7
|
+
sap.ui.define([
|
|
8
|
+
"sap/ui/integration/Extension",
|
|
9
|
+
"sap/ushell/utils/UrlParsing",
|
|
10
|
+
"sap/ushell/utils/AppType",
|
|
11
|
+
"sap/ushell/library",
|
|
12
|
+
"sap/ushell/Config",
|
|
13
|
+
"sap/ushell/EventHub",
|
|
14
|
+
"sap/ushell/resources"
|
|
15
|
+
], function (Extension, UrlParsing, AppTypeUtils, ushellLibrary, Config, EventHub, resources) {
|
|
16
|
+
"use strict";
|
|
17
|
+
|
|
18
|
+
var AppType = ushellLibrary.AppType;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Formats a title string based on the app type.
|
|
22
|
+
*
|
|
23
|
+
* @param {string} sTitle Title to be formatted.
|
|
24
|
+
* @param {string} sAppType The app type.
|
|
25
|
+
* @returns {string} The formatted title.
|
|
26
|
+
*
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
function _titleFormatter (sTitle, sAppType) {
|
|
30
|
+
if (sAppType === AppType.SEARCH) {
|
|
31
|
+
return "\"" + sTitle + "\"";
|
|
32
|
+
}
|
|
33
|
+
return sTitle;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Formats the description based on the app type.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} sAppType The app type.
|
|
40
|
+
* @returns {string} The formatted description.
|
|
41
|
+
*
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
function _descriptionFormatter (sAppType) {
|
|
45
|
+
if (sAppType === AppType.SEARCH) {
|
|
46
|
+
return resources.i18n.getText("recentActivitiesSearchDescription");
|
|
47
|
+
}
|
|
48
|
+
return AppTypeUtils.getDisplayName(sAppType);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return Extension.extend("sap.ushell.ui.cards.RecentActivitiesExtension", {
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Initializes the card extension.
|
|
55
|
+
*/
|
|
56
|
+
init: function () {
|
|
57
|
+
Extension.prototype.init.apply(this, arguments);
|
|
58
|
+
this.oUserRecentsPromise = sap.ushell.Container.getServiceAsync("UserRecents");
|
|
59
|
+
this.oCrossAppNavPromise = sap.ushell.Container.getServiceAsync("CrossApplicationNavigation");
|
|
60
|
+
},
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Exit callback. Cleans up the objects and turns of the event listening for EventHub events.
|
|
64
|
+
*/
|
|
65
|
+
exit: function () {
|
|
66
|
+
Extension.prototype.exit.apply(this, arguments);
|
|
67
|
+
EventHub.on("newUserRecentsItem").off();
|
|
68
|
+
EventHub.on("userRecentsCleared").off();
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* When the card is loaded and ready () we will listen to the EventHub events newUserRecentsItem and userRecentsCleared to refresh the card data.
|
|
73
|
+
*/
|
|
74
|
+
onCardReady: function () {
|
|
75
|
+
EventHub.on("newUserRecentsItem").do(function () {
|
|
76
|
+
// refreshData calls getData again
|
|
77
|
+
this.getCard().refreshData();
|
|
78
|
+
}.bind(this));
|
|
79
|
+
|
|
80
|
+
EventHub.on("userRecentsCleared").do(function () {
|
|
81
|
+
this.getCard().refreshData();
|
|
82
|
+
}.bind(this));
|
|
83
|
+
},
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Gets the Data to be used for binding the card items.
|
|
87
|
+
* @returns {Promise} A Promise with the recently used card items.
|
|
88
|
+
*/
|
|
89
|
+
getData: function () {
|
|
90
|
+
if (!Config.last("/core/shell/model/enableTrackingActivity")) {
|
|
91
|
+
return Promise.resolve([]);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
return this.oUserRecentsPromise
|
|
95
|
+
.then(function (oUserRecents) {
|
|
96
|
+
return new Promise(function (resolve, reject) {
|
|
97
|
+
oUserRecents.getRecentActivity()
|
|
98
|
+
.done(resolve)
|
|
99
|
+
.fail(reject);
|
|
100
|
+
});
|
|
101
|
+
})
|
|
102
|
+
.then(this._getActivitiesAsCardItems.bind(this))
|
|
103
|
+
.then(this._checkEnabled.bind(this));
|
|
104
|
+
},
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Generates the card item objects for the given activities.
|
|
108
|
+
* @param {Object []} aActivities Array of activities that need to be used to generate card items.
|
|
109
|
+
* @returns {Promise []} Array of card item objects that can be bound to the list items of the card.
|
|
110
|
+
*
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
113
|
+
_getActivitiesAsCardItems: function (aActivities) {
|
|
114
|
+
var aCardItems = [],
|
|
115
|
+
oCardItem;
|
|
116
|
+
for (var i = 0; i < aActivities.length; i++) {
|
|
117
|
+
if (aActivities[i].url && aActivities[i].url !== "") {
|
|
118
|
+
var oShellHash = UrlParsing.parseShellHash(aActivities[i].url);
|
|
119
|
+
|
|
120
|
+
oCardItem = {
|
|
121
|
+
Name: _titleFormatter(aActivities[i].title, aActivities[i].appType),
|
|
122
|
+
Description: _descriptionFormatter(aActivities[i].appType),
|
|
123
|
+
Icon: aActivities[i].icon || "sap-icon://product",
|
|
124
|
+
Url: aActivities[i].url
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
if (oShellHash) {
|
|
128
|
+
oCardItem.Intent = {
|
|
129
|
+
SemanticObject: oShellHash.semanticObject,
|
|
130
|
+
Action: oShellHash.action,
|
|
131
|
+
Parameters: oShellHash.params,
|
|
132
|
+
AppSpecificRoute: oShellHash.appSpecificRoute
|
|
133
|
+
};
|
|
134
|
+
} else {
|
|
135
|
+
oCardItem.Url = aActivities[i].url;
|
|
136
|
+
}
|
|
137
|
+
aCardItems.push(oCardItem);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return aCardItems;
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Checks for a given array of card activities if each of them is enabled for user interaction.
|
|
145
|
+
* It adds the Enabled property to each object with the boolean representation of enablement.
|
|
146
|
+
* @param {Object []} aActivities Array of activities (recently used apps) to check if each of them is enabled for user action.
|
|
147
|
+
* @returns {Promise []} Array of resolved Promises of activities with the additional information about the interaction enablement for each entry.
|
|
148
|
+
*
|
|
149
|
+
* @private
|
|
150
|
+
*/
|
|
151
|
+
_checkEnabled: function (aActivities) {
|
|
152
|
+
var aPromises = aActivities.map(function (oActivity) {
|
|
153
|
+
return this._isActionEnabled(oActivity)
|
|
154
|
+
.then(function (bEnabled) {
|
|
155
|
+
oActivity.Enabled = bEnabled;
|
|
156
|
+
return oActivity;
|
|
157
|
+
});
|
|
158
|
+
}.bind(this));
|
|
159
|
+
|
|
160
|
+
return Promise.all(aPromises);
|
|
161
|
+
},
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Checks if the navigation for a given context is supported. This is the case if eigther the activity
|
|
165
|
+
* Url property is a Url or a parseable ShellHash.
|
|
166
|
+
* @param {Object} oActivity activity for which the navigation support is checked.
|
|
167
|
+
* @returns {Promise} Resolves to true if the navigation is supported or an Url is given, false else.
|
|
168
|
+
*
|
|
169
|
+
* @private
|
|
170
|
+
*/
|
|
171
|
+
_isActionEnabled: function (oActivity) {
|
|
172
|
+
var oShellHash = UrlParsing.parseShellHash(oActivity.Url);
|
|
173
|
+
|
|
174
|
+
if (!oShellHash) {
|
|
175
|
+
return Promise.resolve(true);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
var oParameters = oShellHash.params;
|
|
179
|
+
|
|
180
|
+
var oNavigation = {
|
|
181
|
+
target: {
|
|
182
|
+
semanticObject: oShellHash.semanticObject,
|
|
183
|
+
action: oShellHash.action
|
|
184
|
+
},
|
|
185
|
+
params: oParameters
|
|
186
|
+
};
|
|
187
|
+
|
|
188
|
+
return this.oCrossAppNavPromise.then(function (oCrossAppNav) {
|
|
189
|
+
return new Promise(function (resolve) {
|
|
190
|
+
oCrossAppNav.isNavigationSupported([oNavigation])
|
|
191
|
+
.done(function (aResponses) {
|
|
192
|
+
resolve(aResponses[0].supported);
|
|
193
|
+
})
|
|
194
|
+
.fail(function () {
|
|
195
|
+
resolve(false);
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
});
|
|
202
|
+
});
|
|
@@ -41,7 +41,7 @@ sap.ui.define([
|
|
|
41
41
|
* @extends sap.ui.core.Control
|
|
42
42
|
*
|
|
43
43
|
* @author SAP SE
|
|
44
|
-
* @version 1.
|
|
44
|
+
* @version 1.112.0
|
|
45
45
|
*
|
|
46
46
|
* @constructor
|
|
47
47
|
* @private
|
|
@@ -350,8 +350,20 @@ sap.ui.define([
|
|
|
350
350
|
* @param {jQuery.Event} oEvent The <code>tap</code> event object
|
|
351
351
|
*/
|
|
352
352
|
AppBox.prototype.ontap = function (oEvent) {
|
|
353
|
+
// If something is selected, prevent the event
|
|
354
|
+
var oSelection = window.getSelection();
|
|
355
|
+
var sTextSelection = oSelection.toString().replace("\n", "");
|
|
356
|
+
if (sTextSelection && jQuery.contains(this.getDomRef(), oSelection.focusNode)) {
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// The user tap can occur on different controls (GridContainer, AppBox, Checkbox within the AppBox).
|
|
353
361
|
var oSource = oEvent.srcControl;
|
|
354
|
-
if (!this.getDisabled() && (
|
|
362
|
+
if (!this.getDisabled() && (
|
|
363
|
+
oSource === this
|
|
364
|
+
|| oSource === this.getAggregation("_selectCheckBox")
|
|
365
|
+
|| (oEvent.target && oEvent.target.firstChild === this.getDomRef())
|
|
366
|
+
)) {
|
|
355
367
|
if (this.getSelectable()) {
|
|
356
368
|
var bOldValue = this.getSelected();
|
|
357
369
|
this.setSelected(!bOldValue);
|
|
@@ -360,6 +372,9 @@ sap.ui.define([
|
|
|
360
372
|
this.firePress();
|
|
361
373
|
}
|
|
362
374
|
}
|
|
375
|
+
|
|
376
|
+
// Set the focus to the source again
|
|
377
|
+
oSource.focus();
|
|
363
378
|
};
|
|
364
379
|
|
|
365
380
|
/**
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
// Copyright (c) 2009-2022 SAP SE, All Rights Reserved
|
|
2
2
|
|
|
3
|
-
sap.ui.define([
|
|
4
|
-
"sap/ui/thirdparty/jquery"
|
|
5
|
-
], function (jQuery) {
|
|
3
|
+
sap.ui.define([], function () {
|
|
6
4
|
"use strict";
|
|
7
5
|
|
|
8
6
|
/**
|
|
@@ -29,13 +27,7 @@ sap.ui.define([
|
|
|
29
27
|
}
|
|
30
28
|
rm.openEnd(); // div - tag
|
|
31
29
|
|
|
32
|
-
|
|
33
|
-
this.renderAppInfo(rm, loadingDialog);
|
|
34
|
-
this.renderFioriFlower(rm);
|
|
35
|
-
} else {
|
|
36
|
-
this.renderFioriFlower(rm);
|
|
37
|
-
this.renderAppInfo(rm, loadingDialog);
|
|
38
|
-
}
|
|
30
|
+
this.renderAppInfo(rm, loadingDialog);
|
|
39
31
|
|
|
40
32
|
rm.close("div");
|
|
41
33
|
},
|
|
@@ -55,41 +47,6 @@ sap.ui.define([
|
|
|
55
47
|
rm.close("span");
|
|
56
48
|
rm.renderControl(loadingDialog._oLabel);
|
|
57
49
|
rm.close("div");
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
renderFioriFlower: function (rm) {
|
|
61
|
-
var oUserAgentRegex = /Android\s4\.2.+GT-I9505.+Chrome\/18/, // Chrome 18 on Android 4.2.x / Samsung Galaxy S4
|
|
62
|
-
bReplaceFlower = navigator.userAgent && oUserAgentRegex.test(navigator.userAgent); // some browsers do not get the flower but the replacement
|
|
63
|
-
|
|
64
|
-
// create either flowery code or busy indicator
|
|
65
|
-
if (jQuery.support.cssAnimations && !bReplaceFlower) {
|
|
66
|
-
rm.openStart("div", "fiori2-loader");
|
|
67
|
-
rm.openEnd(); // div - tag
|
|
68
|
-
|
|
69
|
-
rm.openStart("div");
|
|
70
|
-
rm.class("fiori2-blossom");
|
|
71
|
-
rm.openEnd(); // div - tag
|
|
72
|
-
|
|
73
|
-
for (var i = 1; i < 6; ++i) {
|
|
74
|
-
rm.openStart("div");
|
|
75
|
-
rm.class("fiori2-leafContainer");
|
|
76
|
-
rm.class("fiori2-leafContainer" + i);
|
|
77
|
-
rm.openEnd(); // div - tag
|
|
78
|
-
|
|
79
|
-
rm.openStart("div");
|
|
80
|
-
rm.class("fiori2-leaf");
|
|
81
|
-
rm.class("fiori2-leaf" + i);
|
|
82
|
-
rm.openEnd(); // div - tag
|
|
83
|
-
rm.close("div");
|
|
84
|
-
// end leafContainer
|
|
85
|
-
rm.close("div");
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// end blossom
|
|
89
|
-
rm.close("div");
|
|
90
|
-
// end fiori2-loader
|
|
91
|
-
rm.close("div");
|
|
92
|
-
}
|
|
93
50
|
}
|
|
94
51
|
};
|
|
95
52
|
|