@openui5/sap.ui.fl 1.100.0 → 1.101.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 (138) hide show
  1. package/THIRDPARTY.txt +5 -5
  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 +31 -21
  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 +4 -1
  12. package/src/sap/ui/fl/LayerUtils.js +1 -1
  13. package/src/sap/ui/fl/Utils.js +2 -2
  14. package/src/sap/ui/fl/Variant.js +1 -1
  15. package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
  16. package/src/sap/ui/fl/apply/_internal/changes/Applier.js +46 -1
  17. package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
  18. package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
  19. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
  20. package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
  21. package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
  22. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
  23. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
  24. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
  25. package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
  26. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
  27. package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
  28. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
  29. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
  30. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
  31. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
  32. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
  33. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
  34. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
  35. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
  36. package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
  37. package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
  38. package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
  39. package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +8 -0
  40. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
  41. package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
  42. package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +8 -11
  43. package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
  44. package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
  45. package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
  46. package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
  47. package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +1 -1
  48. package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
  49. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
  50. package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +27 -1
  51. package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
  52. package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
  53. package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
  54. package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
  55. package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
  56. package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
  57. package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
  58. package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
  59. package/src/sap/ui/fl/changeHandler/Base.js +1 -1
  60. package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +1 -1
  61. package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
  62. package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
  63. package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
  64. package/src/sap/ui/fl/changeHandler/MoveControls.js +7 -2
  65. package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
  66. package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
  67. package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
  68. package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
  69. package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
  70. package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
  71. package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
  72. package/src/sap/ui/fl/codeExt/CodeExtManager.js +1 -1
  73. package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
  74. package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
  75. package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
  76. package/src/sap/ui/fl/initial/_internal/Storage.js +1 -1
  77. package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
  78. package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeRegistryItem.js +1 -1
  79. package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
  80. package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
  81. package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
  82. package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
  83. package/src/sap/ui/fl/library.js +15 -15
  84. package/src/sap/ui/fl/messagebundle_fr.properties +14 -14
  85. package/src/sap/ui/fl/support/Flexibility.js +1 -1
  86. package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
  87. package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
  88. package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
  89. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
  90. package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
  91. package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
  92. package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
  93. package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
  94. package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +1 -1
  95. package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
  96. package/src/sap/ui/fl/support/diagnostics/Flexibility.controller.js +1 -1
  97. package/src/sap/ui/fl/themes/base/VariantManagement.less +0 -1
  98. package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
  99. package/src/sap/ui/fl/util/IFrame.js +1 -1
  100. package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
  101. package/src/sap/ui/fl/util/resolveBinding.js +1 -1
  102. package/src/sap/ui/fl/variants/VariantModel.js +7 -1
  103. package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
  104. package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
  105. package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
  106. package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
  107. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
  108. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
  109. package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
  110. package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
  111. package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
  112. package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
  113. package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
  114. package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
  115. package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
  116. package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
  117. package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
  118. package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
  119. package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
  120. package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
  121. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
  122. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
  123. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
  124. package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
  125. package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
  126. package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +1 -1
  127. package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
  128. package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
  129. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
  130. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
  131. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
  132. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
  133. package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
  134. package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +1 -1
  135. package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +1 -1
  136. package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
  137. package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
  138. package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
package/THIRDPARTY.txt CHANGED
@@ -400,7 +400,7 @@ Contained in: src/sap.ui.mdc/test/sap/ui/mdc/sample/field/filterfieldwithoperato
400
400
 
401
401
  Library: sap.ui.webc.common:
402
402
 
403
- Component: UI5 Web Components, version: 1.0.0-rc.12
403
+ Component: UI5 Web Components, version: 1.1.2
404
404
  Copyright: SAP
405
405
  License: Apache-2.0
