@openui5/sap.ui.rta 1.134.0 → 1.136.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 (216) hide show
  1. package/REUSE.toml +649 -0
  2. package/THIRDPARTY.txt +23 -23
  3. package/package.json +6 -6
  4. package/src/sap/ui/rta/.library +2 -2
  5. package/src/sap/ui/rta/Client.js +2 -2
  6. package/src/sap/ui/rta/RuntimeAuthoring.js +124 -28
  7. package/src/sap/ui/rta/Utils.js +19 -2
  8. package/src/sap/ui/rta/api/startAdaptation.js +1 -1
  9. package/src/sap/ui/rta/api/startKeyUserAdaptation.js +1 -1
  10. package/src/sap/ui/rta/appVariant/AppVariantDialog.js +1 -1
  11. package/src/sap/ui/rta/appVariant/AppVariantManager.js +26 -26
  12. package/src/sap/ui/rta/appVariant/AppVariantOverviewDialog.js +1 -1
  13. package/src/sap/ui/rta/appVariant/AppVariantUtils.js +1 -1
  14. package/src/sap/ui/rta/appVariant/Feature.js +72 -72
  15. package/src/sap/ui/rta/appVariant/S4HanaCloudBackend.js +1 -1
  16. package/src/sap/ui/rta/appVariant/Utils.js +27 -36
  17. package/src/sap/ui/rta/appVariant/manageApps/webapp/Component.js +1 -1
  18. package/src/sap/ui/rta/appVariant/manageApps/webapp/controller/ManageApps.controller.js +54 -68
  19. package/src/sap/ui/rta/appVariant/manageApps/webapp/i18n/i18n_fr_CA.properties +2 -2
  20. package/src/sap/ui/rta/appVariant/manageApps/webapp/index.js +1 -1
  21. package/src/sap/ui/rta/appVariant/manageApps/webapp/model/models.js +1 -1
  22. package/src/sap/ui/rta/command/AddIFrame.js +2 -2
  23. package/src/sap/ui/rta/command/AddProperty.js +2 -2
  24. package/src/sap/ui/rta/command/AddXML.js +2 -2
  25. package/src/sap/ui/rta/command/AddXMLAtExtensionPoint.js +2 -2
  26. package/src/sap/ui/rta/command/AnnotationCommand.js +66 -6
  27. package/src/sap/ui/rta/command/BaseCommand.js +2 -2
  28. package/src/sap/ui/rta/command/BindProperty.js +2 -2
  29. package/src/sap/ui/rta/command/Combine.js +2 -2
  30. package/src/sap/ui/rta/command/CommandFactory.js +72 -48
  31. package/src/sap/ui/rta/command/CompositeCommand.js +13 -13
  32. package/src/sap/ui/rta/command/ControlVariantConfigure.js +2 -2
  33. package/src/sap/ui/rta/command/ControlVariantSave.js +2 -2
  34. package/src/sap/ui/rta/command/ControlVariantSaveAs.js +2 -2
  35. package/src/sap/ui/rta/command/ControlVariantSetTitle.js +2 -2
  36. package/src/sap/ui/rta/command/ControlVariantSwitch.js +2 -2
  37. package/src/sap/ui/rta/command/CreateContainer.js +2 -2
  38. package/src/sap/ui/rta/command/CustomAdd.js +2 -2
  39. package/src/sap/ui/rta/command/ExtendControllerCommand.js +93 -0
  40. package/src/sap/ui/rta/command/FlexCommand.js +55 -44
  41. package/src/sap/ui/rta/command/LREPSerializer.js +24 -24
  42. package/src/sap/ui/rta/command/LocalReset.js +2 -2
  43. package/src/sap/ui/rta/command/ManifestCommand.js +112 -0
  44. package/src/sap/ui/rta/command/Move.js +2 -2
  45. package/src/sap/ui/rta/command/Property.js +2 -2
  46. package/src/sap/ui/rta/command/Remove.js +2 -2
  47. package/src/sap/ui/rta/command/Rename.js +2 -2
  48. package/src/sap/ui/rta/command/Resize.js +2 -2
  49. package/src/sap/ui/rta/command/Reveal.js +2 -2
  50. package/src/sap/ui/rta/command/Settings.js +2 -2
  51. package/src/sap/ui/rta/command/Split.js +2 -2
  52. package/src/sap/ui/rta/command/Stack.js +20 -5
  53. package/src/sap/ui/rta/command/compVariant/CompVariantContent.js +2 -2
  54. package/src/sap/ui/rta/command/compVariant/CompVariantSaveAs.js +2 -2
  55. package/src/sap/ui/rta/command/compVariant/CompVariantSwitch.js +2 -2
  56. package/src/sap/ui/rta/command/compVariant/CompVariantUpdate.js +2 -2
  57. package/src/sap/ui/rta/command/{appDescriptor → manifest}/AddLibrary.js +11 -11
  58. package/src/sap/ui/rta/enablement/TestDelegate.js +1 -1
  59. package/src/sap/ui/rta/enablement/elementActionTest.js +2 -2
  60. package/src/sap/ui/rta/library.js +3 -3
  61. package/src/sap/ui/rta/messagebundle.properties +181 -9
  62. package/src/sap/ui/rta/messagebundle_ar.properties +105 -6
  63. package/src/sap/ui/rta/messagebundle_bg.properties +105 -6
  64. package/src/sap/ui/rta/messagebundle_ca.properties +108 -9
  65. package/src/sap/ui/rta/messagebundle_cnr.properties +106 -7
  66. package/src/sap/ui/rta/messagebundle_cs.properties +103 -4
  67. package/src/sap/ui/rta/messagebundle_cy.properties +105 -6
  68. package/src/sap/ui/rta/messagebundle_da.properties +104 -5
  69. package/src/sap/ui/rta/messagebundle_de.properties +114 -15
  70. package/src/sap/ui/rta/messagebundle_el.properties +102 -3
  71. package/src/sap/ui/rta/messagebundle_en.properties +105 -6
  72. package/src/sap/ui/rta/messagebundle_en_GB.properties +105 -6
  73. package/src/sap/ui/rta/messagebundle_en_US_saprigi.properties +9 -1
  74. package/src/sap/ui/rta/messagebundle_es.properties +109 -10
  75. package/src/sap/ui/rta/messagebundle_es_MX.properties +113 -14
  76. package/src/sap/ui/rta/messagebundle_et.properties +103 -4
  77. package/src/sap/ui/rta/messagebundle_fi.properties +107 -8
  78. package/src/sap/ui/rta/messagebundle_fr.properties +123 -24
  79. package/src/sap/ui/rta/messagebundle_fr_CA.properties +110 -11
  80. package/src/sap/ui/rta/messagebundle_hi.properties +105 -6
  81. package/src/sap/ui/rta/messagebundle_hr.properties +145 -46
  82. package/src/sap/ui/rta/messagebundle_hu.properties +104 -5
  83. package/src/sap/ui/rta/messagebundle_id.properties +113 -14
  84. package/src/sap/ui/rta/messagebundle_it.properties +146 -47
  85. package/src/sap/ui/rta/messagebundle_iw.properties +105 -6
  86. package/src/sap/ui/rta/messagebundle_ja.properties +117 -18
  87. package/src/sap/ui/rta/messagebundle_kk.properties +104 -5
  88. package/src/sap/ui/rta/messagebundle_ko.properties +105 -6
  89. package/src/sap/ui/rta/messagebundle_lt.properties +105 -6
  90. package/src/sap/ui/rta/messagebundle_lv.properties +104 -5
  91. package/src/sap/ui/rta/messagebundle_mk.properties +108 -9
  92. package/src/sap/ui/rta/messagebundle_ms.properties +115 -16
  93. package/src/sap/ui/rta/messagebundle_nl.properties +104 -5
  94. package/src/sap/ui/rta/messagebundle_no.properties +108 -9
  95. package/src/sap/ui/rta/messagebundle_pl.properties +104 -5
  96. package/src/sap/ui/rta/messagebundle_pt.properties +103 -4
  97. package/src/sap/ui/rta/messagebundle_pt_PT.properties +103 -4
  98. package/src/sap/ui/rta/messagebundle_ro.properties +103 -4
  99. package/src/sap/ui/rta/messagebundle_ru.properties +107 -8
  100. package/src/sap/ui/rta/messagebundle_sh.properties +106 -7
  101. package/src/sap/ui/rta/messagebundle_sk.properties +103 -4
  102. package/src/sap/ui/rta/messagebundle_sl.properties +103 -4
  103. package/src/sap/ui/rta/messagebundle_sr.properties +106 -7
  104. package/src/sap/ui/rta/messagebundle_sv.properties +104 -5
  105. package/src/sap/ui/rta/messagebundle_th.properties +104 -5
  106. package/src/sap/ui/rta/messagebundle_tr.properties +103 -4
  107. package/src/sap/ui/rta/messagebundle_uk.properties +105 -6
  108. package/src/sap/ui/rta/messagebundle_vi.properties +105 -6
  109. package/src/sap/ui/rta/messagebundle_zh_CN.properties +104 -5
  110. package/src/sap/ui/rta/messagebundle_zh_TW.properties +105 -6
  111. package/src/sap/ui/rta/plugin/AddXMLAtExtensionPoint.js +34 -34
  112. package/src/sap/ui/rta/plugin/AddXMLPlugin.js +54 -32
  113. package/src/sap/ui/rta/plugin/BaseCreate.js +2 -2
  114. package/src/sap/ui/rta/plugin/Combine.js +2 -2
  115. package/src/sap/ui/rta/plugin/CompVariant.js +114 -114
  116. package/src/sap/ui/rta/plugin/ControlVariant.js +37 -54
  117. package/src/sap/ui/rta/plugin/CreateContainer.js +2 -2
  118. package/src/sap/ui/rta/plugin/CutPaste.js +2 -2
  119. package/src/sap/ui/rta/plugin/DragDrop.js +2 -2
  120. package/src/sap/ui/rta/plugin/ExtendControllerPlugin.js +172 -0
  121. package/src/sap/ui/rta/plugin/LocalReset.js +4 -3
  122. package/src/sap/ui/rta/plugin/Plugin.js +31 -11
  123. package/src/sap/ui/rta/plugin/RTAElementMover.js +2 -2
  124. package/src/sap/ui/rta/plugin/Remove.js +2 -2
  125. package/src/sap/ui/rta/plugin/Resize.js +2 -2
  126. package/src/sap/ui/rta/plugin/Selection.js +2 -2
  127. package/src/sap/ui/rta/plugin/Settings.js +75 -62
  128. package/src/sap/ui/rta/plugin/Split.js +2 -2
  129. package/src/sap/ui/rta/plugin/Stretch.js +2 -2
  130. package/src/sap/ui/rta/plugin/additionalElements/ActionExtractor.js +2 -2
  131. package/src/sap/ui/rta/plugin/additionalElements/AddElementsDialog.js +2 -2
  132. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsAnalyzer.js +1 -1
  133. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsPlugin.js +2 -2
  134. package/src/sap/ui/rta/plugin/additionalElements/AdditionalElementsUtils.js +2 -2
  135. package/src/sap/ui/rta/plugin/additionalElements/CommandBuilder.js +2 -2
  136. package/src/sap/ui/rta/plugin/annotations/AnnotationChangeDialog.fragment.xml +13 -9
  137. package/src/sap/ui/rta/plugin/annotations/AnnotationChangeDialog.js +75 -13
  138. package/src/sap/ui/rta/plugin/annotations/AnnotationChangeDialogController.js +38 -32
  139. package/src/sap/ui/rta/plugin/annotations/AnnotationPlugin.js +61 -21
  140. package/src/sap/ui/rta/plugin/annotations/AnnotationTypes.js +1 -1
  141. package/src/sap/ui/rta/plugin/iframe/AddIFrame.js +8 -2
  142. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialog.js +2 -2
  143. package/src/sap/ui/rta/plugin/iframe/AddIFrameDialogController.js +1 -1
  144. package/src/sap/ui/rta/plugin/iframe/urlCleaner.js +1 -1
  145. package/src/sap/ui/rta/plugin/{Rename.js → rename/Rename.js} +29 -67
  146. package/src/sap/ui/rta/plugin/rename/RenameDialog.fragment.xml +63 -0
  147. package/src/sap/ui/rta/plugin/rename/RenameDialog.js +140 -0
  148. package/src/sap/ui/rta/service/Action.js +2 -2
  149. package/src/sap/ui/rta/service/ControllerExtension.js +11 -5
  150. package/src/sap/ui/rta/service/Outline.js +2 -2
  151. package/src/sap/ui/rta/service/Property.js +2 -2
  152. package/src/sap/ui/rta/service/Receiver.js +1 -1
  153. package/src/sap/ui/rta/service/Selection.js +2 -2
  154. package/src/sap/ui/rta/service/SupportTools.js +2 -2
  155. package/src/sap/ui/rta/service/index.js +1 -1
  156. package/src/sap/ui/rta/themes/base/Toolbar.adaptation.less +5 -0
  157. package/src/sap/ui/rta/themes/base/library.source.less +1 -1
  158. package/src/sap/ui/rta/themes/sap_hcb/library.source.less +1 -1
  159. package/src/sap/ui/rta/toolbar/ActionsMenu.fragment.xml +6 -0
  160. package/src/sap/ui/rta/toolbar/Adaptation.fragment.xml +22 -9
  161. package/src/sap/ui/rta/toolbar/Adaptation.js +44 -9
  162. package/src/sap/ui/rta/toolbar/AdaptationRenderer.js +1 -1
  163. package/src/sap/ui/rta/toolbar/Base.js +2 -2
  164. package/src/sap/ui/rta/toolbar/BaseRenderer.js +1 -1
  165. package/src/sap/ui/rta/toolbar/Fiori.js +19 -10
  166. package/src/sap/ui/rta/toolbar/FioriLike.js +7 -5
  167. package/src/sap/ui/rta/toolbar/OverflowToolbarButton.js +2 -2
  168. package/src/sap/ui/rta/toolbar/Standalone.js +2 -2
  169. package/src/sap/ui/rta/toolbar/contextBased/ManageAdaptations.js +1 -1
  170. package/src/sap/ui/rta/toolbar/contextBased/SaveAsAdaptation.js +2 -2
  171. package/src/sap/ui/rta/toolbar/translation/Translation.js +2 -2
  172. package/src/sap/ui/rta/toolbar/versioning/Versioning.js +2 -2
  173. package/src/sap/ui/rta/util/Animation.js +1 -1
  174. package/src/sap/ui/rta/util/BindingsExtractor.js +1 -1
  175. package/src/sap/ui/rta/util/PluginManager.js +8 -6
  176. package/src/sap/ui/rta/util/PopupManager.js +2 -2
  177. package/src/sap/ui/rta/util/ReloadManager.js +2 -2
  178. package/src/sap/ui/rta/util/ServiceEventBus.js +2 -2
  179. package/src/sap/ui/rta/util/ServiceManager.js +2 -2
  180. package/src/sap/ui/rta/util/adaptationStarter.js +1 -1
  181. package/src/sap/ui/rta/util/changeVisualization/ChangeCategories.js +1 -1
  182. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicator.js +2 -2
  183. package/src/sap/ui/rta/util/changeVisualization/ChangeIndicatorRegistry.js +2 -2
  184. package/src/sap/ui/rta/util/changeVisualization/ChangeStates.js +1 -1
  185. package/src/sap/ui/rta/util/changeVisualization/ChangeVisualization.js +4 -4
  186. package/src/sap/ui/rta/util/changeVisualization/ChangeVisualizationUtils.js +1 -1
  187. package/src/sap/ui/rta/util/changeVisualization/commands/CombineVisualization.js +1 -1
  188. package/src/sap/ui/rta/util/changeVisualization/commands/CreateContainerVisualization.js +1 -1
  189. package/src/sap/ui/rta/util/changeVisualization/commands/MoveVisualization.js +1 -1
  190. package/src/sap/ui/rta/util/changeVisualization/commands/RenameVisualization.js +1 -1
  191. package/src/sap/ui/rta/util/changeVisualization/commands/SplitVisualization.js +1 -1
  192. package/src/sap/ui/rta/util/changeVisualization/commands/getCommandVisualization.js +1 -1
  193. package/src/sap/ui/rta/util/guidedTour/GuidedTour.js +242 -0
  194. package/src/sap/ui/rta/util/guidedTour/TourMarker.fragment.xml +50 -0
  195. package/src/sap/ui/rta/util/guidedTour/content/GeneralTour.js +205 -0
  196. package/src/sap/ui/rta/util/hasStableId.js +1 -1
  197. package/src/sap/ui/rta/util/isReuseComponent.js +1 -1
  198. package/src/sap/ui/rta/util/showMessageBox.js +1 -1
  199. package/src/sap/ui/rta/util/validateFlexEnabled.js +1 -1
  200. package/src/sap/ui/rta/util/validateStableIds.js +1 -1
  201. package/src/sap/ui/rta/util/validateText.js +1 -1
  202. package/src/sap/ui/rta/util/whatsNew/WhatsNew.js +8 -4
  203. package/src/sap/ui/rta/util/whatsNew/WhatsNewDialog.fragment.xml +1 -1
  204. package/src/sap/ui/rta/util/whatsNew/WhatsNewOverview.js +1 -1
  205. package/src/sap/ui/rta/util/whatsNew/WhatsNewUtils.js +1 -1
  206. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/WhatsNewFeatures.js +85 -1
  207. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/whatsNewImages/ChangeLabelsAction.png +0 -0
  208. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/whatsNewImages/DisplayBehavior.png +0 -0
  209. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/whatsNewImages/ExtendedActions.png +0 -0
  210. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/whatsNewImages/GuidedTour.png +0 -0
  211. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/whatsNewImages/ReloadButtonToolbar.png +0 -0
  212. package/src/sap/ui/rta/util/whatsNew/whatsNewContent/whatsNewImages/RenameDialog.png +0 -0
  213. package/ui5.yaml +1 -1
  214. package/.reuse/dep5 +0 -471
  215. package/src/sap/ui/rta/command/AppDescriptorCommand.js +0 -114
  216. package/src/sap/ui/rta/plugin/RenameHandler.js +0 -477
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
12
12
  * @class
