@openui5/sap.ui.core 1.125.0 → 1.126.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/.dtsgenrc +76 -0
- package/.eslintrc.json +4 -1
- package/.reuse/dep5 +4 -4
- package/THIRDPARTY.txt +6 -6
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- 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/Event.js +1 -1
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/Log.js +0 -16
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- package/src/sap/base/util/ObjectPath.js +6 -6
- 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 +35 -10
- package/src/sap/ui/Global.js +6 -6
- 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 +16 -1
- 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 +1 -8
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +17 -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 +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +14 -5
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +1 -1
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +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 +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +2 -2
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +148 -102
- package/src/sap/ui/core/Manifest.js +1 -1
- package/src/sap/ui/core/Message.js +1 -1
- package/src/sap/ui/core/RenderManager.js +1 -1
- package/src/sap/ui/core/Renderer.js +1 -1
- package/src/sap/ui/core/ResizeHandler.js +1 -1
- package/src/sap/ui/core/ScrollBar.js +1 -1
- package/src/sap/ui/core/SeparatorItem.js +1 -1
- package/src/sap/ui/core/Title.js +1 -1
- package/src/sap/ui/core/TooltipBase.js +1 -1
- package/src/sap/ui/core/UIArea.js +2 -2
- 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/boot.js +1 -6
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +2 -2
- package/src/sap/ui/core/dnd/DragAndDrop.js +151 -10
- package/src/sap/ui/core/dnd/DragDropBase.js +13 -2
- 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/{model → core/fieldhelp}/FieldHelp.js +92 -65
- package/src/sap/ui/core/fieldhelp/FieldHelpUtil.js +62 -0
- package/src/sap/ui/core/format/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/TimezoneUtil.js +1 -1
- package/src/sap/ui/core/getCompatibilityVersion.js +1 -1
- package/src/sap/ui/core/hyphenation/Hyphenation.js +2 -1
- package/src/sap/ui/core/library.js +49 -9
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/mvc/ControllerExtension.js +16 -0
- package/src/sap/ui/core/mvc/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +1 -1
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/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/trace/E2eTraceLib.js +1 -1
- package/src/sap/ui/core/themes/sap_hcb/base_BlindLayer.less +37 -0
- package/src/sap/ui/core/themes/sap_hcb/base_BrowserScrollbar.less +36 -0
- package/src/sap/ui/core/themes/sap_hcb/base_BusyIndicator.less +19 -0
- package/src/sap/ui/core/themes/sap_hcb/base_CommandShortcutHints.less +20 -0
- package/src/sap/ui/core/themes/sap_hcb/base_DragAndDrop.less +76 -0
- package/src/sap/ui/core/themes/sap_hcb/base_Icon.less +144 -0
- package/src/sap/ui/core/themes/sap_hcb/base_LocalBusyIndicator.less +292 -0
- package/src/sap/ui/core/themes/sap_hcb/base_SAP-icons.less +10 -0
- package/src/sap/ui/core/themes/sap_hcb/base_ScrollBar.less +20 -0
- package/src/sap/ui/core/themes/sap_hcb/base_Shadow.less +3 -0
- package/src/sap/ui/core/themes/sap_hcb/base_TechnicalInfo.less +157 -0
- package/src/sap/ui/core/themes/sap_hcb/base_View.less +12 -0
- package/src/sap/ui/core/themes/sap_hcb/base_media.less +36 -0
- package/src/sap/ui/core/themes/sap_hcb/base_parameterClasses.less +83 -0
- package/src/sap/ui/core/themes/sap_hcb/base_shared.less +340 -0
- package/src/sap/ui/core/themes/sap_hcb/library.source.less +27 -1
- package/src/sap/ui/core/theming/Parameters.js +68 -8
- package/src/sap/ui/core/tmpl/DOMAttribute.js +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +2 -2
- package/src/sap/ui/core/util/MockServer.js +1 -2
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/XMLPreprocessor.js +14 -15
- 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/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.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/model/Binding.js +28 -0
- 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/ManagedObjectBindingSupport.js +5 -0
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +1 -1
- package/src/sap/ui/model/SelectionModel.js +1 -1
- package/src/sap/ui/model/SimpleType.js +1 -1
- package/src/sap/ui/model/TreeAutoExpandMode.js +1 -1
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/base/ManagedObjectModel.js +12 -2
- package/src/sap/ui/model/json/JSONModel.js +16 -11
- 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/ODataTreeBindingFlat.js +7 -2
- package/src/sap/ui/model/odata/ODataUtils.js +22 -14
- package/src/sap/ui/model/odata/type/Boolean.js +1 -1
- package/src/sap/ui/model/odata/type/Byte.js +1 -1
- package/src/sap/ui/model/odata/type/Currency.js +1 -1
- package/src/sap/ui/model/odata/type/Date.js +1 -1
- package/src/sap/ui/model/odata/type/DateTime.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeBase.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeOffset.js +1 -1
- package/src/sap/ui/model/odata/type/DateTimeWithTimezone.js +1 -1
- package/src/sap/ui/model/odata/type/Decimal.js +1 -1
- package/src/sap/ui/model/odata/type/Double.js +1 -1
- package/src/sap/ui/model/odata/type/Guid.js +1 -1
- package/src/sap/ui/model/odata/type/Int.js +1 -1
- package/src/sap/ui/model/odata/type/Int16.js +1 -1
- package/src/sap/ui/model/odata/type/Int32.js +1 -1
- package/src/sap/ui/model/odata/type/Int64.js +1 -1
- package/src/sap/ui/model/odata/type/ODataType.js +1 -1
- package/src/sap/ui/model/odata/type/Raw.js +1 -1
- package/src/sap/ui/model/odata/type/SByte.js +1 -1
- package/src/sap/ui/model/odata/type/Single.js +1 -1
- package/src/sap/ui/model/odata/type/Stream.js +1 -1
- package/src/sap/ui/model/odata/type/String.js +1 -1
- package/src/sap/ui/model/odata/type/Time.js +1 -1
- package/src/sap/ui/model/odata/type/TimeOfDay.js +1 -1
- package/src/sap/ui/model/odata/type/Unit.js +1 -1
- package/src/sap/ui/model/odata/v2/Context.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataAnnotations.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +92 -43
- package/src/sap/ui/model/odata/v4/ODataBinding.js +20 -20
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +6 -7
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +176 -87
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +9 -9
- package/src/sap/ui/model/odata/v4/ODataModel.js +36 -9
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +3 -3
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +12 -11
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +176 -75
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +48 -9
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +15 -17
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +49 -14
- package/src/sap/ui/model/odata/v4/lib/_Parser.js +3 -3
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +20 -12
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +2 -2
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +3 -3
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/performance/trace/FESR.js +2 -2
- package/src/sap/ui/performance/trace/Interaction.js +1 -1
- package/src/sap/ui/performance/trace/Passport.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/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/starter/_utils.js +18 -3
- package/src/sap/ui/util/Mobile.js +7 -4
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/ui5loader-autoconfig.js +0 -25
- package/test/sap/ui/core/BindableResponseHeaders.html +1 -2
- package/test/sap/ui/core/ODataV2CanonicalRequests.html +8 -5
- package/test/sap/ui/core/ODataV2Messages.html +14 -11
- package/test/sap/ui/core/ODataV2MessagesPerf.html +34 -9
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/iStartMyAppInAFrame.html +2 -1
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/iStartMyAppInAFrame.js +2 -12
- package/test/sap/ui/core/demokit/sample/common/Controller.js +2 -2
- package/test/sap/ui/core/demokit/sample/common/ValueHelp.js +2 -2
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/SandboxModel.js +6 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +110 -21
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.view.xml +35 -43
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +118 -26
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +99 -90
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +87 -40
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/pages/Main.js +4 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +18 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/tests/CreateRelative.js +1 -8
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Main.controller.js +1 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/localService/mockserver.js +4 -4
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +3 -3
- package/test/sap/ui/core/qunit/CommandExecution.qunit.js +96 -92
- package/test/sap/ui/core/qunit/ManagedObjectModel.qunit.js +24 -0
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +80 -0
- package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +1 -0
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +1 -1
- package/test/sap/ui/core/qunit/app/testsuite.app.qunit.js +2 -1
- package/test/sap/ui/core/qunit/base/Config.qunit.js +117 -114
- package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.html +3 -3
- package/test/sap/ui/core/qunit/base/Config_bootstrap.qunit.js +98 -95
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +20 -45
- package/test/sap/ui/core/qunit/base/Config_global.qunit.html +2 -2
- package/test/sap/ui/core/qunit/base/Config_meta.qunit.html +2 -2
- package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.html +2 -2
- package/test/sap/ui/core/qunit/base/Config_noUrl.qunit.js +17 -16
- package/test/sap/ui/core/qunit/base/Config_url.qunit.html +2 -2
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMainModule.beforeBootstrap.js +6 -0
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMainModule.qunit.js +4 -4
- package/test/sap/ui/core/qunit/bootstrap/BootstrapMinimal.qunit.js +30 -10
- package/test/sap/ui/core/qunit/bootstrap/testsuite.bootstrap.qunit.js +5 -1
- package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +159 -3
- package/test/sap/ui/core/qunit/{model → fieldhelp}/FieldHelp.qunit.js +306 -24
- package/test/sap/ui/core/qunit/fieldhelp/FieldHelpUtil.qunit.js +55 -0
- package/test/sap/ui/core/qunit/fieldhelp/testsuite.fieldhelp.qunit.html +12 -0
- package/test/sap/ui/core/qunit/fieldhelp/testsuite.fieldhelp.qunit.js +50 -0
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +1 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +6 -1
- package/test/sap/ui/core/qunit/internal/testsuite.feature-odata-v4.qunit.js +1 -1
- package/test/sap/ui/core/qunit/jquery-mobile-custom.beforeBootstrap.js +11 -0
- package/test/sap/ui/core/qunit/jquery-mobile-custom.qunit.js +3 -3
- package/test/sap/ui/core/qunit/json/JSONModel.qunit.js +21 -0
- package/test/sap/ui/core/qunit/loader/asyncMode.qunit.js +2 -6
- package/test/sap/ui/core/qunit/loader/config.qunit.js +41 -2
- package/test/sap/ui/core/qunit/mvc/testsuite.mvc.qunit.js +9 -4
- package/test/sap/ui/core/qunit/odata/ODataUtils.qunit.js +5 -12
- package/test/sap/ui/core/qunit/odata/type/testsuite.odata.types.qunit.js +1 -0
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +202 -73
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingFlatNoFakeService.qunit.js +94 -2
- package/test/sap/ui/core/qunit/odata/v2/data/ZUI5_GWSAMPLE_BASIC.metadata.xml +4 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +106 -103
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +20 -20
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +370 -109
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +42 -42
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +2260 -177
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +39 -7
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.realOData.qunit.js +7 -6
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +13 -14
- package/test/sap/ui/core/qunit/odata/v4/_AnnotationHelperExpression.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +592 -169
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +82 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +44 -47
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +80 -20
- package/test/sap/ui/core/qunit/odata/v4/lib/_MetadataRequestor.qunit.js +2 -2
- package/test/sap/ui/core/qunit/odata/v4/lib/_Requestor.qunit.js +175 -69
- package/test/sap/ui/core/qunit/odata/v4/lib/_V2Requestor.qunit.js +3 -3
- package/test/sap/ui/core/qunit/odata/v4/testsuite.odatav4.qunit.js +1 -1
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +9 -7
- package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +6 -1
- package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib4/themes/sap_horizon_hcb/library.css +2 -0
- package/test/sap/ui/core/qunit/testsuite.qunit.js +1 -0
- package/test/sap/ui/core/qunit/testsuites/testsuite.browser.runtime.qunit.js +5 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +0 -3
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +4 -1
- package/test/sap/ui/core/qunit/ui/Device.qunit.js +68 -25
- package/test/sap/ui/core/qunit/ui5classes/ManagedObjectMetadata.qunit.js +3 -0
- package/test/sap/ui/core/qunit/util/Mobile.qunit.js +12 -7
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +20 -20
- package/test/sap/ui/core/relnotes/changes-1.125.json +1 -6
- package/test/sap/ui/core/relnotes/changes-1.126.json +63 -0
- package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/firstItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/initial.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/lastItem-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/leftDownBtn-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/myButtonSample-contextMenu.ref.lnk +1 -1
- package/test/sap/ui/core/visual/images/ContextMenuSupport/windows/1600x1200/chrome/horizon/ltr/cozy/rightDownBtn-contextMenu.ref.lnk +1 -1
|
@@ -931,7 +931,8 @@ sap.ui.define([
|
|
|
931
931
|
/**
|
|
932
932
|
* Calculates the index range to be read for the given start, length and prefetch length.
|
|
933
933
|
* Checks if <code>aElements</code> entries are available for at least half the prefetch length
|
|
934
|
-
* left and right to it. If not, the full prefetch length is added to this side
|
|
934
|
+
* left and right to it. If not, the full prefetch length is added to this side, starting at the first missing
|
|
935
|
+
* index.
|
|
935
936
|
*
|
|
936
937
|
* @param {any[]} aElements
|
|
937
938
|
* The array of available elements
|
|
@@ -951,28 +952,35 @@ sap.ui.define([
|
|
|
951
952
|
* @private
|
|
952
953
|
*/
|
|
953
954
|
ODataUtils._getReadRange = function (aElements, iStart, iLength, iPrefetchLength, fnIsMissing) {
|
|
954
|
-
//
|
|
955
|
-
//
|
|
956
|
-
function
|
|
957
|
-
|
|
958
|
-
for (i =
|
|
955
|
+
// Returns the index of the first missing element in the element range iFrom (inclusive) to iTo (exclusive) or
|
|
956
|
+
// -1 if no element is missing in the range
|
|
957
|
+
function getFirstMissingIndex(iFrom, iTo) {
|
|
958
|
+
const iStep = Math.sign(iTo - iFrom);
|
|
959
|
+
for (let i = iFrom; i !== iTo; i += iStep) {
|
|
959
960
|
if (aElements[i] === undefined || fnIsMissing?.(aElements[i])) {
|
|
960
|
-
return
|
|
961
|
+
return i;
|
|
961
962
|
}
|
|
962
963
|
}
|
|
963
|
-
|
|
964
|
+
|
|
965
|
+
return -1;
|
|
964
966
|
}
|
|
965
967
|
|
|
966
968
|
// Make sure that "half the prefetch length" is an integer. Round it up so that at least the
|
|
967
969
|
// half is checked on both sides. (With a prefetch of 5 for example, 3 elements are checked
|
|
968
970
|
// both to the left and to the right.)
|
|
969
971
|
const iHalfPrefetchLength = Math.ceil(iPrefetchLength / 2);
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
972
|
+
let iFirstMissingIndex = getFirstMissingIndex(iStart + iLength, iStart + iLength + iHalfPrefetchLength);
|
|
973
|
+
if (iFirstMissingIndex !== -1) {
|
|
974
|
+
const iAvailableElements = iFirstMissingIndex - (iStart + iLength);
|
|
975
|
+
iLength += iAvailableElements + iPrefetchLength;
|
|
976
|
+
}
|
|
977
|
+
// for start index 0, both iFrom and iTo passed to getFirstMissingIndex are -1, so that it returns -1
|
|
978
|
+
iFirstMissingIndex = getFirstMissingIndex(iStart - 1, Math.max(iStart - 1 - iHalfPrefetchLength, -1));
|
|
979
|
+
if (iFirstMissingIndex !== -1) {
|
|
980
|
+
const iAvailableElements = iStart - 1 - iFirstMissingIndex;
|
|
981
|
+
const iAdditionalElements = iAvailableElements + iPrefetchLength;
|
|
982
|
+
iLength += iAdditionalElements;
|
|
983
|
+
iStart -= iAdditionalElements;
|
|
976
984
|
if (iStart < 0) {
|
|
977
985
|
iLength += iStart; // Note: Infinity + -Infinity === NaN
|
|
978
986
|
if (isNaN(iLength)) {
|
|
@@ -65,7 +65,7 @@ sap.ui.define([
|
|
|
65
65
|
* @extends sap.ui.model.type.Currency
|
|
66
66
|
* @public
|
|
67
67
|
* @since 1.63.0
|
|
68
|
-
* @version 1.
|
|
68
|
+
* @version 1.126.1
|
|
69
69
|
*/
|
|
70
70
|
var Currency = BaseCurrency.extend("sap.ui.model.odata.type.Currency", {
|
|
71
71
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -92,7 +92,7 @@ sap.ui.define([
|
|
|
92
92
|
* @extends sap.ui.model.odata.type.ODataType
|
|
93
93
|
* @public
|
|
94
94
|
* @since 1.27.0
|
|
95
|
-
* @version 1.
|
|
95
|
+
* @version 1.126.1
|
|
96
96
|
*/
|
|
97
97
|
var DateTimeBase = ODataType.extend("sap.ui.model.odata.type.DateTimeBase", {
|
|
98
98
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @extends sap.ui.model.odata.type.ODataType
|
|
31
31
|
* @public
|
|
32
32
|
* @since 1.37.0
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.126.1
|
|
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.126.1
|
|
64
64
|
*/
|
|
65
65
|
var Stream = ODataType.extend("sap.ui.model.odata.type.Stream", {
|
|
66
66
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -93,7 +93,7 @@ sap.ui.define([
|
|
|
93
93
|
* @extends sap.ui.model.odata.type.ODataType
|
|
94
94
|
* @public
|
|
95
95
|
* @since 1.37.0
|
|
96
|
-
* @version 1.
|
|
96
|
+
* @version 1.126.1
|
|
97
97
|
*/
|
|
98
98
|
var TimeOfDay = ODataType.extend("sap.ui.model.odata.type.TimeOfDay", {
|
|
99
99
|
constructor : function (oFormatOptions, oConstraints) {
|
|
@@ -66,7 +66,7 @@ sap.ui.define([
|
|
|
66
66
|
* @extends sap.ui.model.type.Unit
|
|
67
67
|
* @public
|
|
68
68
|
* @since 1.63.0
|
|
69
|
-
* @version 1.
|
|
69
|
+
* @version 1.126.1
|
|
70
70
|
*/
|
|
71
71
|
var Unit = BaseUnit.extend("sap.ui.model.odata.type.Unit", {
|
|
72
72
|
constructor : function (oFormatOptions, oConstraints, aDynamicFormatOptionNames) {
|
|
@@ -64,7 +64,7 @@ sap.ui.define([
|
|
|
64
64
|
* @hideconstructor
|
|
65
65
|
* @public
|
|
66
66
|
* @since 1.93.0
|
|
67
|
-
* @version 1.
|
|
67
|
+
* @version 1.126.1
|
|
68
68
|
*/
|
|
69
69
|
var Context = BaseContext.extend("sap.ui.model.odata.v2.Context", {
|
|
70
70
|
constructor : function (oModel, sPath, sDeepPath, oCreatePromise, bInactive,
|
|
@@ -103,7 +103,7 @@ sap.ui.define([
|
|
|
103
103
|
* @extends sap.ui.model.TreeBinding
|
|
104
104
|
* @hideconstructor
|
|
105
105
|
* @public
|
|
106
|
-
* @version 1.
|
|
106
|
+
* @version 1.126.1
|
|
107
107
|
*/
|
|
108
108
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
109
109
|
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @hideconstructor
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.39.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.126.1
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -360,8 +360,9 @@ sap.ui.define([
|
|
|
360
360
|
|
|
361
361
|
/**
|
|
362
362
|
* Destroys this context, that is, it removes this context from all dependent bindings and drops
|
|
363
|
-
* references to binding and model, so that the context
|
|
364
|
-
* and index for debugging purposes.
|
|
363
|
+
* references to {@link #getBinding binding} and {@link #getModel model}, so that the context
|
|
364
|
+
* cannot be used anymore; it keeps path and index for debugging purposes. A destroyed context
|
|
365
|
+
* can be recognized by calling {@link #getBinding}, which returns <code>undefined</code>.
|
|
365
366
|
*
|
|
366
367
|
* <b>BEWARE:</b> Do not call this function! The lifetime of an OData V4 context is completely
|
|
367
368
|
* controlled by its binding.
|
|
@@ -435,8 +436,8 @@ sap.ui.define([
|
|
|
435
436
|
|
|
436
437
|
// Messages have been updated via _Cache#_delete; "that" is already destroyed; remove
|
|
437
438
|
// all dependent caches in all bindings
|
|
438
|
-
oModel.getAllBindings().forEach(function (
|
|
439
|
-
|
|
439
|
+
oModel.getAllBindings().forEach(function (oBinding0) {
|
|
440
|
+
oBinding0.removeCachesAndMessages(sResourcePathPrefix, true);
|
|
440
441
|
});
|
|
441
442
|
}).catch(function (oError) {
|
|
442
443
|
oModel.reportError("Failed to delete " + that.getPath(), sClassName, oError);
|
|
@@ -606,15 +607,32 @@ sap.ui.define([
|
|
|
606
607
|
*
|
|
607
608
|
* @param {boolean} bSelected
|
|
608
609
|
* Whether this context is to be selected
|
|
610
|
+
* @param {boolean} [bDoNotUpdateAnnotation]
|
|
611
|
+
* Whether the client-side annotation "@$ui5.context.isSelected" should not be updated
|
|
612
|
+
* @returns {boolean}
|
|
613
|
+
* Whether the selection state of the context has changed
|
|
609
614
|
*
|
|
610
615
|
* @private
|
|
611
616
|
* @see #setSelected
|
|
612
617
|
*/
|
|
613
|
-
Context.prototype.doSetSelected = function (bSelected) {
|
|
614
|
-
this.bSelected
|
|
615
|
-
|
|
616
|
-
|
|
618
|
+
Context.prototype.doSetSelected = function (bSelected, bDoNotUpdateAnnotation) {
|
|
619
|
+
if (bSelected === this.bSelected) {
|
|
620
|
+
return false;
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
if (!bDoNotUpdateAnnotation) {
|
|
624
|
+
this.withCache((oCache, sPath) => {
|
|
625
|
+
if (this.oBinding) {
|
|
626
|
+
oCache.setProperty("@$ui5.context.isSelected", bSelected, sPath);
|
|
627
|
+
} // else: context already destroyed
|
|
628
|
+
}, "");
|
|
617
629
|
}
|
|
630
|
+
|
|
631
|
+
this.bSelected = bSelected;
|
|
632
|
+
|
|
633
|
+
this.oBinding?.onKeepAliveChanged(this); // selected contexts are effectively kept alive
|
|
634
|
+
|
|
635
|
+
return true;
|
|
618
636
|
};
|
|
619
637
|
|
|
620
638
|
/**
|
|
@@ -1015,6 +1033,32 @@ sap.ui.define([
|
|
|
1015
1033
|
return this.oBinding.getQueryOptionsForPath(sPath);
|
|
1016
1034
|
};
|
|
1017
1035
|
|
|
1036
|
+
/**
|
|
1037
|
+
* Returns this node's sibling; either the next one (via offset +1) or the previous one (via
|
|
1038
|
+
* offset -1). Returns <code>null</code> if no such sibling exists (because this node is the
|
|
1039
|
+
* last or first sibling, respectively). If it's not known whether the requested sibling
|
|
1040
|
+
* exists, <code>undefined</code> is returned and {@link #requestSibling} can be used instead.
|
|
1041
|
+
*
|
|
1042
|
+
* @param {number} [iOffset=+1] - An offset, either -1 or +1
|
|
1043
|
+
* @returns {sap.ui.model.odata.v4.Context|null|undefined}
|
|
1044
|
+
* The sibling's context, or <code>null</code> if no such sibling exists for sure, or
|
|
1045
|
+
* <code>undefined</code> if we cannot tell
|
|
1046
|
+
* @throws {Error} If
|
|
1047
|
+
* <ul>
|
|
1048
|
+
* <li> the given offset is unsupported,
|
|
1049
|
+
* <li> this context's root binding is suspended,
|
|
1050
|
+
* <li> this context is {@link #isDeleted deleted}, {@link #isTransient transient}, or not
|
|
1051
|
+
* part of a recursive hierarchy.
|
|
1052
|
+
* </ul>
|
|
1053
|
+
*
|
|
1054
|
+
* @private
|
|
1055
|
+
* @since 1.126.0
|
|
1056
|
+
* @ui5-restricted sap.fe
|
|
1057
|
+
*/
|
|
1058
|
+
Context.prototype.getSibling = function (iOffset) {
|
|
1059
|
+
return this.oBinding.fetchOrGetSibling(this, iOffset);
|
|
1060
|
+
};
|
|
1061
|
+
|
|
1018
1062
|
/**
|
|
1019
1063
|
* Returns the group ID of the context's binding that is used for update requests. See
|
|
1020
1064
|
* {@link sap.ui.model.odata.v4.ODataListBinding#getUpdateGroupId} and
|
|
@@ -1260,7 +1304,13 @@ sap.ui.define([
|
|
|
1260
1304
|
*
|
|
1261
1305
|
* The move potentially changes the {@link #getIndex index} of this context, of all of its
|
|
1262
1306
|
* descendants, and of all other nodes affected by the move. Any index change can, however, only
|
|
1263
|
-
* be observed reliably for this context itself.
|
|
1307
|
+
* be observed reliably for this context itself or (since 1.126.0) the next sibling's context
|
|
1308
|
+
* if that is {@link #isKeepAlive kept alive} or {@link #isSelected selected} (and the
|
|
1309
|
+
* preconditions of {@link #setKeepAlive} hold). For a kept-alive or selected next sibling, the
|
|
1310
|
+
* index must be retrieved as soon as the returned promise resolves. If such a next sibling is
|
|
1311
|
+
* not one of the binding's {@link sap.ui.model.odata.v4.ODataListBinding#getCurrentContexts
|
|
1312
|
+
* current contexts} after the move, it is not in the collection anymore and thus loses its
|
|
1313
|
+
* index pretty soon.
|
|
1264
1314
|
*
|
|
1265
1315
|
* The move changes the
|
|
1266
1316
|
* {@link topic:c9723f8265f644af91c0ed941e114d46/section_CST context states} of the nodes as
|
|
@@ -1649,18 +1699,12 @@ sap.ui.define([
|
|
|
1649
1699
|
* </ul>
|
|
1650
1700
|
*
|
|
1651
1701
|
* @private
|
|
1702
|
+
* @see #getSibling
|
|
1652
1703
|
* @since 1.125.0
|
|
1653
1704
|
* @ui5-restricted sap.fe
|
|
1654
1705
|
*/
|
|
1655
|
-
Context.prototype.requestSibling = function (iOffset
|
|
1656
|
-
|
|
1657
|
-
throw new Error("Unsupported offset: " + iOffset);
|
|
1658
|
-
}
|
|
1659
|
-
if (this.isDeleted() || this.isTransient()) {
|
|
1660
|
-
throw new Error("Unsupported context: " + this);
|
|
1661
|
-
}
|
|
1662
|
-
|
|
1663
|
-
return this.oBinding.requestSibling(this, iOffset);
|
|
1706
|
+
Context.prototype.requestSibling = function (iOffset) {
|
|
1707
|
+
return Promise.resolve(this.oBinding.fetchOrGetSibling(this, iOffset, true));
|
|
1664
1708
|
};
|
|
1665
1709
|
|
|
1666
1710
|
/**
|
|
@@ -2238,17 +2282,24 @@ sap.ui.define([
|
|
|
2238
2282
|
};
|
|
2239
2283
|
|
|
2240
2284
|
/**
|
|
2241
|
-
* Sets whether this context is currently selected.
|
|
2242
|
-
* {@link #
|
|
2243
|
-
*
|
|
2244
|
-
*
|
|
2245
|
-
*
|
|
2246
|
-
*
|
|
2285
|
+
* Sets whether this context is currently selected. If the selection state changes, a
|
|
2286
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#event:selectionChanged 'selectionChanged'}
|
|
2287
|
+
* event is fired on the list binding which this context belongs to. While a context is
|
|
2288
|
+
* currently {@link #delete deleted} on the client, it does not appear as
|
|
2289
|
+
* {@link #isSelected selected}. If the preconditions of {@link #setKeepAlive} hold, a best
|
|
2290
|
+
* effort is made to implicitly keep a selected context alive in order to preserve the selection
|
|
2291
|
+
* state. Once the selection is no longer needed, for example because you perform an operation
|
|
2292
|
+
* on this context which logically removes it from its list, you need to reset the selection.
|
|
2247
2293
|
*
|
|
2248
2294
|
* If this context is a header context of a list binding, the new selection state is propagated
|
|
2249
|
-
* to all row contexts.
|
|
2250
|
-
*
|
|
2251
|
-
*
|
|
2295
|
+
* to all row contexts. If the selection state of this header context changes, a
|
|
2296
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#event:selectionChanged 'selectionChanged'}
|
|
2297
|
+
* event is fired for this header context. This method can be called repeatedly with
|
|
2298
|
+
* the same value to again select all row contexts. For example, if a row context was deselected
|
|
2299
|
+
* explicitly, it is selected again by selecting the header context (even if the header context
|
|
2300
|
+
* is already selected). If the selection state of any row context changes in this way, then a
|
|
2301
|
+
* {@link sap.ui.model.odata.v4.ODataListBinding#event:selectionChanged 'selectionChanged'}
|
|
2302
|
+
* event is nevertheless fired for this header context, but not for the row context.
|
|
2252
2303
|
*
|
|
2253
2304
|
* <b>Note:</b> It is unsafe to keep a reference to a context instance which is not
|
|
2254
2305
|
* {@link #isKeepAlive kept alive}.
|
|
@@ -2269,23 +2320,21 @@ sap.ui.define([
|
|
|
2269
2320
|
if (bSelected && this.isDeleted()) {
|
|
2270
2321
|
throw new Error("Must not select a deleted entity: " + this);
|
|
2271
2322
|
}
|
|
2272
|
-
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
this.
|
|
2282
|
-
if (this.oBinding) {
|
|
2283
|
-
oCache.setProperty("@$ui5.context.isSelected", bSelected, sPath);
|
|
2284
|
-
} // else: context already destroyed
|
|
2285
|
-
}, "");
|
|
2323
|
+
|
|
2324
|
+
const bRowsChanged = this.oBinding.getHeaderContext() === this
|
|
2325
|
+
&& this.oBinding._getAllExistingContexts().reduce((bChanged, oContext) => {
|
|
2326
|
+
return oContext.doSetSelected(bSelected) || bChanged;
|
|
2327
|
+
}, false);
|
|
2328
|
+
|
|
2329
|
+
const bSelectionChanged = this.doSetSelected(bSelected);
|
|
2330
|
+
|
|
2331
|
+
if (bSelectionChanged && this.mChangeListeners) { // header context: "select all"
|
|
2332
|
+
_Helper.fireChange(this.mChangeListeners, "", bSelected);
|
|
2286
2333
|
}
|
|
2287
2334
|
|
|
2288
|
-
|
|
2335
|
+
if (bSelectionChanged || bRowsChanged) {
|
|
2336
|
+
this.oBinding.fireSelectionChanged(this);
|
|
2337
|
+
}
|
|
2289
2338
|
};
|
|
2290
2339
|
|
|
2291
2340
|
/**
|
|
@@ -123,26 +123,6 @@ sap.ui.define([
|
|
|
123
123
|
this.sReducedPath = this.sReducedPath.replace(sTransientPredicate, sPredicate);
|
|
124
124
|
};
|
|
125
125
|
|
|
126
|
-
/**
|
|
127
|
-
* Throws an error that the response is being ignored if the current cache is not the expected
|
|
128
|
-
* one. The error has the property <code>canceled : true</code>
|
|
129
|
-
*
|
|
130
|
-
* @param {sap.ui.model.odata.v4.lib._Cache} oExpectedCache - The expected cache
|
|
131
|
-
* @throws {Error} If the current cache is not the expected one
|
|
132
|
-
*
|
|
133
|
-
* @private
|
|
134
|
-
*/
|
|
135
|
-
ODataBinding.prototype.assertSameCache = function (oExpectedCache) {
|
|
136
|
-
var oError;
|
|
137
|
-
|
|
138
|
-
if (this.oCache !== oExpectedCache) {
|
|
139
|
-
oError = new Error(this + " is ignoring response from inactive cache: "
|
|
140
|
-
+ oExpectedCache);
|
|
141
|
-
oError.canceled = true;
|
|
142
|
-
throw oError;
|
|
143
|
-
}
|
|
144
|
-
};
|
|
145
|
-
|
|
146
126
|
/**
|
|
147
127
|
* Checks binding-specific parameters from the given map. "Binding-specific" parameters are
|
|
148
128
|
* those with a key starting with '$$', i.e. OData query options provided as binding parameters
|
|
@@ -250,6 +230,26 @@ sap.ui.define([
|
|
|
250
230
|
});
|
|
251
231
|
};
|
|
252
232
|
|
|
233
|
+
/**
|
|
234
|
+
* Throws an error that the response is being ignored if the current cache is not the expected
|
|
235
|
+
* one. The error has the property <code>canceled : true</code>
|
|
236
|
+
*
|
|
237
|
+
* @param {sap.ui.model.odata.v4.lib._Cache} oExpectedCache - The expected cache
|
|
238
|
+
* @throws {Error} If the current cache is not the expected one
|
|
239
|
+
*
|
|
240
|
+
* @private
|
|
241
|
+
*/
|
|
242
|
+
ODataBinding.prototype.checkSameCache = function (oExpectedCache) {
|
|
243
|
+
var oError;
|
|
244
|
+
|
|
245
|
+
if (this.oCache !== oExpectedCache) {
|
|
246
|
+
oError = new Error(this + " is ignoring response from inactive cache: "
|
|
247
|
+
+ oExpectedCache);
|
|
248
|
+
oError.canceled = true;
|
|
249
|
+
throw oError;
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
|
|
253
253
|
/**
|
|
254
254
|
* Throws an Error if the binding's root binding is suspended.
|
|
255
255
|
*
|