@openui5/sap.ui.rta 1.92.0 → 1.95.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 (152) hide show
  1. package/{.eslintrc → .eslintrc.json} +0 -0
  2. package/.reuse/dep5 +1 -6
  3. package/THIRDPARTY.txt +4 -10
  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 +67 -57
  8. package/src/sap/ui/rta/Utils.js +73 -1
  9. package/src/sap/ui/rta/appVariant/AppVariantManager.js +1 -1
  10. package/src/sap/ui/rta/appVariant/S4HanaCloudBackend.js +1 -2
  11. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_de.properties +1 -1
  12. package/src/sap/ui/rta/command/AddIFrame.js +1 -1
  13. package/src/sap/ui/rta/command/AddProperty.js +1 -1
  14. package/src/sap/ui/rta/command/AddXML.js +1 -1
  15. package/src/sap/ui/rta/command/AddXMLAtExtensionPoint.js +1 -1
  16. package/src/sap/ui/rta/command/AppDescriptorCommand.js +1 -1
  17. package/src/sap/ui/rta/command/BaseCommand.js +1 -1
  18. package/src/sap/ui/rta/command/BindProperty.js +1 -1
  19. package/src/sap/ui/rta/command/Combine.js +1 -1
  20. package/src/sap/ui/rta/command/CommandFactory.js +146 -125
  21. package/src/sap/ui/rta/command/CompositeCommand.js +1 -1
  22. package/src/sap/ui/rta/command/ControlVariantConfigure.js +1 -1
  23. package/src/sap/ui/rta/command/ControlVariantSave.js +1 -1
  24. package/src/sap/ui/rta/command/ControlVariantSaveAs.js +1 -1
  25. package/src/sap/ui/rta/command/ControlVariantSetTitle.js +1 -1
  26. package/src/sap/ui/rta/command/ControlVariantSwitch.js +1 -1
  27. package/src/sap/ui/rta/command/CreateContainer.js +1 -1
  28. package/src/sap/ui/rta/command/CustomAdd.js +1 -1
  29. package/src/sap/ui/rta/command/FlexCommand.js +25 -14
  30. package/src/sap/ui/rta/command/LREPSerializer.js +25 -24
  31. package/src/sap/ui/rta/command/LocalReset.js +1 -1
  32. package/src/sap/ui/rta/command/Move.js +1 -1
  33. package/src/sap/ui/rta/command/Property.js +1 -1
  34. package/src/sap/ui/rta/command/Remove.js +1 -1
  35. package/src/sap/ui/rta/command/Rename.js +1 -1
  36. package/src/sap/ui/rta/command/Reveal.js +1 -1
  37. package/src/sap/ui/rta/command/Settings.js +1 -1
  38. package/src/sap/ui/rta/command/Split.js +1 -1
  39. package/src/sap/ui/rta/command/Stack.js +2 -1
  40. package/src/sap/ui/rta/command/appDescriptor/AddLibrary.js +1 -1
  41. package/src/sap/ui/rta/command/compVariant/CompVariantSaveAs.js +1 -1
  42. package/src/sap/ui/rta/command/compVariant/CompVariantSwitch.js +1 -1
  43. package/src/sap/ui/rta/command/compVariant/CompVariantUpdate.js +1 -1
  44. package/src/sap/ui/rta/enablement/TestDelegate.js +47 -37
  45. package/src/sap/ui/rta/enablement/elementActionTest.js +29 -33
  46. package/src/sap/ui/rta/library.js +2 -2
  47. package/src/sap/ui/rta/messagebundle.properties +36 -4
  48. package/src/sap/ui/rta/messagebundle_ar.properties +17 -1
  49. package/src/sap/ui/rta/messagebundle_bg.properties +17 -1
  50. package/src/sap/ui/rta/messagebundle_ca.properties +17 -1
  51. package/src/sap/ui/rta/messagebundle_cs.properties +17 -1
  52. package/src/sap/ui/rta/messagebundle_cy.properties +17 -1
  53. package/src/sap/ui/rta/messagebundle_da.properties +17 -1
  54. package/src/sap/ui/rta/messagebundle_de.properties +32 -16
  55. package/src/sap/ui/rta/messagebundle_el.properties +18 -2
  56. package/src/sap/ui/rta/messagebundle_en.properties +17 -1
  57. package/src/sap/ui/rta/messagebundle_en_GB.properties +17 -1
  58. package/src/sap/ui/rta/messagebundle_en_US_sappsd.properties +18 -2
  59. package/src/sap/ui/rta/messagebundle_en_US_saprigi.properties +9 -0
  60. package/src/sap/ui/rta/messagebundle_en_US_saptrc.properties +18 -2
  61. package/src/sap/ui/rta/messagebundle_es.properties +17 -1
  62. package/src/sap/ui/rta/messagebundle_es_MX.properties +17 -1
  63. package/src/sap/ui/rta/messagebundle_et.properties +17 -1
  64. package/src/sap/ui/rta/messagebundle_fi.properties +19 -3
  65. package/src/sap/ui/rta/messagebundle_fr.properties +17 -1
  66. package/src/sap/ui/rta/messagebundle_fr_CA.properties +17 -1
  67. package/src/sap/ui/rta/messagebundle_hi.properties +17 -1
  68. package/src/sap/ui/rta/messagebundle_hr.properties +17 -1
  69. package/src/sap/ui/rta/messagebundle_hu.properties +17 -1
  70. package/src/sap/ui/rta/messagebundle_id.properties +19 -3
  71. package/src/sap/ui/rta/messagebundle_it.properties +17 -1
  72. package/src/sap/ui/rta/messagebundle_iw.properties +17 -1
  73. package/src/sap/ui/rta/messagebundle_ja.properties +17 -1
  74. package/src/sap/ui/rta/messagebundle_kk.properties +17 -1
  75. package/src/sap/ui/rta/messagebundle_ko.properties +18 -2
  76. package/src/sap/ui/rta/messagebundle_lt.properties +17 -1
  77. package/src/sap/ui/rta/messagebundle_lv.properties +17 -1
  78. package/src/sap/ui/rta/messagebundle_ms.properties +17 -1
  79. package/src/sap/ui/rta/messagebundle_nl.properties +17 -1
  80. package/src/sap/ui/rta/messagebundle_no.properties +17 -1
  81. package/src/sap/ui/rta/messagebundle_pl.properties +17 -1
  82. package/src/sap/ui/rta/messagebundle_pt.properties +17 -1
  83. package/src/sap/ui/rta/messagebundle_pt_PT.properties +17 -1
  84. package/src/sap/ui/rta/messagebundle_ro.properties +17 -1
  85. package/src/sap/ui/rta/messagebundle_ru.properties +17 -1
  86. package/src/sap/ui/rta/messagebundle_sh.properties +17 -1
  87. package/src/sap/ui/rta/messagebundle_sk.properties +17 -1
  88. package/src/sap/ui/rta/messagebundle_sl.properties +17 -1
  89. package/src/sap/ui/rta/messagebundle_sv.properties +19 -3
  90. package/src/sap/ui/rta/messagebundle_th.properties +17 -1
  91. package/src/sap/ui/rta/messagebundle_tr.properties +17 -1
  92. package/src/sap/ui/rta/messagebundle_uk.properties +17 -1
  93. package/src/sap/ui/rta/messagebundle_vi.properties +17 -1
  94. package/src/sap/ui/rta/messagebundle_zh_CN.properties +17 -1
  95. package/src/sap/ui/rta/messagebundle_zh_TW.properties +17 -1
  96. package/src/sap/ui/rta/plugin/AddXMLAtExtensionPoint.js +1 -1
  97. package/src/sap/ui/rta/plugin/BaseCreate.js +1 -1
  98. package/src/sap/ui/rta/plugin/Combine.js +1 -1
  99. package/src/sap/ui/rta/plugin/ControlVariant.js +1 -1
  100. package/src/sap/ui/rta/plugin/CreateContainer.js +1 -1
  101. package/src/sap/ui/rta/plugin/CutPaste.js +1 -1
  102. package/src/sap/ui/rta/plugin/DragDrop.js +52 -2
  103. package/src/sap/ui/rta/plugin/EasyAdd.js +1 -1
  104. package/src/sap/ui/rta/plugin/EasyRemove.js +1 -1
  105. package/src/sap/ui/rta/plugin/LocalReset.js +2 -10
  106. package/src/sap/ui/rta/plugin/Plugin.js +1 -1
  107. package/src/sap/ui/rta/plugin/RTAElementMover.js +18 -61
  108. package/src/sap/ui/rta/plugin/Remove.js +1 -1
  109. package/src/sap/ui/rta/plugin/Rename.js +1 -1
  110. package/src/sap/ui/rta/plugin/RenameHandler.js +4 -1
  111. package/src/sap/ui/rta/plugin/Selection.js +35 -1
  112. package/src/sap/ui/rta/plugin/Settings.js +15 -14
  113. package/src/sap/ui/rta/plugin/Split.js +1 -1
  114. package/src/sap/ui/rta/plugin/Stretch.js +133 -138
  115. package/src/sap/ui/rta/plugin/additionalElements/ActionExtractor.js +505 -0
  116. package/src/sap/ui/rta/plugin/additionalElements/AddElementsDialog.js +1 -1
  117. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsAnalyzer.js +10 -7
  118. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsPlugin.js +122 -821
  119. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsUtils.js +117 -0
  120. package/src/sap/ui/rta/plugin/additionalElements/CommandBuilder.js +337 -0
  121. package/src/sap/ui/rta/plugin/iframe/AddIFrame.js +1 -1
  122. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.fragment.xml +1 -1
  123. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.js +1 -1
  124. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialogController.js +25 -4
  125. package/src/sap/ui/rta/service/Action.js +1 -1
  126. package/src/sap/ui/rta/service/ControllerExtension.js +1 -1
  127. package/src/sap/ui/rta/service/Outline.js +109 -62
  128. package/src/sap/ui/rta/service/Property.js +1 -1
  129. package/src/sap/ui/rta/service/Selection.js +1 -1
  130. package/src/sap/ui/rta/themes/base/ChangeVisualization.less +16 -0
  131. package/src/sap/ui/rta/themes/base/Overlay.less +59 -58
  132. package/src/sap/ui/rta/themes/sap_hcb/Overlay.less +2 -3
  133. package/src/sap/ui/rta/toolbar/Adaptation.fragment.xml +63 -44
  134. package/src/sap/ui/rta/toolbar/Adaptation.js +49 -37
  135. package/src/sap/ui/rta/toolbar/AdaptationRenderer.js +4 -5
  136. package/src/sap/ui/rta/toolbar/Base.js +76 -25
  137. package/src/sap/ui/rta/toolbar/BaseRenderer.js +2 -2
  138. package/src/sap/ui/rta/toolbar/Fiori.js +9 -9
  139. package/src/sap/ui/rta/toolbar/FioriLike.js +4 -4
  140. package/src/sap/ui/rta/toolbar/OverflowToolbarButton.js +98 -0
  141. package/src/sap/ui/rta/toolbar/Personalization.js +8 -8
  142. package/src/sap/ui/rta/toolbar/Standalone.js +4 -4
  143. package/src/sap/ui/rta/toolbar/translation/DownloadTranslationDialog.fragment.xml +39 -0
  144. package/src/sap/ui/rta/toolbar/translation/Translation.js +128 -0
  145. package/src/sap/ui/rta/toolbar/translation/TranslationPopover.fragment.xml +19 -0
  146. package/src/sap/ui/rta/util/BindingsExtractor.js +35 -31
  147. package/src/sap/ui/rta/util/PluginManager.js +1 -1
  148. package/src/sap/ui/rta/util/PopupManager.js +1 -1
  149. package/src/sap/ui/rta/util/ServiceEventBus.js +1 -1
  150. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicator.js +21 -2
  151. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicatorRegistry.js +1 -1
  152. package/src/sap/ui/rta/util/changeVisualization/ChangeVisualization.js +42 -38
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @author SAP SE
43
43
  * @experimental Since 1.56
