@sapui5/sap.ushell_abap 1.149.0 → 1.150.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.
Files changed (42) hide show
  1. package/package.json +1 -1
  2. package/src/main/js/sap/ushell_abap/.library +1 -1
  3. package/src/main/js/sap/ushell_abap/adapters/abap/AppStateAdapter.js +1 -1
  4. package/src/main/js/sap/ushell_abap/adapters/abap/ClientSideTargetResolutionAdapter.js +1 -1
  5. package/src/main/js/sap/ushell_abap/adapters/abap/CommonDataModelAdapter.js +1 -1
  6. package/src/main/js/sap/ushell_abap/adapters/abap/ConfigurationDefaultsAdapter.js +1 -1
  7. package/src/main/js/sap/ushell_abap/adapters/abap/ContainerAdapter.js +1 -1
  8. package/src/main/js/sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter.js +1 -1
  9. package/src/main/js/sap/ushell_abap/adapters/abap/LaunchPageAdapter.js +1 -1
  10. package/src/main/js/sap/ushell_abap/adapters/abap/MenuAdapter.js +1 -1
  11. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionAdapter.js +1 -1
  12. package/src/main/js/sap/ushell_abap/adapters/abap/NavTargetResolutionInternalAdapter.js +1 -1
  13. package/src/main/js/sap/ushell_abap/adapters/abap/PageBuildingAdapter.js +1 -1
  14. package/src/main/js/sap/ushell_abap/adapters/abap/PagePersistenceAdapter.js +1 -1
  15. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationAdapter.js +1 -1
  16. package/src/main/js/sap/ushell_abap/adapters/abap/PersonalizationV2Adapter.js +1 -1
  17. package/src/main/js/sap/ushell_abap/adapters/abap/SearchAdapter.js +1 -1
  18. package/src/main/js/sap/ushell_abap/adapters/abap/SupportTicketAdapter.js +1 -1
  19. package/src/main/js/sap/ushell_abap/adapters/abap/Ui5ComponentLoaderAdapter.js +1 -1
  20. package/src/main/js/sap/ushell_abap/adapters/hana/ContainerAdapter.js +1 -1
  21. package/src/main/js/sap/ushell_abap/bootstrap/LoadLaunchpad/InitXhrLogon.js +17 -25
  22. package/src/main/js/sap/ushell_abap/bootstrap/ThemeHandler.js +34 -2
  23. package/src/main/js/sap/ushell_abap/bootstrap/abapConstants.js +1 -1
  24. package/src/main/js/sap/ushell_abap/library.js +2 -3
  25. package/src/main/js/sap/ushell_abap/messagebundle.properties +7 -0
  26. package/src/main/js/sap/ushell_abap/themes/base/.theming +4 -0
  27. package/src/main/js/sap/ushell_abap/themes/base/LogonFrameProvider.less +27 -0
  28. package/src/main/js/sap/ushell_abap/themes/base/library.source.less +5 -0
  29. package/src/main/js/sap/ushell_abap/themes/sap_fiori_3/.theming +6 -0
  30. package/src/main/js/sap/ushell_abap/themes/sap_fiori_3/library.source.less +2 -0
  31. package/src/main/js/sap/ushell_abap/themes/sap_fiori_3_dark/.theming +6 -0
  32. package/src/main/js/sap/ushell_abap/themes/sap_fiori_3_dark/library.source.less +2 -0
  33. package/src/main/js/sap/ushell_abap/themes/sap_fiori_3_hcb/.theming +6 -0
  34. package/src/main/js/sap/ushell_abap/themes/sap_fiori_3_hcb/library.source.less +2 -0
  35. package/src/main/js/sap/ushell_abap/themes/sap_horizon/.theming +6 -0
  36. package/src/main/js/sap/ushell_abap/themes/sap_horizon/library.source.less +2 -0
  37. package/src/main/js/sap/ushell_abap/themes/sap_horizon_dark/.theming +6 -0
  38. package/src/main/js/sap/ushell_abap/themes/sap_horizon_dark/library.source.less +2 -0
  39. package/src/main/js/sap/ushell_abap/themes/sap_horizon_hcb/.theming +6 -0
  40. package/src/main/js/sap/ushell_abap/themes/sap_horizon_hcb/library.source.less +2 -0
  41. package/src/main/js/sap/ushell_abap/ui/logon/LogonFrameProvider.js +92 -0
  42. package/ui5.yaml +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ushell_abap",
