@openui5/sap.ui.rta 1.115.0 → 1.116.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 (174) hide show
  1. package/.eslintrc.json +33 -2
  2. package/.reuse/dep5 +0 -5
  3. package/THIRDPARTY.txt +1 -7
  4. package/package.json +6 -6
  5. package/src/sap/ui/rta/.library +1 -1
  6. package/src/sap/ui/rta/Client.js +60 -59
  7. package/src/sap/ui/rta/RuntimeAuthoring.js +253 -248
  8. package/src/sap/ui/rta/Utils.js +42 -42
  9. package/src/sap/ui/rta/api/startAdaptation.js +2 -2
  10. package/src/sap/ui/rta/appVariant/AppVariantDialog.js +3 -3
  11. package/src/sap/ui/rta/appVariant/AppVariantManager.js +27 -27
  12. package/src/sap/ui/rta/appVariant/AppVariantUtils.js +97 -97
  13. package/src/sap/ui/rta/appVariant/Feature.js +75 -77
  14. package/src/sap/ui/rta/appVariant/S4HanaCloudBackend.js +6 -7
  15. package/src/sap/ui/rta/appVariant/Utils.js +17 -17
  16. package/src/sap/ui/rta/appVariant/manageApps/webapp/controller/ManageApps.controller.js +36 -36
  17. package/src/sap/ui/rta/command/AddIFrame.js +7 -7
  18. package/src/sap/ui/rta/command/AddProperty.js +7 -7
  19. package/src/sap/ui/rta/command/AddXML.js +1 -1
  20. package/src/sap/ui/rta/command/AddXMLAtExtensionPoint.js +7 -7
  21. package/src/sap/ui/rta/command/AppDescriptorCommand.js +18 -18
  22. package/src/sap/ui/rta/command/BaseCommand.js +1 -2
  23. package/src/sap/ui/rta/command/BindProperty.js +1 -1
  24. package/src/sap/ui/rta/command/Combine.js +1 -1
  25. package/src/sap/ui/rta/command/CommandFactory.js +11 -11
  26. package/src/sap/ui/rta/command/CompositeCommand.js +1 -1
  27. package/src/sap/ui/rta/command/ControlVariantConfigure.js +2 -2
  28. package/src/sap/ui/rta/command/ControlVariantSave.js +1 -1
  29. package/src/sap/ui/rta/command/ControlVariantSaveAs.js +22 -22
  30. package/src/sap/ui/rta/command/ControlVariantSetTitle.js +7 -7
  31. package/src/sap/ui/rta/command/ControlVariantSwitch.js +11 -11
  32. package/src/sap/ui/rta/command/CreateContainer.js +2 -2
  33. package/src/sap/ui/rta/command/CustomAdd.js +1 -1
  34. package/src/sap/ui/rta/command/FlexCommand.js +30 -30
  35. package/src/sap/ui/rta/command/LREPSerializer.js +2 -2
  36. package/src/sap/ui/rta/command/LocalReset.js +1 -1
  37. package/src/sap/ui/rta/command/Move.js +1 -1
  38. package/src/sap/ui/rta/command/Property.js +1 -1
  39. package/src/sap/ui/rta/command/Remove.js +1 -1
  40. package/src/sap/ui/rta/command/Rename.js +1 -1
  41. package/src/sap/ui/rta/command/Resize.js +1 -1
  42. package/src/sap/ui/rta/command/Reveal.js +1 -1
  43. package/src/sap/ui/rta/command/Settings.js +1 -1
  44. package/src/sap/ui/rta/command/Split.js +1 -1
  45. package/src/sap/ui/rta/command/Stack.js +4 -4
  46. package/src/sap/ui/rta/command/appDescriptor/AddLibrary.js +1 -1
  47. package/src/sap/ui/rta/command/compVariant/CompVariantContent.js +1 -1
  48. package/src/sap/ui/rta/command/compVariant/CompVariantSaveAs.js +1 -1
  49. package/src/sap/ui/rta/command/compVariant/CompVariantSwitch.js +1 -1
  50. package/src/sap/ui/rta/command/compVariant/CompVariantUpdate.js +1 -1
  51. package/src/sap/ui/rta/enablement/TestDelegate.js +92 -92
  52. package/src/sap/ui/rta/enablement/elementActionTest.js +230 -112
  53. package/src/sap/ui/rta/library.js +2 -2
  54. package/src/sap/ui/rta/messagebundle.properties +11 -1
  55. package/src/sap/ui/rta/messagebundle_ar.properties +5 -0
  56. package/src/sap/ui/rta/messagebundle_bg.properties +5 -0
  57. package/src/sap/ui/rta/messagebundle_ca.properties +5 -0
  58. package/src/sap/ui/rta/messagebundle_cs.properties +5 -0
  59. package/src/sap/ui/rta/messagebundle_cy.properties +5 -0
  60. package/src/sap/ui/rta/messagebundle_da.properties +5 -0
  61. package/src/sap/ui/rta/messagebundle_de.properties +5 -0
  62. package/src/sap/ui/rta/messagebundle_el.properties +5 -0
  63. package/src/sap/ui/rta/messagebundle_en.properties +5 -0
  64. package/src/sap/ui/rta/messagebundle_en_GB.properties +5 -0
  65. package/src/sap/ui/rta/messagebundle_en_US_sappsd.properties +5 -0
  66. package/src/sap/ui/rta/messagebundle_en_US_saprigi.properties +5 -0
  67. package/src/sap/ui/rta/messagebundle_en_US_saptrc.properties +6 -1
  68. package/src/sap/ui/rta/messagebundle_es.properties +5 -0
  69. package/src/sap/ui/rta/messagebundle_es_MX.properties +5 -0
  70. package/src/sap/ui/rta/messagebundle_et.properties +5 -0
  71. package/src/sap/ui/rta/messagebundle_fi.properties +5 -0
  72. package/src/sap/ui/rta/messagebundle_fr.properties +5 -0
  73. package/src/sap/ui/rta/messagebundle_fr_CA.properties +5 -0
  74. package/src/sap/ui/rta/messagebundle_hi.properties +5 -0
  75. package/src/sap/ui/rta/messagebundle_hr.properties +5 -0
  76. package/src/sap/ui/rta/messagebundle_hu.properties +5 -0
  77. package/src/sap/ui/rta/messagebundle_id.properties +5 -0
  78. package/src/sap/ui/rta/messagebundle_it.properties +5 -0
  79. package/src/sap/ui/rta/messagebundle_iw.properties +5 -0
  80. package/src/sap/ui/rta/messagebundle_ja.properties +5 -0
  81. package/src/sap/ui/rta/messagebundle_kk.properties +5 -0
  82. package/src/sap/ui/rta/messagebundle_ko.properties +5 -0
  83. package/src/sap/ui/rta/messagebundle_lt.properties +5 -0
  84. package/src/sap/ui/rta/messagebundle_lv.properties +5 -0
  85. package/src/sap/ui/rta/messagebundle_ms.properties +5 -0
  86. package/src/sap/ui/rta/messagebundle_nl.properties +5 -0
  87. package/src/sap/ui/rta/messagebundle_no.properties +5 -0
  88. package/src/sap/ui/rta/messagebundle_pl.properties +5 -0
  89. package/src/sap/ui/rta/messagebundle_pt.properties +5 -0
  90. package/src/sap/ui/rta/messagebundle_pt_PT.properties +5 -0
  91. package/src/sap/ui/rta/messagebundle_ro.properties +5 -0
  92. package/src/sap/ui/rta/messagebundle_ru.properties +5 -0
  93. package/src/sap/ui/rta/messagebundle_sh.properties +5 -0
  94. package/src/sap/ui/rta/messagebundle_sk.properties +5 -0
  95. package/src/sap/ui/rta/messagebundle_sl.properties +5 -0
  96. package/src/sap/ui/rta/messagebundle_sv.properties +5 -0
  97. package/src/sap/ui/rta/messagebundle_th.properties +5 -0
  98. package/src/sap/ui/rta/messagebundle_tr.properties +5 -0
  99. package/src/sap/ui/rta/messagebundle_uk.properties +5 -0
  100. package/src/sap/ui/rta/messagebundle_vi.properties +5 -0
  101. package/src/sap/ui/rta/messagebundle_zh_CN.properties +5 -0
  102. package/src/sap/ui/rta/messagebundle_zh_TW.properties +5 -0
  103. package/src/sap/ui/rta/plugin/AddXMLAtExtensionPoint.js +44 -44
  104. package/src/sap/ui/rta/plugin/BaseCreate.js +29 -29
  105. package/src/sap/ui/rta/plugin/Combine.js +9 -9
  106. package/src/sap/ui/rta/plugin/ControlVariant.js +21 -21
  107. package/src/sap/ui/rta/plugin/CreateContainer.js +6 -6
  108. package/src/sap/ui/rta/plugin/CutPaste.js +46 -46
  109. package/src/sap/ui/rta/plugin/DragDrop.js +2 -2
  110. package/src/sap/ui/rta/plugin/EasyAdd.js +4 -4
  111. package/src/sap/ui/rta/plugin/EasyRemove.js +5 -5
  112. package/src/sap/ui/rta/plugin/LocalReset.js +25 -25
  113. package/src/sap/ui/rta/plugin/Plugin.js +20 -20
  114. package/src/sap/ui/rta/plugin/RTAElementMover.js +42 -42
  115. package/src/sap/ui/rta/plugin/Remove.js +11 -11
  116. package/src/sap/ui/rta/plugin/Rename.js +7 -7
  117. package/src/sap/ui/rta/plugin/RenameHandler.js +17 -17
  118. package/src/sap/ui/rta/plugin/Resize.js +62 -62
  119. package/src/sap/ui/rta/plugin/Selection.js +14 -14
  120. package/src/sap/ui/rta/plugin/Settings.js +20 -20
  121. package/src/sap/ui/rta/plugin/Split.js +7 -7
  122. package/src/sap/ui/rta/plugin/Stretch.js +4 -4
  123. package/src/sap/ui/rta/plugin/additionalElements/ActionExtractor.js +94 -87
  124. package/src/sap/ui/rta/plugin/additionalElements/AddElementsDialog.js +18 -18
  125. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsAnalyzer.js +98 -99
  126. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsPlugin.js +144 -144
  127. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsUtils.js +3 -4
  128. package/src/sap/ui/rta/plugin/additionalElements/CommandBuilder.js +67 -67
  129. package/src/sap/ui/rta/plugin/iframe/AddIFrame.js +38 -39
  130. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.fragment.xml +1 -0
  131. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.js +29 -29
  132. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialogController.js +5 -5
  133. package/src/sap/ui/rta/plugin/iframe/urlCleaner.js +1 -1
  134. package/src/sap/ui/rta/service/Action.js +36 -37
  135. package/src/sap/ui/rta/service/ControllerExtension.js +4 -4
  136. package/src/sap/ui/rta/service/Outline.js +59 -59
  137. package/src/sap/ui/rta/service/Property.js +125 -125
  138. package/src/sap/ui/rta/service/Receiver.js +78 -77
  139. package/src/sap/ui/rta/service/Selection.js +6 -6
  140. package/src/sap/ui/rta/service/SupportTools.js +30 -30
  141. package/src/sap/ui/rta/service/index.js +1 -1
  142. package/src/sap/ui/rta/toolbar/Adaptation.js +74 -26
  143. package/src/sap/ui/rta/toolbar/AdaptationRenderer.js +1 -1
  144. package/src/sap/ui/rta/toolbar/Base.js +17 -15
  145. package/src/sap/ui/rta/toolbar/BaseRenderer.js +1 -2
  146. package/src/sap/ui/rta/toolbar/Fiori.js +8 -8
  147. package/src/sap/ui/rta/toolbar/FioriLike.js +1 -1
  148. package/src/sap/ui/rta/toolbar/OverflowToolbarButton.js +4 -4
  149. package/src/sap/ui/rta/toolbar/Personalization.js +2 -2
  150. package/src/sap/ui/rta/toolbar/Standalone.js +1 -1
  151. package/src/sap/ui/rta/toolbar/contextBased/ManageAdaptations.js +13 -6
  152. package/src/sap/ui/rta/toolbar/contextBased/ManageAdaptationsDialog.fragment.xml +2 -8
  153. package/src/sap/ui/rta/toolbar/contextBased/SaveAsAdaptation.js +2 -3
  154. package/src/sap/ui/rta/toolbar/translation/Translation.js +41 -41
  155. package/src/sap/ui/rta/toolbar/versioning/Versioning.js +9 -9
  156. package/src/sap/ui/rta/util/Animation.js +5 -5
  157. package/src/sap/ui/rta/util/BindingsExtractor.js +33 -33
  158. package/src/sap/ui/rta/util/PluginManager.js +25 -25
  159. package/src/sap/ui/rta/util/PopupManager.js +27 -27
  160. package/src/sap/ui/rta/util/ReloadManager.js +1 -1
  161. package/src/sap/ui/rta/util/ServiceEventBus.js +3 -4
  162. package/src/sap/ui/rta/util/StylesLoader.js +9 -9
  163. package/src/sap/ui/rta/util/UrlParser.js +19 -19
  164. package/src/sap/ui/rta/util/adaptationStarter.js +34 -31
  165. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicator.js +21 -19
  166. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicatorRegistry.js +61 -61
  167. package/src/sap/ui/rta/util/changeVisualization/ChangeVisualization.js +73 -60
  168. package/src/sap/ui/rta/util/changeVisualization/commands/CombineVisualization.js +6 -6
  169. package/src/sap/ui/rta/util/changeVisualization/commands/CreateContainerVisualization.js +1 -1
  170. package/src/sap/ui/rta/util/changeVisualization/commands/SplitVisualization.js +1 -1
  171. package/src/sap/ui/rta/util/hasStableId.js +2 -2
  172. package/src/sap/ui/rta/util/showMessageBox.js +4 -5
  173. package/src/sap/ui/rta/util/validateFlexEnabled.js +5 -5
  174. package/src/sap/ui/rta/util/validateStableIds.js +8 -8
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @author SAP SE
28
28
  * @experimental Since 1.106
