@openui5/sap.ui.fl 1.114.0 → 1.115.1
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 +0 -5
- package/THIRDPARTY.txt +0 -6
- package/package.json +3 -3
- package/src/sap/ui/fl/.library +1 -1
- package/src/sap/ui/fl/Cache.js +39 -21
- package/src/sap/ui/fl/ChangePersistence.js +14 -21
- package/src/sap/ui/fl/ChangePersistenceFactory.js +3 -55
- 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 +5 -22
- package/src/sap/ui/fl/FlexControllerFactory.js +7 -159
- package/src/sap/ui/fl/LayerUtils.js +1 -1
- package/src/sap/ui/fl/Utils.js +2 -11
- package/src/sap/ui/fl/apply/_internal/ChangesController.js +0 -2
- package/src/sap/ui/fl/apply/_internal/DelegateMediator.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/FlexCustomData.js +1 -1
- package/src/sap/ui/fl/apply/_internal/changes/Utils.js +8 -7
- 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/controlVariants/URLHandler.js +4 -12
- package/src/sap/ui/fl/apply/_internal/extensionPoint/Processor.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 +3 -2
- package/src/sap/ui/fl/apply/_internal/flexObjects/UIChange.js +8 -1
- package/src/sap/ui/fl/apply/_internal/flexObjects/Variant.js +1 -1
- package/src/sap/ui/fl/apply/_internal/flexState/DataSelector.js +25 -27
- package/src/sap/ui/fl/apply/_internal/flexState/FlexState.js +104 -80
- package/src/sap/ui/fl/apply/_internal/flexState/InitialPrepareFunctions.js +34 -15
- 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 +1 -1
- 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 -2
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/VariantManagementState.js +300 -386
- package/src/sap/ui/fl/apply/_internal/preprocessors/ComponentLifecycleHooks.js +219 -0
- package/src/sap/ui/fl/apply/_internal/preprocessors/ControllerExtension.js +1 -1
- package/src/sap/ui/fl/apply/_internal/preprocessors/EventHistory.js +1 -1
- package/src/sap/ui/fl/apply/_internal/preprocessors/RegistrationDelegator.js +7 -9
- package/src/sap/ui/fl/apply/_internal/preprocessors/XmlPreprocessor.js +1 -1
- package/src/sap/ui/fl/apply/api/ControlVariantApplyAPI.js +1 -1
- 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 +1 -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 +6 -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/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/initial/_internal/Storage.js +3 -1
- package/src/sap/ui/fl/initial/_internal/StorageResultMerger.js +3 -22
- package/src/sap/ui/fl/initial/_internal/StorageUtils.js +1 -1
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerRegistration.js +2 -3
- package/src/sap/ui/fl/initial/_internal/changeHandlers/ChangeHandlerStorage.js +1 -1
- package/src/sap/ui/fl/initial/_internal/connectors/LrepConnector.js +1 -0
- 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 +6 -0
- package/src/sap/ui/fl/messagebundle_ar.properties +4 -0
- package/src/sap/ui/fl/messagebundle_bg.properties +6 -2
- package/src/sap/ui/fl/messagebundle_ca.properties +4 -0
- package/src/sap/ui/fl/messagebundle_cs.properties +4 -0
- package/src/sap/ui/fl/messagebundle_cy.properties +4 -0
- package/src/sap/ui/fl/messagebundle_da.properties +4 -0
- package/src/sap/ui/fl/messagebundle_de.properties +6 -2
- package/src/sap/ui/fl/messagebundle_el.properties +4 -0
- package/src/sap/ui/fl/messagebundle_en.properties +4 -0
- package/src/sap/ui/fl/messagebundle_en_GB.properties +4 -0
- package/src/sap/ui/fl/messagebundle_en_US_sappsd.properties +4 -0
- package/src/sap/ui/fl/messagebundle_en_US_saprigi.properties +4 -0
- package/src/sap/ui/fl/messagebundle_en_US_saptrc.properties +4 -0
- package/src/sap/ui/fl/messagebundle_es.properties +4 -0
- package/src/sap/ui/fl/messagebundle_es_MX.properties +4 -0
- package/src/sap/ui/fl/messagebundle_et.properties +4 -0
- package/src/sap/ui/fl/messagebundle_fi.properties +4 -0
- package/src/sap/ui/fl/messagebundle_fr.properties +4 -0
- package/src/sap/ui/fl/messagebundle_fr_CA.properties +4 -0
- package/src/sap/ui/fl/messagebundle_hi.properties +4 -0
- package/src/sap/ui/fl/messagebundle_hr.properties +4 -0
- package/src/sap/ui/fl/messagebundle_hu.properties +4 -0
- package/src/sap/ui/fl/messagebundle_id.properties +4 -0
- package/src/sap/ui/fl/messagebundle_it.properties +4 -0
- package/src/sap/ui/fl/messagebundle_iw.properties +4 -0
- package/src/sap/ui/fl/messagebundle_ja.properties +12 -8
- package/src/sap/ui/fl/messagebundle_kk.properties +4 -0
- package/src/sap/ui/fl/messagebundle_ko.properties +4 -0
- package/src/sap/ui/fl/messagebundle_lt.properties +4 -0
- package/src/sap/ui/fl/messagebundle_lv.properties +4 -0
- package/src/sap/ui/fl/messagebundle_ms.properties +4 -0
- package/src/sap/ui/fl/messagebundle_nl.properties +4 -0
- package/src/sap/ui/fl/messagebundle_no.properties +4 -0
- package/src/sap/ui/fl/messagebundle_pl.properties +4 -0
- package/src/sap/ui/fl/messagebundle_pt.properties +4 -0
- package/src/sap/ui/fl/messagebundle_pt_PT.properties +4 -0
- package/src/sap/ui/fl/messagebundle_ro.properties +4 -0
- package/src/sap/ui/fl/messagebundle_ru.properties +4 -0
- package/src/sap/ui/fl/messagebundle_sh.properties +4 -0
- package/src/sap/ui/fl/messagebundle_sk.properties +4 -0
- package/src/sap/ui/fl/messagebundle_sl.properties +4 -0
- package/src/sap/ui/fl/messagebundle_sv.properties +4 -0
- package/src/sap/ui/fl/messagebundle_th.properties +5 -1
- package/src/sap/ui/fl/messagebundle_tr.properties +4 -0
- package/src/sap/ui/fl/messagebundle_uk.properties +4 -0
- package/src/sap/ui/fl/messagebundle_vi.properties +4 -0
- package/src/sap/ui/fl/messagebundle_zh_CN.properties +4 -0
- package/src/sap/ui/fl/messagebundle_zh_TW.properties +4 -0
- package/src/sap/ui/fl/registry/Settings.js +10 -0
- package/src/sap/ui/fl/support/_internal/extractChangeDependencies.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 +1 -1
- 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 +1 -1
- 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 +124 -338
- package/src/sap/ui/fl/write/_internal/Storage.js +1 -1
- package/src/sap/ui/fl/write/_internal/StorageFeaturesMerger.js +1 -1
- package/src/sap/ui/fl/write/_internal/Versions.js +134 -111
- 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 +35 -8
- package/src/sap/ui/fl/write/_internal/condenser/UIReconstruction.js +17 -2
- package/src/sap/ui/fl/write/_internal/condenser/classifications/Destroy.js +8 -5
- package/src/sap/ui/fl/write/_internal/condenser/classifications/Move.js +6 -0
- package/src/sap/ui/fl/write/_internal/connectors/BackendConnector.js +1 -1
- package/src/sap/ui/fl/write/_internal/connectors/KeyUserConnector.js +34 -4
- 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/extensionPoint/Processor.js +1 -1
- package/src/sap/ui/fl/write/_internal/extensionPoint/Registry.js +1 -1
- package/src/sap/ui/fl/write/_internal/fieldExtensibility/ABAPAccess.js +1 -1
- 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 +1 -1
- 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 +11 -7
- package/src/sap/ui/fl/write/_internal/flexState/compVariants/CompVariantState.js +12 -11
- 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/ContextBasedAdaptationsAPI.js +87 -27
- package/src/sap/ui/fl/write/api/ContextSharingAPI.js +7 -1
- package/src/sap/ui/fl/write/api/ControlPersonalizationWriteAPI.js +1 -23
- package/src/sap/ui/fl/write/api/FeaturesAPI.js +5 -5
- package/src/sap/ui/fl/write/api/FieldExtensibility.js +1 -1
- package/src/sap/ui/fl/write/api/PersistenceWriteAPI.js +4 -3
- package/src/sap/ui/fl/write/api/ReloadInfoAPI.js +10 -1
- package/src/sap/ui/fl/write/api/TranslationAPI.js +1 -1
- package/src/sap/ui/fl/write/api/VersionsAPI.js +70 -21
- package/src/sap/ui/fl/apply/_internal/flexState/controlVariants/prepareVariantsMap.js +0 -356
|
@@ -8,7 +8,6 @@ sap.ui.define([
|
|
|
8
8
|
"sap/ui/fl/registry/Settings",
|
|
9
9
|
"sap/ui/fl/ChangePersistenceFactory",
|
|
10
10
|
"sap/ui/fl/write/_internal/Storage",
|
|
11
|
-
"sap/ui/fl/Utils",
|
|
12
11
|
"sap/ui/fl/write/api/Version",
|
|
13
12
|
"sap/ui/model/json/JSONModel",
|
|
14
13
|
"sap/ui/model/BindingMode"
|
|
@@ -16,7 +15,6 @@ sap.ui.define([
|
|
|
16
15
|
Settings,
|
|
17
16
|
ChangePersistenceFactory,
|
|
18
17
|
Storage,
|
|
19
|
-
Utils,
|
|
20
18
|
Version,
|
|
21
19
|
JSONModel,
|
|
22
20
|
BindingMode
|
|
@@ -30,103 +28,112 @@ sap.ui.define([
|
|
|
30
28
|
var BACKEND_REQUEST_LIMIT = MODEL_SIZE_LIMIT + 1;
|
|
31
29
|
|
|
32
30
|
function createModel(bVersioningEnabled, aVersions) {
|
|
31
|
+
var oModel = _prepareVersionsModel(bVersioningEnabled, aVersions);
|
|
32
|
+
|
|
33
|
+
oModel.setDefaultBindingMode(BindingMode.OneWay);
|
|
34
|
+
oModel.setSizeLimit(MODEL_SIZE_LIMIT);
|
|
35
|
+
// TODO: currently called by sap.ui.rta.RuntimeAuthoring but should be by a ChangesState
|
|
36
|
+
oModel.setDirtyChanges = function (bDirtyChanges) {
|
|
37
|
+
oModel.setProperty("/dirtyChanges", bDirtyChanges);
|
|
38
|
+
oModel.updateDraftVersion();
|
|
39
|
+
oModel.updateBindings(true);
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
oModel.updateDraftVersion = function () {
|
|
43
|
+
var aVersions = oModel.getProperty("/versions");
|
|
44
|
+
var bVersioningEnabled = oModel.getProperty("/versioningEnabled");
|
|
45
|
+
var bDirtyChanges = oModel.getProperty("/dirtyChanges");
|
|
46
|
+
var bBackendDraft = oModel.getProperty("/backendDraft");
|
|
47
|
+
var bDraftAvailable = bVersioningEnabled && (bDirtyChanges || bBackendDraft);
|
|
48
|
+
oModel.setProperty("/draftAvailable", bDraftAvailable);
|
|
49
|
+
|
|
50
|
+
if (bDirtyChanges) {
|
|
51
|
+
oModel.setProperty("/displayedVersion", Version.Number.Draft);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// add draft
|
|
55
|
+
if (!_doesDraftExistInVersions(aVersions) && bDraftAvailable) {
|
|
56
|
+
aVersions.splice(0, 0, {version: Version.Number.Draft, type: Version.Type.Draft, filenames: [], isPublished: false});
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// remove draft
|
|
60
|
+
if (_doesDraftExistInVersions(aVersions) && !bDraftAvailable) {
|
|
61
|
+
aVersions.shift();
|
|
62
|
+
oModel.setProperty("/displayedVersion", oModel.getProperty("/persistedVersion"));
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
var bActivateEnabled = oModel.getProperty("/displayedVersion") !== oModel.getProperty("/activeVersion");
|
|
66
|
+
oModel.setProperty("/activateEnabled", bActivateEnabled);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
return oModel;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function _prepareVersionsModel(bVersioningEnabled, aVersions, oVersionsModel) {
|
|
73
|
+
var sPersistedBasisForDisplayedVersion;
|
|
74
|
+
var bPublishVersionEnabled = false;
|
|
75
|
+
var sActiveVersion = Version.Number.Original;
|
|
33
76
|
var bBackendDraft = _doesDraftExistInVersions(aVersions);
|
|
34
77
|
var aDraftFilenames = [];
|
|
35
78
|
|
|
36
|
-
|
|
37
|
-
|
|
79
|
+
if (aVersions.length > 0) {
|
|
80
|
+
sPersistedBasisForDisplayedVersion = aVersions[0].version;
|
|
81
|
+
} else {
|
|
82
|
+
sPersistedBasisForDisplayedVersion = Version.Number.Original;
|
|
83
|
+
}
|
|
38
84
|
|
|
39
|
-
|
|
40
|
-
.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
85
|
+
aVersions.forEach(function (oVersion) {
|
|
86
|
+
if (oVersion.version === Version.Number.Draft) {
|
|
87
|
+
oVersion.type = Version.Type.Draft;
|
|
88
|
+
oVersion.isPublished = false;
|
|
89
|
+
aDraftFilenames = oVersion.filenames;
|
|
90
|
+
} else {
|
|
91
|
+
if (sActiveVersion === Version.Number.Original) {
|
|
92
|
+
// no active version found yet; the first non-draft version is always the active version
|
|
93
|
+
oVersion.type = Version.Type.Active;
|
|
94
|
+
sActiveVersion = oVersion.version;
|
|
95
|
+
} else {
|
|
96
|
+
oVersion.type = Version.Type.Inactive;
|
|
97
|
+
}
|
|
98
|
+
//If the current selected version is not yet published, enable the publish button
|
|
99
|
+
//Original versions are not part of back end response, so publish button is not enabled by default value
|
|
100
|
+
if ((oVersion.version === sPersistedBasisForDisplayedVersion) && (oVersion.isPublished === false)) {
|
|
101
|
+
bPublishVersionEnabled = true;
|
|
51
102
|
}
|
|
103
|
+
}
|
|
104
|
+
});
|
|
52
105
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
activeVersion: sActiveVersion,
|
|
80
|
-
backendDraft: bBackendDraft,
|
|
81
|
-
dirtyChanges: false,
|
|
82
|
-
draftAvailable: bBackendDraft,
|
|
83
|
-
activateEnabled: bBackendDraft,
|
|
84
|
-
persistedVersion: sPersistedBasisForDisplayedVersion,
|
|
85
|
-
displayedVersion: sPersistedBasisForDisplayedVersion,
|
|
86
|
-
draftFilenames: aDraftFilenames
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
oModel.setDefaultBindingMode(BindingMode.OneWay);
|
|
90
|
-
oModel.setSizeLimit(MODEL_SIZE_LIMIT);
|
|
91
|
-
|
|
92
|
-
// TODO: currently called by sap.ui.rta.RuntimeAuthoring but should be by a ChangesState
|
|
93
|
-
oModel.setDirtyChanges = function (bDirtyChanges) {
|
|
94
|
-
oModel.setProperty("/dirtyChanges", bDirtyChanges);
|
|
95
|
-
oModel.updateDraftVersion();
|
|
96
|
-
oModel.updateBindings(true);
|
|
97
|
-
};
|
|
98
|
-
|
|
99
|
-
oModel.updateDraftVersion = function () {
|
|
100
|
-
var aVersions = oModel.getProperty("/versions");
|
|
101
|
-
var bVersioningEnabled = oModel.getProperty("/versioningEnabled");
|
|
102
|
-
var bDirtyChanges = oModel.getProperty("/dirtyChanges");
|
|
103
|
-
var bBackendDraft = oModel.getProperty("/backendDraft");
|
|
104
|
-
var bDraftAvailable = bVersioningEnabled && (bDirtyChanges || bBackendDraft);
|
|
105
|
-
oModel.setProperty("/draftAvailable", bDraftAvailable);
|
|
106
|
-
|
|
107
|
-
if (bDirtyChanges) {
|
|
108
|
-
oModel.setProperty("/displayedVersion", Version.Number.Draft);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// add draft
|
|
112
|
-
if (!_doesDraftExistInVersions(aVersions) && bDraftAvailable) {
|
|
113
|
-
aVersions.splice(0, 0, {version: Version.Number.Draft, type: Version.Type.Draft, filenames: [], isPublished: false});
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// remove draft
|
|
117
|
-
if (_doesDraftExistInVersions(aVersions) && !bDraftAvailable) {
|
|
118
|
-
aVersions.shift();
|
|
119
|
-
oModel.setProperty("/displayedVersion", oModel.getProperty("/persistedVersion"));
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
var bActivateEnabled = oModel.getProperty("/displayedVersion") !== oModel.getProperty("/activeVersion");
|
|
123
|
-
oModel.setProperty("/activateEnabled", bActivateEnabled);
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
return oModel;
|
|
106
|
+
if (oVersionsModel) {
|
|
107
|
+
oVersionsModel.setProperty("/publishVersionEnabled", bPublishVersionEnabled);
|
|
108
|
+
oVersionsModel.setProperty("/versioningEnabled", bVersioningEnabled);
|
|
109
|
+
oVersionsModel.setProperty("/versions", aVersions);
|
|
110
|
+
oVersionsModel.setProperty("/backendDraft", bBackendDraft);
|
|
111
|
+
oVersionsModel.setProperty("/dirtyChanges", false);
|
|
112
|
+
oVersionsModel.setProperty("/draftAvailable", bBackendDraft);
|
|
113
|
+
oVersionsModel.setProperty("/activateEnabled", bBackendDraft);
|
|
114
|
+
oVersionsModel.setProperty("/activeVersion", sActiveVersion);
|
|
115
|
+
oVersionsModel.setProperty("/persistedVersion", sPersistedBasisForDisplayedVersion);
|
|
116
|
+
oVersionsModel.setProperty("/displayedVersion", sPersistedBasisForDisplayedVersion);
|
|
117
|
+
oVersionsModel.setProperty("/draftFilenames", aDraftFilenames);
|
|
118
|
+
oVersionsModel.updateBindings(true);
|
|
119
|
+
} else {
|
|
120
|
+
oVersionsModel = new JSONModel({
|
|
121
|
+
publishVersionEnabled: bPublishVersionEnabled,
|
|
122
|
+
versioningEnabled: bVersioningEnabled,
|
|
123
|
+
versions: aVersions,
|
|
124
|
+
backendDraft: bBackendDraft,
|
|
125
|
+
dirtyChanges: false,
|
|
126
|
+
draftAvailable: bBackendDraft,
|
|
127
|
+
activateEnabled: bBackendDraft,
|
|
128
|
+
activeVersion: sActiveVersion,
|
|
129
|
+
persistedVersion: sPersistedBasisForDisplayedVersion,
|
|
130
|
+
displayedVersion: sPersistedBasisForDisplayedVersion,
|
|
131
|
+
draftFilenames: aDraftFilenames
|
|
127
132
|
});
|
|
128
|
-
|
|
133
|
+
}
|
|
129
134
|
|
|
135
|
+
return oVersionsModel;
|
|
136
|
+
}
|
|
130
137
|
// TODO: the handling should move to the FlexState as soon as it is ready
|
|
131
138
|
function _removeDirtyChanges(mPropertyBag, oDirtyChangeInfo) {
|
|
132
139
|
// remove all dirty changes
|
|
@@ -170,12 +177,22 @@ sap.ui.define([
|
|
|
170
177
|
});
|
|
171
178
|
}
|
|
172
179
|
|
|
180
|
+
function _updateVersionModelWhenDiscardOrActivate(oModel, iNewVersion) {
|
|
181
|
+
oModel.setProperty("/backendDraft", false);
|
|
182
|
+
oModel.setProperty("/dirtyChanges", false);
|
|
183
|
+
oModel.setProperty("/draftAvailable", false);
|
|
184
|
+
oModel.setProperty("/activateEnabled", false);
|
|
185
|
+
oModel.setProperty("/displayedVersion", iNewVersion);
|
|
186
|
+
oModel.setProperty("/persistedVersion", iNewVersion);
|
|
187
|
+
oModel.updateBindings(true);
|
|
188
|
+
}
|
|
189
|
+
|
|
173
190
|
/**
|
|
174
191
|
*
|
|
175
192
|
*
|
|
176
193
|
* @namespace sap.ui.fl.write._internal.Versions
|
|
177
194
|
* @since 1.74
|
|
178
|
-
* @version 1.
|
|
195
|
+
* @version 1.115.1
|
|
179
196
|
* @private
|
|
180
197
|
* @ui5-restricted sap.ui.fl
|
|
181
198
|
*/
|
|
@@ -248,6 +265,25 @@ sap.ui.define([
|
|
|
248
265
|
_mInstances = {};
|
|
249
266
|
};
|
|
250
267
|
|
|
268
|
+
/**
|
|
269
|
+
* Update version model with backend information.
|
|
270
|
+
*
|
|
271
|
+
* @param {object} mPropertyBag - Property Bag
|
|
272
|
+
* @param {string} mPropertyBag.reference - ID of the application for which the versions are requested
|
|
273
|
+
* @param {string} mPropertyBag.layer - Layer for which the versions should be retrieved
|
|
274
|
+
* @returns {Promise<sap.ui.fl.Version>} Promise resolving with the updated version model for the application from the backend
|
|
275
|
+
*/
|
|
276
|
+
Versions.updateModelFromBackend = function(mPropertyBag) {
|
|
277
|
+
if (Versions.hasVersionsModel(mPropertyBag)) {
|
|
278
|
+
mPropertyBag.limit = BACKEND_REQUEST_LIMIT;
|
|
279
|
+
return Storage.versions.load(mPropertyBag)
|
|
280
|
+
.then(function (aVersions) {
|
|
281
|
+
var oVersionsModel = Versions.getVersionsModel(mPropertyBag);
|
|
282
|
+
return _prepareVersionsModel(oVersionsModel.getProperty("/versioningEnabled"), aVersions, oVersionsModel);
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
|
|
251
287
|
/**
|
|
252
288
|
* Updates dirty changes and the backendDraft property of the model after a saveAll was called.
|
|
253
289
|
*
|
|
@@ -258,7 +294,6 @@ sap.ui.define([
|
|
|
258
294
|
* @param {array} [mPropertyBag.draftFilenames] - Array with filesnames which was saved as draft
|
|
259
295
|
*/
|
|
260
296
|
Versions.onAllChangesSaved = function (mPropertyBag) {
|
|
261
|
-
mPropertyBag.reference = Utils.normalizeReference(mPropertyBag.reference);
|
|
262
297
|
var oModel = Versions.getVersionsModel(mPropertyBag);
|
|
263
298
|
var bVersioningEnabled = oModel.getProperty("/versioningEnabled");
|
|
264
299
|
var bDirtyChanges = oModel.getProperty("/dirtyChanges");
|
|
@@ -318,16 +353,10 @@ sap.ui.define([
|
|
|
318
353
|
aVersions.shift();
|
|
319
354
|
}
|
|
320
355
|
aVersions.splice(0, 0, oVersion);
|
|
321
|
-
oModel.setProperty("/publishVersionEnabled", true);
|
|
322
|
-
oModel.setProperty("/backendDraft", false);
|
|
323
|
-
oModel.setProperty("/dirtyChanges", false);
|
|
324
|
-
oModel.setProperty("/draftAvailable", false);
|
|
325
|
-
oModel.setProperty("/publishVersionEnabled", true);
|
|
326
|
-
oModel.setProperty("/activateEnabled", false);
|
|
327
356
|
oModel.setProperty("/activeVersion", oVersion.version);
|
|
328
|
-
oModel.setProperty("/
|
|
329
|
-
oModel.setProperty("/
|
|
330
|
-
oModel.
|
|
357
|
+
oModel.setProperty("/publishVersionEnabled", true);
|
|
358
|
+
oModel.setProperty("/draftFilenames", []);
|
|
359
|
+
_updateVersionModelWhenDiscardOrActivate(oModel, oVersion.version);
|
|
331
360
|
});
|
|
332
361
|
};
|
|
333
362
|
|
|
@@ -343,20 +372,14 @@ sap.ui.define([
|
|
|
343
372
|
*/
|
|
344
373
|
Versions.discardDraft = function(mPropertyBag) {
|
|
345
374
|
var oModel = Versions.getVersionsModel(mPropertyBag);
|
|
346
|
-
var aVersions = oModel.getProperty("/versions");
|
|
347
375
|
var oDirtyChangesInfo = _getDirtyChangesInfo(mPropertyBag);
|
|
348
376
|
var bBackendDraftExists = oModel.getProperty("/backendDraft");
|
|
349
377
|
var oDiscardPromise = bBackendDraftExists ? Storage.versions.discardDraft(mPropertyBag) : Promise.resolve();
|
|
350
378
|
|
|
351
379
|
return oDiscardPromise.then(function () {
|
|
380
|
+
var aVersions = oModel.getProperty("/versions");
|
|
352
381
|
aVersions.shift();
|
|
353
|
-
oModel.
|
|
354
|
-
oModel.setProperty("/dirtyChanges", false);
|
|
355
|
-
oModel.setProperty("/draftAvailable", false);
|
|
356
|
-
oModel.setProperty("/activateEnabled", false);
|
|
357
|
-
oModel.setProperty("/displayedVersion", oModel.getProperty("/activeVersion"));
|
|
358
|
-
oModel.setProperty("/persistedVersion", oModel.getProperty("/activeVersion"));
|
|
359
|
-
oModel.updateBindings(true);
|
|
382
|
+
_updateVersionModelWhenDiscardOrActivate(oModel, oModel.getProperty("/activeVersion"));
|
|
360
383
|
// in case of a existing draft known by the backend;
|
|
361
384
|
// we remove dirty changes only after successful DELETE request
|
|
362
385
|
var bDirtyChangesRemoved = _removeDirtyChanges(mPropertyBag, oDirtyChangesInfo);
|
|
@@ -380,7 +403,7 @@ sap.ui.define([
|
|
|
380
403
|
*/
|
|
381
404
|
Versions.publish = function(mPropertyBag) {
|
|
382
405
|
var oModel = Versions.getVersionsModel({
|
|
383
|
-
reference:
|
|
406
|
+
reference: mPropertyBag.reference,
|
|
384
407
|
layer: mPropertyBag.layer
|
|
385
408
|
});
|
|
386
409
|
return Storage.versions.publish(mPropertyBag)
|
|
@@ -51,7 +51,7 @@ sap.ui.define([
|
|
|
51
51
|
* @namespace
|
|
52
52
|
* @alias sap.ui.fl.write._internal.condenser.Condenser
|
|
53
53
|
* @author SAP SE
|
|
54
|
-
* @version 1.
|
|
54
|
+
* @version 1.115.1
|
|
55
55
|
*/
|
|
56
56
|
var Condenser = {};
|
|
57
57
|
|
|
@@ -498,7 +498,18 @@ sap.ui.define([
|
|
|
498
498
|
});
|
|
499
499
|
}
|
|
500
500
|
|
|
501
|
-
|
|
501
|
+
/**
|
|
502
|
+
* Adding a change of the same classification to the map will only add it as updateChange to the condenser info,
|
|
503
|
+
* which means that the condenser info holds the first (updateChange) and the last (change) change of the same classification.
|
|
504
|
+
* If there is an updateChange attached to the condenser info object and that change is already persisted,
|
|
505
|
+
* that change will be used over the newest change.
|
|
506
|
+
*
|
|
507
|
+
* @param {object[]} aCondenserInfos - Condenser info objects
|
|
508
|
+
* @param {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} aReducedChanges - Array of reduced changes
|
|
509
|
+
* @param {object[]} aReducedIndexRelatedChangesPerContainer - Array with index related reduced changes per container
|
|
510
|
+
* @returns {sap.ui.fl.apply._internal.flexObjects.FlexObject[]} Updated reduced changes
|
|
511
|
+
*/
|
|
512
|
+
function handleChangeUpdate(aCondenserInfos, aReducedChanges, aReducedIndexRelatedChangesPerContainer) {
|
|
502
513
|
aCondenserInfos.forEach(function(oCondenserInfo) {
|
|
503
514
|
var oUpdateChange = oCondenserInfo.updateChange;
|
|
504
515
|
if (
|
|
@@ -508,17 +519,26 @@ sap.ui.define([
|
|
|
508
519
|
&& !_isEqual(oUpdateChange.getContent(), oCondenserInfo.change.getContent())
|
|
509
520
|
&& oUpdateChange.getState() !== States.LifecycleState.NEW
|
|
510
521
|
) {
|
|
511
|
-
var
|
|
512
|
-
if (oUpdateChange.getId() !==
|
|
513
|
-
var oNewContent =
|
|
522
|
+
var oLastChange = oCondenserInfo.change;
|
|
523
|
+
if (oUpdateChange.getId() !== oLastChange.getId()) {
|
|
524
|
+
var oNewContent = oLastChange.getContent();
|
|
514
525
|
oUpdateChange.setContent(oNewContent);
|
|
515
|
-
|
|
526
|
+
oUpdateChange.setRevertData(oLastChange.getRevertData());
|
|
527
|
+
oLastChange.condenserState = "delete";
|
|
516
528
|
aReducedChanges = aReducedChanges.map(function(oChange) {
|
|
517
|
-
if (oChange.getId() ===
|
|
529
|
+
if (oChange.getId() === oLastChange.getId()) {
|
|
518
530
|
return oUpdateChange;
|
|
519
531
|
}
|
|
520
532
|
return oChange;
|
|
521
533
|
});
|
|
534
|
+
aReducedIndexRelatedChangesPerContainer.forEach(function(aReducedIndexRelatedChanges, iIndex) {
|
|
535
|
+
aReducedIndexRelatedChangesPerContainer[iIndex] = aReducedIndexRelatedChanges.map(function(oChange) {
|
|
536
|
+
if (oChange.getId() === oLastChange.getId()) {
|
|
537
|
+
return oUpdateChange;
|
|
538
|
+
}
|
|
539
|
+
return oChange;
|
|
540
|
+
});
|
|
541
|
+
});
|
|
522
542
|
} else {
|
|
523
543
|
oUpdateChange.setState(States.LifecycleState.DIRTY);
|
|
524
544
|
}
|
|
@@ -613,9 +633,16 @@ sap.ui.define([
|
|
|
613
633
|
Measurement.end("Condenser_sort");
|
|
614
634
|
|
|
615
635
|
if (bSuccess) {
|
|
636
|
+
// during the simulation more changes can become obsolete
|
|
637
|
+
aReducedChanges = aReducedChanges.filter(function(oChange) {
|
|
638
|
+
return oChange.condenserState !== "delete";
|
|
639
|
+
});
|
|
640
|
+
aCondenserInfos = aCondenserInfos.filter(function(oCondenserInfo) {
|
|
641
|
+
return oCondenserInfo.change.condenserState !== "delete";
|
|
642
|
+
});
|
|
616
643
|
// until now aReducedChanges still has the newer changes.
|
|
617
644
|
// after replacing them with the older change they have to be sorted again
|
|
618
|
-
aReducedChanges = handleChangeUpdate(aCondenserInfos, aReducedChanges);
|
|
645
|
+
aReducedChanges = handleChangeUpdate(aCondenserInfos, aReducedChanges, aReducedIndexRelatedChangesPerContainer);
|
|
619
646
|
sortByInitialOrder(aChanges, aReducedChanges);
|
|
620
647
|
// sort the different containers independently
|
|
621
648
|
aReducedIndexRelatedChangesPerContainer.forEach(function(aReducedIndexRelatedChanges) {
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* @namespace
|
|
32
32
|
* @alias sap.ui.fl.write._internal.condenser.UIReconstruction
|
|
33
33
|
* @author SAP SE
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.115.1
|
|
35
35
|
*/
|
|
36
36
|
var UIReconstruction = {};
|
|
37
37
|
|
|
@@ -205,6 +205,11 @@ sap.ui.define([
|
|
|
205
205
|
|
|
206
206
|
var aSortedUIElementIds = mUISimulatedStates[sContainerKey][sAggregationName];
|
|
207
207
|
if (isEqual(aTargetUIElementIds, aSortedUIElementIds)) {
|
|
208
|
+
aCondenserInfos.forEach(function(oCondenserInfo) {
|
|
209
|
+
if (oCondenserInfo.sameIndex) {
|
|
210
|
+
oCondenserInfo.change.condenserState = "delete";
|
|
211
|
+
}
|
|
212
|
+
});
|
|
208
213
|
return true;
|
|
209
214
|
}
|
|
210
215
|
return false;
|
|
@@ -332,12 +337,14 @@ sap.ui.define([
|
|
|
332
337
|
var aInitialElementIds = mUIReconstructions[sContainerKey][sAggregationName][Utils.INITIAL_UI];
|
|
333
338
|
var bCorrectSortingFound = true;
|
|
334
339
|
|
|
335
|
-
// Verify whether the algorithm should be ready before ;)
|
|
336
340
|
if (
|
|
337
341
|
containsNoPlaceholder(aTargetElementIds)
|
|
338
342
|
|| containsOnlyCreateChanges(aCondenserInfos)
|
|
339
343
|
) {
|
|
340
344
|
sortAscendingByTargetIndex(aCondenserInfos);
|
|
345
|
+
// this should always be the correct sorting, but the function still needs to be called to
|
|
346
|
+
// remove obsolete changes during the simulation of Move
|
|
347
|
+
bCorrectSortingFound = isEqualReconstructedUI(sContainerKey, sAggregationName, aInitialElementIds, aTargetElementIds, aCondenserInfos);
|
|
341
348
|
} else if (!isEqualReconstructedUI(sContainerKey, sAggregationName, aInitialElementIds, aTargetElementIds, aCondenserInfos)) {
|
|
342
349
|
bCorrectSortingFound = false;
|
|
343
350
|
var iTimes = aCondenserInfos.length;
|
|
@@ -359,7 +366,15 @@ sap.ui.define([
|
|
|
359
366
|
throw Error("no correct sorting found for the container: " + sContainerKey);
|
|
360
367
|
}
|
|
361
368
|
|
|
369
|
+
aCondenserInfos = aCondenserInfos.filter(function(oCondenserInfo) {
|
|
370
|
+
return oCondenserInfo.change.condenserState !== "delete";
|
|
371
|
+
});
|
|
372
|
+
|
|
362
373
|
aSortedIndexRelatedChangesPerContainer.push(aCondenserInfos.map(function(oCondenserInfo) {
|
|
374
|
+
if (oCondenserInfo.revertIndex > -1) {
|
|
375
|
+
oCondenserInfo.setIndexInRevertData(oCondenserInfo.change, oCondenserInfo.revertIndex);
|
|
376
|
+
oCondenserInfo.sourceIndex = oCondenserInfo.revertIndex;
|
|
377
|
+
}
|
|
363
378
|
return oCondenserInfo.change;
|
|
364
379
|
}));
|
|
365
380
|
});
|
|
@@ -49,14 +49,17 @@ sap.ui.define([
|
|
|
49
49
|
* @param {string[]} aInitialUIElementIds - Array with the Ids of the initial elements in the container
|
|
50
50
|
*/
|
|
51
51
|
simulate: function(aContainerElements, oCondenserInfo, aInitialUIElementIds) {
|
|
52
|
-
var
|
|
53
|
-
if (
|
|
52
|
+
var iCurrentSourceIndex = aContainerElements.indexOf(oCondenserInfo.affectedControl);
|
|
53
|
+
if (iCurrentSourceIndex === -1) {
|
|
54
54
|
var sUnknown = CondenserUtils.PLACEHOLDER + aInitialUIElementIds.indexOf(oCondenserInfo.affectedControl);
|
|
55
|
-
|
|
55
|
+
iCurrentSourceIndex = aContainerElements.indexOf(sUnknown);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
// to enable a revert in the same session the previous index has to be saved during the simulation
|
|
59
|
+
oCondenserInfo.revertIndex = iCurrentSourceIndex;
|
|
60
|
+
|
|
61
|
+
if (iCurrentSourceIndex > -1) {
|
|
62
|
+
aContainerElements.splice(iCurrentSourceIndex, 1);
|
|
60
63
|
}
|
|
61
64
|
}
|
|
62
65
|
};
|
|
@@ -83,6 +83,12 @@ sap.ui.define([
|
|
|
83
83
|
} else {
|
|
84
84
|
aContainerElements.splice(iTargetIndex, 0, aContainerElements.splice(iCurrentSourceIndex, 1)[0]);
|
|
85
85
|
}
|
|
86
|
+
|
|
87
|
+
// changes with the same current source and target can be deleted, if the simulation is successful
|
|
88
|
+
oCondenserInfo.sameIndex = iCurrentSourceIndex === iTargetIndex;
|
|
89
|
+
|
|
90
|
+
// to enable a revert in the same session the previous index has to be saved during the simulation
|
|
91
|
+
oCondenserInfo.revertIndex = iCurrentSourceIndex;
|
|
86
92
|
}
|
|
87
93
|
};
|
|
88
94
|
});
|
|
@@ -12,7 +12,10 @@ sap.ui.define([
|
|
|
12
12
|
"sap/ui/fl/initial/_internal/connectors/Utils",
|
|
13
13
|
"sap/ui/fl/write/_internal/connectors/Utils",
|
|
14
14
|
"sap/base/util/restricted/_pick",
|
|
15
|
-
"sap/ui/fl/write/_internal/FlexInfoSession"
|
|
15
|
+
"sap/ui/fl/write/_internal/FlexInfoSession",
|
|
16
|
+
"sap/ui/core/BusyIndicator",
|
|
17
|
+
"sap/base/Log",
|
|
18
|
+
"sap/m/MessageBox"
|
|
16
19
|
], function (
|
|
17
20
|
merge,
|
|
18
21
|
Layer,
|
|
@@ -21,7 +24,10 @@ sap.ui.define([
|
|
|
21
24
|
InitialUtils,
|
|
22
25
|
WriteUtils,
|
|
23
26
|
_pick,
|
|
24
|
-
FlexInfoSession
|
|
27
|
+
FlexInfoSession,
|
|
28
|
+
BusyIndicator,
|
|
29
|
+
Log,
|
|
30
|
+
MessageBox
|
|
25
31
|
) {
|
|
26
32
|
"use strict";
|
|
27
33
|
|
|
@@ -32,7 +38,7 @@ sap.ui.define([
|
|
|
32
38
|
*
|
|
33
39
|
* @namespace sap.ui.fl.write._internal.connectors.KeyUserConnector
|
|
34
40
|
* @since 1.70
|
|
35
|
-
* @version 1.
|
|
41
|
+
* @version 1.115.1
|
|
36
42
|
* @private
|
|
37
43
|
* @ui5-restricted sap.ui.fl.write._internal.Storage
|
|
38
44
|
*/
|
|
@@ -48,7 +54,8 @@ sap.ui.define([
|
|
|
48
54
|
VERSIONS: {
|
|
49
55
|
GET: PREFIX + InitialConnector.API_VERSION + "/versions/",
|
|
50
56
|
ACTIVATE: PREFIX + InitialConnector.API_VERSION + "/versions/activate/",
|
|
51
|
-
DISCARD: PREFIX + InitialConnector.API_VERSION + "/versions/draft/"
|
|
57
|
+
DISCARD: PREFIX + InitialConnector.API_VERSION + "/versions/draft/",
|
|
58
|
+
PUBLISH: PREFIX + InitialConnector.API_VERSION + "/versions/publish/"
|
|
52
59
|
},
|
|
53
60
|
TRANSLATION: {
|
|
54
61
|
UPLOAD: PREFIX + InitialConnector.API_VERSION + "/translation/texts",
|
|
@@ -151,6 +158,29 @@ sap.ui.define([
|
|
|
151
158
|
_enhancePropertyBagWithTokenInfo(mPropertyBag);
|
|
152
159
|
var sVersionsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.VERSIONS.DISCARD, mPropertyBag);
|
|
153
160
|
return WriteUtils.sendRequest(sVersionsUrl, "DELETE", mPropertyBag);
|
|
161
|
+
},
|
|
162
|
+
publish: function (mPropertyBag) {
|
|
163
|
+
var oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.fl");
|
|
164
|
+
var fnHandleAllErrors = function (oError) {
|
|
165
|
+
BusyIndicator.hide();
|
|
166
|
+
var sMessage = oResourceBundle.getText("MSG_CF_PUBLISH_ERROR", oError ? [oError.message || oError] : undefined);
|
|
167
|
+
var sTitle = oResourceBundle.getText("HEADER_TRANSPORT_ERROR");
|
|
168
|
+
Log.error("publish version error" + oError);
|
|
169
|
+
MessageBox.show(sMessage, {
|
|
170
|
+
icon: MessageBox.Icon.ERROR,
|
|
171
|
+
title: sTitle,
|
|
172
|
+
styleClass: mPropertyBag.styleClass
|
|
173
|
+
});
|
|
174
|
+
return "Error";
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
_enhancePropertyBagWithTokenInfo(mPropertyBag);
|
|
178
|
+
var mParameters = {version: mPropertyBag.version};
|
|
179
|
+
var sVersionsUrl = InitialUtils.getUrl(KeyUserConnector.ROUTES.VERSIONS.PUBLISH, mPropertyBag, mParameters);
|
|
180
|
+
return WriteUtils.sendRequest(sVersionsUrl, "POST", mPropertyBag).then(function () {
|
|
181
|
+
BusyIndicator.hide();
|
|
182
|
+
return oResourceBundle.getText("MSG_CF_PUBLISH_SUCCESS");
|
|
183
|
+
})['catch'](fnHandleAllErrors);
|
|
154
184
|
}
|
|
155
185
|
};
|
|
156
186
|
|