@sapui5/sap.ushell 1.138.1 → 1.139.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/ApplicationType/UrlPostProcessing.js +14 -10
- package/src/main/js/sap/ushell/ApplicationType/wcfResolution.js +32 -26
- package/src/main/js/sap/ushell/Container.js +0 -1
- package/src/main/js/sap/ushell/Fiori20Adapter.js +1 -1
- package/src/main/js/sap/ushell/Fiori20AdapterTest.js +1 -1
- package/src/main/js/sap/ushell/NWBCInterface.js +1 -1
- package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/DependencyGraph.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/Functions.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/Resolvers.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/TemplateParameterParser.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor/utils.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +12 -12
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/User.js +32 -12
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -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/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cflp/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AdapterContainer.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/AppStateAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/NavTargetResolutionInternalAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PageBuildingAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PagePersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SearchCEPAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/SupportTicketAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserDefaultParameterPersistenceAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/local/UserInfoAdapter.js +1 -1
- package/src/main/js/sap/ushell/appIntegration/AppLifeCycle.js +3 -5
- package/src/main/js/sap/ushell/appIntegration/ApplicationContainer.js +14 -1
- package/src/main/js/sap/ushell/appIntegration/ApplicationHandle.js +8 -3
- package/src/main/js/sap/ushell/appIntegration/IframeApplicationContainer.js +8 -8
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/AppruntimeHandler.js +17 -12
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ExtensionItems.js +6 -23
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/LifecycleHandler.js +112 -92
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/NWBCHandler.js +15 -7
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager/ServiceHandler.js +257 -214
- package/src/main/js/sap/ushell/appIntegration/PostMessageManager.js +347 -117
- package/src/main/js/sap/ushell/appIntegration/UI5ApplicationContainer.js +1 -0
- package/src/main/js/sap/ushell/appIntegration/contracts/EmbeddedUI5Handler.js +15 -19
- package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV1Handler.js +15 -14
- package/src/main/js/sap/ushell/appIntegration/contracts/StatefulContainerV2Handler.js +38 -40
- package/src/main/js/sap/ushell/appRuntime/ui5/renderers/fiori2/RendererExtensions.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppConfiguration.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/AppState.js +1 -8
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/BookmarkV2.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CommonDataModel.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Container.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Extension.js +25 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FlpLaunchPage.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/FrameBoundExtension.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolution.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/NavTargetResolutionInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/Navigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ReferenceResolver.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellNavigationInternal.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/appRuntime/ui5/services/adapters/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +0 -2
- 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 +4 -0
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
- package/src/main/js/sap/ushell/components/CatalogsManager.js +157 -157
- package/src/main/js/sap/ushell/components/ComponentKeysHandler.js +180 -187
- package/src/main/js/sap/ushell/components/DestroyHelper.js +4 -4
- package/src/main/js/sap/ushell/components/GroupsHelper.js +21 -21
- package/src/main/js/sap/ushell/components/HomepageManager.js +465 -424
- package/src/main/js/sap/ushell/components/MessagingHelper.js +24 -24
- package/src/main/js/sap/ushell/components/SharedComponentUtils.js +16 -16
- package/src/main/js/sap/ushell/components/_HomepageManager/DashboardLoadingManager.js +43 -43
- package/src/main/js/sap/ushell/components/_HomepageManager/PagingManager.js +43 -39
- package/src/main/js/sap/ushell/components/_HomepageManager/PersistentPageOperationAdapter.js +166 -175
- package/src/main/js/sap/ushell/components/_HomepageManager/TransientPageOperationAdapter.js +57 -57
- package/src/main/js/sap/ushell/components/appfinder/AppFinder.controller.js +96 -99
- package/src/main/js/sap/ushell/components/appfinder/AppFinderView.js +27 -21
- package/src/main/js/sap/ushell/components/appfinder/Catalog.controller.js +180 -178
- package/src/main/js/sap/ushell/components/appfinder/CatalogView.js +56 -56
- package/src/main/js/sap/ushell/components/appfinder/Component.js +12 -16
- package/src/main/js/sap/ushell/components/appfinder/EasyAccess.controller.js +129 -133
- package/src/main/js/sap/ushell/components/appfinder/EasyAccessView.js +10 -10
- package/src/main/js/sap/ushell/components/appfinder/GroupListPopover.controller.js +22 -22
- package/src/main/js/sap/ushell/components/appfinder/GroupListPopoverView.js +14 -14
- package/src/main/js/sap/ushell/components/appfinder/HierarchyApps.controller.js +75 -78
- package/src/main/js/sap/ushell/components/appfinder/HierarchyAppsView.js +24 -27
- package/src/main/js/sap/ushell/components/appfinder/HierarchyFolders.controller.js +44 -46
- package/src/main/js/sap/ushell/components/appfinder/HierarchyFoldersView.js +22 -22
- package/src/main/js/sap/ushell/components/appfinder/VisualizationOrganizerHelper.js +28 -28
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/cards/Card.controller.js +16 -20
- package/src/main/js/sap/ushell/components/cards/Configuration.controller.js +35 -37
- package/src/main/js/sap/ushell/components/cards/ManifestPropertyHelper.js +32 -34
- package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.controller.js +7 -12
- package/src/main/js/sap/ushell/components/cepsearchresult/app/Main.view.xml +2 -9
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/Extension.js +0 -1
- package/src/main/js/sap/ushell/components/cepsearchresult/app/css/style.css +58 -0
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/AdvancedFormatters.js +0 -1
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/Edition.js +0 -1
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/EditionAdvanced.js +0 -1
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/appendStyleVars.js +0 -1
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Category.js +13 -13
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Highlighter.js +2 -5
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/Paginator.js +0 -2
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/controls/categories/Event.js +4 -3
- package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +8 -9
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +2 -2
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -3
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +2 -2
- package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLListBinding.js +3 -5
- package/src/main/js/sap/ushell/components/contentFinder/model/GraphQLModel.js +2 -2
- package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +13 -6
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +3 -3
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +2 -14
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTreeTable.fragment.xml +14 -7
- package/src/main/js/sap/ushell/components/contentFinder/view/VisualizationsNoDataIllustratedMessage.fragment.xml +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +2 -2
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +2 -4
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/factsheet/Component.js +13 -8
- package/src/main/js/sap/ushell/components/factsheet/annotation/Mapping.js +166 -118
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureTile.js +20 -16
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureTileRenderer.js +3 -3
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewer.js +84 -77
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerItem.js +4 -4
- package/src/main/js/sap/ushell/components/factsheet/controls/PictureViewerRenderer.js +2 -2
- package/src/main/js/sap/ushell/components/factsheet/factory/ThingInspector.js +1356 -1139
- package/src/main/js/sap/ushell/components/factsheet/tools/ODataUrlTemplating.js +9 -5
- package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.controller.js +1 -1
- package/src/main/js/sap/ushell/components/factsheet/views/ThingViewer.view.js +9 -6
- package/src/main/js/sap/ushell/components/homeApp/error/Component.js +1 -1
- package/src/main/js/sap/ushell/components/homeApp/error/HomeAppError.controller.js +4 -4
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +51 -48
- package/src/main/js/sap/ushell/components/homepage/Component.js +11 -11
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.controller.js +185 -192
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +60 -50
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +199 -202
- package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +152 -160
- package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/ActionMode.js +72 -74
- package/src/main/js/sap/ushell/components/pages/Component.js +7 -32
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +46 -46
- package/src/main/js/sap/ushell/components/pages/StateManager.js +9 -10
- package/src/main/js/sap/ushell/components/pages/controller/MyHome.controller.js +4 -4
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +243 -215
- package/src/main/js/sap/ushell/components/pages/controller/PagesAndSpaceId.js +23 -24
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/Component.js +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +60 -70
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/Component.js +0 -5
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/controls/FloatingContainer.js +3 -3
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/Component.js +18 -50
- package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +73 -83
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +49 -50
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenuButton.controller.js +5 -5
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +35 -33
- package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +8 -9
- package/src/main/js/sap/ushell/components/shell/Notifications/NotificationsList.controller.js +5 -11
- package/src/main/js/sap/ushell/components/shell/PostLoadingHeaderEnhancement/Component.js +63 -42
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +20 -22
- package/src/main/js/sap/ushell/components/shell/Search/Component.js +20 -12
- package/src/main/js/sap/ushell/components/shell/Search/ESearch.js +18 -21
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +21 -14
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchCEP.controller.js +204 -250
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +25 -24
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +9 -9
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +4 -4
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +63 -65
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/Component.js +420 -0
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/FrequentActivityProvider.js +84 -0
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/RecentSearchProvider.js +63 -0
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchProvider.js +141 -0
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/SearchProviders/SearchServiceProvider.js +177 -0
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/manifest.json +43 -0
- package/src/main/js/sap/ushell/components/shell/SearchCEPNew/resources/resources.properties +17 -0
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +50 -35
- package/src/main/js/sap/ushell/components/shell/Settings/ErrorMessageHelper.js +10 -10
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +150 -150
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.controller.js +66 -63
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +12 -15
- package/src/main/js/sap/ushell/components/shell/Settings/homepage/HomepageEntry.js +34 -37
- package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsEntry.js +6 -7
- package/src/main/js/sap/ushell/components/shell/Settings/notifications/NotificationsSetting.controller.js +46 -48
- package/src/main/js/sap/ushell/components/shell/Settings/search/Search.controller.js +4 -4
- package/src/main/js/sap/ushell/components/shell/Settings/search/SearchEntry.js +13 -13
- package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesEntry.js +11 -13
- package/src/main/js/sap/ushell/components/shell/Settings/spaces/SpacesSetting.controller.js +41 -42
- package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountEntry.js +11 -15
- package/src/main/js/sap/ushell/components/shell/Settings/userAccount/UserAccountSelector.controller.js +35 -37
- package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesEntry.js +6 -7
- package/src/main/js/sap/ushell/components/shell/Settings/userActivities/UserActivitiesSetting.controller.js +7 -8
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/Component.js +2 -2
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsEntry.js +16 -16
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/UserDefaultsForm.js +17 -17
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/ExtendedValueDialog.controller.js +21 -24
- package/src/main/js/sap/ushell/components/shell/Settings/userDefaults/controller/UserDefaultsSetting.controller.js +136 -137
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +73 -78
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/UserLanguageRegionEntry.js +8 -8
- package/src/main/js/sap/ushell/components/shell/ShellBar/Component.js +30 -23
- package/src/main/js/sap/ushell/components/shell/ShellBar/controller/ShellBar.controller.js +34 -22
- package/src/main/js/sap/ushell/components/shell/ShellBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/ShellBar/view/ShellBar.view.xml +21 -9
- package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +7 -11
- package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +3 -3
- package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AllSpaces.js +3 -4
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/AppFinder.js +2 -2
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Favorites.js +8 -3
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericFixedNavigationListProvider.js +2 -2
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/GenericNavigationListProvider.js +2 -2
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/MyHome.js +2 -2
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/NavigationHelper.js +4 -4
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/RecentActivity.js +4 -4
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/Spaces.js +5 -6
- package/src/main/js/sap/ushell/components/shell/SideNavigation/modules/SpacesNavigationListProvider.js +2 -3
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +3 -4
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +47 -48
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +27 -30
- package/src/main/js/sap/ushell/components/tiles/action/ActionTile.controller.js +55 -55
- package/src/main/js/sap/ushell/components/tiles/action/Configuration.controller.js +39 -41
- package/src/main/js/sap/ushell/components/tiles/applauncher/Component.js +3 -3
- package/src/main/js/sap/ushell/components/tiles/applauncher/Configuration.controller.js +26 -27
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.controller.js +66 -66
- package/src/main/js/sap/ushell/components/tiles/applauncher/StaticTile.view.js +5 -5
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Component.js +2 -2
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Configuration.controller.js +27 -27
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.controller.js +107 -107
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/DynamicTile.view.js +7 -7
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/Component.js +7 -7
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.controller.js +31 -31
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncher/StaticTile.view.js +2 -2
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js +15 -15
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.controller.js +85 -86
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/DynamicTile.view.js +4 -4
- package/src/main/js/sap/ushell/components/tiles/generic.js +133 -131
- package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.controller.js +71 -71
- package/src/main/js/sap/ushell/components/tiles/indicatorArea/AreaChartTile.view.js +17 -17
- package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.controller.js +49 -49
- package/src/main/js/sap/ushell/components/tiles/indicatorDual/DualTile.view.js +9 -9
- package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.controller.js +80 -80
- package/src/main/js/sap/ushell/components/tiles/indicatorDualComparison/DualComparison.view.js +3 -3
- package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.controller.js +74 -75
- package/src/main/js/sap/ushell/components/tiles/indicatorDualContribution/DualContribution.view.js +3 -3
- package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.controller.js +55 -55
- package/src/main/js/sap/ushell/components/tiles/indicatorDualDeviation/DualDeviation.view.js +12 -12
- package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.controller.js +83 -84
- package/src/main/js/sap/ushell/components/tiles/indicatorDualTrend/DualTrend.view.js +15 -15
- package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.controller.js +71 -71
- package/src/main/js/sap/ushell/components/tiles/indicatorHarveyBall/HarveyBallTile.view.js +7 -7
- package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/cache.js +4 -4
- package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/indicatorTileHelper.js +4 -4
- package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/oData4Analytics.js +230 -232
- package/src/main/js/sap/ushell/components/tiles/indicatorTileUtils/smartBusinessUtil.js +271 -272
- package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.controller.js +55 -55
- package/src/main/js/sap/ushell/components/tiles/indicatorcomparison/ComparisonTile.view.js +4 -4
- package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.controller.js +53 -53
- package/src/main/js/sap/ushell/components/tiles/indicatorcontribution/ContributionTile.view.js +5 -5
- package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.controller.js +20 -20
- package/src/main/js/sap/ushell/components/tiles/indicatordeviation/DeviationTile.view.js +11 -11
- package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.controller.js +14 -15
- package/src/main/js/sap/ushell/components/tiles/indicatornumeric/NumericTile.view.js +10 -10
- package/src/main/js/sap/ushell/components/tiles/sbtilecontent.js +6 -6
- package/src/main/js/sap/ushell/components/tiles/utils.js +699 -664
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +217 -217
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +4 -8
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +40 -42
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +257 -262
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.layout.js +19 -20
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +6 -6
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +37 -38
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +97 -100
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +81 -82
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnRenderer.js +9 -9
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +38 -39
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRenderer.js +5 -5
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +8 -9
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRowRenderer.js +9 -9
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +4 -4
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +15 -15
- package/src/main/js/sap/ushell/components/workPageRuntime/manifest.json +1 -1
- package/src/main/js/sap/ushell/designtime/ApplicationContainer.designtime.js +1 -1
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/Avatar.js +7 -1
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/ListItemGroup.js +90 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents/dist/MenuItem.js +10 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-base.js +19 -11
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/Search.js +144 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItem.js +68 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchItemGroup.js +34 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchMessageArea.js +51 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/SearchScope.js +55 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBar.js +5 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarBranding.js +76 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori/dist/ShellBarSearch.js +133 -0
- package/src/main/js/sap/ushell/gen/ui5/webcomponents-fiori.js +83 -1
- package/src/main/js/sap/ushell/gen/ui5/webcomponents.js +80 -2
- package/src/main/js/sap/ushell/library.js +1 -1
- package/src/main/js/sap/ushell/navigation/NavigationState.js +126 -0
- package/src/main/js/sap/ushell/navigationMode.js +1 -1
- package/src/main/js/sap/ushell/performance/ShellAnalytics.js +1 -1
- package/src/main/js/sap/ushell/performance/StatisticalRecord.js +1 -1
- package/src/main/js/sap/ushell/plugins/appwarmup/Component.js +1 -1
- package/src/main/js/sap/ushell/renderer/AccessKeysHandler.js +8 -4
- package/src/main/js/sap/ushell/renderer/Renderer.js +19 -7
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +11 -5
- package/src/main/js/sap/ushell/renderer/Shell.view.js +4 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +3 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +3 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +3 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +2 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +2 -0
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/services/AllMyApps.js +5 -5
- package/src/main/js/sap/ushell/services/AppConfiguration.js +3 -5
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +2 -2
- package/src/main/js/sap/ushell/services/AppState.js +86 -102
- package/src/main/js/sap/ushell/services/AppType.js +2 -2
- package/src/main/js/sap/ushell/services/Bookmark.js +156 -164
- package/src/main/js/sap/ushell/services/BookmarkV2.js +10 -13
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Formatter.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundIndex.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/InboundProvider.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/PrelaunchOperations.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Search.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/StagedLogger.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/SystemContext.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/Utils.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution/XAppStateProcessing.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +27 -31
- package/src/main/js/sap/ushell/services/CommonDataModel/SiteConverter.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel/vizTypeDefaults/VizTypeDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/CommonDataModel.js +295 -353
- package/src/main/js/sap/ushell/services/Configuration.js +14 -12
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +34 -35
- package/src/main/js/sap/ushell/services/Container.js +2 -2
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +29 -62
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +227 -266
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +17 -16
- package/src/main/js/sap/ushell/services/EndUserFeedback.js +5 -4
- package/src/main/js/sap/ushell/services/Extension/Item.js +7 -12
- package/src/main/js/sap/ushell/services/Extension.js +54 -19
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +209 -213
- package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +3 -3
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +3 -3
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +6 -6
- package/src/main/js/sap/ushell/services/FrameBoundExtension/SidePane.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/ToolArea.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/UserSettingsEntry.js +4 -4
- package/src/main/js/sap/ushell/services/FrameBoundExtension.js +3 -3
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -2
- package/src/main/js/sap/ushell/services/Menu.js +264 -289
- package/src/main/js/sap/ushell/services/Message.js +3 -3
- package/src/main/js/sap/ushell/services/MessageBroker/MessageBrokerEngine.js +6 -29
- package/src/main/js/sap/ushell/services/MessageBroker.js +14 -10
- package/src/main/js/sap/ushell/services/MessageInternal.js +37 -38
- package/src/main/js/sap/ushell/services/NavTargetResolution.js +2 -5
- package/src/main/js/sap/ushell/services/NavTargetResolutionInternal.js +153 -157
- package/src/main/js/sap/ushell/services/Navigation/compatibility.js +4 -6
- package/src/main/js/sap/ushell/services/Navigation/utils.js +62 -64
- package/src/main/js/sap/ushell/services/Navigation.js +10 -14
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +2 -2
- package/src/main/js/sap/ushell/services/Notifications.js +29 -15
- package/src/main/js/sap/ushell/services/NotificationsV2.js +86 -98
- package/src/main/js/sap/ushell/services/PageBuilding.js +9 -6
- package/src/main/js/sap/ushell/services/PagePersistence.js +3 -3
- package/src/main/js/sap/ushell/services/PageReferencing.js +4 -2
- package/src/main/js/sap/ushell/services/Pages.js +635 -683
- package/src/main/js/sap/ushell/services/Personalization.js +103 -134
- package/src/main/js/sap/ushell/services/PersonalizationV2/ContextContainer.js +29 -32
- package/src/main/js/sap/ushell/services/PersonalizationV2/Personalizer.js +21 -6
- package/src/main/js/sap/ushell/services/PersonalizationV2/TransientPersonalizer.js +1 -2
- package/src/main/js/sap/ushell/services/PersonalizationV2/Variant.js +5 -1
- package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSet.js +5 -8
- package/src/main/js/sap/ushell/services/PersonalizationV2/VariantSetAdapter.js +2 -2
- package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapter.js +10 -11
- package/src/main/js/sap/ushell/services/PersonalizationV2/WindowAdapterContainer.js +27 -27
- package/src/main/js/sap/ushell/services/PersonalizationV2/constants.js +1 -2
- package/src/main/js/sap/ushell/services/PersonalizationV2/constants.private.js +1 -1
- package/src/main/js/sap/ushell/services/PersonalizationV2/utils.js +5 -5
- package/src/main/js/sap/ushell/services/PersonalizationV2.js +92 -105
- package/src/main/js/sap/ushell/services/PluginManager/Extensions.js +9 -9
- package/src/main/js/sap/ushell/services/PluginManager/HeaderExtensions.js +2 -2
- package/src/main/js/sap/ushell/services/PluginManager/MenuExtensions.js +4 -4
- package/src/main/js/sap/ushell/services/PluginManager/SimpleExpression.js +5 -8
- package/src/main/js/sap/ushell/services/PluginManager.js +12 -8
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +21 -28
- package/src/main/js/sap/ushell/services/Search.js +25 -21
- package/src/main/js/sap/ushell/services/SearchCEP.js +38 -32
- package/src/main/js/sap/ushell/services/SearchableContent.js +203 -223
- package/src/main/js/sap/ushell/services/ShellNavigation.js +5 -3
- package/src/main/js/sap/ushell/services/ShellNavigationHashChanger.js +160 -164
- package/src/main/js/sap/ushell/services/ShellNavigationInternal.js +23 -19
- package/src/main/js/sap/ushell/services/SmartNavigation.js +86 -82
- package/src/main/js/sap/ushell/services/SpaceContent.js +73 -106
- package/src/main/js/sap/ushell/services/SupportTicket.js +1 -1
- package/src/main/js/sap/ushell/services/UITracer.js +48 -62
- package/src/main/js/sap/ushell/services/URLShortening.js +2 -2
- package/src/main/js/sap/ushell/services/URLTemplate.js +7 -8
- package/src/main/js/sap/ushell/services/Ui5ComponentHandle.js +5 -5
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
- package/src/main/js/sap/ushell/services/UsageAnalytics.js +2 -3
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +10 -10
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +12 -13
- package/src/main/js/sap/ushell/services/UserInfo.js +27 -15
- package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +6 -7
- package/src/main/js/sap/ushell/services/UserRecents/RecentAppsUsage.js +5 -5
- package/src/main/js/sap/ushell/services/UserRecents/RecentsList.js +2 -2
- package/src/main/js/sap/ushell/services/UserRecents/UserRecentsBase.js +2 -2
- package/src/main/js/sap/ushell/services/UserRecents.js +3 -3
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +63 -66
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +11 -11
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/ContentExtensionAdapterConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_ContentExtensionAdapterFactory/FeaturedGroupConfig.js +1 -1
- package/src/main/js/sap/ushell/services/_CrossApplicationNavigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
- package/src/main/js/sap/ushell/services/personalization/VariantSetAdapter.js +10 -10
- package/src/main/js/sap/ushell/state/BaseState.js +2 -3
- package/src/main/js/sap/ushell/state/BindingHelper.js +2 -4
- package/src/main/js/sap/ushell/state/ControlManager.js +2 -3
- package/src/main/js/sap/ushell/state/CurrentState.js +2 -2
- package/src/main/js/sap/ushell/state/KeepAlive.js +2 -2
- package/src/main/js/sap/ushell/state/ShellModel.js +2 -3
- package/src/main/js/sap/ushell/state/StateManager/LaunchpadState.js +2 -2
- package/src/main/js/sap/ushell/state/StateManager/Operation.js +2 -2
- package/src/main/js/sap/ushell/state/StateManager/ShellMode.js +2 -2
- package/src/main/js/sap/ushell/state/StateManager.js +3 -3
- package/src/main/js/sap/ushell/state/StateRules.js +2 -3
- package/src/main/js/sap/ushell/state/StrategyFactory/DefaultStrategy.js +2 -3
- package/src/main/js/sap/ushell/state/StrategyFactory/FloatingActionsStrategy.js +2 -3
- package/src/main/js/sap/ushell/state/StrategyFactory/FloatingContainerStrategy.js +2 -3
- package/src/main/js/sap/ushell/state/StrategyFactory/HeadEndItemsStrategy.js +3 -4
- package/src/main/js/sap/ushell/state/StrategyFactory/HeadItemsStrategy.js +3 -4
- package/src/main/js/sap/ushell/state/StrategyFactory/SidePaneStrategy.js +2 -3
- package/src/main/js/sap/ushell/state/StrategyFactory/SubHeaderStrategy.js +2 -3
- package/src/main/js/sap/ushell/state/StrategyFactory/UserActionsStrategy.js +3 -4
- package/src/main/js/sap/ushell/state/StrategyFactory.js +2 -3
- package/src/main/js/sap/ushell/state/modules/BackNavigation.js +2 -5
- package/src/main/js/sap/ushell/state/modules/ContentDensity.js +3 -3
- package/src/main/js/sap/ushell/state/modules/Favicon.js +3 -3
- package/src/main/js/sap/ushell/state/modules/HeaderLogo.js +3 -3
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +123 -123
- package/src/main/js/sap/ushell/themes/base/ShellBar.less +2 -1
- package/src/main/js/sap/ushell/themes/base/ShellHeader.less +1 -1
- package/src/main/js/sap/ushell/themes/base/ToolAreaItem.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellBar.less +9 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3/ShellHeader.less +6 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3/library.source.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/ShellBar.less +9 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3_dark/library.source.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/ShellBar.less +9 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcb/library.source.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/ShellBar.less +9 -0
- package/src/main/js/sap/ushell/themes/sap_fiori_3_hcw/library.source.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_ShellHeader.less +1 -1
- package/src/main/js/sap/ushell/thirdparty/AccessibilityTextsHelper.js +13 -0
- package/src/main/js/sap/ushell/thirdparty/Avatar.js +83 -16
- package/src/main/js/sap/ushell/thirdparty/BusyIndicator.js +16 -241
- package/src/main/js/sap/ushell/thirdparty/Button.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/Button2.js +34 -14
- package/src/main/js/sap/ushell/thirdparty/Icon.js +11 -11
- package/src/main/js/sap/ushell/thirdparty/Icons.js +81 -79
- package/src/main/js/sap/ushell/thirdparty/Label.js +4 -4
- package/src/main/js/sap/ushell/thirdparty/Link.js +11 -10
- package/src/main/js/sap/ushell/thirdparty/List.js +34 -487
- package/src/main/js/sap/ushell/thirdparty/ListBoxItemGroupTemplate.js +14 -0
- package/src/main/js/sap/ushell/thirdparty/ListItemBase.js +239 -0
- package/src/main/js/sap/ushell/thirdparty/ListItemCustom.js +1669 -91
- package/src/main/js/sap/ushell/thirdparty/ListItemGroup.js +472 -0
- package/src/main/js/sap/ushell/thirdparty/Menu.js +70 -81
- package/src/main/js/sap/ushell/thirdparty/MenuItem.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/MenuItem2.js +348 -40
- package/src/main/js/sap/ushell/thirdparty/NotificationList.js +5 -5
- package/src/main/js/sap/ushell/thirdparty/NotificationListGroupItem.js +15 -15
- package/src/main/js/sap/ushell/thirdparty/NotificationListItem.js +511 -517
- package/src/main/js/sap/ushell/thirdparty/NotificationListItemBase.js +3 -3
- package/src/main/js/sap/ushell/thirdparty/ResponsivePopover.js +2264 -0
- package/src/main/js/sap/ushell/thirdparty/SearchItem.js +111 -0
- package/src/main/js/sap/ushell/thirdparty/SearchItemGroup.js +47 -0
- package/src/main/js/sap/ushell/thirdparty/SearchMessageArea.js +49 -0
- package/src/main/js/sap/ushell/thirdparty/SearchScope.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/ShellBar.js +177 -170
- package/src/main/js/sap/ushell/thirdparty/ShellBarBranding.js +119 -0
- package/src/main/js/sap/ushell/thirdparty/ShellBarSearch.js +7 -0
- package/src/main/js/sap/ushell/thirdparty/ShellBarSearch2.js +3248 -0
- package/src/main/js/sap/ushell/thirdparty/Tag.js +15 -14
- package/src/main/js/sap/ushell/thirdparty/Text.js +9 -9
- package/src/main/js/sap/ushell/thirdparty/Title.js +167 -0
- package/src/main/js/sap/ushell/thirdparty/UserMenu.js +55 -54
- package/src/main/js/sap/ushell/thirdparty/UserMenuItem.js +5 -5
- package/src/main/js/sap/ushell/thirdparty/ValueState.js +7 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/InputSuggestions.js +444 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/ListItemStandardExpandableTextTemplate.js +7 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ar3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg2.js +40 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_bg3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca2.js +41 -2
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ca3.js +27 -9
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cnr3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cs3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_cy3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_da3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_de3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_el3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en2.js +45 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_GB3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_sappsd3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi2.js +45 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saprigi3.js +23 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_en_US_saptrc3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es2.js +42 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es3.js +27 -9
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX2.js +42 -3
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_es_MX3.js +28 -10
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_et3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fi3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_fr_CA3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hi3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hr3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_hu3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_id3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it2.js +43 -4
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_it3.js +29 -11
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_iw3.js +27 -9
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ja3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_kk3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ko3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lt3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_lv3.js +27 -9
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk2.js +40 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_mk3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms2.js +40 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ms3.js +27 -9
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_nl3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_no3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pl3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_pt_PT3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ro3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_ru3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sh3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sk3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl2.js +41 -2
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sl3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sr3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_sv3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_th3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_tr3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk2.js +40 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_uk3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_vi3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN2.js +39 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_CN3.js +26 -8
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW2.js +41 -2
- package/src/main/js/sap/ushell/thirdparty/_dynamics/messagebundle_zh_TW3.js +25 -7
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css10.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css11.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css12.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css13.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css14.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css15.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css16.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css17.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css18.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css19.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css20.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css21.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css22.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css23.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css24.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css25.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css26.js +7 -0
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css3.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css4.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css5.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css6.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css7.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css8.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css9.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/encodeXML.js +87 -0
- package/src/main/js/sap/ushell/thirdparty/generateHighlightedMarkup.js +9 -0
- package/src/main/js/sap/ushell/thirdparty/i18n-defaults.js +143 -149
- package/src/main/js/sap/ushell/thirdparty/i18n-defaults2.js +16 -0
- package/src/main/js/sap/ushell/thirdparty/information.js +10 -13
- package/src/main/js/sap/ushell/thirdparty/information2.js +13 -0
- package/src/main/js/sap/ushell/thirdparty/overflow.js +2 -2
- package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css.js +1 -1
- package/src/main/js/sap/ushell/thirdparty/parameters-bundle.css2.js +44 -0
- package/src/main/js/sap/ushell/thirdparty/query.js +1 -4
- package/src/main/js/sap/ushell/thirdparty/slim-arrow-down.js +44 -0
- package/src/main/js/sap/ushell/thirdparty/sys-enter-2.js +7 -0
- package/src/main/js/sap/ushell/thirdparty/toLowercaseEnumValue.js +0 -8
- package/src/main/js/sap/ushell/thirdparty/webcomponents-base.js +35 -31
- package/src/main/js/sap/ushell/thirdparty/webcomponents-fiori.js +8 -8
- package/src/main/js/sap/ushell/thirdparty/webcomponents.js +16 -16
- package/src/main/js/sap/ushell/thirdparty/willShowContent.js +7 -0
- package/src/main/js/sap/ushell/ui/ShellHeader.js +0 -1
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/VizInstance.js +6 -1
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +5 -2
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +1 -1
- package/src/main/js/sap/ushell/utils.js +32 -1
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/ui5.yaml +2 -0
- package/src/main/js/sap/ushell/thirdparty/ListItemTemplate.js +0 -3920
- package/src/main/js/sap/ushell/thirdparty/_dynamics/parameters-bundle.css2.js +0 -7
- /package/src/main/js/sap/ushell/components/shell/SearchCEP/{SearchFieldFragment.fragment.xml → SearchField.fragment.xml} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* @fileOverview This module exposes a model containing the pages hierarchy to its clients.
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.139.0
|
|
6
6
|
*/
|
|
7
7
|
sap.ui.define([
|
|
8
8
|
"sap/base/Log",
|
|
@@ -18,7 +18,7 @@ sap.ui.define([
|
|
|
18
18
|
"sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils",
|
|
19
19
|
"sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations",
|
|
20
20
|
"sap/base/util/ObjectPath"
|
|
21
|
-
],
|
|
21
|
+
], (
|
|
22
22
|
Log,
|
|
23
23
|
RestrictedJSONModel,
|
|
24
24
|
deepClone,
|
|
@@ -32,7 +32,7 @@ sap.ui.define([
|
|
|
32
32
|
readUtils,
|
|
33
33
|
readVisualizations,
|
|
34
34
|
ObjectPath
|
|
35
|
-
) {
|
|
35
|
+
) => {
|
|
36
36
|
"use strict";
|
|
37
37
|
|
|
38
38
|
/**
|
|
@@ -53,7 +53,7 @@ sap.ui.define([
|
|
|
53
53
|
* @since 1.72.0
|
|
54
54
|
* @private
|
|
55
55
|
*/
|
|
56
|
-
|
|
56
|
+
function Pages () {
|
|
57
57
|
this.COMPONENT_NAME = "sap.ushell.services.Pages";
|
|
58
58
|
this._oCdmServicePromise = Container.getServiceAsync("CommonDataModel");
|
|
59
59
|
this._oCSTRServicePromise = Container.getServiceAsync("ClientSideTargetResolution");
|
|
@@ -62,7 +62,7 @@ sap.ui.define([
|
|
|
62
62
|
});
|
|
63
63
|
this._bImplicitSaveEnabled = true;
|
|
64
64
|
this._aPagesToBeSaved = [];
|
|
65
|
-
}
|
|
65
|
+
}
|
|
66
66
|
|
|
67
67
|
/**
|
|
68
68
|
* Type for a page in the "pages and spaces" concept.
|
|
@@ -124,12 +124,12 @@ sap.ui.define([
|
|
|
124
124
|
* @private
|
|
125
125
|
*/
|
|
126
126
|
Pages.prototype._generateId = function (sPageId) {
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
const aIds = [];
|
|
128
|
+
const oPage = this.getModel().getProperty(this.getPagePath(sPageId));
|
|
129
129
|
|
|
130
|
-
oPage.sections.forEach(
|
|
130
|
+
oPage.sections.forEach((oSection) => {
|
|
131
131
|
aIds.push(oSection.id);
|
|
132
|
-
oSection.visualizations.forEach(
|
|
132
|
+
oSection.visualizations.forEach((oVisualization) => {
|
|
133
133
|
aIds.push(oVisualization.id);
|
|
134
134
|
});
|
|
135
135
|
});
|
|
@@ -170,8 +170,8 @@ sap.ui.define([
|
|
|
170
170
|
* @private
|
|
171
171
|
*/
|
|
172
172
|
Pages.prototype.getPageIndex = function (sPageId) {
|
|
173
|
-
|
|
174
|
-
for (
|
|
173
|
+
const aPages = this._oPagesModel.getProperty("/pages");
|
|
174
|
+
for (let iPageIndex = 0; iPageIndex < aPages.length; ++iPageIndex) {
|
|
175
175
|
if (aPages[iPageIndex].id === sPageId) {
|
|
176
176
|
return iPageIndex;
|
|
177
177
|
}
|
|
@@ -189,11 +189,11 @@ sap.ui.define([
|
|
|
189
189
|
* @private
|
|
190
190
|
*/
|
|
191
191
|
Pages.prototype.getPagePath = function (sPageId) {
|
|
192
|
-
|
|
192
|
+
const iPageIndex = this.getPageIndex(sPageId);
|
|
193
193
|
if (typeof iPageIndex === "undefined") {
|
|
194
194
|
return "";
|
|
195
195
|
}
|
|
196
|
-
return
|
|
196
|
+
return `/pages/${iPageIndex}`;
|
|
197
197
|
};
|
|
198
198
|
|
|
199
199
|
/**
|
|
@@ -205,46 +205,41 @@ sap.ui.define([
|
|
|
205
205
|
*
|
|
206
206
|
* @private
|
|
207
207
|
*/
|
|
208
|
-
Pages.prototype.loadPage = function (sPageId) {
|
|
209
|
-
|
|
208
|
+
Pages.prototype.loadPage = async function (sPageId) {
|
|
209
|
+
const sPagePath = this.getPagePath(sPageId);
|
|
210
210
|
|
|
211
211
|
if (sPagePath) {
|
|
212
|
-
return
|
|
212
|
+
return sPagePath;
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
ushellUtils.setPerformanceMark(["FLP-Pages-Service-loadPage-start[", sPageId, "]"].join(""));
|
|
216
216
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
.
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
}.bind(this))
|
|
244
|
-
.catch(function (oError) {
|
|
245
|
-
Log.error("Pages - loadPage: Failed to gather site data.", oError, this.COMPONENT_NAME);
|
|
246
|
-
return Promise.reject(oError);
|
|
247
|
-
}.bind(this));
|
|
217
|
+
let oCdmService;
|
|
218
|
+
try {
|
|
219
|
+
oCdmService = await this._oCdmServicePromise;
|
|
220
|
+
} catch (oError) {
|
|
221
|
+
Log.error("Pages - loadPage: Couldn't resolve CDM Service.", oError, this.COMPONENT_NAME);
|
|
222
|
+
return Promise.reject(oError);
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
try {
|
|
226
|
+
const oPage = await oCdmService.getPage(sPageId);
|
|
227
|
+
const oVisualizations = await oCdmService.getCachedVisualizations();
|
|
228
|
+
const oApplications = await oCdmService.getApplications();
|
|
229
|
+
const oVizTypes = await oCdmService.getCachedVizTypes();
|
|
230
|
+
|
|
231
|
+
const oModelForPage = await this._getModelForPage(oPage, oVisualizations, oApplications, oVizTypes);
|
|
232
|
+
|
|
233
|
+
const iPageCount = this._oPagesModel.getProperty("/pages/").length;
|
|
234
|
+
const sNewPagePath = `/pages/${iPageCount}`;
|
|
235
|
+
this._oPagesModel._setProperty(sNewPagePath, oModelForPage);
|
|
236
|
+
ushellUtils.setPerformanceMark(["FLP-Pages-Service-loadPage-end[", sPageId, "]"].join(""));
|
|
237
|
+
|
|
238
|
+
return sNewPagePath;
|
|
239
|
+
} catch (oError) {
|
|
240
|
+
Log.error("Pages - loadPage: Failed to gather site data.", oError, this.COMPONENT_NAME);
|
|
241
|
+
return Promise.reject(oError);
|
|
242
|
+
}
|
|
248
243
|
};
|
|
249
244
|
|
|
250
245
|
/**
|
|
@@ -257,27 +252,28 @@ sap.ui.define([
|
|
|
257
252
|
*
|
|
258
253
|
* @private
|
|
259
254
|
*/
|
|
260
|
-
Pages.prototype.loadPages = function (aPageIds) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
.
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
.
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
255
|
+
Pages.prototype.loadPages = async function (aPageIds) {
|
|
256
|
+
let oCdmService;
|
|
257
|
+
try {
|
|
258
|
+
oCdmService = await this._oCdmServicePromise;
|
|
259
|
+
} catch (oError) {
|
|
260
|
+
Log.error("Pages - loadPages: Couldn't resolve CDM Service.", oError, this.COMPONENT_NAME);
|
|
261
|
+
return Promise.reject(oError);
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// load and cache all the pages with a single request
|
|
265
|
+
await oCdmService.getPages(aPageIds);
|
|
266
|
+
|
|
267
|
+
const aPagePaths = await Promise.all(aPageIds.map((sPageId) => {
|
|
268
|
+
// single access is ok here as the data has been loaded before
|
|
269
|
+
return this.loadPage(sPageId);
|
|
270
|
+
}));
|
|
271
|
+
|
|
272
|
+
const oPagePaths = {};
|
|
273
|
+
aPageIds.forEach((sPageId, i) => {
|
|
274
|
+
oPagePaths[sPageId] = aPagePaths[i];
|
|
275
|
+
});
|
|
276
|
+
return oPagePaths;
|
|
281
277
|
};
|
|
282
278
|
|
|
283
279
|
/**
|
|
@@ -296,49 +292,47 @@ sap.ui.define([
|
|
|
296
292
|
* @param {string} [sVizId] The "vizId" of the visualization to look for.
|
|
297
293
|
* @param {string} [sVizRefId] The "vizRefId" of the visualization to look for.
|
|
298
294
|
*
|
|
299
|
-
* @returns {VisualizationLocation[]} An array of {@link VisualizationLocation}, retrieving every index of a visualization within a page.
|
|
295
|
+
* @returns {Promise<VisualizationLocation[]>} An array of {@link VisualizationLocation}, retrieving every index of a visualization within a page.
|
|
300
296
|
*/
|
|
301
|
-
Pages.prototype.findVisualization = function (sPageId, sSectionId, sVizId, sVizRefId) {
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
.
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}.bind(this));
|
|
341
|
-
}.bind(this));
|
|
297
|
+
Pages.prototype.findVisualization = async function (sPageId, sSectionId, sVizId, sVizRefId) {
|
|
298
|
+
let oCdmService;
|
|
299
|
+
try {
|
|
300
|
+
oCdmService = await this._oCdmServicePromise;
|
|
301
|
+
} catch (oError) {
|
|
302
|
+
Log.error("Pages - findVisualization: Personalization cannot be saved: CDM Service cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
303
|
+
return Promise.reject(oError);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
try {
|
|
307
|
+
const sPagePath = await this.loadPage(sPageId);
|
|
308
|
+
await oCdmService.getCachedVisualizations();
|
|
309
|
+
await oCdmService.getApplications();
|
|
310
|
+
|
|
311
|
+
const aPageSections = this.getModel().getProperty(`${sPagePath}/sections`) || [];
|
|
312
|
+
return aPageSections.reduce((accumulatorSections, section, sectionIndex) => {
|
|
313
|
+
if (sSectionId && section.id !== sSectionId) {
|
|
314
|
+
return accumulatorSections;
|
|
315
|
+
}
|
|
316
|
+
const aVizIndexes = section.visualizations.reduce((accumulatorVisualizations, viz, vizIndex) => {
|
|
317
|
+
if (sVizId && viz.vizId === sVizId ||
|
|
318
|
+
sVizRefId && viz.id === sVizRefId) {
|
|
319
|
+
accumulatorVisualizations.push(vizIndex);
|
|
320
|
+
}
|
|
321
|
+
return accumulatorVisualizations;
|
|
322
|
+
}, []);
|
|
323
|
+
if (aVizIndexes.length) {
|
|
324
|
+
accumulatorSections.push({
|
|
325
|
+
pageId: sPageId,
|
|
326
|
+
sectionIndex: sectionIndex,
|
|
327
|
+
vizIndexes: aVizIndexes
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
return accumulatorSections;
|
|
331
|
+
}, []);
|
|
332
|
+
} catch (oError) {
|
|
333
|
+
Log.error("Pages - findVisualization: Couldn't load page, get visualizations or applications.", oError, this.COMPONENT_NAME);
|
|
334
|
+
return Promise.reject(oError);
|
|
335
|
+
}
|
|
342
336
|
};
|
|
343
337
|
|
|
344
338
|
/**
|
|
@@ -355,7 +349,7 @@ sap.ui.define([
|
|
|
355
349
|
*
|
|
356
350
|
* @private
|
|
357
351
|
*/
|
|
358
|
-
Pages.prototype.moveVisualization = function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex, iTargetSectionIndex, iTargetVisualizationIndex) {
|
|
352
|
+
Pages.prototype.moveVisualization = async function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex, iTargetSectionIndex, iTargetVisualizationIndex) {
|
|
359
353
|
// Do nothing if visualization is moved on itself.
|
|
360
354
|
if (iSourceSectionIndex === iTargetSectionIndex && iSourceVisualizationIndex === iTargetVisualizationIndex) {
|
|
361
355
|
return Promise.resolve({
|
|
@@ -364,15 +358,15 @@ sap.ui.define([
|
|
|
364
358
|
}
|
|
365
359
|
|
|
366
360
|
this.setPersonalizationActive(true);
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
361
|
+
const oPage = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
|
|
362
|
+
const sPageId = oPage.id;
|
|
363
|
+
const aSections = oPage.sections;
|
|
364
|
+
const oSourceSection = aSections[iSourceSectionIndex];
|
|
365
|
+
const oTargetSection = aSections[iTargetSectionIndex];
|
|
366
|
+
const sSourceSectionId = oSourceSection.id;
|
|
367
|
+
const sTargetSectionId = oTargetSection.id;
|
|
368
|
+
const oMovedVisualization = oSourceSection.visualizations[iSourceVisualizationIndex];
|
|
369
|
+
const sMovedVisualizationId = oMovedVisualization.id;
|
|
376
370
|
|
|
377
371
|
// Update visualizations reference to enable recalculation of visualizations.length which enables hide of section
|
|
378
372
|
oSourceSection.visualizations = oSourceSection.visualizations.concat([]);
|
|
@@ -387,13 +381,13 @@ sap.ui.define([
|
|
|
387
381
|
}
|
|
388
382
|
oTargetSection.visualizations.splice(iTargetVisualizationIndex, 0, oMovedVisualization);
|
|
389
383
|
|
|
390
|
-
|
|
384
|
+
let iPreviousVisualizationIndex;
|
|
391
385
|
if (oTargetSection.visualizations[iTargetVisualizationIndex]) {
|
|
392
386
|
iPreviousVisualizationIndex = iTargetVisualizationIndex - 1;
|
|
393
387
|
} else {
|
|
394
388
|
iPreviousVisualizationIndex = oTargetSection.visualizations.length - 2;
|
|
395
389
|
}
|
|
396
|
-
|
|
390
|
+
let sPreviousVisualizationId;
|
|
397
391
|
if (oTargetSection.visualizations[iPreviousVisualizationIndex]) {
|
|
398
392
|
sPreviousVisualizationId = oTargetSection.visualizations[iPreviousVisualizationIndex].id;
|
|
399
393
|
}
|
|
@@ -406,55 +400,55 @@ sap.ui.define([
|
|
|
406
400
|
this._oPagesModel.refresh();
|
|
407
401
|
|
|
408
402
|
// Modify the personalized page in the CDM 3.1 site
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
var oSourceSectionInPage = oCdmPage.payload.sections[sSourceSectionId];
|
|
419
|
-
var aSourceVizOrder = oSourceSectionInPage.layout.vizOrder;
|
|
420
|
-
var oSourceViz = oSourceSectionInPage.viz;
|
|
421
|
-
|
|
422
|
-
var oTargetSectionInPage = oCdmPage.payload.sections[sTargetSectionId];
|
|
423
|
-
var aTargetVizOrder = oTargetSectionInPage.layout.vizOrder;
|
|
424
|
-
var oTargetViz = oTargetSectionInPage.viz;
|
|
425
|
-
|
|
426
|
-
var oMovedVisualizationClone = deepClone(oSourceViz[sMovedVisualizationId]);
|
|
427
|
-
|
|
428
|
-
var iSourceVizOrderIndex = aSourceVizOrder.indexOf(sMovedVisualizationId);
|
|
429
|
-
aSourceVizOrder.splice(iSourceVizOrderIndex, 1);
|
|
430
|
-
|
|
431
|
-
// It can happen that the vizOrder array contains visualization ids that are filtered out for the pages model.
|
|
432
|
-
// Therefore, we need to determine the index in the vizOrder array: search for the index of the previous viz and increment by one.
|
|
433
|
-
var iTargetVizOrderIndex = sPreviousVisualizationId ? aTargetVizOrder.indexOf(sPreviousVisualizationId) + 1 : 0;
|
|
434
|
-
aTargetVizOrder.splice(iTargetVizOrderIndex, 0, sMovedVisualizationId);
|
|
435
|
-
|
|
436
|
-
if (sSourceSectionId !== sTargetSectionId) {
|
|
437
|
-
delete oSourceViz[sMovedVisualizationId];
|
|
438
|
-
oTargetViz[sMovedVisualizationId] = oMovedVisualizationClone;
|
|
439
|
-
}
|
|
403
|
+
let oCdmPage;
|
|
404
|
+
try {
|
|
405
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
406
|
+
oCdmPage = await oCdmService.getPage(sPageId);
|
|
407
|
+
} catch (oError) {
|
|
408
|
+
this.setPersonalizationActive(false);
|
|
409
|
+
Log.error("Pages - moveVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
410
|
+
return Promise.reject(oError);
|
|
411
|
+
}
|
|
440
412
|
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
}
|
|
413
|
+
try {
|
|
414
|
+
const oSourceSectionInPage = oCdmPage.payload.sections[sSourceSectionId];
|
|
415
|
+
const aSourceVizOrder = oSourceSectionInPage.layout.vizOrder;
|
|
416
|
+
const oSourceViz = oSourceSectionInPage.viz;
|
|
446
417
|
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
.
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
418
|
+
const oTargetSectionInPage = oCdmPage.payload.sections[sTargetSectionId];
|
|
419
|
+
const aTargetVizOrder = oTargetSectionInPage.layout.vizOrder;
|
|
420
|
+
const oTargetViz = oTargetSectionInPage.viz;
|
|
421
|
+
|
|
422
|
+
const oMovedVisualizationClone = deepClone(oSourceViz[sMovedVisualizationId]);
|
|
423
|
+
|
|
424
|
+
const iSourceVizOrderIndex = aSourceVizOrder.indexOf(sMovedVisualizationId);
|
|
425
|
+
aSourceVizOrder.splice(iSourceVizOrderIndex, 1);
|
|
426
|
+
|
|
427
|
+
// It can happen that the vizOrder array contains visualization ids that are filtered out for the pages model.
|
|
428
|
+
// Therefore, we need to determine the index in the vizOrder array: search for the index of the previous viz and increment by one.
|
|
429
|
+
const iTargetVizOrderIndex = sPreviousVisualizationId ? aTargetVizOrder.indexOf(sPreviousVisualizationId) + 1 : 0;
|
|
430
|
+
aTargetVizOrder.splice(iTargetVizOrderIndex, 0, sMovedVisualizationId);
|
|
431
|
+
|
|
432
|
+
if (sSourceSectionId !== sTargetSectionId) {
|
|
433
|
+
delete oSourceViz[sMovedVisualizationId];
|
|
434
|
+
oTargetViz[sMovedVisualizationId] = oMovedVisualizationClone;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
// If the default section becomes empty, delete it
|
|
438
|
+
if (oSourceSectionInPage.default && !Object.keys(oSourceViz).length) {
|
|
439
|
+
delete oCdmPage.payload.sections[sSourceSectionId]; // delete section from sections
|
|
440
|
+
oCdmPage.payload.layout.sectionOrder.splice(iSourceSectionIndex, 1); // delete index from sectionOrder
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
await this._conditionalSavePersonalization(sPageId);
|
|
444
|
+
|
|
445
|
+
return {
|
|
446
|
+
visualizationIndex: iTargetVisualizationIndex
|
|
447
|
+
};
|
|
448
|
+
} catch (oError) {
|
|
449
|
+
this.setPersonalizationActive(false);
|
|
450
|
+
return Promise.reject(oError);
|
|
451
|
+
}
|
|
458
452
|
};
|
|
459
453
|
|
|
460
454
|
/**
|
|
@@ -464,14 +458,14 @@ sap.ui.define([
|
|
|
464
458
|
* @param {int} iSourceSectionIndex The index of the section from where the visualization is deleted.
|
|
465
459
|
* @param {int} iSourceVisualizationIndex The index of the deleted visualization.
|
|
466
460
|
*
|
|
467
|
-
* @returns {Promise
|
|
461
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
468
462
|
*
|
|
469
463
|
* @since 1.75.0
|
|
470
464
|
* @private
|
|
471
465
|
*/
|
|
472
|
-
Pages.prototype.deleteVisualization = function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex) {
|
|
473
|
-
|
|
474
|
-
|
|
466
|
+
Pages.prototype.deleteVisualization = async function (iPageIndex, iSourceSectionIndex, iSourceVisualizationIndex) {
|
|
467
|
+
const oPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
|
|
468
|
+
const oSectionModel = oPageModel.sections[iSourceSectionIndex];
|
|
475
469
|
|
|
476
470
|
// If the default section becomes empty, delete it
|
|
477
471
|
if (oSectionModel.default && oSectionModel.visualizations.length < 2) {
|
|
@@ -479,33 +473,34 @@ sap.ui.define([
|
|
|
479
473
|
}
|
|
480
474
|
|
|
481
475
|
this.setPersonalizationActive(true);
|
|
482
|
-
|
|
483
|
-
|
|
476
|
+
const aSourceSectionVisualizations = oSectionModel.visualizations;
|
|
477
|
+
const oRemovedVisualization = aSourceSectionVisualizations[iSourceVisualizationIndex];
|
|
484
478
|
aSourceSectionVisualizations.splice(iSourceVisualizationIndex, 1);
|
|
485
479
|
this._oPagesModel.refresh();
|
|
486
480
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
}
|
|
505
|
-
.
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
481
|
+
let oPage;
|
|
482
|
+
try {
|
|
483
|
+
const oCDMService = await this._oCdmServicePromise;
|
|
484
|
+
oPage = await oCDMService.getPage(oPageModel.id);
|
|
485
|
+
} catch (oError) {
|
|
486
|
+
this.setPersonalizationActive(false);
|
|
487
|
+
Log.error("Pages - deleteVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
488
|
+
return Promise.reject(oError);
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
try {
|
|
492
|
+
const aSectionVizOrder = oPage.payload.sections[oSectionModel.id].layout.vizOrder;
|
|
493
|
+
const oVizRefs = oPage.payload.sections[oSectionModel.id].viz;
|
|
494
|
+
const iRemovedVisualizationIndex = aSectionVizOrder.indexOf(oRemovedVisualization.id);
|
|
495
|
+
delete oVizRefs[oRemovedVisualization.id];
|
|
496
|
+
if (iRemovedVisualizationIndex > -1) {
|
|
497
|
+
aSectionVizOrder.splice(iRemovedVisualizationIndex, 1);
|
|
498
|
+
}
|
|
499
|
+
return await this._conditionalSavePersonalization(oPage.identification.id);
|
|
500
|
+
} catch (oError) {
|
|
501
|
+
this.setPersonalizationActive(false);
|
|
502
|
+
return Promise.reject(oError);
|
|
503
|
+
}
|
|
509
504
|
};
|
|
510
505
|
|
|
511
506
|
/**
|
|
@@ -521,10 +516,9 @@ sap.ui.define([
|
|
|
521
516
|
* @private
|
|
522
517
|
*/
|
|
523
518
|
Pages.prototype._getSectionIndex = function (sPagePath, sSectionId) {
|
|
524
|
-
|
|
525
|
-
var i = 0;
|
|
519
|
+
const aSections = this.getModel().getProperty(`${sPagePath}/sections`) || [];
|
|
526
520
|
|
|
527
|
-
for (; i < aSections.length; i += 1) {
|
|
521
|
+
for (let i = 0; i < aSections.length; i += 1) {
|
|
528
522
|
if (aSections[i].id === sSectionId) {
|
|
529
523
|
return i;
|
|
530
524
|
}
|
|
@@ -549,16 +543,16 @@ sap.ui.define([
|
|
|
549
543
|
* @private
|
|
550
544
|
*/
|
|
551
545
|
Pages.prototype._getVisualizationData = async function (sPageId, sVizId, oVisualizations, oAdditionalVizData, oApplications, oVizTypes, oSystemContext) {
|
|
552
|
-
|
|
546
|
+
const oVisualizationReference = oAdditionalVizData || {
|
|
553
547
|
vizId: sVizId
|
|
554
548
|
};
|
|
555
549
|
|
|
556
|
-
|
|
550
|
+
const oSite = {
|
|
557
551
|
applications: oApplications,
|
|
558
552
|
visualizations: oVisualizations,
|
|
559
553
|
vizTypes: oVizTypes
|
|
560
554
|
};
|
|
561
|
-
|
|
555
|
+
const oVizData = await readUtils.getVizData(oSite, oVisualizationReference, oSystemContext);
|
|
562
556
|
if (!oVizData.id) {
|
|
563
557
|
oVizData.id = this._generateId(sPageId);
|
|
564
558
|
}
|
|
@@ -575,7 +569,7 @@ sap.ui.define([
|
|
|
575
569
|
* @param {string} sVizId The id of the visualization to add.
|
|
576
570
|
* @param {string} sDisplayFormatHint The form factor of the visualization to add.
|
|
577
571
|
*
|
|
578
|
-
* @returns {Promise
|
|
572
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
579
573
|
*
|
|
580
574
|
* @since 1.75.0
|
|
581
575
|
*
|
|
@@ -606,7 +600,7 @@ sap.ui.define([
|
|
|
606
600
|
const [sPagePath, oVisualizations, oApplications, oVizTypes] = aResult;
|
|
607
601
|
|
|
608
602
|
const iSectionIndex = this._getSectionIndex(sPagePath, sSectionId);
|
|
609
|
-
const aSection = this.getModel().getProperty(sPagePath
|
|
603
|
+
const aSection = this.getModel().getProperty(`${sPagePath}/sections`) || [];
|
|
610
604
|
const oVisualizationData = await this._getVisualizationData(sPageId, sVizId, oVisualizations, null, oApplications, oVizTypes);
|
|
611
605
|
|
|
612
606
|
if (sDisplayFormatHint) { // save with the same displayFormatHint in case of copy (Add to My Home)
|
|
@@ -625,7 +619,7 @@ sap.ui.define([
|
|
|
625
619
|
if (iSectionIndex !== undefined || iDefaultSectionIndex !== undefined) {
|
|
626
620
|
this.setPersonalizationActive(true);
|
|
627
621
|
const iSectionPathIndex = iSectionIndex !== undefined ? iSectionIndex : iDefaultSectionIndex || 0;
|
|
628
|
-
const sVisualizationsPath = sPagePath
|
|
622
|
+
const sVisualizationsPath = `${sPagePath}/sections/${iSectionPathIndex}/visualizations`;
|
|
629
623
|
|
|
630
624
|
this.getModel().getProperty(sVisualizationsPath).push(oVisualizationData);
|
|
631
625
|
this.getModel().refresh();
|
|
@@ -653,12 +647,11 @@ sap.ui.define([
|
|
|
653
647
|
|
|
654
648
|
// Create a new default section together with the visualization if there is no default section yet
|
|
655
649
|
const iPageIndex = parseInt(sPagePath.split("/")[2], 10);
|
|
656
|
-
return this.addSection(iPageIndex, 0, {
|
|
650
|
+
return await this.addSection(iPageIndex, 0, {
|
|
657
651
|
title: resources.i18n.getText("DefaultSection.Title"),
|
|
658
652
|
default: true,
|
|
659
653
|
visualizations: [oVisualizationData]
|
|
660
654
|
});
|
|
661
|
-
|
|
662
655
|
} catch (oError) {
|
|
663
656
|
this.setPersonalizationActive(false);
|
|
664
657
|
throw oError;
|
|
@@ -671,13 +664,13 @@ sap.ui.define([
|
|
|
671
664
|
* @param {string} sPageId The id of the page the visualization should be added to.
|
|
672
665
|
* @param {string|null} [sSectionId] The id of the section the visualization should be added to. If null is given, the default section is used.
|
|
673
666
|
* @param {sap.ushell.services.Pages.Visualization} oVizData An object containing the vizData from the model.
|
|
674
|
-
* @returns {Promise
|
|
667
|
+
* @returns {Promise} A promise resolving when the copy action was completed.
|
|
675
668
|
*
|
|
676
669
|
* @private
|
|
677
670
|
* @since 1.94.0
|
|
678
671
|
*/
|
|
679
672
|
Pages.prototype.copyVisualization = function (sPageId, sSectionId, oVizData) {
|
|
680
|
-
|
|
673
|
+
const bIsBookmark = oVizData.isBookmark;
|
|
681
674
|
|
|
682
675
|
if (!bIsBookmark) {
|
|
683
676
|
return this.addVisualization(sPageId, sSectionId, oVizData.vizId, oVizData.displayFormatHint);
|
|
@@ -704,23 +697,23 @@ sap.ui.define([
|
|
|
704
697
|
* @param {int} iSourceSectionIndex The index of the moved section.
|
|
705
698
|
* @param {int} iTargetSectionIndex The new index of the moved section.
|
|
706
699
|
*
|
|
707
|
-
* @returns {Promise
|
|
700
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
708
701
|
*
|
|
709
702
|
* @since 1.75.0
|
|
710
703
|
*
|
|
711
704
|
* @private
|
|
712
705
|
*/
|
|
713
|
-
Pages.prototype.moveSection = function (iPageIndex, iSourceSectionIndex, iTargetSectionIndex) {
|
|
706
|
+
Pages.prototype.moveSection = async function (iPageIndex, iSourceSectionIndex, iTargetSectionIndex) {
|
|
714
707
|
if (iSourceSectionIndex === iTargetSectionIndex) {
|
|
715
708
|
return Promise.resolve();
|
|
716
709
|
}
|
|
717
710
|
|
|
718
711
|
this.setPersonalizationActive(true);
|
|
719
712
|
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
713
|
+
const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
|
|
714
|
+
const aSections = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections`);
|
|
715
|
+
const oMovedSection = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSourceSectionIndex}`);
|
|
716
|
+
const sMovedSectionId = oMovedSection.id;
|
|
724
717
|
|
|
725
718
|
// Remove the section
|
|
726
719
|
aSections.splice(iSourceSectionIndex, 1);
|
|
@@ -735,26 +728,27 @@ sap.ui.define([
|
|
|
735
728
|
|
|
736
729
|
this._oPagesModel.refresh();
|
|
737
730
|
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
var aSectionOrder = oPage.payload.layout.sectionOrder;
|
|
731
|
+
let oPage;
|
|
732
|
+
try {
|
|
733
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
734
|
+
oPage = await oCdmService.getPage(sPageId);
|
|
735
|
+
} catch (oError) {
|
|
736
|
+
this.setPersonalizationActive(false);
|
|
737
|
+
Log.error("Pages - moveSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
738
|
+
return Promise.reject(oError);
|
|
739
|
+
}
|
|
748
740
|
|
|
749
|
-
|
|
750
|
-
|
|
741
|
+
try {
|
|
742
|
+
const aSectionOrder = oPage.payload.layout.sectionOrder;
|
|
751
743
|
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
744
|
+
aSectionOrder.splice(aSectionOrder.indexOf(sMovedSectionId), 1);
|
|
745
|
+
aSectionOrder.splice(iTargetSectionIndex, 0, sMovedSectionId);
|
|
746
|
+
|
|
747
|
+
return await this._conditionalSavePersonalization(sPageId);
|
|
748
|
+
} catch (oError) {
|
|
749
|
+
this.setPersonalizationActive(false);
|
|
750
|
+
return Promise.reject(oError);
|
|
751
|
+
}
|
|
758
752
|
};
|
|
759
753
|
|
|
760
754
|
/**
|
|
@@ -764,20 +758,20 @@ sap.ui.define([
|
|
|
764
758
|
* @param {int} iSectionIndex The index of the added section.
|
|
765
759
|
* @param {object} [oSectionProperties] Properties of the added section.
|
|
766
760
|
*
|
|
767
|
-
* @returns {Promise
|
|
761
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
768
762
|
*
|
|
769
763
|
* @since 1.75.0
|
|
770
764
|
*
|
|
771
765
|
* @private
|
|
772
766
|
*/
|
|
773
|
-
Pages.prototype.addSection = function (iPageIndex, iSectionIndex, oSectionProperties) {
|
|
767
|
+
Pages.prototype.addSection = async function (iPageIndex, iSectionIndex, oSectionProperties) {
|
|
774
768
|
this.setPersonalizationActive(true);
|
|
775
769
|
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
770
|
+
const oSectionReference = oSectionProperties || {};
|
|
771
|
+
const aSections = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections`);
|
|
772
|
+
const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
|
|
779
773
|
|
|
780
|
-
|
|
774
|
+
const oNewSection = {
|
|
781
775
|
id: oSectionReference.id !== undefined ? oSectionReference.id : this._generateId(sPageId),
|
|
782
776
|
title: oSectionReference.title !== undefined ? oSectionReference.title : "",
|
|
783
777
|
visible: oSectionReference.visible !== undefined ? oSectionReference.visible : true,
|
|
@@ -791,58 +785,58 @@ sap.ui.define([
|
|
|
791
785
|
|
|
792
786
|
this._oPagesModel.refresh();
|
|
793
787
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
}
|
|
788
|
+
let oPage;
|
|
789
|
+
try {
|
|
790
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
791
|
+
oPage = await oCdmService.getPage(sPageId);
|
|
792
|
+
} catch (oError) {
|
|
793
|
+
this.setPersonalizationActive(false);
|
|
794
|
+
Log.error("Pages - addSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
795
|
+
return Promise.reject(oError);
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
try {
|
|
799
|
+
const oSection = {
|
|
800
|
+
id: oNewSection.id,
|
|
801
|
+
title: oNewSection.title,
|
|
802
|
+
visible: oNewSection.visible,
|
|
803
|
+
preset: oNewSection.preset,
|
|
804
|
+
locked: oNewSection.locked,
|
|
805
|
+
default: oNewSection.default,
|
|
806
|
+
layout: {
|
|
807
|
+
vizOrder: []
|
|
808
|
+
},
|
|
809
|
+
viz: {}
|
|
810
|
+
};
|
|
815
811
|
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
oSection.viz[oVizData.id].displayFormatHint = oVizData.displayFormatHint;
|
|
832
|
-
}
|
|
812
|
+
if (oNewSection.visualizations) {
|
|
813
|
+
let oVizData;
|
|
814
|
+
|
|
815
|
+
for (let i = 0; i < oNewSection.visualizations.length; i++) {
|
|
816
|
+
oVizData = oNewSection.visualizations[i];
|
|
817
|
+
oSection.layout.vizOrder.push(oVizData.id);
|
|
818
|
+
if (oVizData.isBookmark) {
|
|
819
|
+
oSection.viz[oVizData.id] = readUtils.getVizRef(oVizData);
|
|
820
|
+
} else {
|
|
821
|
+
oSection.viz[oVizData.id] = {
|
|
822
|
+
id: oVizData.id,
|
|
823
|
+
vizId: oVizData.vizId
|
|
824
|
+
};
|
|
825
|
+
if (oVizData.displayFormatHint) { // save with the same displayFormatHint in case of copy (Add to My Home)
|
|
826
|
+
oSection.viz[oVizData.id].displayFormatHint = oVizData.displayFormatHint;
|
|
833
827
|
}
|
|
834
828
|
}
|
|
835
829
|
}
|
|
830
|
+
}
|
|
836
831
|
|
|
837
|
-
|
|
838
|
-
|
|
832
|
+
oPage.payload.layout.sectionOrder.splice(iSectionIndex, 0, oNewSection.id);
|
|
833
|
+
oPage.payload.sections[oNewSection.id] = oSection;
|
|
839
834
|
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
.
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
}.bind(this));
|
|
835
|
+
return await this._conditionalSavePersonalization(sPageId);
|
|
836
|
+
} catch (oError) {
|
|
837
|
+
this.setPersonalizationActive(false);
|
|
838
|
+
return Promise.reject(oError);
|
|
839
|
+
}
|
|
846
840
|
};
|
|
847
841
|
|
|
848
842
|
/**
|
|
@@ -851,38 +845,39 @@ sap.ui.define([
|
|
|
851
845
|
* @param {int} iPageIndex The index of the page containing the deleted section.
|
|
852
846
|
* @param {int} iSectionIndex The index of deleted section.
|
|
853
847
|
*
|
|
854
|
-
* @returns {Promise
|
|
848
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
855
849
|
*
|
|
856
850
|
* @since 1.75.0
|
|
857
851
|
*
|
|
858
852
|
* @private
|
|
859
853
|
*/
|
|
860
|
-
Pages.prototype.deleteSection = function (iPageIndex, iSectionIndex) {
|
|
854
|
+
Pages.prototype.deleteSection = async function (iPageIndex, iSectionIndex) {
|
|
861
855
|
this.setPersonalizationActive(true);
|
|
862
856
|
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
857
|
+
const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
|
|
858
|
+
const aSections = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections`);
|
|
859
|
+
const sSectionId = aSections[iSectionIndex].id;
|
|
866
860
|
aSections.splice(iSectionIndex, 1);
|
|
867
861
|
this._oPagesModel.refresh();
|
|
868
862
|
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
.
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
863
|
+
let oPage;
|
|
864
|
+
try {
|
|
865
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
866
|
+
oPage = await oCdmService.getPage(sPageId);
|
|
867
|
+
} catch (oError) {
|
|
868
|
+
this.setPersonalizationActive(false);
|
|
869
|
+
Log.error("Pages - deleteSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
870
|
+
return Promise.reject(oError);
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
try {
|
|
874
|
+
delete oPage.payload.sections[sSectionId];
|
|
875
|
+
oPage.payload.layout.sectionOrder.splice(iSectionIndex, 1);
|
|
876
|
+
return await this._conditionalSavePersonalization(sPageId);
|
|
877
|
+
} catch (oError) {
|
|
878
|
+
this.setPersonalizationActive(false);
|
|
879
|
+
return Promise.reject(oError);
|
|
880
|
+
}
|
|
886
881
|
};
|
|
887
882
|
|
|
888
883
|
/**
|
|
@@ -892,18 +887,18 @@ sap.ui.define([
|
|
|
892
887
|
* @param {int} iSectionIndex The index of the section.
|
|
893
888
|
* @param {boolean} bVisibility The new visibility value.
|
|
894
889
|
*
|
|
895
|
-
* @returns {Promise
|
|
890
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
896
891
|
*
|
|
897
892
|
* @since 1.75.0
|
|
898
893
|
*
|
|
899
894
|
* @private
|
|
900
895
|
*/
|
|
901
|
-
Pages.prototype.setSectionVisibility = function (iPageIndex, iSectionIndex, bVisibility) {
|
|
896
|
+
Pages.prototype.setSectionVisibility = async function (iPageIndex, iSectionIndex, bVisibility) {
|
|
902
897
|
this.setPersonalizationActive(true);
|
|
903
898
|
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
899
|
+
const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
|
|
900
|
+
const sSectionId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}/id`);
|
|
901
|
+
const oSection = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}`);
|
|
907
902
|
|
|
908
903
|
if (oSection.visible === bVisibility) {
|
|
909
904
|
return Promise.resolve();
|
|
@@ -912,22 +907,23 @@ sap.ui.define([
|
|
|
912
907
|
oSection.visible = bVisibility;
|
|
913
908
|
this._oPagesModel.refresh();
|
|
914
909
|
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
.
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
910
|
+
let oPage;
|
|
911
|
+
try {
|
|
912
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
913
|
+
oPage = await oCdmService.getPage(sPageId);
|
|
914
|
+
} catch (oError) {
|
|
915
|
+
this.setPersonalizationActive(false);
|
|
916
|
+
Log.error("Pages - setSectionVisibility: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
917
|
+
return Promise.reject(oError);
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
try {
|
|
921
|
+
oPage.payload.sections[sSectionId].visible = bVisibility;
|
|
922
|
+
return await this._conditionalSavePersonalization(sPageId);
|
|
923
|
+
} catch (oError) {
|
|
924
|
+
this.setPersonalizationActive(false);
|
|
925
|
+
return Promise.reject(oError);
|
|
926
|
+
}
|
|
931
927
|
};
|
|
932
928
|
|
|
933
929
|
/**
|
|
@@ -937,35 +933,36 @@ sap.ui.define([
|
|
|
937
933
|
* @param {int} iSectionIndex The index of the section.
|
|
938
934
|
* @param {string} sNewTitle The new title value.
|
|
939
935
|
*
|
|
940
|
-
* @returns {Promise
|
|
936
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
941
937
|
*
|
|
942
938
|
* @since 1.75.0
|
|
943
939
|
* @private
|
|
944
940
|
*/
|
|
945
|
-
Pages.prototype.renameSection = function (iPageIndex, iSectionIndex, sNewTitle) {
|
|
941
|
+
Pages.prototype.renameSection = async function (iPageIndex, iSectionIndex, sNewTitle) {
|
|
946
942
|
this.setPersonalizationActive(true);
|
|
947
943
|
|
|
948
|
-
|
|
949
|
-
|
|
944
|
+
const oPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
|
|
945
|
+
const oSectionModel = oPageModel.sections[iSectionIndex];
|
|
950
946
|
oSectionModel.title = sNewTitle;
|
|
951
947
|
this._oPagesModel.refresh();
|
|
952
948
|
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
.
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
949
|
+
let oPage;
|
|
950
|
+
try {
|
|
951
|
+
const oCDMService = await this._oCdmServicePromise;
|
|
952
|
+
oPage = await oCDMService.getPage(oPageModel.id);
|
|
953
|
+
} catch (oError) {
|
|
954
|
+
this.setPersonalizationActive(false);
|
|
955
|
+
Log.error("Pages - renameSection: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
956
|
+
return Promise.reject(oError);
|
|
957
|
+
}
|
|
958
|
+
|
|
959
|
+
try {
|
|
960
|
+
oPage.payload.sections[oSectionModel.id].title = sNewTitle;
|
|
961
|
+
return await this._conditionalSavePersonalization(oPage.identification.id);
|
|
962
|
+
} catch (oError) {
|
|
963
|
+
this.setPersonalizationActive(false);
|
|
964
|
+
return Promise.reject(oError);
|
|
965
|
+
}
|
|
969
966
|
};
|
|
970
967
|
|
|
971
968
|
/**
|
|
@@ -974,91 +971,78 @@ sap.ui.define([
|
|
|
974
971
|
* @param {int} iPageIndex The index of the page containing the section.
|
|
975
972
|
* @param {int} iSectionIndex The index of the section.
|
|
976
973
|
*
|
|
977
|
-
* @returns {Promise
|
|
974
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
978
975
|
*
|
|
979
976
|
* @since 1.75.0
|
|
980
977
|
*
|
|
981
978
|
* @private
|
|
982
979
|
*/
|
|
983
|
-
Pages.prototype.resetSection = function (iPageIndex, iSectionIndex) {
|
|
980
|
+
Pages.prototype.resetSection = async function (iPageIndex, iSectionIndex) {
|
|
984
981
|
this.setPersonalizationActive(true);
|
|
985
982
|
|
|
986
|
-
|
|
987
|
-
|
|
983
|
+
const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
|
|
984
|
+
const sSectionId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}/id`);
|
|
988
985
|
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
.
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
.
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
var oCdmPage = aResults[2];
|
|
1007
|
-
var oOriginalCdmPage = aResults[3];
|
|
1008
|
-
var oVizTypes = aResults[4];
|
|
1009
|
-
|
|
1010
|
-
return Promise.all([
|
|
1011
|
-
this._getModelForPage(oOriginalCdmPage, oVisualizations, oApplications, oVizTypes),
|
|
1012
|
-
oCdmPage,
|
|
1013
|
-
oOriginalCdmPage
|
|
1014
|
-
]);
|
|
1015
|
-
}.bind(this))
|
|
1016
|
-
.then(function (aResults) {
|
|
1017
|
-
var oOriginalPageModel = aResults[0];
|
|
1018
|
-
var oCdmPage = aResults[1];
|
|
1019
|
-
var oOriginalCdmPage = aResults[2];
|
|
1020
|
-
|
|
1021
|
-
var oOriginalSectionModel = deepClone(oOriginalPageModel.sections.find(function (section) {
|
|
1022
|
-
return section.id === sSectionId;
|
|
1023
|
-
}), 20);
|
|
1024
|
-
|
|
1025
|
-
var aOriginalVizIds = oOriginalSectionModel.visualizations.map(function (oVisualization) {
|
|
1026
|
-
return oVisualization.id;
|
|
1027
|
-
});
|
|
986
|
+
let oVisualizations;
|
|
987
|
+
let oApplications;
|
|
988
|
+
let oCdmPage;
|
|
989
|
+
let oOriginalCdmPage;
|
|
990
|
+
let oVizTypes;
|
|
991
|
+
try {
|
|
992
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
993
|
+
oVisualizations = await oCdmService.getCachedVisualizations();
|
|
994
|
+
oApplications = await oCdmService.getApplications();
|
|
995
|
+
oCdmPage = await oCdmService.getPage(sPageId);
|
|
996
|
+
oOriginalCdmPage = await oCdmService.getOriginalPage(sPageId);
|
|
997
|
+
oVizTypes = await oCdmService.getCachedVizTypes();
|
|
998
|
+
} catch (oError) {
|
|
999
|
+
this.setPersonalizationActive(false);
|
|
1000
|
+
Log.error("Pages - resetSection: Personalization cannot be saved: Failed to gather data from CDM Service.", oError, this.COMPONENT_NAME);
|
|
1001
|
+
return Promise.reject(oError);
|
|
1002
|
+
}
|
|
1028
1003
|
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1004
|
+
try {
|
|
1005
|
+
const oOriginalPageModel = await this._getModelForPage(oOriginalCdmPage, oVisualizations, oApplications, oVizTypes);
|
|
1006
|
+
const oOriginalSectionModel = deepClone(oOriginalPageModel.sections.find((section) => {
|
|
1007
|
+
return section.id === sSectionId;
|
|
1008
|
+
}), 20);
|
|
1009
|
+
|
|
1010
|
+
const aOriginalVizIds = oOriginalSectionModel.visualizations.map((oVisualization) => {
|
|
1011
|
+
return oVisualization.id;
|
|
1012
|
+
});
|
|
1013
|
+
|
|
1014
|
+
// the following loop ensures unique ids for viz references within a page according to adr-1011
|
|
1015
|
+
const oCurrentPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
|
|
1016
|
+
oCurrentPageModel.sections.forEach((oCurrentSectionModel) => {
|
|
1017
|
+
// Check in other sections if there is any visualization having a same id as in the reset section, if yes, generate a new id for this visualization.
|
|
1018
|
+
if (oOriginalSectionModel.id !== oCurrentSectionModel.id) {
|
|
1019
|
+
oCurrentSectionModel.visualizations.forEach((oVisualization) => {
|
|
1020
|
+
if (aOriginalVizIds.indexOf(oVisualization.id) !== -1) {
|
|
1021
|
+
const sNewId = this._generateId(sPageId);
|
|
1022
|
+
|
|
1023
|
+
const oVizRef = deepClone(oCdmPage.payload.sections[oCurrentSectionModel.id].viz[oVisualization.id]);
|
|
1024
|
+
delete oCdmPage.payload.sections[oCurrentSectionModel.id].viz[oVisualization.id];
|
|
1025
|
+
const iVizOrderIndex = oCdmPage.payload.sections[oCurrentSectionModel.id].layout.vizOrder.indexOf(oVizRef.id);
|
|
1026
|
+
|
|
1027
|
+
oVizRef.id = sNewId;
|
|
1028
|
+
oCdmPage.payload.sections[oCurrentSectionModel.id].viz[sNewId] = oVizRef;
|
|
1029
|
+
oCdmPage.payload.sections[oCurrentSectionModel.id].layout.vizOrder[iVizOrderIndex] = sNewId;
|
|
1030
|
+
|
|
1031
|
+
oVisualization.id = sNewId;
|
|
1032
|
+
}
|
|
1033
|
+
});
|
|
1034
|
+
}
|
|
1035
|
+
});
|
|
1036
|
+
|
|
1037
|
+
this._oPagesModel._setProperty(`/pages/${iPageIndex}/sections/${iSectionIndex}`, oOriginalSectionModel);
|
|
1038
|
+
|
|
1039
|
+
// Reset the CDM3.1 Site
|
|
1040
|
+
oCdmPage.payload.sections[oOriginalSectionModel.id] = oOriginalCdmPage.payload.sections[oOriginalSectionModel.id];
|
|
1041
|
+
return await this._conditionalSavePersonalization(oCdmPage.identification.id);
|
|
1042
|
+
} catch (oError) {
|
|
1043
|
+
this.setPersonalizationActive(false);
|
|
1044
|
+
return Promise.reject(oError);
|
|
1045
|
+
}
|
|
1062
1046
|
};
|
|
1063
1047
|
|
|
1064
1048
|
/**
|
|
@@ -1066,57 +1050,46 @@ sap.ui.define([
|
|
|
1066
1050
|
*
|
|
1067
1051
|
* @param {int} iPageIndex The index of the page.
|
|
1068
1052
|
*
|
|
1069
|
-
* @returns {Promise
|
|
1053
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
1070
1054
|
*
|
|
1071
1055
|
* @since 1.75.0
|
|
1072
1056
|
*
|
|
1073
1057
|
* @private
|
|
1074
1058
|
*/
|
|
1075
|
-
Pages.prototype.resetPage = function (iPageIndex) {
|
|
1059
|
+
Pages.prototype.resetPage = async function (iPageIndex) {
|
|
1076
1060
|
this.setPersonalizationActive(true);
|
|
1077
1061
|
|
|
1078
|
-
|
|
1062
|
+
const sPageId = this._oPagesModel.getProperty(`/pages/${iPageIndex}/id`);
|
|
1079
1063
|
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
.
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
.
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
.
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
var oOriginalCdmPage = aResults[2];
|
|
1110
|
-
this._oPagesModel._setProperty("/pages/" + iPageIndex, oOriginalPageModel);
|
|
1111
|
-
|
|
1112
|
-
// Reset the CDM3.1 Site
|
|
1113
|
-
oCdmPage.payload = deepClone(oOriginalCdmPage.payload);
|
|
1114
|
-
return this._conditionalSavePersonalization(oCdmPage.identification.id);
|
|
1115
|
-
}.bind(this))
|
|
1116
|
-
.catch(function (oError) {
|
|
1117
|
-
this.setPersonalizationActive(false);
|
|
1118
|
-
return Promise.reject(oError);
|
|
1119
|
-
}.bind(this));
|
|
1064
|
+
let oVisualizations;
|
|
1065
|
+
let oApplications;
|
|
1066
|
+
let oCdmPage;
|
|
1067
|
+
let oOriginalCdmPage;
|
|
1068
|
+
let oVizTypes;
|
|
1069
|
+
try {
|
|
1070
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
1071
|
+
oVisualizations = await oCdmService.getCachedVisualizations();
|
|
1072
|
+
oApplications = await oCdmService.getApplications();
|
|
1073
|
+
oCdmPage = await oCdmService.getPage(sPageId);
|
|
1074
|
+
oOriginalCdmPage = await oCdmService.getOriginalPage(sPageId);
|
|
1075
|
+
oVizTypes = await oCdmService.getCachedVizTypes();
|
|
1076
|
+
} catch (oError) {
|
|
1077
|
+
this.setPersonalizationActive(false);
|
|
1078
|
+
Log.error("Pages - resetPage: Personalization cannot be saved: Failed to gather data from CDM Service.", oError, this.COMPONENT_NAME);
|
|
1079
|
+
return Promise.reject(oError);
|
|
1080
|
+
}
|
|
1081
|
+
|
|
1082
|
+
try {
|
|
1083
|
+
const oOriginalPageModel = await this._getModelForPage(oOriginalCdmPage, oVisualizations, oApplications, oVizTypes);
|
|
1084
|
+
this._oPagesModel._setProperty(`/pages/${iPageIndex}`, oOriginalPageModel);
|
|
1085
|
+
|
|
1086
|
+
// Reset the CDM3.1 Site
|
|
1087
|
+
oCdmPage.payload = deepClone(oOriginalCdmPage.payload);
|
|
1088
|
+
return await this._conditionalSavePersonalization(oCdmPage.identification.id);
|
|
1089
|
+
} catch (oError) {
|
|
1090
|
+
this.setPersonalizationActive(false);
|
|
1091
|
+
return Promise.reject(oError);
|
|
1092
|
+
}
|
|
1120
1093
|
};
|
|
1121
1094
|
|
|
1122
1095
|
/**
|
|
@@ -1145,53 +1118,50 @@ sap.ui.define([
|
|
|
1145
1118
|
* In case no page id was provided and if {@link #enableImplicitSave} was set to false, all unsaved modified pages are saved.
|
|
1146
1119
|
* @param {string} [sPageId] the id of the page which should be saved
|
|
1147
1120
|
*
|
|
1148
|
-
* @returns {Promise
|
|
1121
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
1149
1122
|
* @see #enableImplicitSave()
|
|
1150
1123
|
*
|
|
1151
1124
|
* @since 1.74.0
|
|
1152
1125
|
* @private
|
|
1153
1126
|
*/
|
|
1154
|
-
Pages.prototype.savePersonalization = function (sPageId) {
|
|
1155
|
-
|
|
1127
|
+
Pages.prototype.savePersonalization = async function (sPageId) {
|
|
1128
|
+
let aPages;
|
|
1156
1129
|
if (!sPageId) {
|
|
1157
1130
|
aPages = deepClone(this._aPagesToBeSaved);
|
|
1158
1131
|
} else {
|
|
1159
1132
|
aPages = [sPageId];
|
|
1160
1133
|
}
|
|
1161
1134
|
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
Log.error("Pages - savePersonalization: Personalization cannot be saved: CDM Service cannot be retrieved or the save process encountered an error.", oError, this.COMPONENT_NAME);
|
|
1186
|
-
return Promise.reject(oError);
|
|
1187
|
-
}.bind(this));
|
|
1135
|
+
try {
|
|
1136
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
1137
|
+
await Promise.all(aPages.map((sPage) => {
|
|
1138
|
+
// Remove page from list because the current state will be saved
|
|
1139
|
+
const iIndex = this._aPagesToBeSaved.indexOf(sPage);
|
|
1140
|
+
this._aPagesToBeSaved.splice(iIndex, 1);
|
|
1141
|
+
|
|
1142
|
+
return new Promise((resolve, reject) => {
|
|
1143
|
+
oCdmService.save(sPage).then(resolve, reject);
|
|
1144
|
+
}).catch((oError) => {
|
|
1145
|
+
// Add page back to list because it wasn't saved
|
|
1146
|
+
if (this._aPagesToBeSaved.indexOf(sPage) === -1) {
|
|
1147
|
+
this._aPagesToBeSaved.push(sPage);
|
|
1148
|
+
}
|
|
1149
|
+
return Promise.reject(oError);
|
|
1150
|
+
});
|
|
1151
|
+
}));
|
|
1152
|
+
|
|
1153
|
+
this._bDirtyState = false;
|
|
1154
|
+
} catch (oError) {
|
|
1155
|
+
Log.error("Pages - savePersonalization: Personalization cannot be saved: CDM Service cannot be retrieved or the save process encountered an error.", oError, this.COMPONENT_NAME);
|
|
1156
|
+
return Promise.reject(oError);
|
|
1157
|
+
}
|
|
1188
1158
|
};
|
|
1189
1159
|
|
|
1190
1160
|
/**
|
|
1191
1161
|
* Saves the personalization depending on the default of the implicit save
|
|
1192
1162
|
* @param {string} sPageId the id of the page which should be saved
|
|
1193
1163
|
*
|
|
1194
|
-
* @returns {Promise
|
|
1164
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
1195
1165
|
*
|
|
1196
1166
|
* @since 1.85.0
|
|
1197
1167
|
* @private
|
|
@@ -1276,33 +1246,31 @@ sap.ui.define([
|
|
|
1276
1246
|
*
|
|
1277
1247
|
* @param {int} pageIndex The index of the page containing the section.
|
|
1278
1248
|
* @param {int} sectionIndex The index of the section containing the visualizations.
|
|
1279
|
-
* @returns {Promise
|
|
1249
|
+
* @returns {Promise} Promise which resolves after all visualizations have been checked (and removed).
|
|
1280
1250
|
*
|
|
1281
1251
|
* @since 1.90.0
|
|
1282
1252
|
* @private
|
|
1283
1253
|
*/
|
|
1284
|
-
Pages.prototype.removeUnsupportedVisualizations = function (pageIndex, sectionIndex) {
|
|
1285
|
-
|
|
1286
|
-
|
|
1254
|
+
Pages.prototype.removeUnsupportedVisualizations = async function (pageIndex, sectionIndex) {
|
|
1255
|
+
const oCSTRService = await this._oCSTRServicePromise;
|
|
1256
|
+
const aVisualizations = this.getModel().getProperty(`/pages/${pageIndex}/sections/${sectionIndex}/visualizations/`);
|
|
1287
1257
|
|
|
1288
|
-
|
|
1258
|
+
const aPromises = [];
|
|
1289
1259
|
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
aVisualizations.splice(index, 1);
|
|
1295
|
-
}
|
|
1296
|
-
return bIntentSupported;
|
|
1297
|
-
}.bind(this, i)));
|
|
1298
|
-
}
|
|
1299
|
-
|
|
1300
|
-
return Promise.all(aPromises).then(function (aResults) {
|
|
1301
|
-
if (aResults.indexOf(false) !== -1) {
|
|
1302
|
-
this.getModel().refresh();
|
|
1260
|
+
for (let i = aVisualizations.length - 1; i >= 0; --i) {
|
|
1261
|
+
aPromises.push(this._isIntentSupported(aVisualizations[i], oCSTRService).then(((index, bIntentSupported) => {
|
|
1262
|
+
if (!bIntentSupported) {
|
|
1263
|
+
aVisualizations.splice(index, 1);
|
|
1303
1264
|
}
|
|
1304
|
-
|
|
1305
|
-
|
|
1265
|
+
return bIntentSupported;
|
|
1266
|
+
}).bind(this, i)));
|
|
1267
|
+
}
|
|
1268
|
+
|
|
1269
|
+
const aResults = await Promise.all(aPromises);
|
|
1270
|
+
|
|
1271
|
+
if (aResults.indexOf(false) !== -1) {
|
|
1272
|
+
this.getModel().refresh();
|
|
1273
|
+
}
|
|
1306
1274
|
};
|
|
1307
1275
|
|
|
1308
1276
|
/**
|
|
@@ -1378,7 +1346,7 @@ sap.ui.define([
|
|
|
1378
1346
|
* @param {string} [sectionId] The id of the section to which the bookmark should be added.
|
|
1379
1347
|
* @param {string} [sContentProviderId] The contentProviderId or undefined outside the cFLP
|
|
1380
1348
|
*
|
|
1381
|
-
* @returns {Promise
|
|
1349
|
+
* @returns {Promise} Promise which resolves after the personalization was saved.
|
|
1382
1350
|
*
|
|
1383
1351
|
* @since 1.75.0
|
|
1384
1352
|
*
|
|
@@ -1483,19 +1451,19 @@ sap.ui.define([
|
|
|
1483
1451
|
// Add visualization to existing default section, update model & site, save personalization
|
|
1484
1452
|
oSectionToAdd.visualizations.push(oVizData);
|
|
1485
1453
|
this._oPagesModel.refresh();
|
|
1486
|
-
let
|
|
1454
|
+
let oCDMPage;
|
|
1487
1455
|
try {
|
|
1488
|
-
|
|
1456
|
+
oCDMPage = await oCdmService.getPage(pageId);
|
|
1489
1457
|
} catch (oError) {
|
|
1490
1458
|
Log.error("Pages - addBookmarkToPage: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
1491
1459
|
throw oError;
|
|
1492
1460
|
}
|
|
1493
|
-
const oSection =
|
|
1461
|
+
const oSection = oCDMPage.payload.sections[oSectionToAdd.id];
|
|
1494
1462
|
oSection.layout.vizOrder.push(oVizData.id);
|
|
1495
1463
|
oSection.viz[oVizData.id] = readUtils.getVizRef(oVizData);
|
|
1496
1464
|
|
|
1497
1465
|
// Save
|
|
1498
|
-
return this._conditionalSavePersonalization(pageId);
|
|
1466
|
+
return await this._conditionalSavePersonalization(pageId);
|
|
1499
1467
|
} catch (oError) {
|
|
1500
1468
|
this.setPersonalizationActive(false);
|
|
1501
1469
|
throw oError;
|
|
@@ -1507,22 +1475,17 @@ sap.ui.define([
|
|
|
1507
1475
|
* Currently, the returned Promise does not wait for the visitorFunctions to finish asynchronous tasks!
|
|
1508
1476
|
*
|
|
1509
1477
|
* @param {function} fnVisitor The visitor function
|
|
1510
|
-
* @returns {Promise
|
|
1478
|
+
* @returns {Promise} A Promise that resolves once all the pages were visited
|
|
1511
1479
|
*
|
|
1512
1480
|
* @since 1.82.0
|
|
1513
1481
|
* @private
|
|
1514
1482
|
*/
|
|
1515
|
-
Pages.prototype._visitPages = function (fnVisitor) {
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1520
|
-
|
|
1521
|
-
aPages = aPages || [];
|
|
1522
|
-
aPages.forEach(function (oPage) {
|
|
1523
|
-
fnVisitor(oPage);
|
|
1524
|
-
});
|
|
1525
|
-
});
|
|
1483
|
+
Pages.prototype._visitPages = async function (fnVisitor) {
|
|
1484
|
+
const oCdmService = await this._oCdmServicePromise;
|
|
1485
|
+
const aPages = await oCdmService.getAllPages() || [];
|
|
1486
|
+
aPages.forEach((oPage) => {
|
|
1487
|
+
fnVisitor(oPage);
|
|
1488
|
+
});
|
|
1526
1489
|
};
|
|
1527
1490
|
|
|
1528
1491
|
/**
|
|
@@ -1530,15 +1493,15 @@ sap.ui.define([
|
|
|
1530
1493
|
* Currently, the returned Promise does not wait for the visitorFunctions to finish asynchronous tasks!
|
|
1531
1494
|
*
|
|
1532
1495
|
* @param {function} fnVisitor The visitor function
|
|
1533
|
-
* @returns {Promise
|
|
1496
|
+
* @returns {Promise} A Promise that resolves once all the pages were visited
|
|
1534
1497
|
*
|
|
1535
1498
|
* @since 1.82.0
|
|
1536
1499
|
* @private
|
|
1537
1500
|
*/
|
|
1538
1501
|
Pages.prototype._visitSections = function (fnVisitor) {
|
|
1539
|
-
return this._visitPages(
|
|
1540
|
-
|
|
1541
|
-
Object.keys(oSections).forEach(
|
|
1502
|
+
return this._visitPages((oPage) => {
|
|
1503
|
+
const oSections = oPage.payload && oPage.payload.sections || {};
|
|
1504
|
+
Object.keys(oSections).forEach((sKey) => {
|
|
1542
1505
|
fnVisitor(oSections[sKey], oPage);
|
|
1543
1506
|
});
|
|
1544
1507
|
});
|
|
@@ -1549,15 +1512,15 @@ sap.ui.define([
|
|
|
1549
1512
|
* Currently the returned Promise does not wait for the visitorFunctions to finish asynchronous tasks!
|
|
1550
1513
|
*
|
|
1551
1514
|
* @param {function} fnVisitor The visitor function
|
|
1552
|
-
* @returns {Promise
|
|
1515
|
+
* @returns {Promise} A Promise that resolves once all the pages were visited
|
|
1553
1516
|
*
|
|
1554
1517
|
* @since 1.82.0
|
|
1555
1518
|
* @private
|
|
1556
1519
|
*/
|
|
1557
1520
|
Pages.prototype._visitVizReferences = function (fnVisitor) {
|
|
1558
|
-
return this._visitSections(
|
|
1559
|
-
|
|
1560
|
-
Object.keys(oVizReferences).forEach(
|
|
1521
|
+
return this._visitSections((oSection, oPage) => {
|
|
1522
|
+
const oVizReferences = oSection.viz || {};
|
|
1523
|
+
Object.keys(oVizReferences).forEach((sKey) => {
|
|
1561
1524
|
fnVisitor(oVizReferences[sKey], oSection, oPage);
|
|
1562
1525
|
});
|
|
1563
1526
|
});
|
|
@@ -1578,29 +1541,26 @@ sap.ui.define([
|
|
|
1578
1541
|
* @since 1.82.0
|
|
1579
1542
|
* @private
|
|
1580
1543
|
*/
|
|
1581
|
-
Pages.prototype._findBookmarks = function (oIdentifier) {
|
|
1544
|
+
Pages.prototype._findBookmarks = async function (oIdentifier) {
|
|
1582
1545
|
// for bookmarks it is sufficient to check the vizReferences as the properties of interest
|
|
1583
1546
|
// don't come from other CDM entities like app or visualization
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
pageId: oPage.identification.id
|
|
1598
|
-
});
|
|
1599
|
-
}
|
|
1600
|
-
}).then(function () {
|
|
1601
|
-
return aVizReferences;
|
|
1547
|
+
const aVizReferences = [];
|
|
1548
|
+
|
|
1549
|
+
let oTarget = utilsCdm.toTargetFromHash(oIdentifier.url);
|
|
1550
|
+
oTarget = readUtils.harmonizeTarget(oTarget);
|
|
1551
|
+
await this._visitVizReferences((oVizReference, oSection, oPage) => {
|
|
1552
|
+
if (oVizReference.isBookmark &&
|
|
1553
|
+
oIdentifier.vizType === oVizReference.vizType &&
|
|
1554
|
+
(oVizReference.contentProviderId || "") === (oIdentifier.contentProviderId || "") &&
|
|
1555
|
+
utilsCdm.isSameTarget(oTarget, oVizReference.target)) {
|
|
1556
|
+
aVizReferences.push({
|
|
1557
|
+
vizRefId: oVizReference.id,
|
|
1558
|
+
sectionId: oSection.id,
|
|
1559
|
+
pageId: oPage.identification.id
|
|
1602
1560
|
});
|
|
1603
|
-
}
|
|
1561
|
+
}
|
|
1562
|
+
});
|
|
1563
|
+
return aVizReferences;
|
|
1604
1564
|
};
|
|
1605
1565
|
|
|
1606
1566
|
/**
|
|
@@ -1617,11 +1577,9 @@ sap.ui.define([
|
|
|
1617
1577
|
* @since 1.82.0
|
|
1618
1578
|
* @private
|
|
1619
1579
|
*/
|
|
1620
|
-
Pages.prototype.countBookmarks = function (oIdentifier) {
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
return aFoundBookmarks.length;
|
|
1624
|
-
});
|
|
1580
|
+
Pages.prototype.countBookmarks = async function (oIdentifier) {
|
|
1581
|
+
const aFoundBookmarks = await this._findBookmarks(oIdentifier);
|
|
1582
|
+
return aFoundBookmarks.length;
|
|
1625
1583
|
};
|
|
1626
1584
|
|
|
1627
1585
|
/**
|
|
@@ -1641,41 +1599,37 @@ sap.ui.define([
|
|
|
1641
1599
|
* @since 1.82.0
|
|
1642
1600
|
* @private
|
|
1643
1601
|
*/
|
|
1644
|
-
Pages.prototype.deleteBookmarks = function (oIdentifier, pageId, sectionId) {
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
}.bind(this))
|
|
1676
|
-
.then(function () {
|
|
1677
|
-
return iDeletionCounter;
|
|
1678
|
-
});
|
|
1602
|
+
Pages.prototype.deleteBookmarks = async function (oIdentifier, pageId, sectionId) {
|
|
1603
|
+
let iDeletionCounter = 0;
|
|
1604
|
+
const aVizReferencesToDelete = await this._findBookmarks(oIdentifier);
|
|
1605
|
+
// the deleteVisualization function is not mass capable so we make sure that the
|
|
1606
|
+
// calls are sequentialized so that there can be no race conditions
|
|
1607
|
+
await aVizReferencesToDelete.reduce((oDeleteChain, oIds) => {
|
|
1608
|
+
if (pageId && oIds.pageId !== pageId) {
|
|
1609
|
+
return oDeleteChain;
|
|
1610
|
+
}
|
|
1611
|
+
if (sectionId && oIds.sectionId !== sectionId) {
|
|
1612
|
+
return oDeleteChain;
|
|
1613
|
+
}
|
|
1614
|
+
return oDeleteChain
|
|
1615
|
+
.then(() => {
|
|
1616
|
+
return this.findVisualization(oIds.pageId, oIds.sectionId, null, oIds.vizRefId);
|
|
1617
|
+
})
|
|
1618
|
+
.then((aLocation) => {
|
|
1619
|
+
// the vizRef ID is unique on a page so there can be only one result
|
|
1620
|
+
const oLocation = aLocation[0];
|
|
1621
|
+
const iPageIndex = this.getPageIndex(oLocation.pageId);
|
|
1622
|
+
return this.deleteVisualization(iPageIndex, oLocation.sectionIndex, oLocation.vizIndexes[0]);
|
|
1623
|
+
})
|
|
1624
|
+
.then(() => {
|
|
1625
|
+
iDeletionCounter = iDeletionCounter + 1;
|
|
1626
|
+
})
|
|
1627
|
+
.catch(() => {
|
|
1628
|
+
// as deleteVisualization is not mass capable it is not possible to implement an all or nothing
|
|
1629
|
+
// error handling therefore only the number of successful deletions is returned
|
|
1630
|
+
});
|
|
1631
|
+
}, Promise.resolve());
|
|
1632
|
+
return iDeletionCounter;
|
|
1679
1633
|
};
|
|
1680
1634
|
|
|
1681
1635
|
/**
|
|
@@ -1694,68 +1648,65 @@ sap.ui.define([
|
|
|
1694
1648
|
* @since 1.83.0
|
|
1695
1649
|
* @private
|
|
1696
1650
|
*/
|
|
1697
|
-
Pages.prototype.updateBookmarks = function (oIdentifier, oParameters) {
|
|
1651
|
+
Pages.prototype.updateBookmarks = async function (oIdentifier, oParameters) {
|
|
1698
1652
|
if (!oIdentifier || !oIdentifier.url || typeof oIdentifier.url !== "string") {
|
|
1699
1653
|
Log.error("Fail to update bookmark. No valid URL");
|
|
1700
1654
|
return Promise.reject("Invalid URL provided");
|
|
1701
1655
|
}
|
|
1702
1656
|
if (!oParameters || typeof oParameters !== "object") {
|
|
1703
|
-
Log.error(
|
|
1657
|
+
Log.error(`Fail to update bookmark. No valid parameters, URL is: ${oIdentifier.url}`);
|
|
1704
1658
|
return Promise.reject("Missing parameters");
|
|
1705
1659
|
}
|
|
1706
|
-
|
|
1707
|
-
|
|
1660
|
+
let iUpdateCounter = 0;
|
|
1661
|
+
const aResult = await Promise.all([
|
|
1708
1662
|
this._findBookmarks(oIdentifier)
|
|
1709
|
-
])
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
|
|
1756
|
-
.then(function () {
|
|
1757
|
-
return iUpdateCounter;
|
|
1758
|
-
});
|
|
1663
|
+
]);
|
|
1664
|
+
const aVizReferencesToUpdate = aResult[0];
|
|
1665
|
+
|
|
1666
|
+
// the updateVisualization function is not mass capable so we make sure that the
|
|
1667
|
+
// calls are sequentialized so that there can be no race conditions
|
|
1668
|
+
await aVizReferencesToUpdate.reduce((oUpdateChain, oIds) => {
|
|
1669
|
+
return oUpdateChain
|
|
1670
|
+
.then(() => {
|
|
1671
|
+
return this.findVisualization(oIds.pageId, oIds.sectionId, null, oIds.vizRefId);
|
|
1672
|
+
})
|
|
1673
|
+
.then((aLocation) => {
|
|
1674
|
+
// the vizRef ID is unique on a page so there can be only one result
|
|
1675
|
+
const oLocation = aLocation[0];
|
|
1676
|
+
const iPageIndex = this.getPageIndex(oLocation.pageId);
|
|
1677
|
+
|
|
1678
|
+
// map the parameters of the bookmark service API to the properties of a visualization
|
|
1679
|
+
const oVisualizationData = {
|
|
1680
|
+
subtitle: oParameters.subtitle,
|
|
1681
|
+
icon: oParameters.icon,
|
|
1682
|
+
info: oParameters.info,
|
|
1683
|
+
numberUnit: oParameters.numberUnit,
|
|
1684
|
+
indicatorDataSource: {
|
|
1685
|
+
path: oParameters.serviceUrl,
|
|
1686
|
+
refresh: oParameters.serviceRefreshInterval
|
|
1687
|
+
},
|
|
1688
|
+
vizConfig: oParameters.vizConfig
|
|
1689
|
+
};
|
|
1690
|
+
// prevent that title and url can be cleared by setting them to "" as they are mandatory
|
|
1691
|
+
if (oParameters.title) {
|
|
1692
|
+
oVisualizationData.title = oParameters.title;
|
|
1693
|
+
}
|
|
1694
|
+
if (oParameters.url) {
|
|
1695
|
+
oVisualizationData.target = readUtils.harmonizeTarget(utilsCdm.toTargetFromHash(oParameters.url));
|
|
1696
|
+
}
|
|
1697
|
+
|
|
1698
|
+
return this.updateVisualization(iPageIndex, oLocation.sectionIndex, oLocation.vizIndexes[0], oVisualizationData);
|
|
1699
|
+
})
|
|
1700
|
+
.then(() => {
|
|
1701
|
+
iUpdateCounter = iUpdateCounter + 1;
|
|
1702
|
+
})
|
|
1703
|
+
.catch(() => {
|
|
1704
|
+
// as updateVisualization is not mass capable it is not possible to implement an all or nothing
|
|
1705
|
+
// error handling therefore only the number of successful updates is returned
|
|
1706
|
+
});
|
|
1707
|
+
}, Promise.resolve());
|
|
1708
|
+
|
|
1709
|
+
return iUpdateCounter;
|
|
1759
1710
|
};
|
|
1760
1711
|
|
|
1761
1712
|
/**
|
|
@@ -1791,7 +1742,7 @@ sap.ui.define([
|
|
|
1791
1742
|
oCdmService.getCachedVizTypes()
|
|
1792
1743
|
]);
|
|
1793
1744
|
|
|
1794
|
-
const oPageModel = this._oPagesModel.getProperty(
|
|
1745
|
+
const oPageModel = this._oPagesModel.getProperty(`/pages/${iPageIndex}`);
|
|
1795
1746
|
const oSectionModel = oPageModel.sections[iSourceSectionIndex];
|
|
1796
1747
|
const aSourceSectionVisualizations = oSectionModel.visualizations;
|
|
1797
1748
|
let oUpdatedVisualization = aSourceSectionVisualizations[iSourceVisualizationIndex];
|
|
@@ -1866,34 +1817,35 @@ sap.ui.define([
|
|
|
1866
1817
|
* @param {string} sVizRefId The the vizReference ID
|
|
1867
1818
|
* @param {sap.ushell.services.Pages.Visualization} oUpdatedVisualization The updated visualization properties
|
|
1868
1819
|
*
|
|
1869
|
-
* @returns {Promise
|
|
1820
|
+
* @returns {Promise} The promise resolves when the personalization was saved successfully
|
|
1870
1821
|
*
|
|
1871
1822
|
* @since 1.83
|
|
1872
1823
|
* @private
|
|
1873
1824
|
*/
|
|
1874
|
-
Pages.prototype._updateVisualizationCDMData = function (sPageId, sSectionId, sVizRefId, oUpdatedVisualization) {
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
.
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1825
|
+
Pages.prototype._updateVisualizationCDMData = async function (sPageId, sSectionId, sVizRefId, oUpdatedVisualization) {
|
|
1826
|
+
let oPage;
|
|
1827
|
+
try {
|
|
1828
|
+
const oCDMService = await this._oCdmServicePromise;
|
|
1829
|
+
oPage = await oCDMService.getPage(sPageId);
|
|
1830
|
+
} catch (oError) {
|
|
1831
|
+
this.setPersonalizationActive(false);
|
|
1832
|
+
Log.error("Pages - updateVisualization: Personalization cannot be saved: CDM Service or Page cannot be retrieved.", oError, this.COMPONENT_NAME);
|
|
1833
|
+
return Promise.reject(oError);
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1836
|
+
try {
|
|
1837
|
+
const oVizRef = oPage.payload.sections[sSectionId].viz[sVizRefId];
|
|
1838
|
+
// This makes sure that only valid properties end up in the vizReference
|
|
1839
|
+
const oUpdatedVizRefProperties = readUtils.getVizRef(oUpdatedVisualization);
|
|
1840
|
+
oUpdatedVizRefProperties.vizConfig = oUpdatedVisualization.vizConfig;
|
|
1841
|
+
// Add only changed properties to the vizReference. See also updateVisualization.
|
|
1842
|
+
extend(oVizRef, oUpdatedVizRefProperties);
|
|
1843
|
+
|
|
1844
|
+
return await this._conditionalSavePersonalization(oPage.identification.id);
|
|
1845
|
+
} catch (oError) {
|
|
1846
|
+
this.setPersonalizationActive(false);
|
|
1847
|
+
return Promise.reject(oError);
|
|
1848
|
+
}
|
|
1897
1849
|
};
|
|
1898
1850
|
|
|
1899
1851
|
/**
|
|
@@ -1917,4 +1869,4 @@ sap.ui.define([
|
|
|
1917
1869
|
|
|
1918
1870
|
Pages.hasNoAdapter = true;
|
|
1919
1871
|
return Pages;
|
|
1920
|
-
}, /*export=*/ true);
|
|
1872
|
+
}, /* export=*/ true);
|