44
44
  * @since 1.56
45
- * @version 1.92.0
45
+ * @version 1.95.0
46
46
  * @private
47
47
  * @ui5-restricted
48
48
  */
@@ -217,12 +217,28 @@ sap.ui.define([
217
217
  //get necessary properties from overlay
218
218
  var oData = this._getNodeProperties(oOverlay, oParentOverlay) || {};
219
219
 
220
+ var aChildren = oOverlay.getChildren();
220
221
  //find aggregation binding template overlays
221
- var aChildren = (
222
+ var aAggregationTemplateOverlays = (
222
223
  oOverlay.getAggregationBindingTemplateOverlays
223
224
  && oOverlay.getAggregationBindingTemplateOverlays()
224
225
  ) || [];
225
- aChildren = aChildren.concat(oOverlay.getChildren());
226
+
227
+ //for binding template overlays, do not include children of the
228
+ //corresponding aggregations on the outline (e.g. items)
229
+ if (aAggregationTemplateOverlays.length > 0) {
230
+ var aExcludedAggregations = [];
231
+ aChildren = aAggregationTemplateOverlays.reduce(function(aCollectedChildren, oAggregationTemplateOverlay) {
232
+ aExcludedAggregations.push(oAggregationTemplateOverlay.getAggregationName());
233
+ return oAggregationTemplateOverlay.getChildren().concat(aCollectedChildren);
234
+ }, aChildren)
235
+ .filter(function(oChild) {
236
+ if (oChild.getAggregationName && aExcludedAggregations.indexOf(oChild.getAggregationName()) > -1) {
237
+ return false;
238
+ }
239
+ return true;
240
+ });
241
+ }
226
242
 
227
243
  //check if the tree should be traversed deeper and children overlays are present
228
244
  if ((!bValidDepth || (bValidDepth && iDepth > 0))
@@ -247,6 +263,92 @@ sap.ui.define([
247
263
  return cleanupData(oData);
248
264
  };
249
265
 
266
+ function isAggregationBindingTemplate(oOverlay, oParentAggregationOverlay, sParentAggregationName) {
267
+ var oParentElementOverlay = oOverlay.getParentElementOverlay();
268
+ return oParentElementOverlay
269
+ && sParentAggregationName
270
+ && oParentElementOverlay.getAggregationOverlay(sParentAggregationName, "AggregationBindingTemplateOverlays") === oParentAggregationOverlay;
271
+ }
272
+
273
+ function getNumberOfTemplateChildrenOverlays(oParentAggregationOverlay, sParentAggregationName) {
274
+ return oParentAggregationOverlay.getParent().getAggregationOverlay(sParentAggregationName).getChildren().length;
275
+ }
276
+
277
+ function getElementOverlayData(oOverlay, oElement, oDtMetadata) {
278
+ var oData = {
279
+ editable: oOverlay.getEditable(),
280
+ bIsView: oOverlay.getElement() instanceof View
281
+ };
282
+ if (typeof oOverlay.isVisible() === "boolean") {
283
+ oData.visible = oOverlay.isVisible();
284
+ }
285
+ var oParentAggregationOverlay = oOverlay.getParent() && oOverlay.getParentAggregationOverlay();
286
+ var sParentAggregationName = (oParentAggregationOverlay && oParentAggregationOverlay.getAggregationName()) || "";
287
+ var sDtNameSuffix = "";
288
+ // Aggregation Binding Template
289
+ if (isAggregationBindingTemplate(oOverlay, oParentAggregationOverlay, sParentAggregationName)) {
290
+ var iNoOfChildren = getNumberOfTemplateChildrenOverlays(oParentAggregationOverlay, sParentAggregationName);
291
+ sDtNameSuffix = " [" + iNoOfChildren + "]";
292
+ oData.type = "aggregationBindingTemplate";
293
+ oData.icon = "sap-icon://attachment-text-file";
294
+ } else {
295
+ oData.type = "element";
296
+ }
297
+
298
+ var oDtName = oDtMetadata.getName(oElement);
299
+ if (oDtName && oDtName.singular) {
300
+ oData.name = (oDtName && oDtName.singular) + sDtNameSuffix;
301
+ }
302
+ return oData;
303
+ }
304
+
305
+ function getAggregationOverlayData(oOverlay, oParentOverlay, oElement) {
306
+ var sAggregationName = oOverlay.getAggregationName();
307
+ var oData = {
308
+ technicalName: oOverlay.getAggregationName(),
309
+ editable: false,
310
+ type: "aggregation",
311
+ bIsView: oOverlay.getElement() instanceof View
312
+ };
313
+ if (oParentOverlay.getAggregation(sAggregationName)) {
314
+ var oAggregationDescription = oParentOverlay.getDesignTimeMetadata().getAggregationDescription(sAggregationName, oElement);
315
+ if (oAggregationDescription.singular) {
316
+ oData.name = oAggregationDescription.singular;
317
+ }
318
+ }
319
+ if (oParentOverlay.getAggregationBindingTemplateOverlays().length) {
320
+ oData.icon = "sap-icon://card";
321
+ }
322
+ return oData;
323
+ }
324
+
325
+ function getDefaultData(oElement, oDtMetadata) {
326
+ var oData = {
327
+ id: oElement.getId(),
328
+ technicalName: oElement.getMetadata().getName(),
329
+ editable: false,
330
+ type: null
331
+ };
332
+
333
+ var sDefaultIcon = getDefaultIcon(oDtMetadata);
334
+ if (sDefaultIcon) {
335
+ oData.icon = sDefaultIcon;
336
+ }
337
+ var sInstanceName = oDtMetadata.getLabel(oElement);
338
+ if (sInstanceName && sInstanceName !== oData.id) {
339
+ oData.instanceName = sInstanceName;
340
+ }
341
+ return oData;
342
+ }
343
+
344
+ function getDefaultIcon(oDtMetadata) {
345
+ var oDtMetadataData = oDtMetadata.getData();
346
+ return oDtMetadataData.palette
347
+ && oDtMetadataData.palette.icons
348
+ && oDtMetadataData.palette.icons.svg
349
+ || undefined;
350
+ }
351
+
250
352
  /**
251
353
  * Collects the necessary data for a node without the <code>childNodes</code>.
252
354
  *
@@ -254,70 +356,15 @@ sap.ui.define([
254
356
  * @param {sap.ui.dt.Overlay} [oParentOverlay] - Parent overlay (if present) for the passed overlay
255
357
  * @returns {object} Data containing applicable properties
256
358
  */
257
- oOutline._getNodeProperties = function (oOverlay, oParentOverlay) {
258
- var oDtName;
259
- var sAggregationName;
260
- var sType;
261
- var bVisible;
262
- var bIsEditable = false; //default for aggregation overlays
359
+ oOutline._getNodeProperties = function (oOverlay, oParentOverlay) {
263
360
  var oElement = oOverlay.getElement();
264
- var sId = oElement.getId();
265
- var sElementClass = oElement.getMetadata().getName();
266
361
  var oDtMetadata = oOverlay.getDesignTimeMetadata();
267
- var oDtMetadataData = oDtMetadata.getData();
268
- var sInstanceName = oDtMetadata.getLabel(oElement);
269
- var sIconType = (
270
- oDtMetadataData.palette
271
- && oDtMetadataData.palette.icons
272
- && oDtMetadataData.palette.icons.svg
273
- || undefined
274
- );
362
+ var oData = getDefaultData(oElement, oDtMetadata);
275
363
 
276
- var bIsView;
277
364
  if (oOverlay instanceof ElementOverlay) {
278
- sType = "element";
279
- bIsEditable = oOverlay.getEditable();
280
- oDtName = oDtMetadata.getName(oElement);
281
- bVisible = oOverlay.isVisible();
282
- bIsView = oOverlay.getElement() instanceof View;
283
- var oParentElementOverlay = oOverlay.getParentElementOverlay();
284
- var oParentAggregationOverlay = oOverlay.getParent() && oOverlay.getParentAggregationOverlay();
285
- var sParentAggregationName = (oParentAggregationOverlay && oParentAggregationOverlay.getAggregationName()) || "";
286
- if (
287
- oParentElementOverlay
288
- && sParentAggregationName
289
- && oParentElementOverlay.getAggregationOverlay(sParentAggregationName, "AggregationBindingTemplateOverlays") === oParentAggregationOverlay
290
- ) {
291
- sIconType = "sap-icon://card";
292
- oDtName.singular = "TEMPLATE-" + oDtName.singular;
293
- }
294
- } else {
295
- sType = "aggregation";
296
- sAggregationName = oOverlay.getAggregationName();
297
- oDtName = oParentOverlay.getAggregation(sAggregationName)
298
- ? oParentOverlay.getDesignTimeMetadata().getAggregationDescription(sAggregationName, oElement)
299
- : undefined;
300
- if (oParentOverlay.getAggregationBindingTemplateOverlays().length) {
301
- sIconType = "sap-icon://card";
302
- }
365
+ return Object.assign(oData, getElementOverlayData(oOverlay, oElement, oDtMetadata));
303
366
  }
304
-
305
- //add all mandatory info to data
306
- var oData = Object.assign(
307
- {
308
- id: sId,
309
- technicalName: sAggregationName || sElementClass,
310
- editable: bIsEditable,
311
- type: sType //either "element" or "aggregation"
312
- },
313
- sInstanceName !== sId && sInstanceName !== undefined && { instanceName: sInstanceName }, // element's id should not be set as instanceName
314
- oDtName && oDtName.singular && { name: oDtName.singular }, // designTime metadata name.singular
315
- sIconType !== undefined && { icon: sIconType }, // designTime metadata icon type
316
- typeof bVisible === "boolean" && { visible: bVisible }, // visible
317
- bIsView && { bIsView: bIsView }
318
- );
319
-
320
- return oData;
367
+ return Object.assign(oData, getAggregationOverlayData(oOverlay, oParentOverlay, oElement));
321
368
  };
322
369
 
323
370
  /**
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @author SAP SE
31
31
  * @experimental Since 1.58
32
32
  * @since 1.58
33
- * @version 1.92.0
33
+ * @version 1.95.0
34
34
  * @private
35
35
  * @ui5-restricted
36
36
  */
@@ -15,7 +15,7 @@ sap.ui.define(function () {
15
15
  * @author SAP SE
16
16
  * @experimental Since 1.58
17
17
  * @since 1.58
18
- * @version 1.92.0
18
+ * @version 1.95.0
19
19
  * @private
20
20
  * @ui5-restricted
21
21
  */
@@ -90,6 +90,22 @@
90
90
  color: @_sap_ui_rta_ChangeVisualization_DependentIndicatorColorSolid;
91
91
  }
92
92
 
93
+ .sapUiRtaChangeIndicatorHovered {
94
+ -webkit-transition: background 0.1s cubic-bezier(1,.01,1,0);
95
+ -moz-transition: background 0.1s cubic-bezier(1,.01,1,0);
96
+ -o-transition: background 0.1s cubic-bezier(1,.01,1,0);
97
+ transition: background 0.1s cubic-bezier(1,.01,1,0);
98
+
99
+ &:after {
100
+ content: " ";
101
+ border: 0.0625rem solid @_sap_ui_rta_Overlay_HoverBorder!important; //1px
102
+ transition: box-shadow .25s;
103
+ box-shadow: @_sap_ui_rta_Overlay_BoxShadow;
104
+ outline: 0.0625rem solid @_sap_ui_rta_Overlay_Border!important; //1px
105
+ outline-offset: -0.0625rem; //1px
106
+ }
107
+ }
108
+
93
109
  .sapUiRtaMode {
94
110
  .sapUiRtaPopover {
95
111
  .sapUiRtaChangesList {
@@ -113,68 +113,11 @@
113
113
  }
114
114
  }
115
115
  }
116
-
117
- .sapUiRtaOverlayHover {
118
- -webkit-transition: background 0.1s cubic-bezier(1,.01,1,0);
119
- -moz-transition: background 0.1s cubic-bezier(1,.01,1,0);
120
- -o-transition: background 0.1s cubic-bezier(1,.01,1,0);
121
- transition: background 0.1s cubic-bezier(1,.01,1,0);
122
-
123
- &:after {
124
- content: " ";
125
- border: 0.0625rem solid @_sap_ui_rta_Overlay_HoverBorder; //1px
126
- transition: box-shadow .25s;
127
- box-shadow: @_sap_ui_rta_Overlay_BoxShadow;
128
- outline: 0.0625rem solid @_sap_ui_rta_Overlay_Border; //1px
129
- outline-offset: -0.0625rem; //1px
130
- }
131
- }
132
-
133
116
  .sapUiDtOverlaySelected {
134
- transition: box-shadow .25s;
135
- box-shadow: @_sap_ui_rta_Overlay_BoxShadow;
136
- &.sapUiDtOverlayWithScrollBar:after {
137
- bottom: 0;
138
- right: 0;
139
- top: 0;
140
- left: 0;
141
- // IE doesn't support width/height: 'initial'.// TODO remove after the end of support for Internet Explorer
142
- // With the property 'auto' the same effect is achieved.
143
- // When initial is supported, auto is ignored.
144
- width: auto;
145
- width: initial;
146
- height: auto;
147
- height: initial;
148
- }
149
-
150
117
  &:after {
151
- outline: 0.125rem solid @_sap_ui_rta_Overlay_Border; //2px
152
- border: none
153
- }
154
-
155
- &.sapUiRtaErrorBg:after {
156
- outline: 0.125rem solid @_sap_ui_rta_Overlay_ErrorBorder; //2px
157
- outline-offset: -0.125rem; //2px
118
+ outline: none;
158
119
  border: none
159
120
  }
160
-
161
- &.sapUiDtOverlayFocusable {
162
- &:focus {
163
- &:before {
164
- top: 0.125rem; //2px
165
- left: 0.125rem; //2px
166
- bottom: 0.125rem; //2px
167
- right: 0.125rem; //2px
168
- // IE doesn't support width/height: 'initial'.// TODO remove after the end of support for Internet Explorer
169
- // With the property 'auto' the same effect is achieved.
170
- // When initial is supported, auto is ignored.
171
- width: auto;
172
- width: initial;
173
- height: auto;
174
- height: initial;
175
- }
176
- }
177
- }
178
121
  }
179
122
 
180
123
  .sapUiDtOverlayTargetZone {
@@ -253,6 +196,64 @@
253
196
  }
254
197
  }
255
198
 
199
+ .sapUiRta:not(.sapUiRtaVisualizationMode) {
200
+ .sapUiRtaOverlayHover {
201
+ -webkit-transition: background 0.1s cubic-bezier(1,.01,1,0);
202
+ -moz-transition: background 0.1s cubic-bezier(1,.01,1,0);
203
+ -o-transition: background 0.1s cubic-bezier(1,.01,1,0);
204
+ transition: background 0.1s cubic-bezier(1,.01,1,0);
205
+
206
+ &:after {
207
+ content: " ";
208
+ border: 0.0625rem solid @_sap_ui_rta_Overlay_HoverBorder; //1px
209
+ transition: box-shadow .25s;
210
+ box-shadow: @_sap_ui_rta_Overlay_BoxShadow;
211
+ outline: 0.0625rem solid @_sap_ui_rta_Overlay_Border; //1px
212
+ outline-offset: -0.0625rem; //1px
213
+ }
214
+ }
215
+ .sapUiDtOverlaySelected {
216
+ transition: box-shadow .25s;
217
+ box-shadow: @_sap_ui_rta_Overlay_BoxShadow;
218
+ &.sapUiDtOverlayWithScrollBar:after {
219
+ bottom: 0;
220
+ right: 0;
221
+ top: 0;
222
+ left: 0;
223
+ width: initial;
224
+ height: initial;
225
+ }
226
+
227
+ &:after {
228
+ outline: 0.125rem solid @_sap_ui_rta_Overlay_Border; //2px
229
+ border: none
230
+ }
231
+
232
+ &.sapUiRtaErrorBg:after {
233
+ outline: 0.125rem solid @_sap_ui_rta_Overlay_ErrorBorder; //2px
234
+ outline-offset: -0.125rem; //2px
235
+ border: none
236
+ }
237
+
238
+ &.sapUiDtOverlayFocusable {
239
+ &:focus {
240
+ &:before {
241
+ top: 0.125rem; //2px
242
+ left: 0.125rem; //2px
243
+ bottom: 0.125rem; //2px
244
+ right: 0.125rem; //2px
245
+ // IE doesn't support width/height: 'initial'.// TODO remove after the end of support for Internet Explorer
246
+ // With the property 'auto' the same effect is achieved.
247
+ // When initial is supported, auto is ignored.
248
+ width: auto;
249
+ width: initial;
250
+ height: auto;
251
+ height: initial;
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
256
257
  .sapUiRtaMode #shell-shapes {
257
258
  display: none;
258
259
  }
@@ -7,7 +7,7 @@
7
7
  @_sap_ui_rta_Overlay_Border : @sapUiDragAndDropActiveBorderColor;
8
8
 
9
9
 
10
- .sapUiRta {
10
+ .sapUiRta:not(.sapUiRtaVisualizationMode) {
11
11
  .sapUiDtOverlay {
12
12
  &:focus {
13
13
  outline: none;
@@ -31,5 +31,4 @@
31
31
  border-width: 2px;
32
32
  }
33
33
  }
34
-
35
- }
34
+ }
@@ -1,6 +1,7 @@
1
1
  <core:FragmentDefinition
2
2
  xmlns="sap.m"
3
- xmlns:core="sap.ui.core" >
3
+ xmlns:core="sap.ui.core"
4
+ xmlns:toolbar="sap.ui.rta.toolbar">
4
5
  <HBox
5
6
  id="sapUiRta_toolbarIconAndDraftSection"
6
7
  class="sapUiRtaToolbarIconAndDraftSection" >
@@ -17,7 +18,7 @@
17
18
  class="sapUiRtaVersionButton"
18
19
  icon="sap-icon://megamenu"
19
20
  iconFirst="false"
20
- visible="{versions>/versioningEnabled}"
21
+ visible="{= (${versions>/versioningEnabled} &amp;&amp; ${controls>/modeSwitcher} === 'adaptation')}"
21
22
  text="{parts: [{path: 'versions>/versions'}, {path: 'versions>/displayedVersion'}], formatter: '.formatVersionButtonText'}"
22
23
  tooltip="{parts: [{path: 'versions>/versions'}, {path: 'versions>/displayedVersion'}], formatter: '.formatVersionButtonText'}"
23
24
  press=".showVersionHistory">
@@ -25,20 +26,22 @@
25
26
  <OverflowToolbarLayoutData priority="NeverOverflow"/>
26
27
  </layoutData>
27
28
  </Button>
28
- <Button
29
+ <toolbar:OverflowToolbarButton
29
30
  id="sapUiRta_activate"
30
31
  icon="sap-icon://activate"
31
32
  press=".activate(${versions>/displayedVersion})"
32
- visible="{versions>/versioningEnabled}"
33
+ visible="{= (${versions>/versioningEnabled} &amp;&amp; ${controls>/modeSwitcher} === 'adaptation')}"
33
34
  enabled="{versions>/activateEnabled}"
34
35
  type="Transparent"
36
+ text="{i18n>TOL_ACTIVATE}"
35
37
  tooltip="{i18n>TOL_ACTIVATE}" />
36
- <Button
38
+ <toolbar:OverflowToolbarButton
37
39
  id="sapUiRta_discardDraft"
38
40
  icon="sap-icon://delete"
39
41
  press=".discardDraft"
40
- visible="{parts: ['versions>/displayedVersion', 'versions>/versioningEnabled' ], formatter: '.formatDiscardDraftVisible'}"
42
+ visible="{= ((${parts: ['versions>/displayedVersion', 'versions>/versioningEnabled' ], formatter: '.formatDiscardDraftVisible'}) &amp;&amp; (${controls>/modeSwitcher} === 'adaptation'))}"
41
43
  type="Transparent"
44
+ text="{i18n>TOL_DISCARD_DRAFT}"
42
45
  tooltip="{i18n>TOL_DISCARD_DRAFT}" />
43
46
  </content>
44
47
  </OverflowToolbar>
@@ -65,6 +68,11 @@
65
68
  text="{i18n>BTN_NAVIGATION}"
66
69
  width="auto"
67
70
  key="navigation" />
71
+ <SegmentedButtonItem
72
+ id="sapUiRta_visualizationSwitcherButton"
73
+ text="{i18n>BTN_VISUALIZATION}"
74
+ width="auto"
75
+ key="visualization" />
68
76
  </items>
69
77
  </SegmentedButton>
70
78
  <ToolbarSpacer />
@@ -75,14 +83,28 @@
75
83
  id="sapUiRta_toolbarActionsSection"
76
84
  class="sapUiRtaToolbarActionsSection"
77
85
  justifyContent="End" >
78
- <OverflowToolbar id="sapUiRta_actionsToolbar" >
86
+ <OverflowToolbar id="sapUiRta_actionsToolbar">
79
87
  <content>
80
88
  <ToolbarSpacer />
89
+ <toolbar:OverflowToolbarButton
90
+ id="sapUiRta_translate"
91
+ icon="sap-icon://translate"
92
+ press=".showTranslationPopover"
93
+ visible="{controls>/translationVisible}"
94
+ enabled="{controls>/translationEnabled}"
95
+ type="Transparent"
96
+ text="{i18n>BTN_TRANSLATE}"
97
+ tooltip="{i18n>BTN_TRANSLATE}">
98
+ <toolbar:layoutData>
99
+ <OverflowToolbarLayoutData priority="Low" />
100
+ </toolbar:layoutData>
101
+ </toolbar:OverflowToolbarButton>
81
102
  <Button
82
103
  id="sapUiRta_undo"
83
104
  icon="sap-icon://undo"
84
105
  press=".undo"
85
106
  enabled="{controls>/undoEnabled}"
107
+ visible="{= (${controls>/modeSwitcher} === 'visualization' || ${controls>/modeSwitcher} === 'adaptation')}"
86
108
  type="Transparent"
87
109
  tooltip="{i18n>BTN_UNDO}" >
88
110
  <layoutData>
@@ -94,60 +116,62 @@
94
116
  icon="sap-icon://redo"
95
117
  press=".redo"
96
118
  enabled="{controls>/redoEnabled}"
119
+ visible="{= (${controls>/modeSwitcher} === 'visualization' || ${controls>/modeSwitcher} === 'adaptation')}"
97
120
  type="Transparent"
98
121
  tooltip="{i18n>BTN_REDO}" >
99
122
  <layoutData>
100
123
  <OverflowToolbarLayoutData priority="NeverOverflow" />
101
124
  </layoutData>
102
125
  </Button>
103
- <Button
104
- id="sapUiRta_toggleChangeVisualizationButton"
105
- icon="sap-icon://show"
106
- press=".toggleChangeVisualization"
107
- enabled="{= ${controls>/modeSwitcher} === 'adaptation'}"
108
- type="Transparent"
109
- tooltip="{i18n>BUT_CHANGEVISUALIZATION_SHOWCHANGES}">
110
- <layoutData>
126
+ <toolbar:OverflowToolbarButton
127
+ id="sapUiRta_toggleChangeVisualizationPopoverButton"
128
+ icon="sap-icon://show"
129
+ press=".toggleChangeVisualizationPopover"
130
+ visible="{= ${controls>/modeSwitcher} === 'visualization'}"
131
+ type="Transparent"
132
+ text="{i18n>BTN_CHANGEVISUALIZATION_OVERVIEW_ALL}"
133
+ tooltip="{i18n>BUT_CHANGEVISUALIZATION_SELECTCHANGES}">
134
+ <toolbar:layoutData>
111
135
  <OverflowToolbarLayoutData priority="Low" />
112
- </layoutData>
113
- </Button>
114
- <Button
136
+ </toolbar:layoutData>
137
+ </toolbar:OverflowToolbarButton>
138
+ <toolbar:OverflowToolbarButton
115
139
  id="sapUiRta_publish"
116
140
  enabled="{controls>/publishEnabled}"
117
- visible="{controls>/publishVisible}"
141
+ visible="{= (${controls>/publishVisible} &amp;&amp; ${controls>/modeSwitcher} === 'adaptation')}"
118
142
  press=".publish"
119
143
  type="Transparent"
120
144
  text="{i18n>BTN_PUBLISH}" >
121
- <layoutData>
145
+ <toolbar:layoutData>
122
146
  <OverflowToolbarLayoutData priority="High" />
123
- </layoutData>
124
- </Button>
125
- <Button
147
+ </toolbar:layoutData>
148
+ </toolbar:OverflowToolbarButton>
149
+ <toolbar:OverflowToolbarButton
126
150
  id="sapUiRta_restore"
127
151
  enabled="{controls>/restoreEnabled}"
128
- visible="{path: 'versions>/versioningEnabled', formatter: '.showRestore'}"
152
+ visible="{= ((${path: 'versions>/versioningEnabled', formatter: '.showRestore'}) &amp;&amp; ((${controls>/modeSwitcher} === 'visualization') || (${controls>/modeSwitcher} === 'adaptation')))}"
129
153
  press=".restore"
130
154
  type="Transparent"
131
155
  text="{i18n>BTN_RESTORE}" >
132
- <layoutData>
156
+ <toolbar:layoutData>
133
157
  <OverflowToolbarLayoutData priority="High" />
134
- </layoutData>
135
- </Button>
136
- <Button
158
+ </toolbar:layoutData>
159
+ </toolbar:OverflowToolbarButton>
160
+ <toolbar:OverflowToolbarButton
137
161
  id="sapUiRta_manageApps"
138
162
  press=".manageApps"
139
163
  enabled="{controls>/manageAppsEnabled}"
140
- visible="{controls>/manageAppsVisible}"
164
+ visible="{= (${controls>/manageAppsVisible} &amp;&amp; ${controls>/modeSwitcher} === 'adaptation')}"
141
165
  type="Transparent"
142
166
  text="{i18n>BTN_MANAGE_APPS_TXT}" >
143
- <layoutData>
167
+ <toolbar:layoutData>
144
168
  <OverflowToolbarLayoutData priority="Low" />
145
- </layoutData>
146
- </Button>
169
+ </toolbar:layoutData>
170
+ </toolbar:OverflowToolbarButton>
147
171
  <MenuButton
148
172
  id="sapUiRta_appVariantOverview"
149
173
  enabled="{controls>/appVariantsOverviewEnabled}"
150
- visible="{controls>/appVariantsOverviewVisible}"
174
+ visible="{= (${controls>/appVariantsOverviewVisible} &amp;&amp; ${controls>/modeSwitcher} === 'adaptation')}"
151
175
  type="Transparent"
152
176
  text="{i18n>BTN_MANAGE_APPS_TXT}" >
153
177
  <menu>
@@ -166,23 +190,18 @@
166
190
  <OverflowToolbarLayoutData priority="Low" />
167
191
  </layoutData>
168
192
  </MenuButton>
169
- <Button
193
+ <toolbar:OverflowToolbarButton
170
194
  id="sapUiRta_saveAs"
171
- visible="{controls>/saveAsVisible}"
195
+ visible="{= (${controls>/saveAsVisible} &amp;&amp; ${controls>/modeSwitcher} === 'adaptation')}"
172
196
  enabled="{controls>/saveAsEnabled}"
173
197
  press=".saveAs"
174
198
  type="Transparent"
175
199
  text="{i18n>BTN_SAVE_AS}" >
176
- <layoutData>
200
+ <toolbar:layoutData>
177
201
  <OverflowToolbarLayoutData priority="Low" />
178
- </layoutData>
179
- </Button>
202
+ </toolbar:layoutData>
203
+ </toolbar:OverflowToolbarButton>
180
204
  </content>
181
- <!--layoutData>
182
- <FlexItemData
183
- growFactor="1"
184
- minWidth="0" />
185
- </layoutData-->
186
205
  </OverflowToolbar>
187
206
  <Button
188
207
  id="sapUiRta_exit"
@@ -194,4 +213,4 @@
194
213
  <FlexItemData growFactor="0" />
195
214
  </layoutData>
196
215
  </HBox>
197
- </core:FragmentDefinition>
216
+ </core:FragmentDefinition>