@openui5/sap.ui.core 1.96.2 → 1.97.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +2 -2
- package/.reuse/dep5 +1 -1
- package/THIRDPARTY.txt +2 -1
- 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 +2 -2
- 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 +4 -4
- package/src/sap/ui/Global.js +11 -16
- 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 +3 -3
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/Metadata.js +1 -3
- 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 -27
- package/src/sap/ui/core/AppCacheBuster.js +4 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +31 -9
- 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/Control.js +2 -2
- package/src/sap/ui/core/Core.js +2 -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 +2 -6
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +4 -3
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ThemeCheck.js +2 -2
- 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 +3 -3
- 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/XMLTemplateProcessor.js +19 -5
- package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
- package/src/sap/ui/core/date/UniversalDateUtils.js +33 -0
- 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/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +5 -5
- package/src/sap/ui/core/message/ControlMessageProcessor.js +5 -5
- 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 +22 -12
- package/src/sap/ui/core/messagebundle_fr.properties +7 -7
- package/src/sap/ui/core/messagebundle_ru.properties +21 -21
- package/src/sap/ui/core/mvc/Controller.js +4 -4
- 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/rules/Misc.support.js +51 -1
- package/src/sap/ui/core/rules/Rendering.support.js +1 -4
- package/src/sap/ui/core/rules/View.support.js +14 -46
- 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 +2 -2
- package/src/sap/ui/core/support/RuleEngineOpaExtension.js +0 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/controls/TreeViewer.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 -2
- 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/support/techinfo/TechnicalInfo.js +1 -1
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
- 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 +2 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +4 -4
- 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/ChangeReason.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +7 -0
- package/src/sap/ui/model/ClientModel.js +6 -5
- package/src/sap/ui/model/ClientTreeBindingAdapter.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/ListBinding.js +24 -5
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +5 -10
- 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/TreeBindingAdapter.js +0 -2
- package/src/sap/ui/model/TreeBindingUtils.js +2 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +12 -6
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
- package/src/sap/ui/model/json/JSONModel.js +7 -7
- package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +3 -3
- package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/AnnotationHelper.js +2 -2
- package/src/sap/ui/model/odata/AnnotationParser.js +4 -2
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +61 -38
- package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
- package/src/sap/ui/model/odata/ODataMetaModel.js +3 -3
- package/src/sap/ui/model/odata/ODataMetadata.js +136 -85
- package/src/sap/ui/model/odata/ODataModel.js +442 -215
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +27 -17
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +440 -260
- package/src/sap/ui/model/odata/ODataUtils.js +24 -9
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +2 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +10 -8
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +6 -4
- 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/Decimal.js +5 -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/type/UnitMixin.js +0 -1
- package/src/sap/ui/model/odata/v2/Context.js +42 -11
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +205 -88
- package/src/sap/ui/model/odata/v2/ODataModel.js +154 -89
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +162 -89
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +52 -2
- package/src/sap/ui/model/odata/v4/Context.js +48 -7
- package/src/sap/ui/model/odata/v4/ODataBinding.js +55 -24
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +67 -19
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +211 -78
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +2 -1
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +36 -23
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -3
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +106 -11
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +33 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +11 -2
- 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 +5 -5
- package/src/sap/ui/model/xml/XMLPropertyBinding.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/actions/Action.js +9 -2
- package/src/sap/ui/test/actions/Press.js +28 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
- package/src/sap/ui/util/Mobile.js +28 -39
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader.js +6 -6
- package/ui5.yaml +244 -1
- package/src/sap/ui/core/CustomizingConfiguration.js +0 -47
- package/src/sap/ui/thirdparty/baseuri.js +0 -1
- package/src/sap/ui/thirdparty/es6-object-assign.js +0 -1
- package/src/sap/ui/thirdparty/es6-promise.js +0 -1
- package/src/sap/ui/thirdparty/es6-shim-nopromise.js +0 -1
- package/src/sap/ui/thirdparty/es6-string-methods.js +0 -1
- package/src/sap/ui/thirdparty/flexie.js +0 -1
- package/src/sap/ui/thirdparty/unorm.js +0 -1
- package/src/sap/ui/thirdparty/unormdata.js +0 -1
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
* @mixes sap.ui.model.odata.v4.ODataBinding
|
|
58
58
|
* @public
|
|
59
59
|
* @since 1.37.0
|
|
60
|
-
* @version 1.
|
|
60
|
+
* @version 1.97.0
|
|
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
|
|
@@ -501,7 +501,7 @@ sap.ui.define([
|
|
|
501
501
|
* @see sap.ui.model.odata.v4.ODataBinding#refreshInternal
|
|
502
502
|
*/
|
|
503
503
|
ODataPropertyBinding.prototype.refreshInternal = function (_sResourcePathPrefix, sGroupId,
|
|
504
|
-
bCheckUpdate,
|
|
504
|
+
bCheckUpdate, bKeepCacheOnError) {
|
|
505
505
|
var that = this;
|
|
506
506
|
|
|
507
507
|
if (this.isRootBindingSuspended()) {
|
|
@@ -509,7 +509,7 @@ sap.ui.define([
|
|
|
509
509
|
return SyncPromise.resolve();
|
|
510
510
|
}
|
|
511
511
|
return this.oCachePromise.then(function () {
|
|
512
|
-
that.fetchCache(that.oContext, false, /*bKeepQueryOptions*/true);
|
|
512
|
+
that.fetchCache(that.oContext, false, /*bKeepQueryOptions*/true, bKeepCacheOnError);
|
|
513
513
|
|
|
514
514
|
if (bCheckUpdate) {
|
|
515
515
|
return that.checkUpdateInternal(undefined, ChangeReason.Refresh, sGroupId);
|
|
@@ -21,6 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
// EMPLOYEE($uid=id-1550828854217-16) -> aMatches[0] === "($uid=id-1550828854217-16)"
|
|
22
22
|
// @see sap.base.util.uid
|
|
23
23
|
rEndsWithTransientPredicate = /\(\$uid=[-\w]+\)$/,
|
|
24
|
+
rInactive = /^\$inactive\./,
|
|
24
25
|
sMessagesAnnotation = "@com.sap.vocabularies.Common.v1.Messages",
|
|
25
26
|
rNumber = /^-?\d+$/,
|
|
26
27
|
// Matches two cases: segment with predicate or simply predicate:
|
|
@@ -140,6 +141,10 @@ sap.ui.define([
|
|
|
140
141
|
* An entity with the ETag of the binding for which the deletion was requested. This is
|
|
141
142
|
* provided if the deletion is delegated from a context binding with empty path to a list
|
|
142
143
|
* binding.
|
|
144
|
+
* @param {boolean} [bDoNotRequestCount]
|
|
145
|
+
* Whether not to request the new count from the server; useful in case of
|
|
146
|
+
* {@link sap.ui.model.odata.v4.Context#replaceWith} where it is known that the count remains
|
|
147
|
+
* unchanged
|
|
143
148
|
* @param {function} fnCallback
|
|
144
149
|
* A function which is called after a transient entity has been deleted from the cache or
|
|
145
150
|
* after the entity has been deleted from the server and from the cache; the index of the
|
|
@@ -150,7 +155,8 @@ sap.ui.define([
|
|
|
150
155
|
*
|
|
151
156
|
* @public
|
|
152
157
|
*/
|
|
153
|
-
_Cache.prototype._delete = function (oGroupLock, sEditUrl, sPath, oETagEntity,
|
|
158
|
+
_Cache.prototype._delete = function (oGroupLock, sEditUrl, sPath, oETagEntity,
|
|
159
|
+
bDoNotRequestCount, fnCallback) {
|
|
154
160
|
var aSegments = sPath.split("/"),
|
|
155
161
|
vDeleteProperty = aSegments.pop(),
|
|
156
162
|
iIndex = rNumber.test(vDeleteProperty) ? Number(vDeleteProperty) : undefined,
|
|
@@ -214,6 +220,7 @@ sap.ui.define([
|
|
|
214
220
|
[], [sEntityPath]);
|
|
215
221
|
}),
|
|
216
222
|
iIndex === undefined // single element or kept-alive not in list
|
|
223
|
+
&& !bDoNotRequestCount
|
|
217
224
|
&& that.requestCount(oGroupLock),
|
|
218
225
|
oGroupLock.unlock() // unlock when all requests have been queued
|
|
219
226
|
]);
|
|
@@ -395,6 +402,7 @@ sap.ui.define([
|
|
|
395
402
|
if (that.fetchTypes().isRejected()) {
|
|
396
403
|
throw oError;
|
|
397
404
|
}
|
|
405
|
+
sPostGroupId = sPostGroupId.replace(rInactive, "");
|
|
398
406
|
return request(sPostPath, that.oRequestor.lockGroup(
|
|
399
407
|
that.oRequestor.getGroupSubmitMode(sPostGroupId) === "API" ?
|
|
400
408
|
sPostGroupId : "$parked." + sPostGroupId, that, true, true));
|
|
@@ -989,14 +997,23 @@ sap.ui.define([
|
|
|
989
997
|
*
|
|
990
998
|
* @param {string} sPath
|
|
991
999
|
* The relative path of a binding; must not end with '/'
|
|
1000
|
+
* @param {boolean} [bIgnoreKeptAlive]
|
|
1001
|
+
* Whether to ignore changes which will not be lost by APIs like sort or filter because they
|
|
1002
|
+
* relate to a context which is kept alive.
|
|
992
1003
|
* @returns {boolean}
|
|
993
1004
|
* <code>true</code> if there are pending changes
|
|
994
1005
|
*
|
|
995
1006
|
* @public
|
|
996
1007
|
*/
|
|
997
|
-
_Cache.prototype.hasPendingChangesForPath = function (sPath) {
|
|
1008
|
+
_Cache.prototype.hasPendingChangesForPath = function (sPath, bIgnoreKeptAlive) {
|
|
1009
|
+
var that = this;
|
|
1010
|
+
|
|
998
1011
|
return Object.keys(this.mPatchRequests).some(function (sRequestPath) {
|
|
999
|
-
return isSubPath(sRequestPath, sPath)
|
|
1012
|
+
return isSubPath(sRequestPath, sPath)
|
|
1013
|
+
&& !(bIgnoreKeptAlive
|
|
1014
|
+
&& that.mPatchRequests[sRequestPath].every(function (oPatchPromise) {
|
|
1015
|
+
return oPatchPromise.$isKeepAlive();
|
|
1016
|
+
}));
|
|
1000
1017
|
}) || Object.keys(this.mPostRequests).some(function (sRequestPath) {
|
|
1001
1018
|
return isSubPath(sRequestPath, sPath);
|
|
1002
1019
|
});
|
|
@@ -1620,6 +1637,8 @@ sap.ui.define([
|
|
|
1620
1637
|
* @param {function} fnPatchSent
|
|
1621
1638
|
* The function is called just before a back-end request is sent for the first time.
|
|
1622
1639
|
* If no back-end request is needed, the function is not called.
|
|
1640
|
+
* @param {function} fnIsKeepAlive
|
|
1641
|
+
* A function to tell whether the entity is kept-alive
|
|
1623
1642
|
* @returns {Promise}
|
|
1624
1643
|
* A promise for the PATCH request (resolves with <code>undefined</code>); rejected in case of
|
|
1625
1644
|
* cancellation or if no <code>fnErrorCallback</code> is given
|
|
@@ -1628,7 +1647,8 @@ sap.ui.define([
|
|
|
1628
1647
|
* @public
|
|
1629
1648
|
*/
|
|
1630
1649
|
_Cache.prototype.update = function (oGroupLock, sPropertyPath, vValue, fnErrorCallback,
|
|
1631
|
-
sEditUrl, sEntityPath, sUnitOrCurrencyPath, bPatchWithoutSideEffects, fnPatchSent
|
|
1650
|
+
sEditUrl, sEntityPath, sUnitOrCurrencyPath, bPatchWithoutSideEffects, fnPatchSent,
|
|
1651
|
+
fnIsKeepAlive) {
|
|
1632
1652
|
var oPromise,
|
|
1633
1653
|
aPropertyPath = sPropertyPath.split("/"),
|
|
1634
1654
|
aUnitOrCurrencyPath,
|
|
@@ -1691,6 +1711,7 @@ sap.ui.define([
|
|
|
1691
1711
|
mHeaders, oUpdateData, onSubmit, onCancel, /*sMetaPath*/undefined,
|
|
1692
1712
|
_Helper.buildPath(that.getOriginalResourcePath(oEntity), sEntityPath),
|
|
1693
1713
|
bAtFront);
|
|
1714
|
+
oPatchPromise.$isKeepAlive = fnIsKeepAlive;
|
|
1694
1715
|
_Helper.addByPath(that.mPatchRequests, sFullPath, oPatchPromise);
|
|
1695
1716
|
return SyncPromise.all([
|
|
1696
1717
|
oPatchPromise,
|
|
@@ -1761,9 +1782,10 @@ sap.ui.define([
|
|
|
1761
1782
|
if (sTransientGroup === true) {
|
|
1762
1783
|
throw new Error("No 'update' allowed while waiting for server response");
|
|
1763
1784
|
}
|
|
1764
|
-
if (sTransientGroup.startsWith("$parked.")
|
|
1785
|
+
if (sTransientGroup.startsWith("$parked.")
|
|
1786
|
+
|| sTransientGroup.startsWith("$inactive.")) {
|
|
1765
1787
|
sParkedGroup = sTransientGroup;
|
|
1766
|
-
sTransientGroup = sTransientGroup.slice(
|
|
1788
|
+
sTransientGroup = sTransientGroup.slice(sTransientGroup.indexOf(".") + 1);
|
|
1767
1789
|
}
|
|
1768
1790
|
if (sTransientGroup !== sGroupId) {
|
|
1769
1791
|
throw new Error("The entity will be created via group '" + sTransientGroup
|
|
@@ -2073,6 +2095,19 @@ sap.ui.define([
|
|
|
2073
2095
|
});
|
|
2074
2096
|
};
|
|
2075
2097
|
|
|
2098
|
+
/**
|
|
2099
|
+
* Replaces the old element at the given index with the given new element.
|
|
2100
|
+
*
|
|
2101
|
+
* @param {number} iIndex - The index
|
|
2102
|
+
* @param {object} oElement - The new element
|
|
2103
|
+
*
|
|
2104
|
+
* @public
|
|
2105
|
+
*/
|
|
2106
|
+
_CollectionCache.prototype.doReplaceWith = function (iIndex, oElement) {
|
|
2107
|
+
this.aElements[iIndex] = oElement;
|
|
2108
|
+
this.addKeptElement(oElement); // maintain $byPredicate
|
|
2109
|
+
};
|
|
2110
|
+
|
|
2076
2111
|
/**
|
|
2077
2112
|
* Returns a promise to be resolved (synchronously if possible) with an OData object for the
|
|
2078
2113
|
* requested data.
|
|
@@ -2303,7 +2338,8 @@ sap.ui.define([
|
|
|
2303
2338
|
oKeptElement = this.aElements.$byPredicate[sPredicate];
|
|
2304
2339
|
if (oKeptElement) {
|
|
2305
2340
|
if (oElement["@odata.etag"] === oKeptElement["@odata.etag"]) {
|
|
2306
|
-
_Helper.
|
|
2341
|
+
_Helper.updateNonExisting(oKeptElement, oElement);
|
|
2342
|
+
oElement = oKeptElement;
|
|
2307
2343
|
} else if (this.hasPendingChangesForPath(sPredicate)) {
|
|
2308
2344
|
throw new Error("Modified on client and on server: "
|
|
2309
2345
|
+ this.sResourcePath + sPredicate);
|
|
@@ -2456,7 +2492,9 @@ sap.ui.define([
|
|
|
2456
2492
|
var aKeyFilters,
|
|
2457
2493
|
mQueryOptions = _Helper.merge({}, that.mQueryOptions);
|
|
2458
2494
|
|
|
2459
|
-
|
|
2495
|
+
if (that.mLateQueryOptions) {
|
|
2496
|
+
_Helper.aggregateExpandSelect(mQueryOptions, that.mLateQueryOptions);
|
|
2497
|
+
}
|
|
2460
2498
|
delete mQueryOptions.$count;
|
|
2461
2499
|
delete mQueryOptions.$orderby;
|
|
2462
2500
|
delete mQueryOptions.$search;
|
|
@@ -2588,6 +2626,7 @@ sap.ui.define([
|
|
|
2588
2626
|
mQueryOptions,
|
|
2589
2627
|
mPredicates = {}, // a set of the predicates (as map to true) to speed up the search
|
|
2590
2628
|
sResourcePath,
|
|
2629
|
+
bSkip,
|
|
2591
2630
|
mTypeForMetaPath = this.fetchTypes().getResult(),
|
|
2592
2631
|
that = this;
|
|
2593
2632
|
|
|
@@ -2662,8 +2701,15 @@ sap.ui.define([
|
|
|
2662
2701
|
+ this.oRequestor.buildQueryString(this.sMetaPath, mQueryOptions, false, true);
|
|
2663
2702
|
|
|
2664
2703
|
return this.oRequestor.request("GET", sResourcePath, oGroupLock, undefined, undefined,
|
|
2665
|
-
undefined, undefined, this.sMetaPath, undefined, false, mMergeableQueryOptions
|
|
2666
|
-
|
|
2704
|
+
undefined, undefined, this.sMetaPath, undefined, false, mMergeableQueryOptions,
|
|
2705
|
+
function (aOtherPaths) {
|
|
2706
|
+
if (arguments.length) {
|
|
2707
|
+
aPaths = aPaths.concat(aOtherPaths);
|
|
2708
|
+
} else {
|
|
2709
|
+
bSkip = true; // my GET was merged
|
|
2710
|
+
return aPaths;
|
|
2711
|
+
}
|
|
2712
|
+
}).then(function (oResult) {
|
|
2667
2713
|
var oElement, sPredicate, i, n;
|
|
2668
2714
|
|
|
2669
2715
|
function preventKeyPredicateChange(sPath) {
|
|
@@ -2674,6 +2720,10 @@ sap.ui.define([
|
|
|
2674
2720
|
});
|
|
2675
2721
|
}
|
|
2676
2722
|
|
|
2723
|
+
if (bSkip) {
|
|
2724
|
+
return;
|
|
2725
|
+
}
|
|
2726
|
+
|
|
2677
2727
|
if (oResult.value.length !== aElements.length) {
|
|
2678
2728
|
throw new Error("Expected " + aElements.length + " row(s), but instead saw "
|
|
2679
2729
|
+ oResult.value.length);
|
|
@@ -2691,6 +2741,38 @@ sap.ui.define([
|
|
|
2691
2741
|
});
|
|
2692
2742
|
};
|
|
2693
2743
|
|
|
2744
|
+
/**
|
|
2745
|
+
* Resets this cache to its initial state, but keeps certain elements and their change listeners
|
|
2746
|
+
* alive.
|
|
2747
|
+
*
|
|
2748
|
+
* @param {string[]} aKeptElementPredicates
|
|
2749
|
+
* The key predicates for all kept-alive elements
|
|
2750
|
+
*
|
|
2751
|
+
* @public
|
|
2752
|
+
*/
|
|
2753
|
+
_CollectionCache.prototype.reset = function (aKeptElementPredicates) {
|
|
2754
|
+
var mChangeListeners = this.mChangeListeners,
|
|
2755
|
+
mByPredicate = this.aElements.$byPredicate,
|
|
2756
|
+
that = this;
|
|
2757
|
+
|
|
2758
|
+
this.mChangeListeners = {};
|
|
2759
|
+
this.sContext = undefined;
|
|
2760
|
+
this.aElements = [];
|
|
2761
|
+
this.aElements.$byPredicate = {};
|
|
2762
|
+
this.aElements.$count = undefined; // needed for setCount()
|
|
2763
|
+
this.aElements.$created = 0;
|
|
2764
|
+
this.iLimit = Infinity;
|
|
2765
|
+
|
|
2766
|
+
Object.keys(mChangeListeners).forEach(function (sPath) {
|
|
2767
|
+
if (aKeptElementPredicates.includes(sPath.split("/")[0])) {
|
|
2768
|
+
that.mChangeListeners[sPath] = mChangeListeners[sPath];
|
|
2769
|
+
}
|
|
2770
|
+
});
|
|
2771
|
+
aKeptElementPredicates.forEach(function (sPredicate) {
|
|
2772
|
+
that.aElements.$byPredicate[sPredicate] = mByPredicate[sPredicate];
|
|
2773
|
+
});
|
|
2774
|
+
};
|
|
2775
|
+
|
|
2694
2776
|
//*********************************************************************************************
|
|
2695
2777
|
// PropertyCache
|
|
2696
2778
|
//*********************************************************************************************
|
|
@@ -3055,6 +3137,7 @@ sap.ui.define([
|
|
|
3055
3137
|
oOldValuePromise = this.oPromise,
|
|
3056
3138
|
mQueryOptions,
|
|
3057
3139
|
oResult,
|
|
3140
|
+
bSkip,
|
|
3058
3141
|
that = this;
|
|
3059
3142
|
|
|
3060
3143
|
this.checkSharedRequest();
|
|
@@ -3072,7 +3155,15 @@ sap.ui.define([
|
|
|
3072
3155
|
+ this.oRequestor.buildQueryString(this.sMetaPath, mQueryOptions, false, true);
|
|
3073
3156
|
oResult = SyncPromise.all([
|
|
3074
3157
|
this.oRequestor.request("GET", sResourcePath, oGroupLock, undefined, undefined,
|
|
3075
|
-
undefined, undefined, this.sMetaPath, undefined, false, mMergeableQueryOptions
|
|
3158
|
+
undefined, undefined, this.sMetaPath, undefined, false, mMergeableQueryOptions,
|
|
3159
|
+
function (aOtherPaths) {
|
|
3160
|
+
if (arguments.length) {
|
|
3161
|
+
aPaths = aPaths.concat(aOtherPaths);
|
|
3162
|
+
} else {
|
|
3163
|
+
bSkip = true; // my GET was merged
|
|
3164
|
+
return aPaths;
|
|
3165
|
+
}
|
|
3166
|
+
}),
|
|
3076
3167
|
this.fetchTypes(),
|
|
3077
3168
|
this.fetchValue(_GroupLock.$cached, "") // Note: includes some additional checks
|
|
3078
3169
|
]).then(function (aResult) {
|
|
@@ -3083,6 +3174,10 @@ sap.ui.define([
|
|
|
3083
3174
|
var oNewValue = aResult[0],
|
|
3084
3175
|
oOldValue = aResult[2];
|
|
3085
3176
|
|
|
3177
|
+
if (bSkip) {
|
|
3178
|
+
return;
|
|
3179
|
+
}
|
|
3180
|
+
|
|
3086
3181
|
// ensure that the new value has a predicate although key properties were not requested
|
|
3087
3182
|
_Helper.setPrivateAnnotation(oNewValue, "predicate",
|
|
3088
3183
|
_Helper.getPrivateAnnotation(oOldValue, "predicate"));
|
|
@@ -1874,7 +1874,7 @@ sap.ui.define([
|
|
|
1874
1874
|
* properties therein.
|
|
1875
1875
|
*
|
|
1876
1876
|
* Restrictions:
|
|
1877
|
-
* - oTarget and oSource are expected to have the same structure
|
|
1877
|
+
* - oTarget and oSource are expected to have the same structure: when there is an
|
|
1878
1878
|
* object at a given path in either of them, the other one must have an object or
|
|
1879
1879
|
* <code>null</code>.
|
|
1880
1880
|
* - no change events for collection-valued properties; list bindings without own cache must
|
|
@@ -1937,7 +1937,7 @@ sap.ui.define([
|
|
|
1937
1937
|
* advertised actions.
|
|
1938
1938
|
*
|
|
1939
1939
|
* Restrictions:
|
|
1940
|
-
* - oOldObject and oNewObject are expected to have the same structure
|
|
1940
|
+
* - oOldObject and oNewObject are expected to have the same structure: when there is an
|
|
1941
1941
|
* object at a given path in either of them, the other one must have an object or
|
|
1942
1942
|
* <code>null</code>.
|
|
1943
1943
|
* - no change events for collection-valued properties
|
|
@@ -2004,6 +2004,36 @@ sap.ui.define([
|
|
|
2004
2004
|
});
|
|
2005
2005
|
},
|
|
2006
2006
|
|
|
2007
|
+
/**
|
|
2008
|
+
* Recursively adds all properties of oSource to oTarget that do not exist there yet.
|
|
2009
|
+
* Ensures that object references in oTarget remain unchanged.
|
|
2010
|
+
*
|
|
2011
|
+
* Restrictions:
|
|
2012
|
+
* - oTarget and oSource are expected to have the same structure: when there is an
|
|
2013
|
+
* object at a given path in either of them, the other one must have an object.
|
|
2014
|
+
* <code>null</code>, or no property at all.
|
|
2015
|
+
* - arrays are not merged in any way, they are taken either from oSource or from oTarget
|
|
2016
|
+
*
|
|
2017
|
+
* @param {object} oTarget - The target
|
|
2018
|
+
* @param {object} oSource - The source
|
|
2019
|
+
*/
|
|
2020
|
+
updateNonExisting : function (oTarget, oSource) {
|
|
2021
|
+
Object.keys(oSource).forEach(function (sKey) {
|
|
2022
|
+
var vSourceValue = oSource[sKey],
|
|
2023
|
+
vTargetValue;
|
|
2024
|
+
|
|
2025
|
+
if (sKey in oTarget) {
|
|
2026
|
+
vTargetValue = oTarget[sKey];
|
|
2027
|
+
if (vSourceValue && vTargetValue
|
|
2028
|
+
&& typeof vSourceValue === "object" && !Array.isArray(vSourceValue)) {
|
|
2029
|
+
_Helper.updateNonExisting(vTargetValue, vSourceValue);
|
|
2030
|
+
}
|
|
2031
|
+
} else {
|
|
2032
|
+
oTarget[sKey] = vSourceValue;
|
|
2033
|
+
}
|
|
2034
|
+
});
|
|
2035
|
+
},
|
|
2036
|
+
|
|
2007
2037
|
/**
|
|
2008
2038
|
* Updates the old value with the given new value for the selected properties (see
|
|
2009
2039
|
* {@link #updateExisting}). If no selected properties are given or if "*" is contained in
|
|
@@ -2011,7 +2041,7 @@ sap.ui.define([
|
|
|
2011
2041
|
* changed properties.
|
|
2012
2042
|
*
|
|
2013
2043
|
* Restrictions:
|
|
2014
|
-
* - oOldValue and oNewValue are expected to have the same structure
|
|
2044
|
+
* - oOldValue and oNewValue are expected to have the same structure: when there is an
|
|
2015
2045
|
* object at a given path in either of them, the other one must have an object or
|
|
2016
2046
|
* <code>null</code>.
|
|
2017
2047
|
* - "*" in aSelect does not work correctly if oNewValue contains navigation properties
|
|
@@ -1062,7 +1062,7 @@ sap.ui.define([
|
|
|
1062
1062
|
* Merges all GET requests that are marked as mergeable, have the same resource path and the
|
|
1063
1063
|
* same query options besides $expand and $select. One request with the merged $expand and
|
|
1064
1064
|
* $select is left in the queue and all merged requests get the response of this one remaining
|
|
1065
|
-
* request.
|
|
1065
|
+
* request. For $mergeRequests, see parameter fnMergeRequests of {@link #request}.
|
|
1066
1066
|
*
|
|
1067
1067
|
* @param {object[]} aRequests The batch queue
|
|
1068
1068
|
* @returns {object[]} The adjusted batch queue
|
|
@@ -1076,6 +1076,9 @@ sap.ui.define([
|
|
|
1076
1076
|
if (oCandidate.$queryOptions && oRequest.url === oCandidate.url) {
|
|
1077
1077
|
_Helper.aggregateExpandSelect(oCandidate.$queryOptions, oRequest.$queryOptions);
|
|
1078
1078
|
oRequest.$resolve(oCandidate.$promise);
|
|
1079
|
+
if (oCandidate.$mergeRequests && oRequest.$mergeRequests) {
|
|
1080
|
+
oCandidate.$mergeRequests(oRequest.$mergeRequests());
|
|
1081
|
+
}
|
|
1079
1082
|
|
|
1080
1083
|
return true;
|
|
1081
1084
|
}
|
|
@@ -1545,6 +1548,10 @@ sap.ui.define([
|
|
|
1545
1548
|
* Query options if it is allowed to merge this request with another request having the same
|
|
1546
1549
|
* sResourcePath (only allowed for GET requests); the resulting resource path is the path from
|
|
1547
1550
|
* sResourcePath plus the merged query options; may only contain $expand and $select
|
|
1551
|
+
* @param {function(string[]):string[]} [fnMergeRequests]
|
|
1552
|
+
* Function which is called during merging of GET requests. If a merged request has a
|
|
1553
|
+
* function given, this function will be called and its return value is
|
|
1554
|
+
* given to the one remaining request's function as a parameter.
|
|
1548
1555
|
* @returns {Promise}
|
|
1549
1556
|
* A promise on the outcome of the HTTP request; it will be rejected with an error having the
|
|
1550
1557
|
* property <code>canceled = true</code> instead of sending a request if
|
|
@@ -1555,7 +1562,8 @@ sap.ui.define([
|
|
|
1555
1562
|
* @public
|
|
1556
1563
|
*/
|
|
1557
1564
|
_Requestor.prototype.request = function (sMethod, sResourcePath, oGroupLock, mHeaders, oPayload,
|
|
1558
|
-
fnSubmit, fnCancel, sMetaPath, sOriginalResourcePath, bAtFront, mQueryOptions
|
|
1565
|
+
fnSubmit, fnCancel, sMetaPath, sOriginalResourcePath, bAtFront, mQueryOptions,
|
|
1566
|
+
fnMergeRequests) {
|
|
1559
1567
|
var iChangeSetNo,
|
|
1560
1568
|
oError,
|
|
1561
1569
|
sGroupId = oGroupLock && oGroupLock.getGroupId() || "$direct",
|
|
@@ -1599,6 +1607,7 @@ sap.ui.define([
|
|
|
1599
1607
|
that.mFinalHeaders),
|
|
1600
1608
|
body : oPayload,
|
|
1601
1609
|
$cancel : fnCancel,
|
|
1610
|
+
$mergeRequests : fnMergeRequests,
|
|
1602
1611
|
$metaPath : sMetaPath,
|
|
1603
1612
|
$queryOptions : mQueryOptions,
|
|
1604
1613
|
$reject : fnReject,
|
|
@@ -228,7 +228,7 @@ sap.ui.define([
|
|
|
228
228
|
*
|
|
229
229
|
* @extends sap.ui.model.Model
|
|
230
230
|
* @public
|
|
231
|
-
* @version 1.
|
|
231
|
+
* @version 1.97.0
|
|
232
232
|
*/
|
|
233
233
|
var ResourceModel = Model.extend("sap.ui.model.resource.ResourceModel", /** @lends sap.ui.model.resource.ResourceModel.prototype */ {
|
|
234
234
|
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.97.0
|
|
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.
|
|
36
|
+
* @version 1.97.0
|
|
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.
|
|
22
|
+
* @version 1.97.0
|
|
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.
|
|
22
|
+
* @version 1.97.0
|
|
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.
|
|
27
|
+
* @version 1.97.0
|
|
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.
|
|
29
|
+
* @version 1.97.0
|
|
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.
|
|
29
|
+
* @version 1.97.0
|
|
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.
|
|
22
|
+
* @version 1.97.0
|
|
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.
|
|
22
|
+
* @version 1.97.0
|
|
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}.
|
|
@@ -47,7 +47,7 @@ sap.ui.define([
|
|
|
47
47
|
* @extends sap.ui.model.ClientModel
|
|
48
48
|
*
|
|
49
49
|
* @author SAP SE
|
|
50
|
-
* @version 1.
|
|
50
|
+
* @version 1.97.0
|
|
51
51
|
*
|
|
52
52
|
* @param {object} oData either the URL where to load the XML from or an XML
|
|
53
53
|
* @public
|
|
@@ -181,7 +181,7 @@ sap.ui.define([
|
|
|
181
181
|
this.oNameSpaces[sPrefix] = sNameSpace;
|
|
182
182
|
};
|
|
183
183
|
|
|
184
|
-
|
|
184
|
+
/*
|
|
185
185
|
* @see sap.ui.model.Model.prototype.bindProperty
|
|
186
186
|
*/
|
|
187
187
|
XMLModel.prototype.bindProperty = function(sPath, oContext, mParameters) {
|
|
@@ -189,7 +189,7 @@ sap.ui.define([
|
|
|
189
189
|
return oBinding;
|
|
190
190
|
};
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
/*
|
|
193
193
|
* @see sap.ui.model.Model.prototype.bindList
|
|
194
194
|
*/
|
|
195
195
|
XMLModel.prototype.bindList = function(sPath, oContext, aSorters, aFilters, mParameters) {
|
|
@@ -197,7 +197,7 @@ sap.ui.define([
|
|
|
197
197
|
return oBinding;
|
|
198
198
|
};
|
|
199
199
|
|
|
200
|
-
|
|
200
|
+
/*
|
|
201
201
|
* @see sap.ui.model.Model.prototype.bindTree
|
|
202
202
|
*/
|
|
203
203
|
XMLModel.prototype.bindTree = function(sPath, oContext, aFilters, mParameters, aSorters) {
|
|
@@ -267,7 +267,7 @@ sap.ui.define([
|
|
|
267
267
|
XMLModel.prototype.getProperty = function(sPath, oContext) {
|
|
268
268
|
var oResult = this._getObject(sPath, oContext);
|
|
269
269
|
if (oResult && typeof oResult != "string") {
|
|
270
|
-
oResult = oResult[0] ? oResult[0].textContent : "";
|
|
270
|
+
oResult = oResult[0] ? oResult[0].textContent : "";
|
|
271
271
|
}
|
|
272
272
|
return oResult;
|
|
273
273
|
};
|
|
@@ -207,9 +207,12 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
|
|
|
207
207
|
*
|
|
208
208
|
* @param {string} sName Name of the mouse event
|
|
209
209
|
* @param {Element} oDomRef DOM element on which the event is going to be triggered
|
|
210
|
+
* @param {boolean} bShiftKey Indicates whether the shift key is down in addition
|
|
211
|
+
* @param {boolean} bAltKey Indicates whether the alt key is down in addition
|
|
212
|
+
* @param {boolean} bCtrlKey Indicates whether the ctrl key is down in addition
|
|
210
213
|
* @private
|
|
211
214
|
*/
|
|
212
|
-
_createAndDispatchMouseEvent: function (sName, oDomRef) {
|
|
215
|
+
_createAndDispatchMouseEvent: function (sName, oDomRef, bShiftKey, bAltKey, bCtrlKey) {
|
|
213
216
|
// ignore scrolled down stuff (client X, Y not set)
|
|
214
217
|
// and assume stuff is over the whole screen (screen X, Y not set)
|
|
215
218
|
// See file jquery.sap.events.js for some insights to the magic
|
|
@@ -224,8 +227,12 @@ function (ManagedObject, QUnitUtils, Opa5, Device, jQueryDOM, _OpaLogger) {
|
|
|
224
227
|
radiusY: 1,
|
|
225
228
|
rotationAngle: 0,
|
|
226
229
|
button: iLeftMouseButtonIndex,
|
|
227
|
-
type: sName // include the type so jQuery.event.fixHooks can copy properties properly
|
|
230
|
+
type: sName, // include the type so jQuery.event.fixHooks can copy properties properly
|
|
231
|
+
shiftKey: bShiftKey,
|
|
232
|
+
altKey: bAltKey,
|
|
233
|
+
ctrlKey: bCtrlKey
|
|
228
234
|
});
|
|
235
|
+
|
|
229
236
|
oDomRef.dispatchEvent(oMouseEvent);
|
|
230
237
|
},
|
|
231
238
|
|