diff --git a/packages/base/src/features/OpenUI5Support.ts b/packages/base/src/features/OpenUI5Support.ts index 912f10721bd3..8fa497d8bb5c 100644 --- a/packages/base/src/features/OpenUI5Support.ts +++ b/packages/base/src/features/OpenUI5Support.ts @@ -19,6 +19,7 @@ type OpenUI5CoreConfiguration = { getAnimationMode: () => string, getLanguage: () => string, getTheme: () => string, + getThemeRoot: () => string, getRTL: () => string, getTimezone: () => string, getCalendarType: () => string, @@ -41,6 +42,10 @@ type Locale = { _get: () => CLDRData, }; +type VersionUtil = (version: string) => { + compareTo: (version: string) => number, +}; + const getCore = () => { return window.sap?.ui?.getCore?.() as OpenUI5Core; }; @@ -57,10 +62,19 @@ class OpenUI5Support { } return new Promise(resolve => { - core.attachInit(() => { - window.sap.ui.require(["sap/ui/core/Popup", "sap/ui/core/LocaleData", "sap/ui/core/Theming"], (Popup: OpenUI5Popup) => { - Popup.setInitialZIndex(getCurrentZIndex()); - resolve(); + const deps: Array = ["sap/ui/core/Popup", "sap/ui/core/LocaleData"]; + const version: string = window.sap.ui.version || ""; + + window.sap.ui.require(["sap/base/util/Version"], (VersionUtil: VersionUtil) => { + if (VersionUtil(version).compareTo("1.116.0") >= 0) { // for versions since 1.116.0 and onward, use the Theming module + deps.push("sap/ui/core/Theming"); + } + + core.attachInit(() => { + window.sap.ui.require(deps, (Popup: OpenUI5Popup) => { + Popup.setInitialZIndex(getCurrentZIndex()); + resolve(); + }); }); }); }); @@ -80,7 +94,7 @@ class OpenUI5Support { animationMode: config.getAnimationMode(), language: config.getLanguage(), theme: config.getTheme(), - themeRoot: Theming.getThemeRoot(), + themeRoot: config.getThemeRoot ? config.getThemeRoot() : Theming.getThemeRoot(), // Theming is the newer API, but not released yet (available on nightly snapshot). Remove "config.getThemeRoot" after Theming is released. rtl: config.getRTL(), timezone: config.getTimezone(), calendarType: config.getCalendarType(), diff --git a/packages/main/test/pages/OpenUI5.html b/packages/main/test/pages/OpenUI5.html index e475208447fc..6cbd18902abc 100644 --- a/packages/main/test/pages/OpenUI5.html +++ b/packages/main/test/pages/OpenUI5.html @@ -4,10 +4,10 @@ - OpenUI5 + UI5 Web Components + OpenUI5 Latest Stable + UI5 Web Components + + + + + + + + + + + + + Web Component + + +
+ +