29
29
  * @since 1.106
30
- * @version 1.115.0
30
+ * @version 1.116.0
31
31
  * @private
32
32
  * @ui5-restricted
33
33
  */
@@ -44,12 +44,12 @@ sap.ui.define([
44
44
  modifier: JsControlTreeModifier,
45
45
  layer: oRta.getLayer()
46
46
  })
47
- .then(function(oChangeHandler) {
48
- return oChangeHandler;
49
- })
50
- .catch(function() {
51
- return;
52
- });
47
+ .then(function(oChangeHandler) {
48
+ return oChangeHandler;
49
+ })
50
+ .catch(function() {
51
+ return;
52
+ });
53
53
  }
54
54
  return Promise.resolve(undefined);
55
55
  }
@@ -97,29 +97,29 @@ sap.ui.define([
97
97
  var bIsSibling = isPluginForSibling(sPluginName);
98
98
 
99
99
  return getPluginChangeHandler(oInstance, oOverlay, oRta)
100
- .then(function(oChangeHandler) {
101
- return {
102
- name: sPluginName,
103
- isAvailable: oInstance.isAvailable([oOverlay], bIsSibling),
104
- hasChangeHandler: !!oChangeHandler
105
- };
106
- });
107
- }))
108
- .then(function(aPlugins) {
100
+ .then(function(oChangeHandler) {
109
101
  return {
110
- elementId: oElement.getId(),
111
- elementControlType: oElement.getMetadata().getName(),
112
- overlayId: oOverlay.getId(),
113
- plugins: aPlugins
102
+ name: sPluginName,
103
+ isAvailable: oInstance.isAvailable([oOverlay], bIsSibling),
104
+ hasChangeHandler: !!oChangeHandler
114
105
  };
115
106
  });
107
+ }))
108
+ .then(function(aPlugins) {
109
+ return {
110
+ elementId: oElement.getId(),
111
+ elementControlType: oElement.getMetadata().getName(),
112
+ overlayId: oOverlay.getId(),
113
+ plugins: aPlugins
114
+ };
115
+ });
116
116
  }
