@openui5/sap.ui.core 1.101.0 → 1.103.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 +26 -5
- package/THIRDPARTY.txt +1 -1
- 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/assert.js +1 -1
- package/src/sap/base/i18n/ResourceBundle.js +2 -2
- package/src/sap/base/strings/whitespaceReplacer.js +1 -1
- package/src/sap/base/util/restricted/_CancelablePromise.js +2 -2
- 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 +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 +2 -89
- package/src/sap/ui/core/AppCacheBuster.js +4 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/CommandExecution.js +15 -12
- package/src/sap/ui/core/Component.js +34 -15
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +27 -12
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +23 -9
- package/src/sap/ui/core/Control.js +3 -4
- package/src/sap/ui/core/Core.js +102 -34
- 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 +12 -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/ExtensionPoint.js +1 -1
- package/src/sap/ui/core/FocusHandler.js +4 -5
- 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 +7 -7
- 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 +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 +28 -4
- package/src/sap/ui/core/LocaleData.js +119 -1
- 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 +16 -16
- 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 +21 -15
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +2 -4
- 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 +5 -6
- 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 +515 -392
- package/src/sap/ui/core/cache/CacheManager.js +27 -0
- package/src/sap/ui/core/cache/CacheManagerNOP.js +3 -0
- package/src/sap/ui/core/cache/LRUPersistentCache.js +75 -3
- package/src/sap/ui/core/cldr/ar.json +469 -1
- package/src/sap/ui/core/cldr/ar_EG.json +469 -1
- package/src/sap/ui/core/cldr/ar_SA.json +469 -1
- package/src/sap/ui/core/cldr/bg.json +469 -1
- package/src/sap/ui/core/cldr/ca.json +469 -1
- package/src/sap/ui/core/cldr/cs.json +469 -1
- package/src/sap/ui/core/cldr/cy.json +469 -1
- package/src/sap/ui/core/cldr/da.json +469 -1
- package/src/sap/ui/core/cldr/de.json +469 -1
- package/src/sap/ui/core/cldr/de_AT.json +469 -1
- package/src/sap/ui/core/cldr/de_CH.json +469 -1
- package/src/sap/ui/core/cldr/el.json +469 -1
- package/src/sap/ui/core/cldr/el_CY.json +469 -1
- package/src/sap/ui/core/cldr/en.json +469 -1
- package/src/sap/ui/core/cldr/en_AU.json +469 -1
- package/src/sap/ui/core/cldr/en_GB.json +469 -1
- package/src/sap/ui/core/cldr/en_HK.json +469 -1
- package/src/sap/ui/core/cldr/en_IE.json +469 -1
- package/src/sap/ui/core/cldr/en_IN.json +469 -1
- package/src/sap/ui/core/cldr/en_NZ.json +469 -1
- package/src/sap/ui/core/cldr/en_PG.json +469 -1
- package/src/sap/ui/core/cldr/en_SG.json +469 -1
- package/src/sap/ui/core/cldr/en_ZA.json +469 -1
- package/src/sap/ui/core/cldr/es.json +469 -1
- package/src/sap/ui/core/cldr/es_AR.json +469 -1
- package/src/sap/ui/core/cldr/es_BO.json +469 -1
- package/src/sap/ui/core/cldr/es_CL.json +469 -1
- package/src/sap/ui/core/cldr/es_CO.json +469 -1
- package/src/sap/ui/core/cldr/es_MX.json +469 -1
- package/src/sap/ui/core/cldr/es_PE.json +469 -1
- package/src/sap/ui/core/cldr/es_UY.json +469 -1
- package/src/sap/ui/core/cldr/es_VE.json +469 -1
- package/src/sap/ui/core/cldr/et.json +469 -1
- package/src/sap/ui/core/cldr/fa.json +469 -1
- package/src/sap/ui/core/cldr/fi.json +469 -1
- package/src/sap/ui/core/cldr/fr.json +469 -1
- package/src/sap/ui/core/cldr/fr_BE.json +469 -1
- package/src/sap/ui/core/cldr/fr_CA.json +469 -1
- package/src/sap/ui/core/cldr/fr_CH.json +469 -1
- package/src/sap/ui/core/cldr/fr_LU.json +469 -1
- package/src/sap/ui/core/cldr/he.json +469 -1
- package/src/sap/ui/core/cldr/hi.json +469 -1
- package/src/sap/ui/core/cldr/hr.json +469 -1
- package/src/sap/ui/core/cldr/hu.json +469 -1
- package/src/sap/ui/core/cldr/id.json +469 -1
- package/src/sap/ui/core/cldr/it.json +469 -1
- package/src/sap/ui/core/cldr/it_CH.json +469 -1
- package/src/sap/ui/core/cldr/ja.json +469 -1
- package/src/sap/ui/core/cldr/kk.json +469 -1
- package/src/sap/ui/core/cldr/ko.json +469 -1
- package/src/sap/ui/core/cldr/lt.json +469 -1
- package/src/sap/ui/core/cldr/lv.json +469 -1
- package/src/sap/ui/core/cldr/ms.json +469 -1
- package/src/sap/ui/core/cldr/nb.json +469 -1
- package/src/sap/ui/core/cldr/nl.json +469 -1
- package/src/sap/ui/core/cldr/nl_BE.json +469 -1
- package/src/sap/ui/core/cldr/pl.json +469 -1
- package/src/sap/ui/core/cldr/pt.json +469 -1
- package/src/sap/ui/core/cldr/pt_PT.json +469 -1
- package/src/sap/ui/core/cldr/ro.json +469 -1
- package/src/sap/ui/core/cldr/ru.json +469 -1
- package/src/sap/ui/core/cldr/ru_UA.json +469 -1
- package/src/sap/ui/core/cldr/sk.json +469 -1
- package/src/sap/ui/core/cldr/sl.json +469 -1
- package/src/sap/ui/core/cldr/sr.json +469 -1
- package/src/sap/ui/core/cldr/sr_Latn.json +469 -1
- package/src/sap/ui/core/cldr/sv.json +469 -1
- package/src/sap/ui/core/cldr/th.json +469 -1
- package/src/sap/ui/core/cldr/tr.json +469 -1
- package/src/sap/ui/core/cldr/uk.json +469 -1
- package/src/sap/ui/core/cldr/vi.json +469 -1
- package/src/sap/ui/core/cldr/zh_CN.json +470 -2
- package/src/sap/ui/core/cldr/zh_HK.json +470 -2
- package/src/sap/ui/core/cldr/zh_SG.json +470 -2
- package/src/sap/ui/core/cldr/zh_TW.json +469 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +13 -14
- package/src/sap/ui/core/delegate/ScrollEnablement.js +11 -7
- package/src/sap/ui/core/dnd/DragAndDrop.js +3 -3
- 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 +43 -28
- package/src/sap/ui/core/format/NumberFormat.js +30 -30
- package/src/sap/ui/core/format/TimezoneUtil.js +48 -16
- 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_el.properties +2 -2
- package/src/sap/ui/core/messagebundle_it.properties +56 -56
- 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 +2 -2
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +2 -1
- package/src/sap/ui/core/mvc/XMLView.js +12 -20
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +81 -62
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +3 -3
- 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/History.js +5 -3
- package/src/sap/ui/core/routing/Router.js +5 -3
- package/src/sap/ui/core/routing/Targets.js +2 -2
- package/src/sap/ui/core/rules/App.support.js +8 -8
- package/src/sap/ui/core/rules/Config.support.js +12 -12
- package/src/sap/ui/core/rules/Model.support.js +8 -8
- package/src/sap/ui/core/rules/Rendering.support.js +1 -1
- package/src/sap/ui/core/rules/Theming.support.js +4 -4
- package/src/sap/ui/core/rules/View.support.js +9 -9
- 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/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 +9 -3
- 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 +8 -22
- package/src/sap/ui/core/support/support.html +1 -1
- package/src/sap/ui/core/themes/base/LocalBusyIndicator.less +15 -1
- package/src/sap/ui/core/themes/base/base.less +4 -4
- package/src/sap/ui/core/themes/base/global.less +2 -0
- package/src/sap/ui/core/themes/sap_hcb/global.less +2 -0
- package/src/sap/ui/core/theming/Parameters.js +1 -1
- 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 +4 -4
- 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 +1 -1
- package/src/sap/ui/core/util/MockServer.js +2 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/ResponsivePaddingsEnablement.js +2 -2
- package/src/sap/ui/core/util/XMLPreprocessor.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 +7 -8
- 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/_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/ClientListBinding.js +127 -21
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +32 -13
- 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/_Helper.js +3 -1
- package/src/sap/ui/model/json/JSONListBinding.js +0 -58
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +0 -42
- 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/ODataTreeBindingAdapter.js +6 -0
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +279 -4
- package/src/sap/ui/model/odata/OperationMode.js +6 -0
- 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 -2
- 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/type/UnitMixin.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +13 -4
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +107 -34
- package/src/sap/ui/model/odata/v2/ODataModel.js +70 -22
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +43 -7
- package/src/sap/ui/model/odata/v4/Context.js +31 -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 +83 -27
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +17 -10
- package/src/sap/ui/model/odata/v4/ODataModel.js +175 -6
- 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 +208 -85
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +119 -42
- package/src/sap/ui/model/odata/v4/lib/_MinMaxHelper.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +60 -35
- 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/XMLListBinding.js +0 -53
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/security/FrameOptions.js +4 -2
- package/src/sap/ui/test/OpaBuilder.js +1 -1
- package/src/sap/ui/test/OpaPlugin.js +3 -3
- package/src/sap/ui/test/_ControlFinder.js +5 -4
- package/src/sap/ui/test/actions/Action.js +3 -3
- 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 +6 -6
- package/src/sap/ui/test/actions/Scroll.js +1 -1
- package/src/sap/ui/test/generic/TestBase.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/openWindow.js +1 -1
- package/src/ui5loader.js +3 -3
- package/ui5.yaml +72 -1
|
@@ -48,7 +48,7 @@ sap.ui.define([
|
|
|
48
48
|
if (oItem) {
|
|
49
49
|
if (!mMap[sPath]) {
|
|
50
50
|
mMap[sPath] = [oItem];
|
|
51
|
-
} else if (mMap[sPath].
|
|
51
|
+
} else if (!mMap[sPath].includes(oItem)) {
|
|
52
52
|
mMap[sPath].push(oItem);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -70,7 +70,7 @@ sap.ui.define([
|
|
|
70
70
|
aChildren.forEach(function (sPath) {
|
|
71
71
|
var aSegments;
|
|
72
72
|
|
|
73
|
-
if (aAncestors.
|
|
73
|
+
if (aAncestors.includes(sPath)) {
|
|
74
74
|
mChildren[sPath] = true;
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
@@ -97,7 +97,7 @@ sap.ui.define([
|
|
|
97
97
|
addToSelect : function (mQueryOptions, aSelectPaths) {
|
|
98
98
|
mQueryOptions.$select = mQueryOptions.$select || [];
|
|
99
99
|
aSelectPaths.forEach(function (sPath) {
|
|
100
|
-
if (mQueryOptions.$select.
|
|
100
|
+
if (!mQueryOptions.$select.includes(sPath)) {
|
|
101
101
|
mQueryOptions.$select.push(sPath);
|
|
102
102
|
}
|
|
103
103
|
});
|
|
@@ -277,6 +277,36 @@ sap.ui.define([
|
|
|
277
277
|
return "?" + aQuery.join("&");
|
|
278
278
|
},
|
|
279
279
|
|
|
280
|
+
/**
|
|
281
|
+
* Converts the select paths into an object where each of the selected properties has the
|
|
282
|
+
* value <code>true</code>, unless a (complex) parent property is also selected.
|
|
283
|
+
*
|
|
284
|
+
* @param {string[]} aSelect - The list of selected paths
|
|
285
|
+
* @returns {object} - An object marking the selected properties
|
|
286
|
+
*/
|
|
287
|
+
buildSelect : function (aSelect) {
|
|
288
|
+
var oSelect = {};
|
|
289
|
+
|
|
290
|
+
aSelect.forEach(function (sPath) {
|
|
291
|
+
var aSegments = sPath.split("/"),
|
|
292
|
+
iLast = aSegments.length - 1,
|
|
293
|
+
oSubSelect = oSelect;
|
|
294
|
+
|
|
295
|
+
aSegments.some(function (sSegment, i) {
|
|
296
|
+
if (i === iLast) {
|
|
297
|
+
oSubSelect[sSegment] = true;
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
if (oSubSelect[sSegment] === true) {
|
|
301
|
+
return true; // no need to descend when the complex property is selected
|
|
302
|
+
}
|
|
303
|
+
oSubSelect = oSubSelect[sSegment] = oSubSelect[sSegment] || {};
|
|
304
|
+
});
|
|
305
|
+
});
|
|
306
|
+
|
|
307
|
+
return oSelect;
|
|
308
|
+
},
|
|
309
|
+
|
|
280
310
|
/**
|
|
281
311
|
* Returns a clone of the given value, according to the rules of
|
|
282
312
|
* <code>JSON.stringify</code>.
|
|
@@ -2039,7 +2069,9 @@ sap.ui.define([
|
|
|
2039
2069
|
* {@link #updateExisting}). If a property is missing in the new value, the old value
|
|
2040
2070
|
* remains unchanged. If no selected properties are given or if "*" is contained in the
|
|
2041
2071
|
* selected properties, then all properties are selected. Fires change events for all
|
|
2042
|
-
* changed properties.
|
|
2072
|
+
* changed properties. An instance annotation is updated if the instance (which would be a
|
|
2073
|
+
* complex-valued structural property then) or one of its properties is selected, a property
|
|
2074
|
+
* annotation is updated if the property itself is selected.
|
|
2043
2075
|
*
|
|
2044
2076
|
* Restrictions:
|
|
2045
2077
|
* - oOldValue and oNewValue are expected to have the same structure: when there is an
|
|
@@ -2051,7 +2083,7 @@ sap.ui.define([
|
|
|
2051
2083
|
*
|
|
2052
2084
|
* @param {object} mChangeListeners
|
|
2053
2085
|
* A map of change listeners by path
|
|
2054
|
-
* @param {string}
|
|
2086
|
+
* @param {string} sBasePath
|
|
2055
2087
|
* The path of oOldValue in mChangeListeners
|
|
2056
2088
|
* @param {object} oOldValue
|
|
2057
2089
|
* The old value
|
|
@@ -2061,58 +2093,103 @@ sap.ui.define([
|
|
|
2061
2093
|
* The relative paths to properties to be updated in oOldValue; default is all properties
|
|
2062
2094
|
* from oNewValue
|
|
2063
2095
|
*/
|
|
2064
|
-
updateSelected : function (mChangeListeners,
|
|
2096
|
+
updateSelected : function (mChangeListeners, sBasePath, oOldValue, oNewValue, aSelect) {
|
|
2065
2097
|
/*
|
|
2066
|
-
*
|
|
2067
|
-
* is
|
|
2068
|
-
* @param {
|
|
2069
|
-
*
|
|
2070
|
-
* @param {
|
|
2098
|
+
* Gets the property's value in vSelect. Instance annotations are always selected,
|
|
2099
|
+
* property annotations only if the property is selected.
|
|
2100
|
+
* @param {object|boolean} vSelect
|
|
2101
|
+
* The result from _Helper.buildSelect or true if the complex structure is selected
|
|
2102
|
+
* @param {string} sProperty
|
|
2103
|
+
* The property name
|
|
2104
|
+
* @returns {object|boolean|undefined}
|
|
2105
|
+
* undefined to ignore, {} to update it w/o event, true to update w/ event
|
|
2071
2106
|
*/
|
|
2072
|
-
function
|
|
2073
|
-
var
|
|
2107
|
+
function getSelect(vSelect, sProperty) {
|
|
2108
|
+
var iAt;
|
|
2074
2109
|
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2110
|
+
if (vSelect === true) {
|
|
2111
|
+
return true;
|
|
2112
|
+
}
|
|
2113
|
+
if (vSelect[sProperty]) {
|
|
2114
|
+
return vSelect[sProperty];
|
|
2115
|
+
}
|
|
2116
|
+
iAt = sProperty.indexOf("@");
|
|
2117
|
+
if (iAt === 0 || iAt > 0 && vSelect[sProperty.slice(0, iAt)]) {
|
|
2118
|
+
return true; // always fire changes for selected annotations
|
|
2119
|
+
}
|
|
2120
|
+
}
|
|
2078
2121
|
|
|
2079
|
-
|
|
2080
|
-
|
|
2122
|
+
/*
|
|
2123
|
+
* The recursive update function.
|
|
2124
|
+
* @param {string} sPath - The path of oTarget in the cache
|
|
2125
|
+
* @param {object|boolean} vSelect
|
|
2126
|
+
* The result from _Helper.buildSelect or true if the complex structure is selected
|
|
2127
|
+
* @param {object} oTarget - The update target
|
|
2128
|
+
* @param {object} oSource - The update source
|
|
2129
|
+
* @returns {object} oTarget
|
|
2130
|
+
*/
|
|
2131
|
+
function update(sPath, vSelect, oTarget, oSource) {
|
|
2132
|
+
// Remove annotations that are selected, but not in oSource anymore; except client
|
|
2133
|
+
// annotations
|
|
2134
|
+
Object.keys(oTarget).forEach(function (sProperty) {
|
|
2135
|
+
if (!(sProperty in oSource) && sProperty.includes("@")
|
|
2136
|
+
&& !sProperty.startsWith("@$ui5.") && getSelect(vSelect, sProperty)) {
|
|
2137
|
+
delete oTarget[sProperty];
|
|
2138
|
+
_Helper.fireChange(mChangeListeners, _Helper.buildPath(sPath, sProperty),
|
|
2139
|
+
undefined);
|
|
2140
|
+
}
|
|
2141
|
+
});
|
|
2142
|
+
|
|
2143
|
+
// The actual update loop
|
|
2144
|
+
Object.keys(oSource).forEach(function (sProperty) {
|
|
2145
|
+
var sPropertyPath = _Helper.buildPath(sPath, sProperty),
|
|
2146
|
+
vSelected = getSelect(vSelect, sProperty),
|
|
2147
|
+
vSourceProperty = oSource[sProperty],
|
|
2148
|
+
vTargetProperty = oTarget[sProperty];
|
|
2149
|
+
|
|
2150
|
+
if (!vSelected) {
|
|
2151
|
+
return;
|
|
2152
|
+
}
|
|
2153
|
+
if (sProperty === "@$ui5._") {
|
|
2154
|
+
_Helper.setPrivateAnnotation(oTarget, "predicate",
|
|
2155
|
+
_Helper.getPrivateAnnotation(oSource, "predicate"));
|
|
2156
|
+
// There should be nothing else, but we must avoid calling fireChanges on
|
|
2157
|
+
// the target because it may contain non-JSON annotations
|
|
2081
2158
|
} else if (Array.isArray(vSourceProperty)) {
|
|
2082
2159
|
// copy complete collection; no change events as long as collection-valued
|
|
2083
2160
|
// properties are not supported
|
|
2084
|
-
oTarget[
|
|
2085
|
-
} else if (vSourceProperty && typeof vSourceProperty === "object"
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2161
|
+
oTarget[sProperty] = vSourceProperty;
|
|
2162
|
+
} else if (vSourceProperty && typeof vSourceProperty === "object"
|
|
2163
|
+
&& !sProperty.includes("@")) {
|
|
2164
|
+
oTarget[sProperty] = update(sPropertyPath, vSelected, vTargetProperty || {},
|
|
2165
|
+
vSourceProperty);
|
|
2089
2166
|
} else if (vTargetProperty !== vSourceProperty) {
|
|
2090
|
-
oTarget[
|
|
2167
|
+
oTarget[sProperty] = vSourceProperty;
|
|
2091
2168
|
if (vTargetProperty && typeof vTargetProperty === "object") {
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2095
|
-
} else if (
|
|
2096
|
-
_Helper.fireChange(mChangeListeners,
|
|
2097
|
-
_Helper.buildPath(sPath, sPropertyPath), vSourceProperty);
|
|
2169
|
+
// a complex property is replaced by null
|
|
2170
|
+
_Helper.fireChanges(mChangeListeners, sPropertyPath, vTargetProperty,
|
|
2171
|
+
true);
|
|
2172
|
+
} else if (vSelected === true) {
|
|
2173
|
+
_Helper.fireChange(mChangeListeners, sPropertyPath, vSourceProperty);
|
|
2098
2174
|
}
|
|
2099
|
-
// else a change from undefined to null where an object is expected along a
|
|
2100
|
-
// property path from aSelect
|
|
2101
2175
|
}
|
|
2102
|
-
return false;
|
|
2103
2176
|
});
|
|
2104
|
-
}
|
|
2105
2177
|
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2178
|
+
// Create annotations for a property which was selected but no data was received
|
|
2179
|
+
Object.keys(vSelect).forEach(function (sProperty) {
|
|
2180
|
+
if (!(sProperty in oTarget)) {
|
|
2181
|
+
oTarget[sProperty + "@$ui5.noData"] = true;
|
|
2182
|
+
}
|
|
2183
|
+
});
|
|
2184
|
+
|
|
2185
|
+
return oTarget;
|
|
2110
2186
|
}
|
|
2111
2187
|
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2188
|
+
if (aSelect && !aSelect.includes("*")) {
|
|
2189
|
+
update(sBasePath, _Helper.buildSelect(aSelect), oOldValue, oNewValue);
|
|
2190
|
+
} else { // no individual properties selected, fetch all properties of the new value
|
|
2191
|
+
_Helper.updateAll(mChangeListeners, sBasePath, oOldValue, oNewValue);
|
|
2192
|
+
}
|
|
2116
2193
|
},
|
|
2117
2194
|
|
|
2118
2195
|
/**
|
|
@@ -13,7 +13,7 @@ sap.ui.define([
|
|
|
13
13
|
|
|
14
14
|
return {
|
|
15
15
|
/**
|
|
16
|
-
* Creates a cache that requests the
|
|
16
|
+
* Creates a cache that requests the minimum and maximum values together with the first
|
|
17
17
|
* request. Subsequent requests remain unchanged.
|
|
18
18
|
*
|
|
19
19
|
* @param {sap.ui.model.odata.v4.lib._Requestor} oRequestor
|
|
@@ -22,6 +22,7 @@ sap.ui.define([
|
|
|
22
22
|
},
|
|
23
23
|
sCachePrefix = "sap.ui.model.odata.v4.optimisticBatch:",
|
|
24
24
|
sClassName = "sap.ui.model.odata.v4.lib._Requestor",
|
|
25
|
+
sMessagesAnnotation = "@com.sap.vocabularies.Common.v1.Messages",
|
|
25
26
|
rSystemQueryOptionWithPlaceholder = /(\$\w+)=~/g,
|
|
26
27
|
rTimeout = /^\d+$/;
|
|
27
28
|
|
|
@@ -72,26 +73,7 @@ sap.ui.define([
|
|
|
72
73
|
* A map of query parameters as described in
|
|
73
74
|
* {@link sap.ui.model.odata.v4.lib._Helper.buildQuery}; used only to request the CSRF token
|
|
74
75
|
* @param {object} oModelInterface
|
|
75
|
-
*
|
|
76
|
-
* @param {function} oModelInterface.fetchEntityContainer
|
|
77
|
-
* A promise which is resolved with the $metadata "JSON" object as soon as the entity
|
|
78
|
-
* container is fully available, or rejected with an error.
|
|
79
|
-
* @param {function} oModelInterface.fetchMetadata
|
|
80
|
-
* A function that returns a SyncPromise which resolves with the metadata instance for a
|
|
81
|
-
* given meta path
|
|
82
|
-
* @param {function} oModelInterface.getGroupProperty
|
|
83
|
-
* A function called with parameters <code>sGroupId</code> and <code>sPropertyName</code>
|
|
84
|
-
* returning the property value in question. Only 'submit' is supported for <code>
|
|
85
|
-
* sPropertyName</code>. Supported property values are: 'API', 'Auto' and 'Direct'.
|
|
86
|
-
* @param {function} oModelInterface.reportStateMessages
|
|
87
|
-
* A function for reporting state messages; see {@link #reportStateMessages} for the signature
|
|
88
|
-
* of this function
|
|
89
|
-
* @param {function} oModelInterface.reportTransitionMessages
|
|
90
|
-
* A function called with parameters <code>sResourcePath</code> and <code>sMessages</code>
|
|
91
|
-
* reporting OData transition messages to the {@link sap.ui.core.message.MessageManager}.
|
|
92
|
-
* @param {function (string)} [oModelInterface.onCreateGroup]
|
|
93
|
-
* A callback function that is called with the group name as parameter when the first
|
|
94
|
-
* request is added to a group
|
|
76
|
+
* An interface allowing to call back to the owning model (see {@link .create})
|
|
95
77
|
*
|
|
96
78
|
* @alias sap.ui.model.odata.v4.lib._Requestor
|
|
97
79
|
* @constructor
|
|
@@ -825,22 +807,66 @@ sap.ui.define([
|
|
|
825
807
|
});
|
|
826
808
|
};
|
|
827
809
|
|
|
810
|
+
/**
|
|
811
|
+
* Fetches the type for the given path and puts it into mTypeForMetaPath. Recursively fetches
|
|
812
|
+
* the key properties' parent types if they are complex.
|
|
813
|
+
*
|
|
814
|
+
* @param {object} mTypeForMetaPath
|
|
815
|
+
* A map from resource path and entity path to the type
|
|
816
|
+
* @param {string} sMetaPath
|
|
817
|
+
* The meta path of the resource + navigation or key path (which may lead to an entity or
|
|
818
|
+
* complex type)
|
|
819
|
+
* @returns {SyncPromise<object>}
|
|
820
|
+
* A promise resolving with the type
|
|
821
|
+
*/
|
|
822
|
+
_Requestor.prototype.fetchType = function (mTypeForMetaPath, sMetaPath) {
|
|
823
|
+
var that = this;
|
|
824
|
+
|
|
825
|
+
if (sMetaPath in mTypeForMetaPath) {
|
|
826
|
+
return SyncPromise.resolve(mTypeForMetaPath[sMetaPath]);
|
|
827
|
+
}
|
|
828
|
+
|
|
829
|
+
return this.fetchTypeForPath(sMetaPath).then(function (oType) {
|
|
830
|
+
var oMessageAnnotation,
|
|
831
|
+
aPromises = [];
|
|
832
|
+
|
|
833
|
+
if (oType) {
|
|
834
|
+
oMessageAnnotation = that.getModelInterface()
|
|
835
|
+
.fetchMetadata(sMetaPath + "/" + sMessagesAnnotation).getResult();
|
|
836
|
+
if (oMessageAnnotation) {
|
|
837
|
+
oType = Object.create(oType);
|
|
838
|
+
oType[sMessagesAnnotation] = oMessageAnnotation;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
mTypeForMetaPath[sMetaPath] = oType;
|
|
842
|
+
|
|
843
|
+
(oType.$Key || []).forEach(function (vKey) {
|
|
844
|
+
if (typeof vKey === "object") {
|
|
845
|
+
// key has an alias
|
|
846
|
+
vKey = vKey[Object.keys(vKey)[0]];
|
|
847
|
+
aPromises.push(that.fetchType(mTypeForMetaPath,
|
|
848
|
+
sMetaPath + "/" + vKey.slice(0, vKey.lastIndexOf("/"))));
|
|
849
|
+
}
|
|
850
|
+
});
|
|
851
|
+
return SyncPromise.all(aPromises).then(function () {
|
|
852
|
+
return oType;
|
|
853
|
+
});
|
|
854
|
+
}
|
|
855
|
+
});
|
|
856
|
+
};
|
|
857
|
+
|
|
828
858
|
/**
|
|
829
859
|
* Fetches the type of the given meta path from the metadata.
|
|
830
860
|
*
|
|
831
861
|
* @param {string} sMetaPath
|
|
832
862
|
* The meta path, e.g. "/SalesOrderList/SO_2_BP"
|
|
833
|
-
* @param {boolean} [bAsName]
|
|
834
|
-
* If <code>true</code>, the name of the type is delivered instead of the type itself. This
|
|
835
|
-
* must be used when asking for a property type to avoid that the function logs an error
|
|
836
|
-
* because there are no objects for primitive types like "Edm.Stream".
|
|
837
863
|
* @returns {sap.ui.base.SyncPromise}
|
|
838
|
-
* A promise that is resolved with the type at the given path
|
|
864
|
+
* A promise that is resolved with the type at the given path.
|
|
839
865
|
*
|
|
840
866
|
* @private
|
|
841
867
|
*/
|
|
842
|
-
_Requestor.prototype.fetchTypeForPath = function (sMetaPath
|
|
843
|
-
return this.oModelInterface.fetchMetadata(sMetaPath +
|
|
868
|
+
_Requestor.prototype.fetchTypeForPath = function (sMetaPath) {
|
|
869
|
+
return this.oModelInterface.fetchMetadata(sMetaPath + "/");
|
|
844
870
|
};
|
|
845
871
|
|
|
846
872
|
/**
|
|
@@ -903,9 +929,7 @@ sap.ui.define([
|
|
|
903
929
|
aChangeSet.iSerialNumber = 0;
|
|
904
930
|
aRequests = this.mBatchQueue[sGroupId] = [aChangeSet];
|
|
905
931
|
aRequests.iChangeSet = 0; // the index of the current change set in this queue
|
|
906
|
-
|
|
907
|
-
this.oModelInterface.onCreateGroup(sGroupId);
|
|
908
|
-
}
|
|
932
|
+
this.oModelInterface.onCreateGroup(sGroupId);
|
|
909
933
|
}
|
|
910
934
|
return aRequests;
|
|
911
935
|
};
|
|
@@ -2121,6 +2145,9 @@ sap.ui.define([
|
|
|
2121
2145
|
* @param {function} oModelInterface.fetchMetadata
|
|
2122
2146
|
* A function that returns a SyncPromise which resolves with the metadata instance for a
|
|
2123
2147
|
* given meta path
|
|
2148
|
+
* @param {function} oModelInterface.fireSessionTimeout
|
|
2149
|
+
* A function that fires the 'sessionTimeout' event (when the server has created a session for
|
|
2150
|
+
* the model and this session ran into a timeout due to inactivity).
|
|
2124
2151
|
* @param {function} oModelInterface.getGroupProperty
|
|
2125
2152
|
* A function called with parameters <code>sGroupId</code> and <code>sPropertyName</code>
|
|
2126
2153
|
* returning the property value in question. Only 'submit' is supported for <code>
|
|
@@ -2132,12 +2159,12 @@ sap.ui.define([
|
|
|
2132
2159
|
* A catch handler function expecting an <code>Error</code> instance. This function will call
|
|
2133
2160
|
* {@link sap.ui.model.odata.v4.ODataModel#reportError} if the error has not been reported
|
|
2134
2161
|
* yet.
|
|
2135
|
-
* @param {function
|
|
2162
|
+
* @param {function} oModelInterface.onCreateGroup
|
|
2136
2163
|
* A callback function that is called with the group name as parameter when the first
|
|
2137
2164
|
* request is added to a group
|
|
2138
2165
|
* @param {function} oModelInterface.reportStateMessages
|
|
2139
2166
|
* A function to report OData state messages
|
|
2140
|
-
* @param {function
|
|
2167
|
+
* @param {function} oModelInterface.reportTransitionMessages
|
|
2141
2168
|
* A function to report OData transition messages
|
|
2142
2169
|
* @param {object} [mHeaders={}]
|
|
2143
2170
|
* Map of default headers; may be overridden with request-specific headers; certain
|
|
@@ -2163,9 +2190,7 @@ sap.ui.define([
|
|
|
2163
2190
|
*/
|
|
2164
2191
|
_Requestor.create = function (sServiceUrl, oModelInterface, mHeaders, mQueryParams,
|
|
2165
2192
|
sODataVersion) {
|
|
2166
|
-
var oRequestor = new _Requestor(sServiceUrl, mHeaders, mQueryParams,
|
|
2167
|
-
oModelInterface
|
|
2168
|
-
);
|
|
2193
|
+
var oRequestor = new _Requestor(sServiceUrl, mHeaders, mQueryParams, oModelInterface);
|
|
2169
2194
|
|
|
2170
2195
|
if (sODataVersion === "2.0") {
|
|
2171
2196
|
asV2Requestor(oRequestor);
|
|
@@ -228,7 +228,7 @@ sap.ui.define([
|
|
|
228
228
|
*
|
|
229
229
|
* @extends sap.ui.model.Model
|
|
230
230
|
* @public
|
|
231
|
-
* @version 1.
|
|
231
|
+
* @version 1.103.0
|
|
232
232
|
*/
|
|
233
233
|
var ResourceModel = Model.extend("sap.ui.model.resource.ResourceModel", /** @lends sap.ui.model.resource.ResourceModel.prototype */ {
|
|
234
234
|
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.103.0
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -33,7 +33,7 @@ sap.ui.define([
|
|
|
33
33
|
* @extends sap.ui.model.CompositeType
|
|
34
34
|
*
|
|
35
35
|
* @author SAP SE
|
|
36
|
-
* @version 1.
|
|
36
|
+
* @version 1.103.0
|
|
37
37
|
*
|
|
38
38
|
* @public
|
|
39
39
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.103.0
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.103.0
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getDateTimeInstance DateFormat}.
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @extends sap.ui.model.SimpleType
|
|
25
25
|
*
|
|
26
26
|
* @author SAP SE
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.103.0
|
|
28
28
|
*
|
|
29
29
|
* @public
|
|
30
30
|
* @param {object} [oFormatOptions] formatting options. Supports the same options as {@link sap.ui.core.format.FileSizeFormat.getInstance FileSizeFormat.getInstance}
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.103.0
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @extends sap.ui.model.SimpleType
|
|
27
27
|
*
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.103.0
|
|
30
30
|
*
|
|
31
31
|
* @public
|
|
32
32
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.NumberFormat NumberFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./Date', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.Date
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.103.0
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|
|
@@ -19,7 +19,7 @@ sap.ui.define(['./DateInterval', 'sap/ui/core/format/DateFormat'],
|
|
|
19
19
|
* @extends sap.ui.model.type.DateInterval
|
|
20
20
|
*
|
|
21
21
|
* @author SAP SE
|
|
22
|
-
* @version 1.
|
|
22
|
+
* @version 1.103.0
|
|
23
23
|
*
|
|
24
24
|
* @public
|
|
25
25
|
* @param {object} [oFormatOptions] Formatting options. For a list of all available options, see {@link sap.ui.core.format.DateFormat.getTimeInstance DateFormat}.
|
|
@@ -15,8 +15,6 @@ sap.ui.define([
|
|
|
15
15
|
function(ChangeReason, ClientListBinding, XMLHelper, deepEqual, each) {
|
|
16
16
|
"use strict";
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
|
|
20
18
|
/**
|
|
21
19
|
*
|
|
22
20
|
* @class
|
|
@@ -33,55 +31,6 @@ sap.ui.define([
|
|
|
33
31
|
*/
|
|
34
32
|
var XMLListBinding = ClientListBinding.extend("sap.ui.model.xml.XMLListBinding");
|
|
35
33
|
|
|
36
|
-
/**
|
|
37
|
-
* Return contexts for the list or a specified subset of contexts
|
|
38
|
-
* @param {int} [iStartIndex=0] the startIndex where to start the retrieval of contexts
|
|
39
|
-
* @param {int} [iLength=length of the list] determines how many contexts to retrieve beginning from the start index.
|
|
40
|
-
* Default is the whole list length.
|
|
41
|
-
*
|
|
42
|
-
* @return {sap.ui.model.Context[]} the contexts array
|
|
43
|
-
* @protected
|
|
44
|
-
*/
|
|
45
|
-
XMLListBinding.prototype.getContexts = function(iStartIndex, iLength) {
|
|
46
|
-
this.iLastStartIndex = iStartIndex;
|
|
47
|
-
this.iLastLength = iLength;
|
|
48
|
-
|
|
49
|
-
if (!iStartIndex) {
|
|
50
|
-
iStartIndex = 0;
|
|
51
|
-
}
|
|
52
|
-
if (!iLength) {
|
|
53
|
-
iLength = Math.min(this.iLength, this.oModel.iSizeLimit);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
var aContexts = this._getContexts(iStartIndex, iLength),
|
|
57
|
-
aContextData = [];
|
|
58
|
-
|
|
59
|
-
if (this.bUseExtendedChangeDetection) {
|
|
60
|
-
for (var i = 0; i < aContexts.length; i++) {
|
|
61
|
-
aContextData.push(this.getContextData(aContexts[i]));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
//Check diff
|
|
65
|
-
if (this.aLastContexts && iStartIndex < this.iLastEndIndex) {
|
|
66
|
-
aContexts.diff = this.diffData(this.aLastContextData, aContextData);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
this.iLastEndIndex = iStartIndex + iLength;
|
|
70
|
-
this.aLastContexts = aContexts.slice(0);
|
|
71
|
-
this.aLastContextData = aContextData.slice(0);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return aContexts;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
XMLListBinding.prototype.getCurrentContexts = function() {
|
|
78
|
-
if (this.bUseExtendedChangeDetection) {
|
|
79
|
-
return this.aLastContexts || [];
|
|
80
|
-
} else {
|
|
81
|
-
return this.getContexts(this.iLastStartIndex, this.iLastLength);
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
|
|
85
34
|
/**
|
|
86
35
|
* Returns the entry data as required for change detection/diff. For the XMLModel this is the
|
|
87
36
|
* node referenced by the context, serialized as XML.
|
|
@@ -182,7 +131,5 @@ sap.ui.define([
|
|
|
182
131
|
}
|
|
183
132
|
};
|
|
184
133
|
|
|
185
|
-
|
|
186
134
|
return XMLListBinding;
|
|
187
|
-
|
|
188
135
|
});
|