@openui5/sap.ui.fl 1.111.2 → 1.112.2

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 (154) hide show
  1. package/package.json +3 -3
  2. package/src/sap/ui/fl/.library +1 -1
  3. package/src/sap/ui/fl/Cache.js +1 -1
  4. package/src/sap/ui/fl/ChangePersistence.js +1 -1
  5. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  6. package/src/sap/ui/fl/FakeLrepConnector.js +3 -13
  7. package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
  8. package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
  9. package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
  10. package/src/sap/ui/fl/FlexController.js +7 -2
  11. package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
  12. package/src/sap/ui/fl/LayerUtils.js +1 -1
  13. package/src/sap/ui/fl/Utils.js +1 -1
  14. package/src/sap/ui/fl/apply/_internal/ChangesController.js +3 -28
  15. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -2
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -2
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +3 -2
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +2 -3
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +76 -0
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +2 -3
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +12 -13
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +76 -0
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +2 -3
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +2 -3
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +4 -5
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +4 -5
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +8 -9
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +4 -5
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +3 -4
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +4 -5
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +2 -3
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +5 -6
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +4 -5
  37. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +4 -5
  38. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +18 -5
  39. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +5 -11
  45. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +1 -23
  49. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +3 -10
  51. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  55. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +1 -1
  57. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  58. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
  59. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
  60. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  61. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  62. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  63. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  64. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  65. package/src/sap/ui/fl/changeHandler/Base.js +2 -2
  66. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/BaseRename.js +3 -1
  69. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  74. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  75. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  76. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  77. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  78. package/src/sap/ui/fl/changeHandler/common/createIFrame.js +7 -1
  79. package/src/sap/ui/fl/changeHandler/common/revertAddedControls.js +21 -31
  80. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  81. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  82. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  83. package/src/sap/ui/fl/designtime/util/IFrame.designtime.js +34 -3
  84. package/src/sap/ui/fl/designtime/variants/VariantManagement.designtime.js +2 -0
  85. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  86. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  88. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  89. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  90. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  91. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  92. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  93. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  94. package/src/sap/ui/fl/library.js +43 -43
  95. package/src/sap/ui/fl/messagebundle_bg.properties +2 -2
  96. package/src/sap/ui/fl/support/_internal/extractChangeDependencies.js +1 -0
  97. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  98. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  99. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  100. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  101. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  102. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  103. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  104. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  105. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  106. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  107. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  108. package/src/sap/ui/fl/util/DescriptorChangeCheck.js +45 -4
  109. package/src/sap/ui/fl/util/IFrame.js +12 -2
  110. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  111. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  112. package/src/sap/ui/fl/variants/VariantManagement.js +17 -0
  113. package/src/sap/ui/fl/variants/VariantModel.js +63 -42
  114. package/src/sap/ui/fl/write/_internal/SaveAs.js +25 -61
  115. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  116. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
  117. package/src/sap/ui/fl/write/_internal/Versions.js +4 -1
  118. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  119. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  120. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  121. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  122. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +29 -22
  123. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  124. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  125. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  126. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  127. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  128. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  129. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  130. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  131. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  132. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  133. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +15 -11
  134. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  135. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  136. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  137. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  138. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  139. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  140. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  141. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  142. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  143. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  144. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  145. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  146. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +15 -21
  147. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +5 -3
  148. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  149. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  150. package/src/sap/ui/fl/write/api/AppVariantWriteAPI.js +3 -3
  151. package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +1 -1
  152. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  153. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +13 -4
  154. package/src/sap/ui/fl/write/api/SmartBusinessWriteAPI.js +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.fl",
3
- "version": "1.111.2",
3
+ "version": "1.112.2",
4
4
  "description": "OpenUI5 UI Library sap.ui.fl",
5
5
  "author": "SAP SE (https://www.sap.com)",
6
6
  "license": "Apache-2.0",
@@ -14,7 +14,7 @@
14
14
  "url": "https://github.com/SAP/openui5.git"
15
15
  },
