@openui5/sap.ui.core 1.93.3 → 1.96.2
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 +13 -2
- package/.reuse/dep5 +6 -11
- package/THIRDPARTY.txt +10 -16
- package/package.json +1 -1
- package/src/jquery.sap.global.js +5 -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/jquery.sap.stubs.js +2 -1
- package/src/jquery.sap.trace.js +2 -1
- package/src/sap/base/i18n/ResourceBundle.js +6 -2
- package/src/sap/base/strings/whitespaceReplacer.js +52 -0
- package/src/sap/base/util/restricted/_CancelablePromise.js +1 -1
- package/src/sap/base/util/restricted/_castArray.js +1 -1
- package/src/sap/base/util/restricted/_compact.js +1 -1
- package/src/sap/base/util/restricted/_curry.js +1 -1
- package/src/sap/base/util/restricted/_debounce.js +1 -1
- package/src/sap/base/util/restricted/_difference.js +1 -1
- package/src/sap/base/util/restricted/_differenceBy.js +1 -1
- package/src/sap/base/util/restricted/_differenceWith.js +1 -1
- package/src/sap/base/util/restricted/_flatMap.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDeep.js +1 -1
- package/src/sap/base/util/restricted/_flatMapDepth.js +1 -1
- package/src/sap/base/util/restricted/_flatten.js +1 -1
- package/src/sap/base/util/restricted/_flattenDeep.js +1 -1
- package/src/sap/base/util/restricted/_flattenDepth.js +1 -1
- package/src/sap/base/util/restricted/_intersection.js +1 -1
- package/src/sap/base/util/restricted/_intersectionBy.js +1 -1
- package/src/sap/base/util/restricted/_intersectionWith.js +1 -1
- package/src/sap/base/util/restricted/_isEqual.js +1 -1
- package/src/sap/base/util/restricted/_isEqualWith.js +1 -1
- package/src/sap/base/util/restricted/_isNil.js +1 -1
- package/src/sap/base/util/restricted/_max.js +1 -1
- package/src/sap/base/util/restricted/_merge.js +1 -1
- package/src/sap/base/util/restricted/_mergeWith.js +1 -1
- package/src/sap/base/util/restricted/_min.js +1 -1
- package/src/sap/base/util/restricted/_omit.js +1 -1
- package/src/sap/base/util/restricted/_pick.js +1 -1
- package/src/sap/base/util/restricted/_pickBy.js +1 -1
- package/src/sap/base/util/restricted/_throttle.js +1 -1
- package/src/sap/base/util/restricted/_toArray.js +1 -1
- package/src/sap/base/util/restricted/_union.js +1 -1
- package/src/sap/base/util/restricted/_unionBy.js +1 -1
- package/src/sap/base/util/restricted/_unionWith.js +1 -1
- package/src/sap/base/util/restricted/_uniq.js +1 -1
- package/src/sap/base/util/restricted/_uniqBy.js +1 -1
- package/src/sap/base/util/restricted/_uniqWith.js +1 -1
- package/src/sap/base/util/restricted/_without.js +1 -1
- package/src/sap/base/util/restricted/_xor.js +1 -1
- package/src/sap/base/util/restricted/_xorBy.js +1 -1
- package/src/sap/base/util/restricted/_xorWith.js +1 -1
- package/src/sap/base/util/restricted/_zipObject.js +1 -1
- package/src/sap/base/util/restricted/_zipObjectDeep.js +1 -1
- package/src/sap/ui/Device.js +37 -42
- package/src/sap/ui/Global.js +8 -7
- package/src/sap/ui/base/DataType.js +14 -8
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +1 -1
- package/src/sap/ui/base/ExpressionParser.js +9 -6
- package/src/sap/ui/base/Interface.js +3 -49
- package/src/sap/ui/base/ManagedObject.js +12 -7
- 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 +49 -4
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/base/syncXHRFix.js +2 -1
- package/src/sap/ui/core/.library +5 -5
- package/src/sap/ui/core/AppCacheBuster.js +4 -4
- package/src/sap/ui/core/BusyIndicator.js +1 -11
- package/src/sap/ui/core/Component.js +300 -140
- package/src/sap/ui/core/ComponentContainer.js +24 -8
- package/src/sap/ui/core/ComponentMetadata.js +14 -3
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +67 -31
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +103 -25
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/CustomizingConfiguration.js +35 -260
- package/src/sap/ui/core/DeclarativeSupport.js +3 -2
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +4 -2
- package/src/sap/ui/core/EnabledPropagator.js +91 -73
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +7 -14
- package/src/sap/ui/core/Fragment.js +30 -32
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +7 -8
- package/src/sap/ui/core/IconPool.js +26 -1097
- package/src/sap/ui/core/IconRenderer.js +6 -6
- 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 +26 -4
- package/src/sap/ui/core/LocaleData.js +1 -1
- package/src/sap/ui/core/Manifest.js +4 -61
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/Patcher.js +27 -3
- package/src/sap/ui/core/Placeholder.js +28 -15
- package/src/sap/ui/core/RenderManager.js +36 -6
- package/src/sap/ui/core/Renderer.js +13 -3
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +2 -2
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/ShortcutHintsMixin.js +14 -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 +1 -1
- package/src/sap/ui/core/UIComponent.js +42 -16
- 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 +2 -2
- package/src/sap/ui/core/XMLCompositeMetadata.js +2 -2
- package/src/sap/ui/core/XMLTemplateProcessor.js +116 -41
- package/src/sap/ui/core/_IconRegistry.js +1148 -0
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +6 -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 +2 -2
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +16 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +73 -221
- package/src/sap/ui/core/hyphenation/HyphenationTestingWords.js +11 -10
- 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 +13 -15
- 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_de.properties +1 -1
- package/src/sap/ui/core/messagebundle_fr.properties +1 -1
- package/src/sap/ui/core/messagebundle_it.properties +1 -1
- package/src/sap/ui/core/messagebundle_pl.properties +1 -1
- package/src/sap/ui/core/messagebundle_th.properties +2 -2
- package/src/sap/ui/core/mvc/Controller.js +38 -19
- package/src/sap/ui/core/mvc/ControllerExtensionProvider.js +30 -32
- package/src/sap/ui/core/mvc/ControllerMetadata.js +18 -18
- package/src/sap/ui/core/mvc/HTMLView.js +2 -2
- package/src/sap/ui/core/mvc/JSONView.js +2 -2
- package/src/sap/ui/core/mvc/JSView.js +2 -2
- package/src/sap/ui/core/mvc/TemplateView.js +2 -2
- package/src/sap/ui/core/mvc/View.js +58 -85
- package/src/sap/ui/core/mvc/XMLView.js +2 -2
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +17 -20
- 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/History.js +10 -2
- package/src/sap/ui/core/routing/Router.js +8 -1
- package/src/sap/ui/core/routing/Target.js +13 -0
- package/src/sap/ui/core/routing/Targets.js +13 -2
- package/src/sap/ui/core/routing/async/Route.js +1 -1
- package/src/sap/ui/core/routing/async/Target.js +353 -259
- 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/BootSupportTool.js +11 -0
- package/src/sap/ui/core/support/InteractionTree.css +4 -0
- 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/ViewInfo.css +599 -0
- package/src/sap/ui/core/support/controls/InteractionTree.js +352 -222
- package/src/sap/ui/core/support/controls/ObjectViewer.js +3 -41
- package/src/sap/ui/core/support/controls/TimelineOverview.js +49 -24
- package/src/sap/ui/core/support/controls/TreeViewer.js +12 -58
- package/src/sap/ui/core/support/plugins/ControlTree.js +59 -68
- package/src/sap/ui/core/support/plugins/Debugging.js +9 -11
- package/src/sap/ui/core/support/plugins/Interaction.js +2 -2
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +147 -75
- package/src/sap/ui/core/support/plugins/Selector.js +19 -24
- package/src/sap/ui/core/support/plugins/TechInfo.js +5 -5
- package/src/sap/ui/core/support/plugins/Trace.js +95 -32
- package/src/sap/ui/core/support/plugins/ViewInfo.js +9 -73
- package/src/sap/ui/core/support/support.css +109 -14
- package/src/sap/ui/core/support/support.html +6 -2
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.fragment.xml +1 -0
- package/src/sap/ui/core/support/techinfo/TechnicalInfo.js +149 -72
- package/src/sap/ui/core/themes/base/Icon.less +9 -0
- package/src/sap/ui/core/themes/base/fonts/SAP-icons.woff2 +0 -0
- package/src/sap/ui/core/theming/Parameters.js +6 -4
- 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 +10 -28
- package/src/sap/ui/core/tmpl/TemplateControl.js +4 -4
- package/src/sap/ui/core/tmpl/_parsePath.js +35 -0
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/DraftEnabledMockServer.js +9 -4
- 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 +5 -5
- package/src/sap/ui/core/util/MockServerAnnotationsHandler.js +3 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +11 -12
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +136 -63
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +170 -153
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +424 -293
- 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 +10 -4
- package/src/sap/ui/debug/DebugEnv.js +3 -4
- package/src/sap/ui/debug/Highlighter.js +8 -2
- package/src/sap/ui/debug/PropertyList.css +55 -0
- package/src/sap/ui/debug/PropertyList.js +111 -182
- package/src/sap/ui/model/Binding.js +174 -118
- package/src/sap/ui/model/ClientContextBinding.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +1 -3
- package/src/sap/ui/model/ClientModel.js +4 -4
- package/src/sap/ui/model/ClientPropertyBinding.js +4 -2
- package/src/sap/ui/model/ClientTreeBinding.js +15 -9
- package/src/sap/ui/model/ClientTreeBindingAdapter.js +28 -23
- package/src/sap/ui/model/CompositeBinding.js +98 -77
- package/src/sap/ui/model/CompositeDataState.js +2 -2
- package/src/sap/ui/model/CompositeType.js +2 -2
- package/src/sap/ui/model/Context.js +4 -2
- package/src/sap/ui/model/ContextBinding.js +6 -14
- package/src/sap/ui/model/DataState.js +2 -2
- package/src/sap/ui/model/Filter.js +255 -53
- package/src/sap/ui/model/FilterOperator.js +1 -1
- package/src/sap/ui/model/FilterProcessor.js +27 -17
- package/src/sap/ui/model/FilterType.js +1 -1
- package/src/sap/ui/model/ListBinding.js +180 -117
- package/src/sap/ui/model/MetaModel.js +4 -9
- package/src/sap/ui/model/Model.js +345 -294
- package/src/sap/ui/model/PropertyBinding.js +92 -58
- package/src/sap/ui/model/SelectionModel.js +2 -2
- package/src/sap/ui/model/SimpleType.js +2 -2
- package/src/sap/ui/model/Sorter.js +1 -1
- package/src/sap/ui/model/SorterProcessor.js +1 -1
- package/src/sap/ui/model/StaticBinding.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +2 -2
- package/src/sap/ui/model/TreeBinding.js +1 -1
- package/src/sap/ui/model/TreeBindingAdapter.js +251 -100
- package/src/sap/ui/model/TreeBindingCompatibilityAdapter.js +16 -9
- package/src/sap/ui/model/TreeBindingUtils.js +1 -0
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +8 -4
- package/src/sap/ui/model/analytics/AnalyticalTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalVersionInfo.js +1 -1
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
- package/src/sap/ui/model/analytics/ODataModelAdapter.js +1 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +34 -25
- package/src/sap/ui/model/base/ManagedObjectModel.js +4 -0
- package/src/sap/ui/model/json/JSONListBinding.js +8 -5
- package/src/sap/ui/model/json/JSONModel.js +24 -15
- package/src/sap/ui/model/json/JSONPropertyBinding.js +4 -3
- package/src/sap/ui/model/json/JSONTreeBinding.js +1 -1
- package/src/sap/ui/model/message/MessageListBinding.js +6 -3
- package/src/sap/ui/model/message/MessageModel.js +23 -15
- package/src/sap/ui/model/message/MessagePropertyBinding.js +2 -2
- package/src/sap/ui/model/odata/AnnotationHelper.js +1 -1
- package/src/sap/ui/model/odata/AnnotationParser.js +1 -1
- package/src/sap/ui/model/odata/CountMode.js +1 -1
- package/src/sap/ui/model/odata/Filter.js +1 -1
- package/src/sap/ui/model/odata/ODataAnnotations.js +2 -2
- package/src/sap/ui/model/odata/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataMessageParser.js +2 -2
- package/src/sap/ui/model/odata/ODataMetaModel.js +5 -3
- package/src/sap/ui/model/odata/ODataMetadata.js +2 -2
- package/src/sap/ui/model/odata/ODataModel.js +8 -7
- package/src/sap/ui/model/odata/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBinding.js +65 -33
- package/src/sap/ui/model/odata/ODataTreeBindingAdapter.js +1 -1
- package/src/sap/ui/model/odata/ODataTreeBindingFlat.js +2 -2
- package/src/sap/ui/model/odata/ODataUtils.js +13 -11
- package/src/sap/ui/model/odata/OperationMode.js +1 -1
- package/src/sap/ui/model/odata/_AnnotationHelperExpression.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/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +81 -9
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +3 -3
- package/src/sap/ui/model/odata/v2/ODataContextBinding.js +39 -49
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +236 -73
- package/src/sap/ui/model/odata/v2/ODataModel.js +314 -164
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +110 -97
- package/src/sap/ui/model/odata/v2/_CreatedContextsCache.js +129 -0
- package/src/sap/ui/model/odata/v4/Context.js +6 -3
- package/src/sap/ui/model/odata/v4/ODataBinding.js +5 -6
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +117 -40
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +95 -15
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +44 -31
- package/src/sap/ui/model/odata/v4/ODataModel.js +86 -78
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +47 -28
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +11 -7
- package/src/sap/ui/model/odata/v4/_AnnotationHelperExpression.js +10 -3
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +8 -1
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +24 -16
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +32 -30
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +52 -17
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +2 -2
- package/src/sap/ui/model/resource/ResourceModel.js +6 -2
- package/src/sap/ui/model/resource/ResourcePropertyBinding.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +2 -2
- package/src/sap/ui/model/type/Currency.js +2 -2
- package/src/sap/ui/model/type/Date.js +9 -3
- package/src/sap/ui/model/type/DateInterval.js +4 -2
- package/src/sap/ui/model/type/DateTime.js +2 -2
- package/src/sap/ui/model/type/DateTimeInterval.js +2 -2
- package/src/sap/ui/model/type/FileSize.js +4 -2
- package/src/sap/ui/model/type/Float.js +4 -2
- package/src/sap/ui/model/type/Integer.js +4 -2
- package/src/sap/ui/model/type/String.js +2 -2
- package/src/sap/ui/model/type/Time.js +2 -2
- package/src/sap/ui/model/type/TimeInterval.js +2 -2
- package/src/sap/ui/model/type/Unit.js +14 -7
- package/src/sap/ui/model/xml/XMLListBinding.js +15 -9
- package/src/sap/ui/model/xml/XMLModel.js +70 -41
- package/src/sap/ui/model/xml/XMLPropertyBinding.js +4 -4
- package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -4
- package/src/sap/ui/performance/trace/Interaction.js +30 -15
- package/src/sap/ui/performance/trace/initTraces.js +1 -1
- package/src/sap/ui/qunit/QUnitUtils.js +3 -2
- package/src/sap/ui/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +9 -11
- package/src/sap/ui/test/TestUtils.js +11 -4
- package/src/sap/ui/test/actions/Drag.js +6 -2
- package/src/sap/ui/test/actions/Drop.js +6 -2
- package/src/sap/ui/test/actions/EnterText.js +6 -0
- package/src/sap/ui/test/actions/Press.js +6 -0
- package/src/sap/ui/test/actions/Scroll.js +6 -0
- package/src/sap/ui/test/autowaiter/_resourceWaiter.js +4 -4
- package/src/sap/ui/test/launchers/componentLauncher.js +0 -4
- package/src/sap/ui/test/matchers/I18NText.js +29 -11
- package/src/sap/ui/test/opaQunit.js +5 -0
- package/src/sap/ui/thirdparty/crossroads.js +6 -4
- package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly.js +1196 -0
- package/src/sap/ui/thirdparty/hyphenopoly/Hyphenopoly_Loader.js +797 -0
- package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.asm.js +108 -127
- package/src/sap/ui/thirdparty/hyphenopoly/hyphenEngine.wasm +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/bg.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/ca.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/da.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/de.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/el-monoton.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/en-us.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/es.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/et.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/fi.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/fr.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/hi.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/hr.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/hu.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/it.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/lt.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/nb-no.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/nl.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/pt.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/ru.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/sl.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/sv.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/th.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/tr.hpb +0 -0
- package/src/sap/ui/thirdparty/hyphenopoly/patterns/uk.hpb +0 -0
- package/src/sap/ui/thirdparty/jquery.js +9 -1
- package/src/sap/ui/thirdparty/qunit-2.js +1 -1
- package/src/sap/ui/thirdparty/qunit.js +1 -1
- package/src/sap/ui/util/Mobile.js +2 -20
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/isCrossOriginURL.js +16 -6
- package/src/sap-ui-core-nojQuery.js +1 -1
- package/src/sap-ui-core.js +1 -1
- package/src/sap-ui-debug.js +3 -17
- package/ui5.yaml +5 -2
- package/src/sap/ui/core/support/plugins/MessageTest.js +0 -96
- package/src/sap/ui/thirdparty/hyphenopoly/hyphenopoly.bundle.js +0 -860
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @extends sap.ui.model.odata.type.ODataType
|
|
31
31
|
* @public
|
|
32
32
|
* @since 1.37.0
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.96.2
|
|
34
34
|
*/
|
|
35
35
|
var Raw = ODataType.extend("sap.ui.model.odata.type.Raw", {
|
|
36
36
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -60,7 +60,7 @@ sap.ui.define([
|
|
|
60
60
|
* @extends sap.ui.model.odata.type.ODataType
|
|
61
61
|
* @public
|
|
62
62
|
* @since 1.51.0
|
|
63
|
-
* @version 1.
|
|
63
|
+
* @version 1.96.2
|
|
64
64
|
*/
|
|
65
65
|
var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
|
|
66
66
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -110,7 +110,7 @@ sap.ui.define([
|
|
|
110
110
|
* @extends sap.ui.model.odata.type.ODataType
|
|
111
111
|
* @public
|
|
112
112
|
* @since 1.37.0
|
|
113
|
-
* @version 1.
|
|
113
|
+
* @version 1.96.2
|
|
114
114
|
*/
|
|
115
115
|
var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
|
|
116
116
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -63,7 +63,7 @@ sap.ui.define([
|
|
|
63
63
|
* @extends sap.ui.model.type.Unit
|
|
64
64
|
* @public
|
|
65
65
|
* @since 1.63.0
|
|
66
|
-
* @version 1.
|
|
66
|
+
* @version 1.96.2
|
|
67
67
|
*/
|
|
68
68
|
var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
|
|
69
69
|
constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
|
|
@@ -19,6 +19,18 @@ sap.ui.define([
|
|
|
19
19
|
* An absolute path without trailing slash, for example "/Products(1)/ToSupplier"
|
|
20
20
|
* @param {string} [sDeepPath=sPath]
|
|
21
21
|
* The absolute deep path including all intermediate paths of the binding hierarchy
|
|
22
|
+
* @param {sap.ui.base.SyncPromise} [oCreatePromise]
|
|
23
|
+
* A sync promise that is given when this context has been created by
|
|
24
|
+
* {@link sap.ui.model.odata.v2.ODataModel#createEntry}.
|
|
25
|
+
*
|
|
26
|
+
* When the entity represented by this context has been successfully persisted in the back
|
|
27
|
+
* end, the given promise resolves.
|
|
28
|
+
*
|
|
29
|
+
* When the entity is deleted before it has been persisted in the back end via
|
|
30
|
+
* {@link sap.ui.model.odata.v2.ODataModel#resetChanges} with the
|
|
31
|
+
* <code>bDeleteCreatedEntities</code> parameter set to <code>true</code>, the given promise
|
|
32
|
+
* rejects with an object <code>oError</code> containing the error information, where
|
|
33
|
+
* <code>oError.aborted === true</code>.
|
|
22
34
|
* @alias sap.ui.model.odata.v2.Context
|
|
23
35
|
* @author SAP SE
|
|
24
36
|
* @class Implementation of an OData V2 model's context.
|
|
@@ -31,6 +43,7 @@ sap.ui.define([
|
|
|
31
43
|
* <ul>
|
|
32
44
|
* <li>an OData binding</li>
|
|
33
45
|
* <li>a view element</li>
|
|
46
|
+
* <li>{@link sap.ui.model.odata.v2.ODataModel#callFunction}</li>
|
|
34
47
|
* <li>{@link sap.ui.model.odata.v2.ODataModel#createBindingContext}</li>
|
|
35
48
|
* <li>{@link sap.ui.model.odata.v2.ODataModel#createEntry}</li>
|
|
36
49
|
* </ul>
|
|
@@ -39,13 +52,15 @@ sap.ui.define([
|
|
|
39
52
|
* @hideconstructor
|
|
40
53
|
* @public
|
|
41
54
|
* @since 1.93.0
|
|
42
|
-
* @version 1.
|
|
55
|
+
* @version 1.96.2
|
|
43
56
|
*/
|
|
44
57
|
var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
|
|
45
|
-
constructor : function (oModel, sPath, sDeepPath) {
|
|
58
|
+
constructor : function (oModel, sPath, sDeepPath, oCreatePromise) {
|
|
46
59
|
BaseContext.call(this, oModel, sPath);
|
|
47
|
-
//
|
|
48
|
-
|
|
60
|
+
// Promise returned by #created for a context of a newly created entity which
|
|
61
|
+
// resolves when the entity is persisted or rejects if the creation is aborted; set
|
|
62
|
+
// it lazily to avoid "Uncaught (in promise)" errors
|
|
63
|
+
this.oCreatePromise = undefined;
|
|
49
64
|
// the absolute path including all intermediate paths of the binding hierarchy;
|
|
50
65
|
// used to compute the full target of messages
|
|
51
66
|
this.sDeepPath = sDeepPath || sPath;
|
|
@@ -54,12 +69,51 @@ sap.ui.define([
|
|
|
54
69
|
// whether this context's path may be used to create the request URL for dependent
|
|
55
70
|
// bindings even if no data has been loaded for the context's entity
|
|
56
71
|
this.bPreliminary = false;
|
|
72
|
+
// SyncPromise for a context created via
|
|
73
|
+
// sap.ui.model.odata.v2.ODataModel#createEntry; used internally to detect
|
|
74
|
+
// synchronously whether the promise is already fulfilled
|
|
75
|
+
this.oSyncCreatePromise = oCreatePromise;
|
|
57
76
|
// whether the context is updated, e.g. path changed from a preliminary path to the
|
|
58
77
|
// canonical one
|
|
59
78
|
this.bUpdated = false;
|
|
60
79
|
}
|
|
61
80
|
});
|
|
62
81
|
|
|
82
|
+
/**
|
|
83
|
+
* Returns a promise on the creation state of this context if it has been created via
|
|
84
|
+
* {@link sap.ui.model.odata.v2.ODataModel#createEntry}; otherwise returns
|
|
85
|
+
* <code>undefined</code>.
|
|
86
|
+
*
|
|
87
|
+
* As long as the promise is not yet resolved or rejected, the entity represented by this
|
|
88
|
+
* context is transient.
|
|
89
|
+
*
|
|
90
|
+
* Once the promise is resolved, the entity for this context is stored in the back end and
|
|
91
|
+
* {@link #getPath} returns a path including the key predicate of the new entity.
|
|
92
|
+
*
|
|
93
|
+
* @returns {Promise}
|
|
94
|
+
* A promise for a context which has been created via
|
|
95
|
+
* {@link sap.ui.model.odata.v2.ODataModel#createEntry}, otherwise <code>undefined</code>.
|
|
96
|
+
*
|
|
97
|
+
* When the entity represented by this context has been persisted in the back end, the promise
|
|
98
|
+
* resolves without data.
|
|
99
|
+
*
|
|
100
|
+
* When the entity is deleted before it has been persisted in the back end via
|
|
101
|
+
* {@link sap.ui.model.odata.v2.ODataModel#resetChanges} with the
|
|
102
|
+
* <code>bDeleteCreatedEntities</code> parameter set to <code>true</code>, the promise rejects
|
|
103
|
+
* with an object <code>oError</code> containing the error information, where
|
|
104
|
+
* <code>oError.aborted === true</code>.
|
|
105
|
+
*
|
|
106
|
+
* @public
|
|
107
|
+
* @since 1.96.0
|
|
108
|
+
*/
|
|
109
|
+
Context.prototype.created = function () {
|
|
110
|
+
if (this.oSyncCreatePromise && !this.oCreatePromise) {
|
|
111
|
+
// ensure to return a promise that is resolved w/o data
|
|
112
|
+
this.oCreatePromise = Promise.resolve(this.oSyncCreatePromise).then(function () {});
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return this.oCreatePromise;
|
|
116
|
+
};
|
|
63
117
|
|
|
64
118
|
/**
|
|
65
119
|
* Gets the absolute deep path including all intermediate paths of the binding hierarchy. This
|
|
@@ -68,7 +122,7 @@ sap.ui.define([
|
|
|
68
122
|
* @return {string} The deep path
|
|
69
123
|
* @private
|
|
70
124
|
*/
|
|
71
|
-
|
|
125
|
+
Context.prototype.getDeepPath = function () {
|
|
72
126
|
return this.sDeepPath;
|
|
73
127
|
};
|
|
74
128
|
|
|
@@ -81,7 +135,7 @@ sap.ui.define([
|
|
|
81
135
|
* @see sap.ui.model.odata.v2.Context#isUpdated
|
|
82
136
|
* @see sap.ui.model.odata.v2.Context#isRefreshForced
|
|
83
137
|
*/
|
|
84
|
-
|
|
138
|
+
Context.prototype.hasChanged = function () {
|
|
85
139
|
return this.bUpdated || this.bForceRefresh;
|
|
86
140
|
};
|
|
87
141
|
|
|
@@ -94,7 +148,7 @@ sap.ui.define([
|
|
|
94
148
|
* @private
|
|
95
149
|
* @ui5-restricted sap.suite.ui.generic
|
|
96
150
|
*/
|
|
97
|
-
|
|
151
|
+
Context.prototype.isPreliminary = function () {
|
|
98
152
|
return this.bPreliminary;
|
|
99
153
|
};
|
|
100
154
|
|
|
@@ -105,10 +159,28 @@ sap.ui.define([
|
|
|
105
159
|
* @return {boolean} Whether dependent bindings need to be refreshed
|
|
106
160
|
* @private
|
|
107
161
|
*/
|
|
108
|
-
|
|
162
|
+
Context.prototype.isRefreshForced = function () {
|
|
109
163
|
return this.bForceRefresh;
|
|
110
164
|
};
|
|
111
165
|
|
|
166
|
+
/**
|
|
167
|
+
* For a context created using {@link sap.ui.model.odata.v2.ODataModel#createEntry}, the method
|
|
168
|
+
* returns <code>true</code> if the context is transient or <code>false</code> if the context is
|
|
169
|
+
* not transient. A transient context represents an entity created on the client which has not
|
|
170
|
+
* been persisted in the back end.
|
|
171
|
+
*
|
|
172
|
+
* @returns {boolean}
|
|
173
|
+
* Whether this context is transient if it has been created using
|
|
174
|
+
* {@link sap.ui.model.odata.v2.ODataModel#createEntry}; returns <code>undefined</code> if the
|
|
175
|
+
* context has not been created using {@link sap.ui.model.odata.v2.ODataModel#createEntry}
|
|
176
|
+
*
|
|
177
|
+
* @public
|
|
178
|
+
* @since 1.94.0
|
|
179
|
+
*/
|
|
180
|
+
Context.prototype.isTransient = function () {
|
|
181
|
+
return this.oSyncCreatePromise && this.oSyncCreatePromise.isPending();
|
|
182
|
+
};
|
|
183
|
+
|
|
112
184
|
/**
|
|
113
185
|
* Whether this context was updated. For example the path changed from a preliminary path to the
|
|
114
186
|
* canonical one.
|
|
@@ -116,7 +188,7 @@ sap.ui.define([
|
|
|
116
188
|
* @return {boolean} Whether the context is updated
|
|
117
189
|
* @private
|
|
118
190
|
*/
|
|
119
|
-
|
|
191
|
+
Context.prototype.isUpdated = function () {
|
|
120
192
|
return this.bUpdated;
|
|
121
193
|
};
|
|
122
194
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
/*eslint-disable max-len */
|
|
7
7
|
// Provides class sap.ui.model.odata.v2.ODataAnnotations
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"sap/base/assert",
|
|
@@ -35,7 +35,7 @@ sap.ui.define([
|
|
|
35
35
|
* @class Annotation loader for OData V2 services
|
|
36
36
|
*
|
|
37
37
|
* @author SAP SE
|
|
38
|
-
* @version 1.
|
|
38
|
+
* @version 1.96.2
|
|
39
39
|
*
|
|
40
40
|
* @public
|
|
41
41
|
* @since 1.37.0
|
|
@@ -684,7 +684,7 @@ sap.ui.define([
|
|
|
684
684
|
|
|
685
685
|
/**
|
|
686
686
|
* Loads a given source (sap.ui.model.odata.v2.ODataAnnotations.Source) if necessary and returns a promise that resolves
|
|
687
|
-
* if the source could be loaded or no
|
|
687
|
+
* if the source could be loaded or no loading is necessary. In case the source type is neither "xml" nor "url" or
|
|
688
688
|
* the loading of the source fails, the promise rejects.
|
|
689
689
|
*
|
|
690
690
|
* @param {sap.ui.model.odata.v2.ODataAnnotations.Source} mSource The source to be loaded
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
|
-
|
|
6
|
+
/*eslint-disable max-len */
|
|
7
7
|
//Provides an abstraction for list bindings
|
|
8
8
|
sap.ui.define([
|
|
9
9
|
"sap/base/util/deepExtend",
|
|
@@ -73,57 +73,54 @@ sap.ui.define([
|
|
|
73
73
|
* @see sap.ui.model.Binding.prototype.initialize
|
|
74
74
|
*/
|
|
75
75
|
ODataContextBinding.prototype.initialize = function() {
|
|
76
|
-
var
|
|
77
|
-
sResolvedPath,
|
|
78
|
-
bCreatedRelative = this.isRelative() && this.oContext && this.oContext.bCreated,
|
|
76
|
+
var oContext, bReloadNeeded, sResolvedPath,
|
|
79
77
|
bPreliminary = this.oContext && this.oContext.isPreliminary(),
|
|
80
|
-
|
|
78
|
+
bRelativeAndTransient = this.isRelative()
|
|
79
|
+
&& this.oContext && this.oContext.isTransient && this.oContext.isTransient(),
|
|
80
|
+
that = this;
|
|
81
81
|
|
|
82
82
|
// don't fire any requests if metadata is not loaded yet.
|
|
83
83
|
if (!this.oModel.oMetadata.isLoaded() || !this.bInitial) {
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
|
|
87
86
|
this.bInitial = false;
|
|
88
|
-
|
|
89
87
|
// If context is preliminary and usePreliminary is not set, exit here
|
|
90
88
|
if (bPreliminary && !this.bUsePreliminaryContext) {
|
|
91
89
|
return;
|
|
92
90
|
}
|
|
93
|
-
|
|
94
91
|
// if path cannot be resolved or parent context is created, set element context to null
|
|
95
92
|
sResolvedPath = this.getResolvedPath();
|
|
96
|
-
if (!sResolvedPath ||
|
|
93
|
+
if (!sResolvedPath || bRelativeAndTransient) {
|
|
97
94
|
this.oElementContext = null;
|
|
98
95
|
this._fireChange({ reason: ChangeReason.Context });
|
|
96
|
+
|
|
99
97
|
return;
|
|
100
98
|
}
|
|
101
|
-
|
|
102
99
|
// check whether a request is necessary and create binding context
|
|
103
100
|
bReloadNeeded = this.oModel._isReloadNeeded(sResolvedPath, this.mParameters);
|
|
104
101
|
if (bReloadNeeded) {
|
|
105
102
|
this.fireDataRequested();
|
|
106
103
|
this.bPendingRequest = true;
|
|
107
104
|
}
|
|
108
|
-
|
|
105
|
+
oContext = this.oModel.createBindingContext(this.sPath, this.oContext, this.mParameters,
|
|
106
|
+
function (oNewContext) {
|
|
109
107
|
var oData,
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
bForceRefresh = oNewContext && oNewContext.isRefreshForced(),
|
|
109
|
+
bUpdated = oNewContext && oNewContext.isUpdated();
|
|
112
110
|
|
|
113
|
-
if (that.bCreatePreliminaryContext &&
|
|
111
|
+
if (that.bCreatePreliminaryContext && oNewContext && that.oElementContext) {
|
|
114
112
|
that.oElementContext.setPreliminary(false);
|
|
115
|
-
that.oModel._updateContext(that.oElementContext,
|
|
113
|
+
that.oModel._updateContext(that.oElementContext, oNewContext.getPath());
|
|
116
114
|
that._fireChange({ reason: ChangeReason.Context }, false, true);
|
|
117
|
-
} else if (!
|
|
118
|
-
that.oElementContext =
|
|
115
|
+
} else if (!oNewContext || Context.hasChanged(oNewContext, that.oElementContext)) {
|
|
116
|
+
that.oElementContext = oNewContext;
|
|
119
117
|
that._fireChange({ reason: ChangeReason.Context }, bForceRefresh, bUpdated);
|
|
120
118
|
}
|
|
121
|
-
|
|
122
119
|
if (bReloadNeeded) {
|
|
123
120
|
if (that.oElementContext) {
|
|
124
121
|
oData = that.oElementContext.getObject(that.mParameters);
|
|
125
122
|
}
|
|
126
|
-
// register
|
|
123
|
+
// register data received call as callAfterUpdate
|
|
127
124
|
that.oModel.callAfterUpdate(function() {
|
|
128
125
|
that.fireDataReceived({data: oData});
|
|
129
126
|
});
|
|
@@ -209,16 +206,17 @@ sap.ui.define([
|
|
|
209
206
|
* @private
|
|
210
207
|
*/
|
|
211
208
|
ODataContextBinding.prototype._refresh = function(bForceUpdate, mChangedEntities) {
|
|
212
|
-
var
|
|
209
|
+
var oContext, sContextPath, oData, sKey, oStoredEntry,
|
|
210
|
+
bChangeDetected = false,
|
|
213
211
|
mParameters = this.mParameters,
|
|
214
|
-
|
|
212
|
+
bRelativeAndTransient = this.isRelative()
|
|
213
|
+
&& this.oContext && this.oContext.isTransient && this.oContext.isTransient(),
|
|
215
214
|
sResolvedPath = this.getResolvedPath(),
|
|
216
|
-
|
|
215
|
+
that = this;
|
|
217
216
|
|
|
218
|
-
if (this.bInitial ||
|
|
217
|
+
if (this.bInitial || bRelativeAndTransient) {
|
|
219
218
|
return;
|
|
220
219
|
}
|
|
221
|
-
|
|
222
220
|
if (mChangedEntities) {
|
|
223
221
|
//get entry from model. If entry exists get key for update bindings
|
|
224
222
|
oStoredEntry = this.oModel._getObject(this.sPath, this.oContext);
|
|
@@ -241,19 +239,20 @@ sap.ui.define([
|
|
|
241
239
|
mParameters = extend({},this.mParameters);
|
|
242
240
|
mParameters.groupId = this.sRefreshGroupId;
|
|
243
241
|
}
|
|
244
|
-
|
|
245
|
-
|
|
242
|
+
oContext = this.oModel.createBindingContext(this.sPath, this.oContext, mParameters,
|
|
243
|
+
function (oNewContext) {
|
|
244
|
+
if (that.bCreatePreliminaryContext && oNewContext && that.oElementContext) {
|
|
246
245
|
that.oElementContext.setPreliminary(false);
|
|
247
|
-
that.oModel._updateContext(that.oElementContext,
|
|
246
|
+
that.oModel._updateContext(that.oElementContext, oNewContext.getPath());
|
|
248
247
|
that._fireChange({ reason: ChangeReason.Context }, false, true);
|
|
249
|
-
} else if (Context.hasChanged(
|
|
250
|
-
that.oElementContext =
|
|
248
|
+
} else if (Context.hasChanged(oNewContext, that.oElementContext) || bForceUpdate) {
|
|
249
|
+
that.oElementContext = oNewContext;
|
|
251
250
|
that._fireChange({ reason: ChangeReason.Context }, bForceUpdate);
|
|
252
251
|
}
|
|
253
252
|
if (that.oElementContext) {
|
|
254
253
|
oData = that.oElementContext.getObject(that.mParameters);
|
|
255
254
|
}
|
|
256
|
-
//register
|
|
255
|
+
//register data received call as callAfterUpdate
|
|
257
256
|
if (sResolvedPath) {
|
|
258
257
|
that.oModel.callAfterUpdate(function() {
|
|
259
258
|
that.fireDataReceived({data: oData});
|
|
@@ -281,51 +280,42 @@ sap.ui.define([
|
|
|
281
280
|
* @private
|
|
282
281
|
*/
|
|
283
282
|
ODataContextBinding.prototype.setContext = function(oContext) {
|
|
284
|
-
var
|
|
285
|
-
oBindingContext,
|
|
286
|
-
oData,
|
|
287
|
-
sResolvedPath,
|
|
288
|
-
bCreated = oContext && oContext.bCreated,
|
|
289
|
-
bPreliminary = oContext && oContext.isPreliminary(),
|
|
283
|
+
var oBindingContext, sContextPath, oData, bReloadNeeded, sResolvedPath,
|
|
290
284
|
bForceUpdate = oContext && oContext.isRefreshForced(),
|
|
285
|
+
bPreliminary = oContext && oContext.isPreliminary(),
|
|
286
|
+
bTransient = oContext && oContext.isTransient && oContext.isTransient(),
|
|
291
287
|
bUpdated = oContext && oContext.isUpdated(),
|
|
292
|
-
|
|
288
|
+
that = this;
|
|
293
289
|
|
|
294
290
|
// If binding is initial or not a relative binding, nothing to do here
|
|
295
291
|
if (this.bInitial || !this.isRelative()) {
|
|
296
292
|
return;
|
|
297
293
|
}
|
|
298
|
-
|
|
299
294
|
// If context is preliminary and usePreliminary is not set, exit here
|
|
300
295
|
if (bPreliminary && !this.bUsePreliminaryContext) {
|
|
301
296
|
return;
|
|
302
297
|
}
|
|
303
|
-
|
|
304
298
|
if (bUpdated && this.bUsePreliminaryContext) {
|
|
305
299
|
this._fireChange({ reason: ChangeReason.Context });
|
|
300
|
+
|
|
306
301
|
return;
|
|
307
302
|
}
|
|
308
|
-
|
|
309
303
|
if (Context.hasChanged(this.oContext, oContext)) {
|
|
310
|
-
|
|
311
|
-
|
|
312
304
|
this.oContext = oContext;
|
|
313
|
-
|
|
314
305
|
sResolvedPath = this.getResolvedPath();
|
|
315
|
-
|
|
316
306
|
// If path doesn't resolve or parent context is created, reset current context
|
|
317
|
-
if (!sResolvedPath ||
|
|
307
|
+
if (!sResolvedPath || bTransient) {
|
|
318
308
|
if (this.oElementContext !== null) {
|
|
319
309
|
this.oElementContext = null;
|
|
320
310
|
this._fireChange({ reason: ChangeReason.Context });
|
|
321
311
|
}
|
|
312
|
+
|
|
322
313
|
return;
|
|
323
314
|
}
|
|
324
|
-
|
|
325
315
|
// Create new binding context and fire change
|
|
326
316
|
oData = this.oModel._getObject(this.sPath, this.oContext);
|
|
327
|
-
bReloadNeeded = bForceUpdate
|
|
328
|
-
|
|
317
|
+
bReloadNeeded = bForceUpdate
|
|
318
|
+
|| this.oModel._isReloadNeeded(sResolvedPath, this.mParameters);
|
|
329
319
|
if (sResolvedPath && bReloadNeeded) {
|
|
330
320
|
this.fireDataRequested();
|
|
331
321
|
this.bPendingRequest = true;
|
|
@@ -344,7 +334,7 @@ sap.ui.define([
|
|
|
344
334
|
if (that.oElementContext) {
|
|
345
335
|
oData = that.oElementContext.getObject(that.mParameters);
|
|
346
336
|
}
|
|
347
|
-
//register
|
|
337
|
+
//register data received call as callAfterUpdate
|
|
348
338
|
that.oModel.callAfterUpdate(function() {
|
|
349
339
|
that.fireDataReceived({data: oData});
|
|
350
340
|
});
|