117
117
 
118
118
  function printChangeHandler(oRta, mPayload) {
119
119
  var oOverlay = Core.byId(mPayload.overlayId);
120
120
  var oPlugin = getPluginByName(oRta, mPayload.pluginName);
121
121
  getPluginChangeHandler(oPlugin, oOverlay, oRta)
122
- .then(console.log); // eslint-disable-line no-console
122
+ .then(console.log); // eslint-disable-line no-console
123
123
  }
124
124
 
125
125
  function printDesignTimeMetadata(oRta, mPayload) {
@@ -174,15 +174,15 @@ sap.ui.define([
174
174
 
175
175
  if (mHandler) {
176
176
  Promise.resolve(mHandler.handler(oRta, oEvent.data.content))
177
- .then(function(oResult) {
178
- if (mHandler.returnMessageType) {
179
- oEvent.source.postMessage({
180
- id: mHandler.id,
181
- type: mHandler.returnMessageType,
182
- content: oResult
183
- });
184
- }
185
- });
177
+ .then(function(oResult) {
178
+ if (mHandler.returnMessageType) {
179
+ oEvent.source.postMessage({
180
+ id: mHandler.id,
181
+ type: mHandler.returnMessageType,
182
+ content: oResult
183
+ });
184
+ }
185
+ });
186
186
  }
187
187
  }
188
188
 
@@ -4,7 +4,7 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
 
7
- sap.ui.define(function () {
7
+ sap.ui.define(function() {
8
8
  "use strict";
9
9
 
10
10
  return Object.freeze({
@@ -7,7 +7,6 @@
7
7
  sap.ui.define([
8
8
  "./AdaptationRenderer",
9
9
  "sap/base/Log",
10
- "sap/m/MessageBox",
11
10
  "sap/ui/core/BusyIndicator",
12
11
  "sap/ui/core/Fragment",
13
12
  "sap/ui/core/Popup",
@@ -15,18 +14,17 @@ sap.ui.define([
15
14
  "sap/ui/fl/write/api/ContextBasedAdaptationsAPI",
16
15
  "sap/ui/fl/write/api/Version",
17
16
  "sap/ui/model/json/JSONModel",
18
- "sap/ui/model/resource/ResourceModel",
19
17
  "sap/ui/rta/appVariant/Feature",
20
18
  "sap/ui/rta/toolbar/Base",
21
19
  "sap/ui/rta/toolbar/contextBased/ManageAdaptations",
22
20
  "sap/ui/rta/toolbar/contextBased/SaveAsAdaptation",
23
21
  "sap/ui/rta/toolbar/translation/Translation",
24
22
  "sap/ui/rta/toolbar/versioning/Versioning",
25
- "sap/ui/rta/Utils"
23
+ "sap/ui/rta/Utils",
24
+ "sap/m/MessageBox"
26
25
  ], function(
27
26
  AdaptationRenderer,
28
27
  Log,
29
- MessageBox,
30
28
  BusyIndicator,
31
29
  Fragment,
32
30
  Popup,
@@ -34,14 +32,14 @@ sap.ui.define([
34
32
  ContextBasedAdaptationsAPI,
35
33
  Version,
36
34
  JSONModel,
37
- ResourceModel,
38
35
  AppVariantFeature,
39
36
  Base,
40
37
  ManageAdaptations,
41
38
  SaveAsAdaptation,
42
39
  Translation,
43
40
  Versioning,
44
- Utils
41
+ Utils,
42
+ MessageBox
45
43
  ) {
46
44
  "use strict";
47
45
 
@@ -53,7 +51,7 @@ sap.ui.define([
53
51
  * @extends sap.ui.rta.toolbar.Base
54
52
  *
55
53
  * @author SAP SE
56
- * @version 1.115.0
54
+ * @version 1.116.0
57
55
  *
58
56
  * @constructor
59
57
  * @private
@@ -108,7 +106,7 @@ sap.ui.define([
108
106
 
109
107
  Adaptation.prototype._calculateWindowWidth = function(aEntries) {
110
108
  var iSectionWidth = aEntries[0].intersectionRect.width;
111
- return (iSectionWidth * 2) + this._iSwitcherToolbarWidth + 80/*toolbar padding*/;
109
+ return (iSectionWidth * 2) + this._iSwitcherToolbarWidth + 80/* toolbar padding */;
112
110
  };
113
111
 
114
112
  Adaptation.prototype.onFragmentLoaded = function() {
@@ -132,7 +130,7 @@ sap.ui.define([
132
130
  }
133
131
  };
134
132
 
135
- Adaptation.prototype._onResize = function () {
133
+ Adaptation.prototype._onResize = function() {
136
134
  if (this._iOnResizeAnimationFrame) {
137
135
  window.cancelAnimationFrame(this._iOnResizeAnimationFrame);
138
136
  }
@@ -209,9 +207,9 @@ sap.ui.define([
209
207
 
210
208
  Adaptation.prototype.show = function() {
211
209
  return Base.prototype.show.call(this, this.initialAdjustToolbarSectionWidths.bind(this))
212
- .then(function() {
213
- this._observeIntersections();
214
- }.bind(this));
210
+ .then(function() {
211
+ this._observeIntersections();
212
+ }.bind(this));
215
213
  };
216
214
 
217
215
  function setButtonProperties(sButtonName, sIcon, sTextKey, sToolTipKey) {
@@ -223,15 +221,15 @@ sap.ui.define([
223
221
  oButton.setIcon(sIcon || "");
224
222
  }
225
223
 
226
- Adaptation.prototype.formatPublishVersionVisibility = function (bPublishVisible, bVersioningEnabled, sDisplayedVersion, sModeSwitcher) {
224
+ Adaptation.prototype.formatPublishVersionVisibility = function(bPublishVisible, bVersioningEnabled, sDisplayedVersion, sModeSwitcher) {
227
225
  return this.getExtension("versioning", Versioning).formatPublishVersionVisibility(bPublishVisible, bVersioningEnabled, sDisplayedVersion, sModeSwitcher);
228
226
  };
229
227
 
230
- Adaptation.prototype.formatDiscardDraftVisible = function (sDisplayedVersion, bVersioningEnabled, sModeSwitcher) {
228
+ Adaptation.prototype.formatDiscardDraftVisible = function(sDisplayedVersion, bVersioningEnabled, sModeSwitcher) {
231
229
  return this.getExtension("versioning", Versioning).formatDiscardDraftVisible(sDisplayedVersion, bVersioningEnabled, sModeSwitcher);
232
230
  };
233
231
 
234
- Adaptation.prototype.formatVersionButtonText = function (aVersions, sDisplayedVersion) {
232
+ Adaptation.prototype.formatVersionButtonText = function(aVersions, sDisplayedVersion) {
235
233
  return this.getExtension("versioning", Versioning).formatVersionButtonText(aVersions, sDisplayedVersion);
236
234
  };
237
235
 
@@ -239,7 +237,7 @@ sap.ui.define([
239
237
  return this.getExtension("versioning", Versioning).showVersionHistory(oEvent);
240
238
  };
241
239
 
242
- Adaptation.prototype._openVersionTitleDialog = function (sDisplayedVersion) {
240
+ Adaptation.prototype._openVersionTitleDialog = function(sDisplayedVersion) {
243
241
  return this.getExtension("versioning", Versioning).openActivateVersionDialog(sDisplayedVersion);
244
242
  };
245
243
 
@@ -287,7 +285,7 @@ sap.ui.define([
287
285
  this.adjustToolbarSectionWidths();
288
286
  };
289
287
 
290
- Adaptation.prototype._switchToTexts = function () {
288
+ Adaptation.prototype._switchToTexts = function() {
291
289
  this._showButtonText("adaptationSwitcherButton", "BTN_ADAPTATION");
292
290
  this._showButtonText("navigationSwitcherButton", "BTN_NAVIGATION");
293
291
  this._showButtonText("visualizationSwitcherButton", "BTN_VISUALIZATION");
@@ -301,7 +299,7 @@ sap.ui.define([
301
299
  *
302
300
  * @returns {Promise<sap.ui.core.Control[]>} Returns the controls in a structure described above.
303
301
  */
304
- Adaptation.prototype.buildControls = function () {
302
+ Adaptation.prototype.buildControls = function() {
305
303
  return Fragment.load({
306
304
  name: "sap.ui.rta.toolbar.Adaptation",
307
305
  id: this.getId() + "_fragment",
@@ -351,10 +349,60 @@ sap.ui.define([
351
349
  AppVariantFeature.onSaveAs(true, true, this.getRtaInformation().flexSettings.layer, null);
352
350
  }
353
351
 
352
+ function confirmMigration(oRtaInformation) {
353
+ var bDirty = oRtaInformation.commandStack.canSave();
354
+
355
+ Utils.showMessageBox("confirm", (bDirty) ? "DAC_DIALOG_MIGRATION_DIRTY_DESCRIPTION" : "DAC_DIALOG_MIGRATION_DESCRIPTION", {
356
+ titleKey: "DAC_DIALOG_MIGRATION_HEADER",
357
+ actionKeys: ["DAC_DIALOG_MIGRATION_HEADER"],
358
+ showCancel: true
359
+ })
360
+ .then(function(sAction) {
361
+ if (sAction !== MessageBox.Action.CANCEL) {
362
+ BusyIndicator.show();
363
+
364
+ if (bDirty) {
365
+ oRtaInformation.commandStack.removeAllCommands(true);
366
+ }
367
+
368
+ ContextBasedAdaptationsAPI.migrate({
369
+ control: oRtaInformation.rootControl,
370
+ layer: oRtaInformation.flexSettings.layer
371
+ })
372
+ .finally(function() {
373
+ BusyIndicator.hide();
374
+ })
375
+ .then(Utils.showMessageBox.bind(undefined, "information", "DAC_DIALOG_MIGRATION_SUCCESSFULL_DESCRIPTION", {
376
+ titleKey: "DAC_DIALOG_MIGRATION_HEADER"
377
+ }))
378
+ .then(function() {
379
+ return new Promise(function(resolve) {
380
+ this.fireEvent("switchAdaptation", {adaptationId: "DEFAULT", callback: resolve});
381
+ }.bind(this));
382
+ }.bind(this))
383
+ .catch(function(oError) {
384
+ Log.error(oError.stack || oError);
385
+ var sMessage = "DAC_DIALOG_MIGRATION_ERROR_DESCRIPTION";
386
+ var oOptions = {
387
+ titleKey: "DAC_DIALOG_MIGRATION_HEADER",
388
+ details: oError.userMessage || oError
389
+ };
390
+ Utils.showMessageBox("error", sMessage, oOptions);
391
+ });
392
+ }
393
+ }.bind(this));
394
+ }
395
+
354
396
  function onSaveAsAdaptation() {
355
- Utils.checkDraftOverwrite(this.getModel("versions"))
356
- .then(function() {
357
- this.getExtension("contextBasedSaveAs", SaveAsAdaptation).openAddAdaptationDialog(this.getRtaInformation().flexSettings.layer);
397
+ var oRtaInformation = this.getRtaInformation();
398
+ Utils.checkDraftOverwrite(this.getModel("versions")).then(function() {
399
+ return ContextBasedAdaptationsAPI.canMigrate({ control: oRtaInformation.rootControl, layer: oRtaInformation.flexSettings.layer });
400
+ }).then(function(bCanMigrate) {
401
+ if (bCanMigrate) {
402
+ confirmMigration.call(this, oRtaInformation);
403
+ } else {
404
+ this.getExtension("contextBasedSaveAs", SaveAsAdaptation).openAddAdaptationDialog(oRtaInformation.flexSettings.layer);
405
+ }
358
406
  }.bind(this))
359
407
  .catch(handleError);
360
408
  }
@@ -362,7 +410,7 @@ sap.ui.define([
362
410
  function onEditAdaptation() {
363
411
  Utils.checkDraftOverwrite(this.getModel("versions"))
364
412
  .then(function() {
365
- this.getExtension("contextBasedSaveAs", SaveAsAdaptation).openAddAdaptationDialog(this.getRtaInformation().flexSettings.layer, true /*bIsEditMode*/);
413
+ this.getExtension("contextBasedSaveAs", SaveAsAdaptation).openAddAdaptationDialog(this.getRtaInformation().flexSettings.layer, true /* bIsEditMode */);
366
414
  }.bind(this))
367
415
  .catch(handleError);
368
416
  }
@@ -393,7 +441,7 @@ sap.ui.define([
393
441
  function formatAdaptationsMenuText(iCount, sTitle) {
394
442
  if (iCount > 0) {
395
443
  if (sTitle === "") {
396
- sTitle = this.getTextResources().getText("TXT_DEFAULT_APP");
444
+ return this.getTextResources().getText("TXT_DEFAULT_APP");
397
445
  }
398
446
  return this.getTextResources().getText("BTN_ADAPTING_FOR", sTitle);
399
447
  }
@@ -440,7 +488,7 @@ sap.ui.define([
440
488
  var sURLPart2 = "SV_4MANxRymEIl9K06";
441
489
  var sURL = sURLPart1 + sURLPart2;
442
490
  var oUrlParams = new URLSearchParams();
443
- oUrlParams.set("version", sap.ui.version);
491
+ oUrlParams.set("version", Core.getConfiguration().getVersion().toString());
444
492
  oUrlParams.set("feature", (sConnector === "KeyUserConnector" ? "BTP" : "ABAP"));
445
493
 
446
494
  var oFeedbackDialogModel = new JSONModel({
@@ -450,7 +498,7 @@ sap.ui.define([
450
498
  return Fragment.load({
451
499
  name: "sap.ui.rta.toolbar.FeedbackDialog",
452
500
  controller: this
453
- }).then(function (oFeedbackDialog) {
501
+ }).then(function(oFeedbackDialog) {
454
502
  this._oFeedbackDialog = oFeedbackDialog;
455
503
  this._oFeedbackDialog.addStyleClass(Utils.getRtaStyleClassName());
456
504
  this._oFeedbackDialog.setModel(oFeedbackDialogModel, "feedbackModel");
@@ -459,7 +507,7 @@ sap.ui.define([
459
507
  this._oFeedbackDialog.destroy();
460
508
  }.bind(this));
461
509
  this._oFeedbackDialog.open();
462
- }.bind(this)).catch(function (oError) {
510
+ }.bind(this)).catch(function(oError) {
463
511
  Log.error("Error loading fragment sap.ui.rta.toolbar.FeedbackDialog: ", oError);
464
512
  });
465
513
  };
@@ -15,7 +15,7 @@ sap.ui.define([
15
15
 
16
16
  AdaptationRenderer.apiVersion = 1; // @todo-semantic-rendering out of order .class() call before openStart
17
17
 
18
- AdaptationRenderer.render = function (oRM, oControl) {
18
+ AdaptationRenderer.render = function(oRM, oControl) {
19
19
  oRM.class("sapUiRtaToolbarAdaptation");
20
20
 
21
21
  BaseRenderer.render(oRM, oControl);
@@ -6,12 +6,14 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/m/HBox",
9
+ "sap/ui/core/StaticArea",
9
10
  "sap/ui/dt/util/ZIndexManager",
10
11
  "sap/ui/model/resource/ResourceModel",
11
12
  "sap/ui/rta/util/Animation",
12
13
  "./BaseRenderer"
13
14
  ], function(
14
15
  HBox,
16
+ StaticArea,
15
17
  ZIndexManager,
16
18
  ResourceModel,
17
19
  Animation,
@@ -27,7 +29,7 @@ sap.ui.define([
27
29
  * @extends sap.m.HBox
28
30
  *
29
31
  * @author SAP SE
30
- * @version 1.115.0
32
+ * @version 1.116.0
31
33
  *
32
34
  * @constructor
33
35
  * @private
@@ -148,7 +150,7 @@ sap.ui.define([
148
150
  * @param {string} sEventName - Name of the event
149
151
  * @param {sap.ui.base.Event} oEvent - Event object
150
152
  */
151
- Base.prototype.eventHandler = function (sEventName, oEvent) {
153
+ Base.prototype.eventHandler = function(sEventName, oEvent) {
152
154
  this["fire" + sEventName](oEvent.getParameters());
153
155
  };
154
156
 
@@ -158,7 +160,7 @@ sap.ui.define([
158
160
  * @returns {Promise<sap.ui.core.Control[]>} A Promise that resolves with an array of controls
159
161
  * @protected
160
162
  */
161
- Base.prototype.buildControls = function () {
163
+ Base.prototype.buildControls = function() {
162
164
  return Promise.resolve([]);
163
165
  };
164
166
 
@@ -166,9 +168,9 @@ sap.ui.define([
166
168
  * Function renders the Toolbar into the page
167
169
  * @protected
168
170
  */
169
- Base.prototype.placeToContainer = function () {
171
+ Base.prototype.placeToContainer = function() {
170
172
  // Render toolbar
171
- this.placeAt(sap.ui.getCore().getStaticAreaRef());
173
+ this.placeAt(StaticArea.getDomRef());
172
174
  };
173
175
 
174
176
  /**
@@ -176,8 +178,8 @@ sap.ui.define([
176
178
  * @protected
177
179
  * @returns {Promise} An empty Promise
178
180
  */
179
- Base.prototype.buildContent = function () {
180
- return this.buildControls().then(function (aControls) {
181
+ Base.prototype.buildContent = function() {
182
+ return this.buildControls().then(function(aControls) {
181
183
  aControls.forEach(this.addItem, this);
182
184
  }.bind(this));
183
185
  };
@@ -190,9 +192,9 @@ sap.ui.define([
190
192
  */
191
193
  Base.prototype.show = function(fnAdjustToolbarCallback) {
192
194
  // 1) create Promise and wait until DomRef is available
193
- return new Promise(function (fnResolve) {
195
+ return new Promise(function(fnResolve) {
194
196
  var oDelegate = {
195
- onAfterRendering: function () {
197
+ onAfterRendering: function() {
196
198
  this.removeEventDelegate(oDelegate);
197
199
  fnResolve();
198
200
  }
@@ -202,7 +204,7 @@ sap.ui.define([
202
204
  this.setVisible(true); // show DomRef
203
205
  }.bind(this))
204
206
  // 2) animate DomRef
205
- .then(function () {
207
+ .then(function() {
206
208
  if (fnAdjustToolbarCallback && typeof fnAdjustToolbarCallback === "function") {
207
209
  fnAdjustToolbarCallback();
208
210
  }
@@ -211,7 +213,7 @@ sap.ui.define([
211
213
  : Promise.resolve();
212
214
  }.bind(this))
213
215
  // 3) focus on Toolbar
214
- .then(function () {
216
+ .then(function() {
215
217
  this.focus();
216
218
  }.bind(this));
217
219
  };
@@ -234,9 +236,9 @@ sap.ui.define([
234
236
  }
235
237
  return oPromise
236
238
  // 2) hide DomRef
237
- .then(function () {
238
- this.setVisible(false);
239
- }.bind(this));
239
+ .then(function() {
240
+ this.setVisible(false);
241
+ }.bind(this));
240
242
  };
241
243
 
242
244
  /**
@@ -254,7 +256,7 @@ sap.ui.define([
254
256
  * Place the Toolbar above everything on the page
255
257
  * @public
256
258
  */
257
- Base.prototype.bringToFront = function () {
259
+ Base.prototype.bringToFront = function() {
258
260
  this.setZIndex(ZIndexManager.getNextZIndex());
259
261
  };
260
262
 
@@ -18,7 +18,7 @@ function(
18
18
 
19
19
  BaseRenderer.apiVersion = 1; // @todo-semantic-rendering out of order .class() and .style() calls before openStart
20
20
 
21
- BaseRenderer.render = function (oRM, oControl) {
21
+ BaseRenderer.render = function(oRM, oControl) {
22
22
  oRM.class("sapUiRtaToolbar");
23
23
  oRM.class("color_" + oControl.getColor());
24
24
 
@@ -32,6 +32,5 @@ function(
32
32
  HBoxRenderer.render(oRM, oControl);
33
33
  };
34
34
 
35
-
36
35
  return BaseRenderer;
37
36
  });
@@ -32,7 +32,7 @@ function(
32
32
  * @extends sap.ui.rta.toolbar.Adaptation
33
33
  *
34
34
  * @author SAP SE
35
- * @version 1.115.0
35
+ * @version 1.116.0
36
36
  *
37
37
  * @constructor
38
38
  * @private
@@ -48,19 +48,19 @@ function(
48
48
  type: "fiori"
49
49
  });
50
50
 
51
- Fiori.prototype.init = function () {
51
+ Fiori.prototype.init = function() {
52
52
  this._oRenderer = Utils.getFiori2Renderer();
53
53
  this._oFioriHeader = this._oRenderer.getRootControl().getShellHeader();
54
54
  Adaptation.prototype.init.apply(this, arguments);
55
55
  };
56
56
 
57
- Fiori.prototype.show = function () {
57
+ Fiori.prototype.show = function() {
58
58
  this._oFioriHeader.addStyleClass(FIORI_HIDDEN_CLASS);
59
59
  return Adaptation.prototype.show.apply(this, arguments);
60
60
  };
61
61
 
62
- Fiori.prototype.buildControls = function () {
63
- return Adaptation.prototype.buildControls.apply(this, arguments).then(function (aControls) {
62
+ Fiori.prototype.buildControls = function() {
63
+ return Adaptation.prototype.buildControls.apply(this, arguments).then(function(aControls) {
64
64
  var sLogoPath = this._oFioriHeader.getLogo();
65
65
 
66
66
  if (this._oFioriHeader.getShowLogo() && sLogoPath) {
@@ -95,9 +95,9 @@ function(
95
95
  /**
96
96
  * @inheritDoc
97
97
  */
98
- Fiori.prototype.hide = function () {
98
+ Fiori.prototype.hide = function() {
99
99
  return Adaptation.prototype.hide.apply(this, arguments)
100
- .then(function () {
100
+ .then(function() {
101
101
  this._oFioriHeader.removeStyleClass(FIORI_HIDDEN_CLASS);
102
102
  }.bind(this));
103
103
  };
@@ -156,7 +156,7 @@ function(
156
156
  oIconSpacer.setVisible(bVisible);
157
157
  };
158
158
 
159
- Fiori.prototype.destroy = function () {
159
+ Fiori.prototype.destroy = function() {
160
160
  // In case of destroy() without normal hide() call
161
161
  this._oFioriHeader.removeStyleClass(FIORI_HIDDEN_CLASS);
162
162
 
@@ -20,7 +20,7 @@ function(
20
20
  * @extends sap.ui.rta.toolbar.Adaptation
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.115.0
23
+ * @version 1.116.0
24
24
  *
25
25
  * @constructor
26
26
  * @private
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @extends sap.m.OverflowToolbarButton
24
24
  *
25
25
  * @author SAP SE
26
- * @version 1.115.0
26
+ * @version 1.116.0
27
27
  *
28
28
  * @constructor
29
29
  * @private
@@ -50,7 +50,7 @@ sap.ui.define([
50
50
  *
51
51
  * @private
52
52
  */
53
- OverflowToolbarButton.prototype._onBeforeEnterOverflow = function () {
53
+ OverflowToolbarButton.prototype._onBeforeEnterOverflow = function() {
54
54
  SapMOverflowToolbarButton.prototype._onBeforeEnterOverflow.apply(this, arguments);
55
55
  this.setVisibleIcon(this.getIcon());
56
56
  this.setIcon("");
@@ -61,7 +61,7 @@ sap.ui.define([
61
61
  *
62
62
  * @private
63
63
  */
64
- OverflowToolbarButton.prototype._onAfterExitOverflow = function () {
64
+ OverflowToolbarButton.prototype._onAfterExitOverflow = function() {
65
65
  SapMOverflowToolbarButton.prototype._onAfterExitOverflow.apply(this, arguments);
66
66
  this.setIcon(this.getVisibleIcon());
67
67
  };
@@ -86,7 +86,7 @@ sap.ui.define([
86
86
  * @public
87
87
  * @returns {object} Configuration information for the <code>sap.m.IOverflowToolbarContent</code> interface.
88
88
  */
89
- OverflowToolbarButton.prototype.getOverflowToolbarConfig = function () {
89
+ OverflowToolbarButton.prototype.getOverflowToolbarConfig = function() {
90
90
  return {
91
91
  canOverflow: true,
92
92
  onBeforeEnterOverflow: this._onBeforeEnterOverflow.bind(this),
@@ -22,7 +22,7 @@ function(
22
22
  * @extends sap.ui.rta.toolbar.Base
23
23
  *
24
24
  * @author SAP SE
25
- * @version 1.115.0
25
+ * @version 1.116.0
26
26
  *
27
27
  * @constructor
28
28
  * @private
@@ -62,7 +62,7 @@ function(
62
62
  text: "{i18n>BTN_DONE}",
63
63
  press: this.eventHandler.bind(this, "Exit")
64
64
  }).data("name", "exit")
65
- ].forEach(function (oControl) {
65
+ ].forEach(function(oControl) {
66
66
  this.addItem(oControl);
67
67
  }.bind(this));
68
68
 
@@ -20,7 +20,7 @@ function(
20
20
  * @extends sap.ui.rta.toolbar.Adaptation
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.115.0
23
+ * @version 1.116.0
24
24
  *
25
25
  * @constructor
26
26
  * @private
@@ -79,7 +79,7 @@ function(
79
79
  onSaveReorderedAdaptations: onSaveReorderedAdaptations.bind(this),
80
80
  isAdaptationsSelected: isAdaptationsSelected.bind(this),
81
81
  getIndexOfSelectedAdaptation: getIndexOfSelectedAdaptation.bind(this),
82
- onClose: onCloseDialog.bind(this)
82
+ onCancel: onCancelDialog.bind(this)
83
83
  }
84
84
  }).then(function(oDialog) {
85
85
  this._oManageAdaptationDialog = oDialog;
@@ -99,6 +99,7 @@ function(
99
99
  this.oAdaptationsModel = ContextBasedAdaptationsAPI.getAdaptationsModel({control: this._oRtaInformation.rootControl, layer: this._oRtaInformation.flexSettings.layer});
100
100
  this.oAdaptationsModel.updateAdaptations(oAdaptations.adaptations);
101
101
  this.oReferenceAdaptationsData = JSON.parse(JSON.stringify(this.oAdaptationsModel.getProperty("/adaptations")));
102
+ this._oOriginAdaptationsData = JSON.parse(JSON.stringify(this.oAdaptationsModel.getProperty("/allAdaptations")));
102
103
  this._oControlConfigurationModel = new JSONModel({isTableItemSelected: false});
103
104
  this._oManageAdaptationDialog.setModel(this.oAdaptationsModel, "contextBased");
104
105
  this._oManageAdaptationDialog.setModel(this._oControlConfigurationModel, "controlConfiguration");
@@ -171,7 +172,7 @@ function(
171
172
  if (sQuery && sQuery.length > 0) {
172
173
  syncEnabledPropertyOfMoveButtons.call(this);
173
174
  enableDragAndDropForAdaptationTable.call(this, false);
174
- //filter Table context
175
+ // filter Table context
175
176
  var oFilterByTitle = new Filter("title", FilterOperator.Contains, sQuery);
176
177
  var oFilterByContextId = new Filter({
177
178
  path: "contexts/role",
@@ -184,7 +185,7 @@ function(
184
185
  var oFilterCreatedBy = new Filter("createdBy", FilterOperator.Contains, sQuery);
185
186
  var oFilterChangedBy = new Filter("changedBy", FilterOperator.Contains, sQuery);
186
187
  oFilters = new Filter([oFilterByTitle, oFilterByContextId, oFilterCreatedBy, oFilterChangedBy]);
187
- //Filter default Table context
188
+ // Filter default Table context
188
189
  if (sDefaultTableText.toUpperCase().includes(sQuery.toUpperCase())) {
189
190
  oDefaultApplicationTable.setVisible(true);
190
191
  } else {
@@ -292,8 +293,8 @@ function(
292
293
 
293
294
  function didAdaptationsPriorityChange() {
294
295
  return !_isEqual(
295
- this.oAdaptationsModel.getProperty("/adaptations").map(function(oAdapation) { return oAdapation.id; }),
296
- this.oReferenceAdaptationsData.map(function(oAdapation) { return oAdapation.id; })
296
+ this.oAdaptationsModel.getProperty("/adaptations").map(function(oAdaptation) { return oAdaptation.id; }),
297
+ this.oReferenceAdaptationsData.map(function(oAdaptation) { return oAdaptation.id; })
297
298
  );
298
299
  }
299
300
 
@@ -347,7 +348,7 @@ function(
347
348
  }
348
349
 
349
350
  function onSaveReorderedAdaptations() {
350
- Utils.checkDraftOverwrite(this.getModel("versions")).then(function() {
351
+ Utils.checkDraftOverwrite(this.getToolbar().getModel("versions")).then(function() {
351
352
  var oRtaInformation = this.getToolbar().getRtaInformation();
352
353
  var aAdaptationPriorities = this.oAdaptationsModel.getProperty("/adaptations").map(function(oAdaptation) { return oAdaptation.id; });
353
354
  return ContextBasedAdaptationsAPI.reorder({control: oRtaInformation.rootControl, layer: oRtaInformation.flexSettings.layer, parameters: {priorities: aAdaptationPriorities}});
@@ -364,6 +365,12 @@ function(
364
365
  });
365
366
  }
366
367
 
368
+ function onCancelDialog() {
369
+ // the adaptationsModel has to be set to its origin as no reorder has taken place
370
+ this.oAdaptationsModel.updateAdaptations(this._oOriginAdaptationsData);
371
+ onCloseDialog.call(this);
372
+ }
373
+
367
374
  function onCloseDialog() {
368
375
  this._oControlConfigurationModel.setProperty("/isTableItemSelected", false);
369
376
  getSearchField.call(this).setValue("");