@sapui5/sap.suite.ui.generic.template 1.108.48 → 1.108.50
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/package.json +1 -1
- package/src/sap/suite/ui/generic/template/.library +1 -1
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_bg.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_da.properties +3 -3
- package/src/sap/suite/ui/generic/template/AnalyticalListPage/i18n/i18n_id.properties +2 -2
- package/src/sap/suite/ui/generic/template/ListReport/controller/ControllerImplementation.js +15 -9
- package/src/sap/suite/ui/generic/template/ListReport/controller/IappStateHandler.js +18 -8
- package/src/sap/suite/ui/generic/template/ListReport/i18n/i18n_id.properties +1 -1
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartChart.fragment.xml +3 -2
- package/src/sap/suite/ui/generic/template/ListReport/view/fragments/SmartTable.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/ControllerImplementation.js +4 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/controller/RelatedAppsHandler.js +28 -26
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_pt.properties +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sh.properties +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sl.properties +3 -3
- package/src/sap/suite/ui/generic/template/ObjectPage/i18n/i18n_sr.properties +1 -1
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartChart.fragment.xml +1 -0
- package/src/sap/suite/ui/generic/template/ObjectPage/view/fragments/SmartTable.fragment.xml +2 -1
- package/src/sap/suite/ui/generic/template/genericUtilities/ControlStateWrapperFactory.js +109 -68
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/DynamicPageWrapper.js +19 -51
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/ObjectPageLayoutWrapper.js +10 -32
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/PreliminaryWrapper.js +151 -0
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SearchFieldWrapper.js +8 -30
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartFilterBarWrapper.js +76 -99
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableChartCommon.js +105 -91
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartTableWrapper.js +10 -2
- package/src/sap/suite/ui/generic/template/genericUtilities/controlStateWrapperFactory/SmartVariantManagementWrapper.js +98 -81
- package/src/sap/suite/ui/generic/template/js/AnnotationHelperStreamSupport.js +25 -6
- package/src/sap/suite/ui/generic/template/lib/AppComponent.js +1 -1
- package/src/sap/suite/ui/generic/template/lib/CommonUtils.js +5 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fi.properties +2 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_fr.properties +2 -2
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_ru.properties +5 -5
- package/src/sap/suite/ui/generic/template/lib/i18n/i18n_zh_CN.properties +1 -1
- package/src/sap/suite/ui/generic/template/lib/navigation/NavigationController.js +7 -7
- package/src/sap/suite/ui/generic/template/library.js +1 -1
|
@@ -4,18 +4,24 @@ sap.ui.define([
|
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Constructor for SmartVariantManagementWrapper
|
|
7
|
-
* @param {sap.ui.comp.smartvariants.SmartVariantManagement}
|
|
8
|
-
* or the Id of control for which this wrapper is created
|
|
7
|
+
* @param {sap.ui.comp.smartvariants.SmartVariantManagement} oControl - The SmartVariantManagement control
|
|
9
8
|
* @param {object} oController - the controller of the current component
|
|
10
9
|
* @param {object} oFactory - the controlStateWrapperFactory
|
|
11
10
|
* @param {object} mParams
|
|
11
|
+
<<<<<<< HEAD (274a590a8af0bd77d9f27bbcd5f549d902fa60a9 Merge "[INTERNAL] Translation delivery: commit by LX Lab" in)
|
|
12
12
|
* @param mParams.managedControlWrappers - array of controlStateWrappers for controls handled by the SVM
|
|
13
13
|
* (currently also including SFB wrapper - to be removed)
|
|
14
|
-
|
|
15
|
-
* @
|
|
14
|
+
||||||| BASE (38a1067f0575c68f4f40a7766314c763b315cee1 [INTERNAL] Translation delivery: commit by LX Lab)
|
|
15
|
+
* @param {array} mParams.managedControlWrappers - array of controlStateWrappers for controls handled by the SVM
|
|
16
|
+
* (currently also including SFB wrapper - to be removed)
|
|
17
|
+
=======
|
|
18
|
+
* @param {array} mParams.managedControlWrappers - array of controlStateWrappers for controls handled by the SVM
|
|
19
|
+
* @param {object} mParams.smartFilterBarWrapper - explicit reference to SmartFilterBarWrapper for special handling
|
|
20
|
+
>>>>>>> CHANGE (61636f588a5388c738612b2d57855c25f45efd46 [FIX] LR: Extension filter values now stored/restored in var)
|
|
21
|
+
* @returns {object}
|
|
16
22
|
*/
|
|
17
23
|
|
|
18
|
-
function SmartVariantManagementWrapper(
|
|
24
|
+
function SmartVariantManagementWrapper(oControl, oController, oFactory, mParams) {
|
|
19
25
|
// Special handling of SmartFilterBarWrapper for several reasons:
|
|
20
26
|
// - Suppress selection when restoring a variant. Selection is solely triggered according to information in appState. Otherwise, erroneous selection could be triggered in
|
|
21
27
|
// a few situations:
|
|
@@ -26,14 +32,10 @@ sap.ui.define([
|
|
|
26
32
|
// - Store and restore extension state (extension implemented in SFB instead of SVM, which would be more appropriate from architectural point of view)
|
|
27
33
|
// flag to control whether we are currently in the process of applying a state to suppress the event to inform about a new state´
|
|
28
34
|
// only needed when setting the variant itself - for managed controls, their wrappers should avoid firing the event themselves
|
|
29
|
-
var oSmartVariantManagement
|
|
30
|
-
var
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if (typeof vTarget !== "string") {
|
|
35
|
-
fnSetControl(vTarget);
|
|
36
|
-
}
|
|
35
|
+
var oSmartVariantManagement = oControl;
|
|
36
|
+
var oPreliminaryState;
|
|
37
|
+
var bIsApplyingVariant = false;
|
|
38
|
+
var bAllControlsInitialized = false;
|
|
37
39
|
|
|
38
40
|
// Handles the state of the variant management itself (i.e. which variant is selected and whether it's dirty), including the state of the managed controls.
|
|
39
41
|
// Is responsible esp. to restore this state with correct dependency resp. in correct order
|
|
@@ -50,69 +52,74 @@ sap.ui.define([
|
|
|
50
52
|
// For these controls, a real user changes are already handled by the direct connection. On the other hand, these controls also fire their change events, if their state is
|
|
51
53
|
// changed from SVM (by the same connection) - setting variant dirty here would be wrong.
|
|
52
54
|
mParams.managedControlWrappers.forEach(function(oWrapper){
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
(oWrapper.oVMConnectionPromise || Promise.resolve(oWrapper.bVMConnection)).then(function(bVMConnection) {
|
|
56
|
+
if (!bVMConnection) {
|
|
57
|
+
oWrapper.attachStateChanged(function(){
|
|
58
|
+
oSmartVariantManagement.currentVariantSetModified(true);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
});
|
|
58
62
|
});
|
|
59
63
|
|
|
64
|
+
// Get SmartFilterBarWrapper explicitly from params.
|
|
65
|
+
// This connection is needed because SmartFilterBar provides special callbacks to store/restore state
|
|
66
|
+
// for controls that don't have a direct variant management connection (bVMConnection = false), such as:
|
|
67
|
+
// - Extension filters (custom filters added via app or adaptation extensions)
|
|
68
|
+
// - Multiple views state (selected tab in multi-table/chart scenarios)
|
|
69
|
+
// These controls need their state saved/restored with variants via the SFB's beforeVariantFetch/afterVariantLoad events.
|
|
70
|
+
var oSmartFilterBarWrapper = mParams.smartFilterBarWrapper;
|
|
60
71
|
|
|
61
|
-
|
|
62
|
-
function fnSetControl(oControl) {
|
|
63
|
-
oSmartVariantManagement = oControl;
|
|
64
|
-
fnResolveControlAssigned(oSmartVariantManagement);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
var oSmartFilterBarWrapper = mParams.managedControlWrappers.find(function(oWrapper){
|
|
68
|
-
return oWrapper.setSVMWrapperCallbacks;
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
// provide callbacks needed for SFB wrapper to store/restore extnesion state with variant
|
|
72
|
+
// Provide callbacks needed for SFB wrapper to store/restore extension state with variant
|
|
72
73
|
if (oSmartFilterBarWrapper){
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
74
|
+
// Build array with wrapper + bVMConnection info once all wrappers are ready
|
|
75
|
+
Promise.all(mParams.managedControlWrappers.map(function(oWrapper){
|
|
76
|
+
return (oWrapper.oVMConnectionPromise || Promise.resolve(oWrapper.bVMConnection)).then(function(bVMConnection){
|
|
77
|
+
return {
|
|
78
|
+
wrapper: oWrapper,
|
|
79
|
+
bVMConnection: bVMConnection
|
|
80
|
+
};
|
|
81
|
+
});
|
|
82
|
+
})).then(function(aWrapperInfo) {
|
|
83
|
+
oSmartFilterBarWrapper.setSVMWrapperCallbacks({
|
|
84
|
+
getManagedControlStates: function(){
|
|
85
|
+
var mManagedControlStates = Object.create(null);
|
|
86
|
+
aWrapperInfo.forEach(function(oInfo){
|
|
87
|
+
if (!oInfo.bVMConnection) {
|
|
88
|
+
mManagedControlStates[oInfo.wrapper.getLocalId()] = oInfo.wrapper.getState();
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
return mManagedControlStates;
|
|
92
|
+
},
|
|
93
|
+
setManagedControlStates: function(oState){
|
|
94
|
+
aWrapperInfo.forEach(function(oInfo){
|
|
95
|
+
if (!oInfo.bVMConnection) {
|
|
96
|
+
oInfo.wrapper.setState(oState[oInfo.wrapper.getLocalId()]);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
});
|
|
93
101
|
});
|
|
94
102
|
}
|
|
95
103
|
|
|
104
|
+
// Create promise that resolves when all managed controls' variant management is ready
|
|
105
|
+
// This ensures getState() can query controls even if setState() is never called (e.g., app starts from scratch)
|
|
106
|
+
var oAllControlsInitializedPromise = Promise.all(
|
|
107
|
+
mParams.managedControlWrappers.map(function(oWrapper){
|
|
108
|
+
return oWrapper.oVariantManagementInitializedPromise || Promise.resolve();
|
|
109
|
+
})
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
// Set flag when all controls are initialized
|
|
113
|
+
oAllControlsInitializedPromise.then(function() {
|
|
114
|
+
bAllControlsInitialized = true;
|
|
115
|
+
});
|
|
116
|
+
|
|
96
117
|
// Wrapper is intended to set a state to the ui, but not to trigger a selection (which should happen only after all (relevant) parts of ui state is set to the correct state
|
|
97
118
|
// are set correct. Therefore, setting variant from here should never trigger a selection.
|
|
98
119
|
function fnSetVariant(sVariantId){
|
|
99
120
|
if (oSmartFilterBarWrapper){
|
|
100
121
|
oSmartFilterBarWrapper.suppressSelection(true);
|
|
101
122
|
}
|
|
102
|
-
var sId = mParams.managedControlWrappers[0].getLocalId();
|
|
103
|
-
var oControl = oController.getView().byId(sId);
|
|
104
|
-
if (oControl && oControl.isA("sap.ui.comp.smarttable.SmartTable")) {
|
|
105
|
-
oControl.attachAfterVariantInitialise(function() {
|
|
106
|
-
//set currentVariantId only when sVariantId is not standard (as it might be overriding existing
|
|
107
|
-
//different currentVariantId) or smartTable's (oControl) currentVariantId is not equal to sVariantId.
|
|
108
|
-
if (sVariantId !== '*standard*' && sVariantId !== '') {
|
|
109
|
-
if (oControl.getCurrentVariantId && oControl.getCurrentVariantId() !== sVariantId) {
|
|
110
|
-
oControl.setCurrentVariantId(sVariantId);
|
|
111
|
-
}
|
|
112
|
-
oSmartVariantManagement.setModified(false);
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
}
|
|
116
123
|
oSmartVariantManagement.setCurrentVariantId(sVariantId);
|
|
117
124
|
if (oSmartFilterBarWrapper){
|
|
118
125
|
oSmartFilterBarWrapper.suppressSelection(false);
|
|
@@ -133,7 +140,11 @@ sap.ui.define([
|
|
|
133
140
|
}
|
|
134
141
|
|
|
135
142
|
function getState() {
|
|
136
|
-
if
|
|
143
|
+
// Return preliminary state if managed controls not fully initialized
|
|
144
|
+
// Note: If early getState() calls become an issue (controls not initialized yet), we could enhance this to:
|
|
145
|
+
// - Store only SVM-specific data (variantId, modified) in oPreliminaryState
|
|
146
|
+
// - Always query managed control wrappers directly (they handle their own preliminary state via PreliminaryWrapper)
|
|
147
|
+
if (!bAllControlsInitialized) {
|
|
137
148
|
return oPreliminaryState;
|
|
138
149
|
}
|
|
139
150
|
|
|
@@ -150,22 +161,23 @@ sap.ui.define([
|
|
|
150
161
|
|
|
151
162
|
function setState(oState) {
|
|
152
163
|
oPreliminaryState = oState;
|
|
153
|
-
|
|
164
|
+
|
|
165
|
+
// Wait for all managed controls to be initialized before applying state
|
|
166
|
+
oAllControlsInitializedPromise.then(function() {
|
|
167
|
+
bIsApplyingVariant = true;
|
|
154
168
|
if (!oPreliminaryState) {
|
|
155
169
|
// if no state is provided set default variant (not modified)
|
|
156
170
|
// use cases:
|
|
157
171
|
// - LR: if appStateKey in the URL that cannot be read
|
|
158
172
|
// - OP: if switching to different object instance (in discovery mode always, in persistency mode when page was not shown)
|
|
159
173
|
fnSetVariant(oSmartVariantManagement.getDefaultVariantId());
|
|
160
|
-
|
|
161
|
-
}
|
|
162
|
-
if (oPreliminaryState.modified) {
|
|
174
|
+
} else if (oPreliminaryState.modified) {
|
|
163
175
|
// Special logic according to UX: If variant was modified anyway, there's no benefit for the user to see the name (but it could be confusing), so standard variant (not default!) should be
|
|
164
176
|
// set (which is achieved by empty string)
|
|
165
177
|
fnSetVariant("");
|
|
178
|
+
oSmartVariantManagement.currentVariantSetModified(true);
|
|
166
179
|
// Usually restoring the state of any of the managed controls should mark the variant as dirty, but there might be edge cases (state from an old release not containing information for any
|
|
167
180
|
// managed control now relevant), so to be on the safe side, we set modified=true explicitly.
|
|
168
|
-
oSmartVariantManagement.currentVariantSetModified(true);
|
|
169
181
|
fnSetManagedControlStates(oPreliminaryState);
|
|
170
182
|
} else {
|
|
171
183
|
fnSetVariant(oPreliminaryState.variantId);
|
|
@@ -183,6 +195,7 @@ sap.ui.define([
|
|
|
183
195
|
}
|
|
184
196
|
}
|
|
185
197
|
}
|
|
198
|
+
bIsApplyingVariant = false;
|
|
186
199
|
});
|
|
187
200
|
}
|
|
188
201
|
|
|
@@ -190,26 +203,30 @@ sap.ui.define([
|
|
|
190
203
|
// state of variant management itself can be changed directly (user selects a different variant or stores current state as (new) variant), or indirectly (user changes some
|
|
191
204
|
// data of a control managed by VM, e.g. some filter values in SFB)
|
|
192
205
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
206
|
+
// Wrap the handler to suppress events when applying a variant
|
|
207
|
+
var fnSuppressibleHandler = function() {
|
|
208
|
+
if (!bIsApplyingVariant) {
|
|
209
|
+
fnHandler();
|
|
210
|
+
}
|
|
211
|
+
};
|
|
196
212
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
// This is one of the possible ways to get into a state with a clean variant with execute on select, but no data loaded - see also comment to identify SFB wrapper.
|
|
200
|
-
oSmartVariantManagement.attachAfterSave(fnHandler);
|
|
213
|
+
// state change when user selects a different variant
|
|
214
|
+
oSmartVariantManagement.attachSelect(fnSuppressibleHandler);
|
|
201
215
|
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
216
|
+
// when user saves current state as a new variant, this is also a state change (as the variant id is part of the state)
|
|
217
|
+
// note: Even if new (SFB) variant is marked as execute on select, and currently no data is selected, no need to select data here (and thus also not to collapse header).
|
|
218
|
+
// This is one of the possible ways to get into a state with a clean variant with execute on select, but no data loaded - see also comment to identify SFB wrapper.
|
|
219
|
+
oSmartVariantManagement.attachAfterSave(fnSuppressibleHandler);
|
|
220
|
+
|
|
221
|
+
// any change of a managed control is state change
|
|
222
|
+
mParams.managedControlWrappers.forEach(function(oWrapper){
|
|
223
|
+
oWrapper.attachStateChanged(fnSuppressibleHandler);
|
|
206
224
|
});
|
|
207
225
|
}
|
|
208
226
|
|
|
209
227
|
return {
|
|
210
228
|
getState : getState,
|
|
211
229
|
setState : setState,
|
|
212
|
-
setControl: fnSetControl,
|
|
213
230
|
attachStateChanged : attachStateChanged
|
|
214
231
|
};
|
|
215
232
|
}
|
|
@@ -126,17 +126,36 @@ sap.ui.define([
|
|
|
126
126
|
return sAcceptableMimeType.slice(0, -1);
|
|
127
127
|
},
|
|
128
128
|
|
|
129
|
-
|
|
129
|
+
// funtion return the controlling binding path form by annotation/metadata/fieldcontrol path
|
|
130
|
+
getControlPath: function(oEntitySet, oFieldControl) {
|
|
131
|
+
var sPath = "";
|
|
132
|
+
var sAnnotationUpdatablePath = oEntitySet && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"] && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"] && oEntitySet["Org.OData.Capabilities.V1.UpdateRestrictions"]["Updatable"].Path;
|
|
133
|
+
var sMetadataUpdatable = oEntitySet && (oEntitySet["sap:updatable"] || oEntitySet["sap:updatable-path"]);
|
|
134
|
+
if (sAnnotationUpdatablePath || sMetadataUpdatable) {
|
|
135
|
+
sPath = '${' + (sAnnotationUpdatablePath || sMetadataUpdatable) + '} !== false';
|
|
136
|
+
}
|
|
137
|
+
if (oFieldControl) {
|
|
138
|
+
var sFCPath = oFieldControl && oFieldControl.Path;
|
|
139
|
+
sPath += ' && ${' + sFCPath + '} > "1"';
|
|
140
|
+
}
|
|
141
|
+
return sPath;
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
getDeleteStreamVisibility: function (oInterface, oMediaType, bIsDraftEnabled, oEntitySet) {
|
|
130
145
|
var oEntityType = oEntitySet && oInterface.getModel(0).getODataEntityType(oEntitySet.entityType);
|
|
131
|
-
var
|
|
146
|
+
var oFieldControl = oEntityType && oEntityType["com.sap.vocabularies.Common.v1.FieldControl"];
|
|
147
|
+
if (oFieldControl && oFieldControl.EnumMember === "com.sap.vocabularies.Common.v1.FieldControlType/ReadOnly") {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
var sPath = oAnnotationHelperStreamSupport.getControlPath(oEntitySet, oFieldControl);
|
|
132
151
|
if (bIsDraftEnabled) {
|
|
133
|
-
return
|
|
152
|
+
return sPath ? '{= ${' + oMediaType + '} !== "" && ${ui>/editable} && ' + sPath + '}' : '{= ${' + oMediaType + '} !== "" && ${ui>/editable}}';
|
|
134
153
|
} else {
|
|
135
|
-
return
|
|
154
|
+
return sPath ? '{= ${' + oMediaType + '} !== "" && !${ui>/editable} && ' + sPath + '}' : '{= ${' + oMediaType + '} !== "" && !${ui>/editable}}';
|
|
136
155
|
}
|
|
137
156
|
},
|
|
138
157
|
|
|
139
|
-
getFileUploaderVisibility: function(oInterface, bIsDraftEnabled, oEntitySet){
|
|
158
|
+
getFileUploaderVisibility: function (oInterface, bIsDraftEnabled, oEntitySet) {
|
|
140
159
|
var oEntityType = oEntitySet && oInterface.getModel(1).getODataEntityType(oEntitySet.entityType);
|
|
141
160
|
var sFCPath = oEntityType && oEntityType["com.sap.vocabularies.Common.v1.FieldControl"] && oEntityType["com.sap.vocabularies.Common.v1.FieldControl"].Path;
|
|
142
161
|
var bRestrictions = AnnotationHelper.getUpdateRestrictions(oEntitySet);
|
|
@@ -157,7 +176,7 @@ sap.ui.define([
|
|
|
157
176
|
}
|
|
158
177
|
}
|
|
159
178
|
}
|
|
160
|
-
|
|
179
|
+
};
|
|
161
180
|
|
|
162
181
|
oAnnotationHelperStreamSupport.checkIfEntityOrAssociationHasStreamEnabled.requiresIContext = true;
|
|
163
182
|
oAnnotationHelperStreamSupport.getFileName.requiresIContext = true;
|
|
@@ -856,7 +856,7 @@ sap.ui.define([
|
|
|
856
856
|
* @extends sap.ui.core.UIComponent
|
|
857
857
|
* @abstract
|
|
858
858
|
* @author SAP SE
|
|
859
|
-
* @version 1.108.
|
|
859
|
+
* @version 1.108.50
|
|
860
860
|
* @name sap.suite.ui.generic.template.lib.AppComponent
|
|
861
861
|
*/
|
|
862
862
|
return UIComponent.extend("sap.suite.ui.generic.template.lib.AppComponent", {
|
|
@@ -1336,16 +1336,16 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
1336
1336
|
|
|
1337
1337
|
function setStreamData(oStreamData, sNavigationProperty){
|
|
1338
1338
|
if (oStreamData && oStreamData.__metadata){
|
|
1339
|
-
var
|
|
1339
|
+
var media_url = oStreamData.__metadata.edit_media || oStreamData.__metadata.media_src;
|
|
1340
1340
|
var content_type = oStreamData.__metadata.content_type;
|
|
1341
1341
|
var urlPath = "";
|
|
1342
|
-
if (
|
|
1343
|
-
if (
|
|
1342
|
+
if (media_url) {
|
|
1343
|
+
if (media_url.startsWith("http:") || media_url.startsWith("https:")) {
|
|
1344
1344
|
//To ensure code is backward compatible with older versions of SAP Gateway
|
|
1345
|
-
var url =
|
|
1345
|
+
var url = media_url && new URL(media_url);
|
|
1346
1346
|
urlPath = url && url.pathname;
|
|
1347
1347
|
} else {
|
|
1348
|
-
urlPath =
|
|
1348
|
+
urlPath = media_url;
|
|
1349
1349
|
}
|
|
1350
1350
|
}
|
|
1351
1351
|
var bIcon = IconPool.getIconForMimeType(content_type);
|
|
@@ -283,9 +283,9 @@ NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=EiRivej\u00E4ValSuodPerJaTaul
|
|
|
283
283
|
|
|
284
284
|
NOITEMS_SMARTCHART=Tietoja ei l\u00F6ytynyt.
|
|
285
285
|
|
|
286
|
-
NOITEMS_LR_SMARTCHART=
|
|
286
|
+
NOITEMS_LR_SMARTCHART=Ei tietoja valitulla suodatinperusteella ja kaavion\u00E4kym\u00E4ll\u00E4.
|
|
287
287
|
|
|
288
|
-
NOITEMS_SMARTCHART_WITH_FILTER=
|
|
288
|
+
NOITEMS_SMARTCHART_WITH_FILTER=Tietoja ei l\u00F6ytynyt. Yrit\u00E4 s\u00E4\u00E4t\u00E4\u00E4 suodatusperusteita.
|
|
289
289
|
|
|
290
290
|
SMARTCHART_INITIAL_NODATA=Aseta suodattimet ja aloita.
|
|
291
291
|
|
|
@@ -47,13 +47,13 @@ ST_STREAM_OPEN_FILE=Ouvrir fichier
|
|
|
47
47
|
|
|
48
48
|
ST_DRAFT_OWNER=par {0}
|
|
49
49
|
|
|
50
|
-
ST_DRAFT_ANOTHER_USER=
|
|
50
|
+
ST_DRAFT_ANOTHER_USER=par un autre utilisateur
|
|
51
51
|
|
|
52
52
|
DATA_PASTE_ERROR_MESSAGE=Impossible de coller. {0} \u00E9l\u00E9ments contiennent des donn\u00E9es non valides.
|
|
53
53
|
|
|
54
54
|
DATA_PASTE_ERROR_CORRECTION_MESSAGE=Corrigez les valeurs indiqu\u00E9es ci-dessous dans votre fichier source.
|
|
55
55
|
|
|
56
|
-
DATA_PASTE_ERROR_CORRECTION_NOTE=(Note \: ligne/colonne indique la position dans l'ensemble des donn\u00E9es
|
|
56
|
+
DATA_PASTE_ERROR_CORRECTION_NOTE=(Note \: La ligne/colonne indique la position dans l'ensemble des donn\u00E9es que vous avez copi\u00E9.)
|
|
57
57
|
|
|
58
58
|
DATA_PASTE_UNSUPPORTED_FORMAT_MESSAGE=Coller indisponible pour cette table.
|
|
59
59
|
|
|
@@ -11,7 +11,7 @@ ST_GENERIC_ERROR_LOAD_DATA_TEXT=\u0417\u0430\u043F\u0440\u043E\u0448\u0435\u043D
|
|
|
11
11
|
|
|
12
12
|
ST_GENERIC_NO_ITEM_SELECTED=\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442.
|
|
13
13
|
|
|
14
|
-
ST_GENERIC_MULTIPLE_ITEMS_SELECTED=\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\
|
|
14
|
+
ST_GENERIC_MULTIPLE_ITEMS_SELECTED=\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0434\u043D\u0443 \u043F\u043E\u0437\u0438\u0446\u0438\u044E.
|
|
15
15
|
|
|
16
16
|
ST_DATA_LOSS_TECHNICAL_ERROR_DISCARD=\u0418\u0437-\u0437\u0430 \u0442\u0435\u0445\u043D\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u043E\u0448\u0438\u0431\u043A\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u043D\u0435 \u0431\u044B\u043B\u0438 \u043F\u0440\u0438\u043C\u0435\u043D\u0435\u043D\u044B. \u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0438 \u0432\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430 \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443?
|
|
17
17
|
|
|
@@ -275,11 +275,11 @@ ST_NAV_ERROR_MODEL_READ_FAILED=\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441
|
|
|
275
275
|
|
|
276
276
|
NEW_OBJECT=\u041E\u0431\u044A\u0435\u043A\u0442 \u0431\u0435\u0437 \u0438\u043C\u0435\u043D\u0438
|
|
277
277
|
|
|
278
|
-
NOITEMS_SMARTTABLE=\
|
|
278
|
+
NOITEMS_SMARTTABLE=\u041F\u043E\u0437\u0438\u0446\u0438\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B.
|
|
279
279
|
|
|
280
|
-
NOITEMS_SMARTTABLE_WITH_FILTER=\
|
|
280
|
+
NOITEMS_SMARTTABLE_WITH_FILTER=\u041F\u043E\u0437\u0438\u0446\u0438\u0438 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u044B \u043F\u043E\u0438\u0441\u043A\u0430 \u0438\u043B\u0438 \u0444\u0438\u043B\u044C\u0442\u0440\u0430.
|
|
281
281
|
|
|
282
|
-
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=\u041D\u0435\u0442 \
|
|
282
|
+
NOITEMS_SMARTTABLE_WITH_FILTER_FOR_SEGMENTEDBUTTON=\u041D\u0435\u0442 \u043F\u043E\u0437\u0438\u0446\u0438\u0439 \u0434\u043B\u044F \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0445 \u043A\u0440\u0438\u0442\u0435\u0440\u0438\u0435\u0432 \u0444\u0438\u043B\u044C\u0442\u0440\u0430 \u0438 \u0440\u0430\u043A\u0443\u0440\u0441\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u044B.
|
|
283
283
|
|
|
284
284
|
NOITEMS_SMARTCHART=\u0414\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B.
|
|
285
285
|
|
|
@@ -307,7 +307,7 @@ ST_GENERIC_DELETE_WITH_WARNING_SUGGESTION_PLURAL=\u041F\u043E\u0434\u0441\u043A\
|
|
|
307
307
|
|
|
308
308
|
ST_GENERIC_NOT_DELETED_RECORDS=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0443\u0434\u0430\u043B\u0438\u0442\u044C {0} \u0438\u0437 {1} \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432.
|
|
309
309
|
|
|
310
|
-
ST_GENERIC_DELETE_ERROR_PLURAL=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \
|
|
310
|
+
ST_GENERIC_DELETE_ERROR_PLURAL=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0435 \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u043F\u043E\u0437\u0438\u0446\u0438\u0438. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0438\u0445 \u043F\u043E \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E\u0441\u0442\u0438.
|
|
311
311
|
|
|
312
312
|
ST_GENERIC_NOT_PROCESSED_RECORDS=\u041D\u0435\u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u0442\u044C {0} \u0438\u0437 {1} \u043E\u0431\u044A\u0435\u043A\u0442\u043E\u0432.
|
|
313
313
|
|
|
@@ -97,7 +97,7 @@ ST_GENERIC_DELETE_SUCCESS=\u6240\u9009\u5BF9\u8C61\u5DF2\u5220\u9664\u3002
|
|
|
97
97
|
|
|
98
98
|
ST_GENERIC_LIST_TITLE=\u9879\u76EE
|
|
99
99
|
|
|
100
|
-
ST_GENERIC_WARNING_TEXT=\
|
|
100
|
+
ST_GENERIC_WARNING_TEXT=\u6240\u9009\u9879\u76EE\u4E2D\u7684 {0} \u4E2A\u9879\u76EE\u5C06\u4E0D\u4F1A\u5904\u7406\u3002
|
|
101
101
|
|
|
102
102
|
ST_GENERIC_DIALOG_CONTINUE_BUT=\u4ECD\u7136\u7EE7\u7EED
|
|
103
103
|
|
|
@@ -387,7 +387,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
387
387
|
}
|
|
388
388
|
|
|
389
389
|
function fnStoreFocusAndGetHistoryObject(sControlId){
|
|
390
|
-
var oHistoryObject = oHistoryState.getData();
|
|
390
|
+
var oHistoryObject = oHistoryState.getData() || {};
|
|
391
391
|
if (oHistoryObject.focus){ // focus already set
|
|
392
392
|
return oHistoryObject;
|
|
393
393
|
}
|
|
@@ -398,18 +398,18 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
398
398
|
if (sControlId){
|
|
399
399
|
oHistoryObject.focus = sControlId;
|
|
400
400
|
oHistoryState.setData(oHistoryObject);
|
|
401
|
-
oHistoryState.save();
|
|
402
|
-
}
|
|
401
|
+
oHistoryState.save();
|
|
402
|
+
}
|
|
403
403
|
return oHistoryObject;
|
|
404
404
|
}
|
|
405
405
|
|
|
406
|
-
function fnInitializeHistory(){
|
|
406
|
+
function fnInitializeHistory(bKeepCurrentIdentity){
|
|
407
407
|
oCurrentHash = { // The initial instance represents the time before the app was started.
|
|
408
408
|
iHashChangeCount: 0,
|
|
409
409
|
backTarget: 0,
|
|
410
410
|
componentsDisplayed: Object.create(null)
|
|
411
411
|
};
|
|
412
|
-
oCurrentIdentity = null;
|
|
412
|
+
oCurrentIdentity = bKeepCurrentIdentity ? oCurrentIdentity : null;
|
|
413
413
|
aPreviousHashes = [];
|
|
414
414
|
if (!bIsRestoring){
|
|
415
415
|
oRoutingOptions = null;
|
|
@@ -2873,7 +2873,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
2873
2873
|
fnMakeNavigationFunction("navigationContextNotFound", fnNavigationContextNotFound);
|
|
2874
2874
|
fnMakeNavigationFunction("navigateToMessageTarget", fnNavigateToMessageTarget);
|
|
2875
2875
|
|
|
2876
|
-
oNavigationControllerProxy.clearHistory = oNavigationQueue.makeQueuable(fnInitializeHistory);
|
|
2876
|
+
oNavigationControllerProxy.clearHistory = oNavigationQueue.makeQueuable(fnInitializeHistory.bind(null, true));
|
|
2877
2877
|
oNavigationControllerProxy.suspend = fnSuspend;
|
|
2878
2878
|
oNavigationControllerProxy.restore = fnInitSession.bind(null, false);
|
|
2879
2879
|
oNavigationControllerProxy.leave = fnStoreFocusAndGetHistoryObject;
|
|
@@ -2981,7 +2981,7 @@ sap.ui.define(["sap/ui/base/Object",
|
|
|
2981
2981
|
* @param {sap.suite.ui.generic.template.lib.AppComponent} oAppComponent The AppComponent instance
|
|
2982
2982
|
* @public
|
|
2983
2983
|
* @extends sap.ui.base.Object
|
|
2984
|
-
* @version 1.108.
|
|
2984
|
+
* @version 1.108.50
|
|
2985
2985
|
* @since 1.30.0
|
|
2986
2986
|
* @alias sap.suite.ui.generic.template.lib.NavigationController
|
|
2987
2987
|
*/
|
|
@@ -38,7 +38,7 @@ sap.ui.define(['sap/ui/core/Core', 'sap/ui/core/library','sap/fe/placeholder/lib
|
|
|
38
38
|
interfaces: [],
|
|
39
39
|
controls: [],
|
|
40
40
|
elements: [],
|
|
41
|
-
version: "1.108.
|
|
41
|
+
version: "1.108.50",
|
|
42
42
|
extensions: {
|
|
43
43
|
//Configuration used for rule loading of Support Assistant
|
|
44
44
|
"sap.ui.support": {
|