@openui5/sap.ui.fl 1.124.0 → 1.125.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.
- package/.reuse/dep5 +5 -0
- package/THIRDPARTY.txt +7 -0
- package/package.json +3 -3
- package/src/sap/ui/fl/.library +1 -1
- package/src/sap/ui/fl/ChangePersistence.js +4 -2
- package/src/sap/ui/fl/ChangePersistenceFactory.js +1 -1
- package/src/sap/ui/fl/FakeLrepConnectorLocalStorage.js +1 -1
- package/src/sap/ui/fl/FakeLrepConnectorSessionStorage.js +1 -1
- package/src/sap/ui/fl/FakeLrepLocalStorage.js +1 -1
- package/src/sap/ui/fl/FlexController.js +3 -124
- package/src/sap/ui/fl/FlexControllerFactory.js +1 -1
- package/src/sap/ui/fl/LayerUtils.js +1 -1
- package/src/sap/ui/fl/Utils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Applier.js +5 -5
- package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Utils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/Preprocessor.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/Registration.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/RegistrationBuild.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddAnnotationsToOData.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/AddNewInbound.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeDataSource.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/ChangeInbound.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/RemoveAllInboundsExceptOne.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/app/SetTitle.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetAbstract.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/fiori/SetRegistrationIds.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/AddNewCard.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/ChangeCard.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ovp/DeleteCard.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddComponentUsages.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddLibrary.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModel.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/AddNewModelEnhanceWith.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetFlexExtensionPointEnabled.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/descriptor/ui5/SetMinUI5Version.js +1 -1
- package/src/sap/ui/fl/apply/_internal/connectors/ObjectStorageUtils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.js +1 -1
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Registry.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/AppDescriptorChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/CompVariant.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/ControllerExtensionChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/FlVariant.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObject.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/getVariantAuthor.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/FlexObjectState.js +249 -0
- package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +6 -8
- package/src/sap/ui/fl/apply/_internal/flexState/Loader.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/ManifestUtils.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/changes/ExtensionPointState.js +4 -4
- package/src/sap/ui/fl/apply/_internal/flexState/changes/UIChangesState.js +6 -138
- package/src/sap/ui/fl/apply/_internal/flexState/compVariants/CompVariantMerger.js +2 -2
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/Switcher.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +19 -29
- package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
- package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +1 -1
- package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +4 -4
- package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
- package/src/sap/ui/fl/apply/api/FlexRuntimeInfoAPI.js +4 -8
- package/src/sap/ui/fl/changeHandler/AddIFrame.js +1 -1
- package/src/sap/ui/fl/changeHandler/AddXML.js +1 -1
- package/src/sap/ui/fl/changeHandler/AddXMLAtExtensionPoint.js +1 -1
- package/src/sap/ui/fl/changeHandler/Base.js +1 -1
- package/src/sap/ui/fl/changeHandler/BaseAddViaDelegate.js +10 -1
- package/src/sap/ui/fl/changeHandler/BaseAddXml.js +1 -1
- package/src/sap/ui/fl/changeHandler/BaseRename.js +1 -1
- package/src/sap/ui/fl/changeHandler/HideControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/MoveControls.js +1 -1
- package/src/sap/ui/fl/changeHandler/MoveElements.js +1 -1
- package/src/sap/ui/fl/changeHandler/PropertyBindingChange.js +1 -1
- package/src/sap/ui/fl/changeHandler/PropertyChange.js +1 -1
- package/src/sap/ui/fl/changeHandler/StashControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/UnhideControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/UnstashControl.js +1 -1
- package/src/sap/ui/fl/changeHandler/UpdateIFrame.js +1 -1
- package/src/sap/ui/fl/changeHandler/common/createIFrame.js +4 -2
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorChangeFactory.js +4 -4
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorInlineChangeFactory.js +1 -1
- package/src/sap/ui/fl/descriptorRelated/api/DescriptorVariantFactory.js +1 -1
- package/src/sap/ui/fl/designtime/util/editIFrame.js +1 -2
- package/src/sap/ui/fl/initial/_internal/FlexConfiguration.js +1 -1
- package/src/sap/ui/fl/initial/_internal/Storage.js +6 -3
- package/src/sap/ui/fl/initial/_internal/StorageFeaturesMerger.js +1 -1
- package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +1 -1
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
- package/src/sap/ui/fl/initial/_internal/connectors/Utils.js +1 -1
- package/src/sap/ui/fl/initial/_internal/storageResultDisassemble.js +1 -1
- package/src/sap/ui/fl/interfaces/BaseLoadConnector.js +1 -1
- package/src/sap/ui/fl/interfaces/Delegate.js +1 -1
- package/src/sap/ui/fl/library.js +43 -43
- package/src/sap/ui/fl/messagebundle.properties +15 -0
- package/src/sap/ui/fl/messagebundle_ar.properties +11 -1
- package/src/sap/ui/fl/messagebundle_bg.properties +10 -0
- package/src/sap/ui/fl/messagebundle_ca.properties +10 -0
- package/src/sap/ui/fl/messagebundle_cnr.properties +10 -0
- package/src/sap/ui/fl/messagebundle_cs.properties +10 -0
- package/src/sap/ui/fl/messagebundle_cy.properties +10 -0
- package/src/sap/ui/fl/messagebundle_da.properties +10 -0
- package/src/sap/ui/fl/messagebundle_de.properties +10 -0
- package/src/sap/ui/fl/messagebundle_el.properties +10 -0
- package/src/sap/ui/fl/messagebundle_en.properties +10 -0
- package/src/sap/ui/fl/messagebundle_en_GB.properties +10 -0
- package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +10 -0
- package/src/sap/ui/fl/messagebundle_es.properties +10 -0
- package/src/sap/ui/fl/messagebundle_es_MX.properties +10 -0
- package/src/sap/ui/fl/messagebundle_et.properties +10 -0
- package/src/sap/ui/fl/messagebundle_fi.properties +10 -0
- package/src/sap/ui/fl/messagebundle_fr.properties +10 -0
- package/src/sap/ui/fl/messagebundle_fr_CA.properties +10 -0
- package/src/sap/ui/fl/messagebundle_hi.properties +10 -0
- package/src/sap/ui/fl/messagebundle_hr.properties +10 -0
- package/src/sap/ui/fl/messagebundle_hu.properties +10 -0
- package/src/sap/ui/fl/messagebundle_id.properties +10 -0
- package/src/sap/ui/fl/messagebundle_it.properties +10 -0
- package/src/sap/ui/fl/messagebundle_iw.properties +10 -0
- package/src/sap/ui/fl/messagebundle_ja.properties +10 -0
- package/src/sap/ui/fl/messagebundle_kk.properties +10 -0
- package/src/sap/ui/fl/messagebundle_ko.properties +10 -0
- package/src/sap/ui/fl/messagebundle_lt.properties +10 -0
- package/src/sap/ui/fl/messagebundle_lv.properties +10 -0
- package/src/sap/ui/fl/messagebundle_mk.properties +10 -0
- package/src/sap/ui/fl/messagebundle_ms.properties +10 -0
- package/src/sap/ui/fl/messagebundle_nl.properties +10 -0
- package/src/sap/ui/fl/messagebundle_no.properties +10 -0
- package/src/sap/ui/fl/messagebundle_pl.properties +10 -0
- package/src/sap/ui/fl/messagebundle_pt.properties +10 -0
- package/src/sap/ui/fl/messagebundle_pt_PT.properties +10 -0
- package/src/sap/ui/fl/messagebundle_ro.properties +10 -0
- package/src/sap/ui/fl/messagebundle_ru.properties +10 -0
- package/src/sap/ui/fl/messagebundle_sh.properties +10 -0
- package/src/sap/ui/fl/messagebundle_sk.properties +11 -1
- package/src/sap/ui/fl/messagebundle_sl.properties +16 -6
- package/src/sap/ui/fl/messagebundle_sr.properties +10 -0
- package/src/sap/ui/fl/messagebundle_sv.properties +10 -0
- package/src/sap/ui/fl/messagebundle_th.properties +10 -0
- package/src/sap/ui/fl/messagebundle_tr.properties +10 -0
- package/src/sap/ui/fl/messagebundle_uk.properties +10 -0
- package/src/sap/ui/fl/messagebundle_vi.properties +10 -0
- package/src/sap/ui/fl/messagebundle_zh_CN.properties +10 -0
- package/src/sap/ui/fl/messagebundle_zh_TW.properties +10 -0
- package/src/sap/ui/fl/support/_internal/getAllUIChanges.js +1 -1
- package/src/sap/ui/fl/support/_internal/getChangeDependencies.js +1 -1
- package/src/sap/ui/fl/support/_internal/getFlexSettings.js +1 -1
- package/src/sap/ui/fl/support/api/SupportAPI.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetails.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/ContentDetailsEdit.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/LayerContentMaster.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/controller/Layers.controller.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/lrepConnector/LRepConnector.js +1 -1
- package/src/sap/ui/fl/support/apps/contentbrowser/utils/DataUtils.js +2 -3
- package/src/sap/ui/fl/support/apps/contentbrowser/utils/ErrorUtils.js +1 -1
- package/src/sap/ui/fl/transport/TransportSelection.js +1 -1
- package/src/sap/ui/fl/util/IFrame.js +7 -7
- package/src/sap/ui/fl/util/ManagedObjectModel.js +1 -1
- package/src/sap/ui/fl/util/resolveBinding.js +1 -1
- package/src/sap/ui/fl/variants/VariantModel.js +32 -13
- package/src/sap/ui/fl/variants/context/controller/ContextVisibility.controller.js +2 -2
- package/src/sap/ui/fl/variants/context/i18n/i18n_sh.properties +3 -3
- package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
- package/src/sap/ui/fl/write/_internal/Versions.js +1 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariant.js +1 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantFactory.js +1 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChange.js +1 -1
- package/src/sap/ui/fl/write/_internal/appVariant/AppVariantInlineChangeFactory.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/Condenser.js +1 -1
- package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/BtpServiceConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/LrepConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/NeoLrepConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/ObjectPathConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/PersonalizationConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/Utils.js +1 -1
- package/src/sap/ui/fl/write/_internal/delegates/ODataV2ReadDelegate.js +2 -2
- package/src/sap/ui/fl/write/_internal/extensionPoint/Processor.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +4 -3
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariant.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPExtensibilityVariantFactory.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/MultiTenantABAPExtensibilityVariant.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ServiceValidation.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/SingleTenantABAPExtensibilityVariant.js +290 -131
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/UriParser.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/Utils.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/CAPAccess.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/dialog/CustomFieldCAPDialog.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/booleanEditor/BooleanEditor.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/rangeEditor/RangeEditor.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/cap/editor/propertyEditor/timeEditor/TimeEditor.js +1 -1
- package/src/sap/ui/fl/write/_internal/flexState/FlexObjectState.js +1 -6
- package/src/sap/ui/fl/write/_internal/flexState/UI2Personalization/UI2PersonalizationState.js +1 -1
- package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +1 -5
- package/src/sap/ui/fl/write/_internal/transport/TransportSelection.js +1 -1
- package/src/sap/ui/fl/write/_internal/transport/Transports.js +1 -1
- package/src/sap/ui/fl/write/api/ChangesWriteAPI.js +38 -3
- package/src/sap/ui/fl/write/api/ContextSharingAPI.js +5 -4
- package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
- package/src/sap/ui/fl/write/api/UI2PersonalizationWriteAPI.js +0 -2
- package/src/sap/ui/fl/write/api/VersionsAPI.js +1 -4
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* @extends sap.ui.fl.apply._internal.flexObjects.FlexObject
|
|
21
21
|
* @alias sap.ui.fl.apply._internal.flexObjects.ControllerExtensionChange
|
|
22
22
|
* @since 1.105
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.125.0
|
|
24
24
|
* @private
|
|
25
25
|
* @ui5-restricted sap.ui.fl
|
|
26
26
|
*/
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2024 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
|
+
"sap/base/util/merge",
|
|
9
|
+
"sap/base/util/restricted/_omit",
|
|
10
|
+
"sap/ui/core/util/reflection/JsControlTreeModifier",
|
|
11
|
+
"sap/ui/core/Element",
|
|
12
|
+
"sap/ui/fl/apply/_internal/changes/Utils",
|
|
13
|
+
"sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler",
|
|
14
|
+
"sap/ui/fl/apply/_internal/flexState/changes/UIChangesState",
|
|
15
|
+
"sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
|
|
16
|
+
"sap/ui/fl/apply/_internal/flexState/FlexState",
|
|
17
|
+
"sap/ui/fl/apply/_internal/flexState/ManifestUtils",
|
|
18
|
+
"sap/ui/fl/Utils"
|
|
19
|
+
], function(
|
|
20
|
+
merge,
|
|
21
|
+
_omit,
|
|
22
|
+
JsControlTreeModifier,
|
|
23
|
+
Element,
|
|
24
|
+
ChangesUtils,
|
|
25
|
+
DependencyHandler,
|
|
26
|
+
UIChangesState,
|
|
27
|
+
VariantManagementState,
|
|
28
|
+
FlexState,
|
|
29
|
+
ManifestUtils,
|
|
30
|
+
Utils
|
|
31
|
+
) {
|
|
32
|
+
"use strict";
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @namespace
|
|
36
|
+
* @alias sap.ui.fl.apply._internal.flexState.FlexObjectState
|
|
37
|
+
* @since 1.83
|
|
38
|
+
* @version 1.125.0
|
|
39
|
+
* @private
|
|
40
|
+
* @ui5-restricted sap.ui.fl
|
|
41
|
+
*/
|
|
42
|
+
const FlexObjectState = {};
|
|
43
|
+
|
|
44
|
+
function getCompleteDependency(oChange, sReference) {
|
|
45
|
+
const mInitialDependencies = FlexObjectState.getCompleteDependencyMap(sReference).mDependencies;
|
|
46
|
+
return mInitialDependencies[oChange.getId()] && Object.assign({}, mInitialDependencies[oChange.getId()]);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
function copyDependencies(oInitialDependency, aNewValidDependencies, oAppComponent, oChange, sReference) {
|
|
50
|
+
const aNewValidControlDependencies = [];
|
|
51
|
+
const oDependencyMap = FlexObjectState.getLiveDependencyMap(sReference);
|
|
52
|
+
const oModifiedDependency = Object.assign({}, oInitialDependency);
|
|
53
|
+
oInitialDependency.controlsDependencies.forEach((oDependentControlSelector) => {
|
|
54
|
+
// if the control is already available we don't need to add a dependency to it
|
|
55
|
+
if (!JsControlTreeModifier.bySelector(oDependentControlSelector, oAppComponent)) {
|
|
56
|
+
const sControlId = JsControlTreeModifier.getControlIdBySelector(oDependentControlSelector, oAppComponent);
|
|
57
|
+
aNewValidControlDependencies.push(oDependentControlSelector);
|
|
58
|
+
oDependencyMap.mControlsWithDependencies[sControlId] ||= [];
|
|
59
|
+
if (!oDependencyMap.mControlsWithDependencies[sControlId].includes(oChange.getId())) {
|
|
60
|
+
oDependencyMap.mControlsWithDependencies[sControlId].push(oChange.getId());
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
oModifiedDependency.dependencies = aNewValidDependencies;
|
|
66
|
+
oModifiedDependency.controlsDependencies = aNewValidControlDependencies;
|
|
67
|
+
if (aNewValidDependencies.length || aNewValidControlDependencies.length) {
|
|
68
|
+
oDependencyMap.mDependencies[oChange.getId()] = oModifiedDependency;
|
|
69
|
+
}
|
|
70
|
+
return oModifiedDependency;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function areControlsAvailable(oChange, oAppComponent) {
|
|
74
|
+
// is control available
|
|
75
|
+
const aSelectors = oChange.getDependentControlSelectorList();
|
|
76
|
+
aSelectors.push(oChange.getSelector());
|
|
77
|
+
return !aSelectors.some((oSelector) => !JsControlTreeModifier.bySelector(oSelector, oAppComponent));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function checkDependencies(oChange, mDependencies, mChanges, oAppComponent, aRelevantChanges) {
|
|
81
|
+
let bResult = areControlsAvailable(oChange, oAppComponent);
|
|
82
|
+
if (!bResult) {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
aRelevantChanges.push(oChange);
|
|
86
|
+
const sDependencyKey = oChange.getId();
|
|
87
|
+
const aDependentChanges = mDependencies[sDependencyKey] && mDependencies[sDependencyKey].dependencies || [];
|
|
88
|
+
for (let i = 0, n = aDependentChanges.length; i < n; i++) {
|
|
89
|
+
const oDependentChange = Utils.getChangeFromChangesMap(mChanges, aDependentChanges[i]);
|
|
90
|
+
bResult = checkDependencies(oDependentChange, mDependencies, mChanges, oAppComponent, aRelevantChanges);
|
|
91
|
+
if (bResult.length === 0) {
|
|
92
|
+
aRelevantChanges = [];
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
delete mDependencies[sDependencyKey];
|
|
96
|
+
}
|
|
97
|
+
return aRelevantChanges;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Fetches all UIChanges that can be applied. This includes the UIChanges of any current FlVariant.
|
|
102
|
+
* This excludes update changes for CompVariants
|
|
103
|
+
*
|
|
104
|
+
* @param {string} sReference - Flex Reference
|
|
105
|
+
* @returns {sap.ui.fl.apply._internal.flexObjects.UIChange[]} Returns all applicable UIChanges
|
|
106
|
+
*/
|
|
107
|
+
FlexObjectState.getAllApplicableUIChanges = function(sReference) {
|
|
108
|
+
const aVMIndependentUIChanges = UIChangesState.getVariantIndependentUIChanges(sReference);
|
|
109
|
+
return aVMIndependentUIChanges.concat(VariantManagementState.getInitialUIChanges({
|
|
110
|
+
reference: sReference
|
|
111
|
+
}));
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Fetches the complete dependency map based on all current UIChanges.
|
|
116
|
+
*
|
|
117
|
+
* @param {string} sReference - Flex reference
|
|
118
|
+
* @returns {object} Dependency Map
|
|
119
|
+
*/
|
|
120
|
+
FlexObjectState.getCompleteDependencyMap = function(sReference) {
|
|
121
|
+
const oVMIndependentUIChangesDepMap = UIChangesState.getVMIndependentCompleteDependencyMap(sReference);
|
|
122
|
+
const oVMDependentUIChangesDepMap = VariantManagementState.getDependencyMap(sReference);
|
|
123
|
+
const oCombinedDepMap = merge({}, oVMIndependentUIChangesDepMap);
|
|
124
|
+
|
|
125
|
+
merge(oCombinedDepMap.mDependencies, oVMDependentUIChangesDepMap.mDependencies);
|
|
126
|
+
merge(oCombinedDepMap.mDependentChangesOnMe, oVMDependentUIChangesDepMap.mDependentChangesOnMe);
|
|
127
|
+
oCombinedDepMap.aChanges = oCombinedDepMap.aChanges.concat(oVMDependentUIChangesDepMap.aChanges);
|
|
128
|
+
|
|
129
|
+
["mChanges", "mControlsWithDependencies"].forEach((sKey) => {
|
|
130
|
+
Object.entries(oVMDependentUIChangesDepMap[sKey]).forEach(([sControlId, aChanges]) => {
|
|
131
|
+
if (Object.keys(oCombinedDepMap[sKey]).includes(sControlId)) {
|
|
132
|
+
oCombinedDepMap[sKey][sControlId] = oCombinedDepMap[sKey][sControlId].concat(aChanges);
|
|
133
|
+
} else {
|
|
134
|
+
oCombinedDepMap[sKey][sControlId] = aChanges;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
return oCombinedDepMap;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
/**
|
|
143
|
+
* Fetches the current dependency map from the Flex State.
|
|
144
|
+
* This map is continuously being modified as changes are getting applied.
|
|
145
|
+
* If the Flex State is not initialized, return an empty map.
|
|
146
|
+
* For now, this map can be mutated by the consumer
|
|
147
|
+
*
|
|
148
|
+
* @param {string} sReference - Flex reference
|
|
149
|
+
* @returns {object} Dependency Map
|
|
150
|
+
*/
|
|
151
|
+
FlexObjectState.getLiveDependencyMap = function(sReference) {
|
|
152
|
+
return FlexState.getRuntimeOnlyData(sReference).liveDependencyMap || DependencyHandler.createEmptyDependencyMap();
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Checks the current dependencies map for any open (unresolved) dependencies belonging to the given control
|
|
157
|
+
* and returns the open dependent changes.
|
|
158
|
+
*
|
|
159
|
+
* @param {object} oSelector - Selector of the control
|
|
160
|
+
* @param {sap.ui.core.UIComponent} oAppComponent - Application component instance that is currently loading
|
|
161
|
+
* @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Array of all open dependent changes for the control
|
|
162
|
+
*/
|
|
163
|
+
FlexObjectState.getOpenDependentChangesForControl = function(oSelector, oAppComponent) {
|
|
164
|
+
const sReference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
|
|
165
|
+
return DependencyHandler.getOpenDependentChangesForControl(
|
|
166
|
+
FlexObjectState.getLiveDependencyMap(sReference),
|
|
167
|
+
JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent),
|
|
168
|
+
oAppComponent
|
|
169
|
+
);
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Copies the complete dependencies for the given change to the live dependency map.
|
|
174
|
+
* Also checks if the dependency is still valid in a callback
|
|
175
|
+
* This function is used in the case that controls got destroyed and recreated
|
|
176
|
+
*
|
|
177
|
+
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - The change whose dependencies should be copied
|
|
178
|
+
* @param {sap.ui.core.Component} oAppComponent - Application component instance
|
|
179
|
+
*/
|
|
180
|
+
FlexObjectState.copyDependenciesFromCompleteDependencyMap = function(oChange, oAppComponent) {
|
|
181
|
+
const sReference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
|
|
182
|
+
let oCompleteDependency = getCompleteDependency(oChange, sReference);
|
|
183
|
+
if (oCompleteDependency) {
|
|
184
|
+
const oLiveDependencyMap = FlexObjectState.getLiveDependencyMap(sReference);
|
|
185
|
+
const aNewValidDependencies = [];
|
|
186
|
+
oCompleteDependency.dependencies.forEach(function(sChangeId) {
|
|
187
|
+
if (ChangesUtils.checkIfDependencyIsStillValid(oAppComponent, JsControlTreeModifier, oLiveDependencyMap, sChangeId)) {
|
|
188
|
+
oLiveDependencyMap.mDependentChangesOnMe[sChangeId] ||= [];
|
|
189
|
+
oLiveDependencyMap.mDependentChangesOnMe[sChangeId].push(oChange.getId());
|
|
190
|
+
aNewValidDependencies.push(sChangeId);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
oCompleteDependency = copyDependencies(oCompleteDependency, aNewValidDependencies, oAppComponent, oChange, sReference);
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Waits for all the changes for all controls that are passed to be processed and a variant switch to be done.
|
|
199
|
+
*
|
|
200
|
+
* @param {object[]} aSelectorInformation - An array containing an object with {@link sap.ui.fl.Selector} and further configuration
|
|
201
|
+
* @param {sap.ui.fl.Selector} aSelectorInformation.selector - A {@link sap.ui.fl.Selector}
|
|
202
|
+
* @param {string[]} [aSelectorInformation.changeTypes] - An array containing the change types that will be considered. If empty no filtering will be done
|
|
203
|
+
* @returns {Promise} Resolves when a variant switch is done and all changes on controls have been processed
|
|
204
|
+
*/
|
|
205
|
+
FlexObjectState.waitForFlexObjectsToBeApplied = async function(aSelectorInformation) {
|
|
206
|
+
const oAppComponent = Utils.getAppComponentForSelector(aSelectorInformation[0].selector);
|
|
207
|
+
if (!oAppComponent) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const sFlexReference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
|
|
211
|
+
|
|
212
|
+
await VariantManagementState.getVariantSwitchPromise(sFlexReference);
|
|
213
|
+
await Promise.all(aSelectorInformation.map((oSelector) => {
|
|
214
|
+
const oControl = oSelector.selector.id && Element.getElementById(oSelector.selector.id) || oSelector.selector;
|
|
215
|
+
|
|
216
|
+
oSelector.changeTypes ||= [];
|
|
217
|
+
const mChangesMap = FlexObjectState.getLiveDependencyMap(sFlexReference);
|
|
218
|
+
let aPromises = [];
|
|
219
|
+
const mDependencies = Object.assign({}, mChangesMap.mDependencies);
|
|
220
|
+
const {mChanges} = mChangesMap;
|
|
221
|
+
const aChangesForControl = mChanges[oControl.getId()] || [];
|
|
222
|
+
|
|
223
|
+
// filter out already applied changes and, if given, filter by change type
|
|
224
|
+
const aNotYetProcessedChanges = aChangesForControl.filter((oChange) => {
|
|
225
|
+
return !oChange.isCurrentProcessFinished()
|
|
226
|
+
&& (oSelector.changeTypes.length === 0 || oSelector.changeTypes.includes(oChange.getChangeType()));
|
|
227
|
+
});
|
|
228
|
+
|
|
229
|
+
const aRelevantChanges = [];
|
|
230
|
+
aNotYetProcessedChanges.forEach((oChange) => {
|
|
231
|
+
const aChanges = checkDependencies(oChange, mDependencies, mChangesMap.mChanges, oAppComponent, []);
|
|
232
|
+
aChanges.forEach((oDependentChange) => {
|
|
233
|
+
if (aRelevantChanges.indexOf(oDependentChange) === -1) {
|
|
234
|
+
aRelevantChanges.push(oDependentChange);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
// attach promises to the relevant Changes and wait for them to be applied
|
|
240
|
+
aRelevantChanges.forEach((oChange) => {
|
|
241
|
+
aPromises = aPromises.concat(oChange.addChangeProcessingPromises());
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
return Promise.all(aPromises);
|
|
245
|
+
}));
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
return FlexObjectState;
|
|
249
|
+
});
|
|
@@ -88,7 +88,7 @@ sap.ui.define([
|
|
|
88
88
|
*
|
|
89
89
|
* @namespace sap.ui.fl.apply._internal.flexState.FlexState
|
|
90
90
|
* @since 1.73
|
|
91
|
-
* @version 1.
|
|
91
|
+
* @version 1.125.0
|
|
92
92
|
* @private
|
|
93
93
|
* @ui5-restricted sap.ui.fl.apply._internal
|
|
94
94
|
*/
|
|
@@ -164,11 +164,9 @@ sap.ui.define([
|
|
|
164
164
|
mPropertyBag.manifest ||= mPropertyBag.rawManifest || (oComponent && oComponent.getManifestObject()) || {};
|
|
165
165
|
mPropertyBag.reference ||= ManifestUtils.getFlexReference(mPropertyBag);
|
|
166
166
|
const oFlexInfoSession = FlexInfoSession.getByReference(mPropertyBag.reference);
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
mPropertyBag.allContextsProvided ||= oFlexInfoSession.allContextsProvided;
|
|
171
|
-
}
|
|
167
|
+
mPropertyBag.version ||= oFlexInfoSession.version;
|
|
168
|
+
mPropertyBag.adaptationId ||= oFlexInfoSession.displayedAdaptationId;
|
|
169
|
+
mPropertyBag.allContextsProvided ||= oFlexInfoSession.allContextsProvided;
|
|
172
170
|
}
|
|
173
171
|
|
|
174
172
|
function createFlexObjects(oStorageResponse) {
|
|
@@ -403,7 +401,6 @@ sap.ui.define([
|
|
|
403
401
|
if (oResponse.info !== undefined) {
|
|
404
402
|
oFlexInfoSession = Object.assign(oFlexInfoSession, oResponse.info);
|
|
405
403
|
}
|
|
406
|
-
oFlexInfoSession.reloadFlexData = false;
|
|
407
404
|
FlexInfoSession.setByReference(oFlexInfoSession, sReference);
|
|
408
405
|
}
|
|
409
406
|
|
|
@@ -577,9 +574,10 @@ sap.ui.define([
|
|
|
577
574
|
_oChangePersistenceFactory._instanceCache[sReference].removeDirtyChanges();
|
|
578
575
|
}
|
|
579
576
|
|
|
580
|
-
|
|
577
|
+
const oOldInitPromise = _mInitPromises[sReference].promise;
|
|
581
578
|
const oNewInitPromise = new Deferred();
|
|
582
579
|
_mInitPromises[sReference] = oNewInitPromise;
|
|
580
|
+
await oOldInitPromise;
|
|
583
581
|
await loadFlexData(mPropertyBag);
|
|
584
582
|
_mInstances[sReference].storageResponse = filterByMaxLayer(sReference, _mInstances[sReference].unfilteredStorageResponse);
|
|
585
583
|
_mInstances[sReference].maxLayer = FlexInfoSession.getByReference(sReference).maxLayer;
|
|
@@ -12,7 +12,7 @@ sap.ui.define([
|
|
|
12
12
|
"sap/ui/fl/apply/_internal/changes/Utils",
|
|
13
13
|
"sap/ui/fl/apply/_internal/flexObjects/FlexObjectFactory",
|
|
14
14
|
"sap/ui/fl/apply/_internal/flexObjects/States",
|
|
15
|
-
"sap/ui/fl/apply/_internal/flexState/
|
|
15
|
+
"sap/ui/fl/apply/_internal/flexState/FlexObjectState",
|
|
16
16
|
"sap/ui/fl/apply/_internal/flexState/FlexState",
|
|
17
17
|
"sap/ui/fl/apply/_internal/flexState/ManifestUtils",
|
|
18
18
|
"sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage",
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
ChangesUtils,
|
|
27
27
|
FlexObjectFactory,
|
|
28
28
|
FlexObjectStates,
|
|
29
|
-
|
|
29
|
+
FlexObjectState,
|
|
30
30
|
FlexState,
|
|
31
31
|
ManifestUtils,
|
|
32
32
|
ChangeHandlerStorage,
|
|
@@ -41,7 +41,7 @@ sap.ui.define([
|
|
|
41
41
|
*
|
|
42
42
|
* @namespace sap.ui.fl.apply._internal.flexState.changes.ExtensionPointState
|
|
43
43
|
* @since 1.79
|
|
44
|
-
* @version 1.
|
|
44
|
+
* @version 1.125.0
|
|
45
45
|
* @private
|
|
46
46
|
* @ui5-restricted
|
|
47
47
|
*/
|
|
@@ -142,7 +142,7 @@ sap.ui.define([
|
|
|
142
142
|
Log.error("Missing name from extension point info!");
|
|
143
143
|
return [];
|
|
144
144
|
}
|
|
145
|
-
const aFlexObjects =
|
|
145
|
+
const aFlexObjects = FlexObjectState.getAllApplicableUIChanges(sReference);
|
|
146
146
|
return aFlexObjects.filter((oFlexObject) => {
|
|
147
147
|
if (oFlexObject.getSelector().name !== mPropertyBag.extensionPointName) {
|
|
148
148
|
return false;
|
|
@@ -5,23 +5,13 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
sap.ui.define([
|
|
8
|
-
"sap/base/util/merge",
|
|
9
|
-
"sap/ui/core/util/reflection/JsControlTreeModifier",
|
|
10
|
-
"sap/ui/fl/apply/_internal/changes/Utils",
|
|
11
8
|
"sap/ui/fl/apply/_internal/flexState/changes/DependencyHandler",
|
|
12
|
-
"sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState",
|
|
13
9
|
"sap/ui/fl/apply/_internal/flexState/DataSelector",
|
|
14
|
-
"sap/ui/fl/apply/_internal/flexState/FlexState"
|
|
15
|
-
"sap/ui/fl/apply/_internal/flexState/ManifestUtils"
|
|
10
|
+
"sap/ui/fl/apply/_internal/flexState/FlexState"
|
|
16
11
|
], (
|
|
17
|
-
merge,
|
|
18
|
-
JsControlTreeModifier,
|
|
19
|
-
Utils,
|
|
20
12
|
DependencyHandler,
|
|
21
|
-
VariantManagementState,
|
|
22
13
|
DataSelector,
|
|
23
|
-
FlexState
|
|
24
|
-
ManifestUtils
|
|
14
|
+
FlexState
|
|
25
15
|
) => {
|
|
26
16
|
"use strict";
|
|
27
17
|
|
|
@@ -34,41 +24,12 @@ sap.ui.define([
|
|
|
34
24
|
* @namespace
|
|
35
25
|
* @alias sap.ui.fl.apply._internal.flexState.changes.UIChangesState
|
|
36
26
|
* @since 1.121
|
|
37
|
-
* @version 1.
|
|
27
|
+
* @version 1.125.0
|
|
38
28
|
* @private
|
|
39
29
|
* @ui5-restricted
|
|
40
30
|
*/
|
|
41
31
|
const UIChangesState = {};
|
|
42
32
|
|
|
43
|
-
function getCompleteDependency(oChange, sReference) {
|
|
44
|
-
const mInitialDependencies = UIChangesState.getCompleteDependencyMap(sReference).mDependencies;
|
|
45
|
-
return mInitialDependencies[oChange.getId()] && Object.assign({}, mInitialDependencies[oChange.getId()]);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function copyDependencies(oInitialDependency, aNewValidDependencies, oAppComponent, oChange, sReference) {
|
|
49
|
-
const aNewValidControlDependencies = [];
|
|
50
|
-
const oDependencyMap = UIChangesState.getLiveDependencyMap(sReference);
|
|
51
|
-
const oModifiedDependency = Object.assign({}, oInitialDependency);
|
|
52
|
-
oInitialDependency.controlsDependencies.forEach(function(oDependentControlSelector) {
|
|
53
|
-
// if the control is already available we don't need to add a dependency to it
|
|
54
|
-
if (!JsControlTreeModifier.bySelector(oDependentControlSelector, oAppComponent)) {
|
|
55
|
-
const sControlId = JsControlTreeModifier.getControlIdBySelector(oDependentControlSelector, oAppComponent);
|
|
56
|
-
aNewValidControlDependencies.push(oDependentControlSelector);
|
|
57
|
-
oDependencyMap.mControlsWithDependencies[sControlId] ||= [];
|
|
58
|
-
if (!oDependencyMap.mControlsWithDependencies[sControlId].includes(oChange.getId())) {
|
|
59
|
-
oDependencyMap.mControlsWithDependencies[sControlId].push(oChange.getId());
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
oModifiedDependency.dependencies = aNewValidDependencies;
|
|
65
|
-
oModifiedDependency.controlsDependencies = aNewValidControlDependencies;
|
|
66
|
-
if (aNewValidDependencies.length || aNewValidControlDependencies.length) {
|
|
67
|
-
oDependencyMap.mDependencies[oChange.getId()] = oModifiedDependency;
|
|
68
|
-
}
|
|
69
|
-
return oModifiedDependency;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
33
|
const oAllUIChangesDataSelector = new DataSelector({
|
|
73
34
|
id: "allUIChanges",
|
|
74
35
|
parentDataSelector: FlexState.getFlexObjectsDataSelector(),
|
|
@@ -118,46 +79,8 @@ sap.ui.define([
|
|
|
118
79
|
}
|
|
119
80
|
});
|
|
120
81
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
*
|
|
124
|
-
* @param {string} sReference - Flex reference
|
|
125
|
-
* @returns {object} Dependency Map
|
|
126
|
-
*/
|
|
127
|
-
UIChangesState.getCompleteDependencyMap = function(sReference) {
|
|
128
|
-
const oVMIndependentUIChangesDepMap = oVMIndependentCompleteDependencyMapDataSelector.get({reference: sReference});
|
|
129
|
-
const oVMDependentUIChangesDepMap = VariantManagementState.getDependencyMap(sReference);
|
|
130
|
-
const oCombinedDepMap = merge({}, oVMIndependentUIChangesDepMap);
|
|
131
|
-
|
|
132
|
-
merge(oCombinedDepMap.mDependencies, oVMDependentUIChangesDepMap.mDependencies);
|
|
133
|
-
merge(oCombinedDepMap.mDependentChangesOnMe, oVMDependentUIChangesDepMap.mDependentChangesOnMe);
|
|
134
|
-
oCombinedDepMap.aChanges = oCombinedDepMap.aChanges.concat(oVMDependentUIChangesDepMap.aChanges);
|
|
135
|
-
|
|
136
|
-
["mChanges", "mControlsWithDependencies"].forEach((sKey) => {
|
|
137
|
-
Object.entries(oVMDependentUIChangesDepMap[sKey]).forEach(([sControlId, aChanges]) => {
|
|
138
|
-
if (Object.keys(oCombinedDepMap[sKey]).includes(sControlId)) {
|
|
139
|
-
oCombinedDepMap[sKey][sControlId] = oCombinedDepMap[sKey][sControlId].concat(aChanges);
|
|
140
|
-
} else {
|
|
141
|
-
oCombinedDepMap[sKey][sControlId] = aChanges;
|
|
142
|
-
}
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
|
|
146
|
-
return oCombinedDepMap;
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Fetches all UIChanges that can be applied. This includes the UIChanges of any current FlVariant.
|
|
151
|
-
* This excludes update changes for CompVariants
|
|
152
|
-
*
|
|
153
|
-
* @param {string} sReference - Flex Reference
|
|
154
|
-
* @returns {sap.ui.fl.apply._internal.flexObjects.UIChange[]} Returns all applicable UIChanges
|
|
155
|
-
*/
|
|
156
|
-
UIChangesState.getAllApplicableUIChanges = function(sReference) {
|
|
157
|
-
const aVMIndependentUIChanges = oVMIndependentUIChangesDataSelector.get({reference: sReference});
|
|
158
|
-
return aVMIndependentUIChanges.concat(VariantManagementState.getInitialUIChanges({
|
|
159
|
-
reference: sReference
|
|
160
|
-
}));
|
|
82
|
+
UIChangesState.getVMIndependentCompleteDependencyMap = function(sReference) {
|
|
83
|
+
return oVMIndependentCompleteDependencyMapDataSelector.get({reference: sReference});
|
|
161
84
|
};
|
|
162
85
|
|
|
163
86
|
UIChangesState.getVariantIndependentUIChanges = function(sReference) {
|
|
@@ -165,62 +88,7 @@ sap.ui.define([
|
|
|
165
88
|
};
|
|
166
89
|
|
|
167
90
|
/**
|
|
168
|
-
*
|
|
169
|
-
* This map is continuously being modified as changes are getting applied.
|
|
170
|
-
* If the Flex State is not initialized, return an empty map.
|
|
171
|
-
* For now, this map can be mutated by the consumer
|
|
172
|
-
*
|
|
173
|
-
* @param {string} sReference - Flex reference
|
|
174
|
-
* @returns {object} Dependency Map
|
|
175
|
-
*/
|
|
176
|
-
UIChangesState.getLiveDependencyMap = function(sReference) {
|
|
177
|
-
return FlexState.getRuntimeOnlyData(sReference).liveDependencyMap || DependencyHandler.createEmptyDependencyMap();
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
/**
|
|
181
|
-
* Copies the complete dependencies for the given change to the live dependency map.
|
|
182
|
-
* Also checks if the dependency is still valid in a callback
|
|
183
|
-
* This function is used in the case that controls got destroyed and recreated
|
|
184
|
-
*
|
|
185
|
-
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject} oChange - The change whose dependencies should be copied
|
|
186
|
-
* @param {sap.ui.core.Component} oAppComponent - Application component instance
|
|
187
|
-
*/
|
|
188
|
-
UIChangesState.copyDependenciesFromCompleteDependencyMap = function(oChange, oAppComponent) {
|
|
189
|
-
const sReference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
|
|
190
|
-
let oCompleteDependency = getCompleteDependency(oChange, sReference);
|
|
191
|
-
if (oCompleteDependency) {
|
|
192
|
-
const oLiveDependencyMap = UIChangesState.getLiveDependencyMap(sReference);
|
|
193
|
-
const aNewValidDependencies = [];
|
|
194
|
-
oCompleteDependency.dependencies.forEach(function(sChangeId) {
|
|
195
|
-
if (Utils.checkIfDependencyIsStillValid(oAppComponent, JsControlTreeModifier, oLiveDependencyMap, sChangeId)) {
|
|
196
|
-
oLiveDependencyMap.mDependentChangesOnMe[sChangeId] ||= [];
|
|
197
|
-
oLiveDependencyMap.mDependentChangesOnMe[sChangeId].push(oChange.getId());
|
|
198
|
-
aNewValidDependencies.push(sChangeId);
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
oCompleteDependency = copyDependencies(oCompleteDependency, aNewValidDependencies, oAppComponent, oChange, sReference);
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* Checks the current dependencies map for any open (unresolved) dependencies belonging to the given control
|
|
207
|
-
* and returns the open dependent changes.
|
|
208
|
-
*
|
|
209
|
-
* @param {object} oSelector - Selector of the control
|
|
210
|
-
* @param {sap.ui.core.UIComponent} oAppComponent - Application component instance that is currently loading
|
|
211
|
-
* @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Array of all open dependent changes for the control
|
|
212
|
-
*/
|
|
213
|
-
UIChangesState.getOpenDependentChangesForControl = function(oSelector, oAppComponent) {
|
|
214
|
-
const sReference = ManifestUtils.getFlexReferenceForControl(oAppComponent);
|
|
215
|
-
return DependencyHandler.getOpenDependentChangesForControl(
|
|
216
|
-
UIChangesState.getLiveDependencyMap(sReference),
|
|
217
|
-
JsControlTreeModifier.getControlIdBySelector(oSelector, oAppComponent),
|
|
218
|
-
oAppComponent
|
|
219
|
-
);
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* Returns all UI Changes.
|
|
91
|
+
* Returns all UI Changes, including variant dependent UI Changes.
|
|
224
92
|
*
|
|
225
93
|
* @param {string} sReference - Flex reference
|
|
226
94
|
* @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} All UI Changes
|
|
@@ -123,7 +123,7 @@ sap.ui.define([
|
|
|
123
123
|
*
|
|
124
124
|
* @namespace sap.ui.fl.apply._internal.flexState.compVariants.CompVariantMerger
|
|
125
125
|
* @since 1.86
|
|
126
|
-
* @version 1.
|
|
126
|
+
* @version 1.125.0
|
|
127
127
|
* @private
|
|
128
128
|
* @ui5-restricted sap.ui.fl
|
|
129
129
|
*/
|
|
@@ -208,7 +208,7 @@ sap.ui.define([
|
|
|
208
208
|
*
|
|
209
209
|
* @function
|
|
210
210
|
* @since 1.89
|
|
211
|
-
* @version 1.
|
|
211
|
+
* @version 1.125.0
|
|
212
212
|
* @private
|
|
213
213
|
* @ui5-restricted sap.ui.fl
|
|
214
214
|
*
|