13
13
  * @extends sap.ui.rta.command.FlexCommand
14
14
  * @author SAP SE
15
- * @version 1.134.0
15
+ * @version 1.136.0
16
16
  * @constructor
17
17
  * @private
18
18
  * @since 1.34
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
12
12
  * @class
13
13
  * @extends sap.ui.rta.command.FlexCommand
14
14
  * @author SAP SE
15
- * @version 1.134.0
15
+ * @version 1.136.0
16
16
  * @constructor
17
17
  * @private
18
18
  * @since 1.62
@@ -0,0 +1,93 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "sap/ui/core/Element",
8
+ "sap/ui/fl/apply/api/FlexRuntimeInfoAPI",
9
+ "sap/ui/fl/write/api/ChangesWriteAPI",
10
+ "sap/ui/rta/command/FlexCommand"
11
+ ], function(
12
+ Element,
13
+ FlexRuntimeInfoAPI,
14
+ ChangesWriteAPI,
15
+ FlexCommand
16
+ ) {
17
+ "use strict";
18
+
19
+ /**
20
+ * Extend Controller Command
21
+ *
22
+ * @class
23
+ * @extends sap.ui.rta.command.FlexCommand
24
+ * @author SAP SE
25
+ * @version 1.136.0
26
+ * @constructor
27
+ * @private
28
+ * @since 1.135
29
+ * @alias sap.ui.rta.command.ExtendControllerCommand
30
+ */
31
+ const ExtendControllerCommand = FlexCommand.extend("sap.ui.rta.command.ExtendControllerCommand", {
32
+ metadata: {
33
+ library: "sap.ui.rta",
34
+ properties: {
35
+ changeType: {
36
+ type: "string",
37
+ defaultValue: "codeExt"
38
+ },
39
+ codeRef: {
40
+ type: "string"
41
+ },
42
+ viewId: {
43
+ type: "string"
44
+ }
45
+ },
46
+ associations: {},
47
+ events: {}
48
+ }
49
+ });
50
+
51
+ ExtendControllerCommand.prototype._createChange = function(mFlexSettings) {
52
+ const sViewId = this.getViewId();
53
+ const sCodeRef = this.getCodeRef();
54
+ const oView = Element.getElementById(sViewId);
55
+ const oAppComponent = this.getAppComponent();
56
+ const sControllerName = oView.getControllerModuleName() ? `module:${oView.getControllerModuleName()}` : oView.getController()?.getMetadata().getName();
57
+ // Calculate moduleName for code extension
58
+ const sReference = FlexRuntimeInfoAPI.getFlexReference({element: oAppComponent});
59
+ let sModuleName = sReference.replace(/\.Component/g, "").replace(/\./g, "/");
60
+ sModuleName += "/changes/";
61
+ sModuleName += sCodeRef.replace(/\.js/g, "");
62
+
63
+ const oChangeSpecificData = {
64
+ changeType: this.getChangeType(),
65
+ layer: mFlexSettings.layer,
66
+ codeRef: this.getCodeRef(),
67
+ controllerName: sControllerName,
68
+ reference: sReference,
69
+ moduleName: sModuleName,
70
+ generator: "sap.ui.rta.command.ExtendControllerCommand"
71
+ };
72
+
73
+ return ChangesWriteAPI.create({
74
+ changeSpecificData: oChangeSpecificData,
75
+ selector: oAppComponent
76
+ });
77
+ };
78
+
79
+ ExtendControllerCommand.prototype.execute = function() {
80
+ return Promise.resolve();
81
+ };
82
+
83
+ ExtendControllerCommand.prototype.undo = function() {
84
+ return Promise.resolve();
85
+ };
86
+
87
+ /**
88
+ * For the extended controller commands to take effect, restart the app. This reloads the models.
89
+ */
90
+ ExtendControllerCommand.prototype.needsReload = true;
91
+
92
+ return ExtendControllerCommand;
93
+ });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @extends sap.ui.rta.command.BaseCommand
36
36
  *
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.136.0
39
39
  *
