@sapui5/sap.ushell 1.131.0 → 1.132.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/main/js/sap/ushell/.library +37 -1
- package/src/main/js/sap/ushell/ApplicationType/wdaResolution.js +26 -21
- 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/UIActions.js +8 -13
- 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/User.js +74 -48
- 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 +67 -11
- package/src/main/js/sap/ushell/adapters/cdm/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/MenuAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PagesCommonDataModelAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/PersonalizationV2Adapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/Ui5ComponentLoaderAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/modifyHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/_LaunchPage/uri.transform.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/AppForInbound.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/util/cdmSiteUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/AdapterBase.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/FlpLaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/LaunchPageAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/StaticGroupsAdapter.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readApplications.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readCatalogs.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readHome.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readPages.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readUtils.js +1 -1
- package/src/main/js/sap/ushell/adapters/cdm/v3/_LaunchPage/readVisualizations.js +1 -1
- package/src/main/js/sap/ushell/adapters/cep/MenuAdapter.js +357 -182
- 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 +68 -4
- 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/appRuntime/ui5/AppRuntime.js +0 -11
- package/src/main/js/sap/ushell/appRuntime/ui5/BusyIndicator.js +21 -27
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaAgent/i18n/i18n_en_US_saptrc.properties +5 -5
- package/src/main/js/sap/ushell/appRuntime/ui5/plugins/rtaShell/i18n/i18n_en_US_saptrc.properties +2 -2
- 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/AppLifeCycleAgent.js +4 -12
- 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 +33 -9
- 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 +13 -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/appRuntime/ui5/style.css +48 -0
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/LoadingConfiguration.json +4 -0
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/StepConfiguration.json +20 -0
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/logger.js +1 -1
- package/src/main/js/sap/ushell/bootstrap/SchedulingAgent/state.js +10 -4
- 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 +11 -1
- package/src/main/js/sap/ushell/bootstrap/sandbox2/sandboxConfig.json +1 -2
- package/src/main/js/sap/ushell/bootstrap/sandbox2.js +1 -1
- package/src/main/js/sap/ushell/components/MessagingHelper.js +3 -3
- package/src/main/js/sap/ushell/components/appfinder/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/AppLifeCycle.js +14 -11
- package/src/main/js/sap/ushell/components/applicationIntegration/application/Application.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxHandler.js +1 -1
- package/src/main/js/sap/ushell/components/applicationIntegration/application/BlueBoxesCache.js +32 -51
- package/src/main/js/sap/ushell/components/applicationIntegration/application/PostMessageAPI.js +31 -68
- package/src/main/js/sap/ushell/components/applicationIntegration/configuration/AppMeta.js +26 -8
- package/src/main/js/sap/ushell/components/applicationIntegration/relatedServices/RelatedServices.js +40 -32
- package/src/main/js/sap/ushell/components/cepsearchresult/app/cards/searchresultwidget/i18n/i18n_en_US_saptrc.properties +37 -37
- package/src/main/js/sap/ushell/components/cepsearchresult/app/i18n/i18n_en_US_saptrc.properties +9 -9
- package/src/main/js/sap/ushell/components/cepsearchresult/app/util/i18n/i18n_en_US_saptrc.properties +109 -109
- package/src/main/js/sap/ushell/components/container/ApplicationContainer.js +2 -1
- package/src/main/js/sap/ushell/components/container/resources/resources_en_US_saptrc.properties +6 -6
- package/src/main/js/sap/ushell/components/contentFinder/CatalogService.js +1 -1
- package/src/main/js/sap/ushell/components/contentFinder/Component.js +507 -359
- package/src/main/js/sap/ushell/components/contentFinder/controller/AppSearch.controller.js +253 -161
- package/src/main/js/sap/ushell/components/contentFinder/controller/ContentFinderDialog.controller.js +30 -39
- package/src/main/js/sap/ushell/components/contentFinder/dialog/Component.js +98 -0
- package/src/main/js/sap/ushell/components/contentFinder/dialog/manifest.json +50 -0
- package/src/main/js/sap/ushell/components/contentFinder/manifest.json +5 -6
- package/src/main/js/sap/ushell/components/contentFinder/model/formatter.js +193 -141
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources.properties +14 -30
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ar.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_bg.properties +7 -3
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ca.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cnr.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cs.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_cy.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_da.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_de.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_el.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_GB.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saprigi.properties +2 -1
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_en_US_saptrc.properties +45 -26
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_es_MX.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_et.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fi.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_fr_CA.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hi.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hr.properties +8 -4
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_hu.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_id.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_it.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_iw.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ja.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_kk.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ko.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lt.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_lv.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_mk.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ms.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_nl.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_no.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pl.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_pt_PT.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ro.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_ru.properties +7 -3
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sh.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sk.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sl.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sr.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_sv.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_th.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_tr.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_uk.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_vi.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_CN.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/resources/resources_zh_TW.properties +6 -2
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearch.view.xml +90 -96
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchBox.fragment.xml +58 -38
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchCategoryTree.fragment.xml +20 -8
- package/src/main/js/sap/ushell/components/contentFinder/view/AppSearchList.fragment.xml +41 -26
- package/src/main/js/sap/ushell/components/contentFinder/view/ContentFinderDialog.view.xml +24 -58
- package/src/main/js/sap/ushell/components/contentFinder/view/VisualizationsNoDataIllustratedMessage.fragment.xml +7 -9
- package/src/main/js/sap/ushell/components/contentFinderStandalone/Component.js +5 -5
- package/src/main/js/sap/ushell/components/contentFinderStandalone/controller/ContentFinderStandalone.controller.js +180 -162
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifest.json +33 -4
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources.properties +5 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/resources/resources_en_US_saptrc.properties +3 -0
- package/src/main/js/sap/ushell/components/contentFinderStandalone/view/ContentFinderStandalone.view.xml +9 -8
- 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 +5 -3
- 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 +49 -16
- package/src/main/js/sap/ushell/components/pages/fragment/DialogPageNotExists.fragment.xml +27 -0
- package/src/main/js/sap/ushell/components/pages/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/pages/view/PageRuntime.view.xml +1 -6
- 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/manifest.json +1 -1
- package/src/main/js/sap/ushell/components/shell/MenuBar/controller/MenuBar.controller.js +1 -0
- 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 +4 -12
- 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 +4 -1
- package/src/main/js/sap/ushell/components/shell/Settings/appearance/Appearance.view.xml +1 -1
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.controller.js +16 -0
- package/src/main/js/sap/ushell/components/shell/Settings/userLanguageRegion/LanguageRegionSelector.view.xml +40 -9
- package/src/main/js/sap/ushell/components/shell/SideNavigation/Component.js +57 -0
- package/src/main/js/sap/ushell/components/shell/SideNavigation/controller/SideNavigation.controller.js +432 -0
- package/src/main/js/sap/ushell/components/shell/SideNavigation/manifest.json +45 -0
- package/src/main/js/sap/ushell/components/shell/SideNavigation/resources/resources.properties +8 -0
- package/src/main/js/sap/ushell/components/shell/SideNavigation/view/SideNavigation.view.xml +35 -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/applauncher/Configuration.view.xml +1 -1
- package/src/main/js/sap/ushell/components/tiles/applauncherdynamic/Configuration.view.xml +1 -1
- 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 +61 -61
- 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 +4 -10
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources.properties +6 -0
- package/src/main/js/sap/ushell/components/workPageBuilder/resources/resources_en_US_saptrc.properties +88 -77
- package/src/main/js/sap/ushell/components/workPageBuilder/view/WorkPageBuilder.view.xml +9 -2
- 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 +7 -2
- 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/plugins/rta/i18n/i18n_en_US_saptrc.properties +8 -8
- package/src/main/js/sap/ushell/renderer/Renderer.js +2 -2
- package/src/main/js/sap/ushell/renderer/Shell.controller.js +27 -11
- package/src/main/js/sap/ushell/renderer/resources/resources.properties +8 -0
- package/src/main/js/sap/ushell/renderer/resources/resources_ar.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_bg.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_ca.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_cnr.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_cs.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_cy.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_da.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_de.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_el.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_en.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_en_GB.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saprigi.properties +4 -3
- package/src/main/js/sap/ushell/renderer/resources/resources_en_US_saptrc.properties +1009 -990
- package/src/main/js/sap/ushell/renderer/resources/resources_es.properties +12 -12
- package/src/main/js/sap/ushell/renderer/resources/resources_es_MX.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_et.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_fi.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_fr.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_fr_CA.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_hi.properties +7 -7
- package/src/main/js/sap/ushell/renderer/resources/resources_hr.properties +29 -29
- package/src/main/js/sap/ushell/renderer/resources/resources_hu.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_id.properties +12 -12
- package/src/main/js/sap/ushell/renderer/resources/resources_it.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_iw.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_ja.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_kk.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_ko.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_lt.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_lv.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_mk.properties +10 -10
- package/src/main/js/sap/ushell/renderer/resources/resources_ms.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_nl.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_no.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_pl.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_pt.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_pt_PT.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_ro.properties +19 -19
- package/src/main/js/sap/ushell/renderer/resources/resources_ru.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_sh.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_sk.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_sl.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_sr.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_sv.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_th.properties +16 -16
- package/src/main/js/sap/ushell/renderer/resources/resources_tr.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_uk.properties +9 -9
- package/src/main/js/sap/ushell/renderer/resources/resources_vi.properties +9 -9
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_CN.properties +8 -8
- package/src/main/js/sap/ushell/renderer/resources/resources_zh_TW.properties +8 -8
- package/src/main/js/sap/ushell/renderer/search/searchComponent/manifest.json +1 -1
- package/src/main/js/sap/ushell/services/AppConfiguration.js +12 -4
- 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 +56 -8
- package/src/main/js/sap/ushell/services/BookmarkV2.js +180 -171
- 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 +1 -1
- 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 +156 -137
- package/src/main/js/sap/ushell/services/Configuration.js +1 -1
- package/src/main/js/sap/ushell/services/ConfigurationDefaults.js +1 -1
- package/src/main/js/sap/ushell/services/ContentExtensionAdapterFactory.js +1 -1
- package/src/main/js/sap/ushell/services/CrossApplicationNavigation.js +1 -1
- package/src/main/js/sap/ushell/services/DarkModeSupport.js +1 -1
- package/src/main/js/sap/ushell/services/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 +17 -86
- 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 +18 -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 +1 -1
- 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/ShellNavigationHashChanger.js +3 -5
- 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 +1 -1
- package/src/main/js/sap/ushell/services/Ui5ComponentLoader.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameterPersistence.js +1 -1
- package/src/main/js/sap/ushell/services/UserDefaultParameters.js +1 -1
- package/src/main/js/sap/ushell/services/UserInfo.js +1 -1
- package/src/main/js/sap/ushell/services/UserRecents/RecentActivity.js +4 -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/_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/support/plugins/flpConfig/FlpConfigurationPlugin.js +1 -1
- package/src/main/js/sap/ushell/themes/base/Catalog.less +1 -0
- package/src/main/js/sap/ushell/themes/base/fonts/BusinessSuiteInAppSymbols.json +5 -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/sap_belize_base/Catalog.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_bluecrystal_base/Catalog.less +1 -0
- package/src/main/js/sap/ushell/themes/sap_hcb/base_Catalog.less +1 -0
- package/src/main/js/sap/ushell/ui/cards/RecentActivitiesExtension.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/ExtendedChangeDetection.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/Section.js +1 -1
- package/src/main/js/sap/ushell/ui/launchpad/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/UrlShortening.js +1 -1
- package/src/main/js/sap/ushell/utils/tilecard/resources/resources_en_US_saptrc.properties +3 -3
- package/src/main/js/sap/ushell/utils/workpage/WorkPageHost.js +8 -7
- package/src/main/js/sap/ushell/utils/workpage/WorkPageService.js +75 -11
- package/src/main/js/sap/ushell/utils/workpage/WorkPageVizInstantiation.js +47 -2
- package/src/main/js/sap/ushell/utils/workpage/resources/resources.properties +6 -0
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_en_US_saptrc.properties +95 -77
- package/src/main/js/sap/ushell/utils/workpage/resources/resources_es.properties +5 -5
- package/src/main/js/sap/ushell/utils.js +1 -1
- package/src/test/js/sap/ushell/bootstrap/sandbox.js +1 -1
- package/ui5.yaml +1 -0
- package/src/main/js/sap/ushell/components/contentFinder/controller/WidgetGallery.controller.js +0 -62
- package/src/main/js/sap/ushell/components/contentFinder/view/WidgetGallery.view.xml +0 -102
- package/src/main/js/sap/ushell/components/contentFinderStandalone/manifestAppSearch.json +0 -50
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @fileOverview ContentFinder Component
|
|
4
4
|
*
|
|
5
|
-
* @version 1.
|
|
5
|
+
* @version 1.132.0
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
sap.ui.define([
|
|
@@ -36,92 +36,50 @@ sap.ui.define([
|
|
|
36
36
|
* @property {string} widgetId The ID of the selected widget type
|
|
37
37
|
*/
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* The available navigation targets
|
|
42
|
-
*/
|
|
43
|
-
var oNavigationTargets = {
|
|
44
|
-
widgetGallery: "widgetGallery",
|
|
45
|
-
appSearchTiles: "appSearch_tiles",
|
|
46
|
-
appSearchCards: "appSearch_cards"
|
|
47
|
-
// TODO: appSearch_mixed: "appSearch_cards"
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
var oNavigationTargetTypeMapping = {
|
|
51
|
-
appSearch_tiles: ["sap.ushell.StaticAppLauncher", "sap.ushell.DynamicAppLauncher"],
|
|
52
|
-
appSearch_cards: ["sap.card"]
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
var oInitialSelectionData = {
|
|
56
|
-
appSearch: {
|
|
57
|
-
visualizations: {
|
|
58
|
-
tiles: []
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Initial data to be set to the ContentFinder model.
|
|
65
|
-
*
|
|
66
|
-
* @type {object}
|
|
67
|
-
*/
|
|
68
|
-
var oInitialData = {
|
|
69
|
-
standalone: false, // If the ContentFinder is in standalone mode or not
|
|
70
|
-
navigationTargets: oNavigationTargets,
|
|
71
|
-
|
|
72
|
-
// The current/active navigation target within the ContentFinderDialog
|
|
73
|
-
activeNavigationTarget: oNavigationTargets.widgetGallery,
|
|
74
|
-
selectedCategoryId: undefined,
|
|
75
|
-
selectedCategoryTitle: undefined,
|
|
76
|
-
|
|
77
|
-
// A content finder in restricted mode shows no widget Gallery and starts directly with the appSearch.
|
|
78
|
-
// Additionally, no "Back" button is rendered, as the end user cannot navigate to the WidgetGallery.
|
|
79
|
-
restrictedMode: false,
|
|
80
|
-
|
|
81
|
-
personalizationEnabled: false,
|
|
82
|
-
|
|
83
|
-
widgetGallery: {
|
|
84
|
-
widgetGroups: []
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
appSearch: {
|
|
88
|
-
growingThreshold: 100,
|
|
89
|
-
visualizationsLoaded: false,
|
|
90
|
-
hasSelectables: true,
|
|
91
|
-
currentSelectedTreeNode: "",
|
|
92
|
-
searchTerm: "",
|
|
93
|
-
filteredAppCount: 0,
|
|
94
|
-
showSelectedPressed: false,
|
|
95
|
-
showLaunchButton: false,
|
|
96
|
-
visualizations: {
|
|
97
|
-
cards: [],
|
|
98
|
-
tiles: []
|
|
99
|
-
},
|
|
100
|
-
totalCount: 0,
|
|
101
|
-
originalRestrictedVisualizations: [],
|
|
102
|
-
restrictedVisualizations: [],
|
|
103
|
-
listView: false
|
|
104
|
-
},
|
|
105
|
-
categoryTree: [],
|
|
106
|
-
categoryTreeAvailable: false
|
|
107
|
-
};
|
|
108
|
-
|
|
109
39
|
/**
|
|
110
40
|
* Component of the ContentFinder view.
|
|
111
41
|
*
|
|
112
42
|
* @param {string} sId Component id.
|
|
113
43
|
* @param {object} mSettings Optional map for component settings.
|
|
44
|
+
*
|
|
114
45
|
* @class
|
|
115
46
|
* @extends sap.ui.core.UIComponent
|
|
116
|
-
* @private
|
|
117
|
-
* @since 1.113.0
|
|
118
47
|
* @alias sap.ushell.components.contentFinder.Component
|
|
48
|
+
* @since 1.113.0
|
|
49
|
+
* @private
|
|
119
50
|
*/
|
|
120
51
|
return UIComponent.extend("sap.ushell.components.contentFinder.Component", /** @lends sap.ushell.components.contentFinder.Component.prototype */{
|
|
121
52
|
metadata: {
|
|
122
53
|
manifest: "json",
|
|
123
54
|
library: "sap.ushell",
|
|
124
55
|
interfaces: ["sap.ui.core.IAsyncContentCreation"],
|
|
56
|
+
properties: {
|
|
57
|
+
enablePersonalization: {
|
|
58
|
+
type: "boolean",
|
|
59
|
+
defaultValue: true,
|
|
60
|
+
group: "Behavior"
|
|
61
|
+
},
|
|
62
|
+
noItemsInCatalogDescription: {
|
|
63
|
+
type: "string",
|
|
64
|
+
defaultValue: "",
|
|
65
|
+
group: "Appearance"
|
|
66
|
+
},
|
|
67
|
+
showAppBoxFieldsPlaceholder: {
|
|
68
|
+
type: "boolean",
|
|
69
|
+
defaultValue: true,
|
|
70
|
+
group: "Appearance"
|
|
71
|
+
},
|
|
72
|
+
showCategoryTreeWhenEmpty: {
|
|
73
|
+
type: "boolean",
|
|
74
|
+
defaultValue: true,
|
|
75
|
+
group: "Appearance"
|
|
76
|
+
},
|
|
77
|
+
showApplicationLaunchButton: {
|
|
78
|
+
type: "boolean",
|
|
79
|
+
defaultValue: false,
|
|
80
|
+
group: "Appearance"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
125
83
|
events: {
|
|
126
84
|
/**
|
|
127
85
|
* Fires when additional visualizations must be requested:
|
|
@@ -166,7 +124,7 @@ sap.ui.define([
|
|
|
166
124
|
}
|
|
167
125
|
},
|
|
168
126
|
/**
|
|
169
|
-
* Fires when the Content Finder dialog is closed
|
|
127
|
+
* Fires when the Content Finder dialog is closed.
|
|
170
128
|
* @type {object}
|
|
171
129
|
* @since 1.113.0
|
|
172
130
|
* @private
|
|
@@ -175,7 +133,7 @@ sap.ui.define([
|
|
|
175
133
|
parameters: {}
|
|
176
134
|
},
|
|
177
135
|
/**
|
|
178
|
-
* Fires when a widget is selected
|
|
136
|
+
* Fires when a widget is selected.
|
|
179
137
|
* @type {object}
|
|
180
138
|
* @since 1.112.0
|
|
181
139
|
* @private
|
|
@@ -183,7 +141,7 @@ sap.ui.define([
|
|
|
183
141
|
widgetSelected: {
|
|
184
142
|
parameters: {
|
|
185
143
|
/**
|
|
186
|
-
* The currently selected widget ID
|
|
144
|
+
* The currently selected widget ID.
|
|
187
145
|
*/
|
|
188
146
|
widgetId: { type: "string" }
|
|
189
147
|
}
|
|
@@ -205,7 +163,7 @@ sap.ui.define([
|
|
|
205
163
|
},
|
|
206
164
|
|
|
207
165
|
/**
|
|
208
|
-
* The string of the current contentFinder component for usage in Error Logs
|
|
166
|
+
* The string of the current contentFinder component for usage in Error Logs.
|
|
209
167
|
* @type {string}
|
|
210
168
|
*/
|
|
211
169
|
logComponent: "sap.ushell.components.ContentFinder.Component",
|
|
@@ -221,60 +179,218 @@ sap.ui.define([
|
|
|
221
179
|
|
|
222
180
|
this.oResourceBundle = this.getModel("i18n").getResourceBundle();
|
|
223
181
|
|
|
224
|
-
|
|
225
|
-
|
|
182
|
+
// The "ui" model is used for the external and internal settings
|
|
183
|
+
// (e.g. component settings and internal configuration)
|
|
184
|
+
this.setModel(this.getUiModel(), "ui");
|
|
226
185
|
|
|
227
|
-
|
|
228
|
-
|
|
186
|
+
// The "unnamed" model is used for (external) data provided from the API.
|
|
187
|
+
// (e.g. "categoryTree", "visualizations")
|
|
188
|
+
this.setModel(this.getDataModel());
|
|
229
189
|
|
|
230
|
-
|
|
231
|
-
|
|
190
|
+
// The "data" model is just an alias for the "unnamed" model which is used
|
|
191
|
+
// to swap the data and selection models on the GridList and Table.
|
|
192
|
+
// It is only used for this purpose.
|
|
193
|
+
this.setModel(this.getDataModel(), "data");
|
|
232
194
|
|
|
233
|
-
|
|
195
|
+
// The "selection" model is used for the selection mode in the GridList and the Table
|
|
196
|
+
this.setModel(this.getSelectionModel(), "selection");
|
|
197
|
+
|
|
198
|
+
this.initializeUiModel(false);
|
|
199
|
+
this.initializeDataModel();
|
|
234
200
|
this.initializeSelectionModel();
|
|
201
|
+
// Keep in mind that applySettings is called after the init function and hence don't contain
|
|
202
|
+
// the properties (settings) provided with the component constructor.
|
|
203
|
+
// Property changes that require updates of dependent properties need to be triggered by
|
|
204
|
+
// binding events. Check the following method for an example:
|
|
205
|
+
this._initializeSidebarStatus();
|
|
206
|
+
|
|
207
|
+
const oComponentData = this.getComponentData();
|
|
208
|
+
if (oComponentData?.visualizationFilters) {
|
|
209
|
+
this.setVisualizationsFilters(oComponentData.visualizationFilters);
|
|
210
|
+
}
|
|
235
211
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
212
|
+
// Initialize Map which stores the restricted visualizations, which are visualizations
|
|
213
|
+
// that are already present on the section. This allows direct access to the keys and can be used in a
|
|
214
|
+
// formatter to indicate used visualizations.
|
|
215
|
+
this.oRestrictedVisualizationsMap = new Map();
|
|
216
|
+
|
|
217
|
+
// Indicates if the visualizations are currently loading to prevent additional events for data retrieval to be fired.
|
|
218
|
+
this._bLoading = false;
|
|
243
219
|
},
|
|
244
220
|
|
|
245
221
|
/**
|
|
246
|
-
*
|
|
247
|
-
*
|
|
222
|
+
* @typedef {object} VisualizationFilter A visualization filter.
|
|
223
|
+
* @property {string} key The key of the filter to be used. For example, in the "displayed" array.
|
|
224
|
+
* @property {string} title The translated title of the filter.
|
|
225
|
+
* @property {array<string>} types The visualization types (e.g. "sap.ushell.StaticAppLauncher", "sap.ushell.DynamicAppLauncher", "sap.card")
|
|
226
|
+
*/
|
|
227
|
+
/**
|
|
228
|
+
* @typedef {object} VisualizationsFilters
|
|
229
|
+
* @property {VisualizationFilter[]} available The available visualization filters configuration objects.
|
|
230
|
+
* @property {string[]} displayed The keys of the displayed visualization filters.
|
|
231
|
+
* @property {string} selected The key of the selected visualization filter.
|
|
232
|
+
*/
|
|
233
|
+
/**
|
|
234
|
+
* Sets the visualization filters used by the type selection filter.
|
|
248
235
|
*
|
|
249
|
-
* @param {
|
|
236
|
+
* @param {VisualizationsFilters} oVisualizationsFilters The visualization filters.
|
|
250
237
|
*
|
|
251
|
-
* @since 1.
|
|
252
|
-
* @
|
|
253
|
-
* @public
|
|
238
|
+
* @since 1.132.0
|
|
239
|
+
* @private
|
|
254
240
|
*/
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
241
|
+
setVisualizationsFilters: function (oVisualizationsFilters) {
|
|
242
|
+
const oUiModel = this.getUiModel();
|
|
243
|
+
if (oVisualizationsFilters?.available) {
|
|
244
|
+
oUiModel.setProperty("/visualizations/filters/available", oVisualizationsFilters.available);
|
|
245
|
+
}
|
|
246
|
+
if (oVisualizationsFilters?.displayed) {
|
|
247
|
+
oUiModel.setProperty("/visualizations/filters/displayed", oVisualizationsFilters.displayed);
|
|
258
248
|
}
|
|
259
|
-
|
|
249
|
+
if (oVisualizationsFilters?.selected) {
|
|
250
|
+
oUiModel.setProperty("/visualizations/filters/selected", oVisualizationsFilters.selected);
|
|
251
|
+
}
|
|
252
|
+
},
|
|
260
253
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
254
|
+
/**
|
|
255
|
+
* Returns the "ui" model.
|
|
256
|
+
*
|
|
257
|
+
* Creates a new JSONModel if it does not exist.
|
|
258
|
+
*
|
|
259
|
+
* @returns {sap.ui.model.json.JSONModel} The model.
|
|
260
|
+
*
|
|
261
|
+
* @since 1.132.0
|
|
262
|
+
* @private
|
|
263
|
+
*/
|
|
264
|
+
getUiModel: function () {
|
|
265
|
+
if (!this.oUiModel) {
|
|
266
|
+
this.oUiModel = new JSONModel();
|
|
267
|
+
}
|
|
268
|
+
return this.oUiModel;
|
|
264
269
|
},
|
|
265
270
|
|
|
266
271
|
/**
|
|
267
|
-
*
|
|
272
|
+
* Returns the "data" model.
|
|
268
273
|
*
|
|
269
|
-
*
|
|
270
|
-
* A widget type represents a specific widget type like tiles or cards.
|
|
274
|
+
* Creates a new GraphQLModel if it does not exist.
|
|
271
275
|
*
|
|
272
|
-
* @
|
|
273
|
-
*
|
|
276
|
+
* @returns {sap.ushell.components.contentFinder.model.GraphQLModel} The model.
|
|
277
|
+
*
|
|
278
|
+
* @since 1.132.0
|
|
279
|
+
* @private
|
|
280
|
+
*/
|
|
281
|
+
getDataModel: function () {
|
|
282
|
+
if (!this.oDataModel) {
|
|
283
|
+
this.oDataModel = new GraphQLModel();
|
|
284
|
+
this.oDataModel.setSizeLimit(Infinity);
|
|
285
|
+
}
|
|
286
|
+
return this.oDataModel;
|
|
287
|
+
},
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Returns the "selection" model.
|
|
291
|
+
*
|
|
292
|
+
* Creates a new JSONModel if it does not exist.
|
|
293
|
+
*
|
|
294
|
+
* @returns {sap.ui.model.json.JSONModel} The model.
|
|
295
|
+
*
|
|
296
|
+
* @since 1.132.0
|
|
297
|
+
* @private
|
|
298
|
+
*/
|
|
299
|
+
getSelectionModel: function () {
|
|
300
|
+
if (!this.oSelectionModel) {
|
|
301
|
+
this.oSelectionModel = new JSONModel();
|
|
302
|
+
this.oSelectionModel.setSizeLimit(Infinity);
|
|
303
|
+
}
|
|
304
|
+
return this.oSelectionModel;
|
|
305
|
+
},
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Sets a component setting as a property in the "ui" model.
|
|
309
|
+
*
|
|
310
|
+
* Helper method to set a property in the component properties and the "ui" model.
|
|
311
|
+
* The name of the property must be the same in the component and the model.
|
|
312
|
+
*
|
|
313
|
+
* @param {string} sPropertyName The name of the property in the component and the model
|
|
314
|
+
* @param {any} vValue The value of the property.
|
|
315
|
+
* @returns {sap.ushell.components.contentFinder.Component} The Content Finder component instance.
|
|
316
|
+
*
|
|
317
|
+
* @since 1.132.0
|
|
318
|
+
* @private
|
|
319
|
+
*/
|
|
320
|
+
_setComponentSettingsProperty: function (sPropertyName, vValue) {
|
|
321
|
+
this.setProperty(sPropertyName, vValue);
|
|
322
|
+
this.getModel("ui").setProperty("/componentSettings/" + sPropertyName, vValue);
|
|
323
|
+
return this;
|
|
324
|
+
},
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Sets the enablePersonalization property.
|
|
328
|
+
*
|
|
329
|
+
* If set to true, the visualizations are selectable and can be added to the page.
|
|
330
|
+
*
|
|
331
|
+
* @param {boolean} bEnablePersonalization True if personalization is enabled.
|
|
332
|
+
* @returns {sap.ushell.components.contentFinder.Component} The Content Finder component instance.
|
|
333
|
+
*
|
|
334
|
+
* @since 1.132.0
|
|
335
|
+
* @public
|
|
336
|
+
*/
|
|
337
|
+
setEnablePersonalization: function (bEnablePersonalization) {
|
|
338
|
+
return this._setComponentSettingsProperty("enablePersonalization", !!bEnablePersonalization);
|
|
339
|
+
},
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Sets the description for the "No items in catalog" message.
|
|
343
|
+
*
|
|
344
|
+
* The description is shown when no items are available in the catalog. This translation is provided
|
|
345
|
+
* from the consumer because the ContentFinder does not know if it is in design or runtime mode.
|
|
346
|
+
*
|
|
347
|
+
* @param {string} sNoItemsInCatalogDescription The actual string for the description and not the i18n key.
|
|
348
|
+
* @returns {sap.ushell.components.contentFinder.Component} The Content Finder component instance.
|
|
349
|
+
*
|
|
350
|
+
* @since 1.132.0
|
|
351
|
+
* public
|
|
352
|
+
*/
|
|
353
|
+
setNoItemsInCatalogDescription: function (sNoItemsInCatalogDescription) {
|
|
354
|
+
return this._setComponentSettingsProperty("noItemsInCatalogDescription", sNoItemsInCatalogDescription);
|
|
355
|
+
},
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Sets the visibility of the app box fields which are empty.
|
|
359
|
+
*
|
|
360
|
+
* @param {boolean} bShowAppBoxFieldsPlaceholder True if all app box fields should be shown.
|
|
361
|
+
* @returns {sap.ushell.components.contentFinder.Component} The Content Finder component instance.
|
|
362
|
+
*
|
|
363
|
+
* @since 1.132.0
|
|
364
|
+
* @public
|
|
365
|
+
*/
|
|
366
|
+
setShowAppBoxFieldsPlaceholder: function (bShowAppBoxFieldsPlaceholder) {
|
|
367
|
+
return this._setComponentSettingsProperty("showAppBoxFieldsPlaceholder", !!bShowAppBoxFieldsPlaceholder);
|
|
368
|
+
},
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Sets the visibility of the category tree when it is empty.
|
|
372
|
+
*
|
|
373
|
+
* @param {boolean} bShowCategoryTreeWhenEmpty True if the category tree should be shown when empty.
|
|
374
|
+
* @returns {sap.ushell.components.contentFinder.Component} The Content Finder component instance.
|
|
375
|
+
*
|
|
376
|
+
* @since 1.132.0
|
|
377
|
+
* @public
|
|
378
|
+
*/
|
|
379
|
+
setShowCategoryTreeWhenEmpty: function (bShowCategoryTreeWhenEmpty) {
|
|
380
|
+
return this._setComponentSettingsProperty("showCategoryTreeWhenEmpty", !!bShowCategoryTreeWhenEmpty);
|
|
381
|
+
},
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Sets the visibility of the application launch button.
|
|
385
|
+
*
|
|
386
|
+
* @param {boolean} bShowApplicationLaunchButton True if the application launch button should be shown.
|
|
387
|
+
* @returns {sap.ushell.components.contentFinder.Component} The Content Finder component instance.
|
|
388
|
+
*
|
|
389
|
+
* @since 1.132.0
|
|
274
390
|
* @public
|
|
275
391
|
*/
|
|
276
|
-
|
|
277
|
-
this.
|
|
392
|
+
setShowApplicationLaunchButton: function (bShowApplicationLaunchButton) {
|
|
393
|
+
return this._setComponentSettingsProperty("showApplicationLaunchButton", !!bShowApplicationLaunchButton);
|
|
278
394
|
},
|
|
279
395
|
|
|
280
396
|
/**
|
|
@@ -298,39 +414,46 @@ sap.ui.define([
|
|
|
298
414
|
* the FlexibleColumnLayout to TwoColumnsMidExpanded.
|
|
299
415
|
*
|
|
300
416
|
* @param {CategoryTreeItem[]|[]} aCategoryTree A tree of category objects.
|
|
417
|
+
*
|
|
301
418
|
* @experimental
|
|
419
|
+
* @since 1.123.0
|
|
302
420
|
* @private
|
|
303
421
|
*/
|
|
304
422
|
setCategoryTree: function (aCategoryTree) {
|
|
305
|
-
this.
|
|
306
|
-
|
|
423
|
+
const oDataModel = this.getDataModel();
|
|
424
|
+
if (!Array.isArray(aCategoryTree)) {
|
|
425
|
+
Log.error("Category tree data must be an array.");
|
|
426
|
+
aCategoryTree = [];
|
|
427
|
+
}
|
|
428
|
+
oDataModel.setProperty("/categoryTree", aCategoryTree);
|
|
307
429
|
},
|
|
308
430
|
|
|
309
431
|
/**
|
|
310
432
|
* Fires the event to query for visualizations.
|
|
311
433
|
*
|
|
312
|
-
* @since 1.115.0
|
|
313
434
|
* @param {int} iSkip Number of entries already displayed.
|
|
314
435
|
* @param {string} [sSearchTerm] The search term.
|
|
315
436
|
* @param {string} [sCategoryId] The category ID resulting from the category tree selection
|
|
316
437
|
*
|
|
438
|
+
* @since 1.115.0
|
|
317
439
|
* @private
|
|
318
440
|
*/
|
|
319
441
|
queryVisualizations: function (iSkip, sSearchTerm, sCategoryId) {
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
442
|
+
const oUiModel = this.getUiModel();
|
|
443
|
+
const sSelectedVisualizationFilter = oUiModel.getProperty("/visualizations/filters/selected");
|
|
444
|
+
const aAvailableVisualizationFilters = oUiModel.getProperty("/visualizations/filters/available");
|
|
445
|
+
const oSelected = aAvailableVisualizationFilters.find((oElement) => oElement.key === sSelectedVisualizationFilter);
|
|
323
446
|
|
|
324
447
|
if (!this._bLoading) {
|
|
325
448
|
this._bLoading = true;
|
|
326
|
-
|
|
449
|
+
oUiModel.setProperty("/visualizations/loaded", false);
|
|
327
450
|
|
|
328
451
|
this.fireEvent("visualizationFilterApplied", {
|
|
329
452
|
pagination: {
|
|
330
|
-
skip: iSkip,
|
|
331
|
-
top:
|
|
453
|
+
skip: iSkip || 0,
|
|
454
|
+
top: oUiModel.getProperty("/visualizations/growingThreshold")
|
|
332
455
|
},
|
|
333
|
-
types:
|
|
456
|
+
types: oSelected?.types || [],
|
|
334
457
|
search: sSearchTerm || null,
|
|
335
458
|
categoryId: sCategoryId || null
|
|
336
459
|
});
|
|
@@ -338,80 +461,61 @@ sap.ui.define([
|
|
|
338
461
|
},
|
|
339
462
|
|
|
340
463
|
/**
|
|
341
|
-
*
|
|
342
|
-
* Will replace 'setVisualizationData' once pagination is available.
|
|
464
|
+
* Replaces or concatenates the visualization data.
|
|
343
465
|
*
|
|
344
466
|
* @param {object} oVisualizationData An object containing all the visualization data as arrays.
|
|
467
|
+
* @param {boolean} [bReplaceVisualizations] If true, the visualizations will be replaced.
|
|
468
|
+
*
|
|
345
469
|
* @since 1.115.0
|
|
346
470
|
* @private
|
|
347
471
|
*/
|
|
348
|
-
setVisualizationData: function (oVisualizationData) {
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
472
|
+
setVisualizationData: function (oVisualizationData, bReplaceVisualizations = false) {
|
|
473
|
+
const aVisualizations = ObjectPath.get("visualizations.nodes", oVisualizationData) || [];
|
|
474
|
+
const iTotalCount = ObjectPath.get("visualizations.totalCount", oVisualizationData) || 0;
|
|
475
|
+
const oDataModel = this.getDataModel();
|
|
476
|
+
const oUiModel = this.getUiModel();
|
|
477
|
+
|
|
478
|
+
// Prepare object structure for visualizations
|
|
479
|
+
const aPreparedVisualizations = this._prepareVisualizations(aVisualizations);
|
|
480
|
+
|
|
481
|
+
// Replace or append to existing visualizations
|
|
482
|
+
let aExistingVisualizations;
|
|
483
|
+
if (bReplaceVisualizations) {
|
|
484
|
+
aExistingVisualizations = [];
|
|
485
|
+
} else {
|
|
486
|
+
aExistingVisualizations = oDataModel.getProperty("/visualizations/items");
|
|
487
|
+
}
|
|
488
|
+
oDataModel.setProperty("/visualizations/items", aExistingVisualizations.concat(deepExtend([], aPreparedVisualizations)));
|
|
359
489
|
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
oModel.setProperty("/appSearch/totalCount", iTotalCount);
|
|
363
|
-
oModel.setProperty("/appSearch/filteredAppCount", iTotalCount);
|
|
364
|
-
oModel.setProperty("/appSearch/visualizationsLoaded", true);
|
|
490
|
+
oDataModel.setProperty("/visualizations/totalCount", iTotalCount);
|
|
491
|
+
oUiModel.setProperty("/visualizations/loaded", true);
|
|
365
492
|
|
|
366
|
-
this._updateVisualizationsRestricted();
|
|
367
493
|
this._bLoading = false;
|
|
368
494
|
},
|
|
369
495
|
|
|
370
|
-
/**
|
|
371
|
-
* Sets the restricted mode for the Content Finder.
|
|
372
|
-
*
|
|
373
|
-
* A content finder in restricted mode shows no "Back" button as part of the AppSearch view.
|
|
374
|
-
*
|
|
375
|
-
* @param {boolean} bRestrictedMode A boolean representing whether the content finder is restricted or not.
|
|
376
|
-
* @since 1.113.0
|
|
377
|
-
* @public
|
|
378
|
-
*/
|
|
379
|
-
setRestrictedMode: function (bRestrictedMode) {
|
|
380
|
-
this.getModel().setProperty("/restrictedMode", !!bRestrictedMode);
|
|
381
|
-
},
|
|
382
|
-
|
|
383
496
|
/**
|
|
384
497
|
* Adds context data to visualization data.
|
|
385
498
|
*
|
|
386
|
-
* This context can be used to set restricted visualizations.
|
|
387
|
-
*
|
|
499
|
+
* This context can be used to set restricted visualizations. Restricted visualizations are
|
|
500
|
+
* visualizations which are already present in the section.
|
|
388
501
|
*
|
|
389
502
|
* @param {object} oContextData The context data with the restricted visualizations.
|
|
503
|
+
* @param {array<string>} [oContextData.restrictedVisualizations] An array of restricted visualization IDs.
|
|
504
|
+
*
|
|
390
505
|
* @since 1.113.0
|
|
391
506
|
* @public
|
|
392
507
|
*/
|
|
393
508
|
setContextData: function (oContextData) {
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
oModel.setProperty("/appSearch/originalRestrictedVisualizations", deepExtend([], aRestrictedVisualizations));
|
|
509
|
+
const aRestrictedVisualizations = ObjectPath.get("restrictedVisualizations", oContextData) || [];
|
|
510
|
+
const oModel = this.getDataModel();
|
|
398
511
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
512
|
+
this.oRestrictedVisualizationsMap.clear();
|
|
513
|
+
aRestrictedVisualizations.forEach((sId) => {
|
|
514
|
+
this.oRestrictedVisualizationsMap.set(sId, true);
|
|
515
|
+
});
|
|
403
516
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
*
|
|
407
|
-
* @returns {Promise<sap.m.NavContainer>} Resolves with the NavContainer.
|
|
408
|
-
* @since 1.113.0
|
|
409
|
-
* @private
|
|
410
|
-
*/
|
|
411
|
-
getNavContainer: function () {
|
|
412
|
-
return this._oRootControlLoadedPromise.then(function () {
|
|
413
|
-
return this.oNavContainer;
|
|
414
|
-
}.bind(this));
|
|
517
|
+
// Should be called last to trigger the bindings
|
|
518
|
+
oModel.setProperty("/visualizations/restrictedItems", deepExtend([], aRestrictedVisualizations));
|
|
415
519
|
},
|
|
416
520
|
|
|
417
521
|
/**
|
|
@@ -426,6 +530,7 @@ sap.ui.define([
|
|
|
426
530
|
*
|
|
427
531
|
* @fires sap.ushell.components.contentFinder.Component#visualizationsAdded
|
|
428
532
|
* @param {Visualization[]} aVisualizationsToAdd An array of visualizations to be added.
|
|
533
|
+
*
|
|
429
534
|
* @since 1.113.0
|
|
430
535
|
* @private
|
|
431
536
|
*/
|
|
@@ -436,126 +541,179 @@ sap.ui.define([
|
|
|
436
541
|
});
|
|
437
542
|
}
|
|
438
543
|
},
|
|
544
|
+
|
|
439
545
|
/**
|
|
440
546
|
* Function to trigger the <code>contentFinderClosed</code> event.
|
|
441
547
|
* It will fire the `contentFinderClosed` without any parameters.
|
|
442
|
-
*
|
|
548
|
+
*
|
|
549
|
+
* @since 1.132.0
|
|
443
550
|
* @private
|
|
444
551
|
*/
|
|
445
|
-
triggerContentFinderClosed: function() {
|
|
552
|
+
triggerContentFinderClosed: function () {
|
|
446
553
|
this.fireEvent("contentFinderClosed");
|
|
447
554
|
},
|
|
555
|
+
|
|
448
556
|
/**
|
|
449
557
|
* Fires the <code>widgetSelected</code> event .
|
|
558
|
+
*
|
|
450
559
|
* @param {string} [widgetId] The widget ID resulting from the widget selection.
|
|
451
|
-
*
|
|
560
|
+
*
|
|
561
|
+
* @since 1.132.0
|
|
452
562
|
* @private
|
|
453
563
|
*/
|
|
454
564
|
triggerWidgetSelected: function (widgetId) {
|
|
455
565
|
if (widgetId) {
|
|
456
|
-
this.fireEvent("widgetSelected", {
|
|
566
|
+
this.fireEvent("widgetSelected", {widgetId: widgetId});
|
|
457
567
|
}
|
|
458
568
|
},
|
|
569
|
+
|
|
459
570
|
/**
|
|
460
|
-
* Resets the AppSearch, but keeps originally passed
|
|
571
|
+
* Resets the AppSearch, but keeps originally passed settings in the model.
|
|
461
572
|
*
|
|
462
|
-
*
|
|
573
|
+
* Should net empty visualizations, but reset all the data which needs to be initialized again
|
|
574
|
+
* if the consumer closes and opens the Content Finder again.
|
|
463
575
|
*
|
|
464
576
|
* @since 1.113.0
|
|
465
577
|
* @private
|
|
466
578
|
*/
|
|
467
579
|
resetAppSearch: function () {
|
|
468
|
-
this.
|
|
580
|
+
this.initializeUiModel(true);
|
|
581
|
+
this.initializeSelectionModel();
|
|
582
|
+
this.useSelectionModel(false);
|
|
583
|
+
this.updateSidebarStatus();
|
|
469
584
|
},
|
|
470
585
|
|
|
471
586
|
/**
|
|
472
|
-
*
|
|
587
|
+
* Switches the default model to the selection model or the data model.
|
|
473
588
|
*
|
|
474
|
-
* @param {
|
|
475
|
-
*
|
|
476
|
-
* @
|
|
589
|
+
* @param {boolean} bEnable True if the selection model or false if the data model should be used.
|
|
590
|
+
*
|
|
591
|
+
* @since 1.132.0
|
|
477
592
|
* @private
|
|
478
593
|
*/
|
|
479
|
-
|
|
480
|
-
|
|
594
|
+
useSelectionModel: function (bEnable) {
|
|
595
|
+
let oModel;
|
|
596
|
+
if (bEnable) {
|
|
597
|
+
oModel = this.getSelectionModel();
|
|
598
|
+
} else {
|
|
599
|
+
oModel = this.getDataModel();
|
|
600
|
+
}
|
|
601
|
+
this.setModel(oModel, "data");
|
|
602
|
+
},
|
|
481
603
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
604
|
+
/**
|
|
605
|
+
* Initializes the content finder model.
|
|
606
|
+
*
|
|
607
|
+
* @param {boolean} [bPreserveData] If true, the data is preserved.
|
|
608
|
+
*
|
|
609
|
+
* @since 1.132.0
|
|
610
|
+
* @private
|
|
611
|
+
*/
|
|
612
|
+
initializeUiModel: function (bPreserveData = false) {
|
|
613
|
+
const oModel = this.getUiModel();
|
|
614
|
+
|
|
615
|
+
let oPreservedData;
|
|
616
|
+
if (bPreserveData) {
|
|
617
|
+
oPreservedData = {
|
|
618
|
+
preservedLayoutType: oModel.getProperty("/preservedLayoutType"),
|
|
619
|
+
categoryTree: oModel.getProperty("/categoryTree"),
|
|
620
|
+
visualizations: {
|
|
621
|
+
filters: oModel.getProperty("/visualizations/filters"),
|
|
622
|
+
listView: oModel.getProperty("/visualizations/listView")
|
|
623
|
+
}
|
|
624
|
+
};
|
|
485
625
|
}
|
|
486
|
-
if (sTarget === oNavigationTargets.appSearchTiles || sTarget === oNavigationTargets.appSearchCards) {
|
|
487
|
-
oModel.setProperty("/appSearch/visualizations/tiles", []);
|
|
488
|
-
oModel.setProperty("/appSearch/visualizations/cards", []);
|
|
489
626
|
|
|
490
|
-
|
|
627
|
+
oModel.setData({
|
|
628
|
+
// Settings which are only used internally
|
|
629
|
+
layoutType: LayoutType.TwoColumnsMidExpanded,
|
|
630
|
+
preservedLayoutType: LayoutType.TwoColumnsMidExpanded,
|
|
631
|
+
maxColumnsCount: 2,
|
|
632
|
+
|
|
633
|
+
// Settings provided to the component as settings parameter
|
|
634
|
+
componentSettings: {
|
|
635
|
+
enablePersonalization: this.getEnablePersonalization(),
|
|
636
|
+
noItemsInCatalogDescription: this.getNoItemsInCatalogDescription(),
|
|
637
|
+
showAppBoxFieldsPlaceholder: this.getShowAppBoxFieldsPlaceholder(),
|
|
638
|
+
showCategoryTreeWhenEmpty: this.getShowCategoryTreeWhenEmpty(),
|
|
639
|
+
showApplicationLaunchButton: this.getShowApplicationLaunchButton()
|
|
640
|
+
},
|
|
491
641
|
|
|
492
|
-
|
|
642
|
+
categoryTree: {
|
|
643
|
+
// If the categoryTree has data (array is not empty)
|
|
644
|
+
hasData: false,
|
|
645
|
+
itemPressed: false,
|
|
646
|
+
selectedId: undefined,
|
|
647
|
+
selectedTitle: undefined,
|
|
648
|
+
// If the categoryTree is currently visible by considering the available space.
|
|
649
|
+
visible: true
|
|
650
|
+
},
|
|
493
651
|
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
652
|
+
visualizations: {
|
|
653
|
+
appliedSearchTerm: "",
|
|
654
|
+
filters: {
|
|
655
|
+
displayed: [],
|
|
656
|
+
filterIsTitle: true,
|
|
657
|
+
selected: "tiles",
|
|
658
|
+
available: []
|
|
659
|
+
},
|
|
660
|
+
growingThreshold: 100,
|
|
661
|
+
listView: false,
|
|
662
|
+
loaded: false,
|
|
663
|
+
searchFieldValue: "",
|
|
664
|
+
searchTerm: "",
|
|
665
|
+
showSelectedPressed: false
|
|
666
|
+
}
|
|
667
|
+
});
|
|
498
668
|
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
}
|
|
669
|
+
if (bPreserveData) {
|
|
670
|
+
oModel.setData(oPreservedData, true);
|
|
671
|
+
}
|
|
502
672
|
},
|
|
503
673
|
|
|
504
674
|
/**
|
|
505
|
-
* Initializes the
|
|
675
|
+
* Initializes the data model.
|
|
506
676
|
*
|
|
507
|
-
*
|
|
508
|
-
*
|
|
509
|
-
* @since 1.113.0
|
|
677
|
+
* @since 1.132.0
|
|
510
678
|
* @private
|
|
511
679
|
*/
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
680
|
+
initializeDataModel: function () {
|
|
681
|
+
this.getDataModel().setData({
|
|
682
|
+
categoryTree: [],
|
|
683
|
+
visualizations: {
|
|
684
|
+
items: [],
|
|
685
|
+
totalCount: 0,
|
|
686
|
+
restrictedItems: []
|
|
687
|
+
}
|
|
688
|
+
});
|
|
516
689
|
},
|
|
517
690
|
|
|
518
691
|
/**
|
|
519
|
-
* Initializes the
|
|
692
|
+
* Initializes the selection model.
|
|
520
693
|
*
|
|
521
|
-
* @since 1.
|
|
694
|
+
* @since 1.132.0
|
|
522
695
|
* @private
|
|
523
696
|
*/
|
|
524
697
|
initializeSelectionModel: function () {
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
698
|
+
this.getSelectionModel().setData({
|
|
699
|
+
visualizations: {
|
|
700
|
+
items: [],
|
|
701
|
+
totalCount: 0,
|
|
702
|
+
restrictedItems: []
|
|
703
|
+
}
|
|
704
|
+
});
|
|
528
705
|
},
|
|
529
706
|
|
|
530
707
|
/**
|
|
531
|
-
*
|
|
532
|
-
*
|
|
533
|
-
* The method should also set all model related properties to their initial values.
|
|
708
|
+
* Resets the visualizations in the data model.
|
|
534
709
|
*
|
|
535
|
-
* @
|
|
536
|
-
* @since 1.131.0
|
|
710
|
+
* @since 1.132.0
|
|
537
711
|
* @private
|
|
538
712
|
*/
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
// The category tree is always available in design time.
|
|
545
|
-
oModel.setProperty("/appSearch/isDesignTime", bIsDesignTime);
|
|
546
|
-
|
|
547
|
-
oModel.setProperty("/categoryTreeAvailable", bIsDesignTime);
|
|
548
|
-
oModel.setProperty("/appSearch/showLaunchButton", !bIsDesignTime);
|
|
549
|
-
oModel.setProperty("/personalizationEnabled", Config.last("/core/shell/enablePersonalization"));
|
|
550
|
-
|
|
551
|
-
this.initializeSidebarStatus();
|
|
552
|
-
|
|
553
|
-
/**
|
|
554
|
-
* Temporary fallback to the classic AppFinder in case the Content Finder causes issues or does not show all required data.
|
|
555
|
-
*/
|
|
556
|
-
const oUrl = new URL(location.href);
|
|
557
|
-
oUrl.searchParams.append("sap-ushell-xx-overwrite-config", "/core/workPages/contentFinderStandalone:false");
|
|
558
|
-
oModel.setProperty("/linkToAppFinder", oUrl.toString());
|
|
713
|
+
resetVisualizations: function () {
|
|
714
|
+
const oDataModel = this.getDataModel();
|
|
715
|
+
oDataModel.setProperty("/visualizations/items", []);
|
|
716
|
+
oDataModel.setProperty("/visualizations/totalCount", 0);
|
|
559
717
|
},
|
|
560
718
|
|
|
561
719
|
/**
|
|
@@ -563,163 +721,153 @@ sap.ui.define([
|
|
|
563
721
|
*
|
|
564
722
|
* The sidebar status is set to MidColumnFullScreen (no category tree) if the category tree is empty in run time.
|
|
565
723
|
*
|
|
566
|
-
* @since 1.
|
|
724
|
+
* @since 1.132.0
|
|
567
725
|
* @private
|
|
568
726
|
*/
|
|
569
|
-
|
|
570
|
-
const
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
727
|
+
_initializeSidebarStatus: function () {
|
|
728
|
+
const oDataModel = this.getDataModel();
|
|
729
|
+
const oUiModel = this.getUiModel();
|
|
730
|
+
|
|
731
|
+
this.oCategoryTreeLengthBinding = oDataModel.bindProperty("/categoryTree/length");
|
|
732
|
+
this.oShowCategoryTreeWhenEmptyBinding = oUiModel.bindProperty("/componentSettings/showCategoryTreeWhenEmpty");
|
|
733
|
+
this.oMaxColumnsCountBinding = oUiModel.bindProperty("/maxColumnsCount");
|
|
734
|
+
this.oVisualizationsFilterSelectedBinding = oUiModel.bindProperty("/visualizations/filters/selected");
|
|
735
|
+
|
|
736
|
+
[
|
|
737
|
+
this.oCategoryTreeLengthBinding,
|
|
738
|
+
this.oShowCategoryTreeWhenEmptyBinding,
|
|
739
|
+
this.oMaxColumnsCountBinding,
|
|
740
|
+
this.oVisualizationsFilterSelectedBinding
|
|
741
|
+
].forEach((fn) => fn.attachChange(this.onUpdateSidebarStatus, this));
|
|
742
|
+
|
|
743
|
+
this.updateSidebarStatus();
|
|
583
744
|
},
|
|
584
745
|
|
|
585
746
|
/**
|
|
586
|
-
*
|
|
587
|
-
* @property {string} id The vizId.
|
|
588
|
-
* @property {string} appId The appId.
|
|
589
|
-
* @property {string} icon The icon src.
|
|
590
|
-
* @property {string} info The info string.
|
|
591
|
-
* @property {string} launchUrl The launch url for the tile.
|
|
592
|
-
* @property {string} subtitle The subtitle.
|
|
593
|
-
* @property {string} title The title.
|
|
594
|
-
* @property {string} type The type.
|
|
595
|
-
* @property {string} dataHelpId The data-help-id for the assistant.
|
|
596
|
-
* @property {object} vizData The whole vizData object.
|
|
597
|
-
* @property {boolean} selected flag.
|
|
598
|
-
* @property {boolean} added added flag. True if the visualization was already added to the cell.
|
|
599
|
-
* @property {string} systemLabel The system label.
|
|
600
|
-
*/
|
|
601
|
-
|
|
602
|
-
/**
|
|
603
|
-
* Prepares tiles from the visualizationData and enriches them for the appBoxes.
|
|
747
|
+
* Called when the sidebar status needs to be updated.
|
|
604
748
|
*
|
|
605
|
-
*
|
|
606
|
-
*
|
|
607
|
-
*
|
|
749
|
+
* Several bindings are used to determine if the sidebar status needs to be updated.
|
|
750
|
+
* this method is called when one of the bindings changes. The setTimeout ensures that
|
|
751
|
+
* it is only called once or called as least as possible.
|
|
752
|
+
* The bindings are initialized in _initializeSidebarStatus.
|
|
753
|
+
*
|
|
754
|
+
* @since 1.132.0
|
|
608
755
|
* @private
|
|
609
756
|
*/
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
});
|
|
757
|
+
onUpdateSidebarStatus: function () {
|
|
758
|
+
this.iUpdateSidebarStatusTimeout = this.iUpdateSidebarStatusTimeout || setTimeout(() => {
|
|
759
|
+
this.updateSidebarStatus();
|
|
760
|
+
this.iUpdateSidebarStatusTimeout = null;
|
|
761
|
+
}, 0);
|
|
762
|
+
},
|
|
617
763
|
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
764
|
+
updateSidebarStatus: function (sLayoutType) {
|
|
765
|
+
const oDataModel = this.getDataModel();
|
|
766
|
+
const oUiModel = this.getUiModel();
|
|
767
|
+
const iMaxColumnsCount = oUiModel.getProperty("/maxColumnsCount");
|
|
768
|
+
const bCategoryTreeHasData = oDataModel.getProperty("/categoryTree")?.length > 0;
|
|
769
|
+
const bShowCategoryTreeWhenEmpty = oUiModel.getProperty("/componentSettings/showCategoryTreeWhenEmpty");
|
|
770
|
+
const sVisualizationsFilterSelected = oUiModel.getProperty("/visualizations/filters/selected");
|
|
771
|
+
let sNewLayoutType;
|
|
772
|
+
|
|
773
|
+
// Temporary: Layout type override for the visualizations filter "cards" because they don't have catalogs.
|
|
774
|
+
if (sVisualizationsFilterSelected === "cards") {
|
|
775
|
+
sNewLayoutType = LayoutType.MidColumnFullScreen;
|
|
776
|
+
} else if (sLayoutType) {
|
|
777
|
+
sNewLayoutType = sLayoutType;
|
|
778
|
+
} else if (bShowCategoryTreeWhenEmpty || bCategoryTreeHasData) {
|
|
779
|
+
sNewLayoutType = oUiModel.getProperty("/preservedLayoutType");
|
|
780
|
+
// This happens only if the layout was resized to a larger width when only the category tree is displayed,
|
|
781
|
+
// then the layout needs to leave the "OneColumn" state because there are more columns available.
|
|
782
|
+
// Otherwise, we just update the layoutType property.
|
|
783
|
+
if (sNewLayoutType === LayoutType.OneColumn && iMaxColumnsCount > 1) {
|
|
784
|
+
sNewLayoutType = LayoutType.TwoColumnsMidExpanded;
|
|
622
785
|
}
|
|
786
|
+
} else {
|
|
787
|
+
sNewLayoutType = LayoutType.MidColumnFullScreen;
|
|
788
|
+
}
|
|
623
789
|
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
790
|
+
// If the layout is currently TwoColumnsMidExpanded and maxColumnsCount is only 1,
|
|
791
|
+
// the category tree should not be visible because there is no space.
|
|
792
|
+
let bCategoryTreeVisible = true;
|
|
793
|
+
if ((sNewLayoutType === LayoutType.TwoColumnsMidExpanded && iMaxColumnsCount === 1)
|
|
794
|
+
|| (sNewLayoutType === LayoutType.MidColumnFullScreen)
|
|
795
|
+
) {
|
|
796
|
+
bCategoryTreeVisible = false;
|
|
797
|
+
}
|
|
628
798
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
sAppID = oTileSapApp.id;
|
|
633
|
-
}
|
|
634
|
-
var oVizTarget = oTile.descriptor.value && oTile.descriptor.value["sap.flp"] && oTile.descriptor.value["sap.flp"].target;
|
|
635
|
-
var sLaunchUrl = utilsCdm.toHashFromTargetIntent(oTile.targetAppIntent, oVizTarget);
|
|
799
|
+
if (sLayoutType && sLayoutType !== LayoutType.OneColumn) {
|
|
800
|
+
oUiModel.setProperty("/preservedLayoutType", sLayoutType);
|
|
801
|
+
}
|
|
636
802
|
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
icon: ObjectPath.get("icons.icon", oTile.descriptor.value["sap.ui"]) || "",
|
|
641
|
-
info: oTileSapApp && oTileSapApp.info || "",
|
|
642
|
-
launchUrl: sLaunchUrl,
|
|
643
|
-
subtitle: oTileSapApp && oTileSapApp.subTitle || "",
|
|
644
|
-
title: oTileSapApp && oTileSapApp.title || "",
|
|
645
|
-
type: oTile.type,
|
|
646
|
-
dataHelpId: oTile.id,
|
|
647
|
-
vizData: oTile,
|
|
648
|
-
added: false,
|
|
649
|
-
systemLabel: sSystemLabel || ""
|
|
650
|
-
};
|
|
651
|
-
}.bind(this));
|
|
803
|
+
oUiModel.setProperty("/layoutType", sNewLayoutType);
|
|
804
|
+
oUiModel.setProperty("/categoryTree/hasData", bCategoryTreeHasData);
|
|
805
|
+
oUiModel.setProperty("/categoryTree/visible", bCategoryTreeVisible);
|
|
652
806
|
},
|
|
653
807
|
|
|
654
808
|
/**
|
|
655
|
-
* @typedef
|
|
809
|
+
* @typedef preparedVizualization
|
|
810
|
+
*
|
|
656
811
|
* @property {string} id The vizId.
|
|
657
812
|
* @property {string} appId The appId.
|
|
658
813
|
* @property {string} icon The icon src.
|
|
659
814
|
* @property {string} info The info string.
|
|
815
|
+
* @property {string} launchUrl The launch url for the visualization.
|
|
660
816
|
* @property {string} subtitle The subtitle.
|
|
661
817
|
* @property {string} title The title.
|
|
662
818
|
* @property {string} type The type.
|
|
663
|
-
* @property {object} manifest The card manifest (descriptor).
|
|
664
819
|
* @property {string} dataHelpId The data-help-id for the assistant.
|
|
665
820
|
* @property {object} vizData The whole vizData object.
|
|
821
|
+
* @property {boolean} added The added flag. True if the visualization was already added to the cell.
|
|
822
|
+
* @property {string} systemLabel The system label.
|
|
666
823
|
*/
|
|
667
824
|
|
|
668
825
|
/**
|
|
669
|
-
* Prepares
|
|
826
|
+
* Prepares visualizations from the visualizationData and enriches them.
|
|
670
827
|
*
|
|
671
828
|
* @param {object[]} aVisualizationData The visualizationData from the consumer
|
|
672
|
-
* @returns {
|
|
829
|
+
* @returns {preparedVizualization[]} The prepared visualizations
|
|
673
830
|
* @since 1.113.0
|
|
674
831
|
* @private
|
|
675
832
|
*/
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
return aCardsData.map(function (oCard) {
|
|
682
|
-
if (!oCard.descriptor || !oCard.descriptor.value) {
|
|
683
|
-
Log.error("No descriptor available. Cannot load this card!", null, this.logComponent);
|
|
684
|
-
return;
|
|
833
|
+
_prepareVisualizations: function (aVisualizationData) {
|
|
834
|
+
return aVisualizationData.reduce((aResult, oViz) => {
|
|
835
|
+
if (!oViz?.descriptor || !oViz?.descriptor?.value) {
|
|
836
|
+
Log.error("No descriptor available. Cannot load this visualization.", null, this.logComponent);
|
|
837
|
+
return aResult;
|
|
685
838
|
}
|
|
686
839
|
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
return {
|
|
691
|
-
id: oCard.id,
|
|
692
|
-
appId: sAppID,
|
|
693
|
-
icon: ObjectPath.get("icons.icon", oCard.descriptor.value["sap.ui"]) || "",
|
|
694
|
-
info: oCardSapApp && oCardSapApp.info || "",
|
|
695
|
-
subtitle: oCardSapApp && oCardSapApp.subTitle || "",
|
|
696
|
-
title: oCardSapApp && oCardSapApp.title || "",
|
|
697
|
-
type: oCard.type,
|
|
698
|
-
manifest: oCard.descriptor.value,
|
|
699
|
-
dataHelpId: oCard.id,
|
|
700
|
-
vizData: oCard
|
|
701
|
-
};
|
|
702
|
-
}.bind(this));
|
|
703
|
-
},
|
|
704
|
-
|
|
705
|
-
/**
|
|
706
|
-
* Updates the added flag of the currently available visualizations.
|
|
707
|
-
*
|
|
708
|
-
* @since 1.113.0
|
|
709
|
-
* @private
|
|
710
|
-
*/
|
|
711
|
-
_updateVisualizationsRestricted: function () {
|
|
712
|
-
var oModel = this.getModel();
|
|
713
|
-
var aRestrictedVisualizations = oModel.getProperty("/appSearch/restrictedVisualizations");
|
|
714
|
-
var aTiles = oModel.getProperty("/appSearch/visualizations/tiles");
|
|
840
|
+
const oVizSapApp = oViz.descriptor.value["sap.app"];
|
|
841
|
+
const oVizSapFiori = oViz.descriptor.value["sap.fiori"];
|
|
715
842
|
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
843
|
+
let sAppID = "";
|
|
844
|
+
if (oVizSapFiori?.registrationIds[0]) {
|
|
845
|
+
sAppID = oVizSapFiori.registrationIds[0];
|
|
846
|
+
} else if (oVizSapApp?.id) {
|
|
847
|
+
sAppID = oVizSapApp.id;
|
|
848
|
+
}
|
|
720
849
|
|
|
721
|
-
|
|
850
|
+
let sLaunchUrl;
|
|
851
|
+
if (oViz.targetAppIntent) {
|
|
852
|
+
sLaunchUrl = utilsCdm.toHashFromTargetIntent(oViz.targetAppIntent, oViz.descriptor.value["sap.flp"]?.target);
|
|
853
|
+
}
|
|
722
854
|
|
|
855
|
+
aResult.push({
|
|
856
|
+
id: oViz.id,
|
|
857
|
+
appId: sAppID,
|
|
858
|
+
icon: ObjectPath.get("icons.icon", oViz.descriptor.value["sap.ui"]) || "",
|
|
859
|
+
info: oVizSapApp && oVizSapApp.info || "",
|
|
860
|
+
launchUrl: sLaunchUrl || "",
|
|
861
|
+
subtitle: oVizSapApp && oVizSapApp.subTitle || "",
|
|
862
|
+
title: oVizSapApp && oVizSapApp.title || "",
|
|
863
|
+
type: oViz.type,
|
|
864
|
+
dataHelpId: oViz.id,
|
|
865
|
+
vizData: oViz,
|
|
866
|
+
added: false,
|
|
867
|
+
systemLabel: oViz.systemLabel || ""
|
|
868
|
+
});
|
|
869
|
+
return aResult;
|
|
870
|
+
}, []);
|
|
723
871
|
}
|
|
724
872
|
});
|
|
725
873
|
});
|