406
406
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -411,7 +411,7 @@ Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/base/*.*
411
411
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-tnt/*.*
412
412
  src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/icons-business-suite/*.*
413
413
 
414
- Component: lit-html, version: 1.4.1
414
+ Component: lit-html, version: 2.0.1
415
415
  Copyright: Google LLC
416
416
  License: BSD-3-Clause
417
417
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/BSD-3-Clause.txt
@@ -420,7 +420,7 @@ Contained in: src/sap.ui.webc.common/src/sap/ui/webc/common/thirdparty/lit-html/
420
420
 
421
421
  Library: sap.ui.webc.fiori:
422
422
 
423
- Component: UI5 Web Components, version: 1.0.0-rc.12
423
+ Component: UI5 Web Components, version: 1.1.2
424
424
  Copyright: SAP
425
425
  License: Apache-2.0
426
426
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -429,7 +429,7 @@ Contained in: src/sap.ui.webc.fiori/src/sap/ui/webc/fiori/thirdparty/*.*
429
429
 
430
430
  Library: sap.ui.webc.main:
431
431
 
432
- Component: UI5 Web Components, version: 1.0.0-rc.12
432
+ Component: UI5 Web Components, version: 1.1.2
433
433
  Copyright: SAP
434
434
  License: Apache-2.0
435
435
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
@@ -450,7 +450,7 @@ License: Apache-2.0
450
450
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
451
451
  Contained in: lib/jsdoc/ui5/plugin.js
452
452
 
453
- Component: SAP Theming Base Content, version: 11.1.36-SNAPSHOT
453
+ Component: SAP Theming Base Content, version: 11.1.38
454
454
  Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
455
455
  License: Apache-2.0
456
456
  License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openui5/sap.ui.fl",
3
- "version": "1.100.0",
3
+ "version": "1.101.0",
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.100.0",
18
- "@openui5/sap.ui.core": "1.100.0"
17
+ "@openui5/sap.m": "1.101.0",
18
+ "@openui5/sap.ui.core": "1.101.0"
19
19
  }
20
20
  }
@@ -6,7 +6,7 @@
6
6
  <copyright>OpenUI5
7
7
  * (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
8
8
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
9
- <version>1.100.0</version>
9
+ <version>1.101.0</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.100.0
27
+ * @version 1.101.0
28
28
  *
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl
@@ -62,7 +62,7 @@ sap.ui.define([
62
62
  *
63
63
  * @constructor
64
64
  * @author SAP SE
65
- * @version 1.100.0
65
+ * @version 1.101.0
66
66
  * @experimental Since 1.25.0
67
67
  * @param {object} mComponent - Component data to initiate <code>ChangePersistence</code> instance
68
68
  * @param {string} mComponent.name - Name of the component this instance is responsible for
@@ -739,6 +739,10 @@ sap.ui.define([
739
739
  * therefore, the cache update of the current app is skipped
740
740
  */
