@openui5/sap.ui.rta 1.144.0 → 1.146.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 (169) hide show
  1. package/.eslintrc.json +7 -1
  2. package/REUSE.toml +40 -16
  3. package/THIRDPARTY.txt +28 -7
  4. package/package.json +6 -6
  5. package/src/sap/ui/rta/.library +1 -1
  6. package/src/sap/ui/rta/Client.js +1 -1
  7. package/src/sap/ui/rta/RuntimeAuthoring.js +25 -6
  8. package/src/sap/ui/rta/Utils.js +4 -2
  9. package/src/sap/ui/rta/appVariant/AppVariantManager.js +2 -2
  10. package/src/sap/ui/rta/appVariant/Feature.js +6 -4
  11. package/src/sap/ui/rta/appVariant/S4HanaCloudBackend.js +6 -3
  12. package/src/sap/ui/rta/appVariant/Utils.js +2 -2
  13. package/src/sap/ui/rta/command/AddIFrame.js +1 -1
  14. package/src/sap/ui/rta/command/AddProperty.js +1 -1
  15. package/src/sap/ui/rta/command/AddXML.js +1 -1
  16. package/src/sap/ui/rta/command/AddXMLAtExtensionPoint.js +1 -1
  17. package/src/sap/ui/rta/command/AnnotationCommand.js +1 -1
  18. package/src/sap/ui/rta/command/BaseCommand.js +1 -1
  19. package/src/sap/ui/rta/command/BindProperty.js +1 -1
  20. package/src/sap/ui/rta/command/Combine.js +1 -1
  21. package/src/sap/ui/rta/command/CommandFactory.js +1 -1
  22. package/src/sap/ui/rta/command/CompositeCommand.js +1 -1
  23. package/src/sap/ui/rta/command/ControlVariantConfigure.js +2 -1
  24. package/src/sap/ui/rta/command/ControlVariantSave.js +1 -1
  25. package/src/sap/ui/rta/command/ControlVariantSaveAs.js +1 -1
  26. package/src/sap/ui/rta/command/ControlVariantSetTitle.js +1 -1
  27. package/src/sap/ui/rta/command/ControlVariantSwitch.js +1 -1
  28. package/src/sap/ui/rta/command/CreateContainer.js +1 -1
  29. package/src/sap/ui/rta/command/CustomAdd.js +1 -1
  30. package/src/sap/ui/rta/command/ExtendControllerCommand.js +1 -1
  31. package/src/sap/ui/rta/command/FlexCommand.js +1 -1
  32. package/src/sap/ui/rta/command/LREPSerializer.js +1 -1
  33. package/src/sap/ui/rta/command/LocalReset.js +1 -1
  34. package/src/sap/ui/rta/command/ManifestCommand.js +1 -1
  35. package/src/sap/ui/rta/command/Move.js +1 -1
  36. package/src/sap/ui/rta/command/Property.js +1 -1
  37. package/src/sap/ui/rta/command/Remove.js +1 -1
  38. package/src/sap/ui/rta/command/Rename.js +1 -1
  39. package/src/sap/ui/rta/command/Resize.js +1 -1
  40. package/src/sap/ui/rta/command/Reveal.js +1 -1
  41. package/src/sap/ui/rta/command/Settings.js +1 -1
  42. package/src/sap/ui/rta/command/Split.js +1 -1
  43. package/src/sap/ui/rta/command/Stack.js +1 -1
  44. package/src/sap/ui/rta/command/compVariant/CompVariantContent.js +1 -1
  45. package/src/sap/ui/rta/command/compVariant/CompVariantSaveAs.js +1 -1
  46. package/src/sap/ui/rta/command/compVariant/CompVariantSwitch.js +1 -1
  47. package/src/sap/ui/rta/command/compVariant/CompVariantUpdate.js +1 -1
  48. package/src/sap/ui/rta/command/manifest/AddLibrary.js +1 -1
  49. package/src/sap/ui/rta/enablement/elementActionTest.js +90 -94
  50. package/src/sap/ui/rta/library.js +2 -2
  51. package/src/sap/ui/rta/messagebundle.properties +6 -4
  52. package/src/sap/ui/rta/messagebundle_ar.properties +4 -4
  53. package/src/sap/ui/rta/messagebundle_bg.properties +4 -4
  54. package/src/sap/ui/rta/messagebundle_ca.properties +4 -4
  55. package/src/sap/ui/rta/messagebundle_cnr.properties +4 -4
  56. package/src/sap/ui/rta/messagebundle_cs.properties +3 -3
  57. package/src/sap/ui/rta/messagebundle_cy.properties +4 -4
  58. package/src/sap/ui/rta/messagebundle_da.properties +4 -4
  59. package/src/sap/ui/rta/messagebundle_de.properties +4 -4
  60. package/src/sap/ui/rta/messagebundle_el.properties +4 -4
  61. package/src/sap/ui/rta/messagebundle_en.properties +4 -4
  62. package/src/sap/ui/rta/messagebundle_en_GB.properties +4 -4
  63. package/src/sap/ui/rta/messagebundle_en_US_saprigi.properties +5 -4
  64. package/src/sap/ui/rta/messagebundle_es.properties +3 -3
  65. package/src/sap/ui/rta/messagebundle_es_MX.properties +4 -4
  66. package/src/sap/ui/rta/messagebundle_et.properties +4 -4
  67. package/src/sap/ui/rta/messagebundle_fi.properties +4 -4
  68. package/src/sap/ui/rta/messagebundle_fr.properties +4 -4
  69. package/src/sap/ui/rta/messagebundle_fr_CA.properties +5 -5
  70. package/src/sap/ui/rta/messagebundle_hi.properties +4 -4
  71. package/src/sap/ui/rta/messagebundle_hr.properties +4 -4
  72. package/src/sap/ui/rta/messagebundle_hu.properties +3 -3
  73. package/src/sap/ui/rta/messagebundle_id.properties +5 -5
  74. package/src/sap/ui/rta/messagebundle_it.properties +5 -5
  75. package/src/sap/ui/rta/messagebundle_iw.properties +4 -4
  76. package/src/sap/ui/rta/messagebundle_ja.properties +4 -4
  77. package/src/sap/ui/rta/messagebundle_kk.properties +4 -4
  78. package/src/sap/ui/rta/messagebundle_ko.properties +4 -4
  79. package/src/sap/ui/rta/messagebundle_lt.properties +4 -4
  80. package/src/sap/ui/rta/messagebundle_lv.properties +4 -4
  81. package/src/sap/ui/rta/messagebundle_mk.properties +4 -4
  82. package/src/sap/ui/rta/messagebundle_ms.properties +4 -4
  83. package/src/sap/ui/rta/messagebundle_nl.properties +4 -4
  84. package/src/sap/ui/rta/messagebundle_no.properties +5 -5
  85. package/src/sap/ui/rta/messagebundle_pl.properties +4 -4
  86. package/src/sap/ui/rta/messagebundle_pt.properties +4 -4
  87. package/src/sap/ui/rta/messagebundle_pt_PT.properties +4 -4
  88. package/src/sap/ui/rta/messagebundle_ro.properties +4 -4
  89. package/src/sap/ui/rta/messagebundle_ru.properties +6 -6
  90. package/src/sap/ui/rta/messagebundle_sh.properties +4 -4
  91. package/src/sap/ui/rta/messagebundle_sk.properties +4 -4
  92. package/src/sap/ui/rta/messagebundle_sl.properties +4 -4
  93. package/src/sap/ui/rta/messagebundle_sr.properties +4 -4
  94. package/src/sap/ui/rta/messagebundle_sv.properties +4 -4
  95. package/src/sap/ui/rta/messagebundle_th.properties +4 -4
  96. package/src/sap/ui/rta/messagebundle_tr.properties +4 -4
  97. package/src/sap/ui/rta/messagebundle_uk.properties +4 -4
  98. package/src/sap/ui/rta/messagebundle_vi.properties +4 -4
  99. package/src/sap/ui/rta/messagebundle_zh_CN.properties +4 -4
  100. package/src/sap/ui/rta/messagebundle_zh_TW.properties +4 -4
  101. package/src/sap/ui/rta/plugin/AddXMLAtExtensionPoint.js +4 -4
  102. package/src/sap/ui/rta/plugin/AddXMLPlugin.js +1 -1
  103. package/src/sap/ui/rta/plugin/BaseCreate.js +1 -1
  104. package/src/sap/ui/rta/plugin/Combine.js +1 -1
  105. package/src/sap/ui/rta/plugin/ControlVariant.js +1 -1
  106. package/src/sap/ui/rta/plugin/CreateContainer.js +1 -1
  107. package/src/sap/ui/rta/plugin/CutPaste.js +1 -1
  108. package/src/sap/ui/rta/plugin/DragDrop.js +1 -1
  109. package/src/sap/ui/rta/plugin/ExtendControllerPlugin.js +1 -1
  110. package/src/sap/ui/rta/plugin/LocalReset.js +1 -1
  111. package/src/sap/ui/rta/plugin/Plugin.js +1 -1
  112. package/src/sap/ui/rta/plugin/RTAElementMover.js +1 -1
  113. package/src/sap/ui/rta/plugin/Remove.js +13 -11
  114. package/src/sap/ui/rta/plugin/Resize.js +1 -1
  115. package/src/sap/ui/rta/plugin/Selection.js +1 -1
  116. package/src/sap/ui/rta/plugin/Settings.js +1 -1
  117. package/src/sap/ui/rta/plugin/Split.js +1 -1
  118. package/src/sap/ui/rta/plugin/Stretch.js +1 -1
  119. package/src/sap/ui/rta/plugin/additionalElements/ActionExtractor.js +1 -1
  120. package/src/sap/ui/rta/plugin/additionalElements/AddElementsDialog.fragment.xml +5 -20
  121. package/src/sap/ui/rta/plugin/additionalElements/AddElementsDialog.js +278 -26
  122. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsAnalyzer.js +40 -11
  123. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsPlugin.js +4 -3
  124. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsUtils.js +1 -1
  125. package/src/sap/ui/rta/plugin/additionalElements/CommandBuilder.js +1 -1
  126. package/src/sap/ui/rta/plugin/annotations/AnnotationChangeDialog.fragment.xml +1 -1
  127. package/src/sap/ui/rta/plugin/annotations/AnnotationChangeDialog.js +29 -4
  128. package/src/sap/ui/rta/plugin/annotations/AnnotationChangeDialogController.js +11 -17
  129. package/src/sap/ui/rta/plugin/annotations/AnnotationPlugin.js +8 -6
  130. package/src/sap/ui/rta/plugin/annotations/DocumentedAnnotationChanges.js +14 -0
  131. package/src/sap/ui/rta/plugin/iframe/AddIFrame.js +14 -12
  132. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.fragment.xml +15 -94
  133. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.js +22 -3
  134. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialogController.js +282 -102
  135. package/src/sap/ui/rta/plugin/rename/Rename.js +1 -1
  136. package/src/sap/ui/rta/plugin/rename/RenameDialog.fragment.xml +1 -0
  137. package/src/sap/ui/rta/plugin/rename/RenameDialog.js +1 -1
  138. package/src/sap/ui/rta/service/Action.js +1 -1
  139. package/src/sap/ui/rta/service/ControllerExtension.js +1 -1
  140. package/src/sap/ui/rta/service/Outline.js +14 -6
  141. package/src/sap/ui/rta/service/Property.js +1 -1
  142. package/src/sap/ui/rta/service/Selection.js +1 -1
  143. package/src/sap/ui/rta/service/SupportTools.js +1 -1
  144. package/src/sap/ui/rta/themes/base/ContextMenu.less +1 -1
  145. package/src/sap/ui/rta/toolbar/Adaptation.fragment.xml +9 -4
  146. package/src/sap/ui/rta/toolbar/Adaptation.js +59 -4
  147. package/src/sap/ui/rta/toolbar/AdaptationRenderer.js +7 -9
  148. package/src/sap/ui/rta/toolbar/Base.js +1 -1
  149. package/src/sap/ui/rta/toolbar/BaseRenderer.js +12 -17
  150. package/src/sap/ui/rta/toolbar/Fiori.js +5 -1
  151. package/src/sap/ui/rta/toolbar/FioriLike.js +1 -1
  152. package/src/sap/ui/rta/toolbar/OverflowToolbarButton.js +1 -1
  153. package/src/sap/ui/rta/toolbar/Standalone.js +1 -1
  154. package/src/sap/ui/rta/toolbar/contextBased/ManageAdaptations.js +13 -11
  155. package/src/sap/ui/rta/toolbar/contextBased/SaveAsAdaptation.js +1 -1
  156. package/src/sap/ui/rta/toolbar/translation/Translation.js +1 -1
  157. package/src/sap/ui/rta/toolbar/versioning/Versioning.js +1 -1
  158. package/src/sap/ui/rta/util/PluginManager.js +1 -1
  159. package/src/sap/ui/rta/util/PopupManager.js +1 -1
  160. package/src/sap/ui/rta/util/ReloadManager.js +15 -12
  161. package/src/sap/ui/rta/util/ServiceEventBus.js +1 -1
  162. package/src/sap/ui/rta/util/ServiceManager.js +1 -1
  163. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicator.js +1 -1
  164. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicatorRegistry.js +1 -1
  165. package/src/sap/ui/rta/util/changeVisualization/ChangeVisualization.js +1 -1
  166. package/src/sap/ui/rta/util/changeVisualization/resolveBinding.js +1 -1
  167. package/src/sap/ui/rta/util/guidedTour/GuidedTour.js +3 -1
  168. package/src/sap/ui/rta/util/whatsNew/WhatsNew.js +1 -1
  169. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/whatsNewImages/ExtendedActions.png +0 -0
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @name sap.ui.rta.service.Outline
44
44
  * @author SAP SE
