@openui5/sap.ui.core 1.114.2 → 1.114.4
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/config.js +1 -1
- 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/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 +12 -18
- 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/IconPool.js +1 -2
- 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/Shortcut.js +11 -9
- 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/_IconRegistry.js +83 -11
- package/src/sap/ui/core/date/UI5Date.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/DateFormat.js +4 -0
- 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/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/themes/base/Icon.less +2 -2
- package/src/sap/ui/core/theming/ThemeHelper.js +103 -0
- package/src/sap/ui/core/theming/ThemeManager.js +2 -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 +3 -3
- package/src/sap/ui/model/odata/v4/ODataBinding.js +65 -38
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +5 -4
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +7 -6
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +8 -9
- package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +58 -27
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +5 -5
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +11 -7
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +5 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +4 -4
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +1 -1
- 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/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/Mobile.js +10 -6
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -92,7 +92,7 @@ sap.ui.define([
|
|
|
92
92
|
* @extends sap.ui.model.odata.type.ODataType
|
|
93
93
|
* @public
|
|
94
94
|
* @since 1.27.0
|
|
95
|
-
* @version 1.114.
|
|
95
|
+
* @version 1.114.4
|
|
96
96
|
*/
|
|
97
97
|
var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
|
|
98
98
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @extends sap.ui.model.odata.type.ODataType
|
|
31
31
|
* @public
|
|
32
32
|
* @since 1.37.0
|
|
33
|
-
* @version 1.114.
|
|
33
|
+
* @version 1.114.4
|
|
34
34
|
*/
|
|
35
35
|
var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
|
|
36
36
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @extends sap.ui.model.odata.type.ODataType
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.51.0
|
|
63
|
-
* @version 1.114.
|
|
63
|
+
* @version 1.114.4
|
|
64
64
|
*/
|
|
65
65
|
var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
|
|
66
66
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -92,7 +92,7 @@ sap.ui.define([
|
|
|
92
92
|
* @extends sap.ui.model.odata.type.ODataType
|
|
93
93
|
* @public
|
|
94
94
|
* @since 1.37.0
|
|
95
|
-
* @version 1.114.
|
|
95
|
+
* @version 1.114.4
|
|
96
96
|
*/
|
|
97
97
|
var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
|
|
98
98
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -66,7 +66,7 @@ sap.ui.define([
|
|
|
66
66
|
* @extends sap.ui.model.type.Unit
|
|
67
67
|
* @public
|
|
68
68
|
* @since 1.63.0
|
|
69
|
-
* @version 1.114.
|
|
69
|
+
* @version 1.114.4
|
|
70
70
|
*/
|
|
71
71
|
var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
|
|
72
72
|
constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
|
|
@@ -64,7 +64,7 @@ sap.ui.define([
|
|
|
64
64
|
* @hideconstructor
|
|
65
65
|
* @public
|
|
66
66
|
* @since 1.93.0
|
|
67
|
-
* @version 1.114.
|
|
67
|
+
* @version 1.114.4
|
|
68
68
|
*/
|
|
69
69
|
var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
|
|
70
70
|
constructor : function (oModel, sPath, sDeepPath, oCreatePromise, bInactive,
|
|
@@ -93,7 +93,7 @@ sap.ui.define([
|
|
|
93
93
|
* @extends sap.ui.model.TreeBinding
|
|
94
94
|
* @hideconstructor
|
|
95
95
|
* @public
|
|
96
|
-
* @version 1.114.
|
|
96
|
+
* @version 1.114.4
|
|
97
97
|
*/
|
|
98
98
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
99
99
|
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @hideconstructor
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.39.0
|
|
45
|
-
* @version 1.114.
|
|
45
|
+
* @version 1.114.4
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -1308,7 +1308,7 @@ sap.ui.define([
|
|
|
1308
1308
|
this.oBinding.checkSuspended();
|
|
1309
1309
|
|
|
1310
1310
|
return Promise.all(aPaths.map(function (sPath) {
|
|
1311
|
-
return that.oBinding.fetchIfChildCanUseCache(that, sPath,
|
|
1311
|
+
return that.oBinding.fetchIfChildCanUseCache(that, sPath, undefined, true)
|
|
1312
1312
|
.then(function (sReducedPath) {
|
|
1313
1313
|
if (sReducedPath) {
|
|
1314
1314
|
return that.fetchPrimitiveValue(sReducedPath, bExternalFormat);
|
|
@@ -1809,7 +1809,7 @@ sap.ui.define([
|
|
|
1809
1809
|
if (!sMessagesPath) {
|
|
1810
1810
|
throw new Error("Missing @com.sap.vocabularies.Common.v1.Messages");
|
|
1811
1811
|
}
|
|
1812
|
-
return that.oBinding.fetchIfChildCanUseCache(that, sMessagesPath,
|
|
1812
|
+
return that.oBinding.fetchIfChildCanUseCache(that, sMessagesPath, undefined, true);
|
|
1813
1813
|
}).then(function (sReducedPath) {
|
|
1814
1814
|
return that.fetchValue(sReducedPath);
|
|
1815
1815
|
}).catch(this.oModel.getReporter());
|
|
@@ -468,17 +468,17 @@ sap.ui.define([
|
|
|
468
468
|
};
|
|
469
469
|
|
|
470
470
|
/**
|
|
471
|
-
* Hook method for {@link #
|
|
472
|
-
* binding.
|
|
471
|
+
* Hook method for {@link #fetchOrGetQueryOptionsForOwnCache} to determine the query options for
|
|
472
|
+
* this binding.
|
|
473
473
|
*
|
|
474
474
|
* @param {sap.ui.model.Context} [oContext]
|
|
475
475
|
* The context instance to be used for a relative binding
|
|
476
|
-
* @returns {sap.ui.base.SyncPromise}
|
|
477
|
-
*
|
|
476
|
+
* @returns {object|undefined|sap.ui.base.SyncPromise}
|
|
477
|
+
* The binding's query options (if any) or a promise resolving with them
|
|
478
478
|
*
|
|
479
479
|
* @abstract
|
|
480
480
|
* @function
|
|
481
|
-
* @name sap.ui.model.odata.v4.ODataBinding#
|
|
481
|
+
* @name sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
482
482
|
* @private
|
|
483
483
|
*/
|
|
484
484
|
|
|
@@ -535,7 +535,7 @@ sap.ui.define([
|
|
|
535
535
|
}
|
|
536
536
|
|
|
537
537
|
aPromises = [
|
|
538
|
-
this.
|
|
538
|
+
this.fetchOrGetQueryOptionsForOwnCache(oContext, bIgnoreParentCache),
|
|
539
539
|
this.oModel.oRequestor.ready()
|
|
540
540
|
];
|
|
541
541
|
this.mCacheQueryOptions = undefined;
|
|
@@ -585,51 +585,79 @@ sap.ui.define([
|
|
|
585
585
|
* @param {boolean} [bIgnoreParentCache]
|
|
586
586
|
* Whether the query options of the parent cache shall be ignored and own query options are
|
|
587
587
|
* determined (see {@link #fetchCache})
|
|
588
|
-
* @returns {sap.ui.base.SyncPromise}
|
|
589
|
-
*
|
|
588
|
+
* @returns {object|sap.ui.base.SyncPromise}
|
|
589
|
+
* An object having two properties (or a promise resolving with it):
|
|
590
590
|
* {object} mQueryOptions - The query options to create the cache for this binding or
|
|
591
591
|
* <code>undefined</code> if no cache is to be created
|
|
592
592
|
* {string} sReducedPath - The binding's absolute, reduced path in the cache hierarchy
|
|
593
593
|
*
|
|
594
594
|
* @private
|
|
595
595
|
*/
|
|
596
|
-
ODataBinding.prototype.
|
|
596
|
+
ODataBinding.prototype.fetchOrGetQueryOptionsForOwnCache = function (oContext,
|
|
597
|
+
bIgnoreParentCache) {
|
|
597
598
|
var bHasNonSystemQueryOptions,
|
|
598
|
-
|
|
599
|
+
vQueryOptions, // {object|undefined|sap.ui.base.SyncPromise}
|
|
599
600
|
sResolvedPath = this.oModel.resolve(this.sPath, oContext),
|
|
600
601
|
that = this;
|
|
601
602
|
|
|
602
603
|
/*
|
|
603
|
-
* Wraps the given query options
|
|
604
|
-
*
|
|
604
|
+
* Wraps the given query options and adds sReducedPath to create a result for
|
|
605
|
+
* #fetchOrGetQueryOptionsForOwnCache.
|
|
605
606
|
*
|
|
606
|
-
* @param {object
|
|
607
|
-
*
|
|
607
|
+
* @param {object} [mQueryOptions]
|
|
608
|
+
* Map of query options, or <code>undefined</code>
|
|
609
|
+
* @param {boolean} [bDropEmptyObject]
|
|
610
|
+
* Whether an empty query options object should be replaced by <code>undefined</code>
|
|
608
611
|
* @param {string} [sReducedPath=sResolvedPath]
|
|
609
612
|
* The reduced path
|
|
610
|
-
* @returns {
|
|
611
|
-
* A
|
|
613
|
+
* @returns {object}
|
|
614
|
+
* A result for #fetchOrGetQueryOptionsForOwnCache
|
|
612
615
|
*/
|
|
613
|
-
function
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
616
|
+
function _wrapQueryOptions(mQueryOptions, bDropEmptyObject, sReducedPath) {
|
|
617
|
+
if (bDropEmptyObject && mQueryOptions && _Helper.isEmptyObject(mQueryOptions)) {
|
|
618
|
+
mQueryOptions = undefined;
|
|
619
|
+
}
|
|
620
|
+
return {
|
|
621
|
+
mQueryOptions : mQueryOptions,
|
|
622
|
+
sReducedPath : sReducedPath || sResolvedPath
|
|
623
|
+
};
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
/*
|
|
627
|
+
* Waits for <code>vQueryOptions</code> (if needed) and then creates a result for
|
|
628
|
+
* #fetchOrGetQueryOptionsForOwnCache.
|
|
629
|
+
*
|
|
630
|
+
* @param {boolean} [bDropEmptyObject]
|
|
631
|
+
* Whether an empty query options object should be replaced by <code>undefined</code>
|
|
632
|
+
* @param {string} [sReducedPath=sResolvedPath]
|
|
633
|
+
* The reduced path
|
|
634
|
+
* @returns {object|sap.ui.base.SyncPromise}
|
|
635
|
+
* A result for #fetchOrGetQueryOptionsForOwnCache
|
|
636
|
+
*/
|
|
637
|
+
function wrapQueryOptions(bDropEmptyObject, sReducedPath) {
|
|
638
|
+
if (vQueryOptions instanceof SyncPromise) {
|
|
639
|
+
if (!vQueryOptions.isFulfilled()) {
|
|
640
|
+
return vQueryOptions.then(function (mQueryOptions) {
|
|
641
|
+
return _wrapQueryOptions(mQueryOptions, bDropEmptyObject, sReducedPath);
|
|
642
|
+
});
|
|
643
|
+
}
|
|
644
|
+
vQueryOptions = vQueryOptions.getResult();
|
|
645
|
+
}
|
|
646
|
+
|
|
647
|
+
return _wrapQueryOptions(vQueryOptions, bDropEmptyObject, sReducedPath);
|
|
620
648
|
}
|
|
621
649
|
|
|
622
650
|
if (this.oOperation // operation binding manages its cache on its own
|
|
623
651
|
|| this.bRelative && !oContext // unresolved binding
|
|
624
652
|
|| this.isMeta()) {
|
|
625
|
-
return
|
|
653
|
+
return _wrapQueryOptions();
|
|
626
654
|
}
|
|
627
655
|
|
|
628
656
|
// auto-$expand/$select and binding is a parent binding, so that it needs to wait until all
|
|
629
657
|
// its child bindings know via the corresponding promise in this.aChildCanUseCachePromises
|
|
630
658
|
// if they can use the parent binding's cache
|
|
631
659
|
// With $$aggregation, no auto-$expand/$select is needed
|
|
632
|
-
|
|
660
|
+
vQueryOptions = this.doFetchOrGetQueryOptions(oContext);
|
|
633
661
|
if (this.oModel.bAutoExpandSelect && this.aChildCanUseCachePromises
|
|
634
662
|
&& !_Helper.isDataAggregation(this.mParameters)) {
|
|
635
663
|
// For auto-$expand/$select, wait for query options of dependent bindings:
|
|
@@ -637,8 +665,8 @@ sap.ui.define([
|
|
|
637
665
|
// query options promise to this binding via fetchIfChildCanUseCache.
|
|
638
666
|
// The aggregated query options of this binding and its dependent bindings are available
|
|
639
667
|
// in that.mAggregatedQueryOptions once all these promises are fulfilled.
|
|
640
|
-
|
|
641
|
-
|
|
668
|
+
vQueryOptions = SyncPromise.all([
|
|
669
|
+
vQueryOptions,
|
|
642
670
|
Promise.resolve().then(function () {
|
|
643
671
|
return SyncPromise.all(that.aChildCanUseCachePromises);
|
|
644
672
|
})
|
|
@@ -652,7 +680,7 @@ sap.ui.define([
|
|
|
652
680
|
// parent cache is ignored or (quasi-)absolute binding
|
|
653
681
|
if (bIgnoreParentCache || !this.bRelative || !oContext.fetchValue) {
|
|
654
682
|
// the binding shall create its own cache
|
|
655
|
-
return wrapQueryOptions(
|
|
683
|
+
return wrapQueryOptions();
|
|
656
684
|
}
|
|
657
685
|
|
|
658
686
|
// auto-$expand/$select: Use parent binding's cache if possible
|
|
@@ -662,28 +690,27 @@ sap.ui.define([
|
|
|
662
690
|
return sKey[0] !== "$" || sKey[1] === "$";
|
|
663
691
|
});
|
|
664
692
|
if (bHasNonSystemQueryOptions) {
|
|
665
|
-
return wrapQueryOptions(
|
|
693
|
+
return wrapQueryOptions();
|
|
666
694
|
}
|
|
667
695
|
return oContext.getBinding()
|
|
668
|
-
.fetchIfChildCanUseCache(oContext, that.sPath,
|
|
696
|
+
.fetchIfChildCanUseCache(oContext, that.sPath, vQueryOptions,
|
|
669
697
|
!this.mParameters) // duck typing for property binding
|
|
670
698
|
.then(function (sReducedPath) {
|
|
671
|
-
|
|
672
|
-
|
|
699
|
+
if (sReducedPath) {
|
|
700
|
+
vQueryOptions = undefined;
|
|
701
|
+
}
|
|
702
|
+
return wrapQueryOptions(false, sReducedPath);
|
|
673
703
|
});
|
|
674
704
|
}
|
|
675
705
|
|
|
676
706
|
// relative list or context binding with parameters which are not query options
|
|
677
707
|
// (such as $$groupId)
|
|
678
|
-
if (this.mParameters &&
|
|
679
|
-
return wrapQueryOptions(
|
|
708
|
+
if (this.mParameters && !_Helper.isEmptyObject(this.mParameters)) {
|
|
709
|
+
return wrapQueryOptions();
|
|
680
710
|
}
|
|
681
711
|
|
|
682
712
|
// relative binding which may have query options from UI5 filter or sorter objects
|
|
683
|
-
return
|
|
684
|
-
return wrapQueryOptions(
|
|
685
|
-
Object.keys(mQueryOptions).length ? mQueryOptions : undefined);
|
|
686
|
-
});
|
|
713
|
+
return wrapQueryOptions(true);
|
|
687
714
|
};
|
|
688
715
|
|
|
689
716
|
/**
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
75
75
|
* @public
|
|
76
76
|
* @since 1.37.0
|
|
77
|
-
* @version 1.114.
|
|
77
|
+
* @version 1.114.4
|
|
78
78
|
*
|
|
79
79
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
80
80
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
@@ -638,7 +638,7 @@ sap.ui.define([
|
|
|
638
638
|
&& !oOperationMetadata.$ReturnType.$Type.startsWith("Edm.")) {
|
|
639
639
|
sMetaPath += "/$Type";
|
|
640
640
|
}
|
|
641
|
-
} else if (
|
|
641
|
+
} else if (!_Helper.isEmptyObject(mParameters)) {
|
|
642
642
|
throw new Error("Unsupported parameters for navigation property");
|
|
643
643
|
}
|
|
644
644
|
|
|
@@ -792,9 +792,9 @@ sap.ui.define([
|
|
|
792
792
|
|
|
793
793
|
/**
|
|
794
794
|
* @override
|
|
795
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
795
|
+
* @see sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
796
796
|
*/
|
|
797
|
-
ODataContextBinding.prototype.
|
|
797
|
+
ODataContextBinding.prototype.doFetchOrGetQueryOptions = function (oContext) {
|
|
798
798
|
return this.fetchResolvedQueryOptions(oContext);
|
|
799
799
|
};
|
|
800
800
|
|
|
@@ -1582,6 +1582,7 @@ sap.ui.define([
|
|
|
1582
1582
|
if (bParentHasChanges || sResumeChangeReason) {
|
|
1583
1583
|
this.mAggregatedQueryOptions = {};
|
|
1584
1584
|
this.bAggregatedQueryOptionsInitial = true;
|
|
1585
|
+
this.mCanUseCachePromiseByChildPath = {};
|
|
1585
1586
|
this.removeCachesAndMessages("");
|
|
1586
1587
|
this.fetchCache(this.oContext);
|
|
1587
1588
|
}
|
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
58
58
|
* @public
|
|
59
59
|
* @since 1.37.0
|
|
60
|
-
* @version 1.114.
|
|
60
|
+
* @version 1.114.4
|
|
61
61
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
62
62
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
63
63
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -348,7 +348,7 @@ sap.ui.define([
|
|
|
348
348
|
sApply = _AggregationHelper.buildApply(mParameters.$$aggregation).$apply;
|
|
349
349
|
}
|
|
350
350
|
this.mQueryOptions = this.oModel.buildQueryOptions(mParameters, true);
|
|
351
|
-
this.oQueryOptionsPromise = undefined; // @see #
|
|
351
|
+
this.oQueryOptionsPromise = undefined; // @see #doFetchOrGetQueryOptions
|
|
352
352
|
this.mParameters = mParameters; // store mParameters at binding after validation
|
|
353
353
|
if (sApply) {
|
|
354
354
|
this.mQueryOptions.$apply = sApply;
|
|
@@ -1265,9 +1265,9 @@ sap.ui.define([
|
|
|
1265
1265
|
|
|
1266
1266
|
/**
|
|
1267
1267
|
* @override
|
|
1268
|
-
* @see sap.ui.model.odata.v4.ODataBinding#
|
|
1268
|
+
* @see sap.ui.model.odata.v4.ODataBinding#doFetchOrGetQueryOptions
|
|
1269
1269
|
*/
|
|
1270
|
-
ODataListBinding.prototype.
|
|
1270
|
+
ODataListBinding.prototype.doFetchOrGetQueryOptions = function (oContext) {
|
|
1271
1271
|
// Note: an absolute binding needs no parent context :-)
|
|
1272
1272
|
var sMetaPath = oContext && _Helper.getMetaPath(oContext.getPath()),
|
|
1273
1273
|
that = this;
|
|
@@ -2782,7 +2782,7 @@ sap.ui.define([
|
|
|
2782
2782
|
ODataListBinding.prototype.inheritQueryOptions = function (mQueryOptions, oContext) {
|
|
2783
2783
|
var mInheritedQueryOptions;
|
|
2784
2784
|
|
|
2785
|
-
if (
|
|
2785
|
+
if (_Helper.isEmptyObject(this.mParameters)) {
|
|
2786
2786
|
// mix-in inherited static query options
|
|
2787
2787
|
mInheritedQueryOptions = this.getQueryOptionsForPath("", oContext);
|
|
2788
2788
|
if (mQueryOptions.$orderby && mInheritedQueryOptions.$orderby) {
|
|
@@ -2857,7 +2857,7 @@ sap.ui.define([
|
|
|
2857
2857
|
// When suspended it matches if it already has contexts. Then its getKeepAliveContext fails.
|
|
2858
2858
|
return this.mParameters.$$getKeepAliveContext && this.getResolvedPath() === sPath
|
|
2859
2859
|
&& (!this.isRootBindingSuspended() || this.aContexts.length
|
|
2860
|
-
||
|
|
2860
|
+
|| !_Helper.isEmptyObject(this.mPreviousContextsByPath));
|
|
2861
2861
|
};
|
|
2862
2862
|
|
|
2863
2863
|
/**
|
|
@@ -3967,6 +3967,7 @@ sap.ui.define([
|
|
|
3967
3967
|
if (this.mParameters.$$aggregation) {
|
|
3968
3968
|
_AggregationHelper.setPath(this.mParameters.$$aggregation, sResolvedPath);
|
|
3969
3969
|
} else if (this.bHasPathReductionToParent && this.oModel.bAutoExpandSelect) {
|
|
3970
|
+
this.mCanUseCachePromiseByChildPath = {};
|
|
3970
3971
|
this.sChangeReason = "AddVirtualContext"; // JIRA: CPOUI5ODATAV4-848
|
|
3971
3972
|
}
|
|
3972
3973
|
if (oContext.getBinding
|
|
@@ -11,7 +11,6 @@ sap.ui.define([
|
|
|
11
11
|
"./lib/_Helper",
|
|
12
12
|
"sap/base/assert",
|
|
13
13
|
"sap/base/Log",
|
|
14
|
-
"sap/base/util/isEmptyObject",
|
|
15
14
|
"sap/base/util/JSTokenizer",
|
|
16
15
|
"sap/base/util/ObjectPath",
|
|
17
16
|
"sap/ui/base/ManagedObject",
|
|
@@ -43,11 +42,11 @@ sap.ui.define([
|
|
|
43
42
|
"sap/ui/model/odata/type/String",
|
|
44
43
|
"sap/ui/model/odata/type/TimeOfDay",
|
|
45
44
|
"sap/ui/thirdparty/URI"
|
|
46
|
-
], function (AnnotationHelper, ValueListType, _Helper, assert, Log,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
], function (AnnotationHelper, ValueListType, _Helper, assert, Log, JSTokenizer, ObjectPath,
|
|
46
|
+
ManagedObject, SyncPromise, BindingMode, ChangeReason, ClientListBinding, BaseContext,
|
|
47
|
+
ContextBinding, MetaModel, PropertyBinding, OperationMode, Boolean, Byte, EdmDate,
|
|
48
|
+
DateTimeOffset, Decimal, Double, Guid, Int16, Int32, Int64, Raw, SByte, Single, Stream,
|
|
49
|
+
String, TimeOfDay, URI) {
|
|
51
50
|
"use strict";
|
|
52
51
|
/*eslint max-nested-callbacks: 0 */
|
|
53
52
|
|
|
@@ -157,7 +156,7 @@ sap.ui.define([
|
|
|
157
156
|
* @hideconstructor
|
|
158
157
|
* @public
|
|
159
158
|
* @since 1.37.0
|
|
160
|
-
* @version 1.114.
|
|
159
|
+
* @version 1.114.4
|
|
161
160
|
*/
|
|
162
161
|
ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
|
|
163
162
|
constructor : constructor
|
|
@@ -1630,7 +1629,7 @@ sap.ui.define([
|
|
|
1630
1629
|
}
|
|
1631
1630
|
|
|
1632
1631
|
if (mFormatOptions) {
|
|
1633
|
-
if (isEmptyObject(mFormatOptions)) {
|
|
1632
|
+
if (_Helper.isEmptyObject(mFormatOptions)) {
|
|
1634
1633
|
mFormatOptions = undefined;
|
|
1635
1634
|
} else if ("parseKeepsEmptyString" in mFormatOptions
|
|
1636
1635
|
&& oProperty.$Type !== "Edm.String") {
|
|
@@ -3273,7 +3272,7 @@ sap.ui.define([
|
|
|
3273
3272
|
|
|
3274
3273
|
// Each reference must have contributed at least one qualifier. So if oValueListInfo
|
|
3275
3274
|
// is empty, there cannot have been a reference.
|
|
3276
|
-
if (isEmptyObject(oValueListInfo)) {
|
|
3275
|
+
if (_Helper.isEmptyObject(oValueListInfo)) {
|
|
3277
3276
|
throw new Error("No annotation '" + sValueListReferences.slice(1) + "' for "
|
|
3278
3277
|
+ sPropertyPath);
|
|
3279
3278
|
}
|
|
@@ -227,7 +227,7 @@ sap.ui.define([
|
|
|
227
227
|
* @extends sap.ui.model.Model
|
|
228
228
|
* @public
|
|
229
229
|
* @since 1.37.0
|
|
230
|
-
* @version 1.114.
|
|
230
|
+
* @version 1.114.4
|
|
231
231
|
*/
|
|
232
232
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
233
233
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|