40
40
  * @constructor
41
41
  * @private
@@ -102,33 +102,32 @@ sap.ui.define([
102
102
  * (in some cases element of a command is unstable, so change needs to be created and stored upfront)
103
103
  * @override
104
104
  */
105
- FlexCommand.prototype.prepare = function(mFlexSettings, sVariantManagementReference, sCommand) {
106
- var oSelector;
107
- if (!this.getSelector() && mFlexSettings && mFlexSettings.templateSelector) {
108
- oSelector = {
109
- id: mFlexSettings.templateSelector,
110
- appComponent: this.getAppComponent(),
111
- controlType: FlUtils.getControlType(Element.getElementById(mFlexSettings.templateSelector))
112
- };
113
- this.setSelector(oSelector);
114
- } else if (!this.getSelector() && this.getElement()) {
115
- oSelector = {
116
- id: this.getElement().getId(),
117
- appComponent: this.getAppComponent(),
118
- controlType: FlUtils.getControlType(this.getElement())
119
- };
120
- this.setSelector(oSelector);
121
- }
105
+ FlexCommand.prototype.prepare = async function(mFlexSettings, sVariantManagementReference, sCommand) {
106
+ try {
107
+ let oSelector;
108
+ if (!this.getSelector() && mFlexSettings && mFlexSettings.templateSelector) {
109
+ oSelector = {
110
+ id: mFlexSettings.templateSelector,
111
+ appComponent: this.getAppComponent(),
112
+ controlType: FlUtils.getControlType(Element.getElementById(mFlexSettings.templateSelector))
113
+ };
114
+ this.setSelector(oSelector);
115
+ } else if (!this.getSelector() && this.getElement()) {
116
+ oSelector = {
117
+ id: this.getElement().getId(),
118
+ appComponent: this.getAppComponent(),
119
+ controlType: FlUtils.getControlType(this.getElement())
120
+ };
121
+ this.setSelector(oSelector);
122
+ }
122
123
 
123
- return this._createChange(mFlexSettings, sVariantManagementReference, sCommand)
124
- .then(function(oChange) {
124
+ const oChange = await this._createChange(mFlexSettings, sVariantManagementReference, sCommand);
125
125
  this._oPreparedChange = oChange;
126
126
  return true;
127
- }.bind(this))
128
- .catch(function(oError) {
127
+ } catch (oError) {
129
128
  Log.error(oError.message || oError.name);
130
129
  return false;
131
- });
130
+ }
132
131
  };
133
132
 
134
133
  /**
@@ -194,18 +193,23 @@ sap.ui.define([
194
193
  * @returns {Promise.<object>} Change object wrapped in a promise.
195
194
  * @private
196
195
  */
197
- FlexCommand.prototype._createChangeFromData = function(mChangeSpecificData, mFlexSettings, sVariantManagementReference, sCommand) {
196
+ FlexCommand.prototype._createChangeFromData = async function(
197
+ mChangeSpecificData,
198
+ mFlexSettings,
199
+ sVariantManagementReference,
200
+ sCommand
201
+ ) {
198
202
  if (mFlexSettings) {
199
203
  mChangeSpecificData = merge({}, mChangeSpecificData, mFlexSettings);
200
204
  }
201
205
  mChangeSpecificData.jsOnly = this.getJsOnly();
202
- var oModel = this.getAppComponent().getModel(ControlVariantApplyAPI.getVariantModelName());
203
- var sVariantReference;
206
+ const oModel = this.getAppComponent().getModel(ControlVariantApplyAPI.getVariantModelName());
207
+ let sVariantReference;
204
208
  if (oModel && sVariantManagementReference) {
205
209
  sVariantReference = oModel.getCurrentVariantReference(sVariantManagementReference);
206
210
  }
207
211
  if (sVariantReference && !this.getVariantIndependent()) {
208
- var mVariantObj = {
212
+ const mVariantObj = {
209
213
  variantManagementReference: sVariantManagementReference,
210
214
  variantReference: sVariantReference,
211
215
  isChangeOnStandardVariant: sVariantManagementReference === sVariantReference
@@ -214,22 +218,29 @@ sap.ui.define([
214
218
  }
215
219
  mChangeSpecificData.command = sCommand;
216
220
  mChangeSpecificData.generator = mFlexSettings.generator || rtaLibrary.GENERATOR_NAME;
217
- return ChangesWriteAPI.create({changeSpecificData: mChangeSpecificData, selector: this._validateControlForChange(mFlexSettings)})
218
- .then(function(oChange) {
219
- // originalSelector is only present when making a change on/inside a template; the selector does not work with the JS propagation hook (the template has no parent),
220
- // therefore the selector is changed to the parent (already the selector of the command) and the original selector saved as dependent.
221
- // Also 'boundAggregation' property gets saved in the change content
222
- // ATTENTION! the change gets applied as soon as the parent is available, so there might be possible side effects with lazy loading
223
- if (mFlexSettings && mFlexSettings.originalSelector) {
224
- oChange.addDependentControl(mFlexSettings.originalSelector, "originalSelector", {modifier: JsControlTreeModifier, appComponent: this.getAppComponent()});
225
- oChange.setSelector({
226
- ...oChange.getSelector(),
227
- ...JsControlTreeModifier.getSelector(this.getSelector().id, this.getAppComponent())
228
- });
229
- oChange.setContent({ ...oChange.getContent(), ...mFlexSettings.content });
230
- }
231
- return oChange;
232
- }.bind(this));
221
+ const oChange = await ChangesWriteAPI.create({
222
+ changeSpecificData: mChangeSpecificData,
223
+ selector: this._validateControlForChange(mFlexSettings)
224
+ });
225
+ // originalSelector is only present when making a change on/inside a template;
226
+ // the selector does not work with the JS propagation hook (the template has no parent),
227
+ // therefore the selector is changed to the parent (already the selector of the command)
228
+ // and the original selector saved as dependent.
229
+ // Also 'boundAggregation' property gets saved in the change content
230
+ // ATTENTION! the change gets applied as soon as the parent is available, so there might be possible side effects with lazy loading
231
+ if (mFlexSettings && mFlexSettings.originalSelector) {
232
+ oChange.addDependentControl(
233
+ mFlexSettings.originalSelector,
234
+ "originalSelector",
235
+ {modifier: JsControlTreeModifier, appComponent: this.getAppComponent()}
236
+ );
237
+ oChange.setSelector({
238
+ ...oChange.getSelector(),
239
+ ...JsControlTreeModifier.getSelector(this.getSelector().id, this.getAppComponent())
240
+ });
241
+ oChange.setContent({ ...oChange.getContent(), ...mFlexSettings.content });
242
+ }
243
+ return oChange;
233
244
  };
234
245
 
235
246
  /**
@@ -1,12 +1,12 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
7
  "sap/ui/base/ManagedObject",
8
8
  "sap/ui/rta/command/FlexCommand",
9
- "sap/ui/rta/command/AppDescriptorCommand",
9
+ "sap/ui/rta/command/ManifestCommand",
10
10
  "sap/ui/fl/Utils",
11
11
  "sap/ui/dt/ElementUtil",
12
12
  "sap/base/Log",
@@ -14,7 +14,7 @@ sap.ui.define([
14
14
  ], function(
15
15
  ManagedObject,
16
16
  FlexCommand,
17
- AppDescriptorCommand,
17
+ ManifestCommand,
18
18
  FlUtils,
19
19
  ElementUtil,
20
20
  Log,
@@ -27,13 +27,13 @@ sap.ui.define([
27
27
  * @class
28
28
  * @extends sap.ui.base.ManagedObject
29
29
  * @author SAP SE
30
- * @version 1.134.0
30
+ * @version 1.136.0
31
31
  * @constructor
32
32
  * @private
33
33
  * @since 1.42
34
34
  * @alias sap.ui.rta.command.LREPSerializer
35
35
  */
36
- var LREPSerializer = ManagedObject.extend("sap.ui.rta.command.LREPSerializer", {
36
+ const LREPSerializer = ManagedObject.extend("sap.ui.rta.command.LREPSerializer", {
37
37
  metadata: {
38
38
  library: "sap.ui.rta",
39
39
  associations: {
@@ -80,21 +80,21 @@ sap.ui.define([
80
80
 
81
81
  LREPSerializer.prototype.handleCommandExecuted = function(oEvent) {
82
82
  return (function(oEvent) {
83
- var oParams = oEvent;
83
+ const oParams = oEvent;
84
84
  this._lastPromise = this._lastPromise.catch(function() {
85
85
  // _lastPromise chain must not be interrupted
86
86
  }).then(function() {
87
- var aCommands = this.getCommandStack().getSubCommands(oParams.command);
88
- var oAppComponent;
89
- var aFlexObjects = [];
87
+ const aCommands = this.getCommandStack().getSubCommands(oParams.command);
88
+ let oAppComponent;
89
+ const aFlexObjects = [];
90
90
  if (oParams.undo) {
91
91
  aCommands.forEach(function(oCommand) {
92
92
  // for revertable changes which don't belong to LREP (variantSwitch) or runtime only changes
93
- if (!(oCommand instanceof FlexCommand || oCommand instanceof AppDescriptorCommand)
93
+ if (!(oCommand instanceof FlexCommand || oCommand instanceof ManifestCommand)
94
94
  || oCommand.getRuntimeOnly()) {
95
95
  return;
96
96
  }
97
- var oChange = oCommand.getPreparedChange();
97
+ const oChange = oCommand.getPreparedChange();
98
98
  oAppComponent = oCommand.getAppComponent();
99
99
  if (oAppComponent) {
100
100
  aFlexObjects.push(oChange);
@@ -108,7 +108,7 @@ sap.ui.define([
108
108
  }
109
109
  return Promise.resolve();
110
110
  }
111
- var aDescriptorCreateAndAdd = [];
111
+ const aManifestCreateAndAdd = [];
112
112
  aCommands.forEach(function(oCommand) {
113
113
  // Runtime only changes should not be added to the persistence
114
114
  if (oCommand.getRuntimeOnly()) {
@@ -117,19 +117,19 @@ sap.ui.define([
117
117
  if (oCommand instanceof FlexCommand) {
118
118
  oAppComponent = oCommand.getAppComponent();
119
119
  if (oAppComponent) {
120
- var oPreparedChange = oCommand.getPreparedChange();
120
+ const oPreparedChange = oCommand.getPreparedChange();
121
121
  if (!this._isPersistedChange(oPreparedChange)) {
122
122
  aFlexObjects.push(oCommand.getPreparedChange());
123
123
  }
124
124
  }
125
- } else if (oCommand instanceof AppDescriptorCommand) {
126
- aDescriptorCreateAndAdd.push(oCommand.createAndStoreChange());
125
+ } else if (oCommand instanceof ManifestCommand) {
126
+ aManifestCreateAndAdd.push(oCommand.createAndStoreChange());
127
127
  }
128
128
  }.bind(this));
129
129
  if (oAppComponent) {
130
130
  PersistenceWriteAPI.add({flexObjects: aFlexObjects, selector: oAppComponent});
131
131
  }
132
- return Promise.all(aDescriptorCreateAndAdd);
132
+ return Promise.all(aManifestCreateAndAdd);
133
133
  }.bind(this));
134
134
  return this._lastPromise;
135
135
  }.bind(this))(oEvent);
@@ -145,7 +145,7 @@ sap.ui.define([
145
145
  this._lastPromise = this._lastPromise.catch(function() {
146
146
  // _lastPromise chain must not be interrupted
147
147
  }).then(function() {
148
- var aCommands = this.getCommandStack().getAllExecutedCommands();
148
+ const aCommands = this.getCommandStack().getAllExecutedCommands();
149
149
  return aCommands.some(function(oCommand) {
150
150
  return !!oCommand.needsReload;
151
151
  });
@@ -154,7 +154,7 @@ sap.ui.define([
154
154
  };
155
155
  /**
156
156
  * Serializes and saves all changes to LREP
157
- * In case of Base Applications (no App Variants) the App Descriptor Changes
157
+ * In case of Base Applications (no App Variants) the Manifest Changes
158
158
  * and UI Changes are saved in different Flex Persistence instances,
159
159
  * so we have to call save twice. For App Variants all the changes are saved in one place.
160
160
  * @param {object} mPropertyBag - Property bag
@@ -171,7 +171,7 @@ sap.ui.define([
171
171
  Log.error(oError);
172
172
  // _lastPromise chain must not be interrupted
173
173
  }).then(function() {
174
- var oRootControl = getRootControlInstance(this.getRootControl());
174
+ const oRootControl = getRootControlInstance(this.getRootControl());
175
175
  if (!oRootControl) {
176
176
  throw new Error("Can't save commands without root control instance!");
177
177
  }
@@ -196,10 +196,10 @@ sap.ui.define([
196
196
  };
197
197
 
198
198
  LREPSerializer.prototype._triggerUndoChanges = function(bRemoveChanges) {
199
- var oCommandStack = this.getCommandStack();
200
- var aPromises = [];
199
+ const oCommandStack = this.getCommandStack();
200
+ let aPromises = [];
201
201
 
202
- var aCommands = oCommandStack.getAllExecutedCommands();
202
+ const aCommands = oCommandStack.getAllExecutedCommands();
203
203
 
204
204
  if (bRemoveChanges) {
205
205
  // Calling "undo" from the stack, the serializer is also informed of the
@@ -228,7 +228,7 @@ sap.ui.define([
228
228
  * @returns {Promise} returns a promise with true or false
229
229
  */
230
230
  LREPSerializer.prototype.clearCommandStack = function(bRemoveChanges) {
231
- var oCommandStack = this.getCommandStack();
231
+ const oCommandStack = this.getCommandStack();
232
232
 
233
233
  // Detach the event 'commandExecuted' here to stop the communication of LREPSerializer with Flex
234
234
  if (!bRemoveChanges) {
@@ -246,4 +246,4 @@ sap.ui.define([
246
246
  };
247
247
 
248
248
  return LREPSerializer;
249
- });
249
+ });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @class
21
21
  * @extends sap.ui.rta.command.BaseCommand
22
22
  * @author SAP SE
23
- * @version 1.134.0
23
+ * @version 1.136.0
24
24
  * @constructor
25
25
  * @private
26
26
  * @since 1.90
@@ -0,0 +1,112 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+ sap.ui.define([
7
+ "sap/ui/rta/command/BaseCommand",
8
+ "sap/ui/fl/descriptorRelated/api/DescriptorChange",
9
+ "sap/ui/fl/write/api/ChangesWriteAPI"
10
+ ], function(
11
+ BaseCommand,
12
+ DescriptorChange,
13
+ ChangesWriteAPI
14
+ ) {
15
+ "use strict";
16
+
17
+ /**
18
+ * Implementation of a command template for manifest changes
19
+ *
20
+ * @class
21
+ * @extends sap.ui.rta.command.BaseCommand
22
+ *
23
+ * @author SAP SE
24
+ * @version 1.136.0
25
+ *
26
+ * @constructor
27
+ * @private
28
+ * @since 1.49
29
+ * @alias sap.ui.rta.command.ManifestCommand
30
+ */
31
+ const ManifestCommand = BaseCommand.extend("sap.ui.rta.command.ManifestCommand", {
32
+ metadata: {
33
+ library: "sap.ui.rta",
34
+ properties: {
35
+ reference: {
36
+ type: "string"
37
+ },
38
+ appComponent: {
39
+ type: "object"
40
+ },
41
+ layer: {
42
+ type: "string"
43
+ },
44
+ changeType: {
45
+ type: "string"
46
+ },
47
+ parameters: {
48
+ type: "object"
49
+ },
50
+ texts: {
51
+ type: "object"
52
+ }
53
+ },
54
+ events: {}
55
+ }
56
+ });
57
+
58
+ /**
59
+ * For manifest commands to take effect usually the app needs to be restarted as server-side processing is involved.
60
+ */
61
+ ManifestCommand.prototype.needsReload = true;
62
+
63
+ /**
64
+ * Prepare the manifest change, setting the layer.
65
+ * @param {object} mFlexSettings - Map of flex settings
66
+ * @param {string} mFlexSettings.layer - Layer where the change is applied
67
+ * @returns {boolean} <code>true</true>
68
+ */
69
+ ManifestCommand.prototype.prepare = function(mFlexSettings) {
70
+ this.setLayer(mFlexSettings.layer);
71
+ return true;
72
+ };
73
+
74
+ /**
75
+ * Retrieves the prepared change for e.g. undo execution.
76
+ * @return {sap.ui.fl.apply._internal.flexObjects.UIChange} Returns change after being created and stored
77
+ */
78
+ ManifestCommand.prototype.getPreparedChange = function() {
79
+ return this._oPreparedChange;
80
+ };
81
+
82
+ ManifestCommand.prototype.setCompositeId = function(sCompositeId) {
83
+ this._sCompositeId = sCompositeId;
84
+ };
85
+
86
+ /**
87
+ * Create the change for the manifest and adds it to the Flex Persistence.
88
+ * @return {Promise} Returns Promise resolving after change has been created and stored
89
+ */
90
+ ManifestCommand.prototype.createAndStoreChange = async function() {
91
+ const oManifestChange = await ChangesWriteAPI.create({
92
+ changeSpecificData: {
93
+ changeType: this.getChangeType(),
94
+ content: this.getParameters(),
95
+ texts: this.getTexts(),
96
+ support: {
97
+ compositeCommand: this._sCompositeId || ""
98
+ },
99
+ reference: this.getReference(),
100
+ layer: this.getLayer()
101
+ },
102
+ selector: this.getAppComponent(),
103
+ generator: "sap.ui.rta.ManifestCommand"
104
+ });
105
+ if (!(oManifestChange instanceof DescriptorChange)) {
106
+ throw new Error(`With the given changeSpecificData, no manifest change could be created. Provided change content: ${JSON.stringify(this.getParameters())} and change type: ${this.getChangeType()}.`);
107
+ }
108
+ const oChange = oManifestChange.store();
109
+ this._oPreparedChange = oChange;
110
+ };
111
+ return ManifestCommand;
112
+ });
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -17,7 +17,7 @@ function(
17
17
  * @class
18
18
  * @extends sap.ui.rta.command.FlexCommand
19
19
  * @author SAP SE
20
- * @version 1.134.0
20
+ * @version 1.136.0
21
21
  * @constructor
22
22
  * @private
23
23
  * @since 1.34
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @class
17
17
  * @extends sap.ui.rta.command.FlexCommand
18
18
  * @author SAP SE
19
- * @version 1.134.0
19
+ * @version 1.136.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.34
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
12
12
  * @class
13
13
  * @extends sap.ui.rta.command.FlexCommand
14
14
  * @author SAP SE
15
- * @version 1.134.0
15
+ * @version 1.136.0
16
16
  * @constructor
17
17
  * @private
18
18
  * @since 1.42
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
12
12
  * @class
13
13
  * @extends sap.ui.rta.command.FlexCommand
14
14
  * @author SAP SE
15
- * @version 1.134.0
15
+ * @version 1.136.0
16
16
  * @constructor
17
17
  * @private
18
18
  * @since 1.34
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  * @class
17
17
  * @extends sap.ui.rta.command.FlexCommand
18
18
  * @author SAP SE
19
- * @version 1.134.0
19
+ * @version 1.136.0
20
20
  * @constructor
21
21
  * @private
22
22
  * @since 1.101
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
12
12
  * @class
13
13
  * @extends sap.ui.rta.command.FlexCommand
14
14
  * @author SAP SE
15
- * @version 1.134.0
15
+ * @version 1.136.0
16
16
  * @constructor
17
17
  * @private
18
18
  * @since 1.44
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * OpenUI5
3
- * (c) Copyright 2009-2025 SAP SE or an SAP affiliate company.
3
+ * (c) Copyright 2025 SAP SE or an SAP affiliate company.
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
@@ -12,7 +12,7 @@ sap.ui.define(["sap/ui/rta/command/FlexCommand"], function(FlexCommand) {
12
12
  * @class
13
13
  * @extends sap.ui.rta.command.FlexCommand
14
14
  * @author SAP SE
15
- * @version 1.134.0
15
+ * @version 1.136.0
16
16
  * @constructor
17
17
  * @private
18
18
  * @since 1.44