45
45
  * @since 1.56
46
- * @version 1.144.0
46
+ * @version 1.146.0
47
47
  * @private
48
48
  * @ui5-restricted
49
49
  */
@@ -184,12 +184,12 @@ sap.ui.define([
184
184
  };
185
185
  };
186
186
 
187
- oOutline._enrichExtensionPointData = function(oData, oOverlay) {
187
+ oOutline._enrichExtensionPointData = function(oData, oOverlay, bIsPartOfTemplate) {
188
188
  var bIsDesignMode = DesignTime.isDesignModeEnabled();
189
189
  if (!bIsDesignMode) {
190
190
  return undefined;
191
191
  }
192
- if (oData.type === "aggregation") {
192
+ if (oData.type === "aggregation" && !bIsPartOfTemplate) {
193
193
  var aExtensionPoints = this._getExtensionPoints(oData)
194
194
  .sort(function(mExtensionPointA, mExtensionPointB) {
195
195
  return mExtensionPointB.index - mExtensionPointA.index;
@@ -259,9 +259,10 @@ sap.ui.define([
259
259
  * @param {int} [iDepth] - Level of children to traverse
260
260
  * @param {sap.ui.dt.Overlay} [oParentOverlay] - Parent overlay (if present) for the passed overlay
261
261
  * @param {object} [mTemplateData] - Propagates template data to the aggregation template clones
262
+ * @param {boolean} [bNestedInTemplate] - Whether the overlay is nested inside a template
262
263
  * @returns {OutlineObject} Outline model data
263
264
  */
264
- oOutline._getChildrenNodes = function(oOverlay, iDepth, oParentOverlay, mTemplateData) {
265
+ oOutline._getChildrenNodes = function(oOverlay, iDepth, oParentOverlay, mTemplateData, bNestedInTemplate) {
265
266
  var bValidDepth = DtUtil.isInteger(iDepth);
266
267
  var mAggregationTemplates = {};
267
268
 
@@ -295,11 +296,18 @@ sap.ui.define([
295
296
  // decrement depth for children nodes
296
297
  iDepth = bValidDepth ? iDepth - 1 : iDepth;
297
298
 
299
+ const bIsPartOfTemplate = bNestedInTemplate || oData.type === "aggregationBindingTemplate";
298
300
  var mInnerTemplateData = {};
299
301
  oData.elements = aChildren
300
302
  .map(function(oChildOverlay) {
301
303
  var mNextTemplateData = getTemplateData(oChildOverlay, mTemplateData, mInnerTemplateData);
302
- var oNextData = this._getChildrenNodes(oChildOverlay, iDepth, oChildOverlay.getParent(), mNextTemplateData);
304
+ const oNextData = this._getChildrenNodes(
305
+ oChildOverlay,
306
+ iDepth,
307
+ oChildOverlay.getParent(),
308
+ mNextTemplateData,
309
+ bIsPartOfTemplate
310
+ );
303
311
  if (oNextData.type === "aggregationBindingTemplate") {
304
312
  var sAggregationName = mAggregationTemplates[oChildOverlay.getId()];
305
313
  mInnerTemplateData[sAggregationName] = merge({}, oNextData);
@@ -311,7 +319,7 @@ sap.ui.define([
311
319
  });
312
320
 
313
321
  // get extension point information if available
314
- this._enrichExtensionPointData(oData, oOverlay);
322
+ this._enrichExtensionPointData(oData, oOverlay, bIsPartOfTemplate);
315
323
  }
316
324
 
317
325
  return cleanupData(oData);
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @name sap.ui.rta.service.Property
28
28
  * @author SAP SE
29
29
  * @since 1.58
30
- * @version 1.144.0
30
+ * @version 1.146.0
31
31
  * @private
32
32
  * @ui5-restricted
33
33
  */
@@ -14,7 +14,7 @@ sap.ui.define(function() {
14
14
  * @name sap.ui.rta.service.Selection
15
15
  * @author SAP SE
16
16
  * @since 1.58
17
- * @version 1.144.0
17
+ * @version 1.146.0
18
18
  * @private
19
19
  * @ui5-restricted
20
20
  */
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @name sap.ui.rta.service.SupportTools
31
31
  * @author SAP SE
32
32
  * @since 1.106
33
- * @version 1.144.0
33
+ * @version 1.146.0
34
34
  * @private
35
35
  * @ui5-restricted
36
36
  */
@@ -16,7 +16,7 @@
16
16
  @_sap_ui_rta_ContextMenu_BorderDarkColor 0.25rem,
17
17
  @_sap_ui_rta_ContextMenu_BorderLightColor 0.25rem,
18
18
  @_sap_ui_rta_ContextMenu_BorderLightColor 0.375rem) 4;
19
- box-shadow: var(--sapContent_Shadow2);
19
+ box-shadow: var(--sapContent_Shadow1);
20
20
  }
21
21
  }
22
22
  }
@@ -14,6 +14,13 @@
14
14
  id="sapUiRta_iconSpacer"
15
15
  width="0%"
16
16
  visible="true" />
17
+ <Button
18
+ id="sapUiRta_backButton"
19
+ icon="{parts: [{path: 'controls>/backButton/enabled'}], formatter: '.formatBackButtonIcon'}"
20
+ enabled="{controls>/backButton/enabled}"
21
+ visible="{= ${controls>/backButton/visible} &amp;&amp; ${controls>/modeSwitcher} === 'navigation'}"
22
+ tooltip="{i18n>BTN_BACK}"
23
+ press=".navigateBack" />
17
24
  <Button
18
25
  id="sapUiRta_versionButton"
19
26
  type="Transparent"
@@ -35,8 +42,7 @@
35
42
  text="{i18n>SAVE_AND_RELOAD}"
36
43
  iconFirst="true"
37
44
  icon="sap-icon://refresh"
38
- press=".saveAndReloadApp"
39
- />
45
+ press=".saveAndReloadApp" />
40
46
  <Button
41
47
  id="sapUiRta_hardReloadInfoButton"
42
48
  type="Attention"
@@ -44,8 +50,7 @@
44
50
  press=".showHardReloadInfoPopover"
45
51
  icon="sap-icon://question-mark"
46
52
  class="sapUiNoMarginBeginEnd sapUiRtaHardReloadInfoButton"
47
- tooltip="{i18n>TOL_SHOW_HARD_RELOAD_INFO}"
48
- />
53
+ tooltip="{i18n>TOL_SHOW_HARD_RELOAD_INFO}" />
49
54
  <toolbar:OverflowToolbarButton
50
55
  id="sapUiRta_activate"
51
56
  icon="sap-icon://activate"
@@ -5,10 +5,12 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/base/i18n/Localization",
8
9
  "sap/base/Log",
9
10
  "sap/m/MessageBox",
10
11
  "sap/m/MessageStrip",
11
12
  "sap/m/Popover",
13
+ "sap/ui/core/IconPool",
12
14
  "sap/ui/core/message/MessageType",
13
15
  "sap/ui/core/BusyIndicator",
14
16
  "sap/ui/core/Element",
@@ -16,6 +18,7 @@ sap.ui.define([
16
18
  "sap/ui/core/Popup",
17
19
  "sap/ui/fl/apply/api/FlexRuntimeInfoAPI",
18
20
  "sap/ui/fl/initial/api/Version",
21
+ "sap/ui/fl/util/CancelError",
19
22
  "sap/ui/fl/write/api/ContextBasedAdaptationsAPI",
20
23
  "sap/ui/model/json/JSONModel",
21
24
  "sap/ui/performance/Measurement",
@@ -31,10 +34,12 @@ sap.ui.define([
31
34
  "sap/ui/rta/util/whatsNew/WhatsNewOverview",
32
35
  "sap/ui/rta/Utils"
33
36
  ], function(
37
+ Localization,
34
38
  Log,
35
39
  MessageBox,
36
40
  MessageStrip,
37
41
  Popover,
42
+ IconPool,
38
43
  MessageType,
39
44
  BusyIndicator,
40
45
  Element,
@@ -42,6 +47,7 @@ sap.ui.define([
42
47
  Popup,
43
48
  FlexRuntimeInfoAPI,
44
49
  Version,
50
+ CancelError,
45
51
  ContextBasedAdaptationsAPI,
46
52
  JSONModel,
47
53
  Measurement,
@@ -67,7 +73,7 @@ sap.ui.define([
67
73
  * @extends sap.ui.rta.toolbar.Base
68
74
  *
69
75
  * @author SAP SE
70
- * @version 1.144.0
76
+ * @version 1.146.0
71
77
  *
72
78
  * @constructor
73
79
  * @private
@@ -117,6 +123,7 @@ sap.ui.define([
117
123
  this._onResize = this._onResize.bind(this);
118
124
  window.addEventListener("resize", this._onResize);
119
125
  this._aIntersectionObservers = [];
126
+ this.setupNavigationTracking();
120
127
  }.bind(this));
121
128
  };
122
129
 
@@ -126,6 +133,7 @@ sap.ui.define([
126
133
  };
127
134
 
128
135
  Adaptation.prototype.exit = function(...aArgs) {
136
+ this.cleanupNavigationTracking();
129
137
  window.removeEventListener("resize", this._onResize);
130
138
  (this._aIntersectionObservers || []).forEach(function(oIntersectionObserver) {
131
139
  oIntersectionObserver.disconnect();
@@ -245,6 +253,10 @@ sap.ui.define([
245
253
  return this.getExtension("versioning", Versioning).formatVersionButtonText(aVersions, sDisplayedVersion);
246
254
  };
247
255
 
256
+ Adaptation.prototype.formatBackButtonIcon = function() {
257
+ return Localization.getRTL() ? IconPool.getIconURI("feeder-arrow") : IconPool.getIconURI("nav-back");
258
+ };
259
+
248
260
  Adaptation.prototype.showVersionHistory = function(oEvent) {
249
261
  return this.getExtension("versioning", Versioning).showVersionHistory(oEvent);
250
262
  };
@@ -339,6 +351,7 @@ sap.ui.define([
339
351
  controller: {
340
352
  activate: this._openVersionTitleDialog.bind(this),
341
353
  discardDraft: this.eventHandler.bind(this, "DiscardDraft"),
354
+ formatBackButtonIcon: this.formatBackButtonIcon.bind(this),
342
355
  formatDiscardDraftVisible: this.formatDiscardDraftVisible.bind(this),
343
356
  formatPublishVersionVisibility: this.formatPublishVersionVisibility.bind(this),
344
357
  modeChange: this.eventHandler.bind(this, "ModeChange"),
@@ -359,7 +372,8 @@ sap.ui.define([
359
372
  showActionsMenu: this.showActionsMenu.bind(this),
360
373
  showFeedbackForm: this.showFeedbackForm.bind(this),
361
374
  showHardReloadInfoPopover: this.showHardReloadInfoPopover.bind(this),
362
- saveAndReloadApp: this.eventHandler.bind(this, "SaveAndReload")
375
+ saveAndReloadApp: this.eventHandler.bind(this, "SaveAndReload"),
376
+ navigateBack: this.navigateBack.bind(this)
363
377
  }
364
378
  });
365
379
  };
@@ -473,7 +487,7 @@ sap.ui.define([
473
487
  }
474
488
 
475
489
  function handleError(oError) {
476
- if (oError !== "cancel") {
490
+ if (!(oError instanceof CancelError)) {
477
491
  Utils.showMessageBox("error", "MSG_LREP_TRANSFER_ERROR", { error: oError });
478
492
  Log.error(`sap.ui.rta: ${oError.stack || oError.message || oError}`);
479
493
  }
@@ -555,7 +569,8 @@ sap.ui.define([
555
569
  };
556
570
  const oFeedbackUrlParams = await FlexRuntimeInfoAPI.getFeedbackInformation(mPropertyBag);
557
571
  oUrlParams.set("version", oFeedbackUrlParams.version);
558
- oUrlParams.set("feature", (oFeedbackUrlParams.connector === "KeyUserConnector" ? "BTP" : "ABAP"));
572
+ const bCF = oFeedbackUrlParams.connector === "KeyUserConnector" || oFeedbackUrlParams.connector === "BtpServiceConnector";
573
+ oUrlParams.set("feature", bCF ? "BTP" : "ABAP");
559
574
  oUrlParams.set("appId", oFeedbackUrlParams.appId);
560
575
  oUrlParams.set("appVersion", oFeedbackUrlParams.appVersion);
561
576
  // Add product filter for qualtrics colleagues
@@ -586,5 +601,45 @@ sap.ui.define([
586
601
  }
587
602
  };
588
603
 
604
+ Adaptation.prototype.setupNavigationTracking = function() {
605
+ if (!window.navigation) {
606
+ return;
607
+ }
608
+
609
+ this._oStartingNavigationEntry = window.navigation.currentEntry;
610
+
611
+ this._fnNavigationHandler = () => {
612
+ this._updateBackButtonState();
613
+ };
614
+
615
+ window.navigation.addEventListener("currententrychange", this._fnNavigationHandler);
616
+ };
617
+
618
+ Adaptation.prototype.cleanupNavigationTracking = function() {
619
+ if (this._fnNavigationHandler && window.navigation) {
620
+ window.navigation.removeEventListener("currententrychange", this._fnNavigationHandler);
621
+ this._fnNavigationHandler = null;
622
+ this._oStartingNavigationEntry = null;
623
+ }
624
+ };
625
+
626
+ Adaptation.prototype._updateBackButtonState = function() {
627
+ if (!window.navigation || !this._oStartingNavigationEntry) {
628
+ return;
629
+ }
630
+ const oControlsModel = this.getModel("controls");
631
+ const aEntries = window.navigation.entries();
632
+ const iCurrentIndex = aEntries.indexOf(window.navigation.currentEntry);
633
+ const iStartIndex = aEntries.findIndex((oEntry) => oEntry.key === this._oStartingNavigationEntry.key);
634
+
635
+ const bCanNavigateBack = iCurrentIndex > iStartIndex;
636
+ oControlsModel.setProperty("/backButton/enabled", bCanNavigateBack);
637
+ };
638
+
639
+ // Non-FLP case
640
+ Adaptation.prototype.navigateBack = function() {
641
+ window.history.back();
642
+ };
643
+
589
644
  return Adaptation;
590
645
  });
@@ -11,15 +11,13 @@ sap.ui.define([
11
11
  ) {
12
12
  "use strict";
13
13
 
14
- var AdaptationRenderer = BaseRenderer.extend("sap.ui.rta.toolbar.AdaptationRenderer");
15
-
16
- AdaptationRenderer.apiVersion = 1; // @todo-semantic-rendering out of order .class() call before openStart
17
-
18
- AdaptationRenderer.render = function(oRM, oControl) {
19
- oRM.class("sapUiRtaToolbarAdaptation");
20
-
21
- BaseRenderer.render(oRM, oControl);
22
- };
14
+ const AdaptationRenderer = BaseRenderer.extend("sap.ui.rta.toolbar.AdaptationRenderer", {
15
+ apiVersion: 2,
16
+ enhanceRootTag(oRM, oControl) {
17
+ oRM.class("sapUiRtaToolbarAdaptation");
18
+ BaseRenderer.enhanceRootTag(oRM, oControl);
19
+ }
20
+ });
23
21
 
24
22
  return AdaptationRenderer;
25
23
  });
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @extends sap.m.HBox
34
34
  *
35
35
  * @author SAP SE
36
- * @version 1.144.0
36
+ * @version 1.146.0
37
37
  *
38
38
  * @constructor
39
39
  * @private
@@ -5,32 +5,27 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
- "sap/ui/core/Renderer",
9
8
  "sap/m/HBoxRenderer"
10
9
  ],
11
10
  function(
12
- Renderer,
13
11
  HBoxRenderer
14
12
  ) {
15
13
  "use strict";
16
14
 
17
- var BaseRenderer = Renderer.extend.call(HBoxRenderer, "sap.ui.rta.toolbar.BaseRenderer");
15
+ const BaseRenderer = HBoxRenderer.extend("sap.ui.rta.toolbar.BaseRenderer", {
16
+ apiVersion: 2,
17
+ enhanceRootTag(oRM, oControl) {
18
+ oRM.class("sapUiRtaToolbar");
19
+ oRM.class(`color_${oControl.getColor()}`);
18
20
 
19
- BaseRenderer.apiVersion = 1; // @todo-semantic-rendering out of order .class() and .style() calls before openStart
21
+ // setting type if exists
22
+ oControl.type && oRM.class(`type_${oControl.type}`);
20
23
 
21
- BaseRenderer.render = function(oRM, oControl) {
22
- oRM.class("sapUiRtaToolbar");
23
- oRM.class(`color_${oControl.getColor()}`);
24
-
25
- // setting type if exists
26
- oControl.type && oRM.class(`type_${oControl.type}`);
27
-
28
- // setting z-index if exists
29
- var iZIndex = oControl.getZIndex();
30
- iZIndex && oRM.style("z-index", iZIndex);
31
-
32
- HBoxRenderer.render(oRM, oControl);
33
- };
24
+ // setting z-index if exists
25
+ var iZIndex = oControl.getZIndex();
26
+ iZIndex && oRM.style("z-index", iZIndex);
27
+ }
28
+ });
34
29
 
35
30
  return BaseRenderer;
36
31
  });
@@ -34,7 +34,7 @@ function(
34
34
  * @extends sap.ui.rta.toolbar.Adaptation
35
35
  *
36
36
  * @author SAP SE
37
- * @version 1.144.0
37
+ * @version 1.146.0
38
38
  *
39
39
  * @constructor
40
40
  * @private
@@ -168,5 +168,9 @@ function(
168
168
  Adaptation.prototype.destroy.apply(this, aArgs);
169
169
  };
170
170
 
171
+ Fiori.prototype.navigateBack = function() {
172
+ this.getUshellApi().navigateBack();
173
+ };
174
+
171
175
  return Fiori;
172
176
  });
@@ -22,7 +22,7 @@ function(
22
22
  * @extends sap.ui.rta.toolbar.Adaptation
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.144.0
25
+ * @version 1.146.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.m.OverflowToolbarButton
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.144.0
26
+ * @version 1.146.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -22,7 +22,7 @@ function(
22
22
  * @extends sap.ui.rta.toolbar.Adaptation
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.144.0
25
+ * @version 1.146.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -10,31 +10,33 @@ sap.ui.define([
10
10
  "sap/base/util/restricted/_isEqual",
11
11
  "sap/base/util/restricted/_union",
12
12
  "sap/base/Log",
13
+ "sap/m/ColumnListItem",
13
14
  "sap/ui/base/ManagedObject",
15
+ "sap/ui/core/date/UI5Date",
14
16
  "sap/ui/core/Fragment",
17
+ "sap/ui/fl/util/CancelError",
15
18
  "sap/ui/fl/write/api/ContextBasedAdaptationsAPI",
16
- "sap/m/ColumnListItem",
17
- "sap/ui/rta/Utils",
19
+ "sap/ui/model/json/JSONModel",
18
20
  "sap/ui/model/Filter",
19
21
  "sap/ui/model/FilterOperator",
20
- "sap/ui/model/json/JSONModel",
21
- "sap/ui/core/date/UI5Date",
22
- "sap/ui/performance/Measurement"
22
+ "sap/ui/performance/Measurement",
23
+ "sap/ui/rta/Utils"
23
24
  ], function(
24
25
  Localization,
25
26
  _isEqual,
26
27
  _union,
27
28
  Log,
29
+ ColumnListItem,
28
30
  ManagedObject,
31
+ UI5Date,
29
32
  Fragment,
33
+ CancelError,
30
34
  ContextBasedAdaptationsAPI,
31
- ColumnListItem,
32
- Utils,
35
+ JSONModel,
33
36
  Filter,
34
37
  FilterOperator,
35
- JSONModel,
36
- UI5Date,
37
- Measurement
38
+ Measurement,
39
+ Utils
38
40
  ) {
39
41
  "use strict";
40
42
 
@@ -381,7 +383,7 @@ sap.ui.define([
381
383
  onCloseDialog.call(this);
382
384
  }.bind(this))
383
385
  .catch(function(oError) {
384
- if (oError !== "cancel") {
386
+ if (!(oError instanceof CancelError)) {
385
387
  Utils.showMessageBox("error", "MSG_LREP_TRANSFER_ERROR", { titleKey: "BTN_MANAGE_APP_CTX", error: oError });
386
388
  Log.error(`sap.ui.rta: ${oError.stack || oError.message || oError}`);
387
389
  }
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @class
46
46
  *
47
47
  * @author SAP SE
48
- * @version 1.144.0
48
+ * @version 1.146.0
49
49
  *
50
50
  * @constructor
51
51
  * @private
@@ -53,7 +53,7 @@ sap.ui.define([
53
53
  * @class
54
54
  *
55
55
  * @author SAP SE
56
- * @version 1.144.0
56
+ * @version 1.146.0
57
57
  *
58
58
  * @constructor
59
59
  * @private
@@ -38,7 +38,7 @@ sap.ui.define([
38
38
  * @class
39
39
  *
40
40
  * @author SAP SE
41
- * @version 1.144.0
41
+ * @version 1.146.0
42
42
  *
43
43
  * @constructor
44
44
  * @private
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  * Constructor for a new sap.ui.rta.util.PluginManager
65
65
  * @extends sap.ui.base.ManagedObject
66
66
  * @author SAP SE
67
- * @version 1.144.0
67
+ * @version 1.146.0
68
68
  * @constructor
69
69
  * @private
70
70
  * @since 1.86
@@ -75,7 +75,7 @@ sap.ui.define([
75
75
  * Constructor for a new sap.ui.rta.util.PopupManager
76
76
  * @extends sap.ui.base.ManagedObject
77
77
  * @author SAP SE
78
- * @version 1.144.0
78
+ * @version 1.146.0
79
79
  * @constructor
80
80
  * @private
81
81
  * @since 1.48
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @namespace sap.ui.rta.util.ReloadManager
31
31
  * @alias sap.ui.rta.util.ReloadManager
32
32
  * @since 1.104
33
- * @version 1.144.0
33
+ * @version 1.146.0
34
34
  * @private
35
35
  * @ui5-restricted
36
36
  */
@@ -225,17 +225,20 @@ sap.ui.define([
225
225
  * @return {Promise<boolean>} Resolving to <code>false</code> means that reload is not necessary
226
226
  */
227
227
  ReloadManager.handleReloadOnStart = async function(mProperties) {
228
- merge(mProperties, {
229
- ignoreMaxLayerParameter: false,
230
- includeCtrlVariants: true
231
- });
232
- const oReloadInfo = await ReloadInfoAPI.getReloadReasonsForStart(mProperties);
233
- if (
234
- oReloadInfo.hasHigherLayerChanges
235
- || oReloadInfo.isDraftAvailable
236
- || oReloadInfo.allContexts
237
- ) {
238
- return triggerReloadOnStart(merge(mProperties, oReloadInfo));
228
+ // if RTA is already starting after a reload, all checks have already been done
229
+ if (!ReloadManager.needsAutomaticStart(mProperties.layer)) {
230
+ merge(mProperties, {
231
+ ignoreMaxLayerParameter: false,
232
+ includeCtrlVariants: true
233
+ });
234
+ const oReloadInfo = await ReloadInfoAPI.getReloadReasonsForStart(mProperties);
235
+ if (
236
+ oReloadInfo.hasHigherLayerChanges
237
+ || oReloadInfo.isDraftAvailable
238
+ || oReloadInfo.allContexts
239
+ ) {
240
+ return triggerReloadOnStart(merge(mProperties, oReloadInfo));
241
+ }
239
242
  }
240
243
  return undefined;
241
244
  };
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  *
19
19
  * @extends sap.ui.core.EventBus
20
20
  * @author SAP SE
21
- * @version 1.144.0
21
+ * @version 1.146.0
22
22
  * @private
23
23
  * @since 1.56.0
24
24
  * @alias sap.ui.rta.util.ServiceEventBus
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @extends sap.ui.base.ManagedObject
29
29
  * @author SAP SE
30
- * @version 1.144.0
30
+ * @version 1.146.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @since 1.121
@@ -46,7 +46,7 @@ sap.ui.define([
46
46
  * @alias sap.ui.rta.util.changeVisualization.ChangeIndicator
47
47
  * @author SAP SE
48
48
  * @since 1.84.0
49
- * @version 1.144.0
49
+ * @version 1.146.0
50
50
  * @private
51
51
  */
52
52
  const ChangeIndicator = Control.extend("sap.ui.rta.util.changeVisualization.ChangeIndicator", {
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @alias sap.ui.rta.util.changeVisualization.ChangeIndicatorRegistry
38
38
  * @author SAP SE
39
39
  * @since 1.86.0
40
- * @version 1.144.0
40
+ * @version 1.146.0
41
41
  * @private
42
42
  */
43
43
  const ChangeIndicatorRegistry = ManagedObject.extend("sap.ui.rta.util.changeVisualization.ChangeIndicatorRegistry", {
@@ -84,7 +84,7 @@ sap.ui.define([
84
84
  * @alias sap.ui.rta.util.changeVisualization.ChangeVisualization
85
85
  * @author SAP SE
86
86
  * @since 1.84.0
87
- * @version 1.144.0
87
+ * @version 1.146.0
88
88
  * @private
89
89
  */
90
90
  const ChangeVisualization = Control.extend("sap.ui.rta.util.changeVisualization.ChangeVisualization", {
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  *
37
37
  * @function
38
38
  * @author SAP SE
39
- * @version 1.144.0
39
+ * @version 1.146.0
40
40
  * @alias sap.ui.rta.util.ChangeVisualization.resolveBinding
41
41
  * @since 1.140
42
42
  * @private
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @class Constructor for a new sap.ui.rta.util.guidedTour.GuidedTour
28
28
  * @extends sap.ui.base.ManagedObject
29
29
  * @author SAP SE
30
- * @version 1.144.0
30
+ * @version 1.146.0
31
31
  * @constructor
32
32
  * @since 1.136
33
33
  * @private
@@ -128,6 +128,8 @@ sap.ui.define([
128
128
  this.setProperty("steps", oTourContent.steps);
129
129
  this.setProperty("initialStateSelectors", oTourContent.initialStateSelectors);
130
130
  const oRTAResourceModel = new ResourceModel({ bundleName: "sap.ui.rta.messagebundle" });
131
+ // The popover has default animations for opening and closing. These animations ensure that the application completes all pending
132
+ // processes before you proceed. Removing the animations can cause timing issues, for example, when switching to visualization.
131
133
  this._oPopover = await Fragment.load({
132
134
  id: "guidedTourMarker",
133
135
  name: "sap.ui.rta.util.guidedTour.TourMarker",
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  * @class Constructor for a new sap.ui.rta.util.whatsNew.WhatsNew
32
32
  * @extends sap.ui.base.ManagedObject
33
33
  * @author SAP SE
34
- * @version 1.144.0
34
+ * @version 1.146.0
35
35
  * @constructor
36
36
  * @since 1.129
37
37
  * @private