@openui5/sap.ui.documentation 1.131.1 → 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.
Files changed (182) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +7 -7
  3. package/src/sap/ui/documentation/.library +2 -2
  4. package/src/sap/ui/documentation/BorrowedList.js +1 -1
  5. package/src/sap/ui/documentation/DemokitTreeItem.js +1 -1
  6. package/src/sap/ui/documentation/DemokitTreeItemRenderer.js +1 -1
  7. package/src/sap/ui/documentation/DivContainer.js +1 -1
  8. package/src/sap/ui/documentation/JSDocText.js +1 -1
  9. package/src/sap/ui/documentation/JSDocType.js +72 -0
  10. package/src/sap/ui/documentation/LightTable.js +1 -1
  11. package/src/sap/ui/documentation/ObjectPageSubSection.js +1 -1
  12. package/src/sap/ui/documentation/ParamText.js +1 -1
  13. package/src/sap/ui/documentation/Row.js +1 -1
  14. package/src/sap/ui/documentation/Search.js +1 -1
  15. package/src/sap/ui/documentation/TitleLink.js +1 -1
  16. package/src/sap/ui/documentation/WebPageTitleUtil.js +1 -1
  17. package/src/sap/ui/documentation/library.js +3 -3
  18. package/src/sap/ui/documentation/messagebundle.properties +11 -3
  19. package/src/sap/ui/documentation/messagebundle_ar.properties +6 -3
  20. package/src/sap/ui/documentation/messagebundle_bg.properties +6 -3
  21. package/src/sap/ui/documentation/messagebundle_ca.properties +6 -3
  22. package/src/sap/ui/documentation/messagebundle_cnr.properties +6 -3
  23. package/src/sap/ui/documentation/messagebundle_cs.properties +6 -3
  24. package/src/sap/ui/documentation/messagebundle_cy.properties +6 -3
  25. package/src/sap/ui/documentation/messagebundle_da.properties +6 -3
  26. package/src/sap/ui/documentation/messagebundle_de.properties +6 -3
  27. package/src/sap/ui/documentation/messagebundle_el.properties +6 -3
  28. package/src/sap/ui/documentation/messagebundle_en.properties +6 -3
  29. package/src/sap/ui/documentation/messagebundle_en_GB.properties +6 -3
  30. package/src/sap/ui/documentation/messagebundle_en_US_saprigi.properties +1 -0
  31. package/src/sap/ui/documentation/messagebundle_en_US_saptrc.properties +456 -452
  32. package/src/sap/ui/documentation/messagebundle_es.properties +6 -3
  33. package/src/sap/ui/documentation/messagebundle_es_MX.properties +6 -3
  34. package/src/sap/ui/documentation/messagebundle_et.properties +6 -3
  35. package/src/sap/ui/documentation/messagebundle_fi.properties +6 -3
  36. package/src/sap/ui/documentation/messagebundle_fr.properties +6 -3
  37. package/src/sap/ui/documentation/messagebundle_fr_CA.properties +6 -3
  38. package/src/sap/ui/documentation/messagebundle_hi.properties +6 -3
  39. package/src/sap/ui/documentation/messagebundle_hr.properties +6 -3
  40. package/src/sap/ui/documentation/messagebundle_hu.properties +6 -3
  41. package/src/sap/ui/documentation/messagebundle_id.properties +8 -5
  42. package/src/sap/ui/documentation/messagebundle_it.properties +6 -3
  43. package/src/sap/ui/documentation/messagebundle_iw.properties +6 -3
  44. package/src/sap/ui/documentation/messagebundle_ja.properties +6 -3
  45. package/src/sap/ui/documentation/messagebundle_kk.properties +6 -3
  46. package/src/sap/ui/documentation/messagebundle_ko.properties +6 -3
  47. package/src/sap/ui/documentation/messagebundle_lt.properties +6 -3
  48. package/src/sap/ui/documentation/messagebundle_lv.properties +6 -3
  49. package/src/sap/ui/documentation/messagebundle_mk.properties +6 -3
  50. package/src/sap/ui/documentation/messagebundle_ms.properties +6 -3
  51. package/src/sap/ui/documentation/messagebundle_nl.properties +6 -3
  52. package/src/sap/ui/documentation/messagebundle_no.properties +6 -3
  53. package/src/sap/ui/documentation/messagebundle_pl.properties +6 -3
  54. package/src/sap/ui/documentation/messagebundle_pt.properties +6 -3
  55. package/src/sap/ui/documentation/messagebundle_pt_PT.properties +6 -3
  56. package/src/sap/ui/documentation/messagebundle_ro.properties +6 -3
  57. package/src/sap/ui/documentation/messagebundle_ru.properties +6 -3
  58. package/src/sap/ui/documentation/messagebundle_sh.properties +6 -3
  59. package/src/sap/ui/documentation/messagebundle_sk.properties +6 -3
  60. package/src/sap/ui/documentation/messagebundle_sl.properties +6 -3
  61. package/src/sap/ui/documentation/messagebundle_sr.properties +6 -3
  62. package/src/sap/ui/documentation/messagebundle_sv.properties +6 -3
  63. package/src/sap/ui/documentation/messagebundle_th.properties +6 -3
  64. package/src/sap/ui/documentation/messagebundle_tr.properties +6 -3
  65. package/src/sap/ui/documentation/messagebundle_uk.properties +6 -3
  66. package/src/sap/ui/documentation/messagebundle_vi.properties +6 -3
  67. package/src/sap/ui/documentation/messagebundle_zh_CN.properties +6 -3
  68. package/src/sap/ui/documentation/messagebundle_zh_TW.properties +6 -3
  69. package/src/sap/ui/documentation/sdk/Component.js +26 -13
  70. package/src/sap/ui/documentation/sdk/blocks/IndexEntry.js +1 -1
  71. package/src/sap/ui/documentation/sdk/blocks/IndexEntryController.controller.js +1 -1
  72. package/src/sap/ui/documentation/sdk/controller/ApiDetail.controller.js +2 -2
  73. package/src/sap/ui/documentation/sdk/controller/ApiDetailIndexDeprecatedExperimental.controller.js +1 -1
  74. package/src/sap/ui/documentation/sdk/controller/ApiDetailInitial.controller.js +1 -1
  75. package/src/sap/ui/documentation/sdk/controller/ApiMaster.controller.js +7 -5
  76. package/src/sap/ui/documentation/sdk/controller/App.controller.js +33 -32
  77. package/src/sap/ui/documentation/sdk/controller/BPSupport.controller.js +1 -1
  78. package/src/sap/ui/documentation/sdk/controller/BaseController.js +52 -9
  79. package/src/sap/ui/documentation/sdk/controller/Code.controller.js +1 -1
  80. package/src/sap/ui/documentation/sdk/controller/Controls.controller.js +1 -1
  81. package/src/sap/ui/documentation/sdk/controller/ControlsMaster.controller.js +1 -1
  82. package/src/sap/ui/documentation/sdk/controller/DemoApps.controller.js +1 -1
  83. package/src/sap/ui/documentation/sdk/controller/Downloads.controller.js +1 -1
  84. package/src/sap/ui/documentation/sdk/controller/Entity.controller.js +1 -1
  85. package/src/sap/ui/documentation/sdk/controller/ErrorHandler.js +1 -1
  86. package/src/sap/ui/documentation/sdk/controller/Group.controller.js +1 -1
  87. package/src/sap/ui/documentation/sdk/controller/License.controller.js +1 -1
  88. package/src/sap/ui/documentation/sdk/controller/LiveEditor.controller.js +1 -1
  89. package/src/sap/ui/documentation/sdk/controller/MasterTreeBaseController.js +3 -3
  90. package/src/sap/ui/documentation/sdk/controller/News.controller.js +1 -1
  91. package/src/sap/ui/documentation/sdk/controller/NotFound.controller.js +1 -1
  92. package/src/sap/ui/documentation/sdk/controller/ReleaseNotes.controller.js +3 -2
  93. package/src/sap/ui/documentation/sdk/controller/Resources.controller.js +1 -1
  94. package/src/sap/ui/documentation/sdk/controller/Sample.controller.js +1 -1
  95. package/src/sap/ui/documentation/sdk/controller/SampleBaseController.js +1 -1
  96. package/src/sap/ui/documentation/sdk/controller/SampleNotFound.controller.js +1 -1
  97. package/src/sap/ui/documentation/sdk/controller/SearchPage.controller.js +8 -2
  98. package/src/sap/ui/documentation/sdk/controller/Sitemap.controller.js +1 -1
  99. package/src/sap/ui/documentation/sdk/controller/SubApiDetail.controller.js +1 -2
  100. package/src/sap/ui/documentation/sdk/controller/TermsOfUse.controller.js +1 -1
  101. package/src/sap/ui/documentation/sdk/controller/TopicDetail.controller.js +18 -33
  102. package/src/sap/ui/documentation/sdk/controller/TopicDetailInitial.controller.js +1 -1
  103. package/src/sap/ui/documentation/sdk/controller/TopicMaster.controller.js +5 -4
  104. package/src/sap/ui/documentation/sdk/controller/VersionNotFound.controller.js +1 -1
  105. package/src/sap/ui/documentation/sdk/controller/Welcome.controller.js +1 -1
  106. package/src/sap/ui/documentation/sdk/controller/config/datatable.js +1 -1
  107. package/src/sap/ui/documentation/sdk/controller/config/sampleForwardingConfig.js +1 -1
  108. package/src/sap/ui/documentation/sdk/controller/util/APIInfo.js +1 -1
  109. package/src/sap/ui/documentation/sdk/controller/util/ConfigUtil.js +1 -1
  110. package/src/sap/ui/documentation/sdk/controller/util/ControlsInfo.js +1 -1
  111. package/src/sap/ui/documentation/sdk/controller/util/CookiesConsentManager.js +332 -0
  112. package/src/sap/ui/documentation/sdk/controller/util/DataTable.js +1 -1
  113. package/src/sap/ui/documentation/sdk/controller/util/DataTableHelper.js +1 -1
  114. package/src/sap/ui/documentation/sdk/controller/util/DataTableUtil.js +1 -1
  115. package/src/sap/ui/documentation/sdk/controller/util/DocuInfo.js +14 -4
  116. package/src/sap/ui/documentation/sdk/controller/util/DocumentationLoader.js +37 -0
  117. package/src/sap/ui/documentation/sdk/controller/util/EntityInfo.js +1 -1
  118. package/src/sap/ui/documentation/sdk/controller/util/Highlighter.js +1 -1
  119. package/src/sap/ui/documentation/sdk/controller/util/IndexWorker.js +11 -2
  120. package/src/sap/ui/documentation/sdk/controller/util/JSDocUtil.js +1 -1
  121. package/src/sap/ui/documentation/sdk/controller/util/NewsInfo.js +1 -1
  122. package/src/sap/ui/documentation/sdk/controller/util/ResourceDownloadUtil.js +1 -1
  123. package/src/sap/ui/documentation/sdk/controller/util/ResourcesInfo.js +1 -1
  124. package/src/sap/ui/documentation/sdk/controller/util/ResponsiveImageMap.js +1 -1
  125. package/src/sap/ui/documentation/sdk/controller/util/SearchUtil.js +1 -1
  126. package/src/sap/ui/documentation/sdk/controller/util/SidyBySideImageMap.js +1 -1
  127. package/src/sap/ui/documentation/sdk/controller/util/ThemePicker.js +23 -9
  128. package/src/sap/ui/documentation/sdk/controller/util/Tooltip.js +1 -1
  129. package/src/sap/ui/documentation/sdk/controller/util/TreeUtil.js +35 -3
  130. package/src/sap/ui/documentation/sdk/controller/util/URLUtil.js +1 -1
  131. package/src/sap/ui/documentation/sdk/controller/util/UsageTracker.js +316 -0
  132. package/src/sap/ui/documentation/sdk/controller/util/XML2JSONUtils.js +1 -1
  133. package/src/sap/ui/documentation/sdk/controller/util/datatable/filters/DataTableFilterDropDown.js +1 -1
  134. package/src/sap/ui/documentation/sdk/controller/util/datatable/filters/DataTableFilterDropDownRenderer.js +1 -1
  135. package/src/sap/ui/documentation/sdk/controller/util/datatable/filters/DataTableFilterRange.js +1 -1
  136. package/src/sap/ui/documentation/sdk/controller/util/datatable/filters/DataTableFilterRangeRenderer.js +1 -1
  137. package/src/sap/ui/documentation/sdk/controller/util/overlay/Overlay.js +1 -1
  138. package/src/sap/ui/documentation/sdk/controller/util/overlay/shapes/Circle.js +1 -1
  139. package/src/sap/ui/documentation/sdk/controller/util/overlay/shapes/Polygon.js +1 -1
  140. package/src/sap/ui/documentation/sdk/controller/util/overlay/shapes/Rect.js +1 -1
  141. package/src/sap/ui/documentation/sdk/controller/util/overlay/shapes/Shape.js +1 -1
  142. package/src/sap/ui/documentation/sdk/controller/util/overlay/shapes/ShapeFactory.js +1 -1
  143. package/src/sap/ui/documentation/sdk/controls/FileEditor.js +1 -1
  144. package/src/sap/ui/documentation/sdk/cookieSettingsDialog/Component.js +3 -3
  145. package/src/sap/ui/documentation/sdk/cookieSettingsDialog/controller/CookieSettingsDialog.controller.js +1 -1
  146. package/src/sap/ui/documentation/sdk/cookieSettingsDialog/i18n/i18n_en_US_saptrc.properties +10 -10
  147. package/src/sap/ui/documentation/sdk/css/style.css +4 -0
  148. package/src/sap/ui/documentation/sdk/index.js +1 -1
  149. package/src/sap/ui/documentation/sdk/manifest.json +59 -30
  150. package/src/sap/ui/documentation/sdk/model/ExploreSettingsModel.js +1 -1
  151. package/src/sap/ui/documentation/sdk/model/formatter.js +35 -1
  152. package/src/sap/ui/documentation/sdk/model/libraryData.js +1 -1
  153. package/src/sap/ui/documentation/sdk/model/models.js +1 -1
  154. package/src/sap/ui/documentation/sdk/thirdparty/highlight.js/highlight.js +3 -3
  155. package/src/sap/ui/documentation/sdk/util/DocumentationRouter.js +52 -5
  156. package/src/sap/ui/documentation/sdk/util/FileUtils.js +1 -1
  157. package/src/sap/ui/documentation/sdk/util/LiveEditorOutput.js +1 -1
  158. package/src/sap/ui/documentation/sdk/util/Resources.js +1 -1
  159. package/src/sap/ui/documentation/sdk/util/ToggleFullScreenHandler.js +1 -1
  160. package/src/sap/ui/documentation/sdk/view/App.view.xml +4 -3
  161. package/src/sap/ui/documentation/sdk/view/Footer.fragment.xml +6 -2
  162. package/src/sap/ui/documentation/sdk/view/FooterMaster.fragment.xml +1 -0
  163. package/src/sap/ui/documentation/sdk/view/GlobalSearchPicker.fragment.xml +9 -0
  164. package/src/sap/ui/documentation/sdk/view/SearchPage.view.xml +44 -0
  165. package/src/sap/ui/documentation/sdk/view/SubApiDetail.view.xml +29 -51
  166. package/src/sap/ui/documentation/themes/base/JSDocType.less +20 -0
  167. package/src/sap/ui/documentation/themes/base/library.source.less +2 -1
  168. package/src/sap/ui/documentation/themes/sap_belize/library.source.less +1 -1
  169. package/src/sap/ui/documentation/themes/sap_belize_base/library.source.less +1 -1
  170. package/src/sap/ui/documentation/themes/sap_belize_hcb/library.source.less +1 -1
  171. package/src/sap/ui/documentation/themes/sap_belize_hcw/library.source.less +1 -1
  172. package/src/sap/ui/documentation/themes/sap_belize_plus/library.source.less +1 -1
  173. package/src/sap/ui/documentation/themes/sap_fiori_3/library.source.less +1 -1
  174. package/src/sap/ui/documentation/themes/sap_fiori_3_dark/library.source.less +1 -1
  175. package/src/sap/ui/documentation/themes/sap_fiori_3_hcb/library.source.less +1 -1
  176. package/src/sap/ui/documentation/themes/sap_fiori_3_hcw/library.source.less +1 -1
  177. package/src/sap/ui/documentation/themes/sap_horizon/Link.less +8 -2
  178. package/src/sap/ui/documentation/themes/sap_horizon/library.source.less +1 -1
  179. package/src/sap/ui/documentation/themes/sap_horizon_dark/Link.less +8 -2
  180. package/src/sap/ui/documentation/themes/sap_horizon_dark/library.source.less +1 -1
  181. package/src/sap/ui/documentation/themes/sap_horizon_hcb/library.source.less +1 -1
  182. package/src/sap/ui/documentation/themes/sap_horizon_hcw/library.source.less +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -32,8 +32,7 @@ sap.ui.define([
32
32
  "sap/m/Toolbar",
33
33
  "sap/ui/documentation/sdk/util/Resources",
34
34
  'sap/base/util/LoaderExtensions',
35
- "sap/ui/documentation/sdk/controller/util/ThemePicker",
36
- "sap/ui/thirdparty/URI"
35
+ "sap/ui/documentation/sdk/controller/util/ThemePicker"
37
36
  ], function(
38
37
  Localization,
39
38
  Element,
@@ -62,8 +61,7 @@ sap.ui.define([
62
61
  Toolbar,
63
62
  ResourcesUtil,
64
63
  LoaderExtensions,
65
- ThemePicker,
66
- URI
64
+ ThemePicker
67
65
  ) {
68
66
  "use strict";
69
67
 
@@ -132,7 +130,6 @@ sap.ui.define([
132
130
 
133
131
  var oViewModel = new JSONModel({
134
132
  bCNICPShow: window.location.href.includes("sapui5.platform.sapcloud.cn"),
135
- bShowTAConsent: false,
136
133
  busy: false,
137
134
  delay: 0,
138
135
  device: Device,
@@ -156,8 +153,7 @@ sap.ui.define([
156
153
  "<a href='https://sdk.openui5.org/1.71.46/'>https://sdk.openui5.org/1.71.46/</a>"
157
154
  });
158
155
 
159
- var oComponent = this.getOwnerComponent(),
160
- oController = this;
156
+ var oController = this;
161
157
 
162
158
  ThemePicker.init(oController);
163
159
 
@@ -188,16 +184,20 @@ sap.ui.define([
188
184
 
189
185
  }.bind(this));
190
186
 
191
- //setup cookie query parsing
192
- var oUri = new URI(window.location.href);
193
- if (oUri.hasQuery("sap-ui-xx-tracking") && oUri.query(true)["sap-ui-xx-tracking"] === "aa") {
194
- oViewModel.setProperty("/bShowTAConsent", true);
195
- }
187
+ this._oCookiesConsentManager = this.getOwnerComponent().getCookiesConsentManager();
188
+ this._oCookiesConsentManager.checkUserAcceptsUsageTracking(function(bAccepts) {
189
+ if (bAccepts) {
190
+ // start tracking, including the route visited at app-startup (before the check of the persisted consent-decision completed)
191
+ this.getOwnerComponent().getUsageTracker().start(this._aRouterCachedEventDetails);
192
+ this._aRouterCachedEventDetails = []; // clear the already logged route visits
193
+ }
194
+ }.bind(this));
196
195
 
197
196
  // Config routes
198
197
  this.oRouter = this.getRouter();
199
198
  this.oRouter.attachRouteMatched(this.onRouteChange.bind(this));
200
199
  this.oRouter.attachBypassed(this.onRouteNotFound.bind(this));
200
+ this.oRouter.attachEvent("_navToWithoutHash", this.onNavToWithoutHash.bind(this));
201
201
 
202
202
  // Store product version information
203
203
  this._aNeoAppVersions = [];
@@ -253,19 +253,13 @@ sap.ui.define([
253
253
 
254
254
  this._createConfigurationBasedOnURIInput();
255
255
 
256
- if (this._oConfigUtil.getCookieValue(this._oCookieNames.ALLOW_REQUIRED_COOKIES) === "1" && this._aConfiguration.length > 0) {
257
- this._applyCookiesConfiguration(this._aConfiguration);
258
- } else {
259
- this._applyDefaultConfiguration(this._aConfiguration);
260
- }
261
-
262
- var bExternalCookiesManager = oViewModel.getProperty("/bShowTAConsent");
263
-
264
- if (!bExternalCookiesManager) {
265
- oComponent.getCookiesManagement().then(function(oCookieMgmtComponent) {
266
- oCookieMgmtComponent.enable(oComponent.getRootControl());
267
- });
268
- }
256
+ this._oCookiesConsentManager.checkUserAcceptsRequiredCookies(function(bAccepts) {
257
+ if (bAccepts && this._aConfiguration.length > 0) {
258
+ this._applyCookiesConfiguration(this._aConfiguration);
259
+ } else {
260
+ this._applyDefaultConfiguration(this._aConfiguration);
261
+ }
262
+ }.bind(this));
269
263
 
270
264
  // Handle page resize
271
265
  ResizeHandler.register(this._demoKitPage, this.onPageResize.bind(this));
@@ -295,9 +289,12 @@ sap.ui.define([
295
289
  if (this.highlighter) {
296
290
  this.highlighter.destroy();
297
291
  }
292
+
293
+ this._oCookiesConsentManager = null;
298
294
  },
299
295
 
300
296
  onRouteChange: function (oEvent) {
297
+ this._cacheRouteEventDetails(oEvent);
301
298
  if (!this.oRouter.getRoute(oEvent.getParameter("name"))._oConfig.target) {
302
299
  return;
303
300
  }
@@ -329,6 +326,10 @@ sap.ui.define([
329
326
  this.appendPageTitle(null).appendPageTitle(WEB_PAGE_TITLE[sKey]);
330
327
  },
331
328
 
329
+ onNavToWithoutHash: function(oEvent) {
330
+ this._cacheRouteEventDetails(oEvent);
331
+ },
332
+
332
333
  toggleMaster: function (oEvent) {
333
334
  var oViewModel = this.getModel("appView"),
334
335
  sMasterViewId = oViewModel.getProperty("/sMasterViewId"),
@@ -450,9 +451,7 @@ sap.ui.define([
450
451
  } else if (sTargetText === CHANGE_SETTINGS_TEXT) {
451
452
  this.settingsDialogOpen();
452
453
  } else if (sTargetText === CHANGE_COOKIE_PREFERENCES_TEXT) {
453
- this.getOwnerComponent().getCookiesManagement().then(function (oCookieMgmtComponent) {
454
- oCookieMgmtComponent.cookieSettingsDialogOpen({ showCookieDetails: true }, this.getView());
455
- }.bind(this));
454
+ this.onEditCookiePreferencesRequest();
456
455
  } else if (sTargetText === CHANGE_VERSION_TEXT) {
457
456
  this.onChangeVersionButtonPress();
458
457
  } else if (ThemePicker._getTheme()[sTargetText]) {
@@ -860,9 +859,11 @@ sap.ui.define([
860
859
  _setSelectedLanguage: function (sLanguage) {
861
860
  this._oSupportedLangModel.setProperty("/selectedLang", sLanguage);
862
861
  Localization.setLanguage(sLanguage);
863
- if (this._oConfigUtil.getCookieValue(this._oCookieNames.ALLOW_REQUIRED_COOKIES) === "1") {
864
- this._oConfigUtil.setCookie(DEMOKIT_CONFIGURATION_LANGUAGE, sLanguage);
865
- }
862
+ this._oCookiesConsentManager.checkUserAcceptsRequiredCookies(function(bAccepts) {
863
+ if (bAccepts) {
864
+ this._oConfigUtil.setCookie(DEMOKIT_CONFIGURATION_LANGUAGE, sLanguage);
865
+ }
866
+ }.bind(this));
866
867
 
867
868
  if (this._sKey) {
868
869
  this._setSelectedSectionTitle(this._sKey);
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -61,6 +61,7 @@ sap.ui.define([
61
61
  if (Device.system.phone || Device.system.tablet) {
62
62
  this.getOwnerComponent().loadVersionInfo(); // for Desktop is always loaded in <code>Component.js</code>
63
63
  }
64
+ this._aRouterCachedEventDetails = [];
64
65
 
65
66
  },
66
67
 
@@ -114,7 +115,7 @@ sap.ui.define([
114
115
  * @returns {object} the configuration of the component
115
116
  */
116
117
  getConfig : function () {
117
- return this.getOwnerComponent().getManifestEntry("/sap.ui5/config") || {};
118
+ return this.getOwnerComponent().getConfig() || {};
118
119
  },
119
120
 
120
121
  /**
@@ -242,8 +243,12 @@ sap.ui.define([
242
243
  * @param {object} oEvent the Event object from which we are going to get the correct item key.
243
244
  */
244
245
  handleFooterMasterItemPress: function(oEvent) {
245
- var sTargetText = oEvent.getParameter("item").getKey(),
246
- sTarget = BaseController.LEGAL_LINKS[sTargetText];
246
+ var sTargetText = oEvent.getParameter("item").getKey();
247
+ if (sTargetText === FOOTER_MENU_OPTIONS.COOKIE_PREFERENCES) {
248
+ this.onEditCookiePreferencesRequest();
249
+ return;
250
+ }
251
+ var sTarget = BaseController.LEGAL_LINKS[sTargetText];
247
252
  URLHelper.redirect(sTarget, true);
248
253
  },
249
254
  /**
@@ -266,23 +271,61 @@ sap.ui.define([
266
271
  });
267
272
  },
268
273
 
269
- onRouteNotFound: function () {
274
+ onRouteNotFound: function (oEvent) {
270
275
  var sNotFoundTitle = this.getModel("i18n").getProperty("NOT_FOUND_TITLE");
271
276
 
277
+ if (this._isRouteBypassedEvent(oEvent)) {
278
+ this._cacheRouteEventDetails(oEvent);
279
+ }
280
+
272
281
  this.getRouter().myNavToWithoutHash("sap.ui.documentation.sdk.view.NotFound", "XML", false);
273
282
  setTimeout(this.appendPageTitle.bind(this, sNotFoundTitle));
274
283
  return;
284
+ },
285
+
286
+ onEditCookiePreferencesRequest: function () {
287
+ var oConsentManager = this.getOwnerComponent().getCookiesConsentManager();
288
+ oConsentManager.showPreferencesDialog(this.getView());
289
+ if (!oConsentManager.supportsWaitForPreferencesSubmission()) {
290
+ return;
291
+ }
292
+ oConsentManager.waitForPreferencesSubmission().then(function () {
293
+ oConsentManager.checkUserAcceptsUsageTracking(function(bAcceptsUsageTracking) {
294
+ if (bAcceptsUsageTracking) {
295
+ this.getOwnerComponent().getUsageTracker().start();
296
+ } else {
297
+ this.getOwnerComponent().getUsageTracker().stop();
298
+ }
299
+ }.bind(this));
300
+ }.bind(this));
301
+ },
302
+
303
+ _isRouteBypassedEvent: function (oEvent) {
304
+ return typeof oEvent?.getId === "function" && oEvent.getId() === "bypassed";
305
+ },
306
+
307
+ _cacheRouteEventDetails: function(oEvent) {
308
+ var oEventDetails = Object.assign({eventId: oEvent.getId()}, oEvent.getParameters());
309
+ this._aRouterCachedEventDetails.push(oEventDetails);
275
310
  }
276
311
  });
277
312
 
278
313
  /**
279
314
  * STATIC MEMBERS
280
315
  */
316
+ const FOOTER_MENU_OPTIONS = {
317
+ COOKIE_PREFERENCES: "cookie_preferences",
318
+ LEGAL: "legal",
319
+ PRIVACY: "privacy",
320
+ TERMS_OF_USE: "terms_of_use",
321
+ LICENSE: "license"
322
+ };
323
+
281
324
  BaseController.LEGAL_LINKS = {
282
- "legal": "https://www.sap.com/corporate/en/legal/impressum.html",
283
- "privacy": "https://www.sap.com/corporate/en/legal/privacy.html",
284
- "terms_of_use": "https://www.sap.com/corporate/en/legal/terms-of-use.html",
285
- "license": "LICENSE.txt"
325
+ [FOOTER_MENU_OPTIONS.LEGAL]: "https://www.sap.com/corporate/en/legal/impressum.html",
326
+ [FOOTER_MENU_OPTIONS.PRIVACY]: "https://www.sap.com/corporate/en/legal/privacy.html",
327
+ [FOOTER_MENU_OPTIONS.TERMS_OF_USE]: "https://www.sap.com/corporate/en/legal/terms-of-use.html",
328
+ [FOOTER_MENU_OPTIONS.LICENSE]: "LICENSE.txt"
286
329
  };
287
330
 
288
331
  return BaseController;
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -26,8 +26,8 @@ sap.ui.define([
26
26
  * @param childrenField - the field which holds the array with the node's children
27
27
  * @private
28
28
  */
29
- _initTreeUtil: function (nodeIdField, childrenField) {
30
- this._oTreeUtil = new TreeUtil(nodeIdField, childrenField);
29
+ _initTreeUtil: function (treeType, nodeIdField, childrenField) {
30
+ this._oTreeUtil = TreeUtil.getInstance(treeType, nodeIdField, childrenField);
31
31
  },
32
32
 
33
33
  /**
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -141,7 +141,8 @@ sap.ui.define([
141
141
  // Error
142
142
  function() {
143
143
  Log.warning("No neo-app.json was detected");
144
- }
144
+ this.onRouteNotFound();
145
+ }.bind(this)
145
146
  );
146
147
  },
147
148
  /**
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -138,7 +138,8 @@ sap.ui.define([
138
138
  oView.byId("allList").getItems(),
139
139
  oView.byId("apiList").getItems(),
140
140
  oView.byId("documentationList").getItems(),
141
- oView.byId("samplesList").getItems()
141
+ oView.byId("samplesList").getItems(),
142
+ oView.byId("externalList").getItems()
142
143
  ),
143
144
  iLen = aItems.length,
144
145
  oItem,
@@ -223,6 +224,11 @@ sap.ui.define([
223
224
  this._modifyLinks(true);
224
225
  },
225
226
 
227
+ onExternalLoadMore : function (oEvent) {
228
+ this.getModel("searchView").setProperty("/visibleExternalLength", oEvent.getParameter("actual"));
229
+ this._modifyLinks(true);
230
+ },
231
+
226
232
  onSwitchTab: function(oEvent) {
227
233
  var sCategory = oEvent.getParameter("section").data("category"),
228
234
  oRouterParams = {searchParam: this.getModel("searchView").getProperty("/lastProcessedQuery")};
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -205,7 +205,6 @@ sap.ui.define([
205
205
  }.bind(this), 1000);
206
206
  }.bind(this), 0);
207
207
 
208
- this.searchResultsButtonVisibilitySwitch(this.byId("apiDetailBackToSearch"));
209
208
  this.appendPageTitle(this._oModel.getProperty("/displayName"));
210
209
  },
211
210
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -9,10 +9,10 @@ sap.ui.define([
9
9
  "sap/ui/core/ResizeHandler",
10
10
  "sap/ui/documentation/sdk/controller/BaseController",
11
11
  "sap/ui/model/json/JSONModel",
12
- "sap/ui/documentation/sdk/controller/util/XML2JSONUtils",
13
12
  "sap/ui/Device",
14
13
  "sap/ui/documentation/sdk/util/ToggleFullScreenHandler",
15
14
  "sap/ui/documentation/sdk/util/Resources",
15
+ "sap/ui/documentation/sdk/controller/util/DocumentationLoader",
16
16
  "sap/ui/documentation/sdk/controller/util/ResponsiveImageMap",
17
17
  "sap/ui/documentation/sdk/controller/util/SidyBySideImageMap",
18
18
  "sap/m/LightBox",
@@ -32,10 +32,10 @@ sap.ui.define([
32
32
  ResizeHandler,
33
33
  BaseController,
34
34
  JSONModel,
35
- XML2JSONUtils,
36
35
  Device,
37
36
  ToggleFullScreenHandler,
38
37
  ResourcesUtil,
38
+ DocumentationLoader,
39
39
  ResponsiveImageMap,
40
40
  SidyBySideImageMap,
41
41
  LightBox,
@@ -258,26 +258,16 @@ sap.ui.define([
258
258
  return DataTableHelper.getInstance();
259
259
  },
260
260
 
261
- _onHtmlResourceLoaded: function (htmlContent) {
262
- var jsonObj;
263
-
264
- if (!htmlContent) {
265
- setTimeout(function () {
266
- this.onRouteNotFound();
267
- }.bind(this), 0);
268
- return;
269
- }
270
-
271
- jsonObj = XML2JSONUtils.XML2JSON(htmlContent, this._oConfig);
272
- jsonObj.bIsPhone = Device.system.phone;
273
- jsonObj.topicURL = this.sTopicURL;
274
- if (jsonObj.shortdesc) {
275
- jsonObj.shortdesc = jsonObj.shortdesc.trim().replace(/(\r\n|\n|\r)/gm, ' ');
261
+ _onHtmlResourceLoaded: function (oResourceInfo) {
262
+ oResourceInfo.bIsPhone = Device.system.phone;
263
+ oResourceInfo.topicURL = this.sTopicURL;
264
+ if (oResourceInfo.shortdesc) {
265
+ oResourceInfo.shortdesc = oResourceInfo.shortdesc.trim().replace(/(\r\n|\n|\r)/gm, ' ');
276
266
  }
277
267
 
278
- this.jsonDefModel.setData(jsonObj);
268
+ this.jsonDefModel.setData(oResourceInfo);
279
269
 
280
- this.oHtml.setContent(jsonObj.html);
270
+ this.oHtml.setContent(oResourceInfo.html);
281
271
  this.oLayout.invalidate();
282
272
 
283
273
  this._scrollContentToTop();
@@ -296,22 +286,17 @@ sap.ui.define([
296
286
  */
297
287
  _onTopicMatched: function (event) {
298
288
  //TODO: global jquery call found
299
- var sId = decodeURIComponent(event.getParameter("arguments").id),
300
- aUrlParts = sId.split("#"),
301
- sTopicId = aUrlParts[0],
302
- sSubTopicId = aUrlParts[1],
303
- oOptions = event.getParameter("arguments")["?options"];
304
-
305
- this.sTopicId = sTopicId.replace(".html", "");
306
- this.sSubTopicId = sSubTopicId;
307
- this.sTopicURL = ResourcesUtil.getResourceOriginPath(this._oConfig.docuPath + sTopicId + (sTopicId.match(/\.html/) ? "" : ".html"));
308
- this.sSubTopicId = event.getParameter("arguments").subId || sSubTopicId;
289
+ var oTopicInfo = this.getRouter()._decodeDocumentationRouteArguments(event.getParameter("arguments")),
290
+ oOptions = oTopicInfo.options;
309
291
 
292
+ this.sTopicId = oTopicInfo.topicId;
293
+ this.sSubTopicId = oTopicInfo.subTopicId;
294
+ this.sTopicURL = oTopicInfo.topicURL;
310
295
  this.sQueryFromUrl = oOptions && oOptions.q ? decodeURIComponent(oOptions.q) : "";
311
296
 
312
- jQuery.ajax(this.sTopicURL)
313
- .done(this._onHtmlResourceLoaded.bind(this))
314
- .fail(this.onRouteNotFound.bind(this));
297
+ DocumentationLoader.getInstance(this._oConfig).fetch(this.sTopicURL)
298
+ .then(this._onHtmlResourceLoaded.bind(this))
299
+ .catch(this.onRouteNotFound.bind(this));
315
300
  },
316
301
 
317
302
  _onHtmlRendered: function () {
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
@@ -11,8 +11,9 @@ sap.ui.define([
11
11
  "sap/m/library",
12
12
  "sap/base/Log",
13
13
  "sap/ui/documentation/sdk/controller/util/Highlighter",
14
- "sap/ui/documentation/sdk/controller/util/DocuInfo"
15
- ], function (Device, MasterTreeBaseController, JSONModel, mobileLibrary, Log, Highlighter, DocuInfo) {
14
+ "sap/ui/documentation/sdk/controller/util/DocuInfo",
15
+ "sap/ui/documentation/sdk/controller/util/TreeUtil"
16
+ ], function (Device, MasterTreeBaseController, JSONModel, mobileLibrary, Log, Highlighter, DocuInfo, TreeUtil) {
16
17
  "use strict";
17
18
 
18
19
  // shortcut for sap.m.SplitAppMode
@@ -43,7 +44,7 @@ sap.ui.define([
43
44
 
44
45
  // Add data to model and initialize tree
45
46
  oModel.setData(oData);
46
- this._initTreeUtil("key", "links");
47
+ this._initTreeUtil(TreeUtil.treeTypes.Documentation, "key", "links");
47
48
  }.bind(this))
48
49
  .catch(function () {
49
50
  this.onRouteNotFound();
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6