@openui5/sap.ui.core 1.124.0 → 1.125.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/.reuse/dep5 +5 -0
- package/THIRDPARTY.txt +7 -0
- package/package.json +1 -1
- package/src/jquery.sap.global.js +4 -4
- package/src/jquery.sap.properties.js +2 -2
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/jquery.sap.ui.js +6 -2
- 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/LanguageTag.js +1 -1
- package/src/sap/base/i18n/date/TimezoneUtils.js +1 -1
- 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 +1 -1
- package/src/sap/ui/base/Interface.js +1 -1
- package/src/sap/ui/base/ManagedObject.js +1 -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 +3 -3
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +7 -4
- 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 +18 -25
- 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 +4 -3
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/ExtensionPoint.js +23 -9
- package/src/sap/ui/core/Fragment.js +15 -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 +84 -50
- 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 +66 -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 +1 -1
- 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 +5 -5
- package/src/sap/ui/core/UIComponent.js +24 -17
- 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/XMLTemplateProcessor.js +110 -74
- package/src/sap/ui/core/cldr/zh_TW.json +20 -20
- 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 +1 -1
- package/src/sap/ui/core/dnd/DragAndDrop.js +29 -23
- 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 +6 -3
- package/src/sap/ui/core/format/DateFormat.js +3 -3
- 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 +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/mvc/Controller.js +77 -77
- 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 +10 -2
- package/src/sap/ui/core/mvc/XMLProcessingMode.js +4 -1
- package/src/sap/ui/core/mvc/XMLView.js +33 -5
- package/src/sap/ui/core/mvc/XMLViewRenderer.js +40 -7
- 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/async/TargetCache.js +12 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -2
- package/src/sap/ui/core/search/SearchProvider.js +2 -2
- 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/bootstrapFallback.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/tmpl/DOMAttribute.js +2 -2
- package/src/sap/ui/core/tmpl/DOMElement.js +2 -2
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +2 -2
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +2 -2
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/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/dom/jquery/control.js +6 -3
- package/src/sap/ui/model/Binding.js +10 -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/FieldHelp.js +362 -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/analytics/AnalyticalBinding.js +8 -12
- package/src/sap/ui/model/json/JSONModel.js +6 -5
- 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/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 +50 -6
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +46 -32
- package/src/sap/ui/model/odata/v4/ODataBinding.js +47 -57
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +70 -82
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +285 -213
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +41 -39
- package/src/sap/ui/model/odata/v4/ODataModel.js +236 -209
- package/src/sap/ui/model/odata/v4/ODataParentBinding.js +202 -203
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -17
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +94 -22
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +41 -61
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +111 -68
- package/src/sap/ui/model/odata/v4/lib/_Requestor.js +78 -78
- package/src/sap/ui/model/odata/v4/lib/_TreeState.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_V2MetadataConverter.js +20 -20
- package/src/sap/ui/model/odata/v4/lib/_V2Requestor.js +60 -60
- package/src/sap/ui/model/resource/ResourceModel.js +7 -2
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +6 -3
- 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 +6 -3
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/qunit/qunit-coverage-istanbul.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/OpaPlugin.js +36 -12
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/test/sap/ui/core/BindableResponseHeaders.html +4 -4
- package/test/sap/ui/core/ComponentCleanup.html +46 -46
- package/test/sap/ui/core/ComponentManifestFirst.html +26 -20
- package/test/sap/ui/core/ContextMenuSupport.html +9 -10
- package/test/sap/ui/core/DesigntimeOverview.html +1 -1
- package/test/sap/ui/core/EventBroadcaster.html +2 -2
- package/test/sap/ui/core/FieldGroup.html +70 -61
- package/test/sap/ui/core/GenericEventBinding.html +26 -23
- package/test/sap/ui/core/HTMLControl.html +46 -38
- package/test/sap/ui/core/HTMLSanitizer.html +70 -45
- package/test/sap/ui/core/IntervalTrigger.html +22 -21
- package/test/sap/ui/core/InvisibleControls.html +72 -72
- package/test/sap/ui/core/InvisibleText.html +2 -2
- package/test/sap/ui/core/LRUPersistentCache.html +19 -18
- package/test/sap/ui/core/LabelEnablement.html +18 -29
- package/test/sap/ui/core/Localization.html +40 -65
- package/test/sap/ui/core/Localization_HeapUsage.html +11 -12
- package/test/sap/ui/core/ManagedObjectModel.html +6 -7
- package/test/sap/ui/core/ODataAnnotationsPerformance.html +592 -602
- package/test/sap/ui/core/ODataV2CanonicalRequests.html +8 -8
- package/test/sap/ui/core/ODataV2Messages.html +1 -1
- package/test/sap/ui/core/ODataV2MessagesPerf.html +131 -132
- package/test/sap/ui/core/Popup.html +18 -14
- package/test/sap/ui/core/PopupWithUserSelection.html +4 -4
- package/test/sap/ui/core/StashedControlSupport.html +1 -1
- package/test/sap/ui/core/ThemeParameters.html +32 -20
- package/test/sap/ui/core/ValidateURL.html +109 -75
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Component.js +1 -4
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Detail.controller.js +0 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Main.controller.js +0 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/extension/Component.js +1 -5
- package/test/sap/ui/core/demokit/sample/ViewTemplate/scenario/manifest.json +2 -10
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/Component.js +4 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/manifest.json +37 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/Component.js +5 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/manifest.json +42 -0
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Component.js +6 -3
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/Main.view.xml +4 -1
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/manifest.json +49 -0
- 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/types/v2/DateTime/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTime/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v2/DateTimeOffset/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v2/Time/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/Date/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/DateTimeOffset/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/types/v4/TimeOfDay/manifest.json +1 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/Main.controller.js +35 -31
- package/test/sap/ui/core/demokit/sample/odata/v4/Ancestry/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ConsumeV2Service/manifest.json +2 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/DataAggregation.controller.js +71 -68
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DataAggregation/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/DeepCreate/manifest.json +7 -16
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Main.controller.js +3 -3
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Draft/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/FieldGroups.view.xml +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FieldGroups/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.controller.js +46 -43
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/FlatDataAggregation.view.xml +12 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/FlatDataAggregation/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Main.controller.js +21 -18
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/FlexibleColumnLayout/manifest.json +4 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/GridTable/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/Main.controller.js +21 -18
- package/test/sap/ui/core/demokit/sample/odata/v4/HierarchyBindAction/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Main.controller.js +25 -22
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.OptimisticBatch.qunit.js +5 -4
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/LateProperties/manifest.json +3 -7
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBinding/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ListBindingTemplate/manifest.json +2 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Main.controller.js +60 -57
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/MultipleInlineCreationRowsGrid/manifest.json +4 -6
- package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/MusicArtists/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Main.view.xml +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Products/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.controller.js +81 -69
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/RecursiveHierarchy.view.xml +44 -9
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/SandboxModel.js +49 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/data/metadata.xml +14 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/RecursiveHierarchy/manifest.json +1 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V2/manifest.json +2 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrderTP100_V4/manifest.json +2 -11
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Component.js +1 -2
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrders/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersRTATest/manifest.json +6 -5
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/SalesOrdersTemplate/manifest.json +2 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Component.js +1 -0
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/ServerDrivenPaging/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/Opa.qunit.html +0 -1
- package/test/sap/ui/core/demokit/sample/odata/v4/Sticky/manifest.json +3 -11
- 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/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/manifest.json +2 -13
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/webapp/test/integration/opaTests.qunit.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/webapp/manifest.json +2 -11
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/webapp/manifest.json +2 -11
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/Component.js +1 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/index.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/manifest.json +2 -11
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/webapp/test/integration/opaTests.qunit.html +0 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/getComputedStyle.html +2 -1
- package/test/sap/ui/core/getComputedStyleFF.html +1 -1
- package/test/sap/ui/core/internal/samples/client/MusicCollection/Component.js +5 -8
- package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.controller.js +6 -2
- package/test/sap/ui/core/internal/samples/client/MusicCollection/Main.view.xml +7 -3
- package/test/sap/ui/core/internal/samples/client/MusicCollection/index.html +1 -3
- package/test/sap/ui/core/internal/samples/client/MusicCollection/manifest.json +1 -13
- package/test/sap/ui/core/internal/samples/odata/twoFields/Component.js +3 -45
- package/test/sap/ui/core/internal/samples/odata/twoFields/Main.controller.js +37 -1
- package/test/sap/ui/core/internal/samples/odata/twoFields/Main.view.xml +5 -5
- package/test/sap/ui/core/internal/samples/odata/twoFields/Opa.qunit.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/twoFields/index.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/twoFields/manifest.json +1 -11
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Component.js +3 -22
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.controller.js +16 -22
- package/test/sap/ui/core/internal/samples/odata/v2/Products/Main.view.xml +3 -2
- package/test/sap/ui/core/internal/samples/odata/v2/Products/SandboxModel.js +1 -1
- package/test/sap/ui/core/internal/samples/odata/v2/Products/index.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/v2/Products/manifest.json +2 -13
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Component.js +1 -0
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.controller.js +49 -41
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/Main.view.xml +6 -4
- package/test/sap/ui/core/internal/samples/odata/v2/SalesOrders/manifest.json +3 -12
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Component.js +1 -0
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.controller.js +2 -2
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/Main.view.xml +4 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/index.html +1 -3
- package/test/sap/ui/core/internal/samples/odata/v2/TreeTable/manifest.json +1 -11
- package/test/sap/ui/core/qunit/Fragment.qunit.js +20 -20
- package/test/sap/ui/core/qunit/Fragment_legacyAPIs.qunit.js +4 -4
- package/test/sap/ui/core/qunit/Icon.qunit.js +217 -1
- package/test/sap/ui/core/qunit/RenderManager.qunit.js +18 -5
- package/test/sap/ui/core/qunit/ScrollBar.qunit.js +15 -18
- package/test/sap/ui/core/qunit/analytics/AnalyticalBinding.qunit.js +5 -13
- package/test/sap/ui/core/qunit/component/Customizing.qunit.js +2 -2
- package/test/sap/ui/core/qunit/component/Customizing_async.qunit.js +36 -1
- package/test/sap/ui/core/qunit/component/ExtensionPoint.qunit.js +475 -290
- package/test/sap/ui/core/qunit/component/Models.qunit.js +97 -70
- package/test/sap/ui/core/qunit/component/Models_unavoidablySync.qunit.js +86 -0
- package/test/sap/ui/core/qunit/component/UIComponent.qunit.js +86 -1
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Cell_Found.fragment.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EP_In_Product_Table_Column.fragment.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/EPinNestedView.view.xml +51 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/ExtensionPointProvider.js +27 -4
- package/test/sap/ui/core/qunit/component/testdata/customizing/customer/ext/Main.view.xml +5 -0
- package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Main.view.xml +0 -1
- package/test/sap/ui/core/qunit/component/testdata/customizing/sap/Sub2.view.xml +1 -3
- package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/Component.js +16 -0
- package/test/sap/ui/core/qunit/component/testdata/v4models/sapSystem/manifest.json +102 -0
- package/test/sap/ui/core/qunit/dnd/DragAndDrop.qunit.js +72 -2
- package/test/sap/ui/core/qunit/dnd/DropInfo.qunit.js +14 -2
- package/test/sap/ui/core/qunit/generic/ControlRenderer.qunit.js +4 -1
- package/test/sap/ui/core/qunit/generic/legacy/ControlRenderer.qunit.js +4 -0
- package/test/sap/ui/core/qunit/internal/1RingModels.qunit.js +1 -0
- package/test/sap/ui/core/qunit/loader/amd/base_tag/_launchTest.js +2 -4
- package/test/sap/ui/core/qunit/loader/amd/config_paths/_launchTest.js +2 -4
- package/test/sap/ui/core/qunit/loader/amd/config_paths_relative/_launchTest.js +2 -4
- package/test/sap/ui/core/qunit/loader/amdAPIs.qunit.js +3 -0
- package/test/sap/ui/core/qunit/model/Binding.qunit.js +13 -0
- package/test/sap/ui/core/qunit/model/FieldHelp.qunit.js +864 -0
- package/test/sap/ui/core/qunit/mvc/Controller.qunit.js +2 -2
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorAsync.qunit.js +8 -6
- package/test/sap/ui/core/qunit/mvc/XMLTemplateProcessorRequireXML.qunit.js +7 -7
- package/test/sap/ui/core/qunit/mvc/XMLView.qunit.js +131 -22
- package/test/sap/ui/core/qunit/mvc/testdata/Async.view.xml +1 -2
- package/test/sap/ui/core/qunit/mvc/testdata/asyncHooks.view.xml +1 -3
- package/test/sap/ui/core/qunit/mvc/testdata/cache.view.xml +1 -1
- package/test/sap/ui/core/qunit/mvc/testdata/legacy/test.view.xml +32 -0
- package/test/sap/ui/core/qunit/mvc/testdata/test.view.xml +2 -15
- package/test/sap/ui/core/qunit/odata/v2/ODataModel.integration.qunit.js +159 -8
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +55 -6
- package/test/sap/ui/core/qunit/odata/v2/data/ZUI5_GWSAMPLE_BASIC.metadata.xml +14 -0
- package/test/sap/ui/core/qunit/odata/v4/Context.qunit.js +48 -21
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +17 -70
- package/test/sap/ui/core/qunit/odata/v4/ODataContextBinding.qunit.js +19 -42
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +290 -20
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +613 -25
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +86 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataParentBinding.qunit.js +0 -1
- package/test/sap/ui/core/qunit/odata/v4/ODataPropertyBinding.qunit.js +0 -49
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +272 -8
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationHelper.qunit.js +20 -0
- package/test/sap/ui/core/qunit/odata/v4/lib/_Cache.qunit.js +46 -46
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +91 -13
- package/test/sap/ui/core/qunit/resource/ResourceBinding.qunit.js +17 -14
- package/test/sap/ui/core/qunit/routing/async/Views.qunit.js +3 -0
- package/test/sap/ui/core/qunit/test/starter/find/main.js +6 -4
- package/test/sap/ui/core/qunit/testdata/routing/HistoryIFrame.html +2 -1
- package/test/sap/ui/core/qunit/testsuites/testsuite.databinding.qunit.js +3 -0
- package/test/sap/ui/core/qunit/types/DateFormat.qunit.js +51 -22
- package/test/sap/ui/core/qunit/types/Types.qunit.js +35 -6
- package/test/sap/ui/core/qunit/ui/Device.qunit.js +24 -0
- package/test/sap/ui/core/qunit/util/LabelEnablement.qunit.js +47 -1
- package/test/sap/ui/core/relnotes/changes-1.124.json +1 -1
- package/test/sap/ui/core/relnotes/changes-1.125.json +37 -0
- package/test/sap/ui/core/samples/ResponsiveDemo.html +97 -103
- package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
- package/test/sap/ui/core/samples/draganddrop/DragAndDrop.html +2 -2
- package/test/sap/ui/core/samples/mvc/Product.html +1 -7
- package/test/sap/ui/core/samples/mvc/ViewPreprocessor.html +20 -12
- package/test/sap/ui/core/samples/mvc/XMLView.html +77 -24
- package/test/sap/ui/core/samples/mvc/XMLViewAsync.html +13 -19
- package/test/sap/ui/core/samples/mvc/controller/Async.controller.js +0 -1
- package/test/sap/ui/core/samples/mvc/controller/Product.controller.js +0 -1
- package/test/sap/ui/core/samples/mvc/views/Async.view.xml +16 -57
- package/test/sap/ui/core/samples/mvc/views/Dummy.fragment.xml +2 -2
- package/test/sap/ui/core/samples/mvc/views/Dummy.view.xml +2 -2
- package/test/sap/ui/core/samples/mvc/views/Product.view.xml +16 -57
- package/test/sap/ui/core/util/PasteHelper.html +148 -147
- 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
- package/test/testsuite/js/settings.js +5 -4
- package/test/testsuite/styles/main.css +5 -0
- package/test/sap/ui/core/ResourceRoots.html +0 -28
- package/test/sap/ui/core/demokit/sample/ViewTemplate/tiny/component.json +0 -17
- package/test/sap/ui/core/demokit/sample/ViewTemplate/types/component.json +0 -18
- package/test/sap/ui/core/demokit/sample/ViewTemplate/valuelist/component.json +0 -30
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/AutoExpand.view.xml +0 -52
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Component.js +0 -30
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/Sandbox.js +0 -51
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L0_top5.json +0 -32
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_A_skip8.json +0 -138
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_B.json +0 -17
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_C.json +0 -17
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/Items_L1_top8.json +0 -93
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/data/metadata.xml +0 -2322
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/i18n/i18n.properties +0 -3
- package/test/sap/ui/core/demokit/sample/odata/v2/AutoExpand/manifest.json +0 -69
|
@@ -121,7 +121,8 @@ sap.ui.define([
|
|
|
121
121
|
(oNode) => _Helper.getKeyFilter(oNode, this.sMetaPath, this.getTypes()));
|
|
122
122
|
// Whether this cache is a unified cache, using oFirstLevel with ExpandLevels instead of
|
|
123
123
|
// separate group level caches
|
|
124
|
-
this.bUnifiedCache = this.oAggregation.expandTo >= Number.MAX_SAFE_INTEGER
|
|
124
|
+
this.bUnifiedCache = this.oAggregation.expandTo >= Number.MAX_SAFE_INTEGER
|
|
125
|
+
|| !!this.oAggregation.createInPlace;
|
|
125
126
|
}
|
|
126
127
|
|
|
127
128
|
// make _AggregationCache a _Cache, but actively disinherit some critical methods
|
|
@@ -540,15 +541,46 @@ sap.ui.define([
|
|
|
540
541
|
[this.oAggregation.$ParentNavigationProperty + "@odata.bind"]
|
|
541
542
|
= _Helper.makeRelativeUrl("/" + sParentPath, "/" + this.sResourcePath);
|
|
542
543
|
}
|
|
543
|
-
oEntityData["@$ui5.node.level"] = iLevel; // do not send via POST!
|
|
544
544
|
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
545
|
+
const addElement = (iIndex0, iRank) => {
|
|
546
|
+
oEntityData["@$ui5.node.level"] = iLevel; // do not send via POST!
|
|
547
|
+
aElements.splice(iIndex0, 0, null); // create a gap
|
|
548
|
+
this.addElements(oEntityData, iIndex0, oCache, iRank);
|
|
549
|
+
aElements.$count += 1;
|
|
550
|
+
if (oCache === this.oFirstLevel) {
|
|
551
|
+
this.adjustDescendantCount(oEntityData, iIndex0, +1);
|
|
552
|
+
}
|
|
553
|
+
};
|
|
554
|
+
const completeCreation = (iIndex0, iRank) => {
|
|
555
|
+
oCache.removeElement(0, sTransientPredicate);
|
|
556
|
+
_Helper.deletePrivateAnnotation(oEntityData, "transientPredicate");
|
|
557
|
+
oCache.restoreElement(iRank, oEntityData);
|
|
558
|
+
|
|
559
|
+
delete aElements.$byPredicate[sTransientPredicate];
|
|
560
|
+
_Helper.setPrivateAnnotation(oEntityData, "rank", iRank);
|
|
561
|
+
this.shiftRank(iIndex0, +1);
|
|
562
|
+
};
|
|
563
|
+
|
|
564
|
+
if (this.oAggregation.createInPlace) {
|
|
565
|
+
return oPromise.then(async () => {
|
|
566
|
+
_Helper.removeByPath(this.mPostRequests, sTransientPredicate, oEntityData);
|
|
567
|
+
const [iRank] = await Promise.all([
|
|
568
|
+
this.requestRank(oEntityData, oGroupLock),
|
|
569
|
+
this.requestNodeProperty(oEntityData, oGroupLock)
|
|
570
|
+
]);
|
|
571
|
+
if (iRank === undefined) {
|
|
572
|
+
oCache.removeElement(0, sTransientPredicate);
|
|
573
|
+
} else {
|
|
574
|
+
addElement(iRank, iRank);
|
|
575
|
+
completeCreation(iRank, iRank);
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
return oEntityData;
|
|
579
|
+
});
|
|
550
580
|
}
|
|
551
581
|
|
|
582
|
+
addElement(iIndex, /*iRank*/undefined);
|
|
583
|
+
|
|
552
584
|
return oPromise.then(async () => {
|
|
553
585
|
_Helper.removeByPath(this.mPostRequests, sTransientPredicate, oEntityData);
|
|
554
586
|
aElements.$byPredicate[_Helper.getPrivateAnnotation(oEntityData, "predicate")]
|
|
@@ -564,13 +596,7 @@ sap.ui.define([
|
|
|
564
596
|
this.requestNodeProperty(oEntityData, oGroupLock, /*bDropFilter*/true)
|
|
565
597
|
]);
|
|
566
598
|
|
|
567
|
-
|
|
568
|
-
_Helper.deletePrivateAnnotation(oEntityData, "transientPredicate");
|
|
569
|
-
oCache.restoreElement(iRank, oEntityData);
|
|
570
|
-
|
|
571
|
-
delete this.aElements.$byPredicate[sTransientPredicate];
|
|
572
|
-
_Helper.setPrivateAnnotation(oEntityData, "rank", iRank);
|
|
573
|
-
this.shiftRank(iIndex, +1);
|
|
599
|
+
completeCreation(iIndex, iRank);
|
|
574
600
|
} else {
|
|
575
601
|
await this.requestNodeProperty(oEntityData, oGroupLock, /*bDropFilter*/true);
|
|
576
602
|
}
|
|
@@ -935,20 +961,23 @@ sap.ui.define([
|
|
|
935
961
|
|
|
936
962
|
/**
|
|
937
963
|
* Returns the index in <code>this.aElements</code> for a given (limited preorder) rank where
|
|
938
|
-
* either a node or placeholder with that rank is present and belongs to the first level
|
|
964
|
+
* either a node or placeholder with that rank is present and belongs to the given first level
|
|
965
|
+
* or group level cache.
|
|
939
966
|
*
|
|
940
967
|
* @param {number} iRank
|
|
941
968
|
* The (limited preorder) rank of a node
|
|
969
|
+
* @param {sap.ui.model.odata.v4.lib._CollectionCache} [oCache]
|
|
970
|
+
* A (group level) cache
|
|
942
971
|
* @returns {number}
|
|
943
972
|
* The array index
|
|
944
973
|
*
|
|
945
974
|
* @private
|
|
946
975
|
* @see #getInsertIndex
|
|
947
976
|
*/
|
|
948
|
-
_AggregationCache.prototype.findIndex = function (iRank) {
|
|
977
|
+
_AggregationCache.prototype.findIndex = function (iRank, oCache = this.oFirstLevel) {
|
|
949
978
|
return this.aElements.findIndex(
|
|
950
979
|
(oNode) => _Helper.getPrivateAnnotation(oNode, "rank") === iRank
|
|
951
|
-
&& _Helper.getPrivateAnnotation(oNode, "parent") ===
|
|
980
|
+
&& _Helper.getPrivateAnnotation(oNode, "parent") === oCache);
|
|
952
981
|
};
|
|
953
982
|
|
|
954
983
|
/**
|
|
@@ -1083,6 +1112,45 @@ sap.ui.define([
|
|
|
1083
1112
|
// return undefined;
|
|
1084
1113
|
};
|
|
1085
1114
|
|
|
1115
|
+
/**
|
|
1116
|
+
* Returns the index of the given node's sibling, either the next one (via offset +1) or the
|
|
1117
|
+
* previous one (via offset -1).
|
|
1118
|
+
*
|
|
1119
|
+
* @param {number} iIndex - The index of a node
|
|
1120
|
+
* @param {number} iOffset - An offset, either -1 or +1
|
|
1121
|
+
* @returns {number}
|
|
1122
|
+
* The sibling node's index, or -1 if no such sibling exists
|
|
1123
|
+
*
|
|
1124
|
+
* @public
|
|
1125
|
+
*/
|
|
1126
|
+
_AggregationCache.prototype.getSiblingIndex = function (iIndex, iOffset) {
|
|
1127
|
+
function findSibling(aElements, iRank, iLevel) {
|
|
1128
|
+
for (;;) {
|
|
1129
|
+
iRank += iOffset;
|
|
1130
|
+
if (iRank < 0 || iRank >= aElements.$count) {
|
|
1131
|
+
return -1; // no such sibling
|
|
1132
|
+
}
|
|
1133
|
+
if (!aElements[iRank]) {
|
|
1134
|
+
return iRank;
|
|
1135
|
+
}
|
|
1136
|
+
if (aElements[iRank]["@$ui5.node.level"] < iLevel) {
|
|
1137
|
+
return -1; // no such sibling
|
|
1138
|
+
}
|
|
1139
|
+
if (aElements[iRank]["@$ui5.node.level"] === iLevel) {
|
|
1140
|
+
return iRank;
|
|
1141
|
+
}
|
|
1142
|
+
// else: ignore descendants
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
|
|
1146
|
+
const oNode = this.aElements[iIndex];
|
|
1147
|
+
const oCache = _Helper.getPrivateAnnotation(oNode, "parent");
|
|
1148
|
+
const iSiblingRank = findSibling(oCache.aElements,
|
|
1149
|
+
_Helper.getPrivateAnnotation(oNode, "rank"), oNode["@$ui5.node.level"]);
|
|
1150
|
+
|
|
1151
|
+
return iSiblingRank < 0 ? -1 : this.findIndex(iSiblingRank, oCache);
|
|
1152
|
+
};
|
|
1153
|
+
|
|
1086
1154
|
/**
|
|
1087
1155
|
* @override
|
|
1088
1156
|
* @see sap.ui.model.odata.v4.lib._Cache#getValue
|
|
@@ -1116,7 +1184,7 @@ sap.ui.define([
|
|
|
1116
1184
|
const getPredicate
|
|
1117
1185
|
= (oNode) => _Helper.getKeyPredicate(oNode, this.sMetaPath, this.getTypes());
|
|
1118
1186
|
const getRank
|
|
1119
|
-
= (oNode) =>
|
|
1187
|
+
= (oNode) => parseInt(_Helper.drillDown(oNode, this.oAggregation.$LimitedRank));
|
|
1120
1188
|
const mPredicate2RankResult = {};
|
|
1121
1189
|
oRankResult.value.forEach((oNode) => {
|
|
1122
1190
|
mPredicate2RankResult[getPredicate(oNode)] = oNode;
|
|
@@ -1145,8 +1213,10 @@ sap.ui.define([
|
|
|
1145
1213
|
_Helper.merge(oNode, mPredicate2RankResult[sPredicate]);
|
|
1146
1214
|
// Note: overridden by _AggregationCache.calculateKeyPredicateRH
|
|
1147
1215
|
this.oFirstLevel.calculateKeyPredicate(oNode, this.getTypes(), this.sMetaPath);
|
|
1216
|
+
const iRank = getRank(oNode);
|
|
1217
|
+
_Helper.deleteProperty(oNode, this.oAggregation.$LimitedRank);
|
|
1148
1218
|
// insert at rank position to ensure correct placeholder is replaced
|
|
1149
|
-
this.insertNode(oNode,
|
|
1219
|
+
this.insertNode(oNode, iRank);
|
|
1150
1220
|
});
|
|
1151
1221
|
});
|
|
1152
1222
|
|
|
@@ -1352,8 +1422,10 @@ sap.ui.define([
|
|
|
1352
1422
|
oSiblingNode = null;
|
|
1353
1423
|
}
|
|
1354
1424
|
|
|
1355
|
-
return this.oRequestor.request("POST", sActionPath, oGroupLock.getUnlockedCopy(),
|
|
1356
|
-
|
|
1425
|
+
return this.oRequestor.request("POST", sActionPath, oGroupLock.getUnlockedCopy(), {
|
|
1426
|
+
"If-Match" : oChildNode,
|
|
1427
|
+
Prefer : "return=minimal"
|
|
1428
|
+
}, {NextSibling : oSiblingNode});
|
|
1357
1429
|
}
|
|
1358
1430
|
};
|
|
1359
1431
|
|
|
@@ -1941,7 +2013,7 @@ sap.ui.define([
|
|
|
1941
2013
|
mQueryOptions = getApply(
|
|
1942
2014
|
_AggregationHelper.buildApply4Hierarchy(oAggregation, this.mQueryOptions));
|
|
1943
2015
|
} else {
|
|
1944
|
-
const oCache = _Helper.getPrivateAnnotation(oElement, "parent");
|
|
2016
|
+
const oCache = _Helper.getPrivateAnnotation(oElement, "parent", this.oFirstLevel);
|
|
1945
2017
|
mQueryOptions = bDropFilter
|
|
1946
2018
|
? _AggregationHelper
|
|
1947
2019
|
.dropFilter(this.oAggregation, this.mQueryOptions, oCache.$parentFilter)
|
|
@@ -44,6 +44,7 @@ sap.ui.define([
|
|
|
44
44
|
+ "(?:/" + _Parser.sODataIdentifier + ")*"
|
|
45
45
|
+ ")(?:" + _Parser.sWhitespace + "+(?:asc|desc))?$"),
|
|
46
46
|
mRecursiveHierarchyType = {
|
|
47
|
+
createInPlace : true,
|
|
47
48
|
expandTo : /^[1-9]\d*$/, // a positive integer
|
|
48
49
|
hierarchyQualifier : "string",
|
|
49
50
|
search : "string"
|
|
@@ -636,6 +637,10 @@ sap.ui.define([
|
|
|
636
637
|
_AggregationHelper.checkTypeof(vValue[sKey], vType[bIsMap ? "*" : sKey],
|
|
637
638
|
sPath + "/" + sKey);
|
|
638
639
|
});
|
|
640
|
+
} else if (vType === true) {
|
|
641
|
+
if (vValue !== true) {
|
|
642
|
+
throw new Error("Not a true value for '" + sPath + "'");
|
|
643
|
+
}
|
|
639
644
|
} else if (typeof vValue !== vType) { // eslint-disable-line valid-typeof
|
|
640
645
|
throw new Error("Not a " + vType + " value for '" + sPath + "'");
|
|
641
646
|
}
|
|
@@ -683,23 +683,6 @@ sap.ui.define([
|
|
|
683
683
|
});
|
|
684
684
|
};
|
|
685
685
|
|
|
686
|
-
/**
|
|
687
|
-
* Deregisters the given change listener. Note: shared caches only have listeners for the empty
|
|
688
|
-
* path.
|
|
689
|
-
*
|
|
690
|
-
* @param {string} sPath
|
|
691
|
-
* The path
|
|
692
|
-
* @param {object} oListener
|
|
693
|
-
* The change listener
|
|
694
|
-
*
|
|
695
|
-
* @public
|
|
696
|
-
*/
|
|
697
|
-
_Cache.prototype.deregisterChangeListener = function (sPath, oListener) {
|
|
698
|
-
if (!(this.bSharedRequest && sPath)) {
|
|
699
|
-
_Helper.removeByPath(this.mChangeListeners, sPath, oListener);
|
|
700
|
-
}
|
|
701
|
-
};
|
|
702
|
-
|
|
703
686
|
/**
|
|
704
687
|
* Drills down into the given object according to <code>sPath</code>. Logs an error if the path
|
|
705
688
|
* leads into void. Paths may contain key predicates like "TEAM_2_EMPLOYEES('42')/Name". The
|
|
@@ -730,6 +713,8 @@ sap.ui.define([
|
|
|
730
713
|
that = this;
|
|
731
714
|
|
|
732
715
|
function invalidSegment(sSegment, bAsInfo) {
|
|
716
|
+
// no error for a key predicate, it's most probably due to a deleted entity
|
|
717
|
+
bAsInfo ||= sSegment[0] === "(" && sSegment.at(-1) === ")";
|
|
733
718
|
Log[bAsInfo ? "info" : "error"]("Failed to drill-down into " + sPath
|
|
734
719
|
+ ", invalid segment: " + sSegment, that.toString(), sClassName);
|
|
735
720
|
return undefined;
|
|
@@ -1144,6 +1129,32 @@ sap.ui.define([
|
|
|
1144
1129
|
* @public
|
|
1145
1130
|
*/
|
|
1146
1131
|
|
|
1132
|
+
/**
|
|
1133
|
+
* Returns an array containing all current elements of a collection or single cache for the
|
|
1134
|
+
* given relative path; the array is annotated with the collection's $count. If there are
|
|
1135
|
+
* pending requests, the corresponding promises will be ignored and set to
|
|
1136
|
+
* <code>undefined</code>.
|
|
1137
|
+
*
|
|
1138
|
+
* @param {string} [sPath]
|
|
1139
|
+
* Relative path to drill-down into, may be empty (only for collection cache)
|
|
1140
|
+
* @returns {object[]} The cache elements
|
|
1141
|
+
*
|
|
1142
|
+
* @public
|
|
1143
|
+
*/
|
|
1144
|
+
_Cache.prototype.getAllElements = function (sPath) {
|
|
1145
|
+
var aAllElements;
|
|
1146
|
+
|
|
1147
|
+
if (sPath) {
|
|
1148
|
+
return this.getValue(sPath);
|
|
1149
|
+
}
|
|
1150
|
+
aAllElements = this.aElements.map(function (oElement) {
|
|
1151
|
+
return oElement instanceof SyncPromise ? undefined : oElement;
|
|
1152
|
+
});
|
|
1153
|
+
aAllElements.$count = this.aElements.$count;
|
|
1154
|
+
|
|
1155
|
+
return aAllElements;
|
|
1156
|
+
};
|
|
1157
|
+
|
|
1147
1158
|
/**
|
|
1148
1159
|
* Returns the collection at the given path and removes it from the cache if it is marked as
|
|
1149
1160
|
* transferable.
|
|
@@ -1175,32 +1186,6 @@ sap.ui.define([
|
|
|
1175
1186
|
return vValue;
|
|
1176
1187
|
};
|
|
1177
1188
|
|
|
1178
|
-
/**
|
|
1179
|
-
* Returns an array containing all current elements of a collection or single cache for the
|
|
1180
|
-
* given relative path; the array is annotated with the collection's $count. If there are
|
|
1181
|
-
* pending requests, the corresponding promises will be ignored and set to
|
|
1182
|
-
* <code>undefined</code>.
|
|
1183
|
-
*
|
|
1184
|
-
* @param {string} [sPath]
|
|
1185
|
-
* Relative path to drill-down into, may be empty (only for collection cache)
|
|
1186
|
-
* @returns {object[]} The cache elements
|
|
1187
|
-
*
|
|
1188
|
-
* @public
|
|
1189
|
-
*/
|
|
1190
|
-
_Cache.prototype.getAllElements = function (sPath) {
|
|
1191
|
-
var aAllElements;
|
|
1192
|
-
|
|
1193
|
-
if (sPath) {
|
|
1194
|
-
return this.getValue(sPath);
|
|
1195
|
-
}
|
|
1196
|
-
aAllElements = this.aElements.map(function (oElement) {
|
|
1197
|
-
return oElement instanceof SyncPromise ? undefined : oElement;
|
|
1198
|
-
});
|
|
1199
|
-
aAllElements.$count = this.aElements.$count;
|
|
1200
|
-
|
|
1201
|
-
return aAllElements;
|
|
1202
|
-
};
|
|
1203
|
-
|
|
1204
1189
|
/**
|
|
1205
1190
|
* Returns all created elements for the given path.
|
|
1206
1191
|
*
|
|
@@ -1296,6 +1281,17 @@ sap.ui.define([
|
|
|
1296
1281
|
return this.mQueryOptions;
|
|
1297
1282
|
};
|
|
1298
1283
|
|
|
1284
|
+
/**
|
|
1285
|
+
* Gets the cache's resource path.
|
|
1286
|
+
*
|
|
1287
|
+
* @returns {string} The resource path
|
|
1288
|
+
*
|
|
1289
|
+
* @public
|
|
1290
|
+
*/
|
|
1291
|
+
_Cache.prototype.getResourcePath = function () {
|
|
1292
|
+
return this.sResourcePath;
|
|
1293
|
+
};
|
|
1294
|
+
|
|
1299
1295
|
/**
|
|
1300
1296
|
* Returns the existing map from meta path to type.
|
|
1301
1297
|
*
|
|
@@ -1324,17 +1320,6 @@ sap.ui.define([
|
|
|
1324
1320
|
throw new Error("Unsupported operation");
|
|
1325
1321
|
};
|
|
1326
1322
|
|
|
1327
|
-
/**
|
|
1328
|
-
* Gets the cache's resource path.
|
|
1329
|
-
*
|
|
1330
|
-
* @returns {string} The resource path
|
|
1331
|
-
*
|
|
1332
|
-
* @public
|
|
1333
|
-
*/
|
|
1334
|
-
_Cache.prototype.getResourcePath = function () {
|
|
1335
|
-
return this.sResourcePath;
|
|
1336
|
-
};
|
|
1337
|
-
|
|
1338
1323
|
/**
|
|
1339
1324
|
* Tells whether there are any registered change listeners.
|
|
1340
1325
|
*
|
|
@@ -1342,7 +1327,6 @@ sap.ui.define([
|
|
|
1342
1327
|
* Whether there are any registered change listeners
|
|
1343
1328
|
*
|
|
1344
1329
|
* @public
|
|
1345
|
-
* @see #deregisterChangeListener
|
|
1346
1330
|
* @see #registerChangeListener
|
|
1347
1331
|
*/
|
|
1348
1332
|
_Cache.prototype.hasChangeListeners = function () {
|
|
@@ -1659,7 +1643,7 @@ sap.ui.define([
|
|
|
1659
1643
|
*/
|
|
1660
1644
|
_Cache.prototype.registerChangeListener = function (sPath, oListener) {
|
|
1661
1645
|
if (!(this.bSharedRequest && sPath)) {
|
|
1662
|
-
_Helper.
|
|
1646
|
+
_Helper.registerChangeListener(this, sPath, oListener);
|
|
1663
1647
|
}
|
|
1664
1648
|
};
|
|
1665
1649
|
|
|
@@ -1945,11 +1929,7 @@ sap.ui.define([
|
|
|
1945
1929
|
this.iLimit += 1; // this doesn't change Infinity
|
|
1946
1930
|
}
|
|
1947
1931
|
_Helper.addToCount(this.mChangeListeners, sPath, aElements, 1);
|
|
1948
|
-
|
|
1949
|
-
aElements[iIndex] = oElement;
|
|
1950
|
-
} else {
|
|
1951
|
-
aElements.splice(iIndex, 0, oElement);
|
|
1952
|
-
}
|
|
1932
|
+
_Helper.insert(aElements, iIndex, oElement);
|
|
1953
1933
|
aElements.$byPredicate[_Helper.getPrivateAnnotation(oElement, "predicate")] = oElement;
|
|
1954
1934
|
};
|
|
1955
1935
|
|
|
@@ -163,8 +163,9 @@ sap.ui.define([
|
|
|
163
163
|
* @param {object} oOperationMetadata
|
|
164
164
|
* The operation metadata to determine whether a given message target is a parameter
|
|
165
165
|
* of the operation
|
|
166
|
-
* @param {string} sParameterContextPath
|
|
167
|
-
* The parameter context path
|
|
166
|
+
* @param {string} [sParameterContextPath]
|
|
167
|
+
* The parameter context path, needed for adjusting a message target in case it is an
|
|
168
|
+
* operation parameter, except the binding parameter
|
|
168
169
|
* @param {string} [sContextPath]
|
|
169
170
|
* The context path for a bound operation
|
|
170
171
|
*
|
|
@@ -172,7 +173,9 @@ sap.ui.define([
|
|
|
172
173
|
*/
|
|
173
174
|
adjustTargets : function (oMessage, oOperationMetadata, sParameterContextPath,
|
|
174
175
|
sContextPath) {
|
|
175
|
-
var sAdditionalTargetsKey =
|
|
176
|
+
var sAdditionalTargetsKey = "additionalTargets" in oMessage
|
|
177
|
+
? "additionalTargets"
|
|
178
|
+
: _Helper.getAnnotationKey(oMessage, ".additionalTargets"),
|
|
176
179
|
aTargets;
|
|
177
180
|
|
|
178
181
|
aTargets = [oMessage.target].concat(oMessage[sAdditionalTargetsKey])
|
|
@@ -528,6 +531,21 @@ sap.ui.define([
|
|
|
528
531
|
}
|
|
529
532
|
},
|
|
530
533
|
|
|
534
|
+
/**
|
|
535
|
+
* Sets "@$ui5.context.isSelected" in <code>oTarget</code> to true if it is true in
|
|
536
|
+
* <code>oSource</code>.
|
|
537
|
+
*
|
|
538
|
+
* @param {object} oSource - The source object
|
|
539
|
+
* @param {object} oTarget - The target object
|
|
540
|
+
*
|
|
541
|
+
* @public
|
|
542
|
+
*/
|
|
543
|
+
copySelected : function (oSource, oTarget) {
|
|
544
|
+
if (oSource["@$ui5.context.isSelected"] === true) {
|
|
545
|
+
oTarget["@$ui5.context.isSelected"] = true;
|
|
546
|
+
}
|
|
547
|
+
},
|
|
548
|
+
|
|
531
549
|
/**
|
|
532
550
|
* Returns an <code>Error</code> instance from a jQuery XHR wrapper.
|
|
533
551
|
*
|
|
@@ -959,6 +977,32 @@ sap.ui.define([
|
|
|
959
977
|
return _Helper.encode(sKey, true) + "=" + _Helper.encode(sValue, false);
|
|
960
978
|
},
|
|
961
979
|
|
|
980
|
+
/**
|
|
981
|
+
* Extracts the mergeable query options "$expand" and "$select" from the given ones, returns
|
|
982
|
+
* them as a new map while replacing their value with "~" in the old map.
|
|
983
|
+
*
|
|
984
|
+
* @param {object} mQueryOptions
|
|
985
|
+
* The original query options, will be modified
|
|
986
|
+
* @returns {object}
|
|
987
|
+
* The extracted query options
|
|
988
|
+
*
|
|
989
|
+
* @public
|
|
990
|
+
*/
|
|
991
|
+
extractMergeableQueryOptions : function (mQueryOptions) {
|
|
992
|
+
var mExtractedQueryOptions = {};
|
|
993
|
+
|
|
994
|
+
if ("$expand" in mQueryOptions) {
|
|
995
|
+
mExtractedQueryOptions.$expand = mQueryOptions.$expand;
|
|
996
|
+
mQueryOptions.$expand = "~";
|
|
997
|
+
}
|
|
998
|
+
if ("$select" in mQueryOptions) {
|
|
999
|
+
mExtractedQueryOptions.$select = mQueryOptions.$select;
|
|
1000
|
+
mQueryOptions.$select = "~";
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
return mExtractedQueryOptions;
|
|
1004
|
+
},
|
|
1005
|
+
|
|
962
1006
|
/**
|
|
963
1007
|
* Extracts all (top and detail) messages from the given error instance.
|
|
964
1008
|
*
|
|
@@ -1045,32 +1089,6 @@ sap.ui.define([
|
|
|
1045
1089
|
return aMessages;
|
|
1046
1090
|
},
|
|
1047
1091
|
|
|
1048
|
-
/**
|
|
1049
|
-
* Extracts the mergeable query options "$expand" and "$select" from the given ones, returns
|
|
1050
|
-
* them as a new map while replacing their value with "~" in the old map.
|
|
1051
|
-
*
|
|
1052
|
-
* @param {object} mQueryOptions
|
|
1053
|
-
* The original query options, will be modified
|
|
1054
|
-
* @returns {object}
|
|
1055
|
-
* The extracted query options
|
|
1056
|
-
*
|
|
1057
|
-
* @public
|
|
1058
|
-
*/
|
|
1059
|
-
extractMergeableQueryOptions : function (mQueryOptions) {
|
|
1060
|
-
var mExtractedQueryOptions = {};
|
|
1061
|
-
|
|
1062
|
-
if ("$expand" in mQueryOptions) {
|
|
1063
|
-
mExtractedQueryOptions.$expand = mQueryOptions.$expand;
|
|
1064
|
-
mQueryOptions.$expand = "~";
|
|
1065
|
-
}
|
|
1066
|
-
if ("$select" in mQueryOptions) {
|
|
1067
|
-
mExtractedQueryOptions.$select = mQueryOptions.$select;
|
|
1068
|
-
mQueryOptions.$select = "~";
|
|
1069
|
-
}
|
|
1070
|
-
|
|
1071
|
-
return mExtractedQueryOptions;
|
|
1072
|
-
},
|
|
1073
|
-
|
|
1074
1092
|
/**
|
|
1075
1093
|
* Fetches the property that is reached by the meta path and (if necessary) its type.
|
|
1076
1094
|
*
|
|
@@ -1264,8 +1282,9 @@ sap.ui.define([
|
|
|
1264
1282
|
* @param {object} oOperationMetadata
|
|
1265
1283
|
* The operation metadata to determine whether a given message target is a parameter
|
|
1266
1284
|
* of the operation
|
|
1267
|
-
* @param {string} sParameterContextPath
|
|
1268
|
-
* The parameter context path
|
|
1285
|
+
* @param {string} [sParameterContextPath]
|
|
1286
|
+
* The parameter context path, needed for adjusting a message target in case it is an
|
|
1287
|
+
* operation parameter, except the binding parameter
|
|
1269
1288
|
* @param {string} [sContextPath]
|
|
1270
1289
|
* The context path for a bound operation
|
|
1271
1290
|
* @returns {string|undefined} The adjusted target, or <code>undefined</code> if the target
|
|
@@ -1274,7 +1293,7 @@ sap.ui.define([
|
|
|
1274
1293
|
* @private
|
|
1275
1294
|
*/
|
|
1276
1295
|
getAdjustedTarget : function (sTarget, oOperationMetadata, sParameterContextPath,
|
|
1277
|
-
|
|
1296
|
+
sContextPath) {
|
|
1278
1297
|
var bIsParameterName,
|
|
1279
1298
|
sParameterName,
|
|
1280
1299
|
aSegments;
|
|
@@ -1290,6 +1309,9 @@ sap.ui.define([
|
|
|
1290
1309
|
sTarget = _Helper.buildPath(sContextPath, aSegments.join("/"));
|
|
1291
1310
|
return sTarget;
|
|
1292
1311
|
}
|
|
1312
|
+
if (!sParameterContextPath) {
|
|
1313
|
+
return sTarget;
|
|
1314
|
+
}
|
|
1293
1315
|
bIsParameterName = oOperationMetadata.$Parameter.some(function (oParameter) {
|
|
1294
1316
|
return sParameterName === oParameter.$Name;
|
|
1295
1317
|
});
|
|
@@ -1570,6 +1592,27 @@ sap.ui.define([
|
|
|
1570
1592
|
});
|
|
1571
1593
|
},
|
|
1572
1594
|
|
|
1595
|
+
/**
|
|
1596
|
+
* Returns the index of the key predicate in the last segment of the given path.
|
|
1597
|
+
*
|
|
1598
|
+
* @param {string} sPath - The path
|
|
1599
|
+
* @returns {number} The index of the key predicate
|
|
1600
|
+
* @throws {Error} If no path is given or the last segment contains no key predicate
|
|
1601
|
+
*
|
|
1602
|
+
* @public
|
|
1603
|
+
*/
|
|
1604
|
+
getPredicateIndex : function (sPath) {
|
|
1605
|
+
var iPredicateIndex = sPath
|
|
1606
|
+
? sPath.indexOf("(", sPath.lastIndexOf("/"))
|
|
1607
|
+
: -1;
|
|
1608
|
+
|
|
1609
|
+
if (iPredicateIndex < 0 || !sPath.endsWith(")")) {
|
|
1610
|
+
throw new Error("Not a list context path to an entity: " + sPath);
|
|
1611
|
+
}
|
|
1612
|
+
|
|
1613
|
+
return iPredicateIndex;
|
|
1614
|
+
},
|
|
1615
|
+
|
|
1573
1616
|
/**
|
|
1574
1617
|
* Returns the list of predicates corresponding to the given list of contexts, or
|
|
1575
1618
|
* <code>null</code if at least one predicate is missing.
|
|
@@ -1595,27 +1638,6 @@ sap.ui.define([
|
|
|
1595
1638
|
return bMissingPredicate ? null : aPredicates;
|
|
1596
1639
|
},
|
|
1597
1640
|
|
|
1598
|
-
/**
|
|
1599
|
-
* Returns the index of the key predicate in the last segment of the given path.
|
|
1600
|
-
*
|
|
1601
|
-
* @param {string} sPath - The path
|
|
1602
|
-
* @returns {number} The index of the key predicate
|
|
1603
|
-
* @throws {Error} If no path is given or the last segment contains no key predicate
|
|
1604
|
-
*
|
|
1605
|
-
* @public
|
|
1606
|
-
*/
|
|
1607
|
-
getPredicateIndex : function (sPath) {
|
|
1608
|
-
var iPredicateIndex = sPath
|
|
1609
|
-
? sPath.indexOf("(", sPath.lastIndexOf("/"))
|
|
1610
|
-
: -1;
|
|
1611
|
-
|
|
1612
|
-
if (iPredicateIndex < 0 || !sPath.endsWith(")")) {
|
|
1613
|
-
throw new Error("Not a list context path to an entity: " + sPath);
|
|
1614
|
-
}
|
|
1615
|
-
|
|
1616
|
-
return iPredicateIndex;
|
|
1617
|
-
},
|
|
1618
|
-
|
|
1619
1641
|
/**
|
|
1620
1642
|
* Returns the value of the private client-side instance annotation with the given
|
|
1621
1643
|
* unqualified name at the given object.
|
|
@@ -1832,6 +1854,24 @@ sap.ui.define([
|
|
|
1832
1854
|
});
|
|
1833
1855
|
},
|
|
1834
1856
|
|
|
1857
|
+
/**
|
|
1858
|
+
* Inserts the given element into the given array at the given index, even it is beyond the
|
|
1859
|
+
* array's current length.
|
|
1860
|
+
*
|
|
1861
|
+
* @param {any[]} aElements - Some array
|
|
1862
|
+
* @param {number} iIndex - Some index
|
|
1863
|
+
* @param {any} vElement - Some element
|
|
1864
|
+
*
|
|
1865
|
+
* @public
|
|
1866
|
+
*/
|
|
1867
|
+
insert : function (aElements, iIndex, vElement) {
|
|
1868
|
+
if (iIndex >= aElements.length) { // Note: #splice ignores iIndex then!
|
|
1869
|
+
aElements[iIndex] = vElement;
|
|
1870
|
+
} else {
|
|
1871
|
+
aElements.splice(iIndex, 0, vElement);
|
|
1872
|
+
}
|
|
1873
|
+
},
|
|
1874
|
+
|
|
1835
1875
|
/**
|
|
1836
1876
|
* Returns a copy of given query options where "$expand" and "$select" are replaced by the
|
|
1837
1877
|
* intersection with the given (navigation) property paths.
|
|
@@ -2309,6 +2349,24 @@ sap.ui.define([
|
|
|
2309
2349
|
}, bAsString);
|
|
2310
2350
|
},
|
|
2311
2351
|
|
|
2352
|
+
/**
|
|
2353
|
+
* Registers the listener for the given owner. Passes a deregister function to the listener.
|
|
2354
|
+
*
|
|
2355
|
+
* @param {object} oOwner - The owner with a map mChangeListeners (which may change)
|
|
2356
|
+
* @param {string} sPath - The path
|
|
2357
|
+
* @param {object} [oListener] - The listener
|
|
2358
|
+
*
|
|
2359
|
+
* @public
|
|
2360
|
+
*/
|
|
2361
|
+
registerChangeListener : function (oOwner, sPath, oListener) {
|
|
2362
|
+
if (oListener) {
|
|
2363
|
+
_Helper.addByPath(oOwner.mChangeListeners, sPath, oListener);
|
|
2364
|
+
oListener.setDeregisterChangeListener(function () {
|
|
2365
|
+
_Helper.removeByPath(oOwner.mChangeListeners, sPath, oListener);
|
|
2366
|
+
});
|
|
2367
|
+
}
|
|
2368
|
+
},
|
|
2369
|
+
|
|
2312
2370
|
/**
|
|
2313
2371
|
* Removes an item from the given map by path.
|
|
2314
2372
|
*
|
|
@@ -3024,21 +3082,6 @@ sap.ui.define([
|
|
|
3024
3082
|
}
|
|
3025
3083
|
},
|
|
3026
3084
|
|
|
3027
|
-
/**
|
|
3028
|
-
* Sets "@$ui5.context.isSelected" in <code>oTarget</code> to true if it is true in
|
|
3029
|
-
* <code>oSource</code>.
|
|
3030
|
-
*
|
|
3031
|
-
* @param {object} oSource - The source object
|
|
3032
|
-
* @param {object} oTarget - The target object
|
|
3033
|
-
*
|
|
3034
|
-
* @public
|
|
3035
|
-
*/
|
|
3036
|
-
copySelected : function (oSource, oTarget) {
|
|
3037
|
-
if (oSource["@$ui5.context.isSelected"] === true) {
|
|
3038
|
-
oTarget["@$ui5.context.isSelected"] = true;
|
|
3039
|
-
}
|
|
3040
|
-
},
|
|
3041
|
-
|
|
3042
3085
|
/**
|
|
3043
3086
|
* Creates the query options for a child binding with the meta path given by its base
|
|
3044
3087
|
* meta path and relative meta path. Adds the key properties to $select of all expanded
|