@sapui5/sap.ushell 1.129.1 → 1.130.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/AppInfoParameters.js +478 -346
- package/src/main/js/sap/ushell/ApplicationType/urlTemplateResolution.js +41 -6
- package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +3 -3
- 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 +1 -1
- package/src/main/js/sap/ushell/Ui5ServiceFactory.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 +7 -3
- 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/api/S4MyHome.js +33 -2
- package/src/main/js/sap/ushell/appRuntime/ui5/AppRuntime.js +8 -0
- 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 -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/sandbox2.js +1 -1
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +871 -733
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +50 -50
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +121 -116
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +16 -12
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +2 -4
- package/src/main/js/sap/ushell/components/applicationIntegration/application/WebGUIStatefulHandler.js +48 -53
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +2 -1
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +2 -2
- package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +26 -5
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +20 -13
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +28 -35
- 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/contentFinder/model/formatter.js +60 -5
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +17 -6
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ar.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_bg.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ca.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cnr.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cs.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cy.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_da.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_de.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_el.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_GB.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +11 -3
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es_MX.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_et.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fi.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr_CA.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hi.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hr.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hu.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_id.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_it.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_iw.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ja.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_kk.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ko.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lt.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lv.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_mk.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ms.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_nl.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_no.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pl.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt_PT.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ro.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ru.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sk.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sl.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sr.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sv.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_th.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_tr.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_uk.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_vi.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_CN.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_TW.properties +6 -0
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +174 -176
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.fragment.xml +28 -7
- package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/view/VisualizationsNoDataIllustratedMessage.fragment.xml +28 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +17 -14
- 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 +6 -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 -2
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/controller/RuntimeSwitcher.controller.js +1 -1
- package/src/main/js/sap/ushell/components/runtimeSwitcher/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/Component.js +2 -1
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/controls/FloatingContainer.js +74 -5
- package/src/main/js/sap/ushell/components/shell/FloatingContainer/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/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/SearchCEP.controller.js +20 -4
- 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/appearance/Appearance.controller.js +149 -197
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.view.xml +88 -85
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/AppearanceEntry.js +15 -19
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/Component.js +1 -1
- package/src/main/js/sap/ushell/components/shell/UserActionsMenu/UserActionsMenu.controller.js +2 -2
- package/src/main/js/sap/ushell/components/shell/UserImage/Component.js +1 -1
- package/src/main/js/sap/ushell/components/visualizationOrganizer/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/Component.js +30 -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 +30 -16
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPage.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageButton.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageCell.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumn.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageColumnResizer.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/controls/WorkPageRow.js +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +29 -15
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ar.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_bg.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ca.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cnr.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cs.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_cy.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_da.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_de.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_el.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_GB.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saprigi.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_es_MX.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_et.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fi.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_fr_CA.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hi.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hr.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_hu.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_id.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_it.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_iw.properties +4 -1
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ja.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_kk.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ko.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lt.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_lv.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_mk.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ms.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_nl.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_no.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pl.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_pt_PT.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ro.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_ru.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sh.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sk.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sl.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sr.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_sv.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_th.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_tr.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_uk.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_vi.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_CN.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_zh_TW.properties +3 -0
- package/src/main/js/sap/ushell/components/workPageRuntime/Component.js +1 -1
- package/src/main/js/sap/ushell/components/workPageRuntime/controller/WorkPageRuntime.controller.js +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/iconfonts.js +2 -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 +18 -6
- 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/Renderer.js +21 -20
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +378 -576
- package/src/main/js/sap/ushell/renderer/Shell.view.js +5 -4
- package/src/main/js/sap/ushell/renderer/resources/resources.properties +57 -22
- 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 +4 -4
- 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 +6 -4
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +3 -3
- 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 +10 -10
- 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 +9 -9
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +3 -3
- 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 +1 -1
- 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/renderers/fiori2/Shell.view.js +5 -4
- package/src/main/js/sap/ushell/services/AppLifeCycle.js +102 -107
- 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/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 +2 -2
- 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 +1 -1
- package/src/main/js/sap/ushell/services/Configuration.js +1 -1
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +161 -144
- package/src/main/js/sap/ushell/services/Extension/Item.js +1 -1
- package/src/main/js/sap/ushell/services/Extension.js +3 -3
- 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/MessageBrokerEngine.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 +1 -1
- 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/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/PluginManager.js +1 -1
- package/src/main/js/sap/ushell/services/ReferenceResolver.js +74 -100
- 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/utils.js +2 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents.js +4 -4
- 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/_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/state/ShellModel.js +31 -0
- package/src/main/js/sap/ushell/state/StateManager.js +28 -0
- package/src/main/js/sap/ushell/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.ttf +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff +0 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.woff2 +0 -0
- package/src/main/js/sap/ushell/themes/base/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_belize_base/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/library.source.less +0 -1
- package/src/main/js/sap/ushell/themes/sap_hcb/library.source.less +0 -1
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
- package/src/main/js/sap/ushell/ui/footerbar/AboutButton.js +17 -21
- package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.controller.js +358 -100
- package/src/main/js/sap/ushell/ui/footerbar/AboutDialog.fragment.xml +169 -90
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Page.js +77 -9
- package/src/main/js/sap/ushell/ui/launchpad/PageRenderer.js +20 -20
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/section/CompactArea.js +1 -1
- package/src/main/js/sap/ushell/ui/shell/ToolAreaItem.js +1 -1
- package/src/main/js/sap/ushell/ui/utils.js +1 -1
- package/src/main/js/sap/ushell/ui5service/ShellUIServiceFactory.js +1 -1
- package/src/main/js/sap/ushell/ui5service/UserStatus.js +1 -1
- package/src/main/js/sap/ushell/utils/DynamicTileRequest.js +1 -3
- package/src/main/js/sap/ushell/utils/RestrictedJSONModel.js +3 -1
- package/src/main/js/sap/ushell/utils/UrlParsing.js +38 -0
- package/src/main/js/sap/ushell/utils/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/workpage/DestinationResolver.js +13 -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/workpage/resources/resources.properties +43 -27
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_ar.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_bg.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_ca.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_cnr.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_cs.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_cy.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_da.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_de.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_el.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_en.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_en_GB.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_es.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_es_MX.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_et.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_fi.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_fr.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_fr_CA.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_hi.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_hr.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_hu.properties +5 -5
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_id.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_it.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_iw.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_ja.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_kk.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_ko.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_lt.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_lv.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_mk.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_ms.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_nl.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_no.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_pl.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_pt.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_pt_PT.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_ro.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_ru.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_sh.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_sk.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_sl.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_sr.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_sv.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_th.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_tr.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_uk.properties +3 -3
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_vi.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_zh_CN.properties +2 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_zh_TW.properties +2 -2
- package/src/main/js/sap/ushell/utils.js +8 -20
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/src/main/js/sap/ushell/themes/base/AppearanceView.less +0 -213
- package/src/main/js/sap/ushell/themes/sap_belize_base/AppearanceView.less +0 -213
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/AppearanceView.less +0 -213
- package/src/main/js/sap/ushell/themes/sap_hcb/base_AppearanceView.less +0 -213
|
@@ -3,109 +3,156 @@
|
|
|
3
3
|
sap.ui.define([
|
|
4
4
|
"sap/base/Log",
|
|
5
5
|
"sap/ushell/services/AppConfiguration",
|
|
6
|
+
"sap/base/util/deepClone",
|
|
7
|
+
"sap/base/util/isPlainObject",
|
|
6
8
|
"sap/base/util/restricted/_curry",
|
|
7
9
|
"sap/base/util/restricted/_zipObject",
|
|
8
10
|
"sap/ui/VersionInfo",
|
|
9
|
-
"sap/ushell/Config",
|
|
10
11
|
"sap/ushell/Container"
|
|
11
|
-
],
|
|
12
|
+
], (
|
|
13
|
+
Log,
|
|
14
|
+
AppConfiguration,
|
|
15
|
+
deepClone,
|
|
16
|
+
isPlainObject,
|
|
17
|
+
_curry,
|
|
18
|
+
_zipObject,
|
|
19
|
+
VersionInfo,
|
|
20
|
+
Container
|
|
21
|
+
) => {
|
|
12
22
|
"use strict";
|
|
13
|
-
/*global */
|
|
14
23
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
24
|
+
const LAUNCHPAD = "LAUNCHPAD";
|
|
25
|
+
|
|
26
|
+
// Those parameters are restricted and shall only be set by FLP.
|
|
27
|
+
const aRestrictedParameters = [
|
|
28
|
+
"productName",
|
|
29
|
+
"theme",
|
|
30
|
+
"appIntent"
|
|
31
|
+
];
|
|
32
|
+
|
|
33
|
+
// Those parameters are supported by the AppInfoParameters any
|
|
34
|
+
// other parameter should be part of customProperties.
|
|
35
|
+
const aSupportedParameters = [
|
|
36
|
+
"productName",
|
|
37
|
+
"theme",
|
|
38
|
+
"languageTag",
|
|
39
|
+
"appIntent",
|
|
40
|
+
"technicalAppComponentId",
|
|
41
|
+
"appId",
|
|
42
|
+
"appVersion",
|
|
43
|
+
"appSupportInfo",
|
|
44
|
+
"appFrameworkVersion",
|
|
45
|
+
"appFrameworkId",
|
|
46
|
+
"title",
|
|
47
|
+
"applicationParams",
|
|
48
|
+
"shellFrameworkVersion"
|
|
49
|
+
];
|
|
20
50
|
|
|
21
51
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @
|
|
52
|
+
* @alias sap.ushell.AppInfoParameters
|
|
53
|
+
* AppInfoParameters component responsible to direct the recovery of each app info parameter value
|
|
54
|
+
*
|
|
55
|
+
* @private
|
|
26
56
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
57
|
+
class AppInfoParameters {
|
|
58
|
+
// map of application info parameters to provider functions
|
|
59
|
+
#oDefaultHandlers = {
|
|
60
|
+
theme: this.#getUserEnv.bind(this, "User.env.sap-theme-NWBC"),
|
|
61
|
+
languageTag: this.#getUserEnv.bind(this, "User.env.sap-languagebcp47"),
|
|
62
|
+
appIntent: this.#getAppIntent.bind(this),
|
|
63
|
+
appFrameworkId: this.#getAppFrameworkId.bind(this),
|
|
64
|
+
appFrameworkVersion: this.#getFrameworkVersion.bind(this),
|
|
65
|
+
appSupportInfo: this.#getSupportInfo.bind(this),
|
|
66
|
+
technicalAppComponentId: this.#getTechnicalAppComponentId.bind(this),
|
|
67
|
+
appId: this.#getAppId.bind(this),
|
|
68
|
+
appVersion: this.#getAppVersion.bind(this),
|
|
69
|
+
productName: _curry(this.#getSystemContextProperty.bind(this))("productName"),
|
|
70
|
+
applicationParams: this.#getStartupParams.bind(this)
|
|
71
|
+
};
|
|
34
72
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
73
|
+
// overrides by the application for the standard app info parameters
|
|
74
|
+
#oAppParameters = {};
|
|
75
|
+
|
|
76
|
+
// Custom app info parameters
|
|
77
|
+
#oCustomAppParameters = {};
|
|
38
78
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
79
|
+
/**
|
|
80
|
+
* Retrieves the application type
|
|
81
|
+
* It looks up application type
|
|
82
|
+
* @param {object} oCurrentApplication current application
|
|
83
|
+
* @returns {string} the application type
|
|
84
|
+
*/
|
|
85
|
+
#getApplicationType (oCurrentApplication) {
|
|
86
|
+
let sApplicationType = oCurrentApplication.applicationType;
|
|
87
|
+
if (sApplicationType === "TR") {
|
|
88
|
+
sApplicationType = "GUI";
|
|
89
|
+
}
|
|
90
|
+
return sApplicationType;
|
|
42
91
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
.catch(function () {
|
|
47
|
-
Log.error("VersionInfo could not be loaded");
|
|
48
|
-
});
|
|
92
|
+
|
|
93
|
+
#getCurrentAppCapabilities () {
|
|
94
|
+
return AppConfiguration.getCurrentApplication()?.appCapabilities || {};
|
|
49
95
|
}
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
96
|
|
|
53
|
-
|
|
97
|
+
async #getFrameworkVersion (oCurrentApplication) {
|
|
98
|
+
const sApplicationType = this.#getApplicationType(oCurrentApplication);
|
|
99
|
+
|
|
100
|
+
if (sApplicationType === "UI5") {
|
|
101
|
+
try {
|
|
102
|
+
const oVersionInfo = await VersionInfo.load();
|
|
103
|
+
|
|
104
|
+
return `${oVersionInfo.version || "" } (${ oVersionInfo.buildTimestamp || "" })` || "";
|
|
105
|
+
|
|
106
|
+
} catch (oError) {
|
|
107
|
+
Log.error("VersionInfo could not be loaded", oError);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
54
111
|
|
|
55
|
-
|
|
56
|
-
|
|
112
|
+
async #getAppVersion (oCurrentApplication) {
|
|
113
|
+
const oComponentInstance = oCurrentApplication.componentInstance;
|
|
57
114
|
if (oComponentInstance) {
|
|
58
|
-
|
|
115
|
+
const sAppVersion = oComponentInstance.getManifestEntry("/sap.app/applicationVersion/version");
|
|
59
116
|
return sAppVersion;
|
|
60
117
|
}
|
|
61
|
-
|
|
62
|
-
});
|
|
63
|
-
}
|
|
118
|
+
}
|
|
64
119
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
var oTechnicalParameterPromise = oCurrentApplication.getTechnicalParameter("sap-ach");
|
|
77
|
-
return oTechnicalParameterPromise.then(function (aAch) {
|
|
78
|
-
var sAch = aAch && aAch[0];
|
|
120
|
+
/**
|
|
121
|
+
* Provider for support info
|
|
122
|
+
* It looks up using the sequence
|
|
123
|
+
* 1. technical parameter sap-ach, that is SAP application component hierarchy
|
|
124
|
+
* 2. appSupportInfo parameter in capability section of the URL template
|
|
125
|
+
* @param {object} oCurrentApplication Current Application
|
|
126
|
+
* @returns {Promise<string>} function that resolves to a promise with the support info
|
|
127
|
+
*/
|
|
128
|
+
async #getSupportInfo (oCurrentApplication) {
|
|
129
|
+
// 1. sap-ach
|
|
130
|
+
const [ sAch ] = await oCurrentApplication.getTechnicalParameter("sap-ach") || [];
|
|
79
131
|
if (sAch) {
|
|
80
132
|
return sAch;
|
|
81
133
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Provider for technical application component
|
|
88
|
-
* It looks up depending on the technology
|
|
89
|
-
* if UI5: take it from the manifest
|
|
90
|
-
* if GUI or WDA: parse the application name from the launch URL
|
|
91
|
-
* if WCF: parse the wcf-target-id parameter
|
|
92
|
-
* if URL-template: looks up technicalAppComponentId in capabilities section
|
|
93
|
-
* @param {object} oCurrentApplication Current Application
|
|
94
|
-
* @returns {function} function that resolves to a promise with the technical application component
|
|
95
|
-
*/
|
|
96
|
-
function getTechnicalAppComponentId (oCurrentApplication) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
function getFromMetadata () {
|
|
100
|
-
var oMetadata = oAppConfiguration.getMetadata();
|
|
101
|
-
return oMetadata.technicalName;
|
|
134
|
+
// 2. app capabilities
|
|
135
|
+
return this.#getCurrentAppCapabilities().appSupportInfo;
|
|
102
136
|
}
|
|
103
137
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
138
|
+
/**
|
|
139
|
+
* Provider for technical application component
|
|
140
|
+
* It looks up depending on the technology
|
|
141
|
+
* if UI5: take it from the manifest
|
|
142
|
+
* if GUI or WDA: parse the application name from the launch URL
|
|
143
|
+
* if WCF: parse the wcf-target-id parameter
|
|
144
|
+
* if URL-template: looks up technicalAppComponentId in capabilities section
|
|
145
|
+
* @param {object} oCurrentApplication Current Application
|
|
146
|
+
* @returns {Promise<string>} function that resolves to a promise with the technical application component
|
|
147
|
+
*/
|
|
148
|
+
async #getTechnicalAppComponentId (oCurrentApplication) {
|
|
149
|
+
const sApplicationType = this.#getApplicationType(oCurrentApplication);
|
|
150
|
+
const oMetadata = AppConfiguration.getMetadata();
|
|
151
|
+
|
|
152
|
+
if (sApplicationType === "UI5") {
|
|
153
|
+
const oComponentInstance = oCurrentApplication.componentInstance;
|
|
107
154
|
if (oComponentInstance) {
|
|
108
|
-
|
|
155
|
+
let sComponentName = oComponentInstance.getManifestEntry("/sap.ui5/componentName");
|
|
109
156
|
if (!sComponentName) {
|
|
110
157
|
sComponentName = oComponentInstance.getMetadata().getComponentName();
|
|
111
158
|
}
|
|
@@ -113,328 +160,413 @@ sap.ui.define([
|
|
|
113
160
|
return sComponentName;
|
|
114
161
|
}
|
|
115
162
|
|
|
116
|
-
return
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
|
|
163
|
+
return oMetadata.technicalName;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
if (sApplicationType === "URL") {
|
|
167
|
+
const oCurrentApp = AppConfiguration.getCurrentApplication();
|
|
168
|
+
if (oCurrentApp.appCapabilities.technicalAppComponentId) {
|
|
169
|
+
return oCurrentApp.appCapabilities.technicalAppComponentId;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
if (sApplicationType === "GUI") {
|
|
174
|
+
return (oMetadata.technicalName || "")
|
|
120
175
|
.replace(/ .*/, "") // remove all characters after the first space if any
|
|
121
176
|
.replace(/^\*/, ""); // remove asterisk at the beginning if any
|
|
122
|
-
},
|
|
123
|
-
WDA: getFromMetadata,
|
|
124
|
-
NWBC: getFromMetadata,
|
|
125
|
-
URL: function () {
|
|
126
|
-
return Promise.resolve().then(function () {
|
|
127
|
-
|
|
128
|
-
var oCurrentApp = oAppConfiguration.getCurrentApplication();
|
|
129
|
-
if (oCurrentApp.appCapabilities.technicalAppComponentId) {
|
|
130
|
-
return oCurrentApp.appCapabilities.technicalAppComponentId;
|
|
131
|
-
}
|
|
132
|
-
return undefined;
|
|
133
|
-
});
|
|
134
177
|
}
|
|
135
|
-
};
|
|
136
178
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
179
|
+
if (sApplicationType === "WDA" || sApplicationType === "NWBC") {
|
|
180
|
+
return oMetadata.technicalName;
|
|
181
|
+
}
|
|
140
182
|
}
|
|
141
183
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
// home app
|
|
166
|
-
if (aFioriId[0] !== "") {
|
|
167
|
-
sAppId = LAUNCHPAD + " (" + aFioriId[0] + ")";
|
|
168
|
-
// case fiori id is empty
|
|
169
|
-
// This is relevant for app home error page
|
|
170
|
-
} else {
|
|
171
|
-
sAppId = LAUNCHPAD;
|
|
172
|
-
}
|
|
173
|
-
} else {
|
|
174
|
-
// no Fiori ID is provided
|
|
175
|
-
// This is shell home, no custapp or appfinder
|
|
176
|
-
sAppId = LAUNCHPAD;
|
|
184
|
+
/**
|
|
185
|
+
* Provider for application
|
|
186
|
+
* It looks up using the sequence
|
|
187
|
+
* 1. if on homepage, appfinder use constant LAUNCHPAD or LAUNCHPAD(FXXX) if fiori ID is provided
|
|
188
|
+
* 2. technical parameter sap-fiori-id
|
|
189
|
+
* 3. looks up parameter appId in capabilities section
|
|
190
|
+
* 4. inbound permanent key
|
|
191
|
+
* @param {object} oCurrentApplication current application
|
|
192
|
+
* @returns {Promise<string>} function that resolves to a promise with application id.
|
|
193
|
+
*/
|
|
194
|
+
async #getAppId (oCurrentApplication) {
|
|
195
|
+
const [ sFioriId ] = await oCurrentApplication.getTechnicalParameter("sap-fiori-id") || [];
|
|
196
|
+
|
|
197
|
+
// case home page
|
|
198
|
+
if (oCurrentApplication.homePage) {
|
|
199
|
+
// case fiori ID is a string
|
|
200
|
+
if (sFioriId) {
|
|
201
|
+
// case fiori ID is not empty
|
|
202
|
+
// home app
|
|
203
|
+
if (sFioriId !== "") {
|
|
204
|
+
return `${LAUNCHPAD} (${sFioriId})`;
|
|
205
|
+
// case fiori id is empty
|
|
206
|
+
// This is relevant for app home error page
|
|
177
207
|
}
|
|
178
|
-
|
|
179
|
-
} else if (aFioriId && typeof aFioriId[0] === "string") {
|
|
180
|
-
// case fiori ID is a string
|
|
181
|
-
sAppId = aFioriId[0];
|
|
182
|
-
} else {
|
|
183
|
-
sAppId = getCurrentAppCapabilities().appId || oCurrentApplication.inboundPermanentKey;
|
|
208
|
+
return LAUNCHPAD;
|
|
184
209
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
210
|
+
// no Fiori ID is provided
|
|
211
|
+
// This is shell home, no custom home app or appfinder
|
|
212
|
+
return LAUNCHPAD;
|
|
213
|
+
// case app
|
|
214
|
+
} else if (sFioriId) {
|
|
215
|
+
// case fiori ID is a string
|
|
216
|
+
return sFioriId;
|
|
217
|
+
}
|
|
218
|
+
return this.#getCurrentAppCapabilities().appId || oCurrentApplication.inboundPermanentKey;
|
|
219
|
+
}
|
|
188
220
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
.
|
|
198
|
-
return new Promise(function (fnResolve, fnReject) {
|
|
199
|
-
oReferenceResolverService.resolveReferences([sUserEnv])
|
|
200
|
-
.then(function (oResolvedReferences) {
|
|
201
|
-
fnResolve(oResolvedReferences[sUserEnv]);
|
|
202
|
-
})
|
|
203
|
-
.catch(fnReject);
|
|
204
|
-
});
|
|
205
|
-
});
|
|
206
|
-
}
|
|
221
|
+
/**
|
|
222
|
+
* Provider for user environment
|
|
223
|
+
* It looks up using reference resolver
|
|
224
|
+
* @param {string} sUserEnv Parameter name of the user environment
|
|
225
|
+
* @returns {Promise<string>} The promise resolves the user parameter
|
|
226
|
+
*/
|
|
227
|
+
async #getUserEnv (sUserEnv) {
|
|
228
|
+
const ReferenceResolver = await Container.getServiceAsync("ReferenceResolver");
|
|
229
|
+
const oResolvedReferences = await ReferenceResolver.resolveReferences([sUserEnv]);
|
|
207
230
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
231
|
+
return oResolvedReferences[sUserEnv];
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Provider for framework id
|
|
236
|
+
* It looks up framework id in capabilities section if it is a URL template
|
|
237
|
+
* else it looks up the application type
|
|
238
|
+
* @param {*} oCurrentApplication current application
|
|
239
|
+
* @returns {Promise<string>} Function that resolves to a promise with the framework id
|
|
240
|
+
*/
|
|
241
|
+
async #getAppFrameworkId (oCurrentApplication) {
|
|
242
|
+
const oCurrentApp = AppConfiguration.getCurrentApplication();
|
|
243
|
+
let sApplicationType = this.#getApplicationType(oCurrentApplication);
|
|
219
244
|
|
|
220
|
-
if (sApplicationType
|
|
221
|
-
|
|
245
|
+
if (sApplicationType === "URL") {
|
|
246
|
+
sApplicationType = oCurrentApp.appCapabilities && oCurrentApp.appCapabilities.appFrameworkId;
|
|
222
247
|
}
|
|
223
248
|
|
|
224
|
-
|
|
225
|
-
}).then(function (sApplicationType) {
|
|
226
|
-
var oAppTypeToFrameworkId = {
|
|
249
|
+
const oAppTypeToFrameworkId = {
|
|
227
250
|
NWBC: "WDA",
|
|
228
251
|
TR: "GUI"
|
|
229
252
|
};
|
|
253
|
+
|
|
230
254
|
return oAppTypeToFrameworkId[sApplicationType] || sApplicationType;
|
|
231
|
-
}
|
|
232
|
-
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Retrieves the value of a given property in the system context
|
|
259
|
+
* @param {string} sProperty A property in the system context
|
|
260
|
+
* @param {object} oCurrentApplication The current application
|
|
261
|
+
* @returns {Promise<object>} Function that resolves to a promise with the property
|
|
262
|
+
*/
|
|
263
|
+
async #getSystemContextProperty (sProperty, oCurrentApplication) {
|
|
264
|
+
const oSystemContext = await oCurrentApplication.getSystemContext();
|
|
233
265
|
|
|
234
|
-
/**
|
|
235
|
-
* Retrieves the value of a given property in the system context
|
|
236
|
-
* @param {string} sProperty A property in the system context
|
|
237
|
-
* @param {object} oCurrentApplication The current application
|
|
238
|
-
* @returns {function} Function that resolves to a promise with the property
|
|
239
|
-
*/
|
|
240
|
-
function getSystemContext (sProperty, oCurrentApplication) {
|
|
241
|
-
return oCurrentApplication.getSystemContext().then(function (oSystemContext) {
|
|
242
266
|
return oSystemContext.getProperty(sProperty);
|
|
243
|
-
}
|
|
244
|
-
}
|
|
267
|
+
}
|
|
245
268
|
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
269
|
+
/**
|
|
270
|
+
* Retrieves the app intent
|
|
271
|
+
* @returns {Promise<string>} Function that resolves to a promise with app intent
|
|
272
|
+
*/
|
|
273
|
+
async #getAppIntent () {
|
|
274
|
+
const sHash = window.hasher && window.hasher.getHash();
|
|
275
|
+
if (!sHash) {
|
|
276
|
+
throw new Error("Could not identify current application hash");
|
|
277
|
+
}
|
|
278
|
+
return sHash;
|
|
254
279
|
}
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
async #getStartupParams (oCurrentApplication, oApplicationContainer) {
|
|
283
|
+
let oStartupParams = {};
|
|
284
|
+
if (oApplicationContainer?.getCurrentAppTargetResolution?.().extendedInfo) {
|
|
285
|
+
oStartupParams = oApplicationContainer.getCurrentAppTargetResolution().extendedInfo.appParams;
|
|
258
286
|
}
|
|
259
|
-
);
|
|
260
|
-
}
|
|
261
287
|
|
|
262
|
-
|
|
263
|
-
var oHandlers = {
|
|
264
|
-
theme: getUserEnv.bind(null, "User.env.sap-theme-NWBC"),
|
|
265
|
-
languageTag: getUserEnv.bind(null, "User.env.sap-languagebcp47"),
|
|
266
|
-
appIntent: getAppIntent,
|
|
267
|
-
appFrameworkId: getAppFrameworkId,
|
|
268
|
-
appFrameworkVersion: getFrameworkVersion,
|
|
269
|
-
appSupportInfo: getSupportInfo,
|
|
270
|
-
technicalAppComponentId: getTechnicalAppComponentId,
|
|
271
|
-
appId: getAppId,
|
|
272
|
-
appVersion: getAppVersion,
|
|
273
|
-
productName: _curry(getSystemContext)("productName"),
|
|
274
|
-
applicationParams: getStartupParams
|
|
275
|
-
};
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
function getStartupParams (oCurrentApplication, oApplicationContainer) {
|
|
279
|
-
var oStartupParams = {};
|
|
280
|
-
if (oApplicationContainer && oApplicationContainer.getCurrentAppTargetResolution &&
|
|
281
|
-
oApplicationContainer.getCurrentAppTargetResolution().extendedInfo) {
|
|
282
|
-
oStartupParams = oApplicationContainer.getCurrentAppTargetResolution().extendedInfo.appParams;
|
|
288
|
+
return oStartupParams;
|
|
283
289
|
}
|
|
284
290
|
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
* This is the case when:
|
|
291
|
-
* - parameter is not listed in AppINfoParameters' oHandlers list
|
|
292
|
-
* - parameter name contains a "."
|
|
293
|
-
*
|
|
294
|
-
* @param {string} sParameter Parameter to be tested
|
|
295
|
-
*
|
|
296
|
-
* @returns {boolean} Result of check
|
|
297
|
-
*
|
|
298
|
-
*/
|
|
299
|
-
function _isCustom (sParameter) {
|
|
300
|
-
return !oHandlers[sParameter] && /[.]/.test(sParameter);
|
|
301
|
-
}
|
|
291
|
+
async getAllAppInfo (bValues, oCurrentApplication, oComponentInstance, oApplicationContainer) {
|
|
292
|
+
const oAllAppInfo = {};
|
|
293
|
+
const aParametersWithDefaults = Object.keys(this.#oDefaultHandlers);
|
|
294
|
+
const aAppDefinedParameters = Object.keys(this.#oAppParameters);
|
|
295
|
+
const sStandardParameters = Array.from(new Set([...aParametersWithDefaults, ...aAppDefinedParameters]));
|
|
302
296
|
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
297
|
+
//first, we add all standard attributes
|
|
298
|
+
try {
|
|
299
|
+
// the app overrides are already included the #getInfo call
|
|
300
|
+
const oResult = await this.#getInfo(sStandardParameters, oCurrentApplication, oApplicationContainer);
|
|
306
301
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
302
|
+
for (const sParameter in oResult) {
|
|
303
|
+
if (bValues) {
|
|
304
|
+
oAllAppInfo[sParameter] = oResult[sParameter];
|
|
305
|
+
} else {
|
|
306
|
+
oAllAppInfo[sParameter] = {
|
|
307
|
+
value: oResult[sParameter]
|
|
308
|
+
};
|
|
309
|
+
}
|
|
313
310
|
}
|
|
311
|
+
} catch {
|
|
312
|
+
// fail silently
|
|
314
313
|
}
|
|
315
314
|
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
315
|
+
const aCustomParameters = Object.keys(this.#oCustomAppParameters);
|
|
316
|
+
|
|
317
|
+
// second we add all custom properties
|
|
318
|
+
try {
|
|
319
|
+
const oResult = await this.#getInfo(aCustomParameters, oCurrentApplication, oApplicationContainer);
|
|
320
|
+
|
|
321
|
+
for (const sCustomerAttribute in oResult) {
|
|
320
322
|
if (bValues) {
|
|
321
|
-
|
|
323
|
+
oAllAppInfo[sCustomerAttribute] = oResult[sCustomerAttribute].value;
|
|
322
324
|
} else {
|
|
323
|
-
|
|
324
|
-
value: oResult[handler]
|
|
325
|
-
};
|
|
325
|
+
oAllAppInfo[sCustomerAttribute] = oResult[sCustomerAttribute];
|
|
326
326
|
}
|
|
327
327
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
}
|
|
331
|
-
fnResolve(allAppInfo);
|
|
332
|
-
});
|
|
333
|
-
});
|
|
334
|
-
}
|
|
328
|
+
} catch {
|
|
329
|
+
// fail silently
|
|
330
|
+
}
|
|
335
331
|
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
332
|
+
return oAllAppInfo;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* A function to collect the values of the given parameters
|
|
337
|
+
* @param {string[]} aParameters Array of requested parameters
|
|
338
|
+
* @param {object} oCurrentApplication The current application
|
|
339
|
+
* @param {object} oApplicationContainer The application container
|
|
340
|
+
* @returns {Promise} Promise that resolves to an object
|
|
341
|
+
* keeping the application info parameters with values
|
|
342
|
+
*/
|
|
343
|
+
async getInfo (aParameters, oCurrentApplication, oApplicationContainer) {
|
|
344
|
+
if (!oCurrentApplication) {
|
|
345
|
+
throw new Error("Parameter application missing");
|
|
349
346
|
}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
347
|
+
return this.#getInfo(["appFrameworkId"], oCurrentApplication, oApplicationContainer).then(() => {
|
|
348
|
+
return this.#getInfo(aParameters, oCurrentApplication, oApplicationContainer);
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Internal central function to collect the values of the given parameters
|
|
354
|
+
* @param {string[]} aParameters Array of requested parameters
|
|
355
|
+
* @param {object} oCurrentApplication The current application
|
|
356
|
+
* @param {object} oApplicationContainer The application container
|
|
357
|
+
* @returns {Promise<Object<string, object>>} Promise that resolves to an object
|
|
358
|
+
* keeping the application info parameters with values
|
|
359
|
+
*/
|
|
360
|
+
async #getInfo (aParameters, oCurrentApplication, oApplicationContainer) {
|
|
361
|
+
const aPromises = aParameters.map(async (sParameter) => {
|
|
362
|
+
if (aSupportedParameters.includes(sParameter)) {
|
|
363
|
+
// first we use the parameters defined by app
|
|
364
|
+
if (Object.hasOwn(this.#oAppParameters, sParameter)) {
|
|
365
|
+
return this.#oAppParameters[sParameter];
|
|
366
|
+
}
|
|
367
|
+
// second we use the parameters defined by FLP
|
|
368
|
+
if (Object.hasOwn(this.#oDefaultHandlers, sParameter)) {
|
|
369
|
+
return this.#oDefaultHandlers[sParameter](oCurrentApplication, oApplicationContainer);
|
|
370
|
+
}
|
|
371
|
+
Log.error(`value for parameter '${sParameter}' is not set.`);
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
// first we use the parameters defined by app
|
|
376
|
+
if (Object.hasOwn(this.#oCustomAppParameters, sParameter)) {
|
|
377
|
+
/**
|
|
378
|
+
* Automated migration to customProperties will be removed in future.
|
|
379
|
+
* @deprecated since 1.120.0
|
|
380
|
+
*/
|
|
381
|
+
// eslint-disable-next-line no-constant-condition
|
|
382
|
+
if (true) {
|
|
383
|
+
const oCustomValue = this.#oCustomAppParameters[sParameter];
|
|
384
|
+
if (oCustomValue.migrated) {
|
|
385
|
+
return oCustomValue.value;
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
return this.#oCustomAppParameters[sParameter];
|
|
390
|
+
}
|
|
391
|
+
// second we use fallback from system context for custom properties
|
|
392
|
+
if (sParameter.includes(".")) {
|
|
393
|
+
return this.#getSystemContextProperty(sParameter, oCurrentApplication, oApplicationContainer);
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
Log.error(`'${sParameter}' is not a valid app info parameter`);
|
|
397
|
+
});
|
|
398
|
+
|
|
399
|
+
return Promise.allSettled(aPromises).then((aValues) => {
|
|
400
|
+
for (let i = 0; i < aValues.length; i++) {
|
|
401
|
+
if (aValues[i].status === "fulfilled") {
|
|
402
|
+
aValues[i] = aValues[i].value;
|
|
403
|
+
} else {
|
|
404
|
+
aValues[i] = undefined;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
return _zipObject(aParameters, aValues);
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
setCustomAttributes (oAppInfo) {
|
|
413
|
+
if (oAppInfo === undefined || Object.keys(oAppInfo).length === 0) {
|
|
414
|
+
this.flush();
|
|
415
|
+
return;
|
|
353
416
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
417
|
+
let oAppInfoClone = deepClone(oAppInfo);
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Old interface
|
|
421
|
+
* @deprecated since 1.120.0
|
|
422
|
+
*/
|
|
423
|
+
if (oAppInfoClone.info && Object.keys(oAppInfoClone).length === 1) {
|
|
424
|
+
Log.error("The old interface for setting custom attributes is deprecated and will be removed in future.");
|
|
425
|
+
oAppInfoClone = oAppInfoClone.info;
|
|
357
426
|
}
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* Automated migration to customProperties will be removed in future.
|
|
430
|
+
* @deprecated since 1.120.0
|
|
431
|
+
*/
|
|
432
|
+
const oFallbackForCustomProperties = {};
|
|
433
|
+
for (const sParameter in oAppInfoClone) {
|
|
434
|
+
if (sParameter === "customProperties") {
|
|
435
|
+
// custom properties are handled below
|
|
436
|
+
continue;
|
|
437
|
+
}
|
|
438
|
+
|
|
439
|
+
if (aRestrictedParameters.includes(sParameter)) {
|
|
440
|
+
Log.error(`Attribute '${sParameter}' is restricted and will be ignored.`);
|
|
441
|
+
continue;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
if (!aSupportedParameters.includes(sParameter)) {
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* Automated migration to customProperties will be removed in future.
|
|
448
|
+
* @deprecated since 1.120.0
|
|
449
|
+
*/
|
|
450
|
+
// eslint-disable-next-line no-constant-condition
|
|
451
|
+
if (true) {
|
|
452
|
+
Log.error(`Attribute '${sParameter}' is not supported and will be moved to customProperties instead. This migration will be removed in future.`);
|
|
453
|
+
oFallbackForCustomProperties[sParameter] = {
|
|
454
|
+
value: oAppInfoClone[sParameter],
|
|
455
|
+
showInAbout: false,
|
|
456
|
+
migrated: true
|
|
457
|
+
};
|
|
458
|
+
continue;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
Log.error(`Attribute '${sParameter}' is not supported and will be ignored. It should be moved to the customProperties instead.`);
|
|
462
|
+
continue;
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
const sValue = oAppInfoClone[sParameter];
|
|
466
|
+
|
|
467
|
+
if (typeof sValue !== "string") {
|
|
468
|
+
Log.error(`Attribute value for '${sParameter}' is not a string and will be ignored.`);
|
|
469
|
+
continue;
|
|
367
470
|
}
|
|
471
|
+
|
|
472
|
+
this.#oAppParameters[sParameter] = sValue;
|
|
368
473
|
}
|
|
369
474
|
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
475
|
+
const oCustomProperties = {
|
|
476
|
+
/**
|
|
477
|
+
* Automated migration to customProperties will be removed in future.
|
|
478
|
+
* @deprecated since 1.120.0
|
|
479
|
+
*/
|
|
480
|
+
...oFallbackForCustomProperties,
|
|
481
|
+
...oAppInfoClone.customProperties
|
|
482
|
+
};
|
|
373
483
|
|
|
374
|
-
|
|
375
|
-
|
|
484
|
+
for (const sCustomProperty in oCustomProperties) {
|
|
485
|
+
let oValue = oCustomProperties[sCustomProperty];
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Automated migration to proper format will be removed in future.
|
|
489
|
+
* @deprecated since 1.120.0
|
|
490
|
+
*/
|
|
491
|
+
if (!isPlainObject(oValue)) {
|
|
492
|
+
Log.error(`Custom attribute '${sCustomProperty}' does not have the correct format. This property will be ignored in future.`);
|
|
493
|
+
oValue = {
|
|
494
|
+
value: oValue,
|
|
495
|
+
showInAbout: false,
|
|
496
|
+
migrated: true
|
|
497
|
+
};
|
|
498
|
+
}
|
|
376
499
|
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
500
|
+
if (!this.#validateCustomAttribute(sCustomProperty, oValue)) {
|
|
501
|
+
continue;
|
|
502
|
+
}
|
|
380
503
|
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
oCustomAttribute = {};
|
|
384
|
-
return;
|
|
504
|
+
this.#oCustomAppParameters[sCustomProperty] = oValue;
|
|
505
|
+
}
|
|
385
506
|
}
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
507
|
+
|
|
508
|
+
#validateCustomAttribute (sParameterName, oValue) {
|
|
509
|
+
if (!isPlainObject(oValue)) {
|
|
510
|
+
Log.error(`Custom attribute '${sParameterName}' does not have the correct format and will be ignored.`);
|
|
511
|
+
return false;
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
if (oValue.showInAbout === false) {
|
|
515
|
+
// no further validation for attributes that are not shown in the about dialog
|
|
516
|
+
return true;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
// if not provided, set default value for showInAbout
|
|
520
|
+
oValue.showInAbout = true;
|
|
521
|
+
|
|
522
|
+
if (!oValue.label) {
|
|
523
|
+
Log.error(`Custom attribute '${sParameterName}' has no label and will be ignored.`);
|
|
524
|
+
return false;
|
|
390
525
|
}
|
|
526
|
+
|
|
527
|
+
return true;
|
|
391
528
|
}
|
|
392
|
-
|
|
393
|
-
|
|
529
|
+
|
|
530
|
+
/**
|
|
531
|
+
* Stores the custom app info parameters into the given storage entry.
|
|
532
|
+
* @param {object} oStorageEntry The storage entry.
|
|
533
|
+
*
|
|
534
|
+
* @since 1.130.0
|
|
535
|
+
* @private
|
|
536
|
+
*/
|
|
537
|
+
store (oStorageEntry = {}) {
|
|
538
|
+
oStorageEntry.appInfoParameters = {
|
|
539
|
+
appParameters: deepClone(this.#oAppParameters),
|
|
540
|
+
customAppParameters: deepClone(this.#oCustomAppParameters)
|
|
541
|
+
};
|
|
394
542
|
}
|
|
395
|
-
}
|
|
396
543
|
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
544
|
+
/**
|
|
545
|
+
* Restores the custom app info parameters from the given storage entry.
|
|
546
|
+
* @param {object} oStorageEntry The storage entry.
|
|
547
|
+
*
|
|
548
|
+
* @since 1.130.0
|
|
549
|
+
* @private
|
|
550
|
+
*/
|
|
551
|
+
restore (oStorageEntry = {}) {
|
|
552
|
+
const { appParameters, customAppParameters } = oStorageEntry.appInfoParameters || {};
|
|
400
553
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
if (isAttributeExist(sParameterName)) {
|
|
404
|
-
return oCustomAttribute[sParameterName].value;
|
|
554
|
+
this.#oAppParameters = appParameters ? deepClone(appParameters) : {};
|
|
555
|
+
this.#oCustomAppParameters = customAppParameters ? deepClone(customAppParameters) : {};
|
|
405
556
|
}
|
|
406
|
-
return undefined;
|
|
407
|
-
}
|
|
408
557
|
|
|
409
|
-
/**
|
|
410
|
-
* Interface
|
|
411
|
-
*/
|
|
412
|
-
return {
|
|
413
558
|
/**
|
|
414
|
-
*
|
|
415
|
-
*
|
|
416
|
-
* @
|
|
417
|
-
* @
|
|
418
|
-
* @returns {Promise} Promise that resolves to an object
|
|
419
|
-
* keeping the application info parameters with values
|
|
559
|
+
* Flushes the custom app info parameters.
|
|
560
|
+
*
|
|
561
|
+
* @since 1.130.0
|
|
562
|
+
* @private
|
|
420
563
|
*/
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
["appFrameworkId"],
|
|
427
|
-
oCurrentApplication, oApplicationContainer
|
|
428
|
-
).then(function () {
|
|
429
|
-
return _getInfo(aParameters, oCurrentApplication, oApplicationContainer);
|
|
430
|
-
});
|
|
431
|
-
},
|
|
432
|
-
getCustomValue: getCustomValue,
|
|
433
|
-
isAttributeExist: isAttributeExist,
|
|
434
|
-
setCustomAttributes: setCustomAttributes,
|
|
435
|
-
getAllAppInfo: getAllAppInfo
|
|
436
|
-
};
|
|
437
|
-
|
|
564
|
+
flush () {
|
|
565
|
+
this.#oAppParameters = {};
|
|
566
|
+
this.#oCustomAppParameters = {};
|
|
567
|
+
}
|
|
568
|
+
}
|
|
438
569
|
|
|
570
|
+
return new AppInfoParameters();
|
|
439
571
|
|
|
440
572
|
}, false /* bExport= */);
|