@openui5/sap.ui.core 1.96.5 → 1.99.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 +93 -3
- package/.reuse/dep5 +26 -31
- package/THIRDPARTY.txt +15 -21
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.mobile.js +29 -19
- 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 +81 -169
- package/src/sap/ui/Global.js +11 -16
- package/src/sap/ui/VersionInfo.js +13 -10
- package/src/sap/ui/base/BindingParser.js +34 -7
- 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 +50 -29
- 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/BusyIndicatorUtils.js +1 -1
- package/src/sap/ui/core/Component.js +33 -11
- 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 +79 -13
- package/src/sap/ui/core/Control.js +4 -3
- package/src/sap/ui/core/Core.js +4 -7
- 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 +6 -12
- 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/ExtensionPoint.js +1 -1
- package/src/sap/ui/core/FocusHandler.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/HTMLRenderer.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +2 -3
- package/src/sap/ui/core/IconRenderer.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 +9 -2
- 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/LocalBusyIndicatorRenderer.js +2 -2
- package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +39 -4
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Placeholder.js +28 -28
- package/src/sap/ui/core/Popup.js +3 -3
- 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/ScrollBarRenderer.js +1 -1
- 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 +2 -2
- 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 +26 -5
- package/src/sap/ui/core/_IconRegistry.js +10 -1
- package/src/sap/ui/core/cache/LRUPersistentCache.js +4 -2
- package/src/sap/ui/core/date/Japanese.js +1 -1
- package/src/sap/ui/core/date/UniversalDateUtils.js +205 -2
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
- package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
- 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 +562 -174
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +43 -0
- package/src/sap/ui/core/format/ListFormat.js +2 -2
- package/src/sap/ui/core/format/NumberFormat.js +1 -1
- package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +47 -10
- 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/MessageMixin.js +2 -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.properties +4 -0
- package/src/sap/ui/core/messagebundle_ar.properties +2 -0
- package/src/sap/ui/core/messagebundle_bg.properties +7 -5
- package/src/sap/ui/core/messagebundle_ca.properties +2 -0
- package/src/sap/ui/core/messagebundle_cs.properties +2 -0
- package/src/sap/ui/core/messagebundle_cy.properties +2 -0
- package/src/sap/ui/core/messagebundle_da.properties +2 -0
- package/src/sap/ui/core/messagebundle_de.properties +3 -1
- package/src/sap/ui/core/messagebundle_el.properties +2 -0
- package/src/sap/ui/core/messagebundle_en.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +2 -0
- package/src/sap/ui/core/messagebundle_es.properties +2 -0
- package/src/sap/ui/core/messagebundle_es_MX.properties +2 -0
- package/src/sap/ui/core/messagebundle_et.properties +2 -0
- package/src/sap/ui/core/messagebundle_fi.properties +2 -0
- package/src/sap/ui/core/messagebundle_fr.properties +9 -7
- package/src/sap/ui/core/messagebundle_fr_CA.properties +2 -0
- package/src/sap/ui/core/messagebundle_hi.properties +2 -0
- package/src/sap/ui/core/messagebundle_hr.properties +2 -0
- package/src/sap/ui/core/messagebundle_hu.properties +2 -0
- package/src/sap/ui/core/messagebundle_id.properties +4 -2
- package/src/sap/ui/core/messagebundle_it.properties +3 -1
- package/src/sap/ui/core/messagebundle_iw.properties +2 -0
- package/src/sap/ui/core/messagebundle_ja.properties +2 -0
- package/src/sap/ui/core/messagebundle_kk.properties +2 -0
- package/src/sap/ui/core/messagebundle_ko.properties +2 -0
- package/src/sap/ui/core/messagebundle_lt.properties +2 -0
- package/src/sap/ui/core/messagebundle_lv.properties +3 -1
- package/src/sap/ui/core/messagebundle_ms.properties +2 -0
- package/src/sap/ui/core/messagebundle_nl.properties +2 -0
- package/src/sap/ui/core/messagebundle_no.properties +6 -4
- package/src/sap/ui/core/messagebundle_pl.properties +2 -0
- package/src/sap/ui/core/messagebundle_pt.properties +2 -0
- package/src/sap/ui/core/messagebundle_pt_PT.properties +2 -0
- package/src/sap/ui/core/messagebundle_ro.properties +2 -0
- package/src/sap/ui/core/messagebundle_ru.properties +23 -21
- package/src/sap/ui/core/messagebundle_sh.properties +2 -0
- package/src/sap/ui/core/messagebundle_sk.properties +2 -0
- package/src/sap/ui/core/messagebundle_sl.properties +2 -0
- package/src/sap/ui/core/messagebundle_sv.properties +2 -0
- package/src/sap/ui/core/messagebundle_th.properties +2 -0
- package/src/sap/ui/core/messagebundle_tr.properties +2 -0
- package/src/sap/ui/core/messagebundle_uk.properties +2 -0
- package/src/sap/ui/core/messagebundle_vi.properties +2 -0
- package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/ui/core/messagebundle_zh_TW.properties +2 -0
- 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/HTMLViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +2 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/View.js +2 -1
- package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +16 -3
- 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/routing/Route.js +6 -6
- package/src/sap/ui/core/routing/Router.js +4 -3
- package/src/sap/ui/core/routing/Targets.js +17 -13
- package/src/sap/ui/core/rules/Misc.support.js +51 -1
- package/src/sap/ui/core/rules/Model.support.js +95 -8
- 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 +2 -6
- package/src/sap/ui/core/support/trace/E2eTraceLib.js +3 -3
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- 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/DraftEnabledMockServer.js +21 -16
- 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 +157 -58
- package/src/sap/ui/core/util/PasteHelper.js +4 -4
- package/src/sap/ui/core/util/XMLPreprocessor.js +16 -4
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.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/dom/includeStylesheet.js +8 -3
- package/src/sap/ui/events/jquery/EventExtension.js +1 -1
- package/src/sap/ui/events/jquery/EventSimulation.js +3 -13
- package/src/sap/ui/model/Binding.js +4 -3
- 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/ClientTreeBinding.js +1 -1
- package/src/sap/ui/model/ClientTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +26 -4
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +27 -6
- package/src/sap/ui/model/ListBinding.js +24 -5
- package/src/sap/ui/model/MetaModel.js +2 -3
- package/src/sap/ui/model/Model.js +6 -11
- 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 +13 -8
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +16 -18
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -15
- package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
- package/src/sap/ui/model/json/JSONListBinding.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +7 -7
- package/src/sap/ui/model/json/JSONPropertyBinding.js +2 -2
- package/src/sap/ui/model/message/MessageListBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +3 -3
- package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
- 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 +62 -39
- 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 +138 -87
- package/src/sap/ui/model/odata/ODataModel.js +443 -216
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +7 -5
- package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
- 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 +3 -2
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +11 -9
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.js +7 -5
- 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 +338 -0
- 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 +1 -2
- package/src/sap/ui/model/odata/v2/Context.js +98 -14
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +418 -172
- package/src/sap/ui/model/odata/v2/ODataModel.js +242 -138
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +164 -92
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +117 -7
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +21 -22
- package/src/sap/ui/model/odata/v4/Context.js +249 -83
- package/src/sap/ui/model/odata/v4/ODataBinding.js +100 -43
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +309 -228
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +573 -278
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +131 -100
- package/src/sap/ui/model/odata/v4/ODataModel.js +342 -259
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +113 -100
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +87 -81
- package/src/sap/ui/model/odata/v4/ODataUtils.js +5 -5
- package/src/sap/ui/model/odata/v4/SubmitMode.js +0 -1
- package/src/sap/ui/model/odata/v4/ValueListType.js +0 -1
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +20 -20
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +3 -5
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -4
- package/src/sap/ui/model/odata/v4/lib/_Batch.js +21 -20
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +278 -103
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +55 -21
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +62 -61
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +52 -43
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +61 -41
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +147 -147
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +14 -13
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +66 -67
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/resource/ResourcePropertyBinding.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/XMLListBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +5 -5
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +2 -2
- package/src/sap/ui/performance/trace/Passport.js +3 -3
- 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/BlanketReporter.js +1 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/TestUtils.js +2 -2
- package/src/sap/ui/test/_LogCollector.js +1 -1
- package/src/sap/ui/test/actions/Action.js +11 -2
- package/src/sap/ui/test/actions/Press.js +79 -3
- package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
- package/src/sap/ui/test/generic/_EnforceSemanticRendering.js +111 -0
- package/src/sap/ui/test/starter/createSuite.js +1 -2
- package/src/sap/ui/thirdparty/jquery-mobile-custom.js +3 -6
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
- package/src/sap/ui/util/Mobile.js +28 -39
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/XMLHelper.js +53 -30
- package/src/ui5loader.js +9 -9
- 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
|
@@ -166,6 +166,7 @@ sap.ui.define([
|
|
|
166
166
|
}
|
|
167
167
|
break;
|
|
168
168
|
case "$$canonicalPath":
|
|
169
|
+
case "$$getKeepAliveContext":
|
|
169
170
|
case "$$noPatch":
|
|
170
171
|
case "$$ownRequest":
|
|
171
172
|
case "$$patchWithoutSideEffects":
|
|
@@ -214,15 +215,13 @@ sap.ui.define([
|
|
|
214
215
|
*/
|
|
215
216
|
// @override sap.ui.model.Binding#checkUpdate
|
|
216
217
|
ODataBinding.prototype.checkUpdate = function (bForceUpdate) {
|
|
217
|
-
var that = this;
|
|
218
|
-
|
|
219
218
|
if (arguments.length > 1) {
|
|
220
219
|
throw new Error("Only the parameter bForceUpdate is supported");
|
|
221
220
|
}
|
|
222
221
|
|
|
223
|
-
this.checkUpdateInternal(bForceUpdate).catch(
|
|
224
|
-
|
|
225
|
-
|
|
222
|
+
this.checkUpdateInternal(bForceUpdate).catch(this.oModel.getReporter());
|
|
223
|
+
// do not rethrow, ManagedObject doesn't react on this either
|
|
224
|
+
// throwing an error would cause "Uncaught (in promise)" in Chrome
|
|
226
225
|
};
|
|
227
226
|
|
|
228
227
|
/**
|
|
@@ -234,7 +233,7 @@ sap.ui.define([
|
|
|
234
233
|
* Whether the change event is fired in any case (only allowed for property bindings)
|
|
235
234
|
* @returns {sap.ui.base.SyncPromise}
|
|
236
235
|
* A promise resolving without a defined result when the check is finished, or rejecting in
|
|
237
|
-
* case of an error
|
|
236
|
+
* case of an error
|
|
238
237
|
* @throws {Error} If called with illegal parameters
|
|
239
238
|
*
|
|
240
239
|
* @abstract
|
|
@@ -255,12 +254,18 @@ sap.ui.define([
|
|
|
255
254
|
* The resource path
|
|
256
255
|
* @param {sap.ui.model.Context} [oContext]
|
|
257
256
|
* The context instance to be used, undefined for absolute bindings
|
|
258
|
-
* @
|
|
259
|
-
*
|
|
257
|
+
* @param {boolean} [bOldCacheReadOnly]
|
|
258
|
+
* Whether the old cache is read-only and must be kept intact - not reset and reused!
|
|
259
|
+
* @param {sap.ui.model.odata.v4.lib._Cache} [oOldCache]
|
|
260
|
+
* The old cache, in case it may be reused
|
|
261
|
+
* @returns {sap.ui.model.odata.v4.lib._Cache}
|
|
262
|
+
* The cache or <code>null</code> if the binding is relative and the given context is
|
|
263
|
+
* transient
|
|
260
264
|
*
|
|
261
265
|
* @private
|
|
262
266
|
*/
|
|
263
|
-
ODataBinding.prototype.createAndSetCache = function (mQueryOptions, sResourcePath, oContext
|
|
267
|
+
ODataBinding.prototype.createAndSetCache = function (mQueryOptions, sResourcePath, oContext,
|
|
268
|
+
bOldCacheReadOnly, oOldCache) {
|
|
264
269
|
var oCache, sDeepResourcePath, iGeneration;
|
|
265
270
|
|
|
266
271
|
this.mCacheQueryOptions = Object.assign({}, this.oModel.mUriParameters, mQueryOptions);
|
|
@@ -282,9 +287,9 @@ sap.ui.define([
|
|
|
282
287
|
if (oCache && oCache.$generation >= iGeneration) {
|
|
283
288
|
oCache.setActive(true);
|
|
284
289
|
} else {
|
|
285
|
-
sDeepResourcePath =
|
|
290
|
+
sDeepResourcePath = this.oModel.resolve(this.sPath, oContext).slice(1);
|
|
286
291
|
oCache = this.doCreateCache(sResourcePath, this.mCacheQueryOptions, oContext,
|
|
287
|
-
sDeepResourcePath);
|
|
292
|
+
sDeepResourcePath, bOldCacheReadOnly, oOldCache);
|
|
288
293
|
if (!(this.mParameters && this.mParameters.$$sharedRequest)) {
|
|
289
294
|
this.mCacheByResourcePath = this.mCacheByResourcePath || {};
|
|
290
295
|
this.mCacheByResourcePath[sResourcePath] = oCache;
|
|
@@ -293,10 +298,16 @@ sap.ui.define([
|
|
|
293
298
|
oCache.$generation = iGeneration;
|
|
294
299
|
}
|
|
295
300
|
} else { // absolute binding
|
|
296
|
-
oCache = this.doCreateCache(sResourcePath, this.mCacheQueryOptions
|
|
301
|
+
oCache = this.doCreateCache(sResourcePath, this.mCacheQueryOptions, undefined,
|
|
302
|
+
undefined, bOldCacheReadOnly, oOldCache);
|
|
297
303
|
}
|
|
298
|
-
if (
|
|
299
|
-
|
|
304
|
+
if (oOldCache !== oCache) {
|
|
305
|
+
if (oOldCache) {
|
|
306
|
+
oOldCache.setActive(false);
|
|
307
|
+
}
|
|
308
|
+
if (this.mLateQueryOptions) {
|
|
309
|
+
oCache.setLateQueryOptions(this.mLateQueryOptions);
|
|
310
|
+
}
|
|
300
311
|
}
|
|
301
312
|
this.oCache = oCache;
|
|
302
313
|
|
|
@@ -337,6 +348,10 @@ sap.ui.define([
|
|
|
337
348
|
* The context instance to be used, must be <code>undefined</code> for absolute bindings
|
|
338
349
|
* @param {string} [sDeepResourcePath=sResourcePath]
|
|
339
350
|
* The deep resource path to be used to build the target path for bound messages
|
|
351
|
+
* @param {boolean} [bOldCacheReadOnly]
|
|
352
|
+
* Whether the old cache is read-only and must be kept intact - not reset and reused!
|
|
353
|
+
* @param {sap.ui.model.odata.v4.lib._Cache} [oOldCache]
|
|
354
|
+
* The old cache, in case it may be reused
|
|
340
355
|
* @returns {sap.ui.model.odata.v4.lib._Cache}
|
|
341
356
|
* The new cache instance
|
|
342
357
|
*
|
|
@@ -387,15 +402,22 @@ sap.ui.define([
|
|
|
387
402
|
* @param {boolean} [bKeepQueryOptions]
|
|
388
403
|
* Whether to keep existing (late) query options and not to run auto-$expand/$select again
|
|
389
404
|
* (cannot be combined with <code>bIgnoreParentCache</code>!)
|
|
405
|
+
* @param {boolean} [bKeepCacheOnError]
|
|
406
|
+
* If <code>true</code>, the binding data remains unchanged if the refresh fails. This implies
|
|
407
|
+
* that the old cache must be kept intact - not reset and reused!
|
|
390
408
|
* @throws {Error}
|
|
391
409
|
* If auto-$expand/$select is still running and query options shall be kept (this case is just
|
|
392
410
|
* not yet implemented and should not be needed)
|
|
393
411
|
*
|
|
394
412
|
* @private
|
|
395
413
|
*/
|
|
396
|
-
ODataBinding.prototype.fetchCache = function (oContext, bIgnoreParentCache, bKeepQueryOptions
|
|
414
|
+
ODataBinding.prototype.fetchCache = function (oContext, bIgnoreParentCache, bKeepQueryOptions,
|
|
415
|
+
bKeepCacheOnError) {
|
|
397
416
|
var oCache = this.oCache,
|
|
398
|
-
oCallToken = {
|
|
417
|
+
oCallToken = {
|
|
418
|
+
// propagate old cache from first call of fetchCache to the latest call
|
|
419
|
+
oOldCache : oCache === undefined ? this.oFetchCacheCallToken.oOldCache : oCache
|
|
420
|
+
},
|
|
399
421
|
aPromises,
|
|
400
422
|
that = this;
|
|
401
423
|
|
|
@@ -403,25 +425,21 @@ sap.ui.define([
|
|
|
403
425
|
oContext = undefined;
|
|
404
426
|
}
|
|
405
427
|
|
|
406
|
-
if (oCache) {
|
|
407
|
-
// if oCachePromise is pending no cache will be created because of oFetchCacheCallToken
|
|
408
|
-
oCache.setActive(false);
|
|
409
|
-
} else if (bKeepQueryOptions) {
|
|
428
|
+
if (!oCache && bKeepQueryOptions) {
|
|
410
429
|
if (oCache === undefined) {
|
|
411
430
|
throw new Error("Unsupported bKeepQueryOptions while oCachePromise is pending");
|
|
412
431
|
}
|
|
413
|
-
this.oFetchCacheCallToken = undefined;
|
|
414
432
|
return;
|
|
415
433
|
}
|
|
416
434
|
|
|
417
435
|
this.oCache = undefined;
|
|
436
|
+
this.oFetchCacheCallToken = oCallToken;
|
|
418
437
|
if (bKeepQueryOptions) {
|
|
419
438
|
// asynchronously re-create an equivalent cache
|
|
420
439
|
this.oCachePromise = SyncPromise.resolve(Promise.resolve()).then(function () {
|
|
421
440
|
return that.createAndSetCache(that.mCacheQueryOptions, oCache.getResourcePath(),
|
|
422
|
-
oContext);
|
|
441
|
+
oContext, bKeepCacheOnError, oCache);
|
|
423
442
|
});
|
|
424
|
-
this.oFetchCacheCallToken = undefined;
|
|
425
443
|
return;
|
|
426
444
|
}
|
|
427
445
|
|
|
@@ -430,7 +448,6 @@ sap.ui.define([
|
|
|
430
448
|
this.oModel.oRequestor.ready()
|
|
431
449
|
];
|
|
432
450
|
this.mCacheQueryOptions = undefined;
|
|
433
|
-
this.oFetchCacheCallToken = oCallToken;
|
|
434
451
|
this.oCachePromise = SyncPromise.all(aPromises).then(function (aResult) {
|
|
435
452
|
var mQueryOptions = aResult[0].mQueryOptions;
|
|
436
453
|
|
|
@@ -447,7 +464,8 @@ sap.ui.define([
|
|
|
447
464
|
oError.canceled = true;
|
|
448
465
|
throw oError;
|
|
449
466
|
}
|
|
450
|
-
return that.createAndSetCache(mQueryOptions, sResourcePath, oContext
|
|
467
|
+
return that.createAndSetCache(mQueryOptions, sResourcePath, oContext,
|
|
468
|
+
bKeepCacheOnError, oCallToken.oOldCache);
|
|
451
469
|
});
|
|
452
470
|
}
|
|
453
471
|
that.oCache = null;
|
|
@@ -516,7 +534,7 @@ sap.ui.define([
|
|
|
516
534
|
// With $$aggregation, no auto-$expand/$select is needed
|
|
517
535
|
oQueryOptionsPromise = this.doFetchQueryOptions(oContext);
|
|
518
536
|
if (this.oModel.bAutoExpandSelect && this.aChildCanUseCachePromises
|
|
519
|
-
&& !
|
|
537
|
+
&& !this.mParameters.$$aggregation) {
|
|
520
538
|
// For auto-$expand/$select, wait for query options of dependent bindings:
|
|
521
539
|
// Promise.resolve() ensures all dependent bindings are created and have sent their
|
|
522
540
|
// query options promise to this binding via fetchIfChildCanUseCache.
|
|
@@ -535,7 +553,7 @@ sap.ui.define([
|
|
|
535
553
|
}
|
|
536
554
|
|
|
537
555
|
// parent cache is ignored or (quasi-)absolute binding
|
|
538
|
-
if (bIgnoreParentCache || !this.bRelative || !oContext.fetchValue)
|
|
556
|
+
if (bIgnoreParentCache || !this.bRelative || !oContext.fetchValue) {
|
|
539
557
|
// the binding shall create its own cache
|
|
540
558
|
return wrapQueryOptions(oQueryOptionsPromise);
|
|
541
559
|
}
|
|
@@ -550,7 +568,8 @@ sap.ui.define([
|
|
|
550
568
|
return wrapQueryOptions(oQueryOptionsPromise);
|
|
551
569
|
}
|
|
552
570
|
return oContext.getBinding()
|
|
553
|
-
.fetchIfChildCanUseCache(oContext, that.sPath, oQueryOptionsPromise
|
|
571
|
+
.fetchIfChildCanUseCache(oContext, that.sPath, oQueryOptionsPromise,
|
|
572
|
+
!this.mParameters) // duck typing for property binding
|
|
554
573
|
.then(function (sReducedPath) {
|
|
555
574
|
return wrapQueryOptions(sReducedPath ? undefined : oQueryOptionsPromise,
|
|
556
575
|
sReducedPath);
|
|
@@ -661,7 +680,7 @@ sap.ui.define([
|
|
|
661
680
|
*
|
|
662
681
|
* @param {string} sPath
|
|
663
682
|
* A path (absolute or relative to this binding)
|
|
664
|
-
* @returns {string}
|
|
683
|
+
* @returns {string|undefined}
|
|
665
684
|
* The given path, if it is already relative; otherwise the path relative to the binding's
|
|
666
685
|
* resolved path or return value context path; <code>undefined</code> if the path does not
|
|
667
686
|
* start with either of these paths.
|
|
@@ -689,7 +708,7 @@ sap.ui.define([
|
|
|
689
708
|
* Returns the "strongest" change reason that {@link #resume} would fire for this binding or any
|
|
690
709
|
* of its dependents.
|
|
691
710
|
*
|
|
692
|
-
* @returns {sap.ui.model.ChangeReason}
|
|
711
|
+
* @returns {sap.ui.model.ChangeReason|undefined}
|
|
693
712
|
* The "strongest" change reason, or <code>undefined</code>
|
|
694
713
|
*
|
|
695
714
|
* @private
|
|
@@ -714,7 +733,7 @@ sap.ui.define([
|
|
|
714
733
|
/**
|
|
715
734
|
* Returns a promise which resolves as soon as this binding is resumed.
|
|
716
735
|
*
|
|
717
|
-
* @returns {sap.ui.base.SyncPromise}
|
|
736
|
+
* @returns {sap.ui.base.SyncPromise|undefined}
|
|
718
737
|
* This binding's current promise for {@link sap.ui.model.odata.v4.ODataParentBinding#resume},
|
|
719
738
|
* or <code>undefined</code> in case it is not currently suspended.
|
|
720
739
|
*
|
|
@@ -729,7 +748,8 @@ sap.ui.define([
|
|
|
729
748
|
* Returns the root binding of this binding's hierarchy, see binding
|
|
730
749
|
* {@link topic:54e0ddf695af4a6c978472cecb01c64d Initialization and Read Requests}.
|
|
731
750
|
*
|
|
732
|
-
* @returns {sap.ui.model.odata.v4.ODataContextBinding|sap.ui.model.odata.v4.ODataListBinding|
|
|
751
|
+
* @returns {sap.ui.model.odata.v4.ODataContextBinding|sap.ui.model.odata.v4.ODataListBinding|
|
|
752
|
+
* sap.ui.model.odata.v4.ODataPropertyBinding|undefined}
|
|
733
753
|
* The root binding or <code>undefined</code> if this binding is unresolved (see
|
|
734
754
|
* {@link sap.ui.model.Binding#isResolved}).
|
|
735
755
|
*
|
|
@@ -796,22 +816,35 @@ sap.ui.define([
|
|
|
796
816
|
* changes or created entities which have not been sent successfully to the server. This
|
|
797
817
|
* function does not take into account the deletion of entities (see
|
|
798
818
|
* {@link sap.ui.model.odata.v4.Context#delete}) and the execution of OData operations
|
|
799
|
-
* (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}).
|
|
819
|
+
* (see {@link sap.ui.model.odata.v4.ODataContextBinding#execute}). Since 1.98.0,
|
|
820
|
+
* {@link sap.ui.model.odata.v4.Context#isInactive inactive} contexts are ignored.
|
|
800
821
|
*
|
|
801
822
|
* Note: If this binding is relative, its data is cached separately for each parent context
|
|
802
823
|
* path. This method returns <code>true</code> if there are pending changes for the current
|
|
803
824
|
* parent context path of this binding. If this binding is unresolved (see
|
|
804
825
|
* {@link sap.ui.model.Binding#isResolved}), it returns <code>false</code>.
|
|
805
826
|
*
|
|
827
|
+
* @param {boolean} [bIgnoreKeptAlive]
|
|
828
|
+
* Whether to ignore changes which will not be lost by APIs like
|
|
829
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#changeParameters changeParameters},
|
|
830
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#filter filter},
|
|
831
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#sort sort}, or
|
|
832
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#suspend suspend} because they relate to a
|
|
833
|
+
* {@link sap.ui.model.odata.v4.Context#setKeepAlive kept-alive} context of this binding.
|
|
834
|
+
* Since 1.98.0, {@link sap.ui.model.odata.v4.Context#isTransient transient} contexts
|
|
835
|
+
* of a {@link #getRootBinding root binding} are treated as kept-alive by this flag.
|
|
836
|
+
* Since 1.99.0, the same happens for bindings using the <code>$$ownRequest</code> parameter
|
|
837
|
+
* (see {@link sap.ui.model.odata.v4.ODataModel#bindList}).
|
|
806
838
|
* @returns {boolean}
|
|
807
839
|
* <code>true</code> if the binding is resolved and has pending changes
|
|
808
840
|
*
|
|
809
841
|
* @public
|
|
810
842
|
* @since 1.39.0
|
|
811
843
|
*/
|
|
812
|
-
ODataBinding.prototype.hasPendingChanges = function () {
|
|
844
|
+
ODataBinding.prototype.hasPendingChanges = function (bIgnoreKeptAlive) {
|
|
813
845
|
return this.isResolved()
|
|
814
|
-
&& (this.hasPendingChangesForPath(""
|
|
846
|
+
&& (this.hasPendingChangesForPath("", bIgnoreKeptAlive)
|
|
847
|
+
|| this.hasPendingChangesInDependents(bIgnoreKeptAlive));
|
|
815
848
|
};
|
|
816
849
|
|
|
817
850
|
/**
|
|
@@ -820,20 +853,24 @@ sap.ui.define([
|
|
|
820
853
|
*
|
|
821
854
|
* @param {string} sPath
|
|
822
855
|
* The path (absolute or relative to this binding)
|
|
856
|
+
* @param {boolean} [bIgnoreKeptAlive]
|
|
857
|
+
* Whether to ignore changes which will not be lost by APIs like sort or filter because they
|
|
858
|
+
* relate to a context which is kept alive.
|
|
823
859
|
* @returns {boolean}
|
|
824
860
|
* <code>true</code> if there are pending changes for the path
|
|
825
861
|
*
|
|
826
862
|
* @private
|
|
827
863
|
*/
|
|
828
|
-
ODataBinding.prototype.hasPendingChangesForPath = function (sPath) {
|
|
829
|
-
return this.withCache(function (oCache, sCachePath) {
|
|
830
|
-
return oCache.hasPendingChangesForPath(sCachePath
|
|
864
|
+
ODataBinding.prototype.hasPendingChangesForPath = function (sPath, bIgnoreKeptAlive) {
|
|
865
|
+
return this.withCache(function (oCache, sCachePath, oBinding) {
|
|
866
|
+
return oCache.hasPendingChangesForPath(sCachePath, bIgnoreKeptAlive,
|
|
867
|
+
bIgnoreKeptAlive && (oBinding.isRoot() || oBinding.mParameters.$$ownRequest));
|
|
831
868
|
}, sPath, true).unwrap();
|
|
832
869
|
};
|
|
833
870
|
|
|
834
871
|
/**
|
|
835
872
|
* Checks whether there are pending changes in caches stored by resource path at this binding
|
|
836
|
-
* which have the given resource path as prefix.
|
|
873
|
+
* which have the given resource path as prefix. Called for unresolved bindings only.
|
|
837
874
|
*
|
|
838
875
|
* @param {string} sResourcePathPrefix
|
|
839
876
|
* The resource path prefix to identify the relevant caches
|
|
@@ -859,6 +896,9 @@ sap.ui.define([
|
|
|
859
896
|
/**
|
|
860
897
|
* Returns whether any dependent binding of this binding has pending changes
|
|
861
898
|
*
|
|
899
|
+
* @param {boolean} [bIgnoreKeptAlive]
|
|
900
|
+
* Whether to ignore changes which will not be lost by APIs like sort or filter because they
|
|
901
|
+
* relate to a context which is kept alive.
|
|
862
902
|
* @returns {boolean}
|
|
863
903
|
* <code>true</code> if this binding has pending changes
|
|
864
904
|
*
|
|
@@ -1012,6 +1052,24 @@ sap.ui.define([
|
|
|
1012
1052
|
* @private
|
|
1013
1053
|
*/
|
|
1014
1054
|
|
|
1055
|
+
/**
|
|
1056
|
+
* Refreshes the binding; expects it to be suspended.
|
|
1057
|
+
*
|
|
1058
|
+
* @param {string} sGroupId
|
|
1059
|
+
* The group ID to be used for the refresh
|
|
1060
|
+
* @throws {Error}
|
|
1061
|
+
* If a group ID different from the binding's group ID is given
|
|
1062
|
+
|
|
1063
|
+
* @private
|
|
1064
|
+
*/
|
|
1065
|
+
ODataBinding.prototype.refreshSuspended = function (sGroupId) {
|
|
1066
|
+
if (sGroupId && sGroupId !== this.getGroupId()) {
|
|
1067
|
+
throw new Error(this + ": Cannot refresh a suspended binding with group ID '"
|
|
1068
|
+
+ sGroupId + "' (own group ID is '" + this.getGroupId() + "')");
|
|
1069
|
+
}
|
|
1070
|
+
this.setResumeChangeReason(ChangeReason.Refresh);
|
|
1071
|
+
};
|
|
1072
|
+
|
|
1015
1073
|
/**
|
|
1016
1074
|
* Remove this binding's caches and non-persistent messages. The binding's active cache removes
|
|
1017
1075
|
* only its own messages. Inactive caches with a deep resource path starting with the given
|
|
@@ -1052,7 +1110,7 @@ sap.ui.define([
|
|
|
1052
1110
|
* The effective group ID
|
|
1053
1111
|
* @param {string[]} aAbsolutePaths
|
|
1054
1112
|
* The absolute paths to request side effects for
|
|
1055
|
-
* @returns {sap.ui.base.SyncPromise}
|
|
1113
|
+
* @returns {sap.ui.base.SyncPromise|undefined}
|
|
1056
1114
|
* A promise resolving without a defined result, or rejecting with an error if loading of side
|
|
1057
1115
|
* effects fails, or <code>undefined</code> if there is nothing to do
|
|
1058
1116
|
*
|
|
@@ -1077,7 +1135,7 @@ sap.ui.define([
|
|
|
1077
1135
|
if (this.requestSideEffects) {
|
|
1078
1136
|
return this.requestSideEffects(sGroupId, aPaths);
|
|
1079
1137
|
}
|
|
1080
|
-
return this.refreshInternal("", sGroupId, true);
|
|
1138
|
+
return this.refreshInternal("", sGroupId, true, true);
|
|
1081
1139
|
}
|
|
1082
1140
|
// return undefined;
|
|
1083
1141
|
};
|
|
@@ -1203,7 +1261,7 @@ sap.ui.define([
|
|
|
1203
1261
|
* @since 1.37.0
|
|
1204
1262
|
*/
|
|
1205
1263
|
ODataBinding.prototype.toString = function () {
|
|
1206
|
-
return this.getMetadata().getName() + ": " + (this.bRelative
|
|
1264
|
+
return this.getMetadata().getName() + ": " + (this.bRelative ? this.oContext + "|" : "")
|
|
1207
1265
|
+ this.sPath;
|
|
1208
1266
|
};
|
|
1209
1267
|
|
|
@@ -1298,7 +1356,6 @@ sap.ui.define([
|
|
|
1298
1356
|
"adjustPredicate",
|
|
1299
1357
|
"destroy",
|
|
1300
1358
|
"doDeregisterChangeListener",
|
|
1301
|
-
"fetchCache",
|
|
1302
1359
|
"hasPendingChangesForPath"
|
|
1303
1360
|
].forEach(function (sMethod) { // method not final, allow for "super" calls
|
|
1304
1361
|
asODataBinding.prototype[sMethod] = ODataBinding.prototype[sMethod];
|