@sapui5/sap.ushell 1.125.0 → 1.126.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/main/js/sap/ushell/.library +1 -1
- package/src/main/js/sap/ushell/Container.js +137 -62
- 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/SessionHandler.js +35 -31
- package/src/main/js/sap/ushell/TechnicalParameters.js +1 -1
- package/src/main/js/sap/ushell/URLTemplateProcessor.js +1 -1
- package/src/main/js/sap/ushell/Ui5NativeServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/Ui5ServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DefinitionParameterSetBuilder.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/DependencyGraph.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Functions.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/Resolvers.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/TemplateParameterParser.js +1 -1
- package/src/main/js/sap/ushell/_URLTemplateProcessor/utils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ClientSideTargetResolutionAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/CommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ConfigurationDefaultsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/ContainerAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +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/cdm/v3/utilsCdm.js +34 -0
- 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 +4 -4
- 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/api/RTA.js +14 -2
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +5 -5
- 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/AppState.js +1 -1
- 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 +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/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 +2 -1
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +3 -3
- package/src/main/js/sap/ushell/components/CatalogsManager.js +4 -1
- package/src/main/js/sap/ushell/components/HomepageManager.js +1 -0
- package/src/main/js/sap/ushell/components/_HeaderManager/ShellHeader.controller.js +1 -0
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +2 -2
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +37 -7
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/elements/model.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedShellElements/RelatedShellElements.js +1 -1
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +1 -1
- package/src/main/js/sap/ushell/components/factsheet/Component.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardContent.view.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardGroupsBox.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/DashboardUIActions.js +1 -1
- package/src/main/js/sap/ushell/components/homepage/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/ActionMode.js +1 -1
- package/src/main/js/sap/ushell/components/pages/Component.js +1 -1
- package/src/main/js/sap/ushell/components/pages/MyHomeImport.js +1 -1
- package/src/main/js/sap/ushell/components/pages/controller/PageRuntime.controller.js +2 -1
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +11 -3
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/controller/NavigationBarMenu.controller.js +1 -1
- package/src/main/js/sap/ushell/components/shell/NavigationBarMenu/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Notifications/Notifications.controller.js +1 -2
- package/src/main/js/sap/ushell/components/shell/ProductSwitch/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Search/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/FrequentActivityProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/RecentSearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/SearchCEP/SearchProviders/SearchServiceProvider.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/UserSettings.controller.js +10 -0
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +1 -0
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/tiles/cdm/applauncherdynamic/Component.js +3 -0
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.accessibility.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controller/WorkPageBuilder.controller.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +1 -1
- 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/library.js +1 -1
- 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/History.js +1 -2
- package/src/main/js/sap/ushell/renderer/Renderer.js +2 -2
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +1 -1
- package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +3 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +37 -37
- package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +4 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +4 -4
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/services/AppConfiguration.js +13 -11
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +1 -1
- package/src/main/js/sap/ushell/services/AppState.js +1 -1
- package/src/main/js/sap/ushell/services/Bookmark.js +1 -1
- package/src/main/js/sap/ushell/services/BookmarkV2.js +1 -1
- package/src/main/js/sap/ushell/services/ClientSideTargetResolution.js +625 -750
- package/src/main/js/sap/ushell/services/CommonDataModel.js +21 -14
- package/src/main/js/sap/ushell/services/Configuration.js +1 -1
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +14 -3
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
- package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/services/Extension.js +1 -1
- package/src/main/js/sap/ushell/services/FlpLaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/FloatingContainer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Footer.js +1 -1
- package/src/main/js/sap/ushell/services/FrameBoundExtension/Item.js +1 -1
- 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.js +1 -1
- package/src/main/js/sap/ushell/services/LaunchPage.js +1 -1
- package/src/main/js/sap/ushell/services/Menu.js +1 -1
- package/src/main/js/sap/ushell/services/Message.js +1 -1
- package/src/main/js/sap/ushell/services/MessageBroker.js +1 -1
- package/src/main/js/sap/ushell/services/MessageInternal.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation/compatibility.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation/utils.js +1 -1
- package/src/main/js/sap/ushell/services/Navigation.js +3 -3
- package/src/main/js/sap/ushell/services/NavigationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/PageBuilding.js +1 -1
- package/src/main/js/sap/ushell/services/PagePersistence.js +1 -1
- package/src/main/js/sap/ushell/services/PageReferencing.js +1 -1
- package/src/main/js/sap/ushell/services/Pages.js +1 -1
- package/src/main/js/sap/ushell/services/Personalization.js +1 -1
- package/src/main/js/sap/ushell/services/PersonalizationV2.js +1 -1
- package/src/main/js/sap/ushell/services/PluginManager.js +1 -1
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +223 -229
- package/src/main/js/sap/ushell/services/Search.js +1 -1
- package/src/main/js/sap/ushell/services/SearchCEP.js +1 -1
- package/src/main/js/sap/ushell/services/SearchableContent.js +1 -1
- package/src/main/js/sap/ushell/services/ShellNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SmartNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/SpaceContent.js +1 -1
- package/src/main/js/sap/ushell/services/UITracer.js +1 -1
- package/src/main/js/sap/ushell/services/URLShortening.js +1 -1
- package/src/main/js/sap/ushell/services/URLTemplate.js +1 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +87 -78
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +225 -271
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationDataProvider.js +1 -1
- package/src/main/js/sap/ushell/services/VisualizationInstantiation.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Formatter.js +10 -10
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundIndex.js +9 -6
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/InboundProvider.js +16 -25
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/ParameterMapping.js +3 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/PrelaunchOperations.js +15 -21
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Search.js +52 -45
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/StagedLogger.js +3 -5
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/SystemContext.js +5 -2
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/Utils.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/VirtualInbounds.js +1 -1
- package/src/main/js/sap/ushell/services/_ClientSideTargetResolution/XAppStateProcessing.js +63 -80
- 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/_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/_MessageBroker/MessageBrokerEngine.js +1 -1
- package/src/main/js/sap/ushell/services/_PageReferencing/PageReferencer.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/Extensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/HeaderExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/_PluginManager/MenuExtensions.js +1 -1
- package/src/main/js/sap/ushell/services/_Ui5ComponentLoader/utils.js +1 -1
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/sap_horizon/Tile.less +2 -6
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
- package/src/main/js/sap/ushell/ui/footerbar/SendAsEmailButton.js +2 -2
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +3 -6
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ShellHeadItem.js +3 -8
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -2
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIService.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/WindowUtils.js +17 -0
- package/src/main/js/sap/ushell/utils/tilecard/TileCard.js +305 -305
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +22 -5
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +7 -6
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/ui5.yaml +1 -1
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* This service should be accessed by the application
|
|
8
8
|
* via the CrossApplicationNavigation service.
|
|
9
9
|
*
|
|
10
|
-
* @version 1.
|
|
10
|
+
* @version 1.126.1
|
|
11
11
|
*/
|
|
12
12
|
sap.ui.define([
|
|
13
13
|
"sap/base/Log",
|
|
@@ -27,13 +27,13 @@ sap.ui.define([
|
|
|
27
27
|
isEmptyObject,
|
|
28
28
|
EventProvider,
|
|
29
29
|
jQuery,
|
|
30
|
-
|
|
30
|
+
ushellUtils,
|
|
31
31
|
Container
|
|
32
32
|
) {
|
|
33
33
|
"use strict";
|
|
34
34
|
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
const sEventNameValueStored = "valueStored";
|
|
36
|
+
const aStoreMembers = ["value", "noEdit", "noStore", "extendedValue", "alwaysAskPlugin"];
|
|
37
37
|
/**
|
|
38
38
|
* @alias sap.ushell.services.UserDefaultParameters
|
|
39
39
|
* @class
|
|
@@ -67,8 +67,7 @@ sap.ui.define([
|
|
|
67
67
|
// persistence.
|
|
68
68
|
this._oWasParameterPersisted = {};
|
|
69
69
|
|
|
70
|
-
|
|
71
|
-
var oStoreValueEventProvider = new EventProvider();
|
|
70
|
+
const oStoreValueEventProvider = new EventProvider();
|
|
72
71
|
|
|
73
72
|
/**
|
|
74
73
|
* Obtain an integer representing the priority of the plugin
|
|
@@ -80,7 +79,7 @@ sap.ui.define([
|
|
|
80
79
|
* @private
|
|
81
80
|
*/
|
|
82
81
|
function getPrio (oPlugin) {
|
|
83
|
-
|
|
82
|
+
const val = (typeof oPlugin.getComponentData === "function" && oPlugin.getComponentData() && oPlugin.getComponentData().config && oPlugin.getComponentData().config["sap-priority"]) || 0;
|
|
84
83
|
if (typeof val !== "number" || isNaN(val)) {
|
|
85
84
|
return 0;
|
|
86
85
|
}
|
|
@@ -100,9 +99,9 @@ sap.ui.define([
|
|
|
100
99
|
* @since 1.32.0
|
|
101
100
|
*/
|
|
102
101
|
this._insertPluginOrdered = function (aPlugins, oPlugin) {
|
|
103
|
-
|
|
104
|
-
for (
|
|
105
|
-
|
|
102
|
+
const prioPlugin = getPrio(oPlugin);
|
|
103
|
+
for (let i = 0; (i < aPlugins.length) && oPlugin; ++i) {
|
|
104
|
+
const prioNth = getPrio(aPlugins[i]);
|
|
106
105
|
if (oPlugin && (prioPlugin > prioNth)) {
|
|
107
106
|
aPlugins.splice(i, 0, oPlugin); // insert at index i;
|
|
108
107
|
oPlugin = undefined;
|
|
@@ -140,32 +139,23 @@ sap.ui.define([
|
|
|
140
139
|
*
|
|
141
140
|
* @private
|
|
142
141
|
*/
|
|
143
|
-
this._getUserDefaultValueFromPlugin = function (oPlugin, sParameterName, oSystemContext, oValue) {
|
|
144
|
-
var oResult;
|
|
142
|
+
this._getUserDefaultValueFromPlugin = async function (oPlugin, sParameterName, oSystemContext, oValue) {
|
|
145
143
|
if (typeof oPlugin.getUserDefault === "function") {
|
|
146
|
-
|
|
147
|
-
oPlugin.getUserDefault(sParameterName, oValue, oSystemContext)
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
resolve(oResolveValue);
|
|
158
|
-
}.bind(this))
|
|
159
|
-
.fail(function () {
|
|
160
|
-
Log.error("invocation of getUserDefault(\"" + sParameterName + "\") for plugin " + that._getComponentNameOfPlugin(oPlugin) + " rejected.", null,
|
|
144
|
+
try {
|
|
145
|
+
const oResult = await ushellUtils.promisify(oPlugin.getUserDefault(sParameterName, oValue, oSystemContext));
|
|
146
|
+
const oResolveValue = oResult || oValue;
|
|
147
|
+
|
|
148
|
+
const sPluginName = this._getComponentNameOfPlugin(oPlugin);
|
|
149
|
+
Log.debug(`[UserDefaults] Fetched "${sParameterName}" for SystemContext="${oSystemContext.id}" from Plugin="${sPluginName}"`, JSON.stringify(oResolveValue, null, 2));
|
|
150
|
+
|
|
151
|
+
return oResolveValue;
|
|
152
|
+
} catch {
|
|
153
|
+
Log.error(`invocation of getUserDefault("${ sParameterName }") for plugin ${ this._getComponentNameOfPlugin(oPlugin) } rejected.`, null,
|
|
161
154
|
"sap.ushell.services.UserDefaultParameters");
|
|
162
|
-
|
|
163
|
-
});
|
|
164
|
-
}.bind(this));
|
|
165
|
-
} else {
|
|
166
|
-
oResult = Promise.resolve(oValue);
|
|
155
|
+
}
|
|
167
156
|
}
|
|
168
|
-
|
|
157
|
+
|
|
158
|
+
return oValue;
|
|
169
159
|
};
|
|
170
160
|
|
|
171
161
|
/**
|
|
@@ -188,26 +178,22 @@ sap.ui.define([
|
|
|
188
178
|
* @since 1.32.0
|
|
189
179
|
* @private
|
|
190
180
|
*/
|
|
191
|
-
this._iterateOverPluginsToGetDefaultValue = function (sParameterName, oStartValue, oSystemContext) {
|
|
181
|
+
this._iterateOverPluginsToGetDefaultValue = async function (sParameterName, oStartValue, oSystemContext) {
|
|
192
182
|
// Main promise chain construction: a plugin will only be called once the previous one's promise has resolved
|
|
193
183
|
// so that we have access to the value returned by that promise.
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
reject("Initialization of plugins failed");
|
|
208
|
-
});
|
|
209
|
-
}.bind(this));
|
|
210
|
-
}.bind(this));
|
|
184
|
+
const PluginManager = await Container.getServiceAsync("PluginManager");
|
|
185
|
+
|
|
186
|
+
try {
|
|
187
|
+
await ushellUtils.promisify(PluginManager.loadPlugins("UserDefaults"));
|
|
188
|
+
} catch {
|
|
189
|
+
Log.error(`Cannot get value for ${ sParameterName }. One or more plugins could not be loaded.`);
|
|
190
|
+
return Promise.reject("Initialization of plugins failed");
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
return this._aPlugins.reduce(async (oPromise, oPlugin) =>{
|
|
194
|
+
const oPreviousValue = await oPromise;
|
|
195
|
+
return this._getUserDefaultValueFromPlugin(oPlugin, sParameterName, oSystemContext, oPreviousValue);
|
|
196
|
+
}, Promise.resolve(oStartValue));
|
|
211
197
|
};
|
|
212
198
|
|
|
213
199
|
this._getStoreDate = function () {
|
|
@@ -227,25 +213,20 @@ sap.ui.define([
|
|
|
227
213
|
* @since 1.32.0
|
|
228
214
|
* @private
|
|
229
215
|
*/
|
|
230
|
-
this._storeValue = function (sParameterName, oValueObject, bFromEditor, oSystemContext) {
|
|
216
|
+
this._storeValue = async function (sParameterName, oValueObject, bFromEditor, oSystemContext) {
|
|
231
217
|
if (bFromEditor && oValueObject.extendedValue) {
|
|
232
|
-
|
|
233
|
-
.
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
this._saveParameterValue(sParameterName, oValueObject, bFromEditor, false, oSystemContext)
|
|
245
|
-
.then(resolve);
|
|
246
|
-
}.bind(this));
|
|
247
|
-
}.bind(this));
|
|
248
|
-
}.bind(this));
|
|
218
|
+
try {
|
|
219
|
+
const ClientSideTargetResolution = await Container.getServiceAsync("ClientSideTargetResolution");
|
|
220
|
+
const oDeferred = ClientSideTargetResolution.getUserDefaultParameterNames(oSystemContext);
|
|
221
|
+
const oParametersAndExtendedParameters = await ushellUtils.promisify(oDeferred);
|
|
222
|
+
|
|
223
|
+
const oExtractedArrays = this._extractKeyArrays(oParametersAndExtendedParameters);
|
|
224
|
+
const bRemoveExtendedValue = oExtractedArrays.extended.indexOf(sParameterName) < 0;
|
|
225
|
+
|
|
226
|
+
return this._saveParameterValue(sParameterName, oValueObject, bFromEditor, bRemoveExtendedValue, oSystemContext);
|
|
227
|
+
} catch {
|
|
228
|
+
Log.error(`Cannot save value for ${ sParameterName }. One or more plugins could not be loaded.`);
|
|
229
|
+
}
|
|
249
230
|
}
|
|
250
231
|
|
|
251
232
|
return this._saveParameterValue(sParameterName, oValueObject, bFromEditor, false, oSystemContext);
|
|
@@ -265,7 +246,7 @@ sap.ui.define([
|
|
|
265
246
|
* @since 1.79.0
|
|
266
247
|
* @private
|
|
267
248
|
*/
|
|
268
|
-
this._saveParameterValue = function (sParameterName, oValueObject, bFromEditor, bRemoveExtendedValue, oSystemContext) {
|
|
249
|
+
this._saveParameterValue = async function (sParameterName, oValueObject, bFromEditor, bRemoveExtendedValue, oSystemContext) {
|
|
269
250
|
if (bRemoveExtendedValue) {
|
|
270
251
|
oValueObject.extendedValue = undefined;
|
|
271
252
|
}
|
|
@@ -278,24 +259,21 @@ sap.ui.define([
|
|
|
278
259
|
}, oValueObject._shellData);
|
|
279
260
|
}
|
|
280
261
|
|
|
281
|
-
|
|
282
|
-
.
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
});
|
|
297
|
-
});
|
|
298
|
-
});
|
|
262
|
+
try {
|
|
263
|
+
const UserDefaultParameterPersistence = await Container.getServiceAsync("UserDefaultParameterPersistence");
|
|
264
|
+
const oDeferred = UserDefaultParameterPersistence.saveParameterValue(sParameterName, oValueObject, oSystemContext);
|
|
265
|
+
await ushellUtils.promisify(oDeferred);
|
|
266
|
+
} catch { /* always resolve */ }
|
|
267
|
+
|
|
268
|
+
const oStoreValue = {
|
|
269
|
+
parameterName: sParameterName,
|
|
270
|
+
parameterValue: deepClone(oValueObject || {}),
|
|
271
|
+
systemContext: oSystemContext
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
oStoreValueEventProvider.fireEvent(sEventNameValueStored, oStoreValue);
|
|
275
|
+
|
|
276
|
+
return sParameterName;
|
|
299
277
|
};
|
|
300
278
|
|
|
301
279
|
/**
|
|
@@ -313,15 +291,11 @@ sap.ui.define([
|
|
|
313
291
|
* @since 1.32.0
|
|
314
292
|
* @private
|
|
315
293
|
*/
|
|
316
|
-
this._getPersistedValue = function (sParameterName, oSystemContext) {
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
.done(resolve)
|
|
322
|
-
.fail(reject);
|
|
323
|
-
});
|
|
324
|
-
});
|
|
294
|
+
this._getPersistedValue = async function (sParameterName, oSystemContext) {
|
|
295
|
+
const UserDefaultParameterPersistence = await Container.getServiceAsync("UserDefaultParameterPersistence");
|
|
296
|
+
const oDeferred = UserDefaultParameterPersistence.loadParameterValue(sParameterName, oSystemContext);
|
|
297
|
+
|
|
298
|
+
return ushellUtils.promisify(oDeferred);
|
|
325
299
|
};
|
|
326
300
|
|
|
327
301
|
/**
|
|
@@ -350,7 +324,7 @@ sap.ui.define([
|
|
|
350
324
|
* differs.
|
|
351
325
|
*/
|
|
352
326
|
this._haveSameMembersValue = function (oObject1, oObject2, aMembersToCheck) {
|
|
353
|
-
return aMembersToCheck.every(
|
|
327
|
+
return aMembersToCheck.every((sRelevantMember) => {
|
|
354
328
|
return oObject1[sRelevantMember] === oObject2[sRelevantMember]
|
|
355
329
|
|| deepEqual(oObject1[sRelevantMember], oObject2[sRelevantMember]);
|
|
356
330
|
});
|
|
@@ -379,24 +353,23 @@ sap.ui.define([
|
|
|
379
353
|
*/
|
|
380
354
|
this._getUserDefaultParameterNames = function (systemContext) {
|
|
381
355
|
if (!this._oUserDefaultParametersNames[systemContext.id]) {
|
|
382
|
-
this._oUserDefaultParametersNames[systemContext.id] = new Promise(
|
|
383
|
-
Container.getServiceAsync("ClientSideTargetResolution")
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
}.bind(this));
|
|
356
|
+
this._oUserDefaultParametersNames[systemContext.id] = new Promise(async (resolve) => {
|
|
357
|
+
const ClientSideTargetResolution = await Container.getServiceAsync("ClientSideTargetResolution");
|
|
358
|
+
|
|
359
|
+
const oDeferred = ClientSideTargetResolution.getUserDefaultParameterNames(systemContext);
|
|
360
|
+
const oParametersAndExtendedParameters = await ushellUtils.promisify(oDeferred);
|
|
361
|
+
|
|
362
|
+
const oExtractedArrays = this._extractKeyArrays(oParametersAndExtendedParameters);
|
|
363
|
+
const aExtendedParameterNames = oExtractedArrays.extended;
|
|
364
|
+
const aAllParameterNames = oExtractedArrays.allParameters;
|
|
365
|
+
const oMetadataObject = this._arrayToObject(aAllParameterNames);
|
|
366
|
+
|
|
367
|
+
resolve({
|
|
368
|
+
aAllParameterNames: aAllParameterNames,
|
|
369
|
+
aExtendedParameterNames: aExtendedParameterNames,
|
|
370
|
+
oMetadataObject: oMetadataObject
|
|
371
|
+
});
|
|
372
|
+
});
|
|
400
373
|
}
|
|
401
374
|
|
|
402
375
|
return this._oUserDefaultParametersNames[systemContext.id];
|
|
@@ -404,9 +377,9 @@ sap.ui.define([
|
|
|
404
377
|
|
|
405
378
|
this._isRelevantParameter = function (sParamName, oSystemContext) {
|
|
406
379
|
return this._getUserDefaultParameterNames(oSystemContext)
|
|
407
|
-
.then(
|
|
380
|
+
.then((oResult) => {
|
|
408
381
|
if (!oResult.aAllParameterNames || oResult.aAllParameterNames.indexOf(sParamName) === -1) {
|
|
409
|
-
throw new Error(
|
|
382
|
+
throw new Error(`The given parameter "${ sParamName }" is not part of the list of parameters for the given system context.`);
|
|
410
383
|
}
|
|
411
384
|
});
|
|
412
385
|
};
|
|
@@ -416,41 +389,36 @@ sap.ui.define([
|
|
|
416
389
|
* maintainable for the end user or not.
|
|
417
390
|
*
|
|
418
391
|
* @param {object} systemContext The system context object.
|
|
419
|
-
* @returns {Promise<boolean
|
|
392
|
+
* @returns {Promise<boolean>}
|
|
420
393
|
* A promise that is resolved with a boolean value
|
|
421
394
|
* which has the value <code>true</code> if user default parameters are
|
|
422
395
|
* maintainable, and <code>false</code> if not.
|
|
423
396
|
* The promise will always be resolved.
|
|
424
397
|
* Note: In case an error occurs, the promise is resolved with <code>undefined</code>.
|
|
425
398
|
*/
|
|
426
|
-
this.hasRelevantMaintainableParameters = function (systemContext) {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
} else {
|
|
450
|
-
resolve();
|
|
451
|
-
}
|
|
452
|
-
}.bind(this));
|
|
453
|
-
}.bind(this));
|
|
399
|
+
this.hasRelevantMaintainableParameters = async function (systemContext) {
|
|
400
|
+
try {
|
|
401
|
+
const oParameterNames = await this._getUserDefaultParameterNames(systemContext);
|
|
402
|
+
|
|
403
|
+
if (!isEmptyObject(oParameterNames) && oParameterNames.aAllParameterNames) {
|
|
404
|
+
const aHasRelevantParameters = await Promise.all(oParameterNames.aAllParameterNames.map(async (sParameterName) => {
|
|
405
|
+
try {
|
|
406
|
+
const oValue = await ushellUtils.promisify(this.getValue(sParameterName, systemContext));
|
|
407
|
+
|
|
408
|
+
if (oValue && !oValue.hasOwnProperty("noEdit")) {
|
|
409
|
+
return true;
|
|
410
|
+
}
|
|
411
|
+
} catch { /* always provide a value */ }
|
|
412
|
+
|
|
413
|
+
return false;
|
|
414
|
+
}));
|
|
415
|
+
|
|
416
|
+
return aHasRelevantParameters.some((bHasRelevantParameters) => bHasRelevantParameters);
|
|
417
|
+
}
|
|
418
|
+
} catch { /* always resolve */ }
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
return false;
|
|
454
422
|
};
|
|
455
423
|
|
|
456
424
|
/**
|
|
@@ -473,28 +441,28 @@ sap.ui.define([
|
|
|
473
441
|
// c2) if value was altered, including set to undefined,
|
|
474
442
|
// [not on critical path] update value in remote persistence
|
|
475
443
|
// (potentially deleting value if set to undefined!)
|
|
476
|
-
|
|
444
|
+
const oDeferred = new jQuery.Deferred();
|
|
477
445
|
|
|
478
446
|
this._isRelevantParameter(sParameterName, oSystemContext)
|
|
479
447
|
// no relevant parameter -> no value
|
|
480
448
|
// This is handled at the end of the chain, as all "then" will
|
|
481
449
|
// be ignored in case of a rejection in _isRelevantParameter
|
|
482
|
-
.then(
|
|
450
|
+
.then(() => {
|
|
483
451
|
return this._getPersistedValue(sParameterName, oSystemContext)
|
|
484
|
-
.then(
|
|
452
|
+
.then((oPersistedValue) => {
|
|
485
453
|
this._oWasParameterPersisted[sParameterName] = true;
|
|
486
454
|
|
|
487
455
|
return oPersistedValue || {};
|
|
488
|
-
}
|
|
456
|
+
})
|
|
489
457
|
// If the server call fails, this ensures that the plugins get called.
|
|
490
|
-
.catch(
|
|
458
|
+
.catch(() => {
|
|
491
459
|
return { value: undefined };
|
|
492
460
|
});
|
|
493
|
-
}
|
|
494
|
-
.then(
|
|
495
|
-
|
|
461
|
+
})
|
|
462
|
+
.then((oPersistedValue) => {
|
|
463
|
+
const oValueClone = deepClone(oPersistedValue);
|
|
496
464
|
|
|
497
|
-
|
|
465
|
+
const bAskValueToPlugins =
|
|
498
466
|
(!oPersistedValue._shellData && this._valueIsEmpty(oPersistedValue)) // _shellData is added by the shell when the parameter is stored
|
|
499
467
|
|| oPersistedValue.noStore // i.e., don't use the stored value
|
|
500
468
|
|| oPersistedValue.alwaysAskPlugin;
|
|
@@ -505,22 +473,22 @@ sap.ui.define([
|
|
|
505
473
|
}
|
|
506
474
|
|
|
507
475
|
return this._iterateOverPluginsToGetDefaultValue(sParameterName, oPersistedValue, oSystemContext)
|
|
508
|
-
.then(
|
|
476
|
+
.then((oNewValue) => {
|
|
509
477
|
if (!this._oWasParameterPersisted[sParameterName] || !this._haveSameMembersValue(oValueClone, oNewValue, aStoreMembers)) {
|
|
510
478
|
// avoid multiple calls result in storing a parameter, as we fire and forget via _storeValue below.
|
|
511
479
|
this._oWasParameterPersisted[sParameterName] = true;
|
|
512
480
|
|
|
513
481
|
this._storeValue(sParameterName, oNewValue, false, oSystemContext)
|
|
514
|
-
.then(
|
|
482
|
+
.then(() => {
|
|
515
483
|
oDeferred.resolve(oNewValue);
|
|
516
484
|
});
|
|
517
485
|
} else {
|
|
518
486
|
oDeferred.resolve(oNewValue);
|
|
519
487
|
}
|
|
520
|
-
}
|
|
488
|
+
})
|
|
521
489
|
.catch(oDeferred.reject);
|
|
522
|
-
}
|
|
523
|
-
.catch(
|
|
490
|
+
})
|
|
491
|
+
.catch(() => {
|
|
524
492
|
oDeferred.resolve({ value: undefined });
|
|
525
493
|
});
|
|
526
494
|
|
|
@@ -533,33 +501,23 @@ sap.ui.define([
|
|
|
533
501
|
* @param {object} oParameters The map the new parameters are to be added to
|
|
534
502
|
* @param {string[]} aParameterNames A list containing the new parameter names
|
|
535
503
|
* @param {object} oSystemContext The system context object
|
|
536
|
-
* @returns {
|
|
504
|
+
* @returns {Promise<object>} Resolves the amended parameter map.
|
|
537
505
|
*
|
|
538
506
|
* @private
|
|
539
507
|
*/
|
|
540
|
-
this._addParameterValuesToParameters = function (oParameters, aParameterNames, oSystemContext) {
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
aParameterNames.forEach(function (sParameterName) {
|
|
545
|
-
var oGetValuePromise = this.getValue(sParameterName, oSystemContext);
|
|
546
|
-
aPromises.push(oGetValuePromise);
|
|
547
|
-
|
|
548
|
-
oGetValuePromise.done(function (oValueObject) {
|
|
549
|
-
oParameters[sParameterName].valueObject = oValueObject;
|
|
550
|
-
});
|
|
551
|
-
}.bind(this));
|
|
508
|
+
this._addParameterValuesToParameters = async function (oParameters, aParameterNames, oSystemContext) {
|
|
509
|
+
await Promise.all(aParameterNames.map(async (sParameterName) => {
|
|
510
|
+
const oValueObject = await ushellUtils.promisify(this.getValue(sParameterName, oSystemContext));
|
|
552
511
|
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
.fail(oDeferred.reject.bind(oDeferred, oParameters));
|
|
512
|
+
oParameters[sParameterName].valueObject = oValueObject;
|
|
513
|
+
}));
|
|
556
514
|
|
|
557
|
-
return
|
|
515
|
+
return oParameters;
|
|
558
516
|
};
|
|
559
517
|
|
|
560
518
|
this._arrayToObject = function (aParameterNames) {
|
|
561
|
-
|
|
562
|
-
aParameterNames.forEach(
|
|
519
|
+
const oRes = {};
|
|
520
|
+
aParameterNames.forEach((sParameterName) => {
|
|
563
521
|
oRes[sParameterName] = {};
|
|
564
522
|
});
|
|
565
523
|
return oRes;
|
|
@@ -575,7 +533,6 @@ sap.ui.define([
|
|
|
575
533
|
|
|
576
534
|
/**
|
|
577
535
|
* given
|
|
578
|
-
* @param {jQuery.Deferred} oDeferred a jQuery Deferred, which is to be resolved if the execution succeeded
|
|
579
536
|
* @param {string[]} aAllParameterNames all assigned parameter names as array of strings
|
|
580
537
|
* @param {string[]} aExtendedParameterNames the parameter names as array of strings
|
|
581
538
|
* @param {object} oMetadataObject a raw metadata object, not yet amended by plugin data
|
|
@@ -583,83 +540,68 @@ sap.ui.define([
|
|
|
583
540
|
*
|
|
584
541
|
* @private
|
|
585
542
|
*/
|
|
586
|
-
this._getEditorDataAndValue = function (
|
|
587
|
-
|
|
588
|
-
var aDeferreds = [];
|
|
589
|
-
var aResultsOfMetadataPluginCalls = [];
|
|
590
|
-
|
|
591
|
-
this._aPlugins.forEach(function (oPlugin) {
|
|
543
|
+
this._getEditorDataAndValue = async function (aAllParameterNames, aExtendedParameterNames, oMetadataObject, oSystemContext) {
|
|
544
|
+
const aPluginMetadata = await Promise.all(this._aPlugins.map(async (oPlugin) => {
|
|
592
545
|
if (typeof oPlugin.getEditorMetadata === "function") {
|
|
593
|
-
var oPluginDeferred = new jQuery.Deferred();
|
|
594
|
-
aDeferreds.push(oPluginDeferred);
|
|
595
|
-
|
|
596
546
|
try {
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
oPluginDeferred.resolve();
|
|
606
|
-
});
|
|
607
|
-
} catch (ex) {
|
|
608
|
-
Log.error("Error invoking getEditorMetaData on plugin: " + ex + ex.stack, null,
|
|
609
|
-
"sap.ushell.services.UserDefaultParameters");
|
|
610
|
-
oPluginDeferred.resolve();
|
|
547
|
+
const oDeferred = oPlugin.getEditorMetadata(oMetadataObject, oSystemContext);
|
|
548
|
+
const oResultMetadata = await ushellUtils.promisify(oDeferred);
|
|
549
|
+
|
|
550
|
+
return oResultMetadata;
|
|
551
|
+
} catch (error) {
|
|
552
|
+
Log.error(`Error invoking getEditorMetaData on plugin: ${ error }${error.stack}`, null,
|
|
553
|
+
"sap.ushell.services.UserDefaultParameters");
|
|
554
|
+
return;
|
|
611
555
|
}
|
|
612
556
|
}
|
|
613
|
-
});
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
}
|
|
623
|
-
});
|
|
624
|
-
return oPreviousValue;
|
|
625
|
-
}, oMetadataObject);
|
|
626
|
-
aAllParameterNames.forEach(function (sParameterName) {
|
|
627
|
-
if (!(oParametersWithMetadata[sParameterName] && oParametersWithMetadata[sParameterName].editorMetadata)) {
|
|
628
|
-
aParameterNamesWithoutMetadata.push(sParameterName);
|
|
557
|
+
}));
|
|
558
|
+
|
|
559
|
+
// all metadata present
|
|
560
|
+
const aParameterNamesWithoutMetadata = [];
|
|
561
|
+
// apply metadata results on top of the metadata object (start with last plugin result)
|
|
562
|
+
const oParametersWithMetadata = aPluginMetadata.reverse().reduce((oPreviousValue, oPluginMetadata) => {
|
|
563
|
+
aAllParameterNames.forEach((sParameterName) => {
|
|
564
|
+
if (oPluginMetadata?.[sParameterName]?.editorMetadata) {
|
|
565
|
+
oPreviousValue[sParameterName].editorMetadata = oPluginMetadata[sParameterName].editorMetadata;
|
|
629
566
|
}
|
|
630
567
|
});
|
|
568
|
+
return oPreviousValue;
|
|
569
|
+
}, oMetadataObject);
|
|
570
|
+
aAllParameterNames.forEach((sParameterName) => {
|
|
571
|
+
if (!(oParametersWithMetadata[sParameterName] && oParametersWithMetadata[sParameterName].editorMetadata)) {
|
|
572
|
+
aParameterNamesWithoutMetadata.push(sParameterName);
|
|
573
|
+
}
|
|
574
|
+
});
|
|
631
575
|
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
}
|
|
655
|
-
}
|
|
656
|
-
});
|
|
657
|
-
if (aParameterNamesWithoutMetadata.length > 0) {
|
|
658
|
-
Log.error("The following parameter names have no editor metadata and thus likely no configured plugin:\n\"" + aParameterNamesWithoutMetadata.join("\",\n\"") + "\".");
|
|
576
|
+
// blend in parameters
|
|
577
|
+
const oBlendedParameters = await this._addParameterValuesToParameters(oParametersWithMetadata, aAllParameterNames, oSystemContext);
|
|
578
|
+
// create a deep copy
|
|
579
|
+
const oParametersDeepCopy = deepExtend({}, oBlendedParameters);
|
|
580
|
+
// mark extended parameters!
|
|
581
|
+
aExtendedParameterNames.forEach((sParameterName) => {
|
|
582
|
+
if (oParametersDeepCopy[sParameterName]) {
|
|
583
|
+
oParametersDeepCopy[sParameterName].editorMetadata = oParametersDeepCopy[sParameterName].editorMetadata || {};
|
|
584
|
+
oParametersDeepCopy[sParameterName].editorMetadata.extendedUsage = true;
|
|
585
|
+
}
|
|
586
|
+
});
|
|
587
|
+
// remove all noEdit parameters
|
|
588
|
+
const aKeys = Object.keys(oParametersDeepCopy).splice(0);
|
|
589
|
+
aKeys.forEach((sParameterName) => {
|
|
590
|
+
let idx;
|
|
591
|
+
if (oParametersDeepCopy[sParameterName].valueObject &&
|
|
592
|
+
oParametersDeepCopy[sParameterName].valueObject.noEdit === true) {
|
|
593
|
+
delete oParametersDeepCopy[sParameterName];
|
|
594
|
+
// also from the error log list (noEdit parameters w.o. editorMetadata are no cause of concern)
|
|
595
|
+
idx = aParameterNamesWithoutMetadata.indexOf(sParameterName);
|
|
596
|
+
if (idx >= 0) {
|
|
597
|
+
aParameterNamesWithoutMetadata.splice(idx, 1);
|
|
659
598
|
}
|
|
660
|
-
|
|
661
|
-
}).fail(oDeferred.reject.bind(oDeferred));
|
|
599
|
+
}
|
|
662
600
|
});
|
|
601
|
+
if (aParameterNamesWithoutMetadata.length > 0) {
|
|
602
|
+
Log.error(`The following parameter names have no editor metadata and thus likely no configured plugin:\n"${ aParameterNamesWithoutMetadata.join("\",\n\"") }".`);
|
|
603
|
+
}
|
|
604
|
+
return oParametersDeepCopy;
|
|
663
605
|
};
|
|
664
606
|
|
|
665
607
|
/**
|
|
@@ -750,30 +692,37 @@ sap.ui.define([
|
|
|
750
692
|
* undefined if no value could be retrieved.
|
|
751
693
|
*/
|
|
752
694
|
this.editorGetParameters = function (oSystemContext) {
|
|
753
|
-
|
|
695
|
+
const oDeferred = new jQuery.Deferred();
|
|
754
696
|
|
|
755
697
|
Promise.all([
|
|
756
698
|
Container.getServiceAsync("PluginManager"),
|
|
757
699
|
this._getUserDefaultParameterNames(oSystemContext)
|
|
758
|
-
])
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
}.bind(this))
|
|
771
|
-
.fail(function () {
|
|
700
|
+
])
|
|
701
|
+
.then((aResults) => {
|
|
702
|
+
const PluginManagerService = aResults[0];
|
|
703
|
+
const oParametersAndExtendedParameters = aResults[1];
|
|
704
|
+
|
|
705
|
+
if (oParametersAndExtendedParameters.oMetadataObject.length === 0) {
|
|
706
|
+
// if array is empty, nothing to display in editor
|
|
707
|
+
return {};
|
|
708
|
+
}
|
|
709
|
+
|
|
710
|
+
return ushellUtils.promisify(PluginManagerService.loadPlugins("UserDefaults"))
|
|
711
|
+
.catch(() => {
|
|
772
712
|
Log.error("One or more plugins could not be loaded");
|
|
773
|
-
|
|
713
|
+
return Promise.reject("Initialization of plugins failed");
|
|
714
|
+
})
|
|
715
|
+
.then(() => {
|
|
716
|
+
const { aAllParameterNames, aExtendedParameterNames, oMetadataObject } = oParametersAndExtendedParameters;
|
|
717
|
+
return this._getEditorDataAndValue(aAllParameterNames, aExtendedParameterNames, oMetadataObject, oSystemContext);
|
|
774
718
|
});
|
|
775
|
-
}
|
|
776
|
-
|
|
719
|
+
})
|
|
720
|
+
.then((oResult) => {
|
|
721
|
+
oDeferred.resolve(oResult);
|
|
722
|
+
})
|
|
723
|
+
.catch((sErrorMessage) => {
|
|
724
|
+
oDeferred.reject(sErrorMessage);
|
|
725
|
+
});
|
|
777
726
|
|
|
778
727
|
return oDeferred.promise();
|
|
779
728
|
};
|
|
@@ -787,12 +736,12 @@ sap.ui.define([
|
|
|
787
736
|
* @private
|
|
788
737
|
*/
|
|
789
738
|
this._extractKeyArrays = function (oParameters) {
|
|
790
|
-
|
|
739
|
+
const oResult = {
|
|
791
740
|
simple: oParameters && oParameters.simple && Object.keys(oParameters.simple).sort() || [],
|
|
792
741
|
extended: oParameters && oParameters.extended && Object.keys(oParameters.extended).sort() || []
|
|
793
742
|
};
|
|
794
743
|
|
|
795
|
-
|
|
744
|
+
const aOnlyExtendedParameters = oResult.extended.filter((sExtendedParameter) => {
|
|
796
745
|
return oResult.simple.indexOf(sExtendedParameter) < 0;
|
|
797
746
|
});
|
|
798
747
|
|
|
@@ -815,10 +764,15 @@ sap.ui.define([
|
|
|
815
764
|
* @private
|
|
816
765
|
*/
|
|
817
766
|
this.editorSetValue = function (sParameterName, oValueObject, oSystemContext) {
|
|
818
|
-
|
|
767
|
+
const oDeferred = new jQuery.Deferred();
|
|
819
768
|
|
|
820
769
|
this._storeValue(sParameterName, oValueObject, true, oSystemContext)
|
|
821
|
-
.then(
|
|
770
|
+
.then(() => {
|
|
771
|
+
oDeferred.resolve();
|
|
772
|
+
})
|
|
773
|
+
.catch(() => {
|
|
774
|
+
oDeferred.resolve();
|
|
775
|
+
});
|
|
822
776
|
|
|
823
777
|
return oDeferred.promise();
|
|
824
778
|
};
|