@openui5/sap.ui.core 1.108.1 → 1.108.2
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/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -1
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/ManagedObjectObserver.js +33 -11
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +1 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +4 -2
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +1 -1
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_hr.properties +2 -2
- package/src/sap/ui/core/messagebundle_nl.properties +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/theming/ThemeManager.js +3 -1
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +1 -1
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +2 -4
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +51 -35
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +16 -9
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/performance/trace/Interaction.js +23 -9
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -92,10 +92,10 @@ sap.ui.define([
|
|
|
92
92
|
* Whether the paths in $expand and $select shall be sorted in the cache's query string;
|
|
93
93
|
* note that this flag can safely be ignored for all "new" features (after 1.47) which
|
|
94
94
|
* should just sort always
|
|
95
|
-
* @param {function} [
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* is used instead
|
|
95
|
+
* @param {string|function} [vOriginalResourcePath]
|
|
96
|
+
* The cache's original resource path to be used to build the target path for bound messages,
|
|
97
|
+
* or a function returning it; if it is not given or the function returns nothing,
|
|
98
|
+
* <code>sResourcePath</code> is used instead
|
|
99
99
|
* @param {boolean} [bSharedRequest]
|
|
100
100
|
* If this parameter is set, the cache is read-only and modifying calls lead to an error.
|
|
101
101
|
*
|
|
@@ -104,13 +104,13 @@ sap.ui.define([
|
|
|
104
104
|
* @private
|
|
105
105
|
*/
|
|
106
106
|
function _Cache(oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
107
|
-
|
|
107
|
+
vOriginalResourcePath, bSharedRequest) {
|
|
108
108
|
// the number of active usages of this cache (initially 1 because the first usage that
|
|
109
109
|
// creates the cache does not call #setActive)
|
|
110
110
|
this.iActiveUsages = 1;
|
|
111
111
|
this.mChangeListeners = {}; // map from path to an array of change listeners
|
|
112
112
|
this.mChangeRequests = {}; // map from path to an array of DELETE or PATCH promises
|
|
113
|
-
this.
|
|
113
|
+
this.vOriginalResourcePath = vOriginalResourcePath;
|
|
114
114
|
// the point in time when the cache became inactive; active caches have Infinity so that
|
|
115
115
|
// they are always "newer"
|
|
116
116
|
this.iInactiveSince = Infinity;
|
|
@@ -211,7 +211,7 @@ sap.ui.define([
|
|
|
211
211
|
oRequestPromise = oGroupLock
|
|
212
212
|
? that.oRequestor.request("DELETE", sEditUrl, oGroupLock, mHeaders, undefined,
|
|
213
213
|
undefined, /*onCancel*/function () {}, undefined,
|
|
214
|
-
_Helper.buildPath(that.getOriginalResourcePath(
|
|
214
|
+
_Helper.buildPath(that.getOriginalResourcePath(), sEntityPath))
|
|
215
215
|
: SyncPromise.resolve();
|
|
216
216
|
_Helper.addByPath(that.mChangeRequests, sEntityPath, oRequestPromise);
|
|
217
217
|
return oRequestPromise.catch(function (oError) {
|
|
@@ -1158,16 +1158,14 @@ sap.ui.define([
|
|
|
1158
1158
|
* Gets the cache's original resource path to be used to build the target path for bound
|
|
1159
1159
|
* messages.
|
|
1160
1160
|
*
|
|
1161
|
-
* @param {object} oEntity
|
|
1162
|
-
* The entity to compute the original resource path for
|
|
1163
1161
|
* @returns {string}
|
|
1164
1162
|
* The original resource path
|
|
1165
1163
|
*
|
|
1166
1164
|
* @private
|
|
1167
1165
|
*/
|
|
1168
|
-
_Cache.prototype.getOriginalResourcePath = function (
|
|
1169
|
-
|
|
1170
|
-
|
|
1166
|
+
_Cache.prototype.getOriginalResourcePath = function () {
|
|
1167
|
+
// If vOriginalResourcePath was a function, it has already been replaced by its result
|
|
1168
|
+
return this.vOriginalResourcePath || this.sResourcePath;
|
|
1171
1169
|
};
|
|
1172
1170
|
|
|
1173
1171
|
/**
|
|
@@ -1972,7 +1970,7 @@ sap.ui.define([
|
|
|
1972
1970
|
}
|
|
1973
1971
|
oPatchPromise = that.oRequestor.request("PATCH", sEditUrl, oPatchGroupLock,
|
|
1974
1972
|
mHeaders, oUpdateData, onSubmit, onCancel, /*sMetaPath*/ undefined,
|
|
1975
|
-
_Helper.buildPath(that.getOriginalResourcePath(
|
|
1973
|
+
_Helper.buildPath(that.getOriginalResourcePath(), sEntityPath),
|
|
1976
1974
|
bAtFront, /*mQueryOptions*/ undefined, /*vOwner*/ undefined,
|
|
1977
1975
|
mergePatchRequests);
|
|
1978
1976
|
oPatchPromise.$isKeepAlive = fnIsKeepAlive;
|
|
@@ -2303,7 +2301,7 @@ sap.ui.define([
|
|
|
2303
2301
|
visitInstance(oRoot, sRootMetaPath || this.sMetaPath, sRootPath || "", sRequestUrl);
|
|
2304
2302
|
}
|
|
2305
2303
|
if (bHasMessages && !this.bSharedRequest) {
|
|
2306
|
-
this.sReportedMessagesPath = this.getOriginalResourcePath(
|
|
2304
|
+
this.sReportedMessagesPath = this.getOriginalResourcePath();
|
|
2307
2305
|
this.oRequestor.getModelInterface().reportStateMessages(this.sReportedMessagesPath,
|
|
2308
2306
|
mPathToODataMessages, aCachePaths);
|
|
2309
2307
|
}
|
|
@@ -2335,9 +2333,8 @@ sap.ui.define([
|
|
|
2335
2333
|
*/
|
|
2336
2334
|
function _CollectionCache(oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
2337
2335
|
sDeepResourcePath, bSharedRequest) {
|
|
2338
|
-
_Cache.call(this, oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
2339
|
-
|
|
2340
|
-
}, bSharedRequest);
|
|
2336
|
+
_Cache.call(this, oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
2337
|
+
sDeepResourcePath, bSharedRequest);
|
|
2341
2338
|
|
|
2342
2339
|
this.iActiveElements = 0; // number of active (client-side) created elements
|
|
2343
2340
|
this.oBackup = null; // see #reset
|
|
@@ -2385,7 +2382,7 @@ sap.ui.define([
|
|
|
2385
2382
|
* @param {number} iStart
|
|
2386
2383
|
* The start index
|
|
2387
2384
|
* @param {number} iEnd
|
|
2388
|
-
* The end index (will not be
|
|
2385
|
+
* The end index (will not be checked)
|
|
2389
2386
|
* @throws {Error}
|
|
2390
2387
|
* If there is an index no longer containing the promise
|
|
2391
2388
|
*
|
|
@@ -2394,7 +2391,7 @@ sap.ui.define([
|
|
|
2394
2391
|
_CollectionCache.prototype.checkRange = function (oPromise, iStart, iEnd) {
|
|
2395
2392
|
var i;
|
|
2396
2393
|
|
|
2397
|
-
// if the request used $tail, not all indexes got the promise, so we cannot check
|
|
2394
|
+
// if the request used $tail, not all indexes got the promise, so we cannot easily check
|
|
2398
2395
|
if (oPromise !== this.aElements.$tail) {
|
|
2399
2396
|
iEnd = Math.min(iEnd, this.aElements.length);
|
|
2400
2397
|
for (i = iStart; i < iEnd; i += 1) {
|
|
@@ -2526,10 +2523,9 @@ sap.ui.define([
|
|
|
2526
2523
|
* @private
|
|
2527
2524
|
*/
|
|
2528
2525
|
_CollectionCache.prototype.fill = function (oPromise, iStart, iEnd) {
|
|
2529
|
-
var i
|
|
2530
|
-
n = Math.max(this.aElements.length, 1024);
|
|
2526
|
+
var i;
|
|
2531
2527
|
|
|
2532
|
-
if (iEnd >
|
|
2528
|
+
if (iEnd > this.aElements.length && iEnd - iStart > 1024) {
|
|
2533
2529
|
if (this.aElements.$tail && oPromise) {
|
|
2534
2530
|
throw new Error("Cannot fill from " + iStart + " to " + iEnd
|
|
2535
2531
|
+ ", $tail already in use, # of elements is " + this.aElements.length);
|
|
@@ -3479,10 +3475,10 @@ sap.ui.define([
|
|
|
3479
3475
|
* Whether the paths in $expand and $select shall be sorted in the cache's query string
|
|
3480
3476
|
* @param {boolean} [bSharedRequest]
|
|
3481
3477
|
* If this parameter is set, the cache is read-only and modifying calls lead to an error.
|
|
3482
|
-
* @param {function} [
|
|
3483
|
-
*
|
|
3484
|
-
*
|
|
3485
|
-
* is used instead
|
|
3478
|
+
* @param {string|function} [vOriginalResourcePath]
|
|
3479
|
+
* The cache's original resource path to be used to build the target path for bound messages,
|
|
3480
|
+
* or a function returning it; if it is not given or the function returns nothing,
|
|
3481
|
+
* <code>sResourcePath</code> is used instead
|
|
3486
3482
|
* @param {boolean} [bPost]
|
|
3487
3483
|
* Whether the cache uses POST requests. If <code>true</code>, the initial request must be
|
|
3488
3484
|
* done via {@link #post}. {@link #fetchValue} expects to have cache data, but may trigger
|
|
@@ -3497,9 +3493,9 @@ sap.ui.define([
|
|
|
3497
3493
|
* @private
|
|
3498
3494
|
*/
|
|
3499
3495
|
function _SingleCache(oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
3500
|
-
bSharedRequest,
|
|
3496
|
+
bSharedRequest, vOriginalResourcePath, bPost, sMetaPath, bEmpty) {
|
|
3501
3497
|
_Cache.call(this, oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
3502
|
-
|
|
3498
|
+
vOriginalResourcePath, bSharedRequest);
|
|
3503
3499
|
|
|
3504
3500
|
this.sMetaPath = sMetaPath || this.sMetaPath; // overrides Cache c'tor
|
|
3505
3501
|
this.bPost = bPost;
|
|
@@ -3515,6 +3511,24 @@ sap.ui.define([
|
|
|
3515
3511
|
// make SingleCache a Cache
|
|
3516
3512
|
_SingleCache.prototype = Object.create(_Cache.prototype);
|
|
3517
3513
|
|
|
3514
|
+
/**
|
|
3515
|
+
* Builds the cache's original resource path to be used to build the target path for bound
|
|
3516
|
+
* messages.
|
|
3517
|
+
*
|
|
3518
|
+
* @param {object} oRootEntity
|
|
3519
|
+
* The root entity
|
|
3520
|
+
* @param {object} mTypeForMetaPath
|
|
3521
|
+
* A map from absolute meta path to entity type (as delivered by {@link #fetchTypes})
|
|
3522
|
+
*
|
|
3523
|
+
* @private
|
|
3524
|
+
*/
|
|
3525
|
+
_Cache.prototype.buildOriginalResourcePath = function (oRootEntity, mTypeForMetaPath) {
|
|
3526
|
+
if (typeof this.vOriginalResourcePath === "function") {
|
|
3527
|
+
this.calculateKeyPredicate(oRootEntity, mTypeForMetaPath, this.sMetaPath);
|
|
3528
|
+
this.vOriginalResourcePath = this.vOriginalResourcePath(oRootEntity);
|
|
3529
|
+
}
|
|
3530
|
+
};
|
|
3531
|
+
|
|
3518
3532
|
/**
|
|
3519
3533
|
* Returns a promise to be resolved with an OData object for the requested data. Calculates
|
|
3520
3534
|
* the key predicates for all entities in the result before the promise is resolved.
|
|
@@ -3559,6 +3573,7 @@ sap.ui.define([
|
|
|
3559
3573
|
fnDataRequested, undefined, this.sMetaPath),
|
|
3560
3574
|
this.fetchTypes()
|
|
3561
3575
|
]).then(function (aResult) {
|
|
3576
|
+
that.buildOriginalResourcePath(aResult[0], aResult[1]);
|
|
3562
3577
|
that.visitResponse(aResult[0], aResult[1]);
|
|
3563
3578
|
return aResult[0];
|
|
3564
3579
|
});
|
|
@@ -3637,6 +3652,7 @@ sap.ui.define([
|
|
|
3637
3652
|
that.sResourcePath + that.sQueryString, oGroupLock0, mHeaders, oData),
|
|
3638
3653
|
that.fetchTypes()
|
|
3639
3654
|
]).then(function (aResult) {
|
|
3655
|
+
that.buildOriginalResourcePath(aResult[0], aResult[1]);
|
|
3640
3656
|
that.visitResponse(aResult[0], aResult[1]);
|
|
3641
3657
|
that.bPosting = false;
|
|
3642
3658
|
|
|
@@ -3845,7 +3861,7 @@ sap.ui.define([
|
|
|
3845
3861
|
this.oSingleton = mSingletonCacheByPath[sSingletonKey]
|
|
3846
3862
|
= new _SingleCache(oRequestor, sSingleton, mQueryOptions,
|
|
3847
3863
|
/*bSortExpandSelect*/ undefined, /*bSharedRequest*/ undefined,
|
|
3848
|
-
/*
|
|
3864
|
+
/*vOriginalResourcePath*/ undefined, /*bPost*/ undefined,
|
|
3849
3865
|
/*sMetaPath*/ undefined, /*bEmpty*/ true);
|
|
3850
3866
|
}
|
|
3851
3867
|
this.sRelativePath = sResourcePath.split(sSingleton + "/")[1];
|
|
@@ -4036,10 +4052,10 @@ sap.ui.define([
|
|
|
4036
4052
|
* If this parameter is set, multiple requests for a cache using the same resource path might
|
|
4037
4053
|
* always return the same, shared cache. This cache is read-only, modifying calls lead to an
|
|
4038
4054
|
* error.
|
|
4039
|
-
* @param {function} [
|
|
4040
|
-
*
|
|
4041
|
-
*
|
|
4042
|
-
* is used instead
|
|
4055
|
+
* @param {string|function} [vOriginalResourcePath]
|
|
4056
|
+
* The cache's original resource path to be used to build the target path for bound messages,
|
|
4057
|
+
* or a function returning it; if it is not given or the function returns nothing,
|
|
4058
|
+
* <code>sResourcePath</code> is used instead
|
|
4043
4059
|
* @param {boolean} [bPost]
|
|
4044
4060
|
* Whether the cache uses POST requests. If <code>true</code>, only {@link #post} may
|
|
4045
4061
|
* lead to a request, {@link #read} may only read from the cache; otherwise {@link #post}
|
|
@@ -4052,9 +4068,9 @@ sap.ui.define([
|
|
|
4052
4068
|
* @public
|
|
4053
4069
|
*/
|
|
4054
4070
|
_Cache.createSingle = function (oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
4055
|
-
bSharedRequest,
|
|
4071
|
+
bSharedRequest, vOriginalResourcePath, bPost, sMetaPath) {
|
|
4056
4072
|
return new _SingleCache(oRequestor, sResourcePath, mQueryOptions, bSortExpandSelect,
|
|
4057
|
-
bSharedRequest,
|
|
4073
|
+
bSharedRequest, vOriginalResourcePath, bPost, sMetaPath);
|
|
4058
4074
|
};
|
|
4059
4075
|
|
|
4060
4076
|
/**
|
|
@@ -347,13 +347,18 @@ sap.ui.define([
|
|
|
347
347
|
* @param {any} vValue - Any value, including <code>undefined</code>
|
|
348
348
|
* @param {function} [fnReplacer] - The replacer function to transform the result, see
|
|
349
349
|
* <code>JSON.stringify</code>
|
|
350
|
-
* @
|
|
350
|
+
* @param {boolean} [bAsString] - Whether to return the result of JSON.stringify
|
|
351
|
+
* @returns {any} A clone or its string representation
|
|
351
352
|
*/
|
|
352
|
-
clone : function clone(vValue, fnReplacer) {
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
353
|
+
clone : function clone(vValue, fnReplacer, bAsString) {
|
|
354
|
+
var sStringified;
|
|
355
|
+
|
|
356
|
+
if (vValue === undefined || vValue === Infinity || vValue === -Infinity
|
|
357
|
+
|| Number.isNaN(vValue)) {
|
|
358
|
+
return vValue;
|
|
359
|
+
}
|
|
360
|
+
sStringified = JSON.stringify(vValue, fnReplacer);
|
|
361
|
+
return bAsString ? sStringified : JSON.parse(sStringified);
|
|
357
362
|
},
|
|
358
363
|
|
|
359
364
|
/**
|
|
@@ -1871,18 +1876,20 @@ sap.ui.define([
|
|
|
1871
1876
|
* Any value, including <code>undefined</code>
|
|
1872
1877
|
* @param {boolean} [bRemoveClientAnnotations]
|
|
1873
1878
|
* Whether to remove all client-side annotations, not just private ones
|
|
1879
|
+
* @param {boolean} [bAsString]
|
|
1880
|
+
* Whether to return the result of JSON.stringify
|
|
1874
1881
|
* @returns {any}
|
|
1875
|
-
* A public clone
|
|
1882
|
+
* A public clone or its string representation
|
|
1876
1883
|
*
|
|
1877
1884
|
* @see sap.ui.model.odata.v4.lib._Helper.clone
|
|
1878
1885
|
*/
|
|
1879
|
-
publicClone : function (vValue, bRemoveClientAnnotations) {
|
|
1886
|
+
publicClone : function (vValue, bRemoveClientAnnotations, bAsString) {
|
|
1880
1887
|
return _Helper.clone(vValue, function (sKey, vValue) {
|
|
1881
1888
|
if (bRemoveClientAnnotations ? !sKey.startsWith("@$ui5.") : sKey !== "@$ui5._") {
|
|
1882
1889
|
return vValue;
|
|
1883
1890
|
}
|
|
1884
1891
|
// return undefined;
|
|
1885
|
-
});
|
|
1892
|
+
}, bAsString);
|
|
1886
1893
|
},
|
|
1887
1894
|
|
|
1888
1895
|
/**
|
|
@@ -229,7 +229,7 @@ sap.ui.define([
|
|
|
229
229
|
*
|
|
230
230
|
* @extends sap.ui.model.Model
|
|
231
231
|
* @public
|
|
232
|
-
* @version 1.108.
|
|
232
|
+
* @version 1.108.2
|
|
233
233
|
*/
|
|
234
234
|
var ResourceModel = Model.extend("sap.ui.model.resource.ResourceModel", /** @lends sap.ui.model.resource.ResourceModel.prototype */ {
|
|
235
235
|
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.108.
|
|
29
|
+
* @version 1.108.2
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -33,7 +33,7 @@ sap.ui.define([
|
|
|
33
33
|
* @extends sap.ui.model.CompositeType
|
|
34
34
|
*
|
|
35
35
|
* @author SAP SE
|
|
36
|
-
* @version 1.108.
|
|
36
|
+
* @version 1.108.2
|
|
37
37
|
*
|
|
38
38
|
* @public
|
|
39
39
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.2
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.2
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @extends sap.ui.model.SimpleType
|
|
25
25
|
*
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.108.
|
|
27
|
+
* @version 1.108.2
|
|
28
28
|
*
|
|
29
29
|
* @public
|
|
30
30
|
* @param {object} [oFormatOptions] formatting options. Supports the same options as {@link sap.ui.core.format.FileSizeFormat.getInstance FileSizeFormat.getInstance}
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.108.
|
|
29
|
+
* @version 1.108.2
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.108.
|
|
29
|
+
* @version 1.108.2
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.2
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.108.
|
|
22
|
+
* @version 1.108.2
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|
|
@@ -195,6 +195,7 @@ sap.ui.define([
|
|
|
195
195
|
oCurrentBrowserEvent = null;
|
|
196
196
|
isNavigation = false;
|
|
197
197
|
bMatched = false;
|
|
198
|
+
bPerfectMatch = false;
|
|
198
199
|
}
|
|
199
200
|
}
|
|
200
201
|
|
|
@@ -229,6 +230,7 @@ sap.ui.define([
|
|
|
229
230
|
oCurrentBrowserEvent,
|
|
230
231
|
oBrowserElement,
|
|
231
232
|
bMatched = false,
|
|
233
|
+
bPerfectMatch = false,
|
|
232
234
|
iInteractionStepTimer,
|
|
233
235
|
bIdle = false,
|
|
234
236
|
bSuspended = false,
|
|
@@ -600,8 +602,11 @@ sap.ui.define([
|
|
|
600
602
|
*/
|
|
601
603
|
notifyStepStart : function(sEventId, oElement, bForce) {
|
|
602
604
|
if (bInteractionActive) {
|
|
605
|
+
var sType,
|
|
606
|
+
elem,
|
|
607
|
+
sClosestSemanticStepName;
|
|
608
|
+
|
|
603
609
|
if ((!oPendingInteraction && oCurrentBrowserEvent && !bInteractionProcessed) || bForce) {
|
|
604
|
-
var sType;
|
|
605
610
|
if (bForce) {
|
|
606
611
|
sType = "startup";
|
|
607
612
|
} else {
|
|
@@ -621,10 +626,15 @@ sap.ui.define([
|
|
|
621
626
|
oBrowserElement = oCurrentBrowserEvent.srcControl;
|
|
622
627
|
}
|
|
623
628
|
// if browser event matches the first control event we take it for trigger/event determination (step name)
|
|
629
|
+
sClosestSemanticStepName = FESRHelper.getSemanticStepname(oBrowserElement, sEventId);
|
|
624
630
|
if (oElement && oElement.getId && oBrowserElement && oElement.getId() === oBrowserElement.getId()) {
|
|
625
|
-
|
|
631
|
+
bPerfectMatch = true;
|
|
632
|
+
} else if (sClosestSemanticStepName) {
|
|
633
|
+
oPendingInteraction.trigger = oBrowserElement.getId();
|
|
634
|
+
oPendingInteraction.semanticStepName = sClosestSemanticStepName;
|
|
635
|
+
bPerfectMatch = true;
|
|
626
636
|
} else {
|
|
627
|
-
|
|
637
|
+
elem = oBrowserElement;
|
|
628
638
|
while (elem && elem.getParent()) {
|
|
629
639
|
elem = elem.getParent();
|
|
630
640
|
if (oElement.getId() === elem.getId()) {
|
|
@@ -653,15 +663,20 @@ sap.ui.define([
|
|
|
653
663
|
}, 0);
|
|
654
664
|
bIdle = false;
|
|
655
665
|
Interaction.notifyStepEnd(true); // Start timer to end Interaction in case there is no timing relevant action e.g. rendering, request
|
|
656
|
-
} else if (oPendingInteraction && oBrowserElement && !
|
|
666
|
+
} else if (oPendingInteraction && oBrowserElement && !bPerfectMatch) {
|
|
657
667
|
// if browser event matches one of the next control events we take it for trigger/event determination (step name)
|
|
658
|
-
|
|
668
|
+
elem = oBrowserElement;
|
|
669
|
+
sClosestSemanticStepName = FESRHelper.getSemanticStepname(oBrowserElement, sEventId);
|
|
659
670
|
if (elem && oElement.getId() === elem.getId()) {
|
|
660
671
|
oPendingInteraction.trigger = oElement.getId();
|
|
661
|
-
oPendingInteraction.semanticStepName =
|
|
672
|
+
oPendingInteraction.semanticStepName = sClosestSemanticStepName;
|
|
662
673
|
oPendingInteraction.event = sEventId;
|
|
663
|
-
|
|
664
|
-
} else {
|
|
674
|
+
bPerfectMatch = true;
|
|
675
|
+
} else if (sClosestSemanticStepName) {
|
|
676
|
+
oPendingInteraction.trigger = oBrowserElement.getId();
|
|
677
|
+
oPendingInteraction.semanticStepName = sClosestSemanticStepName;
|
|
678
|
+
bPerfectMatch = true;
|
|
679
|
+
} else if (!bMatched) {
|
|
665
680
|
while (elem && elem.getParent()) {
|
|
666
681
|
elem = elem.getParent();
|
|
667
682
|
if (oElement.getId() === elem.getId()) {
|
|
@@ -674,7 +689,6 @@ sap.ui.define([
|
|
|
674
689
|
}
|
|
675
690
|
}
|
|
676
691
|
}
|
|
677
|
-
|
|
678
692
|
}
|
|
679
693
|
},
|
|
680
694
|
|