@openui5/sap.ui.fl 1.107.0 → 1.108.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 (150) hide show
  1. package/THIRDPARTY.txt +1 -1
  2. package/package.json +3 -3
  3. package/src/sap/ui/fl/.library +1 -1
  4. package/src/sap/ui/fl/Cache.js +1 -1
  5. package/src/sap/ui/fl/ChangePersistence.js +1 -1
  6. package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
  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 +1 -1
  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/DelegateMediator.js +1 -1
  15. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +3 -3
  39. package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
  40. package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
  43. package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +14 -1
  45. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  49. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  51. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
  55. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
  56. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  57. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  58. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  59. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  60. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  61. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  62. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  63. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  64. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  65. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  66. package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  72. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  73. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  74. package/src/sap/ui/fl/codeExt/CodeExtManager.js +1 -1
  75. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  76. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  77. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  78. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  79. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +11 -6
  80. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
  81. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
  82. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  83. package/src/sap/ui/fl/initial/_internal/connectors/BackendConnector.js +18 -4
  84. package/src/sap/ui/fl/initial/_internal/connectors/KeyUserConnector.js +14 -3
  85. package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +3 -0
  86. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  87. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  88. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  89. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  90. package/src/sap/ui/fl/library.js +43 -43
  91. package/src/sap/ui/fl/registry/Settings.js +39 -4
  92. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  93. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  94. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  95. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  96. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  97. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  98. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  99. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  100. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  101. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  102. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  103. package/src/sap/ui/fl/util/IFrame.js +1 -1
  104. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  105. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  106. package/src/sap/ui/fl/variants/VariantModel.js +1 -1
  107. package/src/sap/ui/fl/variants/context/Component.js +15 -0
  108. package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +2 -2
  109. package/src/sap/ui/fl/variants/context/view/ContextVisibility.view.xml +4 -4
  110. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  111. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +8 -1
  112. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  113. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  114. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  115. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  116. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  117. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +10 -4
  118. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +7 -7
  119. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +5 -1
  120. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +25 -20
  121. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +8 -4
  122. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +20 -4
  123. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  124. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  125. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  126. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  127. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  128. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +4 -13
  129. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  130. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  131. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  132. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  133. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  134. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  135. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  136. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  137. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  138. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  139. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  140. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  141. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +21 -1
  142. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +72 -3
  143. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  144. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  145. package/src/sap/ui/fl/write/api/ContextSharingAPI.js +13 -5
  146. package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +35 -17
  147. package/src/sap/ui/fl/write/api/FeaturesAPI.js +5 -3
  148. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
  149. package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +11 -0
  150. package/src/sap/ui/fl/write/api/SmartVariantManagementWriteAPI.js +85 -2
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @namespace sap.ui.fl.write._internal.StorageFeaturesMerger
18
18
  * @since 1.70
19
- * @version 1.107.0
19
+ * @version 1.108.0
20
20
  * @private
21
21
  * @ui5-restricted sap.ui.fl.write._internal.Storage
22
22
  */
@@ -27,11 +27,14 @@ sap.ui.define([
27
27
  isVariantSharingEnabled: false,
28
28
  isPublicFlVariantEnabled: false,
29
29
  isVariantPersonalizationEnabled: true,
30
+ isContextSharingEnabled: true,
31
+ isContextSharingEnabledForComp: true,
30
32
  isAtoAvailable: false,
31
33
  isAtoEnabled: false,
32
34
  versioning: {},
33
35
  isProductiveSystem: true,
34
36
  isPublicLayerAvailable: false,
37
+ isLocalResetEnabled: false,
35
38
  isZeroDowntimeUpgradeRunning: false,
36
39
  system: "",
37
40
  client: ""
@@ -68,6 +71,10 @@ sap.ui.define([
68
71
  }
69
72
  });
70
73
  oResult.versioning = merge(oResult.versioning, _getVersioningFromResponse(oResponse));
74
+ if (oResponse.isContextSharingEnabled !== undefined && oResponse.isContextSharingEnabledForComp === undefined) {
75
+ oResult.isContextSharingEnabled = oResponse.isContextSharingEnabled;
76
+ oResult.isContextSharingEnabledForComp = oResponse.isContextSharingEnabled;
77
+ }
71
78
  });
72
79
  return oResult;
73
80
  }