16
16
  "dependencies": {
17
- "@openui5/sap.m": "1.111.2",
18
- "@openui5/sap.ui.core": "1.111.2"
17
+ "@openui5/sap.m": "1.112.2",
18
+ "@openui5/sap.ui.core": "1.112.2"
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.111.2</version>
9
+ <version>1.112.2</version>
10
10
 
11
11
  <documentation>SAPUI5 library with sap.ui.fl controls.</documentation>
12
12
 
@@ -24,7 +24,7 @@ function(
24
24
  * @alias sap.ui.fl.Cache
25
25
  * @experimental Since 1.25.0
26
26
  * @author SAP SE
27
- * @version 1.111.2
27
+ * @version 1.112.2
28
28
  *
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl
@@ -66,7 +66,7 @@ sap.ui.define([
66
66
  *
67
67
  * @constructor
68
68
  * @author SAP SE
69
- * @version 1.111.2
69
+ * @version 1.112.2
70
70
  * @experimental Since 1.25.0
71
71
  * @param {object} mComponent - Component data to initiate <code>ChangePersistence</code> instance
72
72
  * @param {string} mComponent.name - Name of the component this instance is responsible for
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @alias sap.ui.fl.ChangePersistenceFactory
31
31
  * @experimental Since 1.27.0
32
32
  * @author SAP SE
33
- * @version 1.111.2
33
+ * @version 1.112.2
34
34
  * @private
35
35
  * @ui5-restricted sap.ui.fl
36
36
  */
@@ -113,19 +113,9 @@ sap.ui.define([
113
113
  oStorage.setItem(sFlexKey, sItem);
114
114
  },
115
115
  getNumberOfChanges: function(oStorage, sReference) {
116
- var iCount = 0;
117
- Object.keys(oStorage).map(function(sKey) {
118
- var bIsFlexObject = sKey.includes(FL_PREFIX);
119
-
120
- if (!bIsFlexObject) {
121
- return;
122
- }
123
- var oFlexObject = JSON.parse(oStorage.getItem(sKey));
124
- if (oFlexObject.reference === sReference || oFlexObject.reference + ".Component" === sReference) {
125
- iCount++;
126
- }
127
- });
128
- return iCount;
116
+ return Object.keys(oStorage).filter(function(sKey) {
117
+ return sKey.includes(FL_PREFIX) && ObjectStorageUtils.isSameReference(JSON.parse(oStorage.getItem(sKey)), sReference);
118
+ }).length;
129
119
  }
130
120
  }
131
121
  };
@@ -20,7 +20,7 @@ function(
20
20
  * @namespace
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.111.2
23
+ * @version 1.112.2
24
24
  *
25
25
  * @private
26
26
  * @since 1.48
@@ -20,7 +20,7 @@ function(
20
20
  * @namespace
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.111.2
23
+ * @version 1.112.2
24
24
  *
25
25
  * @private
26
26
  * @since 1.58
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @namespace
18
18
  *
19
19
  * @author SAP SE
20
- * @version 1.111.2
20
+ * @version 1.112.2
21
21
  *
22
22
  * @private
23
23
  * @since 1.48
@@ -88,7 +88,7 @@ sap.ui.define([
88
88
  * @alias sap.ui.fl.FlexController
89
89
  * @experimental Since 1.27.0
90
90
  * @author SAP SE
91
- * @version 1.111.2
91
+ * @version 1.112.2
92
92
  */
93
93
  var FlexController = function(sComponentName) {
94
94
  this._oChangePersistence = undefined;
@@ -483,13 +483,18 @@ sap.ui.define([
483
483
  .then(function(oResult) {
484
484
  if (bDraft && oResult && oResult.response) {
485
485
  var vChangeDefinition = oResult.response;
486
+ var aDraftFilenames = [];
486
487
  if (Array.isArray(vChangeDefinition)) {
488
+ vChangeDefinition.forEach(function(change) {
489
+ aDraftFilenames.push(change.fileName);
490
+ });
487
491
  // the reference and layer of all items are the same
488
492
  vChangeDefinition = vChangeDefinition[0];
489
493
  }
490
494
  Versions.onAllChangesSaved({
491
495
  reference: vChangeDefinition.reference,
492
- layer: vChangeDefinition.layer
496
+ layer: vChangeDefinition.layer,
497
+ draftFilenames: aDraftFilenames
493
498
  });
494
499
  }
495
500
  return oResult;
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @alias sap.ui.fl.FlexControllerFactory
35
35
  * @experimental Since 1.27.0
36
36
  * @author SAP SE
37
- * @version 1.111.2
37
+ * @version 1.112.2
38
38
  *
39
39
  * @private
40
40
  * @ui5-restricted sap.ui.fl
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  *
42
42
  * @namespace sap.ui.fl.LayerUtils
43
43
  * @author SAP SE
44
- * @version 1.111.2
44
+ * @version 1.112.2
45
45
  */
46
46
  var LayerUtils = {
47
47
  _mLayersIndex: mLayersIndex,
@@ -67,7 +67,7 @@ sap.ui.define([
67
67
  * @namespace
68
68
  * @alias sap.ui.fl.Utils
69
69
  * @author SAP SE
70
- * @version 1.111.2
70
+ * @version 1.112.2
71
71
  *
72
72
  * @private
73
73
  * @ui5-restricted sap.ui.fl, sap.ui.rta
@@ -15,19 +15,6 @@ sap.ui.define([
15
15
  ) {
16
16
  "use strict";
17
17
 
18
-
19
-
20
- /**
21
- * Returns an object with 'name' and 'version' of the App Component where the App Descriptor changes are saved
22
- *
23
- * @param {sap.ui.base.ManagedObject} oControl control or app component for which the flex controller should be instantiated
24
- * @returns {string} Returns name of Component for App Descriptor changes
25
- */
26
- function getAppDescriptorComponentObjectForControl(oControl) {
27
- var oManifest = FlexUtils.getAppDescriptor(oControl);
28
- return ManifestUtils.getAppIdFromManifest(oManifest);
29
- }
30
-
31
18
  var ChangesController = {
32
19
  /**
33
20
  * Returns the FlexController of the app component where the UI changes are saved
@@ -39,25 +26,13 @@ sap.ui.define([
39
26
  if (typeof vSelectorOrName === "string") {
40
27
  return OldFlexControllerFactory.create(vSelectorOrName);
41
28
  }
29
+ if (typeof vSelectorOrName.appId === "string") {
30
+ return OldFlexControllerFactory.create(vSelectorOrName.appId);
31
+ }
42
32
  var oManagedObject = vSelectorOrName.appComponent || vSelectorOrName;
43
33
  return OldFlexControllerFactory.createForControl(oManagedObject);
44
34
  },
45
35
 
46
- /**
47
- * Returns the FlexController of the app component where the App Descriptor changes are saved
48
- *
49
- * @param {sap.ui.fl.Selector} vSelector - Selector object or app component for which the descriptor controller should be instantiated
50
- * @returns {sap.ui.fl.FlexController} Returns FlexController Instance of Component for app descriptor changes
51
- */
52
- getDescriptorFlexControllerInstance: function(vSelector) {
53
- if (typeof vSelector.appId === "string") {
54
- return OldFlexControllerFactory.create(vSelector.appId);
55
- }
56
- var oAppComponent = vSelector.appComponent || vSelector;
57
- var sAppId = getAppDescriptorComponentObjectForControl(oAppComponent);
58
- return OldFlexControllerFactory.create(sAppId);
59
- },
60
-
61
36
  /**
62
37
  * Returns the app component from the passed selector.
63
38
  *
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @private
27
27
  * @author SAP SE
28
- * @version 1.111.2
28
+ * @version 1.112.2
29
29
  *
30
30
  * @experimental Since 1.80 This class is experimental and provides only limited functionality. Also the API might be
31
31
  * changed in future.
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  * @alias sap.ui.fl.FlexCustomData
31
31
  * @experimental Since 1.61.0
32
32
  * @author SAP SE
33
- * @version 1.111.2
33
+ * @version 1.112.2
34
34
  */
35
35
  var FlexCustomData = {};
36
36
 
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @namespace sap.ui.fl.apply._internal.changes.Utils
24
24
  * @since 1.70
25
- * @version 1.111.2
25
+ * @version 1.112.2
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl.apply._internal, sap.ui.fl.write._internal
28
28
  */
@@ -26,9 +26,8 @@ sap.ui.define([
26
26
  * Flex hook for preprocessing manifest early. Merges descriptor changes if needed.
27
27
  *
28
28
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Preprocessor
29
- * @experimental
30
29
  * @since 1.74
31
- * @version 1.111.2
30
+ * @version 1.112.2
32
31
  * @private
33
32
  * @ui5-restricted sap.ui.fl.apply._internal
34
33
  */
@@ -16,9 +16,8 @@ sap.ui.define([
16
16
  * Loads and registers all descriptor change mergers for client-side merging.
17
17
  *
18
18
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Registration
19
- * @experimental
20
19
  * @since 1.74
21
- * @version 1.111.2
20
+ * @version 1.112.2
22
21
  * @private
23
22
  * @ui5-restricted sap.ui.fl.apply._internal
24
23
  */
@@ -19,9 +19,8 @@ sap.ui.define([
19
19
  * Includes all change handlers used during runtime.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild
22
- * @experimental
23
22
  * @since 1.77
24
- * @version 1.111.2
23
+ * @version 1.112.2
25
24
  * @private
26
25
  * @ui5-restricted sap.ui.fl.apply._internal
27
26
  */
@@ -34,7 +33,9 @@ sap.ui.define([
34
33
  appdescr_ui5_setFlexExtensionPointEnabled: requireAsync.bind(this, "sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled"),
35
34
  appdescr_ui5_addNewModel: requireAsync.bind(this, "sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel"),
36
35
  appdescr_app_addAnnotationsToOData: requireAsync.bind(this, "sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData"),
36
+ appdescr_app_removeAllInboundsExceptOne: requireAsync.bind(this, "sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne"),
37
37
  appdescr_app_changeInbound: requireAsync.bind(this, "sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound"),
38
+ appdescr_app_addNewInbound: requireAsync.bind(this, "sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound"),
38
39
  appdescr_fiori_setAbstract: requireAsync.bind(this, "sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract")
39
40
  };
40
41
 
@@ -137,9 +137,8 @@ sap.ui.define([
137
137
  * Available only for build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
138
138
  *
139
139
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.AddAnnotationsToOData
140
- * @experimental
141
140
  * @since 1.87
142
- * @version 1.111.2
141
+ * @version 1.112.2
143
142
  * @private
144
143
  * @ui5-restricted sap.ui.fl.apply._internal
145
144
  */
@@ -149,7 +148,7 @@ sap.ui.define([
149
148
  * Method to apply the <code>appdescr_app_addAnnotationsToOData</code> change to the manifest.
150
149
  *
151
150
  * @param {object} oManifest - Original manifest
152
- * @param {object} oChange - Change with type <code>appdescr_app_addAnnotationsToOData</code>
151
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change with type <code>appdescr_app_addAnnotationsToOData</code>
153
152
  * @param {string} oChange.content.dataSourceId - ID of <code>sap.app/dataSource</code> that is being changed
154
153
  * @param {Array<string>} oChange.content.annotations - Array of annotations in OData dataSource <code>sap.app/dataSource/settings/annotations</code> that is being changed
155
154
  * @param {string} oChange.content.annotationsInsertPosition - Insert position operation that is performed under annotations. Allowed values: <code>BEGINNING</code> and <code>END</code> default: (<code>BEGINNING</code)
@@ -0,0 +1,76 @@
1
+
2
+ /*!
3
+ * OpenUI5
4
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
5
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
6
+ */
7
+
8
+ sap.ui.define([
9
+ "sap/ui/fl/util/DescriptorChangeCheck"
10
+ ], function(
11
+ DescriptorChangeCheck
12
+ ) {
13
+ "use strict";
14
+
15
+ function getAndCheckInboundId(oChangeContent) {
16
+ var aInbounds = Object.keys(oChangeContent["inbound"]);
17
+ if (aInbounds.length > 1) {
18
+ throw new Error("It is not allowed to add more than one inbound");
19
+ }
20
+ if (aInbounds.length < 1) {
21
+ throw new Error("Inbound does not exist");
22
+ }
23
+ if (aInbounds[0] === "") {
24
+ throw new Error("The ID of your inbound is empty");
25
+ }
26
+ return aInbounds[aInbounds.length - 1];
27
+ }
28
+
29
+ /**
30
+ * Descriptor change merger for change type <code>appdescr_app_addNewInbound</code>.
31
+ * Adds a new inbound <code>sap.app/crossNavigation/inbounds</code> to the app.
32
+ *
33
+ * Available for build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
34
+ *
35
+ * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.AddNewInbound
36
+ * @version 1.112.2
37
+ * @private
38
+ * @ui5-restricted sap.ui.fl.apply._internal
39
+ */
40
+ var AddNewInbound = /** @lends sap.ui.fl.apply._internal.changes.descriptor.app.AddNewInbound */ {
41
+
42
+ /**
43
+ * Method to apply the <code>appdescr_app_addNewInbound</code> change to the manifest.
44
+ *
45
+ * @param {object} oManifest - Original manifest
46
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change with type <code>appdescr_app_addNewInbound</code>
47
+ * @param {object} oChange.content.inbound - Inbound <code>content.inbound</code> that is being added
48
+ * @returns {object} Updated manifest with new inbound <code>sap.app/crossNavigation/inbounds/<new_inbound_id></code>
49
+ *
50
+ * @private
51
+ * @ui5-restricted sap.ui.fl.apply._internal
52
+ */
53
+ applyChange: function(oManifest, oChange) {
54
+ if (!oManifest["sap.app"]["crossNavigation"]) {
55
+ oManifest["sap.app"]["crossNavigation"] = {};
56
+ }
57
+
58
+ if (!oManifest["sap.app"]["crossNavigation"]["inbounds"]) {
59
+ oManifest["sap.app"]["crossNavigation"]["inbounds"] = {};
60
+ }
61
+
62
+ var oChangeContent = oChange.getContent();
63
+ var sInboundId = getAndCheckInboundId(oChangeContent);
64
+ var oInboundInManifest = oManifest["sap.app"]["crossNavigation"]["inbounds"][sInboundId];
65
+ if (!oInboundInManifest) {
66
+ DescriptorChangeCheck.checkIdNamespaceCompliance(sInboundId, oChange);
67
+ oManifest["sap.app"]["crossNavigation"]["inbounds"][sInboundId] = oChangeContent["inbound"][sInboundId];
68
+ } else {
69
+ throw new Error("Inbound with ID \"" + sInboundId + "\" already exist.");
70
+ }
71
+ return oManifest;
72
+ }
73
+ };
74
+
75
+ return AddNewInbound;
76
+ });
@@ -26,8 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @namespace
28
28
  * @alias sap.ui.fl.apply._internal.changes.descriptor.app.ChangeDataSource
29
- * @experimental
30
- * @version 1.111.2
29
+ * @version 1.112.2
31
30
  * @private
32
31
  * @ui5-restricted sap.ui.fl.apply._internal
33
32
  */
@@ -37,7 +36,7 @@ sap.ui.define([
37
36
  * Method to apply the <code>appdescr_app_changeDataSource</code> change to the manifest.
38
37
  *
39
38
  * @param {object} oManifest - Original manifest
40
- * @param {object} oChange - Change with type <code>appdescr_app_changeDataSource</code>
39
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change with type <code>appdescr_app_changeDataSource</code>
41
40
  * @param {string} oChange.content.dataSourceId - ID of <code>sap.app/dataSource</code> that is being changed
42
41
  * @param {object|array} oChange.content.entityPropertyChange - Entity property change or an array of multiple entity property changes
43
42
  * @param {string} oChange.content.entityPropertyChange.propertyPath - Path to the property which should be changed (allowed values: <code>uri</code> and <code>settings/maxAge</code>)
@@ -15,27 +15,26 @@ sap.ui.define([
15
15
  "use strict";
16
16
 
17
17
  var SUPPORTED_OPERATIONS = ["UPDATE", "UPSERT"];
18
- var SUPPORTED_PROPERTIES = ["title", "subTitle", "icon"];
18
+ var SUPPORTED_PROPERTIES = ["title", "subTitle", "icon", "signature/parameters/*"];
19
19
 
20
20
  /**
21
- * Descriptor change merger for change type <code>appdescr_app_changeInbound</code>.
22
- * Sets the title of the app by changing the manifest value <code>sap.app/crossNavigation/inbounds</code>.
23
- *
24
- * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
25
- *
26
- * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.ChangeInbound
27
- * @experimental
28
- * @version 1.111.2
29
- * @private
30
- * @ui5-restricted sap.ui.fl.apply._internal
31
- */
21
+ * Descriptor change merger for change type <code>appdescr_app_changeInbound</code>.
22
+ * Sets the title of the app by changing the manifest value <code>sap.app/crossNavigation/inbounds</code>.
23
+ *
24
+ * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
25
+ *
26
+ * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.ChangeInbound
27
+ * @version 1.112.2
28
+ * @private
29
+ * @ui5-restricted sap.ui.fl.apply._internal
30
+ */
32
31
  var ChangeInbound = /** @lends sap.ui.fl.apply._internal.changes.descriptor.app.ChangeInbound */ {
33
32
 
34
33
  /**
35
34
  * Method to apply the <code>appdescr_app_changeInbound</code> change to the manifest.
36
35
  *
37
36
  * @param {object} oManifest - Original manifest
38
- * @param {object} oChange - Change with type <code>appdescr_app_changeInbound</code>
37
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change with type <code>appdescr_app_changeInbound</code>
39
38
  * @param {string} oChange.content.inboundId - ID of <code>sap.app/crossNavigation/inbounds/inbound</code> that is being changed
40
39
  * @param {object|array} oChange.content.entityPropertyChange - Entity property change or an array of multiple entity property changes
41
40
  * @param {string} oChange.content.entityPropertyChange.propertyPath - Path to the property which should be changed. Supported properties: <code>title</code>,<code>subTitle</code> and <code>icon</code>
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * OpenUI5
3
+ * (c) Copyright 2009-2023 SAP SE or an SAP affiliate company.
4
+ * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
+ */
6
+
7
+ sap.ui.define([
8
+ ], function(
9
+ ) {
10
+ "use strict";
11
+
12
+ function checkManifestPath(oManifest) {
13
+ if (!oManifest["sap.app"].hasOwnProperty("crossNavigation")) {
14
+ throw new Error("No sap.app/crossNavigation path exists in the manifest");
15
+ }
16
+
17
+ if (!oManifest["sap.app"]["crossNavigation"].hasOwnProperty("inbounds")) {
18
+ throw new Error("No sap.app/crossNavigation/inbounds path exists in the manifest");
19
+ }
20
+ }
21
+
22
+ function getAndCheckInboundId(oChangeContent) {
23
+ var sInbounds = oChangeContent["inboundId"];
24
+ if (sInbounds === "") {
25
+ throw new Error("The ID of your inbound is empty");
26
+ }
27
+ if (typeof sInbounds !== "string") {
28
+ throw new Error("The type of your inbound ID must be string");
29
+ }
30
+ return sInbounds;
31
+ }
32
+
33
+ function merge(oManifest, sInboundId) {
34
+ var oInbound = {};
35
+ oInbound[sInboundId] = oManifest["sap.app"]["crossNavigation"]["inbounds"][sInboundId];
36
+ oManifest["sap.app"]["crossNavigation"]["inbounds"] = oInbound;
37
+ }
38
+
39
+ /**
40
+ * Descriptor change merger for change type <code>appdescr_app_removeAllInboundsExceptOne</code>.
41
+ * Removes all inbounds except one <code>sap.app/crossNavigation/inbounds</code>.
42
+ *
43
+ * Available for build {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
44
+ *
45
+ * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.RemoveAllInboundsExceptOne
46
+ * @version 1.112.2
47
+ * @private
48
+ * @ui5-restricted sap.ui.fl.apply._internal
49
+ */
50
+ var RemoveAllInboundsExceptOne = /** @lends sap.ui.fl.apply._internal.changes.descriptor.app.RemoveAllInboundsExceptOne */ {
51
+
52
+ /**
53
+ * Applies <code>appdescr_app_removeAllInboundsExceptOne</code> change to the manifest.
54
+ *
55
+ * @param {object} oManifest - Original manifest
56
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change with type <code>appdescr_app_removeAllInboundsExceptOne</code>
57
+ * @param {object} oChange.content.inboundId - Inbound ID <code>content.inboundId</code> that is to be preserved
58
+ * @returns {object} Manifest with all removed inbounds expect one <code>sap.app/crossNavigation/inbounds/<spared_inbound_id></code>
59
+ *
60
+ * @private
61
+ * @ui5-restricted sap.ui.fl.apply._internal
62
+ */
63
+ applyChange: function(oManifest, oChange) {
64
+ checkManifestPath(oManifest);
65
+ var sInboundId = getAndCheckInboundId(oChange.getContent());
66
+ if (oManifest["sap.app"]["crossNavigation"]["inbounds"][sInboundId]) {
67
+ merge(oManifest, sInboundId);
68
+ } else {
69
+ throw new Error("No inbound exists with the ID \"" + sInboundId + "\" in sap.app/crossNavigation/inbounds");
70
+ }
71
+ return oManifest;
72
+ }
73
+ };
74
+
75
+ return RemoveAllInboundsExceptOne;
76
+ });
@@ -19,8 +19,7 @@ sap.ui.define([
19
19
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.Registration}.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.SetTitle
22
- * @experimental
23
- * @version 1.111.2
22
+ * @version 1.112.2
24
23
  * @private
25
24
  * @ui5-restricted sap.ui.fl.apply._internal
26
25
  */
@@ -28,7 +27,7 @@ sap.ui.define([
28
27
 
29
28
  /**
30
29
  * Method to apply the <code>appdescr_app_setTitle</code> change to the manifest.
31
- * @param {object} oManifest Original manifest
30
+ * @param {object} oManifest - Original manifest
32
31
  * @returns {object} Updated manifest with changed title used as a placeholder for postprocessing
33
32
  *
34
33
  * @private
@@ -19,8 +19,7 @@ sap.ui.define([
19
19
  * Only available during build time {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.fiori.SetAbstract
22
- * @experimental
23
- * @version 1.111.2
22
+ * @version 1.112.2
24
23
  * @private
25
24
  * @ui5-restricted sap.ui.fl.apply._internal
26
25
  */
@@ -28,7 +27,7 @@ sap.ui.define([
28
27
  /**
29
28
  * Method to apply the <code>appdescr_fiori_setAbstract</code> change to the manifest.
30
29
  * @param {object} oManifest - Original manifest
31
- * @param {object} oChange - Change with type <code>appdescr_fiori_setAbstract</code>
30
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change with type <code>appdescr_fiori_setAbstract</code>
32
31
  * @param {boolean} oChange.content.abstract - Boolean flag (only allowed value is <code>false</code>)
33
32
  * @returns {object} Updated manifest with changed <code>appdescr_fiori_setAbstract</code>
34
33
  *
@@ -19,8 +19,7 @@ sap.ui.define([
19
19
  * Only available during build time {@link sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild}.
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.fiori.SetRegistrationIds
22
- * @experimental
23
- * @version 1.111.2
22
+ * @version 1.112.2
24
23
  * @private
25
24
  * @ui5-restricted sap.ui.fl.apply._internal
26
25
  */
@@ -28,9 +27,9 @@ sap.ui.define([
28
27
 
29
28
  /**
30
29
  * Method to apply the <code>appdescr_app_setRegistrationIds</code> change to the manifest.
31
- * @param {object} oManifest Original manifest
32
- * @param {object} oChange Change with type <code>appdescr_fiori_setRegistrationIds</code>
33
- * @param {Arrayy} oChange.content.registrationIds Registration ID
30
+ * @param {object} oManifest - Original manifest
31
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change with type <code>appdescr_fiori_setRegistrationIds</code>
32
+ * @param {Array} oChange.content.registrationIds - Registration ID
34
33
  * @returns {object} Updated manifest with changed registrationIds
35
34
  *
36
35
  * @private
@@ -18,8 +18,7 @@ sap.ui.define([
18
18
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.Registration}.
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.AddNewCard
21
- * @experimental
22
- * @version 1.111.2
21
+ * @version 1.112.2
23
22
  * @private
24
23
  * @ui5-restricted sap.ui.fl.apply._internal
25
24
  */
@@ -27,9 +26,9 @@ sap.ui.define([
27
26
 
28
27
  /**
29
28
  * Method to apply the <code>appdescr_ovp_addNewCard</code> change to the manifest.
30
- * @param {object} oManifest Original manifest
31
- * @param {object} oChange Change made by key user
32
- * @param {object} oChange.content.card New card created by Key user
29
+ * @param {object} oManifest - Original manifest
30
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change made by key user
31
+ * @param {object} oChange.content.card - New card created by Key user
33
32
  * @returns {object} Updated manifest
34
33
  * @private
35
34
  * @ui5-restricted sap.ui.fl.apply._internal
@@ -18,8 +18,7 @@ sap.ui.define([
18
18
  * Available for both runtime and build {@link sap.ui.fl.apply._internal.changes.descriptor.Registration}.
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.ChangeCard
21
- * @experimental
22
- * @version 1.111.2
21
+ * @version 1.112.2
23
22
  * @private
24
23
  * @ui5-restricted sap.ui.fl.apply._internal
25
24
  */
@@ -27,13 +26,13 @@ sap.ui.define([
27
26
 
28
27
  /**
29
28
  * Method to apply the <code>appdescr_app_changeCard</code> change to the manifest.
30
- * @param {object} oManifest Original manifest
31
- * @param {object} oChange Change made by key user
32
- * @param {string} oChange.content.cardId Id of card being changed
33
- * @param {string} oChange.content.entityPropertyChange Change content
34
- * @param {string} oChange.content.entityPropertyChange.propertyPath Path to the property which should be changed
35
- * @param {string} oChange.content.entityPropertyChange.operation Operation that is performed on property defined under propertyPath. Possible value: <code>UPSERT</code>
36
- * @param {object} oChange.content.entityPropertyChange.propertyValue New value of <code>dataSource</code> property defined under propertyPath
29
+ * @param {object} oManifest - Original manifest
30
+ * @param {sap.ui.fl.apply._internal.flexObjects.AppDescriptorChange} oChange - Change made by key user
31
+ * @param {string} oChange.content.cardId - ID of card being changed
32
+ * @param {string} oChange.content.entityPropertyChange - Change content
33
+ * @param {string} oChange.content.entityPropertyChange.propertyPath - Path to the property which should be changed
34
+ * @param {string} oChange.content.entityPropertyChange.operation - Operation that is performed on property defined under propertyPath. Possible value: <code>UPSERT</code>
35
+ * @param {object} oChange.content.entityPropertyChange.propertyValue - New value of <code>dataSource</code> property defined under propertyPath
37
36
  * @returns {object} Updated manifest
38
37
  * @private
39
38
  * @ui5-restricted sap.ui.fl.apply._internal