3
- "version": "1.149.0",
3
+ "version": "1.150.0",
4
4
  "description": "SAPUI5 Library sap.ushell_abap",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "SEE LICENSE IN LICENSE.txt",
@@ -2,7 +2,7 @@
2
2
  <library xmlns="http://www.sap.com/sap.ui.library.xsd">
3
3
  <name>sap.ushell_abap</name>
4
4
  <vendor>SAP SE</vendor>
5
- <version>1.149.0</version>
5
+ <version>1.150.0</version>
6
6
  <copyright>Copyright (c) 2009-2026 SAP SE, All Rights Reserved</copyright>
7
7
  <documentation>SAP library: sap.ushell_abap</documentation>
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's AppStateAdapter for the ABAP platform.
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -9,7 +9,7 @@
9
9
  * <li>provide the resolveHashFragmentFallback function, a fallback method called by ClientSideTargetResolution service.</li>
10
10
  * </ul>
11
11
  *
12
- * @version 1.149.0
12
+ * @version 1.150.0
13
13
  */
14
14
  sap.ui.define([
15
15
  "sap/base/util/ObjectPath",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's CommonDataModelAdapter for the ABAP platform, it is used to avoid 404 when no adapter is found
4
4
  *
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  ], () => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The ConfigurationDefaults adapter for the ABAP platform.
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ushell_abap/bootstrap/abapConstants",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's container adapter for the ABAP platform.
4
4
  *
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/ui/thirdparty/jquery",
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileoverview The Unified Shell's page building adapter for the ABAP platform. Private copy. Classical home page functions are deprecated.
5
5
  * @since 1.121
6
- * @version 1.149.0
6
+ * @version 1.150.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/URI",
@@ -4,7 +4,7 @@
4
4
  * @fileOverview The Unified Shell's page building adapter for the ABAP platform.
5
5
  *
6
6
  * @deprecated since 1.100
7
- * @version 1.149.0
7
+ * @version 1.150.0
8
8
  */
9
9
  sap.ui.define([
10
10
  "sap/ushell_abap/adapters/abap/FlpLaunchPageAdapter"
@@ -199,7 +199,7 @@ sap.ui.define([
199
199
  if (aSubMenuEntries.length > 1) {
200
200
  oTopMenuEntry.menuEntries = aSubMenuEntries;
201
201
 
202
- if (Config.last("/abap/spaces/spaceOverview/enabled")) {
202
+ if (Config.last("/abap/spaces/spaceOverview/enabled") && oSpace.hasWorkarea) {
203
203
  oTopMenuEntry.target.semanticObject = "Launchpad";
204
204
  oTopMenuEntry.target.action = "openSpaceOverview";
205
205
  oTopMenuEntry.target.parameters = [
@@ -8,7 +8,7 @@
8
8
  * service now calls the ClientSideTargetResolution service in the ABAP
9
9
  * platform.
10
10
  *
11
- * @version 1.149.0
11
+ * @version 1.150.0
12
12
  */
13
13
  sap.ui.define([], () => {
14
14
  "use strict";
@@ -8,7 +8,7 @@
8
8
  * service now calls the ClientSideTargetResolution service in the ABAP
9
9
  * platform.
10
10
  *
11
- * @version 1.149.0
11
+ * @version 1.150.0
12
12
  * @since 1.121
13
13
  */
14
14
  sap.ui.define([], () => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Unified Shell's page building adapter for the ABAP platform.
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/ObjectPath",
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview PagePersistenceAdapter for the ABAP platform.
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/i18n/Localization",
@@ -7,7 +7,7 @@
7
7
  * Container header properties transported via pseudo-items are mapped to the
8
8
  * respective header properties in setItem/getItem/delItem
9
9
  *
10
- * @version 1.149.0
10
+ * @version 1.150.0
11
11
  */
12
12
  sap.ui.define([
13
13
  "sap/ushell_abap/adapters/abap/AdapterContainer",
@@ -7,7 +7,7 @@
7
7
  * Container header properties transported via pseudo-items are mapped to the
8
8
  * respective header properties in setItem/getItem/delItem
9
9
  *
10
- * @version 1.149.0
10
+ * @version 1.150.0
11
11
  */
12
12
  sap.ui.define([
13
13
  "./PersonalizationAdapter"
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The Search adapter for the ABAP platform.
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([], () => {
8
8
  "use strict";
@@ -2,7 +2,7 @@
2
2
 
3
3
  /**
4
4
  * @fileOverview The SupportTicket adapter for the ABAP platform.
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  "sap/base/util/isEmptyObject",
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @fileOverview The Unified Shell's Ui5ComponentLoaderAdapter for the ABAP platform
4
4
  *
5
- * @version 1.149.0
5
+ * @version 1.150.0
6
6
  */
7
7
  sap.ui.define([
8
8
  ], () => {
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * @fileOverview The Unified Shell's container adapter for the HANA platform.
5
5
  *
6
- * @version 1.149.0
6
+ * @version 1.150.0
7
7
  */
8
8
  sap.ui.define([
9
9
  "sap/ui/thirdparty/jquery",
@@ -5,13 +5,15 @@
5
5
  sap.ui.define([
6
6
  "sap/base/Log",
7
7
  "sap/ushell_abap/bootstrap/XhrLogonEventHandler",
8
- "sap/ushell_abap/bootstrap/XhrLogonLibLoader",
8
+ "sap/ushell_abap/bootstrap/XhrLogonLibLoader", // triggers loading of the XHR logon lib, once required
9
+ "sap/ushell_abap/ui/logon/LogonFrameProvider",
9
10
  "sap/ushell/Container",
10
11
  "sap/ushell/Config"
11
12
  ], (
12
13
  Log,
13
14
  XhrLogonEventHandler,
14
15
  XhrLogonLibLoader,
16
+ LogonFrameProvider,
15
17
  Container,
16
18
  Config
17
19
  ) => {
@@ -34,10 +36,7 @@ sap.ui.define([
34
36
  * @private
35
37
  */
36
38
  async run () {
37
- await Promise.all([
38
- this.#initXhrLogon(),
39
- this.#initFrameLogonManager()
40
- ]);
39
+ await this.#initXhrLogon();
41
40
  }
42
41
 
43
42
  /**
@@ -78,32 +77,25 @@ sap.ui.define([
78
77
 
79
78
  oXhrLogonLib.start(oXhrLibConfig);
80
79
 
81
- if (sLogonMode === "reload" || sLogonMode === "logoffAndRedirect") {
82
- oLogonManager.unregisterAllHandlers();
83
- oLogonManager.registerAuthHandler("*", (oEvent) => {
84
- oXhrLogonEventHandler.handleEvent(oEvent);
85
- });
86
- } else if (sLogonMode !== "frame") {
87
- Log.warning(`Unknown setting for xhrLogonMode: '${sLogonMode}'. Using default mode 'frame'.`, null, "sap.ushell_abap.bootstrap.XhrLogon");
80
+ switch (sLogonMode) {
81
+ case "frame":
82
+ oXhrLogonLib.FrameLogonManager.getInstance().logonFrameProvider = LogonFrameProvider;
83
+ break;
84
+ case "reload": // same as "logoffAndRedirect"
85
+ case "logoffAndRedirect":
86
+ oLogonManager.unregisterAllHandlers();
87
+ oLogonManager.registerAuthHandler("*", (oEvent) => {
88
+ oXhrLogonEventHandler.handleEvent(oEvent);
89
+ });
90
+ break;
91
+ default:
92
+ Log.warning(`Unknown setting for xhrLogonMode: '${sLogonMode}'. Using default mode 'frame'.`, null, "sap.ushell_abap.bootstrap.XhrLogon");
88
93
  }
89
94
 
90
95
  oXhrLogonLib.Log.set(this.#createUi5ConnectedXhrLogger());
91
96
  this.#initXhrLogonIgnoreList(oXHRLogonManager);
92
97
  }
93
98
 
94
- /**
95
- * Initializes the XHR logon lib by storing the instance of the logon manager in the Container.
96
- * This is later used to have indirect access to the logon manager.
97
- *
98
- * @since 1.147.0
99
- * @private
100
- */
101
- async #initFrameLogonManager () {
102
- const oXhrLogonLib = await XhrLogonLibLoader.getLib();
103
- const oFrameLogonManager = oXhrLogonLib.FrameLogonManager.getInstance();
104
- Container.oFrameLogonManager = oFrameLogonManager;
105
- }
106
-
107
99
  /**
108
100
  * Creates a logger for XMLHttpRequest(s) that logs errors, warnings, info and debug messages via Log.
109
101
  * @returns {object} A logger that can be assigned to XMLHttpRequest.
@@ -55,9 +55,11 @@ sap.ui.define([
55
55
  if (!sThemeRoot && oStartupConfig.client) {
56
56
  sThemeRoot = `/sap/public/bc/themes/~client-${oStartupConfig.client}`;
57
57
  }
58
+
59
+ // when providing theme root to UI5 we need to add the technology specific ending
58
60
  if (sThemeRoot && !sTheme.startsWith("sap_")) { // set the theme root for the custom theme only
59
61
  oThemeRoots = {};
60
- oThemeRoots[sTheme] = sThemeRoot.replace(/\/?$/, "/UI5/"); // Add /UI5/, theme roots from ABAP theming service do not contain UI5 at the end.
62
+ oThemeRoots[sTheme] = sThemeRoot.replace(/\/?$/, "/UI5/");
61
63
  }
62
64
  return {
63
65
  theme: sTheme,
@@ -189,6 +191,36 @@ sap.ui.define([
189
191
  }
190
192
  }
191
193
 
194
+ /**
195
+ * Sanitizes a configured theme root.
196
+ *
197
+ * The theme root is technology agnostic: the UI5 specific ending is stripped if present, and any single trailing slash
198
+ * is removed so the value can be safely concatenated with a technology specific
199
+ * ending.
200
+ *
201
+ * @param {string} [sThemeRoot] the configured theme root
202
+ * @returns {string} the sanitized theme root, never <code>undefined</code>
203
+ * @private
204
+ */
205
+ #sanitizeThemeRoot (sThemeRoot) {
206
+ if (!sThemeRoot) {
207
+ return "";
208
+ }
209
+
210
+ // first ensure no trailing slash
211
+ if (sThemeRoot.endsWith("/")) {
212
+ sThemeRoot = sThemeRoot.substring(0, sThemeRoot.length - 1);
213
+ }
214
+
215
+ // second ensure no trailing technology
216
+ if (sThemeRoot.endsWith("/UI5")) {
217
+ Log.error("Configured ThemeRoot contained technology specific ending. Removing it for further processing.", null, "sap.ushell_abap.bootstrap");
218
+ sThemeRoot = sThemeRoot.substring(0, sThemeRoot.length - "/UI5".length);
219
+ }
220
+
221
+ return sThemeRoot;
222
+ }
223
+
192
224
  /**
193
225
  * Determines the theme root for a given theme, based on the container adapter config or fallback logic.
194
226
  * @param {string} sTheme The name of the theme for which to determine the theme root
@@ -225,7 +257,7 @@ sap.ui.define([
225
257
  Log.error("extractSystemThemeRoot: Could not determine system theme root");
226
258
  }
227
259
 
228
- return sSystemThemeRoot;
260
+ return this.#sanitizeThemeRoot(sSystemThemeRoot);
229
261
  }
230
262
 
231
263
  /**
@@ -13,7 +13,7 @@ sap.ui.define([
13
13
  */ // eslint-disable-next-line no-constant-condition
14
14
  if (true) {
15
15
  return {
16
- enabled: true,
16
+ enabled: false,
17
17
  coreResources: [
18
18
  "sap/ushell_abap/bootstrap/evo/core-min-0.js",
19
19
  "sap/ushell_abap/bootstrap/evo/core-min-1.js",
@@ -32,13 +32,12 @@ sap.ui.define([
32
32
  const ushellAbapLib = Library.init({
33
33
  name: "sap.ushell_abap",
34
34
  apiVersion: 2,
35
- version: "1.149.0",
35
+ version: "1.150.0",
36
36
  dependencies: [
37
37
  "sap.ui.core",
38
38
  "sap.m",
39
39
  "sap.ushell"
40
- ],
41
- noLibraryCSS: true
40
+ ]
42
41
  });
43
42
 
44
43
  return ushellAbapLib;
@@ -0,0 +1,7 @@
1
+ #This is the resource bundle for the sap.ushell_abap library
2
+ #__ldi.translation.uuid=865e4af1-8cca-465c-8b85-97f19b98ef6a
3
+
4
+ #XBUT: Close button for the SAML authentication dialog
5
+ samlCloseBtn=Close
6
+ #XTIT: Title of the SAML authentication dialog
7
+ samlDialogTitle=Authentication Information
@@ -0,0 +1,4 @@
1
+ {
2
+ "sEntity":"Theme",
3
+ "sId":"base"
4
+ }
@@ -0,0 +1,27 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ /* CSS for the LogonFrameProvider*/
3
+
4
+ .sapUshellIframeDialog .sapMDialogScrollCont {
5
+ height: 100%;
6
+ overflow: hidden;
7
+ }
8
+
9
+ .sapUshellSamlDialogHidden {
10
+ visibility: hidden !important;
11
+ }
12
+
13
+ #SAMLDialog #SAMLDialog-scrollCont {
14
+ position: absolute;
15
+ top: 0;
16
+ left: 0;
17
+ right: 0;
18
+ bottom: 0;
19
+ }
20
+
21
+ #SAMLDialogFrame {
22
+ box-sizing: border-box;
23
+ height: 100%;
24
+ width: 100%;
25
+ position: absolute;
26
+ border: none;
27
+ }
@@ -0,0 +1,5 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ @import "../../../../sap/ui/core/themes/base/base.less";
3
+ @import "../../../../sap/ui/core/themes/base/global.less";
4
+
5
+ @import "LogonFrameProvider.less";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sEntity" : "Theme",
3
+ "sId" : "sap_fiori_3",
4
+ "sLabel" : "SAP Quartz Light",
5
+ "sVendor" : "SAP"
6
+ }
@@ -0,0 +1,2 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ @import "../base/library.source.less";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sEntity" : "Theme",
3
+ "sId" : "sap_fiori_3_dark",
4
+ "sLabel" : "SAP Quartz Dark",
5
+ "sVendor" : "SAP"
6
+ }
@@ -0,0 +1,2 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ @import "../base/library.source.less";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sEntity" : "Theme",
3
+ "sId" : "sap_fiori_3_hcb",
4
+ "sLabel" : "SAP Quartz High Contrast Black",
5
+ "sVendor" : "SAP"
6
+ }
@@ -0,0 +1,2 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ @import "../base/library.source.less";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sEntity" : "Theme",
3
+ "sId" : "sap_horizon",
4
+ "sLabel" : "SAP Morning Horizon",
5
+ "sVendor" : "SAP"
6
+ }
@@ -0,0 +1,2 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ @import "../base/library.source.less";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sEntity" : "Theme",
3
+ "sId" : "sap_horizon_dark",
4
+ "sLabel" : "SAP Evening Horizon",
5
+ "sVendor" : "SAP"
6
+ }
@@ -0,0 +1,2 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ @import "../base/library.source.less";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sEntity" : "Theme",
3
+ "sId" : "sap_horizon_hcb",
4
+ "sLabel" : "SAP High Contrast Black (SAP Horizon)",
5
+ "sVendor" : "SAP"
6
+ }
@@ -0,0 +1,2 @@
1
+ /* Copyright (c) 2009-2026 SAP SE, All Rights Reserved */
2
+ @import "../base/library.source.less";
@@ -0,0 +1,92 @@
1
+ // Copyright (c) 2009-2026 SAP SE, All Rights Reserved
2
+
3
+ // Create logon dialog with iFrame window as contents for SAML2 scenarios
4
+ sap.ui.define([
5
+ "sap/m/Button",
6
+ "sap/m/Dialog",
7
+ "sap/ui/core/Element",
8
+ "sap/ui/core/HTML",
9
+ "sap/ui/core/Lib",
10
+ "sap/ushell/Config",
11
+ "sap/ushell/ui/footerbar/ContactSupportButton",
12
+ "sap/ushell_abap/bootstrap/XhrLogonLibLoader"
13
+ ], (
14
+ Button,
15
+ Dialog,
16
+ Element,
17
+ HTML,
18
+ Lib,
19
+ Config,
20
+ ContactSupportButton,
21
+ XhrLogonLibLoader
22
+ ) => {
23
+ "use strict";
24
+
25
+ function toggleBlockLayerCSS (bHidden) {
26
+ const oBlockLayer = document.getElementById("sap-ui-blocklayer-popup");
27
+ if (oBlockLayer) {
28
+ if (bHidden) {
29
+ oBlockLayer.classList.add("sapUshellSamlDialogHidden");
30
+ } else {
31
+ oBlockLayer.classList.remove("sapUshellSamlDialogHidden");
32
+ }
33
+ }
34
+ }
35
+
36
+ function destroyIFrameDialog () {
37
+ const oDialog = Element.getElementById("SAMLDialog");
38
+ if (oDialog) {
39
+ oDialog.destroy();
40
+ }
41
+ }
42
+
43
+ function createIFrameDialog () {
44
+ // A new dialog wrapper with a new inner iframe will be created each time.
45
+ destroyIFrameDialog();
46
+
47
+ // create new iframe and add it to the Dialog HTML control
48
+ const oBundle = Lib.getResourceBundleFor("sap.ushell_abap");
49
+ const oDialog = new Dialog({
50
+ id: "SAMLDialog",
51
+ title: oBundle.getText("samlDialogTitle"),
52
+ contentWidth: "50%",
53
+ contentHeight: "50%",
54
+ content: new HTML("SAMLDialogFrame", {content: "<iframe id=SAMLDialogFrame src=\"\" allow=\"local-network-access *\"></iframe>"}),
55
+ endButton: new Button({
56
+ id: "SAMLDialogCloseBtn",
57
+ text: oBundle.getText("samlCloseBtn"),
58
+ press: () => { XhrLogonLibLoader.getLib().then((oXhrLogonLib) => { oXhrLogonLib.FrameLogonManager.getInstance().abortLogon(); }); }
59
+ })
60
+ }).addStyleClass("sapUshellIframeDialog sapContrastPlus sapUshellSamlDialogHidden");
61
+
62
+ if (Config.last("/core/extension/SupportTicket")) { // Contact Support button
63
+ const oContactSupportBtn = new ContactSupportButton();
64
+ oContactSupportBtn.setWidth("150px");
65
+ oContactSupportBtn.setIcon("");
66
+ oDialog.setBeginButton(oContactSupportBtn);
67
+ }
68
+ oDialog.open();
69
+
70
+ // Make sure to manipulate css properties after the dialog is rendered.
71
+ toggleBlockLayerCSS(true);
72
+
73
+ return document.getElementById("SAMLDialogFrame"); // returns the iframe element so that the logonManager can set src
74
+ }
75
+
76
+ function showIFrameDialog () {
77
+ // remove css class of dialog
78
+ const oDialog = Element.getElementById("SAMLDialog");
79
+ if (oDialog) {
80
+ oDialog.removeStyleClass("sapUshellSamlDialogHidden");
81
+ toggleBlockLayerCSS(true);
82
+ }
83
+ }
84
+
85
+ const LogonFrameProvider = {
86
+ create: createIFrameDialog,
87
+ show: showIFrameDialog,
88
+ destroy: destroyIFrameDialog
89
+ };
90
+
91
+ return LogonFrameProvider;
92
+ });
package/ui5.yaml CHANGED
@@ -454,7 +454,7 @@ builder:
454
454
  - sap/ushell/renderer/Shell.controller.js
455
455
  - sap/ushell/renderer/Shell.view.js
456
456
  - sap/ushell/renderer/shellHeader/ShellHeader.fragment.xml
457
- - sap/ushell/renderers/fiori2/LogonFrameProvider.js
457
+ - sap/ushell_abap/ui/logon/LogonFrameProvider.js
458
458
  - sap/ushell/renderers/fiori2/Renderer.js
459
459
  - sap/ushell/renderers/fiori2/RendererExtensions.js
460
460
  - sap/ushell/renderers/fiori2/Shell.controller.js