741
741
  ChangePersistence.prototype._updateCacheAndDirtyState = function(oDirtyChange, bSkipUpdateCache) {
742
+ this._aDirtyChanges = this._aDirtyChanges.filter(function(oExistingDirtyChange) {
743
+ return oDirtyChange.getId() !== oExistingDirtyChange.getId();
744
+ });
745
+
742
746
  if (!bSkipUpdateCache) {
743
747
  if (Utils.isChangeRelatedToVariants(oDirtyChange)) {
744
748
  VariantManagementState.updateVariantsState({
@@ -761,10 +765,6 @@ sap.ui.define([
761
765
  }
762
766
  }
763
767
  }
764
-
765
- this._aDirtyChanges = this._aDirtyChanges.filter(function(oExistingDirtyChange) {
766
- return oDirtyChange.getId() !== oExistingDirtyChange.getId();
767
- });
768
768
  };
769
769
 
770
770
  /**
@@ -874,6 +874,20 @@ sap.ui.define([
874
874
  return (oObject.getRequest() === "$TMP" || oObject.getRequest() === "") && oObject.getLayer() === sLayer;
875
875
  }
876
876
 
877
+ function isPersistedAndInLayer(sLayer, oObject) {
878
+ return oObject.getState() === Change.states.PERSISTED && oObject.getLayer() === sLayer;
879
+ }
880
+
881
+ function getAllCompVariantsEntities() {
882
+ var aCompVariantEntities = [];
883
+ var mCompVariantsMap = FlexState.getCompVariantsMap(this.getComponentName());
884
+ for (var sPersistencyKey in mCompVariantsMap) {
885
+ for (var sId in mCompVariantsMap[sPersistencyKey].byId) {
886
+ aCompVariantEntities.push(mCompVariantsMap[sPersistencyKey].byId[sId]);
887
+ }
888
+ }
889
+ return aCompVariantEntities;
890
+ }
877
891
  /**
878
892
  * Transports all the UI changes and app variant descriptor (if exists) to the target system
879
893
  *
@@ -884,18 +898,8 @@ sap.ui.define([
884
898
  * @returns {Promise} promise that resolves when all the artifacts are successfully transported
885
899
  */
886
900
  ChangePersistence.prototype.transportAllUIChanges = function(oRootControl, sStyleClass, sLayer, aAppVariantDescriptors) {
887
- return Promise.all([
888
- this.getChangesForComponent({currentLayer: sLayer, includeCtrlVariants: true}),
889
- FlexState.getCompVariantsMap(this.getComponentName())// FIXME: also transport comp changes via compState
890
- ]).then(function(aResponses) {
891
- var aLocalChanges = aResponses[0];
892
- var mCompVariantsMap = aResponses[1];
893
- var aCompVariantEntities = [];
894
- for (var sPersistencyKey in mCompVariantsMap) {
895
- for (var sId in mCompVariantsMap[sPersistencyKey].byId) {
896
- aCompVariantEntities.push(mCompVariantsMap[sPersistencyKey].byId[sId]);
897
- }
898
- }
901
+ return this.getChangesForComponent({currentLayer: sLayer, includeCtrlVariants: true}).then(function(aLocalChanges) {
902
+ var aCompVariantEntities = getAllCompVariantsEntities.call(this);
899
903
 
900
904
  aLocalChanges = aLocalChanges.concat(
901
905
  aCompVariantEntities.filter(isLocalAndInLayer.bind(this, sLayer)));
@@ -989,10 +993,16 @@ sap.ui.define([
989
993
  var bSelectorIdsProvided = aSelectorIds && aSelectorIds.length > 0;
990
994
  var bChangeTypesProvided = aChangeTypes && aChangeTypes.length > 0;
991
995
 
992
- return this.getChangesForComponent({
993
- currentLayer: sLayer,
994
- includeCtrlVariants: true
995
- }).then(function(aChanges) {
996
+ //In case of application reset and PUBLIC layer available, also includes comp variant entities
997
+ var isPublicLayerAvailable = Settings.getInstanceOrUndef() && Settings.getInstanceOrUndef().isPublicLayerAvailable();
998
+ var isApplicationReset = sGenerator === undefined && aSelectorIds === undefined && aChangeTypes === undefined;
999
+ var aCompVariantsEntries = [];
1000
+ if (isPublicLayerAvailable && isApplicationReset) {
1001
+ aCompVariantsEntries = getAllCompVariantsEntities.call(this).filter(isPersistedAndInLayer.bind(this, sLayer));
1002
+ }
1003
+
1004
+ return this.getChangesForComponent({ currentLayer: sLayer, includeCtrlVariants: true}).then(function(aChanges) {
1005
+ aChanges = aChanges.concat(aCompVariantsEntries);
996
1006
  var mParams = {
997
1007
  reference: this.getComponentName(),
998
1008
  layer: sLayer,
@@ -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.100.0
33
+ * @version 1.101.0
34
34
  * @private
35
35
  * @ui5-restricted sap.ui.fl
36
36
  */
@@ -20,7 +20,7 @@ function(
20
20
  * @namespace
21
21
  *
22
22
  * @author SAP SE
23
- * @version 1.100.0
23
+ * @version 1.101.0
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.100.0
23
+ * @version 1.101.0
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.100.0
20
+ * @version 1.101.0
21
21
  *
22
22
  * @private
23
23
  * @since 1.48
@@ -84,7 +84,7 @@ sap.ui.define([
84
84
  * @alias sap.ui.fl.FlexController
85
85
  * @experimental Since 1.27.0
86
86
  * @author SAP SE
87
- * @version 1.100.0
87
+ * @version 1.101.0
88
88
  */
89
89
  var FlexController = function(sComponentName) {
90
90
  this._oChangePersistence = undefined;
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  * @alias sap.ui.fl.FlexControllerFactory
33
33
  * @experimental Since 1.27.0
34
34
  * @author SAP SE
35
- * @version 1.100.0
35
+ * @version 1.101.0
36
36
  *
37
37
  * @private
38
38
  * @ui5-restricted sap.ui.fl
@@ -144,6 +144,9 @@ sap.ui.define([
144
144
  // if component's manifest is of type 'component' then no flex controller and change persistence instances are created. The variant model is fetched from the outer app component and applied on this component type.
145
145
  if (Utils.isApplicationComponent(oComponent)) {
146
146
  var sComponentId = oComponent.getId();
147
+ // TODO: remove this line when the maps and filtered response are always up to data
148
+ // Currently with the variants the maps are out of sync when the app gets loaded again without complete reload
149
+ FlexState.clearFilteredResponse(ManifestUtils.getFlexReferenceForControl(oComponent));
147
150
  var oReturnPromise = FlexState.initialize({
148
151
  componentId: sComponentId,
149
152
  asyncHints: vConfig.asyncHints
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  *
42
42
  * @namespace sap.ui.fl.LayerUtils
43
43
  * @author SAP SE
44
- * @version 1.100.0
44
+ * @version 1.101.0
45
45
  */
46
46
  var LayerUtils = {
47
47
  _mLayersIndex: mLayersIndex,
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @namespace
38
38
  * @alias sap.ui.fl.Utils
39
39
  * @author SAP SE
40
- * @version 1.100.0
40
+ * @version 1.101.0
41
41
  * @experimental Since 1.25.0
42
42
  */
43
43
  var Utils = {
@@ -758,7 +758,7 @@ sap.ui.define([
758
758
  .catch(function(e) {
759
759
  var sErrorMessage = "Error during execPromiseQueueSequentially processing occured";
760
760
  sErrorMessage += e ? ": " + e.message : "";
761
- Log.error(sErrorMessage);
761
+ Log.error(sErrorMessage, e);
762
762
 
763
763
  if (bThrowError) {
764
764
  throw new Error(sErrorMessage);
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @class Variant class.
34
34
  * @extends sap.ui.base.ManagedObject
35
35
  * @author SAP SE
36
- * @version 1.100.0
36
+ * @version 1.101.0
37
37
  * @alias sap.ui.fl.Variant
38
38
  * @experimental Since 1.52.0
39
39
  */
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @private
27
27
  * @author SAP SE
28
- * @version 1.100.0
28
+ * @version 1.101.0
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.
@@ -248,6 +248,22 @@ sap.ui.define([
248
248
  oChange.addDependentControl(oActualOriginalControl, "originalSelector", oPropertyBag);
249
249
  }
250
250
 
251
+ function registerOnAfterXMLChangeProcessingHandler(aOnAfterXMLChangeProcessingHandlers, oChangeHandler, oControl) {
252
+ var iChangeHandlerIndex = aOnAfterXMLChangeProcessingHandlers.findIndex(function (mHandler) {
253
+ return mHandler.handler === oChangeHandler;
254
+ });
255
+ if (iChangeHandlerIndex < 0) {
256
+ iChangeHandlerIndex = aOnAfterXMLChangeProcessingHandlers.length;
257
+ aOnAfterXMLChangeProcessingHandlers.push({
258
+ handler: oChangeHandler,
259
+ controls: []
260
+ });
261
+ }
262
+ if (!aOnAfterXMLChangeProcessingHandlers[iChangeHandlerIndex].controls.includes(oControl)) {
263
+ aOnAfterXMLChangeProcessingHandlers[iChangeHandlerIndex].controls.push(oControl);
264
+ }
265
+ }
266
+
251
267
  var Applier = {
252
268
  /**
253
269
  * Sets a specific precondition, which has to be fulfilled before applying all changes on control.
@@ -274,8 +290,11 @@ sap.ui.define([
274
290
  */
275
291
  applyChangeOnControl: function(oChange, oControl, mPropertyBag) {
276
292
  var mControl = Utils.getControlIfTemplateAffected(oChange, oControl, mPropertyBag);
293
+ var pHandlerPromise = mPropertyBag.changeHandler
294
+ ? Promise.resolve(mPropertyBag.changeHandler)
295
+ : Utils.getChangeHandler(oChange, mControl, mPropertyBag);
277
296
 
278
- return Utils.getChangeHandler(oChange, mControl, mPropertyBag).then(function(oChangeHandler) {
297
+ return pHandlerPromise.then(function(oChangeHandler) {
279
298
  _checkPreconditions(oChange, mPropertyBag);
280
299
  return oChangeHandler;
281
300
  })
@@ -405,17 +424,31 @@ sap.ui.define([
405
424
  aChanges = [];
406
425
  }
407
426
 
427
+ var aOnAfterXMLChangeProcessingHandlers = [];
428
+
408
429
  return aChanges.reduce(function(oPreviousPromise, oChange) {
409
430
  var oControl;
410
431
  return oPreviousPromise
411
432
  .then(_checkControlAndDependentSelectorControls.bind(null, oChange, mPropertyBag))
412
433
  .then(function (oReturnedControl) {
413
434
  oControl = oReturnedControl;
435
+ var mControl = Utils.getControlIfTemplateAffected(oChange, oControl, mPropertyBag);
436
+ return Utils.getChangeHandler(oChange, mControl, mPropertyBag);
437
+ })
438
+ .then(function (oChangeHandler) {
439
+ mPropertyBag.changeHandler = oChangeHandler;
414
440
  oChange.setQueuedForApply();
415
441
  return _checkAndAdjustChangeStatus(oControl, oChange, undefined, undefined, mPropertyBag);
416
442
  })
417
443
  .then(function () {
418
444
  if (!oChange.isApplyProcessFinished()) {
445
+ if (typeof mPropertyBag.changeHandler.onAfterXMLChangeProcessing === "function") {
446
+ registerOnAfterXMLChangeProcessingHandler(
447
+ aOnAfterXMLChangeProcessingHandlers,
448
+ mPropertyBag.changeHandler,
449
+ oControl
450
+ );
451
+ }
419
452
  return Applier.applyChangeOnControl(oChange, oControl, mPropertyBag);
420
453
  }
421
454
  return {success: true};
@@ -430,6 +463,18 @@ sap.ui.define([
430
463
  });
431
464
  }, new FlUtils.FakePromise())
432
465
  .then(function() {
466
+ // Once all changes for a control are processed, call the
467
+ // onAfterXMLChangeProcessing hooks of all involved change handlers
468
+ aOnAfterXMLChangeProcessingHandlers.forEach(function (mHandler) {
469
+ mHandler.controls.forEach(function (oControl) {
470
+ try {
471
+ mHandler.handler.onAfterXMLChangeProcessing(oControl, mPropertyBag);
472
+ } catch (oError) {
473
+ Log.error("Error during onAfterXMLChangeProcessing", oError);
474
+ }
475
+ });
476
+ });
477
+
433
478
  return mPropertyBag.view;
434
479
  });
435
480
  }
@@ -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.100.0
33
+ * @version 1.101.0
34
34
  */
35
35
  var FlexCustomData = {};
36
36
  FlexCustomData.sync = {};
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.Utils
22
22
  * @since 1.70
23
- * @version 1.100.0
23
+ * @version 1.101.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal, sap.ui.fl.write._internal
26
26
  */
@@ -28,7 +28,7 @@ sap.ui.define([
28
28
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Preprocessor
29
29
  * @experimental
30
30
  * @since 1.74
31
- * @version 1.100.0
31
+ * @version 1.101.0
32
32
  * @private
33
33
  * @ui5-restricted sap.ui.fl.apply._internal
34
34
  */
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.Registration
19
19
  * @experimental
20
20
  * @since 1.74
21
- * @version 1.100.0
21
+ * @version 1.101.0
22
22
  * @private
23
23
  * @ui5-restricted sap.ui.fl.apply._internal
24
24
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.RegistrationBuild
22
22
  * @experimental
23
23
  * @since 1.77
24
- * @version 1.100.0
24
+ * @version 1.101.0
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl.apply._internal
27
27
  */
@@ -139,7 +139,7 @@ sap.ui.define([
139
139
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.AddAnnotationsToOData
140
140
  * @experimental
141
141
  * @since 1.87
142
- * @version 1.100.0
142
+ * @version 1.101.0
143
143
  * @private
144
144
  * @ui5-restricted sap.ui.fl.apply._internal
145
145
  */
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.ChangeDataSouce
28
28
  * @experimental
29
- * @version 1.100.0
29
+ * @version 1.101.0
30
30
  * @private
31
31
  * @ui5-restricted sap.ui.fl.apply._internal
32
32
  */
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  *
26
26
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.ChangeInbound
27
27
  * @experimental
28
- * @version 1.100.0
28
+ * @version 1.101.0
29
29
  * @private
30
30
  * @ui5-restricted sap.ui.fl.apply._internal
31
31
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.app.SetTitle
22
22
  * @experimental
23
- * @version 1.100.0
23
+ * @version 1.101.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.fiori.SetAbstract
22
22
  * @experimental
23
- * @version 1.100.0
23
+ * @version 1.101.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.fiori.SetRegistrationIds
22
22
  * @experimental
23
- * @version 1.100.0
23
+ * @version 1.101.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.AddNewCard
21
21
  * @experimental
22
- * @version 1.100.0
22
+ * @version 1.101.0
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.ChangeCard
21
21
  * @experimental
22
- * @version 1.100.0
22
+ * @version 1.101.0
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -19,7 +19,7 @@ sap.ui.define([
19
19
  *
20
20
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ovp.DeleteCard
21
21
  * @experimental
22
- * @version 1.100.0
22
+ * @version 1.101.0
23
23
  * @private
24
24
  * @ui5-restricted sap.ui.fl.apply._internal
25
25
  */
@@ -21,7 +21,7 @@ sap.ui.define([
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddComponentUsages
22
22
  * @experimental
23
23
  * @since 1.86
24
- * @version 1.100.0
24
+ * @version 1.101.0
25
25
  * @private
26
26
  * @ui5-restricted sap.ui.fl.apply._internal
27
27
  */
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddLibrary
50
50
  * @experimental
51
51
  * @since 1.74
52
- * @version 1.100.0
52
+ * @version 1.101.0
53
53
  * @private
54
54
  * @ui5-restricted sap.ui.fl.apply._internal
55
55
  */
@@ -97,7 +97,7 @@ sap.ui.define([
97
97
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModel
98
98
  * @experimental
99
99
  * @since 1.87
100
- * @version 1.100.0
100
+ * @version 1.101.0
101
101
  * @private
102
102
  * @ui5-restricted sap.ui.fl.apply._internal
103
103
  */
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.AddNewModelEnhanceWith
26
26
  * @experimental
27
- * @version 1.100.0
27
+ * @version 1.101.0
28
28
  * @private
29
29
  * @ui5-restricted sap.ui.fl.apply._internal
30
30
  */
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  *
21
21
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.SetFlexExtensionPointEnabled
22
22
  * @experimental
23
- * @version 1.100.0
23
+ * @version 1.101.0
24
24
  * @private
25
25
  * @ui5-restricted sap.ui.fl.apply._internal
26
26
  */
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @namespace sap.ui.fl.apply._internal.changes.descriptor.ui5.SetMinUI5Version
24
24
  * @experimental
25
- * @version 1.100.0
25
+ * @version 1.101.0
26
26
  * @private
27
27
  * @ui5-restricted sap.ui.fl.apply._internal
28
28
  */
@@ -12,7 +12,7 @@ sap.ui.define([], function () {
12
12
  *
13
13
  * @namespace sap.ui.fl.initial._internal.connectors.Utils
14
14
  * @since 1.70
15
- * @version 1.100.0
15
+ * @version 1.101.0
16
16
  * @private
17
17
  * @ui5-restricted sap.ui.fl.initial._internal, sap.ui.fl.write._internal
18
18
  */
@@ -32,7 +32,7 @@ function(
32
32
  * @class
33
33
  * @constructor
34
34
  * @author SAP SE
35
- * @version 1.100.0
35
+ * @version 1.101.0
36
36
  */
37
37
  var Processor;
38
38
 
@@ -177,6 +177,14 @@ sap.ui.define([
177
177
 
178
178
  CompVariant.STANDARD_VARIANT_ID = "*standard*";
179
179
 
180
+ /**
181
+ * Returns the id of the variant object
182
+ * @returns {string} the id of the variant object.
183
+ */
184
+ CompVariant.prototype.getVariantId = function () {
185
+ return this.getId();
186
+ };
187
+
180
188
  /**
181
189
  * Checks whenever the variant can be renamed updating the entity or crating an <code>updateChange</code>.
182
190
  *
@@ -70,7 +70,7 @@ sap.ui.define([
70
70
  * @extends sap.ui.base.ManagedObject
71
71
  * @alias sap.ui.fl.apply._internal.flexObjects.FlexObject
72
72
  * @since 1.100
73
- * @version 1.100.0
73
+ * @version 1.101.0
74
74
  * @private
75
75
  * @ui5-restricted sap.ui.fl
76
76
  */
@@ -32,7 +32,7 @@ sap.ui.define([
32
32
  *
33
33
  * @namespace sap.ui.fl.apply._internal.flexObjects.FlexObjectFactory
34
34
  * @since 1.100
35
- * @version 1.100.0
35
+ * @version 1.101.0
36
36
  * @private
37
37
  * @ui5-restricted sap.ui.fl
38
38
  */