@openui5/sap.ui.core 1.97.1 → 1.99.1
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 +92 -2
- package/.reuse/dep5 +25 -30
- package/THIRDPARTY.txt +14 -21
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.mobile.js +29 -19
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +80 -168
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/VersionInfo.js +13 -10
- package/src/sap/ui/base/BindingParser.js +34 -7
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +48 -27
- package/src/sap/ui/base/ManagedObjectMetadata.js +1 -1
- 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/BusyIndicatorUtils.js +1 -1
- package/src/sap/ui/core/Component.js +3 -3
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +79 -14
- package/src/sap/ui/core/Control.js +3 -2
- package/src/sap/ui/core/Core.js +3 -6
- 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 +5 -7
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +1 -1
- package/src/sap/ui/core/FocusHandler.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/HTMLRenderer.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +2 -3
- package/src/sap/ui/core/IconRenderer.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +9 -2
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicatorRenderer.js +2 -2
- package/src/sap/ui/core/LocalBusyIndicatorSupport.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +37 -2
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Placeholder.js +28 -28
- package/src/sap/ui/core/Popup.js +3 -3
- package/src/sap/ui/core/RenderManager.js +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/ScrollBarRenderer.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 +2 -2
- 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/_IconRegistry.js +10 -1
- package/src/sap/ui/core/date/Japanese.js +1 -1
- package/src/sap/ui/core/date/UniversalDateUtils.js +175 -5
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +9 -6
- package/src/sap/ui/core/dnd/DragAndDrop.js +2 -2
- package/src/sap/ui/core/dnd/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/DateFormat.js +562 -174
- package/src/sap/ui/core/format/DateFormatTimezoneDisplay.js +43 -0
- package/src/sap/ui/core/format/ListFormat.js +2 -2
- package/src/sap/ui/core/format/NumberFormat.js +190 -56
- package/src/sap/ui/core/format/TimezoneUtil.js +248 -0
- package/src/sap/ui/core/hyphenation/Hyphenation.js +1 -1
- package/src/sap/ui/core/library.js +45 -8
- 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/MessageMixin.js +2 -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 +4 -0
- package/src/sap/ui/core/messagebundle_ar.properties +2 -0
- package/src/sap/ui/core/messagebundle_bg.properties +7 -5
- package/src/sap/ui/core/messagebundle_ca.properties +2 -0
- package/src/sap/ui/core/messagebundle_cs.properties +2 -0
- package/src/sap/ui/core/messagebundle_cy.properties +2 -0
- package/src/sap/ui/core/messagebundle_da.properties +2 -0
- package/src/sap/ui/core/messagebundle_de.properties +3 -1
- package/src/sap/ui/core/messagebundle_el.properties +2 -0
- package/src/sap/ui/core/messagebundle_en.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_GB.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_sappsd.properties +2 -0
- package/src/sap/ui/core/messagebundle_en_US_saprigi.properties +1 -0
- package/src/sap/ui/core/messagebundle_en_US_saptrc.properties +2 -0
- package/src/sap/ui/core/messagebundle_es.properties +2 -0
- package/src/sap/ui/core/messagebundle_es_MX.properties +2 -0
- package/src/sap/ui/core/messagebundle_et.properties +2 -0
- package/src/sap/ui/core/messagebundle_fi.properties +2 -0
- package/src/sap/ui/core/messagebundle_fr.properties +2 -0
- package/src/sap/ui/core/messagebundle_fr_CA.properties +2 -0
- package/src/sap/ui/core/messagebundle_hi.properties +2 -0
- package/src/sap/ui/core/messagebundle_hr.properties +2 -0
- package/src/sap/ui/core/messagebundle_hu.properties +2 -0
- package/src/sap/ui/core/messagebundle_id.properties +4 -2
- package/src/sap/ui/core/messagebundle_it.properties +3 -1
- package/src/sap/ui/core/messagebundle_iw.properties +2 -0
- package/src/sap/ui/core/messagebundle_ja.properties +2 -0
- package/src/sap/ui/core/messagebundle_kk.properties +2 -0
- package/src/sap/ui/core/messagebundle_ko.properties +2 -0
- package/src/sap/ui/core/messagebundle_lt.properties +2 -0
- package/src/sap/ui/core/messagebundle_lv.properties +3 -1
- package/src/sap/ui/core/messagebundle_ms.properties +2 -0
- package/src/sap/ui/core/messagebundle_nl.properties +2 -0
- package/src/sap/ui/core/messagebundle_no.properties +6 -4
- package/src/sap/ui/core/messagebundle_pl.properties +2 -0
- package/src/sap/ui/core/messagebundle_pt.properties +2 -0
- package/src/sap/ui/core/messagebundle_pt_PT.properties +2 -0
- package/src/sap/ui/core/messagebundle_ro.properties +2 -0
- package/src/sap/ui/core/messagebundle_ru.properties +2 -0
- package/src/sap/ui/core/messagebundle_sh.properties +2 -0
- package/src/sap/ui/core/messagebundle_sk.properties +2 -0
- package/src/sap/ui/core/messagebundle_sl.properties +2 -0
- package/src/sap/ui/core/messagebundle_sv.properties +2 -0
- package/src/sap/ui/core/messagebundle_th.properties +2 -0
- package/src/sap/ui/core/messagebundle_tr.properties +2 -0
- package/src/sap/ui/core/messagebundle_uk.properties +2 -0
- package/src/sap/ui/core/messagebundle_vi.properties +2 -0
- package/src/sap/ui/core/messagebundle_zh_CN.properties +2 -0
- package/src/sap/ui/core/messagebundle_zh_TW.properties +2 -0
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/HTMLViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +2 -1
- package/src/sap/ui/core/mvc/JSONViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/JSViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/View.js +2 -1
- package/src/sap/ui/core/mvc/ViewRenderer.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +16 -3
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/routing/Route.js +6 -6
- package/src/sap/ui/core/routing/Router.js +4 -3
- package/src/sap/ui/core/routing/Targets.js +17 -13
- package/src/sap/ui/core/rules/Model.support.js +95 -8
- 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 +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -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/support/techinfo/TechnicalInfo.js +1 -5
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/themes/base/parameterClasses.less +21 -21
- package/src/sap/ui/core/theming/Parameters.js +22 -142
- package/src/sap/ui/core/theming/ThemeHelper.js +26 -37
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/DraftEnabledMockServer.js +21 -16
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +156 -57
- package/src/sap/ui/core/util/PasteHelper.js +4 -4
- package/src/sap/ui/core/util/XMLPreprocessor.js +16 -4
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +4 -0
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +26 -16
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/dom/includeStylesheet.js +8 -3
- package/src/sap/ui/events/jquery/EventExtension.js +1 -1
- package/src/sap/ui/events/jquery/EventSimulation.js +3 -13
- package/src/sap/ui/model/Binding.js +4 -3
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +1 -1
- package/src/sap/ui/model/CompositeBinding.js +1 -1
- package/src/sap/ui/model/CompositeDataState.js +26 -4
- package/src/sap/ui/model/CompositeType.js +1 -1
- package/src/sap/ui/model/ContextBinding.js +1 -1
- package/src/sap/ui/model/DataState.js +27 -6
- package/src/sap/ui/model/ListBinding.js +2 -2
- package/src/sap/ui/model/MetaModel.js +2 -3
- package/src/sap/ui/model/Model.js +2 -2
- 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/analytics/AnalyticalBinding.js +40 -30
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +2 -15
- package/src/sap/ui/model/base/ManagedObjectModel.js +1 -1
- package/src/sap/ui/model/json/JSONListBinding.js +1 -1
- package/src/sap/ui/model/json/JSONModel.js +1 -1
- package/src/sap/ui/model/json/JSONPropertyBinding.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +1 -1
- package/src/sap/ui/model/message/MessageModel.js +1 -1
- package/src/sap/ui/model/message/MessagePropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.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 +3 -3
- package/src/sap/ui/model/odata/ODataModel.js +2 -2
- package/src/sap/ui/model/odata/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperBasics.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.js +1 -1
- package/src/sap/ui/model/odata/_ODataMetaModelUtils.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 +338 -0
- 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 +57 -4
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +8 -4
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +216 -87
- package/src/sap/ui/model/odata/v2/ODataModel.js +89 -50
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -4
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +65 -5
- package/src/sap/ui/model/odata/v4/AnnotationHelper.js +21 -22
- package/src/sap/ui/model/odata/v4/Context.js +208 -83
- package/src/sap/ui/model/odata/v4/ODataBinding.js +53 -27
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +252 -218
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +395 -233
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +131 -100
- package/src/sap/ui/model/odata/v4/ODataModel.js +341 -259
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +85 -85
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +85 -79
- package/src/sap/ui/model/odata/v4/ODataUtils.js +5 -5
- package/src/sap/ui/model/odata/v4/SubmitMode.js +0 -1
- package/src/sap/ui/model/odata/v4/ValueListType.js +0 -1
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +20 -20
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +3 -5
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -4
- package/src/sap/ui/model/odata/v4/lib/_Batch.js +21 -20
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +183 -103
- package/src/sap/ui/model/odata/v4/lib/_GroupLock.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +22 -18
- package/src/sap/ui/model/odata/v4/lib/_MetadataConverter.js +62 -61
- package/src/sap/ui/model/odata/v4/lib/_MetadataRequestor.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +52 -43
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +54 -43
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +147 -147
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +14 -13
- package/src/sap/ui/model/odata/v4/lib/_V4MetadataConverter.js +66 -67
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLListBinding.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +1 -1
- package/src/sap/ui/performance/trace/Passport.js +3 -3
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/BlanketReporter.js +1 -1
- package/src/sap/ui/test/Opa5.js +1 -1
- package/src/sap/ui/test/TestUtils.js +2 -2
- package/src/sap/ui/test/_LogCollector.js +1 -1
- package/src/sap/ui/test/actions/Action.js +4 -2
- package/src/sap/ui/test/actions/Press.js +51 -2
- package/src/sap/ui/test/autowaiter/_XHRWaiter.js +1 -1
- package/src/sap/ui/test/starter/createSuite.js +3 -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 +7 -3
- package/src/sap/ui/thirdparty/URITemplate.js +1 -1
- package/src/sap/ui/thirdparty/jquery-mobile-custom.js +3 -6
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-datepicker.js +143 -3
- package/src/sap/ui/thirdparty/jqueryui/jquery-ui-position.js +8 -1
- package/src/sap/ui/thirdparty/jszip.js +18 -7
- package/src/sap/ui/thirdparty/mobify-carousel.js +1 -1
- package/src/sap/ui/util/Mobile.js +17 -0
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/XMLHelper.js +53 -30
- package/src/ui5loader.js +4 -4
|
@@ -201,7 +201,7 @@ sap.ui.define([
|
|
|
201
201
|
* This model is not prepared to be inherited from.
|
|
202
202
|
*
|
|
203
203
|
* @author SAP SE
|
|
204
|
-
* @version 1.
|
|
204
|
+
* @version 1.99.1
|
|
205
205
|
*
|
|
206
206
|
* @public
|
|
207
207
|
* @alias sap.ui.model.odata.v2.ODataModel
|
|
@@ -1887,7 +1887,7 @@ sap.ui.define([
|
|
|
1887
1887
|
* function lead to a single synchronous call where <code>mChangedEntities</code> is the union
|
|
1888
1888
|
* of all <code>mChangedEntities</Code> from the asynchronous calls.
|
|
1889
1889
|
*
|
|
1890
|
-
* @param {boolean} bForceUpdate
|
|
1890
|
+
* @param {boolean} [bForceUpdate]
|
|
1891
1891
|
* The parameter <code>bForceUpdate</code> for the <code>checkUpdate</code> call on the
|
|
1892
1892
|
* bindings
|
|
1893
1893
|
* @param {boolean} bAsync
|
|
@@ -2922,7 +2922,7 @@ sap.ui.define([
|
|
|
2922
2922
|
oResultValue = {};
|
|
2923
2923
|
for (i = 0; i < aOwnPropSelect.length; i++) {
|
|
2924
2924
|
sSelect = aOwnPropSelect[i];
|
|
2925
|
-
if (oValue[sSelect] !== undefined) {
|
|
2925
|
+
if (oValue[sSelect] !== undefined || oValue.__metadata.created) {
|
|
2926
2926
|
oResultValue[sSelect] = oValue[sSelect];
|
|
2927
2927
|
} else {
|
|
2928
2928
|
Log.fatal("No data loaded for select property: " + sSelect + " of entry: " + that.getKey(oValue));
|
|
@@ -4928,7 +4928,10 @@ sap.ui.define([
|
|
|
4928
4928
|
};
|
|
4929
4929
|
|
|
4930
4930
|
/**
|
|
4931
|
-
* Trigger a <code>POST</code> request to the OData service that was specified in the model
|
|
4931
|
+
* Trigger a <code>POST</code> request to the OData service that was specified in the model
|
|
4932
|
+
* constructor; see
|
|
4933
|
+
* {@link topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating
|
|
4934
|
+
* Entities documentation} for comprehensive information on the topic.
|
|
4932
4935
|
*
|
|
4933
4936
|
* Please note that deep creates are not supported and may not work.
|
|
4934
4937
|
*
|
|
@@ -5198,7 +5201,7 @@ sap.ui.define([
|
|
|
5198
5201
|
* @param {function} [mParameters.success]
|
|
5199
5202
|
* A callback function which is called when the data has been successfully retrieved; the
|
|
5200
5203
|
* handler can have the following parameters: <code>oData</code> and <code>response</code>.
|
|
5201
|
-
* @param {Object<string,
|
|
5204
|
+
* @param {Object<string,any>} [mParameters.urlParameters]
|
|
5202
5205
|
* Maps the function import parameter name as specified in the function import's metadata to
|
|
5203
5206
|
* its value; the value is formatted based on the parameter's type as specified in the metadata
|
|
5204
5207
|
* @param {string} [mParameters.batchGroupId]
|
|
@@ -5831,11 +5834,10 @@ sap.ui.define([
|
|
|
5831
5834
|
* @public
|
|
5832
5835
|
*/
|
|
5833
5836
|
ODataModel.prototype.submitChanges = function(mParameters) {
|
|
5834
|
-
var
|
|
5835
|
-
|
|
5836
|
-
bAborted = false,
|
|
5837
|
+
var mChangedEntities, fnError, sGroupId, sMethod, oRequestHandle, vRequestHandleInternal,
|
|
5838
|
+
fnSuccess,
|
|
5839
|
+
bAborted = false,
|
|
5837
5840
|
bRefreshAfterChange = this.bRefreshAfterChange,
|
|
5838
|
-
mParams,
|
|
5839
5841
|
that = this;
|
|
5840
5842
|
|
|
5841
5843
|
if (mParameters) {
|
|
@@ -5855,28 +5857,37 @@ sap.ui.define([
|
|
|
5855
5857
|
mChangedEntities = merge({}, that.mChangedEntities);
|
|
5856
5858
|
|
|
5857
5859
|
this.oMetadata.loaded().then(function() {
|
|
5860
|
+
var oChange, aChanges, sChangeSetId, i, sRequestGroupId, oRequestGroup;
|
|
5861
|
+
|
|
5858
5862
|
each(mChangedEntities, function(sKey, oData) {
|
|
5859
|
-
|
|
5863
|
+
var oCreatedInfo, oRequest, oRequestHandle0,
|
|
5864
|
+
oGroupInfo = that._resolveGroup(sKey);
|
|
5865
|
+
|
|
5860
5866
|
if (oGroupInfo.groupId === sGroupId || !sGroupId) {
|
|
5861
5867
|
oRequest = that._processChange(sKey, oData, sMethod || that.sDefaultUpdateMethod);
|
|
5862
5868
|
oRequest.key = sKey;
|
|
5863
5869
|
//get params for created entries: could contain success/error handler
|
|
5864
|
-
|
|
5865
|
-
|
|
5870
|
+
oCreatedInfo = oData.__metadata && oData.__metadata.created
|
|
5871
|
+
? oData.__metadata.created
|
|
5872
|
+
: {};
|
|
5873
|
+
oRequestHandle0 = {
|
|
5866
5874
|
abort: function() {
|
|
5867
5875
|
oRequest._aborted = true;
|
|
5868
5876
|
}
|
|
5869
5877
|
};
|
|
5870
5878
|
if (oGroupInfo.groupId in that.mDeferredGroups) {
|
|
5871
|
-
that._pushToRequestQueue(that.mDeferredRequests, oGroupInfo.groupId,
|
|
5872
|
-
oRequest,
|
|
5879
|
+
that._pushToRequestQueue(that.mDeferredRequests, oGroupInfo.groupId,
|
|
5880
|
+
oGroupInfo.changeSetId, oRequest, oCreatedInfo.success,
|
|
5881
|
+
oCreatedInfo.error, oRequestHandle0,
|
|
5882
|
+
oCreatedInfo.refreshAfterChange === undefined
|
|
5883
|
+
? bRefreshAfterChange
|
|
5884
|
+
: oCreatedInfo.refreshAfterChange);
|
|
5873
5885
|
}
|
|
5874
5886
|
}
|
|
5875
5887
|
});
|
|
5876
5888
|
|
|
5877
5889
|
// Set undefined refreshAfterChange flags
|
|
5878
5890
|
// If undefined => overwrite with current global refreshAfterChange state
|
|
5879
|
-
var sRequestGroupId, sChangeSetId, oRequestGroup, aChanges, oChange, i;
|
|
5880
5891
|
for (sRequestGroupId in that.mDeferredRequests) {
|
|
5881
5892
|
oRequestGroup = that.mDeferredRequests[sRequestGroupId];
|
|
5882
5893
|
for (sChangeSetId in oRequestGroup.changes) {
|
|
@@ -6015,6 +6026,9 @@ sap.ui.define([
|
|
|
6015
6026
|
that.abortInternalRequest(sGroupId, {requestKey : sKey});
|
|
6016
6027
|
});
|
|
6017
6028
|
if (bDeleteCreatedEntities && oCreated) {
|
|
6029
|
+
// remove context synchronously from the list of created contexts to avoid a temporary
|
|
6030
|
+
// empty table row
|
|
6031
|
+
this.oCreatedContextsCache.findAndRemoveContext(this.mContexts["/" + sKey]);
|
|
6018
6032
|
this._removeEntity(sKey);
|
|
6019
6033
|
if (oCreated.abort) {
|
|
6020
6034
|
oCreated.abort(ODataModel._createAbortedError());
|
|
@@ -6044,7 +6058,7 @@ sap.ui.define([
|
|
|
6044
6058
|
* </ul>
|
|
6045
6059
|
*
|
|
6046
6060
|
* @param {array} [aPath]
|
|
6047
|
-
* Paths to be
|
|
6061
|
+
* Paths to be reset; if no array is passed, all changes are reset
|
|
6048
6062
|
* @param {boolean} [bAll=false]
|
|
6049
6063
|
* Whether also deferred requests are taken into account
|
|
6050
6064
|
* @param {boolean} [bDeleteCreatedEntities=false]
|
|
@@ -6136,11 +6150,14 @@ sap.ui.define([
|
|
|
6136
6150
|
*/
|
|
6137
6151
|
ODataModel.prototype.setProperty = function(sPath, oValue, oContext, bAsyncUpdate) {
|
|
6138
6152
|
|
|
6139
|
-
var
|
|
6140
|
-
|
|
6141
|
-
|
|
6142
|
-
|
|
6143
|
-
|
|
6153
|
+
var oContextToActivate, oChangeObject, bCreated, sDeepPath, oEntityMetadata, oEntityType,
|
|
6154
|
+
oEntry, oGroupInfo, bIsNavPropExpanded, sKey, mKeys, oNavPropRefInfo, oOriginalEntry,
|
|
6155
|
+
oOriginalValue, mParams, aParts, sPropertyPath, oRef, bRefreshAfterChange, oRequest,
|
|
6156
|
+
mRequests, oRequestHandle, sResolvedPath,
|
|
6157
|
+
mChangedEntities = {},
|
|
6158
|
+
oEntityInfo = {},
|
|
6159
|
+
bFunction = false,
|
|
6160
|
+
that = this;
|
|
6144
6161
|
|
|
6145
6162
|
function updateChangedEntities(oOriginalObject, oChangedObject) {
|
|
6146
6163
|
each(oChangedObject,function(sKey) {
|
|
@@ -6256,7 +6273,13 @@ sap.ui.define([
|
|
|
6256
6273
|
|
|
6257
6274
|
bRefreshAfterChange = this._getRefreshAfterChange(undefined, oGroupInfo.groupId);
|
|
6258
6275
|
|
|
6259
|
-
|
|
6276
|
+
if (oEntry.__metadata.created && !oEntry.__metadata.created.functionImport) {
|
|
6277
|
+
oContextToActivate = this.oCreatedContextsCache.findCreatedContext(sResolvedPath);
|
|
6278
|
+
if (oContextToActivate) {
|
|
6279
|
+
oContextToActivate.activate();
|
|
6280
|
+
}
|
|
6281
|
+
}
|
|
6282
|
+
this.oMetadata.loaded().then(function () {
|
|
6260
6283
|
oRequestHandle = {
|
|
6261
6284
|
abort: function() {
|
|
6262
6285
|
oRequest._aborted = true;
|
|
@@ -6494,7 +6517,9 @@ sap.ui.define([
|
|
|
6494
6517
|
/**
|
|
6495
6518
|
* Creates a new entry object which is described by the metadata of the entity type of the
|
|
6496
6519
|
* specified <code>sPath</code> Name. A context object is returned which can be used to bind
|
|
6497
|
-
* against the newly created object.
|
|
6520
|
+
* against the newly created object. See
|
|
6521
|
+
* {@link topic:6c47b2b39db9404582994070ec3d57a2#loio4c4cd99af9b14e08bb72470cc7cabff4 Creating
|
|
6522
|
+
* Entities documentation} for comprehensive information on the topic.
|
|
6498
6523
|
*
|
|
6499
6524
|
* For each created entry a request is created and stored in a request queue.
|
|
6500
6525
|
* The request queue can be submitted by calling {@link #submitChanges}. As long as the context
|
|
@@ -6589,6 +6614,10 @@ sap.ui.define([
|
|
|
6589
6614
|
* batch request
|
|
6590
6615
|
* @param {Object<string,string>} [mParameters.headers]
|
|
6591
6616
|
* A map of headers
|
|
6617
|
+
* @param {boolean} [mParameters.inactive]
|
|
6618
|
+
* Whether the created context is inactive. An inactive context will only be sent to the
|
|
6619
|
+
* server after the first property update. From then on it behaves like any other created
|
|
6620
|
+
* context. Supported since 1.98.0
|
|
6592
6621
|
* @param {array|object} [mParameters.properties]
|
|
6593
6622
|
* An array that specifies a set of properties or the entry
|
|
6594
6623
|
* @param {boolean} [mParameters.refreshAfterChange]
|
|
@@ -6610,9 +6639,9 @@ sap.ui.define([
|
|
|
6610
6639
|
*/
|
|
6611
6640
|
ODataModel.prototype.createEntry = function (sPath, mParameters) {
|
|
6612
6641
|
var bCanonical, sChangeSetId, oContext, fnCreated, pCreate, fnCreatedPromiseResolve,
|
|
6613
|
-
sDeepPath, fnError, sETag, sExpand, sGroupId, mHeaders,
|
|
6614
|
-
vProperties, bRefreshAfterChange, oRequest, mRequests, fnSuccess, sUrl,
|
|
6615
|
-
mUrlParams,
|
|
6642
|
+
sDeepPath, fnError, sETag, sExpand, sGroupId, mHeaders, bInactive, sKey,
|
|
6643
|
+
sNormalizedPath, vProperties, bRefreshAfterChange, oRequest, mRequests, fnSuccess, sUrl,
|
|
6644
|
+
aUrlParams, mUrlParams,
|
|
6616
6645
|
oEntity = {},
|
|
6617
6646
|
sMethod = "POST",
|
|
6618
6647
|
that = this;
|
|
@@ -6631,6 +6660,7 @@ sap.ui.define([
|
|
|
6631
6660
|
bRefreshAfterChange = mParameters.refreshAfterChange;
|
|
6632
6661
|
bCanonical = mParameters.canonicalRequest;
|
|
6633
6662
|
sExpand = mParameters.expand;
|
|
6663
|
+
bInactive = mParameters.inactive;
|
|
6634
6664
|
}
|
|
6635
6665
|
if (sExpand && !this.bUseBatch) {
|
|
6636
6666
|
throw new Error("The 'expand' parameter is only supported if batch mode is used");
|
|
@@ -6764,19 +6794,20 @@ sap.ui.define([
|
|
|
6764
6794
|
};
|
|
6765
6795
|
}
|
|
6766
6796
|
oEntity.__metadata = {
|
|
6767
|
-
type: "" + oEntityMetadata.entityType,
|
|
6768
|
-
uri: that.sServiceUrl + '/' + sKey,
|
|
6769
|
-
created: {
|
|
6770
|
-
|
|
6771
|
-
|
|
6772
|
-
|
|
6773
|
-
|
|
6774
|
-
|
|
6775
|
-
|
|
6776
|
-
|
|
6777
|
-
|
|
6797
|
+
type : "" + oEntityMetadata.entityType,
|
|
6798
|
+
uri : that.sServiceUrl + '/' + sKey,
|
|
6799
|
+
created : {
|
|
6800
|
+
changeSetId : sChangeSetId,
|
|
6801
|
+
error : fnError,
|
|
6802
|
+
eTag : sETag,
|
|
6803
|
+
groupId : sGroupId,
|
|
6804
|
+
headers : mHeaders,
|
|
6805
|
+
key : sNormalizedPath.substring(1), //store path for later POST
|
|
6806
|
+
refreshAfterChange : bRefreshAfterChange,
|
|
6807
|
+
success : fnSuccess,
|
|
6808
|
+
urlParameters : mUrlParams
|
|
6778
6809
|
},
|
|
6779
|
-
deepPath: sDeepPath
|
|
6810
|
+
deepPath : sDeepPath
|
|
6780
6811
|
};
|
|
6781
6812
|
pCreate = new SyncPromise(function (resolve, reject) {
|
|
6782
6813
|
fnCreatedPromiseResolve = function () {
|
|
@@ -6799,7 +6830,9 @@ sap.ui.define([
|
|
|
6799
6830
|
});
|
|
6800
6831
|
|
|
6801
6832
|
sKey = that._addEntity(merge({}, oEntity));
|
|
6802
|
-
|
|
6833
|
+
if (!bInactive) {
|
|
6834
|
+
that.mChangedEntities[sKey] = oEntity;
|
|
6835
|
+
}
|
|
6803
6836
|
|
|
6804
6837
|
sUrl = that._createRequestUrlWithNormalizedPath(sNormalizedPath, aUrlParams, that.bUseBatch);
|
|
6805
6838
|
oRequest = that._createRequest(sUrl, sDeepPath, sMethod, mHeaders, oEntity, sETag);
|
|
@@ -6816,7 +6849,7 @@ sap.ui.define([
|
|
|
6816
6849
|
oEntity.__metadata.created.contentID = sUID;
|
|
6817
6850
|
}
|
|
6818
6851
|
|
|
6819
|
-
oCreatedContext = that.getContext("/" + sKey, sDeepPath, pCreate);
|
|
6852
|
+
oCreatedContext = that.getContext("/" + sKey, sDeepPath, pCreate, bInactive);
|
|
6820
6853
|
|
|
6821
6854
|
oRequest.key = sKey;
|
|
6822
6855
|
oRequest.created = true;
|
|
@@ -6826,11 +6859,14 @@ sap.ui.define([
|
|
|
6826
6859
|
mRequests = that.mDeferredRequests;
|
|
6827
6860
|
}
|
|
6828
6861
|
|
|
6829
|
-
that.oMetadata.loaded().then(function() {
|
|
6830
|
-
|
|
6831
|
-
|
|
6832
|
-
|
|
6862
|
+
that.oMetadata.loaded().then(function () {
|
|
6863
|
+
oCreatedContext.fetchActivated().then(function () {
|
|
6864
|
+
that._pushToRequestQueue(mRequests, sGroupId, sChangeSetId, oRequest, fnSuccess,
|
|
6865
|
+
fnError, oRequestHandle, bRefreshAfterChange);
|
|
6866
|
+
that._processRequestQueueAsync(that.mRequests);
|
|
6867
|
+
});
|
|
6833
6868
|
});
|
|
6869
|
+
|
|
6834
6870
|
return oCreatedContext;
|
|
6835
6871
|
}
|
|
6836
6872
|
|
|
@@ -7755,9 +7791,9 @@ sap.ui.define([
|
|
|
7755
7791
|
};
|
|
7756
7792
|
|
|
7757
7793
|
/**
|
|
7758
|
-
*
|
|
7759
|
-
*
|
|
7760
|
-
*
|
|
7794
|
+
* Gets or creates the OData V2 context for the given path; the returned context is cached by
|
|
7795
|
+
* this path. Enriches the context with the given deep path. In case the context is created, the
|
|
7796
|
+
* parameters <code>oCreatePromise</code> and <code>bInactive</code> are used for the creation.
|
|
7761
7797
|
*
|
|
7762
7798
|
* @param {string} sPath
|
|
7763
7799
|
* The absolute path
|
|
@@ -7765,15 +7801,18 @@ sap.ui.define([
|
|
|
7765
7801
|
* The absolute deep path representing the same data as the given <code>sPath</code>
|
|
7766
7802
|
* @param {sap.ui.base.SyncPromise} [oCreatePromise]
|
|
7767
7803
|
* A created promise as specified in the constructor of {@link sap.ui.model.odata.v2.Context}
|
|
7804
|
+
* @param {boolean} [bInactive]
|
|
7805
|
+
* Whether the created context is inactive
|
|
7768
7806
|
* @returns {sap.ui.model.odata.v2.Context}
|
|
7769
7807
|
* The ODate V2 context for the given path
|
|
7770
7808
|
* @private
|
|
7771
7809
|
*/
|
|
7772
|
-
ODataModel.prototype.getContext = function (sPath, sDeepPath, oCreatePromise) {
|
|
7810
|
+
ODataModel.prototype.getContext = function (sPath, sDeepPath, oCreatePromise, bInactive) {
|
|
7773
7811
|
var oContext = this.mContexts[sPath];
|
|
7774
7812
|
|
|
7775
7813
|
if (!oContext) {
|
|
7776
|
-
oContext = this.mContexts[sPath]
|
|
7814
|
+
oContext = this.mContexts[sPath]
|
|
7815
|
+
= new Context(this, sPath, sDeepPath, oCreatePromise, bInactive);
|
|
7777
7816
|
} else {
|
|
7778
7817
|
oContext.setDeepPath(sDeepPath || oContext.getDeepPath() || sPath);
|
|
7779
7818
|
}
|
|
@@ -7842,7 +7881,7 @@ sap.ui.define([
|
|
|
7842
7881
|
* path prefix. Use <code>fullTarget</code> to determine whether a message matches the resolved
|
|
7843
7882
|
* binding path prefix.
|
|
7844
7883
|
*
|
|
7845
|
-
* @param {string}
|
|
7884
|
+
* @param {string} sMessagePath
|
|
7846
7885
|
* The messages target used as key in <code>this.mMessages</code>
|
|
7847
7886
|
* @param {string} sPathPrefix
|
|
7848
7887
|
* The resolved binding path prefix
|
|
@@ -92,7 +92,7 @@ sap.ui.define([
|
|
|
92
92
|
* @extends sap.ui.model.TreeBinding
|
|
93
93
|
* @hideconstructor
|
|
94
94
|
* @public
|
|
95
|
-
* @version 1.
|
|
95
|
+
* @version 1.99.1
|
|
96
96
|
*/
|
|
97
97
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
98
98
|
|
|
@@ -906,8 +906,7 @@ sap.ui.define([
|
|
|
906
906
|
* Retrieves parent ids from a given data set
|
|
907
907
|
*
|
|
908
908
|
* @param {Array} aData Lookup array to search for parent ids
|
|
909
|
-
* @
|
|
910
|
-
* @returns {Array} Array of all parent ids
|
|
909
|
+
* @returns {Object<string,string>} Map of all parent ids
|
|
911
910
|
*
|
|
912
911
|
* @private
|
|
913
912
|
*/
|
|
@@ -1379,6 +1378,9 @@ sap.ui.define([
|
|
|
1379
1378
|
}
|
|
1380
1379
|
var sAbsolutePath = this.getResolvedPath();
|
|
1381
1380
|
if (sAbsolutePath) {
|
|
1381
|
+
if (this.iTotalCollectionCount) {
|
|
1382
|
+
aURLParams.push("$top=" + this.iTotalCollectionCount);
|
|
1383
|
+
}
|
|
1382
1384
|
this.mRequestHandles[sRequestKey] = this.oModel.read(sAbsolutePath, {
|
|
1383
1385
|
urlParameters: aURLParams,
|
|
1384
1386
|
success: fnSuccess,
|
|
@@ -1821,7 +1823,7 @@ sap.ui.define([
|
|
|
1821
1823
|
* Check whether this Binding would provide new values and in case it changed,fire a change
|
|
1822
1824
|
* event.
|
|
1823
1825
|
*
|
|
1824
|
-
* @param {boolean} bForceUpdate
|
|
1826
|
+
* @param {boolean} [bForceUpdate]
|
|
1825
1827
|
* Whether to fire the event regardless of the bindings state
|
|
1826
1828
|
* @param {object} mChangedEntities
|
|
1827
1829
|
* A map of changed entities
|
|
@@ -33,10 +33,14 @@ sap.ui.define([
|
|
|
33
33
|
* The resolved binding path
|
|
34
34
|
* @param {string} sListID
|
|
35
35
|
* The identifier for the list showing the data
|
|
36
|
+
* @param {boolean} bAtEnd
|
|
37
|
+
* Whether the context is added at the end; if set to <code>false</code>, the context is added
|
|
38
|
+
* at the beginning. The first call determines the overall position of the contexts.
|
|
36
39
|
*
|
|
37
40
|
* @private
|
|
38
41
|
*/
|
|
39
|
-
_CreatedContextsCache.prototype.addContext = function (oCreatedContext, sPath, sListID
|
|
42
|
+
_CreatedContextsCache.prototype.addContext = function (oCreatedContext, sPath, sListID,
|
|
43
|
+
bAtEnd) {
|
|
40
44
|
var aContexts, mListIDToContexts;
|
|
41
45
|
|
|
42
46
|
mListIDToContexts = this.mCache[sPath];
|
|
@@ -46,9 +50,14 @@ sap.ui.define([
|
|
|
46
50
|
aContexts = mListIDToContexts[sListID];
|
|
47
51
|
if (!aContexts) {
|
|
48
52
|
aContexts = mListIDToContexts[sListID] = [];
|
|
53
|
+
// store bAtEnd initially because it will determine the overall position of the contexts
|
|
54
|
+
aContexts.bAtEnd = bAtEnd;
|
|
55
|
+
}
|
|
56
|
+
if (bAtEnd) {
|
|
57
|
+
aContexts.push(oCreatedContext);
|
|
58
|
+
} else {
|
|
59
|
+
aContexts.unshift(oCreatedContext);
|
|
49
60
|
}
|
|
50
|
-
// currently we support only bAtEnd === false in ODataListBinding#create
|
|
51
|
-
aContexts.unshift(oCreatedContext);
|
|
52
61
|
};
|
|
53
62
|
|
|
54
63
|
/**
|
|
@@ -67,6 +76,36 @@ sap.ui.define([
|
|
|
67
76
|
}
|
|
68
77
|
};
|
|
69
78
|
|
|
79
|
+
/**
|
|
80
|
+
* Finds the context in the cache whose path is prefix to or equals the given path.
|
|
81
|
+
*
|
|
82
|
+
* @param {string} sPath
|
|
83
|
+
* The absolute path
|
|
84
|
+
* @returns {sap.ui.model.odata.v2.Context|undefined}
|
|
85
|
+
* The matching context or <code>undefined</code> if no context matches
|
|
86
|
+
*
|
|
87
|
+
* @private
|
|
88
|
+
*/
|
|
89
|
+
_CreatedContextsCache.prototype.findCreatedContext = function (sPath) {
|
|
90
|
+
var oContext;
|
|
91
|
+
|
|
92
|
+
Object.values(this.mCache).some(function (mListIDToContexts) {
|
|
93
|
+
return Object.values(mListIDToContexts).some(function (aContextsByListID) {
|
|
94
|
+
return aContextsByListID.some(function (oContext0) {
|
|
95
|
+
if (sPath.startsWith(oContext0.getPath())) {
|
|
96
|
+
oContext = oContext0;
|
|
97
|
+
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
return false;
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
return oContext;
|
|
107
|
+
};
|
|
108
|
+
|
|
70
109
|
/**
|
|
71
110
|
* Checks whether a given context is contained in the the list of contexts for created entities
|
|
72
111
|
* and returns the path and list ID.
|
|
@@ -104,7 +143,7 @@ sap.ui.define([
|
|
|
104
143
|
/**
|
|
105
144
|
* Gets the contexts for created entities for the given path and list ID.
|
|
106
145
|
*
|
|
107
|
-
* @param {string}
|
|
146
|
+
* @param {string} sPath
|
|
108
147
|
* The resolved binding path
|
|
109
148
|
* @param {string} sListID
|
|
110
149
|
* The identifier for the list showing the data
|
|
@@ -121,6 +160,27 @@ sap.ui.define([
|
|
|
121
160
|
return aContexts ? aContexts.slice() : [];
|
|
122
161
|
};
|
|
123
162
|
|
|
163
|
+
/**
|
|
164
|
+
* Returns whether the contexts for created entities for the given path and list ID are added
|
|
165
|
+
* at the end.
|
|
166
|
+
*
|
|
167
|
+
* @param {string} sPath
|
|
168
|
+
* The resolved binding path
|
|
169
|
+
* @param {string} sListID
|
|
170
|
+
* The identifier for the list showing the data
|
|
171
|
+
* @returns {boolean|undefined}
|
|
172
|
+
* Whether the contexts are added at the end; <code>undefined</code> if there are no contexts
|
|
173
|
+
* for the given path and list ID
|
|
174
|
+
*
|
|
175
|
+
* @private
|
|
176
|
+
*/
|
|
177
|
+
_CreatedContextsCache.prototype.isAtEnd = function (sPath, sListID) {
|
|
178
|
+
var mListIDToContexts = this.mCache[sPath],
|
|
179
|
+
aContexts = mListIDToContexts && mListIDToContexts[sListID];
|
|
180
|
+
|
|
181
|
+
return aContexts && aContexts.bAtEnd;
|
|
182
|
+
};
|
|
183
|
+
|
|
124
184
|
/**
|
|
125
185
|
* Removes a context from the list of contexts for created entities for the given path and list
|
|
126
186
|
* ID.
|
|
@@ -176,4 +236,4 @@ sap.ui.define([
|
|
|
176
236
|
};
|
|
177
237
|
|
|
178
238
|
return _CreatedContextsCache;
|
|
179
|
-
}
|
|
239
|
+
});
|
|
@@ -15,7 +15,6 @@ sap.ui.define([
|
|
|
15
15
|
rPaths = /\$(?:(?:Annotation)|(?:(?:Navigation)?Property))?Path/,
|
|
16
16
|
rSplitPathSegment = /^(.+?\/(\$(?:Annotation)?Path))(\/?)(.*)$/,
|
|
17
17
|
rUnsupportedPathSegments = /\$(?:Navigation)?PropertyPath/,
|
|
18
|
-
|
|
19
18
|
/**
|
|
20
19
|
* @classdesc
|
|
21
20
|
* A collection of methods which help to consume
|
|
@@ -113,16 +112,16 @@ sap.ui.define([
|
|
|
113
112
|
* Example for "$AnnotationPath" in the context's path:
|
|
114
113
|
* <pre>
|
|
115
114
|
* <Annotations Target="com.sap.gateway.default.iwbep.tea_busi.v0001.EQUIPMENT">
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
*
|
|
115
|
+
* <Annotation Term="com.sap.vocabularies.UI.v1.Facets">
|
|
116
|
+
* <Collection>
|
|
117
|
+
* <Record Type="com.sap.vocabularies.UI.v1.ReferenceFacet">
|
|
118
|
+
* <PropertyValue Property="Target" AnnotationPath="EQUIPMENT_2_PRODUCT/@com.sap.vocabularies.Common.v1.QuickInfo" />
|
|
119
|
+
* </Record>
|
|
120
|
+
* </Collection>
|
|
121
|
+
* </Annotation>
|
|
123
122
|
* </Annotations>
|
|
124
123
|
* <Annotations Target="com.sap.gateway.default.iwbep.tea_busi_product.v0001.Product">
|
|
125
|
-
*
|
|
124
|
+
* <Annotation Term="com.sap.vocabularies.Common.v1.QuickInfo" Path="Name" />
|
|
126
125
|
* </Annotations>
|
|
127
126
|
* </pre>
|
|
128
127
|
* <pre>
|
|
@@ -134,16 +133,16 @@ sap.ui.define([
|
|
|
134
133
|
* Example for "$Path" in the context's path:
|
|
135
134
|
* <pre>
|
|
136
135
|
* <Annotations Target="com.sap.gateway.default.iwbep.tea_busi.v0001.EQUIPMENT">
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
136
|
+
* <Annotation Term="com.sap.vocabularies.UI.v1.LineItem">
|
|
137
|
+
* <Collection>
|
|
138
|
+
* <Record Type="com.sap.vocabularies.UI.v1.DataField">
|
|
139
|
+
* <PropertyValue Property="Value" Path="EQUIPMENT_2_PRODUCT/Name" />
|
|
140
|
+
* </Record>
|
|
141
|
+
* </Collection>
|
|
142
|
+
* </Annotation>
|
|
144
143
|
* </Annotations>
|
|
145
144
|
* <Annotations Target="com.sap.gateway.default.iwbep.tea_busi_product.v0001.Product/Name">
|
|
146
|
-
*
|
|
145
|
+
* <Annotation Term="com.sap.vocabularies.Common.v1.QuickInfo" Path="PRODUCT_2_SUPPLIER/Supplier_Name" />
|
|
147
146
|
* </Annotations>
|
|
148
147
|
* </pre>
|
|
149
148
|
* <pre>
|
|
@@ -296,7 +295,7 @@ sap.ui.define([
|
|
|
296
295
|
if (sPath.endsWith("/$Path")) {
|
|
297
296
|
sPath = sPath.slice(0, -6);
|
|
298
297
|
vRawValue = {$Path : vRawValue};
|
|
299
|
-
} else if (sPath.endsWith(
|
|
298
|
+
} else if (sPath.endsWith("/$PropertyPath")) {
|
|
300
299
|
sPath = sPath.slice(0, -14);
|
|
301
300
|
vRawValue = {$PropertyPath : vRawValue};
|
|
302
301
|
}
|
|
@@ -327,7 +326,7 @@ sap.ui.define([
|
|
|
327
326
|
i;
|
|
328
327
|
|
|
329
328
|
if (!bIsAnnotationPath && aMatches[3]) {
|
|
330
|
-
sPrefix
|
|
329
|
+
sPrefix += "/";
|
|
331
330
|
} else if (!sPrefix.endsWith("/")) {
|
|
332
331
|
i = sPrefix.lastIndexOf("/");
|
|
333
332
|
sPrefix = i < 0 ? "" : sPrefix.slice(0, i + 1);
|
|
@@ -502,7 +501,7 @@ sap.ui.define([
|
|
|
502
501
|
var iIndexOfAt;
|
|
503
502
|
|
|
504
503
|
// Whether the given value is exactly <code>true</code>
|
|
505
|
-
function isTrue
|
|
504
|
+
function isTrue(vValue) {
|
|
506
505
|
return vValue === true;
|
|
507
506
|
}
|
|
508
507
|
|
|
@@ -549,7 +548,7 @@ sap.ui.define([
|
|
|
549
548
|
* @param {sap.ui.model.Context} oDetails.context
|
|
550
549
|
* Points to the given raw value, that is
|
|
551
550
|
* <code>oDetails.context.getProperty("") === vRawValue</code>
|
|
552
|
-
* @returns {string|Promise}
|
|
551
|
+
* @returns {string|Promise|undefined}
|
|
553
552
|
* A data binding or a fixed text or a sequence thereof or <code>undefined</code>. If
|
|
554
553
|
* <code>oDetails.$$valueAsPromise</code> is <code>true</code> a <code>Promise</code>
|
|
555
554
|
* may be returned resolving with the value for the label.
|
|
@@ -802,7 +801,7 @@ sap.ui.define([
|
|
|
802
801
|
} else if (sPath.endsWith("/$Path")) {
|
|
803
802
|
sPath = sPath.slice(0, -6);
|
|
804
803
|
vRawValue = {$Path : vRawValue};
|
|
805
|
-
} else if (sPath.endsWith(
|
|
804
|
+
} else if (sPath.endsWith("/$PropertyPath")) {
|
|
806
805
|
sPath = sPath.slice(0, -14);
|
|
807
806
|
vRawValue = {$PropertyPath : vRawValue};
|
|
808
807
|
}
|