@@ -174,7 +174,7 @@ sap.ui.define([
174
174
  *
175
175
  * @namespace sap.ui.fl.write._internal.Versions
176
176
  * @since 1.74
177
- * @version 1.107.0
177
+ * @version 1.108.0
178
178
  * @private
179
179
  * @ui5-restricted sap.ui.fl
180
180
  */
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  * @constructor
36
36
  * @alias sap.ui.fl.write._internal.appVariant.AppVariant
37
37
  * @author SAP SE
38
- * @version 1.107.0
38
+ * @version 1.108.0
39
39
  * @private
40
40
  * @ui5-restricted sap.ui.rta, smart business
41
41
  */
@@ -34,7 +34,7 @@ sap.ui.define([
34
34
  * @namespace
35
35
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantFactory
36
36
  * @author SAP SE
37
- * @version 1.107.0
37
+ * @version 1.108.0
38
38
  * @private
39
39
  * @ui5-restricted sap.ui.rta, smart business
40
40
  */
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @constructor
29
29
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantInlineChange
30
30
  * @author SAP SE
31
- * @version 1.107.0
31
+ * @version 1.108.0
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.rta, smart business
34
34
  */
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @namespace
34
34
  * @alias sap.ui.fl.write._internal.appVariant.AppVariantInlineChangeFactory
35
35
  * @author SAP SE
36
- * @version 1.107.0
36
+ * @version 1.108.0
37
37
  * @private
38
38
  * @ui5-restricted sap.ui.rta, smart business
39
39
  */
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @namespace
50
50
  * @alias sap.ui.fl.write._internal.condenser.Condenser
51
51
  * @author SAP SE
52
- * @version 1.107.0
52
+ * @version 1.108.0
53
53
  */
54
54
  var Condenser = {};
55
55
 
@@ -574,10 +574,10 @@ sap.ui.define([
574
574
  var bSuccess = true;
575
575
  var aCondenserInfos = getCondenserInfos(mReducedChanges, []);
576
576
  sortCondenserInfosByInitialOrder(aChanges, aCondenserInfos);
577
- var aReducedIndexRelatedChanges;
577
+ var aReducedIndexRelatedChangesPerContainer;
578
578
  try {
579
579
  Measurement.start("Condenser_sort", "sort index related changes - CondenserClass", ["sap.ui.fl", "Condenser"]);
580
- aReducedIndexRelatedChanges = UIReconstruction.sortIndexRelatedChanges(mUIReconstructions, aCondenserInfos);
580
+ aReducedIndexRelatedChangesPerContainer = UIReconstruction.sortIndexRelatedChanges(mUIReconstructions, aCondenserInfos);
581
581
  } catch (oError) {
582
582
  // an error here has to be treated similar to if there were some unclassified changes
583
583
  // TODO: could be improved to only add all the changes of that specific container
@@ -587,8 +587,14 @@ sap.ui.define([
587
587
  Measurement.end("Condenser_sort");
588
588
 
589
589
  if (bSuccess) {
590
- UIReconstruction.swapChanges(aReducedIndexRelatedChanges, aReducedChanges);
590
+ // until now aReducedChanges still has the newer changes.
591
+ // after replacing them with the older change they have to be sorted again
591
592
  aReducedChanges = handleChangeUpdate(aCondenserInfos, aReducedChanges);
593
+ sortByInitialOrder(aChanges, aReducedChanges);
594
+ // sort the different containers independently
595
+ aReducedIndexRelatedChangesPerContainer.forEach(function(aReducedIndexRelatedChanges) {
596
+ UIReconstruction.swapChanges(aReducedIndexRelatedChanges, aReducedChanges);
597
+ });
592
598
  } else {
593
599
  aAllIndexRelatedChanges.forEach(function(oChange) {
594
600
  oChange.condenserState = "select";
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @namespace
30
30
  * @alias sap.ui.fl.write._internal.condenser.UIReconstruction
31
31
  * @author SAP SE
32
- * @version 1.107.0
32
+ * @version 1.108.0
33
33
  */
34
34
  var UIReconstruction = {};
35
35
 
@@ -303,14 +303,14 @@ sap.ui.define([
303
303
  };
304
304
 
305
305
  /**
306
- * Sorts the index-related changes until the look and feel of the UI fits the target UI reconstruction.
306
+ * Sorts the index-related changes per container until the look and feel of the UI fits the target UI reconstruction.
307
307
  *
308
308
  * @param {Map} mUIReconstructions - Map of UI reconstructions
309
309
  * @param {object[]} aCondenserInfos - Array of condenser info objects
310
310
  * @returns {sap.ui.fl.Change[]} Sorted array of index-related changes
311
311
  */
312
312
  UIReconstruction.sortIndexRelatedChanges = function(mUIReconstructions, aCondenserInfos) {
313
- var aSortedIndexRelatedChanges = [];
313
+ var aSortedIndexRelatedChangesPerContainer = [];
314
314
  var mContainers = defineContainersMap(mUIReconstructions, aCondenserInfos);
315
315
 
316
316
  forEveryMapInMap(mContainers, function(mAggregations, sContainerKey, aCondenserInfos, sAggregationName) {
@@ -345,12 +345,12 @@ sap.ui.define([
345
345
  throw Error("no correct sorting found for the container: " + sContainerKey);
346
346
  }
347
347
 
348
- aCondenserInfos.forEach(function(oCondenserInfo) {
349
- aSortedIndexRelatedChanges = aSortedIndexRelatedChanges.concat(oCondenserInfo.change);
350
- });
348
+ aSortedIndexRelatedChangesPerContainer.push(aCondenserInfos.map(function(oCondenserInfo) {
349
+ return oCondenserInfo.change;
350
+ }));
351
351
  });
352
352
 
353
- return aSortedIndexRelatedChanges;
353
+ return aSortedIndexRelatedChangesPerContainer;
354
354
  };
355
355
 
356
356
  UIReconstruction.addChange = function(mUIReconstructions, oCondenserInfo) {
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  *
75
75
  * @namespace sap.ui.fl.write._internal.connectors.BackendConnector
76
76
  * @since 1.72
77
- * @version 1.107.0
77
+ * @version 1.108.0
78
78
  * @private
79
79
  * @ui5-restricted sap.ui.fl.write._internal.connectors
80
80
  */
@@ -156,12 +156,16 @@ sap.ui.define([
156
156
  * @param {object} mPropertyBag - Property bag
157
157
  * @param {object} mPropertyBag.flexObject - Flex Object to be deleted
158
158
  * @param {string} mPropertyBag.url - Configured url for the connector
159
+ * @param {string} [mPropertyBag.parentVersion] - Indicates if changes should be written as a draft and on which version the changes should be based on
159
160
  * @returns {Promise} Resolves as soon as the deletion is completed without data
160
161
  */
161
162
  remove: function (mPropertyBag) {
162
163
  var mParameters = {
163
164
  namespace: mPropertyBag.flexObject.namespace
164
165
  };
166
+ if (mPropertyBag.parentVersion !== undefined) {
167
+ mParameters.parentVersion = mPropertyBag.parentVersion;
168
+ }
165
169
  mPropertyBag.fileName = mPropertyBag.flexObject.fileName;
166
170
  var sDeleteUrl = InitialUtils.getUrl(this.ROUTES.CHANGES, mPropertyBag, mParameters);
167
171
  delete mPropertyBag.fileName;
@@ -6,6 +6,7 @@
6
6
 
7
7
  sap.ui.define([
8
8
  "sap/base/util/merge",
9
+ "sap/ui/fl/Layer",
9
10
  "sap/ui/fl/write/_internal/connectors/BackendConnector",
10
11
  "sap/ui/fl/initial/_internal/connectors/KeyUserConnector",
11
12
  "sap/ui/fl/initial/_internal/connectors/Utils",
@@ -14,6 +15,7 @@ sap.ui.define([
14
15
  "sap/ui/fl/write/_internal/FlexInfoSession"
15
16
  ], function (
16
17
  merge,
18
+ Layer,
17
19
  BackendConnector,
18
20
  InitialConnector,
19
21
  InitialUtils,
@@ -24,44 +26,41 @@ sap.ui.define([
24
26
  "use strict";
25
27
 
26
28
  var PREFIX = "/flex/keyuser";
27
- var API_VERSION = {
28
- V1: "/v1",
29
- V2: "/v2"
30
- };
31
29
 
32
30
  /**
33
31
  * Connector for saving and deleting data from SAPUI5 Flexibility KeyUser service.
34
32
  *
35
33
  * @namespace sap.ui.fl.write._internal.connectors.KeyUserConnector
36
34
  * @since 1.70
37
- * @version 1.107.0
35
+ * @version 1.108.0
38
36
  * @private
39
37
  * @ui5-restricted sap.ui.fl.write._internal.Storage
40
38
  */
41
39
  var KeyUserConnector = merge({}, BackendConnector, /** @lends sap.ui.fl.write._internal.connectors.KeyUserConnector */ {
42
- layers: InitialConnector.layers,
43
-
40
+ layers: [
41
+ Layer.CUSTOMER,
42
+ Layer.PUBLIC
43
+ ],
44
44
  ROUTES: {
45
- CHANGES: PREFIX + API_VERSION.V1 + "/changes/",
46
- SETTINGS: PREFIX + API_VERSION.V1 + "/settings",
47
- TOKEN: PREFIX + API_VERSION.V1 + "/settings",
45
+ CHANGES: PREFIX + InitialConnector.API_VERSION + "/changes/",
46
+ SETTINGS: PREFIX + InitialConnector.API_VERSION + "/settings",
47
+ TOKEN: PREFIX + InitialConnector.API_VERSION + "/settings",
48
48
  VERSIONS: {
49
- GET: PREFIX + API_VERSION.V2 + "/versions/",
50
- ACTIVATE: PREFIX + API_VERSION.V1 + "/versions/activate/",
51
- DISCARD: PREFIX + API_VERSION.V1 + "/versions/draft/"
49
+ GET: PREFIX + InitialConnector.API_VERSION + "/versions/",
50
+ ACTIVATE: PREFIX + InitialConnector.API_VERSION + "/versions/activate/",
51
+ DISCARD: PREFIX + InitialConnector.API_VERSION + "/versions/draft/"
52
52
  },
53
53
  TRANSLATION: {
54
- UPLOAD: PREFIX + API_VERSION.V1 + "/translation/texts",
55
- DOWNLOAD: PREFIX + API_VERSION.V1 + "/translation/texts/",
56
- GET_SOURCELANGUAGE: PREFIX + API_VERSION.V1 + "/translation/sourcelanguages/"
54
+ UPLOAD: PREFIX + InitialConnector.API_VERSION + "/translation/texts",
55
+ DOWNLOAD: PREFIX + InitialConnector.API_VERSION + "/translation/texts/",
56
+ GET_SOURCELANGUAGE: PREFIX + InitialConnector.API_VERSION + "/translation/sourcelanguages/"
57
57
  },
58
- CONTEXTS: PREFIX + API_VERSION.V1 + "/contexts/"
58
+ CONTEXTS: PREFIX + InitialConnector.API_VERSION + "/contexts/"
59
59
  },
60
60
  isLanguageInfoRequired: true,
61
61
  loadFeatures: function (mPropertyBag) {
62
62
  return BackendConnector.loadFeatures.call(KeyUserConnector, mPropertyBag).then(function (oFeatures) {
63
- // in case the variants can be adapted via RTA, the public option should not be offered
64
- oFeatures.isPublicLayerAvailable = oFeatures.isPublicLayerAvailable && !oFeatures.isVariantAdaptationEnabled;
63
+ oFeatures.isContextSharingEnabled = true;
65
64
  return oFeatures;
66
65
  });
67
66
  },
@@ -87,7 +86,13 @@ sap.ui.define([
87
86
  return WriteUtils.sendRequest(sContextsUrl, "POST", mPropertyBag);
88
87
  },
89
88
 
90
- isContextSharingEnabled: function () {
89
+ /**
90
+ * Check if context sharing is enabled in the backend.
91
+ *
92
+ * @returns {Promise<boolean>} Promise resolves with true
93
+ * @deprecated
94
+ */
95
+ isContextSharingEnabled: function () {
91
96
  return Promise.resolve(true);
92
97
  },
93
98
 
@@ -59,7 +59,7 @@ sap.ui.define([
59
59
  DISCARD: "/flex/versions/draft/",
60
60
  PUBLISH: "/flex/versions/publish/"
61
61
  },
62
- CONTEXT_BASED_ADAPTATION: "/flex/app/",
62
+ CONTEXT_BASED_ADAPTATION: "/flex/apps/",
63
63
  MANI_FIRST_SUPPORTED: "/sap/bc/ui2/app_index/ui5_app_mani_first_supported"
64
64
  };
65
65
 
@@ -93,7 +93,7 @@ sap.ui.define([
93
93
  } else if (mPropertyBag.isCondensingEnabled) {
94
94
  sRoute = ROUTES.CONDENSE;
95
95
  } else if (mPropertyBag.isContextBasedAdaptationEnabled) {
96
- sRoute = ROUTES.CONTEXT_BASED_ADAPTATION + mPropertyBag.flexObject.reference + "/adaptations";
96
+ sRoute = ROUTES.CONTEXT_BASED_ADAPTATION + mPropertyBag.flexObject.reference + "/adaptations/";
97
97
  } else {
98
98
  sRoute = ROUTES.CHANGES;
99
99
  }
@@ -168,7 +168,7 @@ sap.ui.define([
168
168
  *
169
169
  * @namespace sap.ui.fl.write._internal.connectors.LrepConnector
170
170
  * @since 1.67
171
- * @version 1.107.0
171
+ * @version 1.108.0
172
172
  * @private
173
173
  * @ui5-restricted sap.ui.fl.write._internal.Storage
174
174
  */
@@ -372,8 +372,9 @@ sap.ui.define([
372
372
  * Check if context sharing is enabled in the backend.
373
373
  *
374
374
  * @returns {Promise<boolean>} Promise resolves with true
375
+ * @deprecated
375
376
  */
376
- isContextSharingEnabled: function () {
377
+ isContextSharingEnabled: function () {
377
378
  return Promise.resolve(true);
378
379
  },
379
380
 
@@ -395,6 +396,9 @@ sap.ui.define([
395
396
  var sFeaturesUrl = InitialUtils.getUrl(ROUTES.SETTINGS, mPropertyBag, mParameters);
396
397
  return InitialUtils.sendRequest(sFeaturesUrl, "GET", {initialConnector: InitialConnector}).then(function (oResult) {
397
398
  oResult.response.isVariantAdaptationEnabled = !!oResult.response.isPublicLayerAvailable;
399
+ oResult.response.isContextSharingEnabled = true;
400
+ oResult.response.isContextSharingEnabledForComp = true;
401
+ oResult.response.isLocalResetEnabled = true;
398
402
  return oResult.response;
399
403
  });
400
404
  },
@@ -7,21 +7,25 @@
7
7
  sap.ui.define([
8
8
  "sap/base/util/merge",
9
9
  "sap/ui/fl/write/_internal/connectors/LrepConnector",
10
- "sap/ui/fl/initial/_internal/connectors/NeoLrepConnector"
10
+ "sap/ui/fl/initial/_internal/connectors/NeoLrepConnector",
11
+ "sap/ui/fl/initial/_internal/connectors/Utils"
11
12
  ], function(
12
13
  merge,
13
14
  LrepConnector,
14
- InitialConnector
15
+ InitialConnector,
16
+ InitialUtils
15
17
  ) {
16
18
  "use strict";
17
-
19
+ var ROUTES = {
20
+ SETTINGS: "/flex/settings"
21
+ };
18
22
 
19
23
  /**
20
24
  * Connector for requesting data from a Neo LRep-based back end.
21
25
  *
22
26
  * @namespace sap.ui.fl.write._internal.connectors.NeoLrepConnector
23
27
  * @since 1.81
24
- * @version 1.107.0
28
+ * @version 1.108.0
25
29
  * @private
26
30
  * @ui5-restricted sap.ui.fl.write._internal.Storage
27
31
  */
@@ -58,6 +62,18 @@ sap.ui.define([
58
62
  create: function() {
59
63
  return Promise.reject("contextBasedAdaptation.create is not implemented");
60
64
  }
65
+ },
66
+ loadFeatures: function (mPropertyBag) {
67
+ if (InitialConnector.settings) {
68
+ return Promise.resolve(InitialConnector.settings);
69
+ }
70
+ var mParameters = {};
71
+
72
+ var sFeaturesUrl = InitialUtils.getUrl(ROUTES.SETTINGS, mPropertyBag, mParameters);
73
+ return InitialUtils.sendRequest(sFeaturesUrl, "GET", {initialConnector: InitialConnector}).then(function (oResult) {
74
+ oResult.response.isContextSharingEnabled = false;
75
+ return oResult.response;
76
+ });
61
77
  }
62
78
  });
63
79
  });
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.write._internal.connectors.ObjectPathConnector
26
26
  * @since 1.73
27
- * @version 1.107.0
27
+ * @version 1.108.0
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl.write._internal.Storage
30
30
  */
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  *
28
28
  * @namespace sap.ui.fl.write._internal.connectors.PersonalizationConnector
29
29
  * @since 1.70
30
- * @version 1.107.0
30
+ * @version 1.108.0
31
31
  * @private
32
32
  * @ui5-restricted sap.ui.fl.write._internal.Storage
33
33
  */
@@ -16,7 +16,7 @@ sap.ui.define([
16
16
  *
17
17
  * @namespace sap.ui.fl.write._internal.connectors.Utils
18
18
  * @since 1.70
19
- * @version 1.107.0
19
+ * @version 1.108.0
20
20
  * @private
21
21
  * @ui5-restricted sap.ui.fl.write._internal.connectors, sap.ui.fl.write._internal.transport
22
22
  */
@@ -28,7 +28,7 @@ function(
28
28
  * @class
29
29
  * @constructor
30
30
  * @author SAP SE
31
- * @version 1.107.0
31
+ * @version 1.108.0
32
32
  */
33
33
  var Processor = {
34
34
  applyExtensionPoint: function(oExtensionPoint) {
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @alias sap.ui.fl.write._internal.extensionPoint.Registry
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.107.0
23
+ * @version 1.108.0
24
24
  *
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl
@@ -5,11 +5,13 @@
5
5
  */
6
6
 
7
7
  sap.ui.define([
8
+ "sap/ui/util/openWindow",
8
9
  "sap/ui/fl/registry/Settings",
9
10
  "sap/ui/fl/apply/_internal/flexState/ManifestUtils",
10
11
  "sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory",
11
12
  "sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation"
12
13
  ], function(
14
+ openWindow,
13
15
  Settings,
14
16
  ManifestUtils,
15
17
  ABAPExtensibilityVariantFactory,
@@ -42,7 +44,7 @@ sap.ui.define([
42
44
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPAccess
43
45
  * @experimental Since 1.87.0
44
46
  * @author SAP SE
45
- * @version 1.107.0
47
+ * @version 1.108.0
46
48
  */
47
49
  var ABAPAccess = {};
48
50
 
@@ -98,23 +100,12 @@ sap.ui.define([
98
100
  return getExtensibilityVariant().then(function(oExtensibilityVariant) {
99
101
  return oExtensibilityVariant.getNavigationUri().then(function(sNavigationUri) {
100
102
  if (sNavigationUri) {
101
- ABAPAccess.openNewWindow(sNavigationUri);
103
+ openWindow(sNavigationUri, "_blank");
102
104
  }
103
105
  });
104
106
  });
105
107
  };
106
108
 
107
- /**
108
- * Allows <code>window.open</code> to be stubbed in tests.
109
- *
110
- * @public
111
- * @param {string} sUrl - URL string
112
- * @return {void}
113
- */
114
- ABAPAccess.openNewWindow = function(sUrl) {
115
- window.open(sUrl, "_blank", "noopener noreferrer");
116
- };
117
-
118
109
  /**
119
110
  * Checks if a given service is outdated
120
111
  *
@@ -17,7 +17,7 @@ sap.ui.define([
17
17
  * @class
18
18
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPExtensibilityVariant
19
19
  * @since 1.87
20
- * @version 1.107.0
20
+ * @version 1.108.0
21
21
  * @public
22
22
  * @param {sap.ui.base.ManagedObject} oControl - Control to add extensions
23
23
  */
@@ -117,7 +117,7 @@ sap.ui.define([
117
117
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ABAPExtensibilityVariantFactory
118
118
  * @experimental Since 1.87.0
119
119
  * @author SAP SE
120
- * @version 1.107.0
120
+ * @version 1.108.0
121
121
  */
122
122
  var ABAPExtensibilityVariantFactory = {};
123
123
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.MultiTenantABAPExtensibilityVariant
26
26
  * @since 1.87
27
- * @version 1.107.0
27
+ * @version 1.108.0
28
28
  * @public
29
29
  */
30
30
 
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.ServiceValidation
20
20
  * @experimental Since 1.87.0
21
21
  * @author SAP SE
22
- * @version 1.107.0
22
+ * @version 1.108.0
23
23
  */
24
24
  var ServiceValidation = {};
25
25
 
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  *
44
44
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.SingleTenantABAPExtensibilityVariant
45
45
  * @since 1.87
46
- * @version 1.107.0
46
+ * @version 1.108.0
47
47
  * @public
48
48
  */
49
49
 
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.UriParser
135
135
  * @experimental Since 1.87.0
136
136
  * @author SAP SE
137
- * @version 1.107.0
137
+ * @version 1.108.0
138
138
  */
139
139
  var UriParser = {};
140
140
 
@@ -249,7 +249,7 @@ sap.ui.define([
249
249
  * @namespace sap.ui.fl.write._internal.fieldExtensibility.Utils
250
250
  * @experimental Since 1.87.0
251
251
  * @author SAP SE
252
- * @version 1.107.0
252
+ * @version 1.108.0
253
253
  */
254
254
  var Utils = {};
255
255
 
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @experimental Since 1.93
23
23
  * @private
24
24
  * @author SAP SE
25
- * @version 1.107.0
25
+ * @version 1.108.0
26
26
  */
27
27
  var CAPAccess = {};
28
28
 
@@ -80,7 +80,7 @@ sap.ui.define([
80
80
  * @extends sap.ui.base.ManagedObject
81
81
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.dialog.CustomFieldCAPDialog
82
82
  * @author SAP SE
83
- * @version 1.107.0
83
+ * @version 1.108.0
84
84
  * @since 1.93
85
85
  * @experimental Since 1.93
86
86
  * @private
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.booleanEditor.BooleanEditor
19
19
  * @author SAP SE
20
20
  * @since 1.93
21
- * @version 1.107.0
21
+ * @version 1.108.0
22
22
  *
23
23
  * @private
24
24
  * @experimental 1.93
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.rangeEditor.RangeEditor
21
21
  * @author SAP SE
22
22
  * @since 1.93
23
- * @version 1.107.0
23
+ * @version 1.108.0
24
24
  *
25
25
  * @private
26
26
  * @experimental 1.93
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  * @alias sap.ui.fl.write._internal.fieldExtensibility.cap.editor.propertyEditor.timeEditor.TimeEditor
23
23
  * @author SAP SE
24
24
  * @since 1.93
25
- * @version 1.107.0
25
+ * @version 1.108.0
26
26
  *
27
27
  * @private
28
28
  * @experimental 1.93
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  /**
37
37
  * @namespace sap.ui.fl.apply._internal.flexState.FlexObjectState
38
38
  * @since 1.83
39
- * @version 1.107.0
39
+ * @version 1.108.0
40
40
  * @private
41
41
  * @ui5-restricted sap.ui.fl
42
42
  */
@@ -200,6 +200,26 @@ sap.ui.define([
200
200
  });
201
201
  };
202
202
 
203
+ /**
204
+ * Checks if dirty flex objects exist for the flex persistence associated with the selector control;
205
+ * Includes dirty changes on the descriptor as well as dirty changes on SmartVariantManagement of the application.
206
+ *
207
+ * @param {object} mPropertyBag Object with parameters as properties
208
+ * @param {sap.ui.fl.Selector} mPropertyBag.selector To retrieve the associated flex persistence
209
+ * @returns {boolean} <code>true</code> if dirty flex objects exist
210
+ */
211
+ FlexObjectState.hasDirtyFlexObjects = function (mPropertyBag) {
212
+ var oAppComponent = ChangesController.getAppComponentForSelector(mPropertyBag.selector);
213
+ var sReference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
214
+ if (ChangePersistenceFactory.getChangePersistenceForComponent(sReference).getDirtyChanges().length > 0) {
215
+ return true;
216
+ }
217
+ if (ChangePersistenceFactory.getChangePersistenceForComponent(Utils.normalizeReference(sReference)).getDirtyChanges().length > 0) {
218
+ return true;
219
+ }
220
+ return CompVariantState.hasDirtyChanges(sReference);
221
+ };
222
+
203
223
  /**
204
224
  *
205
225
  * @param {object} mPropertyBag - Object with parameters as properties