@openui5/sap.ui.core 1.102.2 → 1.104.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/.reuse/dep5 +17 -0
- package/LICENSES/LicenseRef-tzdata-PublicDomain.txt +5 -0
- package/THIRDPARTY.txt +35 -2
- package/package.json +1 -1
- package/src/jquery.sap.global.js +2 -2
- 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/i18n/ResourceBundle.js +2 -2
- package/src/sap/base/util/LoaderExtensions.js +69 -61
- package/src/sap/base/util/fetch.js +230 -0
- package/src/sap/base/util/mixedFetch.js +69 -0
- 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/base/util/syncFetch.js +73 -0
- package/src/sap/ui/Device.js +9 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/VersionInfo.js +12 -6
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +2 -2
- package/src/sap/ui/base/ExpressionParser.js +2 -2
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +10 -8
- package/src/sap/ui/base/ManagedObjectMetadata.js +21 -8
- 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/base/SyncPromise.js +2 -0
- package/src/sap/ui/core/.library +17 -90
- package/src/sap/ui/core/AppCacheBuster.js +69 -55
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +51 -24
- 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 +45 -22
- package/src/sap/ui/core/Control.js +2 -2
- package/src/sap/ui/core/Core.js +56 -68
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +10 -9
- package/src/sap/ui/core/Element.js +20 -11
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +4 -2
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/FocusHandler.js +58 -35
- package/src/sap/ui/core/Fragment.js +17 -14
- package/src/sap/ui/core/HTML.js +2 -2
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +6 -6
- package/src/sap/ui/core/IconPool.js +1 -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 +4 -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 +28 -4
- package/src/sap/ui/core/LocaleData.js +3 -45
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Popup.js +4 -2
- package/src/sap/ui/core/RenderManager.js +11 -21
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +22 -43
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ThemeCheck.js +7 -7
- 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 +8 -5
- package/src/sap/ui/core/UIComponent.js +2 -2
- package/src/sap/ui/core/UIComponentMetadata.js +2 -2
- 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 +3 -5
- package/src/sap/ui/core/_IconRegistry.js +66 -55
- package/src/sap/ui/core/cache/CacheManager.js +18 -14
- package/src/sap/ui/core/cache/CacheManagerNOP.js +5 -2
- package/src/sap/ui/core/cache/LRUPersistentCache.js +17 -9
- package/src/sap/ui/core/cldr/en.json +0 -1
- package/src/sap/ui/core/date/Buddhist.js +15 -13
- package/src/sap/ui/core/date/Japanese.js +0 -6
- 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 +1 -1
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +2 -2
- package/src/sap/ui/core/format/NumberFormat.js +3 -3
- package/src/sap/ui/core/format/TimezoneUtil.js +2 -2
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +2 -2
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_ar.properties +54 -53
- package/src/sap/ui/core/messagebundle_bg.properties +54 -53
- package/src/sap/ui/core/messagebundle_ca.properties +28 -27
- package/src/sap/ui/core/messagebundle_cs.properties +37 -36
- package/src/sap/ui/core/messagebundle_cy.properties +56 -55
- package/src/sap/ui/core/messagebundle_da.properties +53 -52
- package/src/sap/ui/core/messagebundle_de.properties +54 -53
- package/src/sap/ui/core/messagebundle_el.properties +47 -46
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +1 -0
- package/src/sap/ui/core/messagebundle_es.properties +42 -41
- package/src/sap/ui/core/messagebundle_es_MX.properties +54 -53
- package/src/sap/ui/core/messagebundle_et.properties +51 -50
- package/src/sap/ui/core/messagebundle_fi.properties +48 -47
- package/src/sap/ui/core/messagebundle_fr.properties +36 -35
- package/src/sap/ui/core/messagebundle_fr_CA.properties +21 -20
- package/src/sap/ui/core/messagebundle_hi.properties +41 -40
- package/src/sap/ui/core/messagebundle_hr.properties +55 -54
- package/src/sap/ui/core/messagebundle_hu.properties +55 -54
- package/src/sap/ui/core/messagebundle_id.properties +55 -54
- package/src/sap/ui/core/messagebundle_it.properties +58 -57
- package/src/sap/ui/core/messagebundle_iw.properties +55 -54
- package/src/sap/ui/core/messagebundle_ja.properties +48 -47
- package/src/sap/ui/core/messagebundle_kk.properties +41 -40
- package/src/sap/ui/core/messagebundle_ko.properties +17 -16
- package/src/sap/ui/core/messagebundle_lt.properties +55 -54
- package/src/sap/ui/core/messagebundle_lv.properties +55 -54
- package/src/sap/ui/core/messagebundle_ms.properties +52 -51
- package/src/sap/ui/core/messagebundle_nl.properties +53 -52
- package/src/sap/ui/core/messagebundle_no.properties +53 -52
- package/src/sap/ui/core/messagebundle_pl.properties +52 -51
- package/src/sap/ui/core/messagebundle_pt.properties +54 -53
- package/src/sap/ui/core/messagebundle_pt_PT.properties +55 -54
- package/src/sap/ui/core/messagebundle_ro.properties +56 -55
- package/src/sap/ui/core/messagebundle_ru.properties +52 -51
- package/src/sap/ui/core/messagebundle_sh.properties +56 -55
- package/src/sap/ui/core/messagebundle_sk.properties +54 -53
- package/src/sap/ui/core/messagebundle_sl.properties +56 -55
- package/src/sap/ui/core/messagebundle_sv.properties +52 -51
- package/src/sap/ui/core/messagebundle_th.properties +25 -24
- package/src/sap/ui/core/messagebundle_tr.properties +56 -55
- package/src/sap/ui/core/messagebundle_uk.properties +55 -54
- package/src/sap/ui/core/messagebundle_vi.properties +55 -54
- package/src/sap/ui/core/messagebundle_zh_CN.properties +55 -54
- package/src/sap/ui/core/messagebundle_zh_TW.properties +55 -54
- package/src/sap/ui/core/mvc/ControllerExtension.js +1 -1
- package/src/sap/ui/core/mvc/HTMLView.js +12 -12
- 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 -2
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +16 -14
- package/src/sap/ui/core/plugin/TemplatingSupport.js +2 -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/History.js +5 -3
- package/src/sap/ui/core/routing/Router.js +4 -2
- package/src/sap/ui/core/routing/Targets.js +2 -2
- package/src/sap/ui/core/routing/async/TargetCache.js +4 -0
- package/src/sap/ui/core/rules/Config.support.js +1 -1
- package/src/sap/ui/core/rules/View.support.js +11 -4
- package/src/sap/ui/core/search/OpenSearchProvider.js +24 -11
- 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/RuleEngineOpaExtension.js +1 -1
- package/src/sap/ui/core/support/Support.js +2 -2
- package/src/sap/ui/core/support/ToolsAPI.js +4 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +3 -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 +46 -33
- 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/LocalBusyIndicator.less +1 -1
- package/src/sap/ui/core/themes/base/base.less +26 -26
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/theming/Parameters.js +46 -40
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +5 -5
- package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
- 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 +61 -42
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +2 -2
- package/src/sap/ui/core/util/XMLPreprocessor.js +2 -2
- 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 +19 -9
- package/src/sap/ui/dom/_ready.js +34 -0
- package/src/sap/ui/dom/containsOrEquals.js +2 -2
- package/src/sap/ui/dom/getFirstEditableInput.js +2 -2
- package/src/sap/ui/dom/jquery/Focusable.js +1 -1
- package/src/sap/ui/dom/jquery/control.js +1 -1
- package/src/sap/ui/events/jquery/EventExtension.js +1 -1
- package/src/sap/ui/events/jquery/EventSimulation.js +1 -1
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +2 -2
- 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/TreeBindingAdapter.js +134 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +2 -2
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +1 -1
- package/src/sap/ui/model/odata/ODataMetaModel.js +1 -1
- package/src/sap/ui/model/odata/ODataMetadata.js +6 -3
- package/src/sap/ui/model/odata/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +6 -0
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +407 -91
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +4 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +112 -104
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +50 -5
- package/src/sap/ui/model/odata/v4/Context.js +9 -10
- package/src/sap/ui/model/odata/v4/ODataBinding.js +16 -8
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +24 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +30 -2
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +5 -5
- package/src/sap/ui/model/odata/v4/ODataModel.js +66 -3
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +30 -1
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +17 -6
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +6 -6
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +203 -30
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +52 -3
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +3 -7
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/sinon-qunit-bridge.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/security/FrameOptions.js +4 -2
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/OpaBuilder.js +1 -1
- package/src/sap/ui/test/OpaPlugin.js +3 -3
- package/src/sap/ui/test/TestUtils.js +35 -2
- package/src/sap/ui/test/_ControlFinder.js +5 -4
- package/src/sap/ui/test/actions/Drag.js +2 -2
- package/src/sap/ui/test/actions/Drop.js +2 -2
- package/src/sap/ui/test/actions/EnterText.js +8 -8
- package/src/sap/ui/test/actions/Press.js +5 -5
- package/src/sap/ui/test/actions/Scroll.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/matchers/Matcher.js +9 -11
- package/src/sap/ui/test/opaQunit.js +4 -3
- 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 +8 -2
- package/src/sap/ui/thirdparty/URITemplate.js +1 -1
- package/src/sap/ui/util/Mobile.js +59 -33
- package/src/sap/ui/util/Storage.js +2 -2
- package/src/sap/ui/util/XMLHelper.js +1 -1
- package/src/sap/ui/util/openWindow.js +1 -1
- package/src/ui5loader.js +3 -3
- package/ui5.yaml +71 -0
|
@@ -61,7 +61,7 @@ sap.ui.define([
|
|
|
61
61
|
* @extends sap.ui.model.type.Currency
|
|
62
62
|
* @public
|
|
63
63
|
* @since 1.63.0
|
|
64
|
-
* @version 1.
|
|
64
|
+
* @version 1.104.0
|
|
65
65
|
*/
|
|
66
66
|
var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
|
|
67
67
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -132,7 +132,7 @@ sap.ui.define([
|
|
|
132
132
|
* @extends sap.ui.model.odata.type.ODataType
|
|
133
133
|
* @public
|
|
134
134
|
* @since 1.27.0
|
|
135
|
-
* @version 1.
|
|
135
|
+
* @version 1.104.0
|
|
136
136
|
*/
|
|
137
137
|
var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
|
|
138
138
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @extends sap.ui.model.odata.type.ODataType
|
|
31
31
|
* @public
|
|
32
32
|
* @since 1.37.0
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.104.0
|
|
34
34
|
*/
|
|
35
35
|
var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
|
|
36
36
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @extends sap.ui.model.odata.type.ODataType
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.51.0
|
|
63
|
-
* @version 1.
|
|
63
|
+
* @version 1.104.0
|
|
64
64
|
*/
|
|
65
65
|
var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
|
|
66
66
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -110,7 +110,7 @@ sap.ui.define([
|
|
|
110
110
|
* @extends sap.ui.model.odata.type.ODataType
|
|
111
111
|
* @public
|
|
112
112
|
* @since 1.37.0
|
|
113
|
-
* @version 1.
|
|
113
|
+
* @version 1.104.0
|
|
114
114
|
*/
|
|
115
115
|
var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
|
|
116
116
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -63,7 +63,7 @@ sap.ui.define([
|
|
|
63
63
|
* @extends sap.ui.model.type.Unit
|
|
64
64
|
* @public
|
|
65
65
|
* @since 1.63.0
|
|
66
|
-
* @version 1.
|
|
66
|
+
* @version 1.104.0
|
|
67
67
|
*/
|
|
68
68
|
var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
|
|
69
69
|
constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @hideconstructor
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.93.0
|
|
63
|
-
* @version 1.
|
|
63
|
+
* @version 1.104.0
|
|
64
64
|
*/
|
|
65
65
|
var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
|
|
66
66
|
constructor : function (oModel, sPath, sDeepPath, oCreatePromise, bInactive) {
|
|
@@ -363,14 +363,17 @@ sap.ui.define([
|
|
|
363
363
|
};
|
|
364
364
|
|
|
365
365
|
ODataContextBinding.prototype._fireChange = function(mParameters, bForceUpdate, bUpdated) {
|
|
366
|
+
var bOldUpdated;
|
|
367
|
+
|
|
366
368
|
if (this.oElementContext) {
|
|
369
|
+
bOldUpdated = this.oElementContext.isUpdated();
|
|
367
370
|
this.oElementContext.setForceRefresh(bForceUpdate);
|
|
368
371
|
this.oElementContext.setUpdated(bUpdated);
|
|
369
372
|
}
|
|
370
373
|
ContextBinding.prototype._fireChange.call(this, mParameters);
|
|
371
374
|
if (this.oElementContext) {
|
|
372
375
|
this.oElementContext.setForceRefresh(false);
|
|
373
|
-
this.oElementContext.setUpdated(
|
|
376
|
+
this.oElementContext.setUpdated(bOldUpdated);
|
|
374
377
|
}
|
|
375
378
|
};
|
|
376
379
|
|
|
@@ -203,7 +203,7 @@ sap.ui.define([
|
|
|
203
203
|
* This model is not prepared to be inherited from.
|
|
204
204
|
*
|
|
205
205
|
* @author SAP SE
|
|
206
|
-
* @version 1.
|
|
206
|
+
* @version 1.104.0
|
|
207
207
|
*
|
|
208
208
|
* @public
|
|
209
209
|
* @alias sap.ui.model.odata.v2.ODataModel
|
|
@@ -1464,6 +1464,7 @@ sap.ui.define([
|
|
|
1464
1464
|
* @param {object} oData Data that should be imported
|
|
1465
1465
|
* @param {map} mChangedEntities Map of changed entities
|
|
1466
1466
|
* @param {object} oResponse Response where the data came from
|
|
1467
|
+
* @param {object} oRequest The request object
|
|
1467
1468
|
* @param {string} [sPath] The path to the data
|
|
1468
1469
|
* @param {string} [sDeepPath] The deep path to the data
|
|
1469
1470
|
* @param {string} [sKey] The cache key to the data if known
|
|
@@ -1478,7 +1479,7 @@ sap.ui.define([
|
|
|
1478
1479
|
* @return {string|string[]} Key of imported data or array of keys in case of nested entries
|
|
1479
1480
|
* @private
|
|
1480
1481
|
*/
|
|
1481
|
-
ODataModel.prototype._importData = function(oData, mChangedEntities, oResponse, sPath,
|
|
1482
|
+
ODataModel.prototype._importData = function(oData, mChangedEntities, oResponse, oRequest, sPath,
|
|
1482
1483
|
sDeepPath, sKey, bFunctionImport, sPathFromCanonicalParent, bSideEffects) {
|
|
1483
1484
|
var that = this,
|
|
1484
1485
|
aList, oResult, oEntry, oCurrentEntry;
|
|
@@ -1489,7 +1490,7 @@ sap.ui.define([
|
|
|
1489
1490
|
aList = [];
|
|
1490
1491
|
each(oData.results, function(i, entry) {
|
|
1491
1492
|
var sKey = that._getKey(entry);
|
|
1492
|
-
sKey = that._importData(entry, mChangedEntities, oResponse,
|
|
1493
|
+
sKey = that._importData(entry, mChangedEntities, oResponse, /*oRequest*/undefined,
|
|
1493
1494
|
sPath.substr(0, sPath.lastIndexOf("/")), sDeepPath, sKey,
|
|
1494
1495
|
/*bFunctionImport*/undefined, /*sPathFromCanonicalParent*/undefined,
|
|
1495
1496
|
bSideEffects);
|
|
@@ -1545,8 +1546,9 @@ sap.ui.define([
|
|
|
1545
1546
|
var sNewPath = sPath + "/" + sName;
|
|
1546
1547
|
var sNewDeepPath = sDeepPath + "/" + sName;
|
|
1547
1548
|
|
|
1548
|
-
oResult = that._importData(oProperty, mChangedEntities, oResponse,
|
|
1549
|
-
sNewDeepPath, undefined, false,
|
|
1549
|
+
oResult = that._importData(oProperty, mChangedEntities, oResponse,
|
|
1550
|
+
/*oRequest*/undefined, sNewPath, sNewDeepPath, undefined, false,
|
|
1551
|
+
"/" + sKey + "/" + sName, bSideEffects);
|
|
1550
1552
|
if (Array.isArray(oResult)) {
|
|
1551
1553
|
oEntry[sName] = {__list: oResult};
|
|
1552
1554
|
if (bSideEffects) {
|
|
@@ -1559,7 +1561,6 @@ sap.ui.define([
|
|
|
1559
1561
|
// ODataModel#requestSideEffects; see BLI CPOUI5MODELS-656
|
|
1560
1562
|
delete oEntry[sName];
|
|
1561
1563
|
});
|
|
1562
|
-
|
|
1563
1564
|
}
|
|
1564
1565
|
} else {
|
|
1565
1566
|
if (oCurrentEntry[sName] && oCurrentEntry[sName].__ref) {
|
|
@@ -1577,18 +1578,19 @@ sap.ui.define([
|
|
|
1577
1578
|
oEntry[sName] = oProperty;
|
|
1578
1579
|
}
|
|
1579
1580
|
});
|
|
1580
|
-
// if we got new data we have to update changed entities
|
|
1581
|
-
var oMap = {};
|
|
1582
|
-
oMap[sKey] = oEntry;
|
|
1583
|
-
|
|
1584
1581
|
//if we detect a preliminary context we need to set preliminary false and flag for update
|
|
1585
1582
|
if (this.hasContext("/" + sKey) && this.getContext("/" + sKey).isPreliminary()) {
|
|
1586
1583
|
var oExistingContext = this.getContext("/" + sKey);
|
|
1587
1584
|
oExistingContext.setUpdated(true);
|
|
1585
|
+
this.callAfterUpdate(function() {
|
|
1586
|
+
oExistingContext.setUpdated(false);
|
|
1587
|
+
});
|
|
1588
1588
|
oExistingContext.setPreliminary(false);
|
|
1589
1589
|
}
|
|
1590
|
-
|
|
1591
|
-
|
|
1590
|
+
if (oRequest && oRequest.created && oRequest.key) {
|
|
1591
|
+
this._cleanupAfterCreate(oRequest, sKey);
|
|
1592
|
+
}
|
|
1593
|
+
this._updateChangedEntity(sKey, oEntry);
|
|
1592
1594
|
mChangedEntities[sKey] = true;
|
|
1593
1595
|
|
|
1594
1596
|
// if no path information available use the key. This should be the case for create/callFunction
|
|
@@ -4268,10 +4270,10 @@ sap.ui.define([
|
|
|
4268
4270
|
if (oRequest.key || oRequest.created) {
|
|
4269
4271
|
// no need to pass sideEffects because side-effects requests don't have a key or
|
|
4270
4272
|
// a created property attached to the request
|
|
4271
|
-
that._importData(oImportData, mLocalGetEntities, oResponse,
|
|
4272
|
-
/*sDeepPath*/undefined, /*sKey*/undefined, bIsFunction);
|
|
4273
|
+
that._importData(oImportData, mLocalGetEntities, oResponse, oRequest,
|
|
4274
|
+
/*sPath*/undefined, /*sDeepPath*/undefined, /*sKey*/undefined, bIsFunction);
|
|
4273
4275
|
} else {
|
|
4274
|
-
that._importData(oImportData, mLocalGetEntities, oResponse, sPath,
|
|
4276
|
+
that._importData(oImportData, mLocalGetEntities, oResponse, oRequest, sPath,
|
|
4275
4277
|
oRequest.deepPath, /*sKey*/undefined, bIsFunction,
|
|
4276
4278
|
/*sPathFromCanonicalParent*/undefined, oRequest.sideEffects);
|
|
4277
4279
|
}
|
|
@@ -4279,7 +4281,8 @@ sap.ui.define([
|
|
|
4279
4281
|
}
|
|
4280
4282
|
|
|
4281
4283
|
oEntity = this._getEntity(oRequest.key);
|
|
4282
|
-
if (
|
|
4284
|
+
if (oEntity && oEntity.__metadata.created
|
|
4285
|
+
&& oEntity.__metadata.created.functionImport) {
|
|
4283
4286
|
var aResults = [];
|
|
4284
4287
|
var oResult = oEntity["$result"];
|
|
4285
4288
|
if (oResult && oResult.__list) {
|
|
@@ -4301,9 +4304,7 @@ sap.ui.define([
|
|
|
4301
4304
|
if (aParts[1]) {
|
|
4302
4305
|
mLocalChangeEntities[aParts[1]] = oRequest;
|
|
4303
4306
|
//cleanup of this.mChangedEntities; use only the actual response key
|
|
4304
|
-
|
|
4305
|
-
oMap[aParts[1]] = oRequest.data;
|
|
4306
|
-
this._updateChangedEntities(oMap);
|
|
4307
|
+
this._updateChangedEntity(aParts[1], oRequest.data);
|
|
4307
4308
|
}
|
|
4308
4309
|
//for delete requests delete data in model (exclude $links)
|
|
4309
4310
|
if (oRequest.method === "DELETE" && aParts[2] !== "$links") {
|
|
@@ -4316,29 +4317,7 @@ sap.ui.define([
|
|
|
4316
4317
|
mEntityTypes[oEntityType.entityType] = true;
|
|
4317
4318
|
}
|
|
4318
4319
|
if (oRequest.key) {
|
|
4319
|
-
// for createEntry entities change context path to new one
|
|
4320
4320
|
if (oRequest.created) {
|
|
4321
|
-
var sKey = this._getKey(oResultData);
|
|
4322
|
-
// rewrite context for new path
|
|
4323
|
-
var oContext = this.getContext("/" + oRequest.key);
|
|
4324
|
-
sDeepPath = oRequest.deepPath;
|
|
4325
|
-
if (oContext.isTransient() && sDeepPath.endsWith(")")) {
|
|
4326
|
-
oRequest.deepPath = sDeepPath.slice(0, sDeepPath.lastIndexOf("("))
|
|
4327
|
-
+ sKey.slice(sKey.indexOf("("));
|
|
4328
|
-
}
|
|
4329
|
-
this._updateContext(oContext, '/' + sKey, oRequest.deepPath);
|
|
4330
|
-
oContext.setUpdated(true);
|
|
4331
|
-
// register function to reset updated flag call as callAfterUpdate
|
|
4332
|
-
this.callAfterUpdate(function() {
|
|
4333
|
-
oContext.setUpdated(false);
|
|
4334
|
-
});
|
|
4335
|
-
//delete created flag after successful creation
|
|
4336
|
-
oEntity = this._getEntity(sKey);
|
|
4337
|
-
if (oEntity) {
|
|
4338
|
-
delete oEntity.__metadata.created;
|
|
4339
|
-
// before deleting the old entity copy and update the changes
|
|
4340
|
-
this._keepChangesAfterCreate(oRequest, oEntity, sKey);
|
|
4341
|
-
}
|
|
4342
4321
|
this._removeEntity(oRequest.key);
|
|
4343
4322
|
} else {
|
|
4344
4323
|
// do not call _removeEntity after successful function import call as
|
|
@@ -4381,17 +4360,29 @@ sap.ui.define([
|
|
|
4381
4360
|
*
|
|
4382
4361
|
* @param {object} oRequest
|
|
4383
4362
|
* The request object for a created entity
|
|
4384
|
-
* @param {object} oEntity
|
|
4385
|
-
* The persisted and retrieved entity object
|
|
4386
4363
|
* @param {string} sKey
|
|
4387
4364
|
* The key of the created entity
|
|
4388
4365
|
*
|
|
4389
4366
|
* @private
|
|
4390
4367
|
*/
|
|
4391
|
-
ODataModel.prototype.
|
|
4392
|
-
var
|
|
4393
|
-
|
|
4368
|
+
ODataModel.prototype._cleanupAfterCreate = function (oRequest, sKey) {
|
|
4369
|
+
var oChangedEntity, aNavProps, sProperty,
|
|
4370
|
+
oContext = this.getContext("/" + oRequest.key),
|
|
4371
|
+
sDeepPath = oRequest.deepPath,
|
|
4372
|
+
oEntity = this._getEntity(sKey);
|
|
4394
4373
|
|
|
4374
|
+
if (oContext.isTransient() && sDeepPath.endsWith(")")) {
|
|
4375
|
+
oRequest.deepPath = sDeepPath.slice(0, sDeepPath.lastIndexOf("("))
|
|
4376
|
+
+ sKey.slice(sKey.indexOf("("));
|
|
4377
|
+
}
|
|
4378
|
+
this._updateContext(oContext, '/' + sKey, oRequest.deepPath);
|
|
4379
|
+
oContext.setUpdated(true);
|
|
4380
|
+
this.callAfterUpdate(function() {
|
|
4381
|
+
oContext.setUpdated(false);
|
|
4382
|
+
});
|
|
4383
|
+
delete oEntity.__metadata.created;
|
|
4384
|
+
// before deleting the old entity copy and update the changes
|
|
4385
|
+
oChangedEntity = this.mChangedEntities[oRequest.key];
|
|
4395
4386
|
if (oChangedEntity) {
|
|
4396
4387
|
aNavProps = this.oMetadata._getNavigationPropertyNames(
|
|
4397
4388
|
this.oMetadata._getEntityTypeByPath(sKey));
|
|
@@ -4405,13 +4396,10 @@ sap.ui.define([
|
|
|
4405
4396
|
}
|
|
4406
4397
|
}
|
|
4407
4398
|
this.mChangedEntities[sKey] = oChangedEntity;
|
|
4408
|
-
oKey2Entity = {};
|
|
4409
|
-
oKey2Entity[sKey] = oEntity;
|
|
4410
|
-
this._updateChangedEntities(oKey2Entity);
|
|
4411
4399
|
// cleanup also further POST request for the just created entity
|
|
4412
4400
|
this.abortInternalRequest(this._resolveGroup(oRequest.key).groupId,
|
|
4413
4401
|
{requestKey: oRequest.key});
|
|
4414
|
-
}
|
|
4402
|
+
} // else case may happen if ODataModel#create is called which does not use the cache
|
|
4415
4403
|
};
|
|
4416
4404
|
|
|
4417
4405
|
/**
|
|
@@ -4641,25 +4629,29 @@ sap.ui.define([
|
|
|
4641
4629
|
};
|
|
4642
4630
|
|
|
4643
4631
|
/**
|
|
4644
|
-
* Resolves batch group settings
|
|
4632
|
+
* Resolves batch group settings based on a given entity key or a given resolved path to an
|
|
4633
|
+
* entity.
|
|
4634
|
+
*
|
|
4635
|
+
* @param {string} sKeyOrPath
|
|
4636
|
+
* The entity key or the resolved path to an entity
|
|
4637
|
+
* @returns {object}
|
|
4638
|
+
* Batch group info containing <code>groupId</code> and <code>changeSetId</code>
|
|
4645
4639
|
*
|
|
4646
|
-
* @param {string} sKey Key of the entity
|
|
4647
|
-
* @returns {object} Batch group info
|
|
4648
4640
|
* @private
|
|
4649
4641
|
*/
|
|
4650
|
-
ODataModel.prototype._resolveGroup = function(
|
|
4651
|
-
var oChangeGroup,
|
|
4642
|
+
ODataModel.prototype._resolveGroup = function(sKeyOrPath) {
|
|
4643
|
+
var oChangeGroup, sChangeSetId, mCreated, oData, oEntityType, sGroupId,
|
|
4644
|
+
sPath = sKeyOrPath.startsWith("/") ? sKeyOrPath : ("/" + sKeyOrPath);
|
|
4652
4645
|
|
|
4653
|
-
|
|
4654
|
-
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
|
|
4658
|
-
if (mParams) {
|
|
4659
|
-
return {groupId: mParams.groupId, changeSetId: mParams.changeSetId};
|
|
4660
|
-
}
|
|
4646
|
+
oData = this._getObject(sPath);
|
|
4647
|
+
mCreated = oData && oData.__metadata && oData.__metadata.created;
|
|
4648
|
+
//for created entries the group information is retrieved from the params
|
|
4649
|
+
if (mCreated) {
|
|
4650
|
+
return {groupId: mCreated.groupId, changeSetId: mCreated.changeSetId};
|
|
4661
4651
|
}
|
|
4652
|
+
|
|
4662
4653
|
//resolve groupId/changeSetId
|
|
4654
|
+
oEntityType = this.oMetadata._getEntityTypeByPath(sPath);
|
|
4663
4655
|
if (this.mChangeGroups[oEntityType.name]) {
|
|
4664
4656
|
oChangeGroup = this.mChangeGroups[oEntityType.name];
|
|
4665
4657
|
sGroupId = oChangeGroup.groupId;
|
|
@@ -6065,16 +6057,30 @@ sap.ui.define([
|
|
|
6065
6057
|
bRefreshAfterChange = this.bRefreshAfterChange,
|
|
6066
6058
|
that = this;
|
|
6067
6059
|
|
|
6068
|
-
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
|
|
6072
|
-
|
|
6073
|
-
|
|
6074
|
-
|
|
6075
|
-
}
|
|
6060
|
+
mParameters = mParameters || {};
|
|
6061
|
+
sGroupId = mParameters.groupId || mParameters.batchGroupId;
|
|
6062
|
+
fnSuccess = mParameters.success;
|
|
6063
|
+
fnError = mParameters.error;
|
|
6064
|
+
// ensure merge parameter backwards compatibility
|
|
6065
|
+
if (mParameters.merge !== undefined) {
|
|
6066
|
+
sMethod = mParameters.merge ? "MERGE" : "PUT";
|
|
6076
6067
|
}
|
|
6077
6068
|
|
|
6069
|
+
this.getBindings().forEach(function (oBinding) {
|
|
6070
|
+
if (oBinding._submitChanges) {
|
|
6071
|
+
var fnOldSuccess = fnSuccess || function () {},
|
|
6072
|
+
mParameters0 = {groupId : sGroupId};
|
|
6073
|
+
|
|
6074
|
+
oBinding._submitChanges(mParameters0);
|
|
6075
|
+
if (mParameters0.success) {
|
|
6076
|
+
fnSuccess = function () {
|
|
6077
|
+
fnOldSuccess.apply(null, arguments);
|
|
6078
|
+
mParameters0.success.apply(null, arguments);
|
|
6079
|
+
};
|
|
6080
|
+
}
|
|
6081
|
+
}
|
|
6082
|
+
});
|
|
6083
|
+
|
|
6078
6084
|
if (sGroupId && !this.mDeferredGroups[sGroupId]) {
|
|
6079
6085
|
Log.fatal(this + " submitChanges: \"" + sGroupId + "\" is not a deferred group!");
|
|
6080
6086
|
}
|
|
@@ -6155,13 +6161,19 @@ sap.ui.define([
|
|
|
6155
6161
|
return oRequestHandle;
|
|
6156
6162
|
};
|
|
6157
6163
|
|
|
6158
|
-
|
|
6159
|
-
*
|
|
6164
|
+
/**
|
|
6165
|
+
* Updates the object in the shadow cache containing the pending user input and the object in
|
|
6166
|
+
* the model cache with the given data for the entity with the given key. If all changes for
|
|
6167
|
+
* that entity are processed the object is removed from the shadow cache.
|
|
6168
|
+
*
|
|
6169
|
+
* @param {string} [sEntityKey] The key for the entity to be updated
|
|
6170
|
+
* @param {object} [oData] The new data for the entity
|
|
6171
|
+
*
|
|
6160
6172
|
* @private
|
|
6161
|
-
* @param {map} mChangedEntities Map of changedEntities
|
|
6162
6173
|
*/
|
|
6163
|
-
ODataModel.prototype.
|
|
6164
|
-
var
|
|
6174
|
+
ODataModel.prototype._updateChangedEntity = function(sEntityKey, oData) {
|
|
6175
|
+
var oChangedEntry, sDeepPath, oEntityType, oEntry, oNavPropRefInfo, sRootPath,
|
|
6176
|
+
that = this;
|
|
6165
6177
|
|
|
6166
6178
|
function updateChangedEntities(oOriginalObject, oChangedObject, sCurPath) {
|
|
6167
6179
|
each(oChangedObject,function(sKey) {
|
|
@@ -6175,44 +6187,40 @@ sap.ui.define([
|
|
|
6175
6187
|
|| deepEqual(oChangedObject[sKey], oOriginalObject[sKey])
|
|
6176
6188
|
&& !that.isLaundering(sActPath)) {
|
|
6177
6189
|
delete oChangedObject[sKey];
|
|
6178
|
-
// When current object is the entity itself check for matching navigation
|
|
6179
|
-
// entity data and take care of it as well
|
|
6190
|
+
// When current object is the entity itself check for matching navigation
|
|
6191
|
+
// property in changed entity data and take care of it as well
|
|
6180
6192
|
if (sCurPath === sRootPath) {
|
|
6181
6193
|
oEntityType = that.oMetadata._getEntityTypeByPath(sRootPath);
|
|
6182
|
-
oNavPropRefInfo = oEntityType &&
|
|
6194
|
+
oNavPropRefInfo = oEntityType &&
|
|
6195
|
+
that.oMetadata._getNavPropertyRefInfo(oEntityType, sKey);
|
|
6183
6196
|
if (oNavPropRefInfo && oChangedObject[oNavPropRefInfo.name]) {
|
|
6184
|
-
// if the nav prop related to the matching property is also set, set it
|
|
6185
|
-
// entry and remove from changed entity
|
|
6186
|
-
oOriginalObject[oNavPropRefInfo.name] =
|
|
6197
|
+
// if the nav prop related to the matching property is also set, set it
|
|
6198
|
+
// on original entry and remove it from changed entity
|
|
6199
|
+
oOriginalObject[oNavPropRefInfo.name] =
|
|
6200
|
+
oChangedObject[oNavPropRefInfo.name];
|
|
6187
6201
|
delete oChangedObject[oNavPropRefInfo.name];
|
|
6188
6202
|
}
|
|
6189
6203
|
}
|
|
6190
6204
|
}
|
|
6191
6205
|
});
|
|
6192
6206
|
}
|
|
6193
|
-
|
|
6194
|
-
|
|
6195
|
-
|
|
6196
|
-
|
|
6197
|
-
|
|
6198
|
-
|
|
6199
|
-
|
|
6200
|
-
|
|
6201
|
-
|
|
6202
|
-
|
|
6203
|
-
|
|
6204
|
-
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
that.abortInternalRequest(that._resolveGroup(sKey).groupId, {requestKey: sKey});
|
|
6209
|
-
} else {
|
|
6210
|
-
that.mChangedEntities[sKey] = oChangedEntry;
|
|
6211
|
-
oChangedEntry.__metadata = {deepPath: sDeepPath};
|
|
6212
|
-
extend(oChangedEntry.__metadata, oEntry.__metadata);
|
|
6213
|
-
}
|
|
6207
|
+
if (sEntityKey in that.mChangedEntities) {
|
|
6208
|
+
oEntry = that._getObject('/' + sEntityKey, null, true);
|
|
6209
|
+
oChangedEntry = that._getObject('/' + sEntityKey);
|
|
6210
|
+
merge(oEntry, oData);
|
|
6211
|
+
sRootPath = '/' + sEntityKey;
|
|
6212
|
+
sDeepPath = that.removeInternalMetadata(oChangedEntry).deepPath;
|
|
6213
|
+
updateChangedEntities(oEntry, oChangedEntry, sRootPath);
|
|
6214
|
+
if (isEmptyObject(oChangedEntry)) {
|
|
6215
|
+
delete that.mChangedEntities[sEntityKey];
|
|
6216
|
+
that.abortInternalRequest(that._resolveGroup(sEntityKey).groupId,
|
|
6217
|
+
{requestKey: sEntityKey});
|
|
6218
|
+
} else {
|
|
6219
|
+
that.mChangedEntities[sEntityKey] = oChangedEntry;
|
|
6220
|
+
oChangedEntry.__metadata = {deepPath: sDeepPath};
|
|
6221
|
+
extend(oChangedEntry.__metadata, oEntry.__metadata);
|
|
6214
6222
|
}
|
|
6215
|
-
}
|
|
6223
|
+
}
|
|
6216
6224
|
};
|
|
6217
6225
|
|
|
6218
6226
|
/**
|