@openui5/sap.ui.core 1.121.1 → 1.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +22 -5
- package/THIRDPARTY.txt +1 -1
- 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.sjax.js +6 -5
- 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/config.js +1 -1
- package/src/sap/base/i18n/Formatting.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/Deferred.js +4 -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 +3 -3
- package/src/sap/ui/Global.js +4 -4
- package/src/sap/ui/base/Event.js +1 -1
- package/src/sap/ui/base/EventProvider.js +11 -5
- package/src/sap/ui/base/Exception.js +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +22 -3
- 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 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +33 -5
- 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 +19 -3
- package/src/sap/ui/core/Core.js +1 -1
- 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 +28 -3
- 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/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 +14 -6
- 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 +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/date/UI5Date.js +1 -1
- package/src/sap/ui/core/date/UniversalDateUtils.js +52 -52
- package/src/sap/ui/core/delegate/ItemNavigation.js +1 -1
- package/src/sap/ui/core/delegate/ScrollEnablement.js +4 -4
- 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 +4 -4
- package/src/sap/ui/core/format/FormatUtils.js +1 -1
- package/src/sap/ui/core/format/NumberFormat.js +32 -13
- 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 +1 -1
- package/src/sap/ui/core/library.js +3 -3
- package/src/sap/ui/core/message/ControlMessageProcessor.js +1 -1
- package/src/sap/ui/core/message/Message.js +1 -1
- package/src/sap/ui/core/message/MessageManager.js +1 -1
- package/src/sap/ui/core/message/MessageParser.js +1 -1
- package/src/sap/ui/core/message/MessageProcessor.js +1 -1
- package/src/sap/ui/core/messagebundle_ar.properties +1 -1
- package/src/sap/ui/core/messagebundle_mk.properties +1 -1
- package/src/sap/ui/core/mvc/Controller.js +42 -7
- 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/routing/Router.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/themes/base/base.less +239 -8
- package/src/sap/ui/core/themes/base/global.less +20 -0
- package/src/sap/ui/core/themes/sap_hcb/global.less +20 -0
- 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 +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +2 -2
- package/src/sap/ui/core/util/ShortcutHelper.js +6 -0
- package/src/sap/ui/core/util/XMLPreprocessor.js +54 -30
- package/src/sap/ui/core/util/_LocalizationHelper.js +2 -1
- package/src/sap/ui/core/util/reflection/BaseTreeModifier.js +0 -29
- package/src/sap/ui/core/util/reflection/JsControlTreeModifier.js +0 -26
- package/src/sap/ui/core/util/reflection/XmlTreeModifier.js +0 -56
- 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/ClientListBinding.js +13 -6
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +16 -7
- package/src/sap/ui/model/CompositeBinding.js +11 -4
- package/src/sap/ui/model/CompositeDataState.js +1 -1
- package/src/sap/ui/model/CompositeType.js +17 -3
- package/src/sap/ui/model/DataState.js +1 -1
- package/src/sap/ui/model/ListBinding.js +14 -11
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +11 -9
- package/src/sap/ui/model/PropertyBinding.js +21 -4
- 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/TreeBinding.js +14 -7
- package/src/sap/ui/model/Type.js +1 -1
- package/src/sap/ui/model/analytics/AnalyticalBinding.js +12 -8
- package/src/sap/ui/model/analytics/BatchResponseCollector.js +1 -1
- package/src/sap/ui/model/analytics/odata4analytics.js +66 -52
- package/src/sap/ui/model/controlhelper/TreeBindingProxy.js +1 -4
- package/src/sap/ui/model/json/JSONListBinding.js +5 -2
- package/src/sap/ui/model/json/JSONModel.js +7 -5
- package/src/sap/ui/model/json/JSONTreeBinding.js +5 -2
- package/src/sap/ui/model/message/MessageListBinding.js +5 -2
- 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 +8 -9
- 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/ODataUtils.js +1 -1
- package/src/sap/ui/model/odata/type/Boolean.js +2 -4
- 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 +2 -2
- package/src/sap/ui/model/odata/v2/ODataListBinding.js +14 -8
- package/src/sap/ui/model/odata/v2/ODataModel.js +25 -28
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +15 -12
- package/src/sap/ui/model/odata/v4/Context.js +111 -30
- package/src/sap/ui/model/odata/v4/ODataBinding.js +9 -5
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +14 -9
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +4 -3
- package/src/sap/ui/model/odata/v4/ODataModel.js +27 -2
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +19 -7
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +240 -41
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +88 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +13 -4
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +15 -0
- package/src/sap/ui/model/odata/v4/lib/_TreeState.js +77 -15
- 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 +38 -1
- package/src/sap/ui/model/xml/XMLListBinding.js +5 -2
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/model/xml/XMLTreeBinding.js +5 -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/RecordReplay.js +1 -0
- package/src/sap/ui/test/autowaiter/_autoWaiterAsync.js +8 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/test/gherkin/opa5TestHarness.js +0 -6
- package/src/sap/ui/test/gherkin/qUnitTestHarness.js +0 -6
- package/src/sap/ui/test/qunitPause.js +5 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/src/sap/ui/util/_enforceNoReturnValue.js +26 -0
- package/src/ui5loader.js +25 -2
- package/test/sap/ui/core/HyphenationPlayground.html +6 -292
- package/test/sap/ui/core/HyphenationPlayground.js +313 -0
- package/test/sap/ui/core/demokit/docuindex.json +1 -1
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/OpaAutoWaitParams.html +1 -1
- package/test/sap/ui/core/demokit/sample/OpaAutoWaitParams/applicationUnderTest/index.html +1 -2
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/README.js +31 -23
- package/test/sap/ui/core/demokit/sample/OpaStartup/iStartMyAppInAFrame/iStartMyAppInAFrame.js +103 -94
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/GherkinTestRunner.html +3 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithOPA5/GherkinTestRunner.js +1 -5
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/GherkinTestRunner.html +3 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithPageObjects/GherkinTestRunner.js +1 -5
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithQUnit/GherkinTestRunner.html +3 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithQUnit/GherkinTestRunner.js +1 -5
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithQUnit/Steps.js +5 -5
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithUIComponent/GherkinTestRunner.html +3 -0
- package/test/sap/ui/core/demokit/sample/gherkin/GherkinWithUIComponent/GherkinTestRunner.js +1 -5
- 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/MultipleInlineCreationRowsGrid/Main.controller.js +16 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.view.xml +9 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/SandboxModel.js +11 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/data/UnitsOfMeasure.json +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/01/manifest.json +2 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/01/package.json +4 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.html +8 -7
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/manifest.json +28 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/view/App.view.xml +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/manifest.json +3 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/package.json +4 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.html +8 -7
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/manifest.json +34 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/model/data.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/view/App.view.xml +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/manifest.json +3 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/package.json +4 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.html +8 -7
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/manifest.json +34 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/model/data.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/view/App.view.xml +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/manifest.json +3 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/04/package.json +4 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/manifest.json +35 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/model/data.json +6 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/manifest.json +3 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/05/package.json +4 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/Component.js +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/manifest.json +35 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/model/data.json +6 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/06/package.json +4 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/manifest.json +46 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/model/data.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/07/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/manifest.json +46 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/model/data.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/08/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/manifest.json +46 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/model/data.json +11 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/view/App.view.xml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/09/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/controller/App.controller.js +8 -7
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/manifest.json +46 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/model/data.json +11 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/view/App.view.xml +2 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/10/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/10/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/controller/App.controller.js +8 -7
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/manifest.json +46 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/model/data.json +13 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/view/App.view.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/11/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/11/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/controller/App.controller.js +8 -7
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/manifest.json +47 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/model/data.json +13 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/view/App.view.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/12/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/12/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/controller/App.controller.js +10 -11
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/manifest.json +51 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/model/Products.json +64 -57
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/model/data.json +13 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/view/App.view.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/13/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/13/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/controller/App.controller.js +16 -16
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/manifest.json +51 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/model/Products.json +64 -57
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/model/data.json +13 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/view/App.view.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/14/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/14/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/controller/App.controller.js +16 -16
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/manifest.json +51 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/model/Products.json +64 -57
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/model/data.json +14 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/view/App.view.xml +3 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/15/manifest.json +4 -3
- package/test/sap/ui/core/demokit/tutorial/databinding/15/package.json +3 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/Component.js +12 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/controller/App.controller.js +19 -22
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.html +8 -10
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/manifest.json +51 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/model/Products.json +64 -57
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/model/data.json +14 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/view/App.view.xml +5 -5
- 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/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/qunit/CompositeBinding.qunit.js +67 -0
- package/test/sap/ui/core/qunit/EventProvider.qunit.js +30 -2
- package/test/sap/ui/core/qunit/{Core_libraryPreloadFiles.qunit.html → Lib_preloadFiles.qunit.html} +1 -1
- package/test/sap/ui/core/qunit/{Core_libraryPreloadFiles.qunit.js → Lib_preloadFiles.qunit.js} +5 -10
- package/test/sap/ui/core/qunit/ThemeHelper.qunit.js +1 -1
- package/test/sap/ui/core/qunit/ThemeParameters.qunit.js +4 -4
- package/test/sap/ui/core/qunit/ThemeParameters_legacyAPIs.qunit.js +12 -12
- package/test/sap/ui/core/qunit/analytics/odata4analytics.qunit.js +262 -12
- package/test/sap/ui/core/qunit/app/DesignMode_suppressedDeactivation.qunit.js +8 -4
- package/test/sap/ui/core/qunit/app/_createDesignModeTests_legacyAPIs.qunit.js +8 -4
- package/test/sap/ui/core/qunit/app/fixture/designmode/test01.controller.js +4 -4
- package/test/sap/ui/core/qunit/app/testsuite.app.qunit.js +3 -3
- package/test/sap/ui/core/qunit/base/Config_cascade.qunit.js +11 -0
- package/test/sap/ui/core/qunit/component/Component_keepAlive.qunit.js +30 -2
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +82 -19
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/App.view.xml +3 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Component.js +20 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Home.view.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/Other.view.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/keepAlive/child3/manifest.json +54 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessAmbiguous.html +4 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessDuplicate.html +4 -0
- package/test/sap/ui/core/qunit/gherkin/fixture/testHarnessFailing.html +4 -0
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.html +4 -0
- package/test/sap/ui/core/qunit/gherkin/opa5TestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.html +4 -0
- package/test/sap/ui/core/qunit/gherkin/qUnitTestHarness.qunit.js +1 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.html +1 -1
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +5 -6
- package/test/sap/ui/core/qunit/internal/testsuite.models.qunit.js +43 -16
- package/test/sap/ui/core/qunit/messages/messagesGeneral.qunit.js +194 -180
- package/test/sap/ui/core/qunit/messages/messagesUsage.qunit.js +15 -33
- package/test/sap/ui/core/qunit/mockserver/MockServer.qunit.js +936 -1014
- package/test/sap/ui/core/qunit/mockserver/testsuite.mockserver.qunit.js +2 -4
- package/test/sap/ui/core/qunit/model/FAR_CUSTOMER_LINE_ITEMS.metadata.xml +2 -0
- package/test/sap/ui/core/qunit/model/PropertyBinding.qunit.js +50 -1
- package/test/sap/ui/core/qunit/model/controlhelper/TreeBindingProxy.qunit.js +18 -8
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +107 -49
- package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +7 -0
- package/test/sap/ui/core/qunit/odata/ODataMetaModel.qunit.js +0 -3
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +143 -2
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +34 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +230 -39
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +57 -18
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +40 -6
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +3 -0
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +1715 -106
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +39 -0
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +88 -18
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +544 -50
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +175 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +50 -9
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +17 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_TreeState.qunit.js +140 -27
- package/test/sap/ui/core/qunit/opa/RecordReplay.qunit.js +12 -3
- package/test/sap/ui/core/qunit/resource/ResourceModel.qunit.js +1 -2
- package/test/sap/ui/core/qunit/routing/fixture/placeholder/component/NavContainerOptOut/Component.js +1 -0
- package/test/sap/ui/core/qunit/rule/model/bindingPathSyntaxValidation.qunit.js +37 -0
- package/test/sap/ui/core/qunit/rule/model/{modelSupport.qunit.js → selectUsedInBoundAggregation.qunit.js} +86 -154
- package/test/sap/ui/core/qunit/rule/testsuite.rule.qunit.js +5 -2
- package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib12/themes/{sap_hcb → sap_horizon_hcb}/library.css +1 -1
- package/test/sap/ui/core/qunit/testsuite.core.framework.qunit.js +18 -18
- package/test/sap/ui/core/qunit/testsuites/testsuite.base.configuration.qunit.js +1 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.theming.qunit.js +3 -3
- package/test/sap/ui/core/qunit/types/CompositeType.qunit.js +6 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +3 -6
- package/test/sap/ui/core/qunit/types/NumberFormat.qunit.js +1370 -1242
- package/test/sap/ui/core/qunit/types/Types.qunit.js +65 -0
- package/test/sap/ui/core/qunit/types/testsuite.types.qunit.js +0 -3
- package/test/sap/ui/core/qunit/ui5classes/ManagedObject.qunit.js +68 -3
- package/test/sap/ui/core/qunit/util/XMLPreprocessor.qunit.js +2625 -1899
- package/test/sap/ui/core/qunit/util/reflection/JsControlTreeModifier.qunit.js +0 -102
- package/test/sap/ui/core/qunit/util/reflection/XmlTreeModifier.qunit.js +0 -165
- package/test/sap/ui/core/relnotes/changes-1.121.json +0 -15
- package/test/sap/ui/core/relnotes/changes-1.122.json +80 -0
- package/test/sap/ui/core/visual/HyphenationPlayground.spec.js +5 -2
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/index.js +0 -15
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/index.js +0 -21
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/index.js +0 -21
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/index.js +0 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/index.js +0 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/index.js +0 -42
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/index.js +0 -44
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/index.js +0 -39
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/index.js +0 -39
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/index.js +0 -41
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/index.js +0 -48
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/index.js +0 -52
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/index.js +0 -52
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/index.js +0 -54
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/index.js +0 -54
- /package/test/sap/ui/core/qunit/testdata/legacy-uilib_legacyAPIs/themes/{sap_hcb → sap_horizon_hcb}/library-parameters.json +0 -0
- /package/test/sap/ui/core/qunit/testdata/legacy-uilib_legacyAPIs/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/legacy-uilib_legacyAPIs/themes/{sap_hcb → sap_horizon_hcb}/library[legacy].css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib1/themes/{sap_hcb → sap_horizon_hcb}/library-parameters.json +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib1/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib10/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib11/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib13/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib14/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib15/themes/{sap_hcb → sap_horizon_hcb}/library-parameters.json +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib15/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib16/themes/{sap_hcb → sap_horizon_hcb}/library-parameters.json +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib16/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib17/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib2/themes/{sap_hcb → sap_horizon_hcb}/library-parameters.json +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib2/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib3/themes/{sap_hcb → sap_horizon_hcb}/library-parameters.json +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib3/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib4/themes/{sap_hcb → sap_horizon_hcb}/library-parameters.json +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib5/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib6/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib7/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib8/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
- /package/test/sap/ui/core/qunit/testdata/libraries/themeParameters/lib9/themes/{sap_hcb → sap_horizon_hcb}/library.css +0 -0
|
@@ -38,8 +38,9 @@ sap.ui.define([
|
|
|
38
38
|
* The binding path, either absolute or relative to a given <code>oContext</code>
|
|
39
39
|
* @param {sap.ui.model.Context} [oContext]
|
|
40
40
|
* The parent context which is required as base for a relative path
|
|
41
|
-
* @param {sap.ui.model.Filter
|
|
42
|
-
* The
|
|
41
|
+
* @param {sap.ui.model.Filter[]|sap.ui.model.Filter} [vFilters=[]]
|
|
42
|
+
* The filters to be used initially with type {@link sap.ui.model.FilterType.Application}; call {@link #filter} to
|
|
43
|
+
* replace them
|
|
43
44
|
* @param {object} [mParameters]
|
|
44
45
|
* Map of binding parameters
|
|
45
46
|
* @param {boolean} [mParameters.transitionMessagesOnly=false]
|
|
@@ -89,8 +90,8 @@ sap.ui.define([
|
|
|
89
90
|
* @param {object} [mParameters.navigation]
|
|
90
91
|
* <b>Deprecated since 1.44:</b> A map describing the navigation properties between entity
|
|
91
92
|
* sets, which is used for constructing and paging the tree
|
|
92
|
-
* @param {sap.ui.model.Sorter
|
|
93
|
-
* The
|
|
93
|
+
* @param {sap.ui.model.Sorter[]|sap.ui.model.Sorter} [vSorters=[]]
|
|
94
|
+
* The sorters used initially; call {@link #sort} to replace them
|
|
94
95
|
* @throws {Error} If one of the filters uses an operator that is not supported by the underlying model
|
|
95
96
|
* implementation or if the {@link sap.ui.model.Filter.NONE} filter instance is contained in
|
|
96
97
|
* <code>vFilters</code> together with other filters
|
|
@@ -102,7 +103,7 @@ sap.ui.define([
|
|
|
102
103
|
* @extends sap.ui.model.TreeBinding
|
|
103
104
|
* @hideconstructor
|
|
104
105
|
* @public
|
|
105
|
-
* @version 1.
|
|
106
|
+
* @version 1.122.0
|
|
106
107
|
*/
|
|
107
108
|
var ODataTreeBinding = TreeBinding.extend("sap.ui.model.odata.v2.ODataTreeBinding", /** @lends sap.ui.model.odata.v2.ODataTreeBinding.prototype */ {
|
|
108
109
|
|
|
@@ -1629,11 +1630,12 @@ sap.ui.define([
|
|
|
1629
1630
|
* For more information, see {@link sap.ui.model.odata.v2.ODataModel#bindTree}.
|
|
1630
1631
|
* <b>Note:</b> {@link sap.ui.model.odata.OperationMode.Auto} is deprecated since 1.102.0.
|
|
1631
1632
|
*
|
|
1632
|
-
* @param {sap.ui.model.Filter[]|sap.ui.model.Filter} aFilters
|
|
1633
|
-
*
|
|
1634
|
-
* @
|
|
1635
|
-
*
|
|
1636
|
-
*
|
|
1633
|
+
* @param {sap.ui.model.Filter[]|sap.ui.model.Filter} [aFilters=[]]
|
|
1634
|
+
* The filters to use; in case of type {@link sap.ui.model.FilterType.Application} this replaces the filters given
|
|
1635
|
+
* in {@link sap.ui.model.odata.v2.ODataModel#bindTree}; a falsy value is treated as an empty array and thus
|
|
1636
|
+
* removes all filters of the specified type
|
|
1637
|
+
* @param {sap.ui.model.FilterType} [sFilterType=sap.ui.model.FilterType.Control]
|
|
1638
|
+
* The type of the filter to replace
|
|
1637
1639
|
* @param {boolean} [bReturnSuccess]
|
|
1638
1640
|
* Whether to return <code>true</code> or <code>false</code>, instead of <code>this</code>,
|
|
1639
1641
|
* depending on whether the filtering has been done
|
|
@@ -1808,8 +1810,9 @@ sap.ui.define([
|
|
|
1808
1810
|
* applied locally on the client.
|
|
1809
1811
|
* <b>Note:</b> {@link sap.ui.model.odata.OperationMode.Auto} is deprecated since 1.102.0.
|
|
1810
1812
|
*
|
|
1811
|
-
* @param {sap.ui.model.Sorter[]|sap.ui.model.Sorter} aSorters
|
|
1812
|
-
* The
|
|
1813
|
+
* @param {sap.ui.model.Sorter[]|sap.ui.model.Sorter} [aSorters=[]]
|
|
1814
|
+
* The sorters to use; they replace the sorters given in {@link sap.ui.model.odata.v2.ODataModel#bindTree}; a
|
|
1815
|
+
* falsy value is treated as an empty array and thus removes all sorters
|
|
1813
1816
|
* @param {boolean} [bReturnSuccess]
|
|
1814
1817
|
* Whether to return <code>true</code> or <code>false</code>, instead of <code>this</code>,
|
|
1815
1818
|
* depending on whether the sorting has been done
|
|
@@ -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.122.0
|
|
46
46
|
*/
|
|
47
47
|
Context = BaseContext.extend("sap.ui.model.odata.v4.Context", {
|
|
48
48
|
constructor : constructor
|
|
@@ -348,6 +348,24 @@ sap.ui.define([
|
|
|
348
348
|
);
|
|
349
349
|
};
|
|
350
350
|
|
|
351
|
+
/**
|
|
352
|
+
* Deregisters the given change listener if it is registered for its path. Note: This
|
|
353
|
+
* method is for special cases with a header context and the path "@$ui5.context.isSelected"
|
|
354
|
+
* and should not be confused with <code>Cache#deregisterChangeListener</code>.
|
|
355
|
+
*
|
|
356
|
+
* @param {sap.ui.model.odata.v4.ODataPropertyBinding} oListener - The listener to be removed
|
|
357
|
+
* @returns {boolean} - If this function has handled the deregistering
|
|
358
|
+
*
|
|
359
|
+
* @private
|
|
360
|
+
*/
|
|
361
|
+
Context.prototype.deregisterChangeListener = function (oListener) {
|
|
362
|
+
if (this.mChangeListeners && oListener.getPath() === "@$ui5.context.isSelected") {
|
|
363
|
+
_Helper.removeByPath(this.mChangeListeners, "", oListener);
|
|
364
|
+
return true;
|
|
365
|
+
}
|
|
366
|
+
return false;
|
|
367
|
+
};
|
|
368
|
+
|
|
351
369
|
/**
|
|
352
370
|
* Destroys this context, that is, it removes this context from all dependent bindings and drops
|
|
353
371
|
* references to binding and model, so that the context cannot be used anymore; it keeps path
|
|
@@ -373,6 +391,7 @@ sap.ui.define([
|
|
|
373
391
|
oDependentBinding.setContext(undefined);
|
|
374
392
|
});
|
|
375
393
|
this.oBinding = undefined;
|
|
394
|
+
delete this.mChangeListeners;
|
|
376
395
|
this.oCreatedPromise = undefined;
|
|
377
396
|
// keep oDeletePromise so that isDeleted does not unexpectedly become false
|
|
378
397
|
this.oSyncCreatePromise = undefined;
|
|
@@ -477,6 +496,19 @@ sap.ui.define([
|
|
|
477
496
|
}
|
|
478
497
|
throw new Error("Must not modify a deleted entity: " + this);
|
|
479
498
|
}
|
|
499
|
+
|
|
500
|
+
if (sPath === "@$ui5.context.isSelected") {
|
|
501
|
+
this.setSelected(vValue);
|
|
502
|
+
|
|
503
|
+
if (oGroupLock) {
|
|
504
|
+
oGroupLock.unlock();
|
|
505
|
+
oGroupLock = null;
|
|
506
|
+
}
|
|
507
|
+
if (this.oBinding.getHeaderContext?.() === this) {
|
|
508
|
+
return SyncPromise.resolve();
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
480
512
|
if (oGroupLock && this.isTransient() && !this.isInactive()) {
|
|
481
513
|
oValue = this.getValue();
|
|
482
514
|
oPromise = oValue && _Helper.getPrivateAnnotation(oValue, "transient");
|
|
@@ -577,6 +609,22 @@ sap.ui.define([
|
|
|
577
609
|
}, sPath, /*bSync*/false, /*bWithOrWithoutCache*/true);
|
|
578
610
|
};
|
|
579
611
|
|
|
612
|
+
/**
|
|
613
|
+
* Sets the selected state for this context.
|
|
614
|
+
*
|
|
615
|
+
* @param {boolean} bSelected
|
|
616
|
+
* Whether this context is to be selected
|
|
617
|
+
*
|
|
618
|
+
* @private
|
|
619
|
+
* @see #setSelected
|
|
620
|
+
*/
|
|
621
|
+
Context.prototype.doSetSelected = function (bSelected) {
|
|
622
|
+
this.bSelected = bSelected;
|
|
623
|
+
if (this.oBinding) {
|
|
624
|
+
this.oBinding.onKeepAliveChanged(this); // selected contexts are effectively kept alive
|
|
625
|
+
}
|
|
626
|
+
};
|
|
627
|
+
|
|
580
628
|
/**
|
|
581
629
|
* Expands the group node that this context points to.
|
|
582
630
|
*
|
|
@@ -663,25 +711,43 @@ sap.ui.define([
|
|
|
663
711
|
* @returns {sap.ui.base.SyncPromise}
|
|
664
712
|
* A promise on the outcome of the binding's <code>fetchValue</code> call; it is rejected
|
|
665
713
|
* in case cached values are asked for, but not found
|
|
714
|
+
* @throws {Error} If this context is a header context and no or empty path is given and
|
|
715
|
+
* a listener is given.
|
|
666
716
|
*
|
|
667
717
|
* @private
|
|
718
|
+
* @see #getObject
|
|
719
|
+
* @see #getProperty
|
|
668
720
|
*/
|
|
669
721
|
Context.prototype.fetchValue = function (sPath, oListener, bCached) {
|
|
670
|
-
var oBinding = this.oBinding
|
|
722
|
+
var oBinding = this.oBinding,
|
|
723
|
+
that = this;
|
|
671
724
|
|
|
672
725
|
if (this.iIndex === iVIRTUAL) {
|
|
673
726
|
return SyncPromise.resolve(); // no cache access for virtual contexts
|
|
674
727
|
}
|
|
675
|
-
if (oBinding.getHeaderContext
|
|
728
|
+
if (oBinding.getHeaderContext?.() === this) {
|
|
676
729
|
if (sPath && sPath.startsWith(this.sPath)) {
|
|
677
730
|
sPath = sPath.slice(this.sPath.length + 1);
|
|
678
731
|
}
|
|
679
732
|
if (!sPath) {
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
733
|
+
if (oListener) {
|
|
734
|
+
throw new Error("Cannot register change listener for header context object");
|
|
735
|
+
}
|
|
736
|
+
return oBinding.fetchValue(this.sPath + "/$count", null, bCached).then((iCount) => {
|
|
737
|
+
return {
|
|
738
|
+
"@$ui5.context.isSelected" : that.bSelected,
|
|
739
|
+
$count : iCount
|
|
740
|
+
};
|
|
741
|
+
});
|
|
742
|
+
} else if (sPath === "@$ui5.context.isSelected") {
|
|
743
|
+
// @$ui5.context.isSelected is a virtual property for header contexts and not part
|
|
744
|
+
// of the cache (in contrast to row contexts, where it is saved in the cache).
|
|
745
|
+
// Therefore, change listeners are saved and fired via the header context
|
|
746
|
+
this.mChangeListeners ??= {};
|
|
747
|
+
_Helper.addByPath(this.mChangeListeners, "", oListener);
|
|
748
|
+
|
|
749
|
+
return SyncPromise.resolve(this.bSelected);
|
|
750
|
+
} else if (sPath !== "$count" && sPath !== "@$ui5.context.isSelected") {
|
|
685
751
|
throw new Error("Invalid header path: " + sPath);
|
|
686
752
|
}
|
|
687
753
|
}
|
|
@@ -851,8 +917,8 @@ sap.ui.define([
|
|
|
851
917
|
* Returns <code>undefined</code> if the data is not (yet) available; no request is triggered.
|
|
852
918
|
* Use {@link #requestObject} for asynchronous access.
|
|
853
919
|
*
|
|
854
|
-
* The header context of a list binding only delivers <code>$count</code>
|
|
855
|
-
* if <code>sPath</code> is "").
|
|
920
|
+
* The header context of a list binding only delivers <code>$count</code> and
|
|
921
|
+
* <code>@$ui5.context.isSelected</code> (wrapped in an object if <code>sPath</code> is "").
|
|
856
922
|
*
|
|
857
923
|
* @param {string} [sPath=""]
|
|
858
924
|
* A path relative to this context
|
|
@@ -860,7 +926,7 @@ sap.ui.define([
|
|
|
860
926
|
* The requested value
|
|
861
927
|
* @throws {Error}
|
|
862
928
|
* If the context's root binding is suspended or if the context is a header context and the
|
|
863
|
-
* path is neither empty
|
|
929
|
+
* path is neither empty, "$count", nor "@ui5.context.isSelected".
|
|
864
930
|
*
|
|
865
931
|
* @public
|
|
866
932
|
* @see sap.ui.model.Context#getObject
|
|
@@ -886,8 +952,8 @@ sap.ui.define([
|
|
|
886
952
|
* <li> this context is not part of a recursive hierarchy.
|
|
887
953
|
* </ul>
|
|
888
954
|
*
|
|
889
|
-
* @experimental As of version 1.120.0
|
|
890
955
|
* @public
|
|
956
|
+
* @since 1.122.0
|
|
891
957
|
*/
|
|
892
958
|
Context.prototype.getParent = function () {
|
|
893
959
|
if (!this.oBinding.fetchOrGetParent) {
|
|
@@ -914,7 +980,8 @@ sap.ui.define([
|
|
|
914
980
|
* <ul>
|
|
915
981
|
* <li> the context's root binding is suspended,
|
|
916
982
|
* <li> the value is not primitive,
|
|
917
|
-
* <li> or the context is a header context and the path is not "$count"
|
|
983
|
+
* <li> or the context is a header context and the path is not "$count" or
|
|
984
|
+
* "@ui5.context.isSelected".
|
|
918
985
|
* </ul>
|
|
919
986
|
*
|
|
920
987
|
* @public
|
|
@@ -1157,7 +1224,9 @@ sap.ui.define([
|
|
|
1157
1224
|
|
|
1158
1225
|
/**
|
|
1159
1226
|
* Tells whether this context is currently selected, but not {@link #delete deleted} on the
|
|
1160
|
-
* client.
|
|
1227
|
+
* client. Since 1.122.0 the selection state can also be accessed via instance annotation
|
|
1228
|
+
* "@$ui5.context.isSelected" at the entity. Note that the annotation does not take the deletion
|
|
1229
|
+
* state into account.
|
|
1161
1230
|
*
|
|
1162
1231
|
* @returns {boolean} Whether this context is currently selected
|
|
1163
1232
|
*
|
|
@@ -1376,8 +1445,8 @@ sap.ui.define([
|
|
|
1376
1445
|
* Note that the function clones the result. Modify values via
|
|
1377
1446
|
* {@link sap.ui.model.odata.v4.Context#setProperty}.
|
|
1378
1447
|
*
|
|
1379
|
-
* The header context of a list binding only delivers <code>$count</code>
|
|
1380
|
-
* if <code>sPath</code> is "").
|
|
1448
|
+
* The header context of a list binding only delivers <code>$count</code> and
|
|
1449
|
+
* <code>@$ui5.context.isSelected</code> (wrapped in an object if <code>sPath</code> is "").
|
|
1381
1450
|
*
|
|
1382
1451
|
* In case of a {@link sap.ui.model.odata.v4.ODataContextBinding#getBoundContext context
|
|
1383
1452
|
* binding's bound context} that hasn't requested its data yet, this method causes an initial
|
|
@@ -1394,7 +1463,7 @@ sap.ui.define([
|
|
|
1394
1463
|
* A promise on the requested value
|
|
1395
1464
|
* @throws {Error}
|
|
1396
1465
|
* If the context's root binding is suspended, or if the context is a header context and the
|
|
1397
|
-
* path is neither empty
|
|
1466
|
+
* path is neither empty, "$count", nor "@$ui5.context.isSelected".
|
|
1398
1467
|
*
|
|
1399
1468
|
* @public
|
|
1400
1469
|
* @see #getBinding
|
|
@@ -1412,8 +1481,6 @@ sap.ui.define([
|
|
|
1412
1481
|
* Requests the parent node (in case of a recursive hierarchy; see
|
|
1413
1482
|
* {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}).
|
|
1414
1483
|
*
|
|
1415
|
-
* Note: <strong>DO NOT</strong> call {@link #setKeepAlive} on the resulting context!
|
|
1416
|
-
*
|
|
1417
1484
|
* @returns {Promise<sap.ui.model.odata.v4.Context|null>} A promise which:
|
|
1418
1485
|
* <ul>
|
|
1419
1486
|
* <li> Resolves if successful with either the parent node or <code>null</code> for a root
|
|
@@ -1426,9 +1493,9 @@ sap.ui.define([
|
|
|
1426
1493
|
* <li> this context is not part of a recursive hierarchy.
|
|
1427
1494
|
* </ul>
|
|
1428
1495
|
*
|
|
1429
|
-
* @experimental As of version 1.120.0
|
|
1430
1496
|
* @public
|
|
1431
1497
|
* @see #getParent
|
|
1498
|
+
* @since 1.122.0
|
|
1432
1499
|
*/
|
|
1433
1500
|
Context.prototype.requestParent = function () {
|
|
1434
1501
|
if (!this.oBinding.fetchOrGetParent) {
|
|
@@ -1450,7 +1517,7 @@ sap.ui.define([
|
|
|
1450
1517
|
* given property paths that format corresponding to the properties' EDM types and constraints
|
|
1451
1518
|
* @returns {Promise<any>}
|
|
1452
1519
|
* A promise on the requested value or values; it is rejected if a value is not primitive or
|
|
1453
|
-
* if the context is a header context and a path is not "$count"
|
|
1520
|
+
* if the context is a header context and a path is not "$count" or "@$ui5.context.isSelected"
|
|
1454
1521
|
* @throws {Error}
|
|
1455
1522
|
* If the context's root binding is suspended
|
|
1456
1523
|
*
|
|
@@ -2019,7 +2086,10 @@ sap.ui.define([
|
|
|
2019
2086
|
/**
|
|
2020
2087
|
* Sets a new value for the property identified by the given path. The path is relative to this
|
|
2021
2088
|
* context and is expected to point to a structural property with primitive type or, since
|
|
2022
|
-
* 1.85.0, to an instance annotation.
|
|
2089
|
+
* 1.85.0, to an instance annotation. Since 1.122.0 the client-side annotation
|
|
2090
|
+
* "@$ui5.context.isSelected" can be given as a path. Note: Writing to a client-side
|
|
2091
|
+
* annotation never triggers a PATCH request, even if <code>sGroupId</code> is given.
|
|
2092
|
+
* Thus, reverting the value of this annotation cannot be done via {@link #resetChanges}.
|
|
2023
2093
|
*
|
|
2024
2094
|
* @param {string} sPath
|
|
2025
2095
|
* A path relative to this context
|
|
@@ -2027,7 +2097,8 @@ sap.ui.define([
|
|
|
2027
2097
|
* The new value which must be primitive
|
|
2028
2098
|
* @param {string} [sGroupId]
|
|
2029
2099
|
* The group ID to be used for the PATCH request; if not specified, the update group ID for
|
|
2030
|
-
* the context's binding is used, see {@link #getUpdateGroupId}.
|
|
2100
|
+
* the context's binding is used, see {@link #getUpdateGroupId}. When writing to a client-side
|
|
2101
|
+
* annotation, <code>null</code> is used automatically. Since 1.74.0, you can use
|
|
2031
2102
|
* <code>null</code> to prevent the PATCH request.
|
|
2032
2103
|
* @param {boolean} [bRetry]
|
|
2033
2104
|
* Since 1.85.0, if <code>true</code> the property is not reset if the PATCH request failed.
|
|
@@ -2094,10 +2165,12 @@ sap.ui.define([
|
|
|
2094
2165
|
};
|
|
2095
2166
|
|
|
2096
2167
|
/**
|
|
2097
|
-
*
|
|
2098
|
-
* {@link #
|
|
2099
|
-
*
|
|
2100
|
-
*
|
|
2168
|
+
* Sets whether this context is currently selected. While a context is currently
|
|
2169
|
+
* {@link #delete deleted} on the client, it does not appear as {@link #isSelected selected}. If
|
|
2170
|
+
* the preconditions of {@link #setKeepAlive} hold, a best effort is made to implicitly keep a
|
|
2171
|
+
* selected context alive in order to preserve the selection state. Once the selection is no
|
|
2172
|
+
* longer needed, for example because you perform an operation on this context which logically
|
|
2173
|
+
* removes it from its list, you need to reset the selection.
|
|
2101
2174
|
*
|
|
2102
2175
|
* <b>Note:</b> It is unsafe to keep a reference to a context instance which is not
|
|
2103
2176
|
* {@link #isKeepAlive kept alive}.
|
|
@@ -2118,10 +2191,18 @@ sap.ui.define([
|
|
|
2118
2191
|
if (bSelected && this.isDeleted()) {
|
|
2119
2192
|
throw new Error("Must not select a deleted entity: " + this);
|
|
2120
2193
|
}
|
|
2121
|
-
this.bSelected
|
|
2122
|
-
|
|
2123
|
-
|
|
2194
|
+
if (bSelected !== this.bSelected) {
|
|
2195
|
+
if (this.mChangeListeners) {
|
|
2196
|
+
_Helper.fireChange(this.mChangeListeners, "", bSelected);
|
|
2197
|
+
}
|
|
2198
|
+
this.withCache((oCache, sPath) => {
|
|
2199
|
+
if (this.oBinding) {
|
|
2200
|
+
oCache.setProperty("@$ui5.context.isSelected", bSelected, sPath);
|
|
2201
|
+
} // else: context already destroyed
|
|
2202
|
+
}, "");
|
|
2124
2203
|
}
|
|
2204
|
+
|
|
2205
|
+
this.doSetSelected(bSelected);
|
|
2125
2206
|
};
|
|
2126
2207
|
|
|
2127
2208
|
/**
|
|
@@ -560,9 +560,11 @@ sap.ui.define([
|
|
|
560
560
|
throw oError;
|
|
561
561
|
});
|
|
562
562
|
}
|
|
563
|
-
that.
|
|
564
|
-
|
|
565
|
-
|
|
563
|
+
return that.oModel.waitForKeepAliveBinding(that).then(function () {
|
|
564
|
+
that.oFetchCacheCallToken = undefined; // cleanup
|
|
565
|
+
return that.createAndSetCache(mQueryOptions, sResourcePath, oContext,
|
|
566
|
+
sGroupId, oCallToken.oOldCache);
|
|
567
|
+
});
|
|
566
568
|
});
|
|
567
569
|
}
|
|
568
570
|
|
|
@@ -1207,7 +1209,9 @@ sap.ui.define([
|
|
|
1207
1209
|
* group ID and notifies the control that new data is available.
|
|
1208
1210
|
*
|
|
1209
1211
|
* Refresh is supported for bindings which are not relative to an
|
|
1210
|
-
* {@link sap.ui.model.odata.v4.Context}.
|
|
1212
|
+
* {@link sap.ui.model.odata.v4.Context}, as well as (since 1.122.0) for bindings with the
|
|
1213
|
+
* <code>$$ownRequest</code> parameter (see {@link sap.ui.model.odata.v4.ODataModel#bindList}
|
|
1214
|
+
* and {@link sap.ui.model.odata.v4.ODataModel#bindContext})
|
|
1211
1215
|
*
|
|
1212
1216
|
* Note: When calling {@link #refresh} multiple times, the result of the request triggered by
|
|
1213
1217
|
* the last call determines the binding's data; it is <b>independent</b> of the order of calls
|
|
@@ -1392,7 +1396,7 @@ sap.ui.define([
|
|
|
1392
1396
|
* @since 1.87.0
|
|
1393
1397
|
*/
|
|
1394
1398
|
ODataBinding.prototype.requestRefresh = function (sGroupId) {
|
|
1395
|
-
if (!this.isRoot()) {
|
|
1399
|
+
if (!this.mParameters?.$$ownRequest && !this.isRoot()) {
|
|
1396
1400
|
throw new Error("Refresh on this binding is not supported");
|
|
1397
1401
|
}
|
|
1398
1402
|
if (this.hasPendingChanges(true)) {
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
75
75
|
* @public
|
|
76
76
|
* @since 1.37.0
|
|
77
|
-
* @version 1.
|
|
77
|
+
* @version 1.122.0
|
|
78
78
|
*
|
|
79
79
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
80
80
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
* @mixes sap.ui.model.odata.v4.ODataParentBinding
|
|
58
58
|
* @public
|
|
59
59
|
* @since 1.37.0
|
|
60
|
-
* @version 1.
|
|
60
|
+
* @version 1.122.0
|
|
61
61
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
62
62
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
63
63
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -934,7 +934,7 @@ sap.ui.define([
|
|
|
934
934
|
return;
|
|
935
935
|
}
|
|
936
936
|
|
|
937
|
-
oContext.
|
|
937
|
+
oContext.doSetSelected(false);
|
|
938
938
|
that.removeCreated(oContext);
|
|
939
939
|
return Promise.resolve().then(function () {
|
|
940
940
|
// Fire the change asynchronously so that Cache#delete is finished and #getContexts
|
|
@@ -1073,9 +1073,10 @@ sap.ui.define([
|
|
|
1073
1073
|
sPredicate = _Helper.getPrivateAnnotation(aResults[i], "predicate");
|
|
1074
1074
|
sContextPath = sPath + (sPredicate || "/" + i$skipIndex);
|
|
1075
1075
|
oContext = this.mPreviousContextsByPath[sContextPath];
|
|
1076
|
-
if (oContext && (!oContext.created() || oContext.isEffectivelyKeptAlive()
|
|
1076
|
+
if (oContext && (!oContext.created() || oContext.isEffectivelyKeptAlive()
|
|
1077
|
+
|| this.mParameters.$$aggregation?.hierarchyQualifier)) {
|
|
1077
1078
|
// reuse the previous context, unless it is created (and persisted), but not
|
|
1078
|
-
// kept alive
|
|
1079
|
+
// kept alive; always reuse created contexts in a recursive hierarchy
|
|
1079
1080
|
delete this.mPreviousContextsByPath[sContextPath];
|
|
1080
1081
|
oContext.iIndex = i$skipIndex;
|
|
1081
1082
|
oContext.checkUpdate();
|
|
@@ -1885,7 +1886,7 @@ sap.ui.define([
|
|
|
1885
1886
|
* @param {boolean} [bAllowRequest]
|
|
1886
1887
|
* Whether it is allowed to send a GET request to fetch the parent node's data
|
|
1887
1888
|
* @returns {sap.ui.model.odata.v4.Context|null|undefined|
|
|
1888
|
-
* Promise<sap.ui.model.odata.v4.Context
|
|
1889
|
+
* Promise<sap.ui.model.odata.v4.Context>|sap.ui.base.SyncPromise}
|
|
1889
1890
|
* <ul>
|
|
1890
1891
|
* <li> The parent node if already known,
|
|
1891
1892
|
* <li> <code>null</code> if the given node is a root node and thus has no parent,
|
|
@@ -2721,7 +2722,8 @@ sap.ui.define([
|
|
|
2721
2722
|
};
|
|
2722
2723
|
|
|
2723
2724
|
/**
|
|
2724
|
-
* Returns the header context which allows binding to <code>$count</code
|
|
2725
|
+
* Returns the header context which allows binding to <code>$count</code> or
|
|
2726
|
+
* <code>@$ui5.context.isSelected</code>.
|
|
2725
2727
|
*
|
|
2726
2728
|
* @returns {sap.ui.model.odata.v4.Context|null}
|
|
2727
2729
|
* The header context or <code>null</code> if the binding is relative and has no context
|
|
@@ -3479,7 +3481,8 @@ sap.ui.define([
|
|
|
3479
3481
|
} else {
|
|
3480
3482
|
that.fetchCache(that.oContext, false, /*bKeepQueryOptions*/true,
|
|
3481
3483
|
bKeepCacheOnError ? sGroupId : undefined);
|
|
3482
|
-
oKeptElementsPromise = that.refreshKeptElements(sGroupId
|
|
3484
|
+
oKeptElementsPromise = that.refreshKeptElements(sGroupId,
|
|
3485
|
+
/*bIgnorePendingChanges*/ bKeepCacheOnError);
|
|
3483
3486
|
if (that.iCurrentEnd > 0) {
|
|
3484
3487
|
oPromise = that.createRefreshPromise(
|
|
3485
3488
|
/*bPreventBubbling*/bKeepCacheOnError
|
|
@@ -3538,13 +3541,15 @@ sap.ui.define([
|
|
|
3538
3541
|
*
|
|
3539
3542
|
* @param {string} sGroupId
|
|
3540
3543
|
* The effective group ID
|
|
3544
|
+
* @param {boolean} bIgnorePendingChanges
|
|
3545
|
+
* Whether kept elements are refreshed although there are pending changes.
|
|
3541
3546
|
* @returns {sap.ui.base.SyncPromise}
|
|
3542
3547
|
* A promise which is resolved without a defined result, or rejected with an error if the
|
|
3543
3548
|
* refresh fails.
|
|
3544
3549
|
*
|
|
3545
3550
|
* @private
|
|
3546
3551
|
*/
|
|
3547
|
-
ODataListBinding.prototype.refreshKeptElements = function (sGroupId) {
|
|
3552
|
+
ODataListBinding.prototype.refreshKeptElements = function (sGroupId, bIgnorePendingChanges) {
|
|
3548
3553
|
var that = this;
|
|
3549
3554
|
|
|
3550
3555
|
return this.oCachePromise.then(function (oCache) {
|
|
@@ -3558,7 +3563,7 @@ sap.ui.define([
|
|
|
3558
3563
|
if (iIndex >= 0) { // Note: implies oContext.created()
|
|
3559
3564
|
that.removeCreated(oContext);
|
|
3560
3565
|
}
|
|
3561
|
-
});
|
|
3566
|
+
}, false, bIgnorePendingChanges);
|
|
3562
3567
|
}).catch(function (oError) {
|
|
3563
3568
|
that.oModel.reportError("Failed to refresh kept-alive elements", sClassName, oError);
|
|
3564
3569
|
throw oError;
|
|
@@ -156,7 +156,7 @@ sap.ui.define([
|
|
|
156
156
|
* @hideconstructor
|
|
157
157
|
* @public
|
|
158
158
|
* @since 1.37.0
|
|
159
|
-
* @version 1.
|
|
159
|
+
* @version 1.122.0
|
|
160
160
|
*/
|
|
161
161
|
ODataMetaModel = MetaModel.extend("sap.ui.model.odata.v4.ODataMetaModel", {
|
|
162
162
|
constructor : constructor
|
|
@@ -1773,7 +1773,8 @@ sap.ui.define([
|
|
|
1773
1773
|
oProperty = bInsideAnnotation ? {} : oType[sPropertyName];
|
|
1774
1774
|
if (!oProperty) {
|
|
1775
1775
|
if (sPropertyName.includes("@")) {
|
|
1776
|
-
if (sPropertyName.includes("@$ui5.")
|
|
1776
|
+
if (sPropertyName.includes("@$ui5.")
|
|
1777
|
+
&& sPropertyName !== "@$ui5.context.isSelected") {
|
|
1777
1778
|
error("Read-only path must not be updated");
|
|
1778
1779
|
}
|
|
1779
1780
|
bInsideAnnotation = true;
|
|
@@ -2859,7 +2860,7 @@ sap.ui.define([
|
|
|
2859
2860
|
* with a dot, which is stripped before lookup; see the <code><template:alias></code>
|
|
2860
2861
|
* instruction for XML Templating. In case of an absolute name, it is searched in
|
|
2861
2862
|
* <code>mParameters.scope</code> first and then in the global namespace. (Using the global
|
|
2862
|
-
* namespace is
|
|
2863
|
+
* namespace is deprecated as of version 1.120.3). The names "requestCurrencyCodes" and
|
|
2863
2864
|
* "requestUnitsOfMeasure" default to {@link #requestCurrencyCodes} and
|
|
2864
2865
|
* {@link #requestUnitsOfMeasure} resp. if not present in <code>mParameters.scope</code>. This
|
|
2865
2866
|
* function is called with the current object (or primitive value) and additional details and
|
|
@@ -235,7 +235,7 @@ sap.ui.define([
|
|
|
235
235
|
* @extends sap.ui.model.Model
|
|
236
236
|
* @public
|
|
237
237
|
* @since 1.37.0
|
|
238
|
-
* @version 1.
|
|
238
|
+
* @version 1.122.0
|
|
239
239
|
*/
|
|
240
240
|
ODataModel = Model.extend("sap.ui.model.odata.v4.ODataModel",
|
|
241
241
|
/** @lends sap.ui.model.odata.v4.ODataModel.prototype */{
|
|
@@ -1073,7 +1073,8 @@ sap.ui.define([
|
|
|
1073
1073
|
};
|
|
1074
1074
|
|
|
1075
1075
|
/**
|
|
1076
|
-
* Method not supported
|
|
1076
|
+
* Method not supported, use {@link #bindList} with <code>mParameters.$$aggregation</code>
|
|
1077
|
+
* instead.
|
|
1077
1078
|
*
|
|
1078
1079
|
* @param {string} _sPath
|
|
1079
1080
|
* @param {sap.ui.model.Context} [_oContext]
|
|
@@ -1772,6 +1773,8 @@ sap.ui.define([
|
|
|
1772
1773
|
* A list of all dependent bindings, never <code>null</code>
|
|
1773
1774
|
*
|
|
1774
1775
|
* @private
|
|
1776
|
+
* @since 1.122.0
|
|
1777
|
+
* @ui5-restricted sap.fe
|
|
1775
1778
|
*/
|
|
1776
1779
|
ODataModel.prototype.getDependentBindings = function (oParent) {
|
|
1777
1780
|
return this.aAllBindings.filter(function (oBinding) {
|
|
@@ -2852,6 +2855,28 @@ sap.ui.define([
|
|
|
2852
2855
|
return sClassName + ": " + this.sServiceUrl;
|
|
2853
2856
|
};
|
|
2854
2857
|
|
|
2858
|
+
/**
|
|
2859
|
+
* Waits until the temporary keep-alive binding matching the given binding has created its
|
|
2860
|
+
* cache, if required and there is such a binding.
|
|
2861
|
+
*
|
|
2862
|
+
* @param {sap.ui.model.odata.v4.ODataBinding} oBinding
|
|
2863
|
+
* The binding that possibly needs the cache of a temporary keep-alive binding
|
|
2864
|
+
* @returns {sap.ui.base.SyncPromise}
|
|
2865
|
+
* A promise which is resolved without a defined result when that cache is available
|
|
2866
|
+
*
|
|
2867
|
+
* @private
|
|
2868
|
+
*/
|
|
2869
|
+
ODataModel.prototype.waitForKeepAliveBinding = function (oBinding) {
|
|
2870
|
+
if (oBinding.mParameters?.$$getKeepAliveContext) {
|
|
2871
|
+
// $$canonicalPath is not allowed, binding path and resource path are (almost) identical
|
|
2872
|
+
const oTemporaryBinding = this.mKeepAliveBindingsByPath[oBinding.getResolvedPath()];
|
|
2873
|
+
if (oTemporaryBinding) {
|
|
2874
|
+
return oTemporaryBinding.oCachePromise;
|
|
2875
|
+
}
|
|
2876
|
+
}
|
|
2877
|
+
return SyncPromise.resolve();
|
|
2878
|
+
};
|
|
2879
|
+
|
|
2855
2880
|
/**
|
|
2856
2881
|
* Iterates over this model's unresolved bindings and calls the function with the given name on
|
|
2857
2882
|
* each unresolved binding, passing the given parameter. Iteration stops if a function call on
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @mixes sap.ui.model.odata.v4.ODataBinding
|
|
43
43
|
* @public
|
|
44
44
|
* @since 1.37.0
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.122.0
|
|
46
46
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getGroupId as #getGroupId
|
|
47
47
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getRootBinding as #getRootBinding
|
|
48
48
|
* @borrows sap.ui.model.odata.v4.ODataBinding#getUpdateGroupId as #getUpdateGroupId
|
|
@@ -101,6 +101,9 @@ sap.ui.define([
|
|
|
101
101
|
this.sGroupId = undefined;
|
|
102
102
|
this.bNoPatch = false;
|
|
103
103
|
}
|
|
104
|
+
if (this.sPath === "@$ui5.context.isSelected") {
|
|
105
|
+
this.bNoPatch = true;
|
|
106
|
+
}
|
|
104
107
|
this.oCheckUpdateCallToken = undefined;
|
|
105
108
|
this.oContext = oContext;
|
|
106
109
|
this.bHasDeclaredType = undefined; // whether the binding info declares a type
|
|
@@ -338,7 +341,8 @@ sap.ui.define([
|
|
|
338
341
|
});
|
|
339
342
|
if (bForceUpdate && vValue.isFulfilled()) {
|
|
340
343
|
if (vType && vType.isFulfilled && vType.isFulfilled()) {
|
|
341
|
-
|
|
344
|
+
PropertyBinding.prototype.setType
|
|
345
|
+
.call(this, vType.getResult(), this.sInternalType);
|
|
342
346
|
}
|
|
343
347
|
this.vValue = vValue.getResult();
|
|
344
348
|
}
|
|
@@ -352,7 +356,7 @@ sap.ui.define([
|
|
|
352
356
|
|
|
353
357
|
if (oCallToken === that.oCheckUpdateCallToken) { // latest call to checkUpdateInternal
|
|
354
358
|
that.oCheckUpdateCallToken = undefined;
|
|
355
|
-
that
|
|
359
|
+
PropertyBinding.prototype.setType.call(that, oType, that.sInternalType);
|
|
356
360
|
if (oCallToken.forceUpdate || that.vValue !== vValue) {
|
|
357
361
|
that.bInitial = false;
|
|
358
362
|
that.vValue = vValue;
|
|
@@ -370,11 +374,15 @@ sap.ui.define([
|
|
|
370
374
|
};
|
|
371
375
|
|
|
372
376
|
/**
|
|
373
|
-
* Deregisters the binding as change listener from its
|
|
377
|
+
* Deregisters the binding as change listener from its context if applicable. If not, it will be
|
|
378
|
+
* deregistered from the cache or operation binding ($Parameter).
|
|
374
379
|
*
|
|
375
380
|
* @private
|
|
376
381
|
*/
|
|
377
382
|
ODataPropertyBinding.prototype.deregisterChangeListener = function () {
|
|
383
|
+
if (this.bRelative && this.oContext?.deregisterChangeListener?.(this)) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
378
386
|
if (this.sReducedPath) {
|
|
379
387
|
this.doDeregisterChangeListener(this.sReducedPath, this);
|
|
380
388
|
}
|
|
@@ -687,7 +695,7 @@ sap.ui.define([
|
|
|
687
695
|
// Note: this.oType => this.sReducedPath
|
|
688
696
|
&& _Helper.getMetaPath(this.oModel.resolve(this.sPath, oContext))
|
|
689
697
|
!== _Helper.getMetaPath(this.sReducedPath)) {
|
|
690
|
-
this
|
|
698
|
+
PropertyBinding.prototype.setType.call(this, undefined, this.sInternalType);
|
|
691
699
|
}
|
|
692
700
|
this.sReducedPath = undefined;
|
|
693
701
|
}
|
|
@@ -736,7 +744,10 @@ sap.ui.define([
|
|
|
736
744
|
* be updated on the server, an error is logged to the console and added to the message manager
|
|
737
745
|
* as a technical message. Unless preconditions fail synchronously, a
|
|
738
746
|
* {@link sap.ui.model.odata.v4.ODataModel#event:propertyChange 'propertyChange'} event is
|
|
739
|
-
* fired and provides a promise on the outcome of the asynchronous operation.
|
|
747
|
+
* fired and provides a promise on the outcome of the asynchronous operation. Since 1.122.0
|
|
748
|
+
* this method allows updates to the client-side annotation "@$ui5.context.isSelected". Note:
|
|
749
|
+
* Changing the value of a client-side annotation never triggers a PATCH request, no matter
|
|
750
|
+
* which <code>sGroupId</code> is given. Thus, it cannot be reverted via {@link #resetChanges}.
|
|
740
751
|
*
|
|
741
752
|
* @param {any} vValue
|
|
742
753
|
* The new value which must be primitive
|
|
@@ -744,7 +755,8 @@ sap.ui.define([
|
|
|
744
755
|
* The group ID to be used for this update call; if not specified, the update group ID for
|
|
745
756
|
* this binding (or its relevant parent binding) is used, see {@link #getUpdateGroupId}.
|
|
746
757
|
* Valid values are <code>undefined</code>, '$auto', '$auto.*', '$direct' or application group
|
|
747
|
-
* IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}.
|
|
758
|
+
* IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}. When writing to a client-side
|
|
759
|
+
* annotation, this parameter is ignored.
|
|
748
760
|
* @throws {Error} If
|
|
749
761
|
* <ul>
|
|
750
762
|
* <li> the binding's root binding is suspended.
|