@openui5/sap.ui.core 1.99.0 → 1.100.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/THIRDPARTY.txt +2 -2
- package/package.json +1 -1
- package/src/jquery.sap.global.js +6 -3
- 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/Log.js +1 -1
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/LoaderExtensions.js +1 -10
- package/src/sap/base/util/UriParameters.js +2 -2
- 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/ExpressionParser.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -1
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- package/src/sap/ui/base/ManagedObjectObserver.js +2 -0
- 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 +2 -2
- 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 +2 -2
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +3 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +3 -1
- 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 +17 -3
- 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 +24 -5
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +3 -3
- package/src/sap/ui/core/Popup.js +9 -6
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/XMLTemplateProcessor.js +7 -6
- package/src/sap/ui/core/_IconRegistry.js +3 -2
- package/src/sap/ui/core/cache/CacheManager.js +1 -1
- package/src/sap/ui/core/cache/LRUPersistentCache.js +2 -1
- package/src/sap/ui/core/cldr/en_AU.json +1 -1
- package/src/sap/ui/core/date/Buddhist.js +3 -3
- package/src/sap/ui/core/date/Japanese.js +3 -3
- package/src/sap/ui/core/date/UniversalDate.js +10 -0
- package/src/sap/ui/core/date/UniversalDateUtils.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/DragAndDrop.js +19 -16
- 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 +3 -3
- package/src/sap/ui/core/format/DateFormat.js +125 -61
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +1 -0
- package/src/sap/ui/core/format/NumberFormat.js +331 -179
- 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 +85 -49
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle.properties +0 -2
- package/src/sap/ui/core/messagebundle_ar.properties +0 -1
- package/src/sap/ui/core/messagebundle_bg.properties +0 -1
- package/src/sap/ui/core/messagebundle_ca.properties +0 -1
- package/src/sap/ui/core/messagebundle_cs.properties +0 -1
- package/src/sap/ui/core/messagebundle_cy.properties +0 -1
- package/src/sap/ui/core/messagebundle_da.properties +0 -1
- package/src/sap/ui/core/messagebundle_de.properties +0 -1
- package/src/sap/ui/core/messagebundle_el.properties +0 -1
- package/src/sap/ui/core/messagebundle_en.properties +0 -1
- package/src/sap/ui/core/messagebundle_en_GB.properties +0 -1
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +0 -1
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +0 -1
- package/src/sap/ui/core/messagebundle_es.properties +0 -1
- package/src/sap/ui/core/messagebundle_es_MX.properties +0 -1
- package/src/sap/ui/core/messagebundle_et.properties +0 -1
- package/src/sap/ui/core/messagebundle_fi.properties +0 -1
- package/src/sap/ui/core/messagebundle_fr.properties +0 -1
- package/src/sap/ui/core/messagebundle_fr_CA.properties +0 -1
- package/src/sap/ui/core/messagebundle_hi.properties +0 -1
- package/src/sap/ui/core/messagebundle_hr.properties +0 -1
- package/src/sap/ui/core/messagebundle_hu.properties +0 -1
- package/src/sap/ui/core/messagebundle_id.properties +0 -1
- package/src/sap/ui/core/messagebundle_it.properties +0 -1
- package/src/sap/ui/core/messagebundle_iw.properties +0 -1
- package/src/sap/ui/core/messagebundle_ja.properties +0 -1
- package/src/sap/ui/core/messagebundle_kk.properties +0 -1
- package/src/sap/ui/core/messagebundle_ko.properties +1 -2
- package/src/sap/ui/core/messagebundle_lt.properties +0 -1
- package/src/sap/ui/core/messagebundle_lv.properties +0 -1
- package/src/sap/ui/core/messagebundle_ms.properties +0 -1
- package/src/sap/ui/core/messagebundle_nl.properties +0 -1
- package/src/sap/ui/core/messagebundle_no.properties +0 -1
- package/src/sap/ui/core/messagebundle_pl.properties +0 -1
- package/src/sap/ui/core/messagebundle_pt.properties +0 -1
- package/src/sap/ui/core/messagebundle_pt_PT.properties +0 -1
- package/src/sap/ui/core/messagebundle_ro.properties +0 -1
- package/src/sap/ui/core/messagebundle_ru.properties +0 -1
- package/src/sap/ui/core/messagebundle_sh.properties +0 -1
- package/src/sap/ui/core/messagebundle_sk.properties +0 -1
- package/src/sap/ui/core/messagebundle_sl.properties +0 -1
- package/src/sap/ui/core/messagebundle_sv.properties +0 -1
- package/src/sap/ui/core/messagebundle_th.properties +0 -1
- package/src/sap/ui/core/messagebundle_tr.properties +0 -1
- package/src/sap/ui/core/messagebundle_uk.properties +0 -1
- package/src/sap/ui/core/messagebundle_vi.properties +0 -1
- package/src/sap/ui/core/messagebundle_zh_CN.properties +0 -1
- package/src/sap/ui/core/messagebundle_zh_TW.properties +0 -1
- package/src/sap/ui/core/mvc/Controller.js +1 -1
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.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 +9 -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 +8 -3
- 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 +3 -3
- 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/CommandShortcutHints.less +1 -1
- package/src/sap/ui/core/themes/base/base.less +1108 -35
- package/src/sap/ui/core/themes/base/global.less +158 -4
- package/src/sap/ui/core/themes/sap_hcb/global.less +157 -2
- 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 +3 -2
- package/src/sap/ui/core/util/PasteHelper.js +2 -2
- package/src/sap/ui/core/util/XMLPreprocessor.js +1 -0
- 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/LogViewer.js +2 -2
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +3 -0
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +13 -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/_Helper.js +22 -0
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +28 -12
- package/src/sap/ui/model/base/ManagedObjectModel.js +8 -6
- package/src/sap/ui/model/json/JSONModel.js +15 -8
- 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/ODataPropertyBinding.js +3 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.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 +54 -46
- 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 +7 -3
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +109 -26
- package/src/sap/ui/model/odata/v2/ODataModel.js +236 -45
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +20 -22
- package/src/sap/ui/model/odata/v4/ODataBinding.js +50 -32
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +33 -5
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +183 -46
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataModel.js +185 -24
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +25 -57
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +3 -2
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +146 -31
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +4 -0
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +6 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +162 -8
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +1 -1
- package/src/sap/ui/performance/trace/FESRHelper.js +72 -0
- package/src/sap/ui/performance/trace/Interaction.js +6 -2
- package/src/sap/ui/qunit/qunit-2-css.js +4 -4
- package/src/sap/ui/qunit/qunit-css.js +4 -4
- 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/BranchTracking.js +1 -0
- package/src/sap/ui/test/OpaBuilder.js +7 -7
- package/src/sap/ui/test/TestUtils.js +10 -0
- package/src/sap/ui/test/_UsageReport.js +1 -1
- package/src/sap/ui/test/generic/GenericTestCollection.js +176 -0
- package/src/sap/ui/test/generic/TestBase.js +151 -0
- package/src/sap/ui/test/generic/Utils.js +284 -0
- package/src/sap/ui/test/selectors/_ControlSelectorGenerator.js +9 -8
- package/src/sap/ui/test/selectors/_ControlSelectorValidator.js +1 -1
- package/src/sap/ui/test/starter/_setupAndStart.js +4 -0
- package/src/sap/ui/thirdparty/IPv6.js +1 -1
- package/src/sap/ui/thirdparty/SecondLevelDomains.js +1 -1
- package/src/sap/ui/thirdparty/URI.js +7 -3
- package/src/sap/ui/thirdparty/URITemplate.js +1 -1
- package/src/sap/ui/thirdparty/jszip.js +17 -7
- package/src/sap/ui/util/Mobile.js +17 -0
- package/src/sap/ui/util/Storage.js +1 -1
|
@@ -52,6 +52,8 @@ sap.ui.define([
|
|
|
52
52
|
// system query options allowed within a $expand query option
|
|
53
53
|
aExpandQueryOptions = ["$count", "$expand", "$filter", "$levels", "$orderby", "$search",
|
|
54
54
|
"$select"],
|
|
55
|
+
// binding-specific parameters allowed in getKeepAliveContext
|
|
56
|
+
aGetKeepAliveParameters = ["$$groupId", "$$patchWithoutSideEffects", "$$updateGroupId"],
|
|
55
57
|
rGroupID = /^(\$auto(\.\w+)?|\$direct|\w+)$/,
|
|
56
58
|
MessageType = coreLibrary.MessageType,
|
|
57
59
|
aMessageTypes = [
|
|
@@ -210,7 +212,7 @@ sap.ui.define([
|
|
|
210
212
|
* @extends sap.ui.model.Model
|
|
211
213
|
* @public
|
|
212
214
|
* @since 1.37.0
|
|
213
|
-
* @version 1.
|
|
215
|
+
* @version 1.100.0
|
|
214
216
|
*/
|
|
215
217
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
216
218
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -331,6 +333,8 @@ sap.ui.define([
|
|
|
331
333
|
that.fireEvent("sessionTimeout");
|
|
332
334
|
},
|
|
333
335
|
getGroupProperty : this.getGroupProperty.bind(this),
|
|
336
|
+
getOptimisticBatchEnabler : this.getOptimisticBatchEnabler.bind(this),
|
|
337
|
+
getReporter : this.getReporter.bind(this),
|
|
334
338
|
onCreateGroup : function (sGroupId) {
|
|
335
339
|
if (that.isAutoGroup(sGroupId)) {
|
|
336
340
|
that.addPrerenderingTask(that._submitBatch.bind(that, sGroupId, true));
|
|
@@ -342,12 +346,16 @@ sap.ui.define([
|
|
|
342
346
|
this.oRequestor = _Requestor.create(this.sServiceUrl, this.oInterface, this.mHeaders,
|
|
343
347
|
mUriParameters, sODataVersion);
|
|
344
348
|
this.changeHttpHeaders(mParameters.httpHeaders);
|
|
345
|
-
|
|
349
|
+
this.bEarlyRequests = mParameters.earlyRequests;
|
|
350
|
+
if (this.bEarlyRequests) {
|
|
346
351
|
this.oMetaModel.fetchEntityContainer(true);
|
|
347
352
|
this.initializeSecurityToken();
|
|
353
|
+
this.oRequestor.sendOptimisticBatch();
|
|
348
354
|
}
|
|
349
355
|
|
|
350
356
|
this.aAllBindings = [];
|
|
357
|
+
// The bindings holding keep-alive contexts without a $$getKeepAlive binding
|
|
358
|
+
this.mKeepAliveBindingsByPath = {};
|
|
351
359
|
this.mSupportedBindingModes = {
|
|
352
360
|
OneTime : true,
|
|
353
361
|
OneWay : true
|
|
@@ -359,6 +367,7 @@ sap.ui.define([
|
|
|
359
367
|
this.mSupportedBindingModes.TwoWay = true;
|
|
360
368
|
}
|
|
361
369
|
this.aPrerenderingTasks = null; // @see #addPrerenderingTask
|
|
370
|
+
this.fnOptimisticBatchEnabler = null;
|
|
362
371
|
}
|
|
363
372
|
|
|
364
373
|
/**
|
|
@@ -660,7 +669,10 @@ sap.ui.define([
|
|
|
660
669
|
* <code>true</code> is allowed.
|
|
661
670
|
* @param {boolean} [mParameters.$$getKeepAliveContext]
|
|
662
671
|
* Whether this binding is considered for a match when {@link #getKeepAliveContext} is called;
|
|
663
|
-
* only the value <code>true</code> is allowed.
|
|
672
|
+
* only the value <code>true</code> is allowed. Must not be combined with <code>$apply</code>,
|
|
673
|
+
* <code>$$aggregation</code>, <code>$$canonicalPath</code>, or <code>$$sharedRequest</code>.
|
|
674
|
+
* If the binding is relative, <code>$$ownRequest</code> must be set as well.
|
|
675
|
+
* Supported since 1.99.0
|
|
664
676
|
* @param {string} [mParameters.$$groupId]
|
|
665
677
|
* The group ID to be used for <b>read</b> requests triggered by this binding; if not
|
|
666
678
|
* specified, either the parent binding's group ID (if the binding is relative) or the
|
|
@@ -1498,53 +1510,111 @@ sap.ui.define([
|
|
|
1498
1510
|
|
|
1499
1511
|
/**
|
|
1500
1512
|
* Returns a context with the given path belonging to a matching list binding that has been
|
|
1501
|
-
* marked with <code>$$getKeepAliveContext</code> (see {@link #bindList}). If such a
|
|
1502
|
-
*
|
|
1503
|
-
* {@link sap.ui.model.odata.v4.
|
|
1513
|
+
* marked with <code>$$getKeepAliveContext</code> (see {@link #bindList}). If such a matching
|
|
1514
|
+
* binding can be found, a context is returned and kept alive (see
|
|
1515
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#getKeepAliveContext}). Since 1.100.0 a
|
|
1516
|
+
* temporary binding is used if no such binding could be found. If such a binding is created or
|
|
1517
|
+
* resolved later, the context and its data are transferred to it, and the temporary binding is
|
|
1518
|
+
* destroyed again.
|
|
1519
|
+
*
|
|
1520
|
+
* A <code>$$getKeepAliveContext</code> binding matches if its resolved binding path is the
|
|
1521
|
+
* collection path of the context. If the context is created using a temporary binding and the
|
|
1522
|
+
* parameters of the <code>$$getKeepAliveContext</code> binding differ from the given
|
|
1523
|
+
* <code>mParameters</code> (except <code>$$groupId</code> which is especially used for the
|
|
1524
|
+
* context), that binding later runs into an error when trying to read data.
|
|
1525
|
+
*
|
|
1526
|
+
* <b>Note</b>: The context received by this function may change its
|
|
1527
|
+
* {@link sap.ui.model.odata.v4.Context#getBinding binding} during its lifetime.
|
|
1504
1528
|
*
|
|
1505
1529
|
* @param {string} sPath
|
|
1506
1530
|
* A list context path to an entity
|
|
1507
1531
|
* @param {boolean} [bRequestMessages]
|
|
1508
1532
|
* Whether to request messages for the context's entity
|
|
1533
|
+
* @param {object} [mParameters]
|
|
1534
|
+
* Parameters for the context or the temporary binding; supported since 1.100.0. All custom
|
|
1535
|
+
* query options and the following binding-specific parameters for a list binding may be given
|
|
1536
|
+
* (see {@link #bindList} for details).
|
|
1537
|
+
* @param {string} [mParameters.$$groupId]
|
|
1538
|
+
* The group ID used for read requests for the context's entity or its properties. If not
|
|
1539
|
+
* given, the model's {@link #getGroupId group ID} is used
|
|
1540
|
+
* @param {boolean} [mParameters.$$patchWithoutSideEffects]
|
|
1541
|
+
* Whether implicit loading of side effects via PATCH requests is switched off
|
|
1542
|
+
* @param {string} [mParameters.$$updateGroupId]
|
|
1543
|
+
* The group ID to be used for <b>update</b> requests triggered by the context's binding
|
|
1509
1544
|
* @returns {sap.ui.model.odata.v4.Context|undefined}
|
|
1510
|
-
* The context, or <code>undefined</code> if
|
|
1511
|
-
*
|
|
1545
|
+
* The context, or <code>undefined</code> if a binding with a suspended root binding matches
|
|
1546
|
+
* and has no context with that path.
|
|
1512
1547
|
* @throws {Error} If
|
|
1513
1548
|
* <ul>
|
|
1514
1549
|
* <li> the model does not use the <code>autoExpandSelect</code> parameter,
|
|
1550
|
+
* <li> an invalid parameter was supplied,
|
|
1515
1551
|
* <li> the path is not a list context path to an entity,
|
|
1516
1552
|
* <li> multiple list bindings with <code>$$getKeepAliveContext</code> match, or
|
|
1517
1553
|
* <li> {@link sap.ui.model.odata.v4.Context#setKeepAlive} fails
|
|
1518
1554
|
* </ul>
|
|
1519
1555
|
*
|
|
1520
1556
|
* @public
|
|
1521
|
-
* @see sap.ui.model.odata.v4.ODataListBinding#getKeepAliveContext
|
|
1522
1557
|
* @since 1.99.0
|
|
1523
1558
|
*/
|
|
1524
|
-
ODataModel.prototype.getKeepAliveContext = function (sPath, bRequestMessages) {
|
|
1525
|
-
var
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
that = this;
|
|
1559
|
+
ODataModel.prototype.getKeepAliveContext = function (sPath, bRequestMessages, mParameters) {
|
|
1560
|
+
var oListBinding,
|
|
1561
|
+
aListBindings,
|
|
1562
|
+
sListPath;
|
|
1529
1563
|
|
|
1530
1564
|
if (!this.bAutoExpandSelect) {
|
|
1531
1565
|
throw new Error("Missing parameter autoExpandSelect");
|
|
1532
1566
|
}
|
|
1533
|
-
if (sPath[0] !== "/"
|
|
1567
|
+
if (sPath[0] !== "/") {
|
|
1534
1568
|
throw new Error("Not a list context path to an entity: " + sPath);
|
|
1535
1569
|
}
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1570
|
+
mParameters = mParameters || {};
|
|
1571
|
+
// Only excess parameters are rejected here; the correctness is checked by ODLB
|
|
1572
|
+
Object.keys(mParameters).forEach(function (sParameter) {
|
|
1573
|
+
if (sParameter.startsWith("sap-") && !sParameter.startsWith("sap-valid-")
|
|
1574
|
+
|| sParameter[0] === "$" && !aGetKeepAliveParameters.includes(sParameter)) {
|
|
1575
|
+
throw new Error("Invalid parameter: " + sParameter);
|
|
1576
|
+
}
|
|
1540
1577
|
});
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1578
|
+
sListPath = sPath.slice(0, this.getPredicateIndex(sPath));
|
|
1579
|
+
oListBinding = this.mKeepAliveBindingsByPath[sListPath];
|
|
1580
|
+
if (!oListBinding) {
|
|
1581
|
+
aListBindings = this.aAllBindings.filter(function (oBinding) {
|
|
1582
|
+
if (oBinding.mParameters && oBinding.mParameters.$$getKeepAliveContext) {
|
|
1583
|
+
oBinding.removeCachesAndMessages(sListPath.slice(1), true);
|
|
1584
|
+
}
|
|
1585
|
+
return oBinding.isKeepAliveBindingFor && oBinding.isKeepAliveBindingFor(sListPath);
|
|
1586
|
+
});
|
|
1587
|
+
if (aListBindings.length > 1) {
|
|
1588
|
+
throw new Error("Multiple bindings with $$getKeepAliveContext for: " + sPath);
|
|
1589
|
+
}
|
|
1590
|
+
oListBinding = aListBindings[0];
|
|
1591
|
+
if (!oListBinding) {
|
|
1592
|
+
oListBinding = this.bindList(sListPath, undefined, undefined, undefined,
|
|
1593
|
+
mParameters);
|
|
1594
|
+
this.mKeepAliveBindingsByPath[sListPath] = oListBinding;
|
|
1595
|
+
}
|
|
1544
1596
|
}
|
|
1545
|
-
|
|
1546
|
-
|
|
1597
|
+
|
|
1598
|
+
return oListBinding.getKeepAliveContext(sPath, bRequestMessages, mParameters.$$groupId);
|
|
1599
|
+
};
|
|
1600
|
+
|
|
1601
|
+
/**
|
|
1602
|
+
* Returns the index of the key predicate in the last segment of the given path.
|
|
1603
|
+
*
|
|
1604
|
+
* @param {string} sPath - The path
|
|
1605
|
+
* @returns {number} The index of the key predicate
|
|
1606
|
+
* @throws {Error} If the last segment contains no key predicate
|
|
1607
|
+
*
|
|
1608
|
+
* @private
|
|
1609
|
+
*/
|
|
1610
|
+
ODataModel.prototype.getPredicateIndex = function (sPath) {
|
|
1611
|
+
var iPredicateIndex = sPath.indexOf("(", sPath.lastIndexOf("/"));
|
|
1612
|
+
|
|
1613
|
+
if (iPredicateIndex < 0 || !sPath.endsWith(")")) {
|
|
1614
|
+
throw new Error("Not a list context path to an entity: " + sPath);
|
|
1547
1615
|
}
|
|
1616
|
+
|
|
1617
|
+
return iPredicateIndex;
|
|
1548
1618
|
};
|
|
1549
1619
|
|
|
1550
1620
|
/**
|
|
@@ -1755,6 +1825,24 @@ sap.ui.define([
|
|
|
1755
1825
|
});
|
|
1756
1826
|
};
|
|
1757
1827
|
|
|
1828
|
+
/**
|
|
1829
|
+
* Returns and releases the temporary keep-alive binding for the given path.
|
|
1830
|
+
*
|
|
1831
|
+
* @param {string} sPath - The path
|
|
1832
|
+
* @returns {sap.ui.model.odata.v4.ODataListBinding|undefined}
|
|
1833
|
+
* The binding or <code>undefined</code> if there is none
|
|
1834
|
+
*
|
|
1835
|
+
* @private
|
|
1836
|
+
*/
|
|
1837
|
+
ODataModel.prototype.releaseKeepAliveBinding = function (sPath) {
|
|
1838
|
+
var oBinding = this.mKeepAliveBindingsByPath[sPath];
|
|
1839
|
+
|
|
1840
|
+
if (oBinding) {
|
|
1841
|
+
delete this.mKeepAliveBindingsByPath[sPath];
|
|
1842
|
+
return oBinding;
|
|
1843
|
+
}
|
|
1844
|
+
};
|
|
1845
|
+
|
|
1758
1846
|
/**
|
|
1759
1847
|
* Reports a technical error by firing a <code>messageChange</code> event with a new message and
|
|
1760
1848
|
* logging the error to the console. Takes care that the error is only reported once via the
|
|
@@ -2032,6 +2120,79 @@ sap.ui.define([
|
|
|
2032
2120
|
throw new Error("Unsupported operation: v4.ODataModel#setLegacySyntax");
|
|
2033
2121
|
};
|
|
2034
2122
|
|
|
2123
|
+
/**
|
|
2124
|
+
* Getter for the optimistic batch enabler callback function; see
|
|
2125
|
+
* {@link sap.ui.model.odata.v4.ODataModel#setOptimisticBatchEnabler}.
|
|
2126
|
+
*
|
|
2127
|
+
*
|
|
2128
|
+
* @returns {function(string)}
|
|
2129
|
+
* The optimistic batch enabler callback function
|
|
2130
|
+
*
|
|
2131
|
+
* @experimental As of version 1.100.0
|
|
2132
|
+
* @private
|
|
2133
|
+
* @ui5-restricted sap.fe
|
|
2134
|
+
*/
|
|
2135
|
+
ODataModel.prototype.getOptimisticBatchEnabler = function () {
|
|
2136
|
+
return this.fnOptimisticBatchEnabler;
|
|
2137
|
+
};
|
|
2138
|
+
|
|
2139
|
+
/**
|
|
2140
|
+
* Setter for the optimistic batch enabler callback function. Setting this callback activates
|
|
2141
|
+
* the optimistic batch feature. Via the callback the optimistic batch behavior can be enabled
|
|
2142
|
+
* or disabled by returning either a boolean or a promise resolving with a boolean.
|
|
2143
|
+
* As its first argument the callback gets the <code>window.location.href</code> at the point in
|
|
2144
|
+
* time when the OData model is instantiated.
|
|
2145
|
+
*
|
|
2146
|
+
* If the callback returns or resolves with <code>true</code>, the OData model remembers the
|
|
2147
|
+
* first sent $batch request. With the next model instantiation for the same key, this
|
|
2148
|
+
* remembered $batch request will be sent at the earliest point in time in order to have the
|
|
2149
|
+
* response already available when the first $batch request is triggered from the UI or the
|
|
2150
|
+
* binding. If the returned promise is rejected, this error will be reported and the optimistic
|
|
2151
|
+
* batch will be disabled.
|
|
2152
|
+
*
|
|
2153
|
+
* There are several preconditions on the usage of this API:
|
|
2154
|
+
* <ul>
|
|
2155
|
+
* <li> Optimistic batch handling requires the "earlyRequests" model parameter; see
|
|
2156
|
+
* {@link sap.ui.model.odata.v4.ODataModel#constructor},
|
|
2157
|
+
* <li> the setter has to be called before the first $batch request is sent,
|
|
2158
|
+
* <li> the setter may only be called once for an OData model,
|
|
2159
|
+
* <li> the callback has to return a boolean, or a <code>Promise</code> resolving with a
|
|
2160
|
+
* boolean
|
|
2161
|
+
* <li> the callback is not called if the first $batch request is modifying, means that it
|
|
2162
|
+
* contains not only GET requests.
|
|
2163
|
+
* </ul>
|
|
2164
|
+
*
|
|
2165
|
+
* @param {function(string):Promise<boolean>|boolean} fnOptimisticBatchEnabler
|
|
2166
|
+
* The optimistic batch enabler callback controlling whether optimistic batch should be used
|
|
2167
|
+
* @throws {Error} If
|
|
2168
|
+
* <ul>
|
|
2169
|
+
* <li> the earlyRequests model parameter is not set,
|
|
2170
|
+
* <li> the setter is called after the first $batch request is sent,
|
|
2171
|
+
* <li> the given <code>fnOptimisticBatchEnabler</code> parameter is not a function
|
|
2172
|
+
* <li> the setter is called more than once
|
|
2173
|
+
* </ul>
|
|
2174
|
+
*
|
|
2175
|
+
* @experimental As of version 1.100.0
|
|
2176
|
+
* @private
|
|
2177
|
+
* @ui5-restricted sap.fe
|
|
2178
|
+
*/
|
|
2179
|
+
ODataModel.prototype.setOptimisticBatchEnabler = function (fnOptimisticBatchEnabler) {
|
|
2180
|
+
if (!this.bEarlyRequests) {
|
|
2181
|
+
throw new Error("The earlyRequests model parameter is not set");
|
|
2182
|
+
}
|
|
2183
|
+
if (this.oRequestor.isFirstBatchSent()) {
|
|
2184
|
+
throw new Error("The setter is called after the first $batch request is sent");
|
|
2185
|
+
}
|
|
2186
|
+
if (typeof fnOptimisticBatchEnabler !== "function") {
|
|
2187
|
+
throw new Error("The given fnOptimisticBatchEnabler parameter is not a function");
|
|
2188
|
+
}
|
|
2189
|
+
if (this.fnOptimisticBatchEnabler) {
|
|
2190
|
+
throw new Error("The setter is called more than once");
|
|
2191
|
+
}
|
|
2192
|
+
|
|
2193
|
+
this.fnOptimisticBatchEnabler = fnOptimisticBatchEnabler;
|
|
2194
|
+
};
|
|
2195
|
+
|
|
2035
2196
|
/**
|
|
2036
2197
|
* Submits the requests associated with the given group ID in one batch request. Requests from
|
|
2037
2198
|
* subsequent calls to this method for the same group ID may be combined in one batch request
|
|
@@ -176,20 +176,20 @@ sap.ui.define([
|
|
|
176
176
|
|
|
177
177
|
/**
|
|
178
178
|
* Decides whether the given query options can be fulfilled by this binding and merges them into
|
|
179
|
-
* this binding's
|
|
179
|
+
* this binding's <code>mAggregatedQueryOptions</code> if necessary.
|
|
180
180
|
*
|
|
181
181
|
* The query options cannot be fulfilled if there are conflicts. A conflict is an option other
|
|
182
|
-
* than
|
|
183
|
-
* to be merged. This is checked recursively.
|
|
182
|
+
* than <code>$expand</code>, <code>$select</code> and <code>$count</code> which has different
|
|
183
|
+
* values in the aggregate and the options to be merged. This is checked recursively.
|
|
184
184
|
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
185
|
+
* If the cache is already immutable the query options are aggregated into
|
|
186
|
+
* <code>mLateQueryOptions</code>. Then they also cannot be fulfilled if they contain a
|
|
187
|
+
* <code>$expand</code> using a collection-valued navigation property.
|
|
188
188
|
*
|
|
189
|
-
* Note: * is an item in
|
|
190
|
-
* array of items and one must not ignore the other items if * is
|
|
191
|
-
* "5.1.2 System Query Option $expand" and "5.1.3 System Query Option $select" in
|
|
192
|
-
* "OData Version 4.0 Part 2: URL Conventions".
|
|
189
|
+
* Note: * is an item in <code>$select</code> and <code>$expand</code> just as others, that is
|
|
190
|
+
* it must be part of the array of items and one must not ignore the other items if * is
|
|
191
|
+
* provided. See "5.1.2 System Query Option $expand" and "5.1.3 System Query Option $select" in
|
|
192
|
+
* specification "OData Version 4.0 Part 2: URL Conventions".
|
|
193
193
|
*
|
|
194
194
|
* @param {object} mQueryOptions - The query options to be merged
|
|
195
195
|
* @param {string} sBaseMetaPath - This binding's meta path
|
|
@@ -203,7 +203,6 @@ sap.ui.define([
|
|
|
203
203
|
bCacheImmutable, bIsProperty) {
|
|
204
204
|
var mAggregatedQueryOptionsClone = _Helper.merge({},
|
|
205
205
|
bCacheImmutable && this.mLateQueryOptions || this.mAggregatedQueryOptions),
|
|
206
|
-
bChanged = false,
|
|
207
206
|
that = this;
|
|
208
207
|
|
|
209
208
|
/*
|
|
@@ -235,7 +234,6 @@ sap.ui.define([
|
|
|
235
234
|
.fetchObject(sExpandMetaPath).getResult().$isCollection) {
|
|
236
235
|
return false;
|
|
237
236
|
}
|
|
238
|
-
bChanged = true;
|
|
239
237
|
}
|
|
240
238
|
return merge(mAggregatedQueryOptions.$expand[sExpandPath],
|
|
241
239
|
mQueryOptions0.$expand[sExpandPath], sExpandMetaPath, true, bAddExpand);
|
|
@@ -249,7 +247,6 @@ sap.ui.define([
|
|
|
249
247
|
*/
|
|
250
248
|
function mergeSelectPath(sSelectPath) {
|
|
251
249
|
if (mAggregatedQueryOptions.$select.indexOf(sSelectPath) < 0) {
|
|
252
|
-
bChanged = true;
|
|
253
250
|
mAggregatedQueryOptions.$select.push(sSelectPath);
|
|
254
251
|
}
|
|
255
252
|
return true;
|
|
@@ -290,7 +287,7 @@ sap.ui.define([
|
|
|
290
287
|
if (merge(mAggregatedQueryOptionsClone, mQueryOptions, sBaseMetaPath)) {
|
|
291
288
|
if (!bCacheImmutable) {
|
|
292
289
|
this.mAggregatedQueryOptions = mAggregatedQueryOptionsClone;
|
|
293
|
-
} else
|
|
290
|
+
} else {
|
|
294
291
|
this.mLateQueryOptions = mAggregatedQueryOptionsClone;
|
|
295
292
|
}
|
|
296
293
|
return true;
|
|
@@ -819,7 +816,8 @@ sap.ui.define([
|
|
|
819
816
|
|
|
820
817
|
// Note: in operation bindings mAggregatedQueryOptions misses the options from
|
|
821
818
|
// $$inheritExpandSelect
|
|
822
|
-
|
|
819
|
+
// If the cache is immutable, only mLateQueryOptions may have changed
|
|
820
|
+
if (!bCacheImmutable && oCache && !oCache.hasSentRequest() && !that.oOperation) {
|
|
823
821
|
if (that.bSharedRequest) {
|
|
824
822
|
oCache.setActive(false);
|
|
825
823
|
oCache = that.createAndSetCache(that.mAggregatedQueryOptions,
|
|
@@ -1020,8 +1018,8 @@ sap.ui.define([
|
|
|
1020
1018
|
}
|
|
1021
1019
|
if (oCache !== undefined) {
|
|
1022
1020
|
// Pending changes for this cache are only possible when there is a cache already
|
|
1023
|
-
if (oCache && oCache.hasPendingChangesForPath("", false,
|
|
1024
|
-
|
|
1021
|
+
if (oCache && oCache.hasPendingChangesForPath("", false, bIgnoreKeptAlive
|
|
1022
|
+
&& oDependent.mParameters && oDependent.mParameters.$$ownRequest)) {
|
|
1025
1023
|
return true;
|
|
1026
1024
|
}
|
|
1027
1025
|
} else if (oDependent.hasPendingChangesForPath("")) {
|
|
@@ -1069,36 +1067,6 @@ sap.ui.define([
|
|
|
1069
1067
|
return false;
|
|
1070
1068
|
};
|
|
1071
1069
|
|
|
1072
|
-
/**
|
|
1073
|
-
* Refreshes all dependent bindings with the given parameters and waits for them to have
|
|
1074
|
-
* finished.
|
|
1075
|
-
*
|
|
1076
|
-
* @param {string} sResourcePathPrefix
|
|
1077
|
-
* The resource path prefix which is used to delete the dependent caches and corresponding
|
|
1078
|
-
* messages; may be "" but not <code>undefined</code>
|
|
1079
|
-
* @param {string} [sGroupId]
|
|
1080
|
-
* The group ID to be used for refresh
|
|
1081
|
-
* @param {boolean} [bCheckUpdate]
|
|
1082
|
-
* If <code>true</code>, a property binding is expected to check for updates
|
|
1083
|
-
* @param {boolean} [bKeepCacheOnError]
|
|
1084
|
-
* If <code>true</code>, the binding data remains unchanged if the refresh fails
|
|
1085
|
-
* @returns {sap.ui.base.SyncPromise}
|
|
1086
|
-
* A promise resolving when all dependent bindings are refreshed; it is rejected
|
|
1087
|
-
* when the refresh fails; the promise is resolved immediately on a suspended binding
|
|
1088
|
-
* @throws {Error}
|
|
1089
|
-
* If the binding's root binding is suspended and a group ID different from the binding's
|
|
1090
|
-
* group ID is given
|
|
1091
|
-
*
|
|
1092
|
-
* @private
|
|
1093
|
-
*/
|
|
1094
|
-
ODataParentBinding.prototype.refreshDependentBindings = function (sResourcePathPrefix, sGroupId,
|
|
1095
|
-
bCheckUpdate, bKeepCacheOnError) {
|
|
1096
|
-
return SyncPromise.all(this.getDependentBindings().map(function (oDependentBinding) {
|
|
1097
|
-
return oDependentBinding.refreshInternal(sResourcePathPrefix, sGroupId, bCheckUpdate,
|
|
1098
|
-
bKeepCacheOnError);
|
|
1099
|
-
}));
|
|
1100
|
-
};
|
|
1101
|
-
|
|
1102
1070
|
/**
|
|
1103
1071
|
* Recursively refreshes all dependent list bindings that have no own cache.
|
|
1104
1072
|
*
|
|
@@ -1278,10 +1246,10 @@ sap.ui.define([
|
|
|
1278
1246
|
* @throws {Error}
|
|
1279
1247
|
* If this binding
|
|
1280
1248
|
* <ul>
|
|
1281
|
-
* <li>is relative to a {@link sap.ui.model.odata.v4.Context}
|
|
1282
|
-
* <li>is an operation binding
|
|
1283
|
-
* <li>has {@link sap.ui.model.Binding#isSuspended} set to <code>false</code
|
|
1284
|
-
* <li>is not a root binding. Use {@link #getRootBinding} to determine the root binding
|
|
1249
|
+
* <li>is relative to a {@link sap.ui.model.odata.v4.Context},
|
|
1250
|
+
* <li>is an operation binding,
|
|
1251
|
+
* <li>has {@link sap.ui.model.Binding#isSuspended} set to <code>false</code>,
|
|
1252
|
+
* <li>is not a root binding. Use {@link #getRootBinding} to determine the root binding.
|
|
1285
1253
|
* </ul>
|
|
1286
1254
|
*
|
|
1287
1255
|
* @public
|
|
@@ -1341,12 +1309,12 @@ sap.ui.define([
|
|
|
1341
1309
|
*
|
|
1342
1310
|
* @throws {Error}
|
|
1343
1311
|
* If this binding
|
|
1344
|
-
*
|
|
1345
|
-
* <li>is relative to a {@link sap.ui.model.odata.v4.Context}
|
|
1346
|
-
* <li>is an operation binding
|
|
1347
|
-
* <li>has {@link sap.ui.model.Binding#isSuspended} set to <code>true</code
|
|
1348
|
-
* <li>has pending changes that cannot be ignored
|
|
1349
|
-
* <li>is not a root binding. Use {@link #getRootBinding} to determine the root binding
|
|
1312
|
+
* <ul>
|
|
1313
|
+
* <li>is relative to a {@link sap.ui.model.odata.v4.Context},
|
|
1314
|
+
* <li>is an operation binding,
|
|
1315
|
+
* <li>has {@link sap.ui.model.Binding#isSuspended} set to <code>true</code>,
|
|
1316
|
+
* <li>has pending changes that cannot be ignored,
|
|
1317
|
+
* <li>is not a root binding. Use {@link #getRootBinding} to determine the root binding.
|
|
1350
1318
|
* </ul>
|
|
1351
1319
|
*
|
|
1352
1320
|
* @public
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @mixes sap.ui.model.odata.v4.ODataBinding
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.37.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.100.0
|
|
46
46
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
47
47
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
48
48
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -269,7 +269,8 @@ sap.ui.define([
|
|
|
269
269
|
&& !bIsMeta) {
|
|
270
270
|
vType = oMetaModel.fetchUI5Type(sResolvedPath);
|
|
271
271
|
}
|
|
272
|
-
if (
|
|
272
|
+
if (vValue === undefined) {
|
|
273
|
+
// if called via #onChange, we need to fetch implicit values
|
|
273
274
|
vValue = this.oCachePromise.then(function (oCache) {
|
|
274
275
|
var sDataPath, sMetaPath;
|
|
275
276
|
|