@sapui5/sap.ushell 1.118.0 → 1.119.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +6 -5
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/ApplicationType.js +1 -1
- package/src/main/js/sap/ushell/CanvasShapesManager.js +13 -7
- package/src/main/js/sap/ushell/Config.js +1 -1
- package/src/main/js/sap/ushell/Container.js +255 -185
- package/src/main/js/sap/ushell/EventHub.js +1 -1
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +2 -2
- package/src/main/js/sap/ushell/Layout.js +3 -3
- package/src/main/js/sap/ushell/NWBCInterface.js +3 -3
- package/src/main/js/sap/ushell/TechnicalParameters.js +3 -3
- package/src/main/js/sap/ushell/UIActions.js +44 -44
- 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 +4 -4
- package/src/main/js/sap/ushell/User.js +1 -1
- package/src/main/js/sap/ushell/UserActivityLog.js +8 -8
- package/src/main/js/sap/ushell/_ApplicationType/guiResolution.js +5 -5
- package/src/main/js/sap/ushell/_ApplicationType/systemAlias.js +1 -1
- package/src/main/js/sap/ushell/_ApplicationType/urlTemplateResolution.js +16 -11
- package/src/main/js/sap/ushell/_Config/utils.js +5 -5
- 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 +14 -8
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +4 -5
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -2
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +12 -13
- package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +4 -3
- 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 +2 -2
- 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/_Personalization/internals.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +5 -2
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +4 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +3 -4
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +10 -11
- 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 +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/utilsCdm.js +2 -2
- package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +0 -1
- package/src/main/js/sap/ushell/adapters/cep/NavTargetResolutionAdapter.js +3 -4
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +3 -2
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +2 -3
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +3 -3
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -3
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +2 -3
- package/src/main/js/sap/ushell/adapters/local/MenuAdapter.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 +2 -2
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -2
- 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 -2
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +5 -9
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/Renderer.js +5 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +31 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycleAgent.js +2 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +7 -3
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/_SchedulingAgent/FLPLoader.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 +3 -3
- package/src/main/js/sap/ushell/bootstrap/common/common.configure.ui5.js +2 -2
- 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.load.core-min.js +2 -2
- package/src/main/js/sap/ushell/bootstrap/common/common.load.launchpad.js +7 -3
- package/src/main/js/sap/ushell/bootstrap/common/common.load.script.js +4 -4
- package/src/main/js/sap/ushell/bootstrap/common/common.util.js +7 -7
- package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxConfig.json +214 -0
- package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxSite.json +511 -0
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +398 -0
- package/src/main/js/sap/ushell/components/CatalogsManager.js +26 -25
- package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +20 -15
- package/src/main/js/sap/ushell/components/DestroyHelper.js +2 -2
- package/src/main/js/sap/ushell/components/HomepageManager.js +6 -6
- package/src/main/js/sap/ushell/components/_HeaderManager/ControlManager.js +1 -1
- package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +5 -5
- package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +19 -15
- package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +12 -12
- package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +18 -18
- package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +1 -1
- package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +2 -2
- package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +6 -6
- package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +4 -4
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +8 -6
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +2 -2
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +5 -5
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +21 -26
- 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/cards/Configuration.controller.js +2 -2
- package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +6 -2
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +44 -6
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Application.js +22 -9
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +23 -16
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +1 -2
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +5 -6
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +1 -2
- package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +3 -3
- package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +0 -1
- package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.view.xml +7 -6
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +2 -7
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +13 -13
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
- 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 +10 -10
- 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/StateManager.js +2 -2
- package/src/main/js/sap/ushell/components/pages/controller/ImportDialog.controller.js +12 -12
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +93 -95
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +31 -23
- 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/controller/MenuBar.controller.js +7 -6
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -3
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +2 -2
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +2 -2
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/ESearch.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 +2 -2
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +74 -16
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchFieldFragment.fragment.xml +2 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -2
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -2
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -2
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +8 -9
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +53 -13
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.view.xml +5 -0
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +41 -38
- package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +2 -2
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +7 -3
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +0 -2
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTileTmp.view.js +0 -2
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTileTmp.view.js +0 -2
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +0 -2
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +1 -1
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +0 -2
- package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +41 -48
- package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +3 -3
- package/src/main/js/sap/ushell/components/tiles/utils.js +1 -1
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +5 -18
- package/src/main/js/sap/ushell/components/visualizationOrganizer/VisualizationOrganizerPopover.fragment.xml +3 -3
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +65 -95
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +182 -90
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageHost.js +1 -1
- 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 +0 -2
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +53 -3
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +1 -0
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +6 -2
- package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/services/NavigationResolver.js +1 -2
- package/src/main/js/sap/ushell/components/workPageRuntime/services/WorkPage.js +1 -2
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
- package/src/main/js/sap/ushell/library.js +4 -2
- package/src/main/js/sap/ushell/navigationMode.js +10 -5
- package/src/main/js/sap/ushell/override.js +1 -1
- package/src/main/js/sap/ushell/performance/FesrEnhancer.js +248 -187
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +206 -207
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +366 -230
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/Renderer.js +39 -23
- package/src/main/js/sap/ushell/renderers/fiori2/RendererExtensions.js +105 -25
- package/src/main/js/sap/ushell/renderers/fiori2/Shell.controller.js +63 -52
- package/src/main/js/sap/ushell/renderers/fiori2/ShellLayout.js +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/resources/resources.properties +1 -1
- package/src/main/js/sap/ushell/renderers/fiori2/resources/resources_ko.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 +3 -3
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/services/AppState.js +2 -3
- package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel.js +4 -5
- package/src/main/js/sap/ushell/services/Configuration.js +1 -2
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +2 -2
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +36 -33
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +2 -2
- package/src/main/js/sap/ushell/services/EndUserFeedback.js +2 -2
- package/src/main/js/sap/ushell/services/LaunchPage.js +11 -8
- package/src/main/js/sap/ushell/services/Menu.js +31 -37
- package/src/main/js/sap/ushell/services/Message.js +1 -2
- package/src/main/js/sap/ushell/services/MessageBroker.js +1 -2
- package/src/main/js/sap/ushell/services/NavTargetResolution.js +58 -9
- package/src/main/js/sap/ushell/services/Navigation.js +1356 -0
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +7 -5
- package/src/main/js/sap/ushell/services/Notifications.js +16 -16
- package/src/main/js/sap/ushell/services/PageBuilding.js +1 -2
- package/src/main/js/sap/ushell/services/PagePersistence.js +6 -6
- package/src/main/js/sap/ushell/services/PageReferencing.js +2 -2
- package/src/main/js/sap/ushell/services/Pages.js +24 -25
- package/src/main/js/sap/ushell/services/Personalization.js +5 -5
- package/src/main/js/sap/ushell/services/PluginManager.js +1 -2
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +2 -2
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +2 -1
- package/src/main/js/sap/ushell/services/SearchableContent.js +85 -59
- package/src/main/js/sap/ushell/services/ShellNavigation.js +59 -17
- package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +115 -39
- package/src/main/js/sap/ushell/services/SmartNavigation.js +4 -4
- package/src/main/js/sap/ushell/services/SpaceContent.js +5 -6
- package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
- package/src/main/js/sap/ushell/services/UITracer.js +5 -3
- package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
- package/src/main/js/sap/ushell/services/URLTemplate.js +2 -2
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +7 -7
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -2
- 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 +91 -69
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +10 -6
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -3
- 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 +2 -5
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +2 -2
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +11 -11
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +6 -6
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +2 -2
- package/src/main/js/sap/ushell/services/_CommonDataModel/PersonalizationProcessor.js +1 -2
- 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 +1 -1
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +9 -14
- package/src/main/js/sap/ushell/services/_MessageBroker/MessageBrokerEngine.js +1 -1
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
- package/src/main/js/sap/ushell/services/_Personalization/ContextContainer.js +34 -21
- package/src/main/js/sap/ushell/services/_Personalization/Variant.js +5 -2
- package/src/main/js/sap/ushell/services/_Personalization/VariantSet.js +18 -12
- package/src/main/js/sap/ushell/services/_Personalization/utils.js +2 -2
- package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +3 -3
- 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/_UserRecents/RecentActivity.js +206 -214
- package/src/main/js/sap/ushell/services/_UserRecents/RecentAppsUsage.js +46 -54
- package/src/main/js/sap/ushell/services/_UserRecents/RecentsList.js +39 -40
- package/src/main/js/sap/ushell/services/_UserRecents/UserRecentsBase.js +29 -36
- package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstance.js +1 -1
- package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceAbap.js +1 -1
- package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceCdm.js +1 -1
- package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLaunchPage.js +10 -8
- package/src/main/js/sap/ushell/services/_VisualizationInstantiation/VizInstanceLink.js +2 -2
- package/src/main/js/sap/ushell/services/appstate/LimitedBuffer.js +1 -2
- package/src/main/js/sap/ushell/services/appstate/Sequentializer.js +1 -1
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/SearchCEP.less +8 -0
- package/src/main/js/sap/ushell/themes/base/ShellHeader.less +12 -6
- package/src/main/js/sap/ushell/themes/base/WorkPage.less +34 -4
- package/src/main/js/sap/ushell/themes/base/WorkPageCell.less +3 -1
- package/src/main/js/sap/ushell/themes/base/WorkPageColumn.less +3 -76
- package/src/main/js/sap/ushell/themes/base/WorkPageColumnResizer.less +2 -1
- package/src/main/js/sap/ushell/themes/base/WorkPageRow.less +822 -6
- package/src/main/js/sap/ushell/themes/sap_horizon/SearchCEP.less +4 -0
- package/src/main/js/sap/ushell/themes/sap_horizon/ToolAreaItem.less +1 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_dark/SearchCEP.less +4 -0
- package/src/main/js/sap/ushell/themes/sap_horizon_dark/ToolAreaItem.less +1 -1
- package/src/main/js/sap/ushell/themes/sap_horizon_hcb/SearchCEP.less +5 -0
- package/src/main/js/sap/ushell/themes/sap_horizon_hcw/SearchCEP.less +5 -0
- package/src/main/js/sap/ushell/ui/AppContainer.js +0 -1
- package/src/main/js/sap/ushell/ui/ContentNodeSelector.js +1 -1
- package/src/main/js/sap/ushell/ui/QuickAccess.js +2 -2
- package/src/main/js/sap/ushell/ui/ShellHeader.js +21 -5
- package/src/main/js/sap/ushell/ui/ShellHeaderRenderer.js +1 -0
- package/src/main/js/sap/ushell/ui/appfinder/AppBox.js +0 -1
- package/src/main/js/sap/ushell/ui/bookmark/SaveOnPage.view.xml +6 -6
- package/src/main/js/sap/ushell/ui/cards/FrequentActivitiesExtension.js +1 -1
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
- package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +0 -1
- package/src/main/js/sap/ushell/ui/footerbar/AddBookmarkButton.js +32 -17
- package/src/main/js/sap/ushell/ui/footerbar/ContactSupportButton.js +0 -1
- package/src/main/js/sap/ushell/ui/footerbar/JamDiscussButton.js +0 -1
- package/src/main/js/sap/ushell/ui/footerbar/JamShareButton.js +0 -1
- package/src/main/js/sap/ushell/ui/footerbar/LogoutButton.js +0 -1
- package/src/main/js/sap/ushell/ui/footerbar/SaveAsTile.view.js +1 -12
- package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/ActionItem.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/AnchorItem.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/AnchorNavigationBar.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/FailedTileDialog.js +4 -4
- package/src/main/js/sap/ushell/ui/launchpad/GroupHeaderActions.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/GroupListItem.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/LinkTileWrapper.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/LoadingDialog.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/Page.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/PlusTile.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +3 -3
- package/src/main/js/sap/ushell/ui/launchpad/Tile.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/TileContainer.js +0 -1
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +4 -5
- package/src/main/js/sap/ushell/ui/shell/RightFloatingContainer.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +7 -8
- package/src/main/js/sap/ushell/ui/shell/SysInfoBar.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -2
- package/src/main/js/sap/ushell/ui/tile/DynamicTile.js +0 -1
- package/src/main/js/sap/ushell/ui/tile/ImageTile.js +0 -1
- package/src/main/js/sap/ushell/ui/tile/StaticTile.js +0 -1
- package/src/main/js/sap/ushell/ui/tile/TileBase.js +0 -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/ui5service/_ShellUIService/shelluiservice.class.factory.js +1 -1
- package/src/main/js/sap/ushell/utils/HttpClient.js +0 -1
- package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +1 -1
- package/src/main/js/sap/ushell/utils/UrlParsing.js +18 -14
- package/src/main/js/sap/ushell/utils/UrlShortening.js +2 -2
- package/src/main/js/sap/ushell/utils/objectOperations.js +1 -1
- package/src/main/js/sap/ushell/utils/type.js +1 -1
- package/src/main/js/sap/ushell/utils/utilsCdm.js +3 -3
- package/src/main/js/sap/ushell/utils.js +128 -21
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +2 -2
- package/ui5.yaml +1 -0
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Menu.js +0 -22
|
@@ -0,0 +1,398 @@
|
|
|
1
|
+
// Copyright (c) 2009-2023 SAP SE, All Rights Reserved
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @fileOverview The Unified Shell's bootstrap code for development sandbox scenarios.
|
|
5
|
+
* This is the version that creates spaces/pages runtime environment.
|
|
6
|
+
*
|
|
7
|
+
* @version 1.119.2
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/* eslint-disable quote-props */
|
|
11
|
+
(function () {
|
|
12
|
+
"use strict";
|
|
13
|
+
|
|
14
|
+
window["sap-ui-config"] = {
|
|
15
|
+
"xx-bootTask": function (fnCallback) {
|
|
16
|
+
init().then((bootstrap) => {
|
|
17
|
+
bootstrap(fnCallback);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
function init () {
|
|
23
|
+
return new Promise(function (resolve) {
|
|
24
|
+
sap.ui.require([
|
|
25
|
+
"sap/base/util/UriParameters",
|
|
26
|
+
"sap/base/Log",
|
|
27
|
+
"sap/base/util/ObjectPath",
|
|
28
|
+
"sap/ushell/Container"
|
|
29
|
+
], function (
|
|
30
|
+
UriParameters,
|
|
31
|
+
Log,
|
|
32
|
+
ObjectPath
|
|
33
|
+
/* Container - necessary for sap.ushell.bootstrap */
|
|
34
|
+
) {
|
|
35
|
+
|
|
36
|
+
async function _loadJSON (sUrl) {
|
|
37
|
+
function logError () {
|
|
38
|
+
Log.error("Failed to load Fiori Launchpad Sandbox configuration", sUrl);
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const response = await fetch(sUrl, {
|
|
42
|
+
headers: {
|
|
43
|
+
"Content-Type": "application/json"
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
if (response.ok) {
|
|
47
|
+
const oData = await response.json();
|
|
48
|
+
return oData;
|
|
49
|
+
}
|
|
50
|
+
logError();
|
|
51
|
+
} catch (e) {
|
|
52
|
+
logError();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function mergeConfig (oBaseConfig, oCustomConfig, bCloneCustom) {
|
|
57
|
+
if (typeof oCustomConfig !== "object") {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const oConfigToMerge = bCloneCustom ? JSON.parse(JSON.stringify(oCustomConfig)) : oCustomConfig;
|
|
62
|
+
|
|
63
|
+
Object.entries(oConfigToMerge).forEach(([sKey, oValue]) => {
|
|
64
|
+
if (Object.prototype.toString.apply(oBaseConfig[sKey]) === "[object Object]" &&
|
|
65
|
+
Object.prototype.toString.apply(oValue) === "[object Object]") {
|
|
66
|
+
mergeConfig(oBaseConfig[sKey], oValue, false);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
oBaseConfig[sKey] = oValue;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/*
|
|
74
|
+
* Add custom applications and tiles from the provided custom configuration to the template site:
|
|
75
|
+
* 1. Applications and tiles from oConfig.applications (documented way, My Home section)
|
|
76
|
+
* 2. Applications from oConfig.services.NavTargetResolution.adapter.config.applications
|
|
77
|
+
* 3. Applications from oConfig.services.ClientSideTargetResolution.adapter.config.inbounds
|
|
78
|
+
* 4. Groups and tiles from oConfig.services.LaunchPage.adapter.config.groups (a new section is created for each group)
|
|
79
|
+
*/
|
|
80
|
+
function _addAppsToSite (oConfig) {
|
|
81
|
+
function getComponentName (oApplication) {
|
|
82
|
+
return oApplication.additionalInformation.replace("SAPUI5.Component=", "");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function createApp (oApplication, sKey) {
|
|
86
|
+
const sComponentName = getComponentName(oApplication);
|
|
87
|
+
const sApplicationTitle = oApplication.title || sComponentName.split(".").pop();
|
|
88
|
+
const aNavTarget = sKey.split("-"); // Convention: application key must be in form of "SemanticObject-action"
|
|
89
|
+
|
|
90
|
+
const oApp = {
|
|
91
|
+
"sap.app": {
|
|
92
|
+
"id": sComponentName,
|
|
93
|
+
"title": sApplicationTitle,
|
|
94
|
+
"subTitle": oApplication.description || "",
|
|
95
|
+
"ach": "CA-FLP-FE-COR",
|
|
96
|
+
"applicationVersion": {
|
|
97
|
+
"version": "1.0.0"
|
|
98
|
+
},
|
|
99
|
+
"crossNavigation": {
|
|
100
|
+
"inbounds": {
|
|
101
|
+
"target": {
|
|
102
|
+
"semanticObject": aNavTarget[0],
|
|
103
|
+
"action": aNavTarget[1],
|
|
104
|
+
"signature": {
|
|
105
|
+
"parameters": {},
|
|
106
|
+
"additionalParameters": "allowed"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
"tags": {
|
|
112
|
+
"keywords": sApplicationTitle.split(" ")
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"sap.flp": {
|
|
116
|
+
"type": "application"
|
|
117
|
+
},
|
|
118
|
+
"sap.ui": {
|
|
119
|
+
"technology": "UI5",
|
|
120
|
+
"icons": {
|
|
121
|
+
"icon": "sap-icon://Fiori2/F0018"
|
|
122
|
+
},
|
|
123
|
+
"deviceTypes": {
|
|
124
|
+
"desktop": true,
|
|
125
|
+
"tablet": false,
|
|
126
|
+
"phone": false
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"sap.ui5": {
|
|
130
|
+
"componentName": sComponentName
|
|
131
|
+
},
|
|
132
|
+
"sap.platform.runtime": {
|
|
133
|
+
"componentProperties": {
|
|
134
|
+
"url": oApplication.url
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
return oApp;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
function createAppFromInbound (oInbound) {
|
|
142
|
+
const oApplication = oInbound.resolutionResult || {};
|
|
143
|
+
const sComponentName = oApplication.ui5ComponentName || getComponentName(oApplication);
|
|
144
|
+
const sApplicationTitle = oInbound.title || sComponentName.split(".").pop();
|
|
145
|
+
|
|
146
|
+
const oApp = {
|
|
147
|
+
"sap.app": {
|
|
148
|
+
"id": sComponentName,
|
|
149
|
+
"title": sApplicationTitle,
|
|
150
|
+
"subTitle": oApplication.description || "",
|
|
151
|
+
"ach": "CA-FLP-FE-COR",
|
|
152
|
+
"applicationVersion": {
|
|
153
|
+
"version": "1.0.0"
|
|
154
|
+
},
|
|
155
|
+
"crossNavigation": {
|
|
156
|
+
"inbounds": {
|
|
157
|
+
"target": {
|
|
158
|
+
"semanticObject": oInbound.semanticObject,
|
|
159
|
+
"action": oInbound.action,
|
|
160
|
+
"signature": oInbound.signature
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"tags": {
|
|
165
|
+
"keywords": sApplicationTitle.split(" ")
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"sap.flp": {
|
|
169
|
+
"type": "application"
|
|
170
|
+
},
|
|
171
|
+
"sap.ui": {
|
|
172
|
+
"technology": "UI5",
|
|
173
|
+
"icons": {
|
|
174
|
+
"icon": "sap-icon://Fiori2/F0018"
|
|
175
|
+
},
|
|
176
|
+
"deviceTypes": oInbound.deviceTypes
|
|
177
|
+
},
|
|
178
|
+
"sap.ui5": {
|
|
179
|
+
"componentName": sComponentName
|
|
180
|
+
},
|
|
181
|
+
"sap.platform.runtime": {
|
|
182
|
+
"componentProperties": {
|
|
183
|
+
"url": oApplication.url
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
return oApp;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
function createViz (oApplication, sKey) {
|
|
191
|
+
const sComponentName = getComponentName(oApplication);
|
|
192
|
+
const sApplicationTitle = oApplication.title || sComponentName.split(".").pop();
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
const oViz = {
|
|
196
|
+
"vizType": "sap.ushell.StaticAppLauncher",
|
|
197
|
+
"businessApp": sComponentName || "sap.ushell.sanbox.BusinessApp",
|
|
198
|
+
"vizConfig": {
|
|
199
|
+
"sap.app": {
|
|
200
|
+
"title": sApplicationTitle,
|
|
201
|
+
"subTitle": oApplication.description || ""
|
|
202
|
+
},
|
|
203
|
+
"sap.ui": {
|
|
204
|
+
"icons": {
|
|
205
|
+
"icon": oApplication.icon
|
|
206
|
+
},
|
|
207
|
+
"deviceTypes": {
|
|
208
|
+
"desktop": true,
|
|
209
|
+
"tablet": true,
|
|
210
|
+
"phone": true
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"sap.flp": {
|
|
214
|
+
"target": {
|
|
215
|
+
"type": "URL",
|
|
216
|
+
"url": "#" + sKey
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
};
|
|
221
|
+
return oViz;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// predefined site is found here
|
|
225
|
+
const oSiteData = oConfig.services.CommonDataModel.adapter.config.siteData;
|
|
226
|
+
|
|
227
|
+
// generate applications and tiles from window["sap-ushell-config"].applications and add them to the site
|
|
228
|
+
const oApplications = ObjectPath.get("applications", oConfig) || {};
|
|
229
|
+
for (let [sAppKey, oApplication] of Object.entries(oApplications)) {
|
|
230
|
+
const sVizId = "custom_viz_" + sAppKey;
|
|
231
|
+
const oSection = oSiteData.pages.page1.payload.sections.APPS; // predefined section for custom apps
|
|
232
|
+
oSiteData.applications[sAppKey] = createApp(oApplication, sAppKey);
|
|
233
|
+
oSiteData.visualizations[sAppKey] = createViz(oApplication, sAppKey);
|
|
234
|
+
oSection.layout.vizOrder.push(sVizId);
|
|
235
|
+
oSection.viz[sVizId] = {
|
|
236
|
+
id: sVizId,
|
|
237
|
+
vizId: sAppKey
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
// generate applications from NavTargetResolution config
|
|
242
|
+
const oNavTargetApps = ObjectPath.get("services.NavTargetResolution.adapter.config.applications", oConfig) || {};
|
|
243
|
+
for (let [sNTAppKey, oNTApp] of Object.entries(oNavTargetApps)) {
|
|
244
|
+
if (oNTApp.additionalInformation) {
|
|
245
|
+
oSiteData.applications[sNTAppKey] = createApp(oNTApp, sNTAppKey);
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// generate applications from ClientSideTargetResolution config (application dependencies not taken into account yet)
|
|
250
|
+
const oClientTargetApps = ObjectPath.get("services.ClientSideTargetResolution.adapter.config.inbounds", oConfig) || {};
|
|
251
|
+
for (let oInbound of Object.values(oClientTargetApps)) {
|
|
252
|
+
oSiteData.applications[oInbound.semanticObject + "-" + oInbound.action] = createAppFromInbound(oInbound);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// generate sections and tiles from the LaunchPage adapter config and add them to the site
|
|
256
|
+
const aGroups = ObjectPath.get("services.LaunchPage.adapter.config.groups", oConfig) || [];
|
|
257
|
+
aGroups.forEach((oGroup, index) => {
|
|
258
|
+
const sGroupId = oGroup.id || "GROUP_" + index;
|
|
259
|
+
const oPage = oSiteData.pages.page1; // predefined page
|
|
260
|
+
oPage.payload.layout.sectionOrder.splice(index + 1, 0, sGroupId); // insert groups between my home and sample apps
|
|
261
|
+
oPage.payload.sections[sGroupId] = {
|
|
262
|
+
id: sGroupId,
|
|
263
|
+
title: oGroup.title,
|
|
264
|
+
layout: {vizOrder: []},
|
|
265
|
+
viz: {}
|
|
266
|
+
};
|
|
267
|
+
const oSection = oPage.payload.sections[sGroupId];
|
|
268
|
+
(oGroup.tiles || []).forEach((oTile, tileIndex) => {
|
|
269
|
+
const sTileId = oTile.id || sGroupId + "_tile_" + tileIndex;
|
|
270
|
+
oSection.layout.vizOrder.push(sTileId);
|
|
271
|
+
|
|
272
|
+
const sFormFactor = oTile.formFactor || "Desktop,Tablet,Phone";
|
|
273
|
+
const oTileProperties = oTile.properties || {};
|
|
274
|
+
const oViz = {
|
|
275
|
+
"vizType": "sap.ushell.StaticAppLauncher", // always static tiles, no matter how it is configued
|
|
276
|
+
"businessApp": "sap.ushell.sanbox.BusinessApp",
|
|
277
|
+
"vizConfig": {
|
|
278
|
+
"sap.app": {
|
|
279
|
+
"title": oTile.title || oTileProperties.title || "",
|
|
280
|
+
"subTitle": oTileProperties.subtitle || ""
|
|
281
|
+
},
|
|
282
|
+
"sap.ui": {
|
|
283
|
+
"icons": {
|
|
284
|
+
"icon": oTileProperties.icon
|
|
285
|
+
},
|
|
286
|
+
"deviceTypes": {
|
|
287
|
+
"desktop": sFormFactor.indexOf("Desktop") > -1,
|
|
288
|
+
"tablet": sFormFactor.indexOf("Tablet") > -1,
|
|
289
|
+
"phone": sFormFactor.indexOf("Phone") > -1
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"sap.flp": {
|
|
293
|
+
"target": {
|
|
294
|
+
"type": "URL",
|
|
295
|
+
"url": oTileProperties.targetURL || oTileProperties.href || "#"
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
};
|
|
300
|
+
oSiteData.visualizations[sTileId] = oViz;
|
|
301
|
+
oSection.viz[sTileId] = {
|
|
302
|
+
id: sTileId,
|
|
303
|
+
vizId: sTileId
|
|
304
|
+
};
|
|
305
|
+
});
|
|
306
|
+
});
|
|
307
|
+
|
|
308
|
+
delete oConfig.applications;
|
|
309
|
+
return oConfig;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
function _applyDefaultUshellConfig (oConfig) {
|
|
313
|
+
mergeConfig(window["sap-ushell-config"], oConfig, true);
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
function _applyDefaultSiteData (oSiteData) {
|
|
317
|
+
const oAdapterConfig = window["sap-ushell-config"].services.CommonDataModel.adapter.config;
|
|
318
|
+
oAdapterConfig.siteData = oSiteData;
|
|
319
|
+
delete oAdapterConfig.siteDataUrl;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Read a new JSON application config defined by its URL and merge into
|
|
324
|
+
* window["sap-ushell-config"].
|
|
325
|
+
*
|
|
326
|
+
* @param {string} sUrlPrefix URL of JSON file to be merged into the configuration
|
|
327
|
+
*/
|
|
328
|
+
async function _applyJsonApplicationConfig (sUrlPrefix) {
|
|
329
|
+
const sUrl = /\.json/i.test(sUrlPrefix) ? sUrlPrefix : sUrlPrefix + ".json";
|
|
330
|
+
const oAppConfig = await _loadJSON(sUrl);
|
|
331
|
+
if (oAppConfig) {
|
|
332
|
+
mergeConfig(window["sap-ushell-config"], oAppConfig, true);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/*
|
|
337
|
+
* Get the path of our own script; module paths are registered relative to this path, not
|
|
338
|
+
* relative to the HTML page we introduce an ID for the bootstrap script, similar to UI5;
|
|
339
|
+
* allows to reference it later as well
|
|
340
|
+
* @returns {string} path of the bootstrap script
|
|
341
|
+
*/
|
|
342
|
+
function _getBootstrapScriptPath () {
|
|
343
|
+
const oBootstrapScript = window.document.getElementById("sap-ushell-bootstrap");
|
|
344
|
+
const sBootstrapScriptPath = oBootstrapScript.src.split("?")[0].split("/").slice(0, -1).join("/") + "/";
|
|
345
|
+
return sBootstrapScriptPath;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/*
|
|
349
|
+
* Perform sandbox bootstrap of local platform. The promise will make sure to call the UI5
|
|
350
|
+
* callback in case of success.
|
|
351
|
+
*
|
|
352
|
+
*/
|
|
353
|
+
async function bootstrap (fnBootstrapCallback) {
|
|
354
|
+
const aConfigFiles = UriParameters.fromURL(window.location.href).getAll("sap-ushell-sandbox-config");
|
|
355
|
+
const sBootstrapPath = _getBootstrapScriptPath(); // default config files are located in the sandbox2 subfolder
|
|
356
|
+
const sDefaultConfigUrl = sBootstrapPath + "./sandbox2/sandboxConfig.json";
|
|
357
|
+
const sDefaultSiteUrl = sBootstrapPath + "./sandbox2/sandboxSite.json";
|
|
358
|
+
|
|
359
|
+
// if one or more configuration files are specified explicitly via URL parameter, read them;
|
|
360
|
+
// otherwise, /appconfig/fioriSandboxConfig.json is the convention for WebIDE developers
|
|
361
|
+
if (aConfigFiles.length === 0) {
|
|
362
|
+
aConfigFiles.push("/appconfig/fioriSandboxConfig.json");
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
if (!window["sap-ushell-config"]) {
|
|
366
|
+
window["sap-ushell-config"] = {};
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
// load the predefined ushell configuration and site contents
|
|
370
|
+
const [oDefaultConfig, oDefaultSite] = await Promise.all([_loadJSON(sDefaultConfigUrl), _loadJSON(sDefaultSiteUrl)]);
|
|
371
|
+
_applyDefaultUshellConfig(oDefaultConfig);
|
|
372
|
+
_applyDefaultSiteData(oDefaultSite);
|
|
373
|
+
|
|
374
|
+
// merge with the custom configuration
|
|
375
|
+
for (const sConfigFile of aConfigFiles) {
|
|
376
|
+
await _applyJsonApplicationConfig(sConfigFile);
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
// convert custom data to the site data
|
|
380
|
+
const oUshellConfig = _addAppsToSite(window["sap-ushell-config"]);
|
|
381
|
+
|
|
382
|
+
// merge custom application module paths for the loader, if provided
|
|
383
|
+
if (oUshellConfig.modulePaths) {
|
|
384
|
+
const oModules = Object.keys(oUshellConfig.modulePaths).reduce((result, sModulePath) => {
|
|
385
|
+
result[sModulePath.replace(/\./g, "/")] = oUshellConfig.modulePaths[sModulePath];
|
|
386
|
+
return result;
|
|
387
|
+
}, {});
|
|
388
|
+
sap.ui.loader.config({
|
|
389
|
+
paths: oModules
|
|
390
|
+
});
|
|
391
|
+
}
|
|
392
|
+
sap.ushell.bootstrap("cdm").done(fnBootstrapCallback);
|
|
393
|
+
}
|
|
394
|
+
resolve(bootstrap);
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
}());
|
|
@@ -24,13 +24,13 @@ sap.ui.define([
|
|
|
24
24
|
BaseObject,
|
|
25
25
|
Core,
|
|
26
26
|
TileState,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
EventHub,
|
|
28
|
+
ushellUtils,
|
|
29
|
+
DestroyHelper,
|
|
30
|
+
GroupsHelper,
|
|
31
|
+
MessagingHelper,
|
|
32
32
|
HomepageManager,
|
|
33
|
-
|
|
33
|
+
ushellResources,
|
|
34
34
|
jQuery,
|
|
35
35
|
Measurement,
|
|
36
36
|
Log,
|
|
@@ -95,8 +95,8 @@ sap.ui.define([
|
|
|
95
95
|
oEventBus.subscribe("renderCatalog", this.loadAllCatalogs, this);
|
|
96
96
|
// Doable objects are kept in a global array to enable their off-ing later on.
|
|
97
97
|
this._aDoables = [
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
EventHub.on("showCatalog").do(this.updateTilesAssociation.bind(this)),
|
|
99
|
+
EventHub.on("updateGroups").do(this.updateTilesAssociation.bind(this))
|
|
100
100
|
];
|
|
101
101
|
},
|
|
102
102
|
|
|
@@ -141,8 +141,8 @@ sap.ui.define([
|
|
|
141
141
|
oGroupsPromise = this.oHomepageManager.loadPersonalizedGroups();
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
|
-
|
|
145
|
-
|
|
144
|
+
DestroyHelper.destroyFLPAggregationModels(this.oModel.getProperty("/catalogs"));
|
|
145
|
+
DestroyHelper.destroyTileModels(this.oModel.getProperty("/catalogTiles"));
|
|
146
146
|
// Clear existing Catalog items
|
|
147
147
|
this.oModel.setProperty("/catalogs", []);
|
|
148
148
|
this.oModel.setProperty("/catalogSearchEntity", {
|
|
@@ -183,7 +183,7 @@ sap.ui.define([
|
|
|
183
183
|
.then(setDoneCBForGroups);
|
|
184
184
|
}.bind(this))
|
|
185
185
|
//in case of a severe error, show an error message
|
|
186
|
-
.fail(
|
|
186
|
+
.fail(MessagingHelper.showLocalizedErrorHelper("fail_to_load_catalog_msg"));
|
|
187
187
|
}.bind(this));
|
|
188
188
|
} else {
|
|
189
189
|
// when groups are loaded we can map the catalog tiles <-> groups map
|
|
@@ -328,7 +328,7 @@ sap.ui.define([
|
|
|
328
328
|
});
|
|
329
329
|
})
|
|
330
330
|
.fail(function (sError) {
|
|
331
|
-
|
|
331
|
+
MessagingHelper.showLocalizedErrorHelper("fail_to_load_catalog_tiles_msg");
|
|
332
332
|
reject(sError);
|
|
333
333
|
});
|
|
334
334
|
}.bind(this));
|
|
@@ -377,7 +377,7 @@ sap.ui.define([
|
|
|
377
377
|
var aCurrentCatalogs = this.oModel.getProperty("/catalogs");
|
|
378
378
|
var oEventBus = Core.getEventBus();
|
|
379
379
|
var aAllEntryInCatalogMaster = this.oModel.getProperty("/masterCatalogs") || [{
|
|
380
|
-
title:
|
|
380
|
+
title: MessagingHelper.getLocalizedText("all")
|
|
381
381
|
}];
|
|
382
382
|
Measurement.end("FLP:DashboardManager.getCatalogTiles");
|
|
383
383
|
Measurement.resume("FLP:DashboardManager.BuildCatalogModelWithRendering");
|
|
@@ -406,7 +406,7 @@ sap.ui.define([
|
|
|
406
406
|
|
|
407
407
|
return Promise.all(aEntryProcessPromises)
|
|
408
408
|
.then(function () {
|
|
409
|
-
//Update model just if catalog has tiles or
|
|
409
|
+
//Update model just if catalog has tiles or appBox.
|
|
410
410
|
if (oCatalogObject.appBoxes.length > 0 || oCatalogObject.customTiles.length > 0) {
|
|
411
411
|
if (bIsNewCatalog) {
|
|
412
412
|
aCurrentCatalogs.push(oCatalogModel);
|
|
@@ -428,7 +428,8 @@ sap.ui.define([
|
|
|
428
428
|
oEventBus.publish("launchpad", "afterCatalogSegment");
|
|
429
429
|
setTimeout(function () {
|
|
430
430
|
// the first segment has been loaded and rendered
|
|
431
|
-
|
|
431
|
+
ushellUtils.setPerformanceMark("FLP-TTI-AppFinder", { bUseUniqueMark: true });
|
|
432
|
+
EventHub.emit("firstCatalogSegmentCompleteLoaded", true);
|
|
432
433
|
}, 0); // Catalogs have not yet been rendered but after a setTimeout they have been
|
|
433
434
|
|
|
434
435
|
Measurement.pause("FLP:DashboardManager.BuildCatalogModelWithRendering");
|
|
@@ -479,7 +480,7 @@ sap.ui.define([
|
|
|
479
480
|
for (var index = 0; index < catalogs.length; ++index) {
|
|
480
481
|
tempCatalog = catalogs[index];
|
|
481
482
|
// If this is the catalogsLoading catalog - remember that it was read since the found index should be reduced by 1
|
|
482
|
-
if (tempCatalog.title ===
|
|
483
|
+
if (tempCatalog.title === ushellResources.i18n.getText("catalogsLoading")) {
|
|
483
484
|
bGeneralCatalogAppeared = true;
|
|
484
485
|
} else if (catalogTitle === tempCatalog.title) {
|
|
485
486
|
indexOfPreviousInstance = index;
|
|
@@ -571,7 +572,7 @@ sap.ui.define([
|
|
|
571
572
|
}
|
|
572
573
|
|
|
573
574
|
if (noTiles || !aCatalogs.length) {
|
|
574
|
-
this.oModel.setProperty("/catalogsNoDataText",
|
|
575
|
+
this.oModel.setProperty("/catalogsNoDataText", ushellResources.i18n.getText("noCatalogs"));
|
|
575
576
|
}
|
|
576
577
|
}.bind(this));
|
|
577
578
|
|
|
@@ -592,10 +593,10 @@ sap.ui.define([
|
|
|
592
593
|
}.bind(this));
|
|
593
594
|
//check if some of the catalogs failed to load
|
|
594
595
|
if (aLoadedCatalogs.length !== aCatalogs.length) {
|
|
595
|
-
|
|
596
|
+
MessagingHelper.showLocalizedError("partialCatalogFail");
|
|
596
597
|
}
|
|
597
598
|
|
|
598
|
-
|
|
599
|
+
ushellUtils.handleTilesVisibility();
|
|
599
600
|
},
|
|
600
601
|
|
|
601
602
|
createCatalogTiles: function (oCatalogTile/*, bGetTileKeyWords*/) {
|
|
@@ -658,7 +659,7 @@ sap.ui.define([
|
|
|
658
659
|
var sNewTitle = oData.newGroupName;
|
|
659
660
|
var oDeferred = new jQuery.Deferred();
|
|
660
661
|
|
|
661
|
-
if (
|
|
662
|
+
if (ushellUtils.validHash(sNewTitle) && oCatalogTileContext) {
|
|
662
663
|
this.createGroup(sNewTitle).then(function (oContext) {
|
|
663
664
|
// Add HeaderActions and before and after content of newly created group,
|
|
664
665
|
// if the dashboard is already loaded and in edit mode.
|
|
@@ -695,7 +696,7 @@ sap.ui.define([
|
|
|
695
696
|
createGroup: function (sTitle) {
|
|
696
697
|
var that = this;
|
|
697
698
|
var oDeferred = new jQuery.Deferred();
|
|
698
|
-
if (!
|
|
699
|
+
if (!ushellUtils.validHash(sTitle)) {
|
|
699
700
|
return oDeferred.reject({ status: 0, action: "createNewGroup" }); // 0 - failure
|
|
700
701
|
}
|
|
701
702
|
|
|
@@ -705,7 +706,7 @@ sap.ui.define([
|
|
|
705
706
|
oDeferred.resolve(oGroupContext);
|
|
706
707
|
});
|
|
707
708
|
oResultPromise.fail(function () {
|
|
708
|
-
|
|
709
|
+
MessagingHelper.showLocalizedError("fail_to_create_group_msg");
|
|
709
710
|
var oResponseData = { status: 0, action: "createNewGroup" }; // 0 - failure
|
|
710
711
|
oDeferred.resolve(oResponseData); // 0 - failure
|
|
711
712
|
});
|
|
@@ -746,7 +747,7 @@ sap.ui.define([
|
|
|
746
747
|
var oResultPromise = this.oLaunchPageService.addTile(oCatalogTileContext.getProperty("src"), oContext.getProperty("object"));
|
|
747
748
|
oResultPromise.done(function (oTile) {
|
|
748
749
|
var aGroups = that.oModel.getProperty("/groups");
|
|
749
|
-
var sGroupPath =
|
|
750
|
+
var sGroupPath = GroupsHelper.getModelPathOfGroup(aGroups, sGroupId);
|
|
750
751
|
var sTileTitle = that.oLaunchPageService.getTileTitle(oTile);
|
|
751
752
|
|
|
752
753
|
that.oHomepageManager.addTileToGroup(sGroupPath, oTile);
|
|
@@ -760,7 +761,7 @@ sap.ui.define([
|
|
|
760
761
|
});
|
|
761
762
|
oDeferred.resolve(oResponseData);
|
|
762
763
|
}).fail(function () {
|
|
763
|
-
|
|
764
|
+
MessagingHelper.showLocalizedError("fail_to_add_tile_msg");
|
|
764
765
|
oResponseData = { group: oGroup, status: 0, action: "add" }; // 0 - failure
|
|
765
766
|
oDeferred.resolve(oResponseData);
|
|
766
767
|
});
|
|
@@ -850,7 +851,7 @@ sap.ui.define([
|
|
|
850
851
|
* @param {object} aParameters Additional parameters for the Message Toast showing the message. Can be undefined.
|
|
851
852
|
*/
|
|
852
853
|
notifyOnActionFailure: function (sMsgId, aParameters) {
|
|
853
|
-
|
|
854
|
+
MessagingHelper.showLocalizedError(sMsgId, aParameters);
|
|
854
855
|
},
|
|
855
856
|
|
|
856
857
|
/**
|
|
@@ -1041,24 +1041,29 @@ sap.ui.define([
|
|
|
1041
1041
|
if (oRenderer) {
|
|
1042
1042
|
var sCurrentCoreView = oRenderer.getCurrentCoreView();
|
|
1043
1043
|
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1044
|
+
/**
|
|
1045
|
+
* @deprecated since 1.118.
|
|
1046
|
+
* This part of the code is dedicated only to the classic homepage and should therefore be deprecated.
|
|
1047
|
+
*/
|
|
1048
|
+
(function () {
|
|
1049
|
+
if (sCurrentCoreView === "home" && !Config.last("/core/spaces/enabled")) {
|
|
1050
|
+
// handle focus after tileContainer rename
|
|
1051
|
+
var sTagName = document.activeElement ? document.activeElement.tagName : "";
|
|
1052
|
+
if (sTagName === "INPUT" || sTagName === "TEXTAREA") {
|
|
1053
|
+
if (oEvent.keyCode === handler.keyCodes.ENTER) {
|
|
1054
|
+
var $HeaderElement = jQuery(document.activeElement).closest(".sapUshellTileContainerHeader");
|
|
1055
|
+
if ($HeaderElement.length) {
|
|
1056
|
+
setTimeout(function () {
|
|
1057
|
+
$HeaderElement = jQuery("#" + $HeaderElement[0].id);
|
|
1058
|
+
$HeaderElement.focus();
|
|
1059
|
+
}, 10);
|
|
1060
|
+
}
|
|
1056
1061
|
}
|
|
1062
|
+
} else {
|
|
1063
|
+
handler._dashboardKeydownHandler(oEvent);
|
|
1057
1064
|
}
|
|
1058
|
-
} else {
|
|
1059
|
-
handler._dashboardKeydownHandler(oEvent);
|
|
1060
1065
|
}
|
|
1061
|
-
}
|
|
1066
|
+
}());
|
|
1062
1067
|
|
|
1063
1068
|
if (sCurrentCoreView === "appFinder") {
|
|
1064
1069
|
// we got the focus from the shell
|
|
@@ -5,7 +5,7 @@ sap.ui.define([], function () {
|
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Destroy tile model
|
|
8
|
-
* @param {
|
|
8
|
+
* @param {object} oTileModel Tile model to destroy
|
|
9
9
|
*/
|
|
10
10
|
function destroyTileModel (oTileModel) {
|
|
11
11
|
var i;
|
|
@@ -33,7 +33,7 @@ sap.ui.define([], function () {
|
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* Destroy group or catalog model
|
|
36
|
-
* @param {
|
|
36
|
+
* @param {object} oAggregationModel Group or catalog model to destroy
|
|
37
37
|
*/
|
|
38
38
|
function destroyFLPAggregationModel (oAggregationModel) {
|
|
39
39
|
if (oAggregationModel) {
|