@openui5/sap.ui.core 1.124.1 → 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 +6 -3
- package/src/sap/ui/core/ComponentContainer.js +1 -1
- package/src/sap/ui/core/ComponentMetadata.js +1 -1
- package/src/sap/ui/core/ComponentSupport.js +1 -1
- package/src/sap/ui/core/Configuration.js +1 -1
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +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 +23 -16
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +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/theming/Parameters.js +2 -2
- 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 +45 -13
- package/src/sap/ui/model/odata/v4/ODataBinding.js +20 -20
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +68 -68
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +283 -212
- 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 -202
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/lib/_AggregationCache.js +90 -20
- package/src/sap/ui/model/odata/v4/lib/_AggregationHelper.js +5 -0
- package/src/sap/ui/model/odata/v4/lib/_Cache.js +38 -42
- package/src/sap/ui/model/odata/v4/lib/_Helper.js +93 -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 +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/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 +0 -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/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 +148 -1
- 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 +54 -0
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +277 -15
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +580 -13
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.qunit.js +86 -5
- package/test/sap/ui/core/qunit/odata/v4/lib/_AggregationCache.qunit.js +268 -5
- 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 +4 -10
- package/test/sap/ui/core/qunit/odata/v4/lib/_Helper.qunit.js +61 -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/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 -21
- 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
|
@@ -51,149 +51,68 @@ sap.ui.define([
|
|
|
51
51
|
var sClassName = "sap.ui.model.odata.v4.ODataParentBinding";
|
|
52
52
|
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* @param {function} fnFunction The function to call when the event occurs
|
|
57
|
-
* @param {object} [oListener] Object on which to call the given function
|
|
58
|
-
* @returns {this} <code>this</code> to allow method chaining
|
|
59
|
-
*
|
|
60
|
-
* @public
|
|
61
|
-
* @since 1.59.0
|
|
62
|
-
*/
|
|
63
|
-
ODataParentBinding.prototype.attachPatchCompleted = function (fnFunction, oListener) {
|
|
64
|
-
return this.attachEvent("patchCompleted", fnFunction, oListener);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Detach event handler <code>fnFunction</code> from the 'patchCompleted' event of this binding.
|
|
69
|
-
*
|
|
70
|
-
* @param {function} fnFunction The function to call when the event occurs
|
|
71
|
-
* @param {object} [oListener] Object on which to call the given function
|
|
72
|
-
* @returns {this} <code>this</code> to allow method chaining
|
|
73
|
-
*
|
|
74
|
-
* @public
|
|
75
|
-
* @since 1.59.0
|
|
76
|
-
*/
|
|
77
|
-
ODataParentBinding.prototype.detachPatchCompleted = function (fnFunction, oListener) {
|
|
78
|
-
return this.detachEvent("patchCompleted", fnFunction, oListener);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* Handles exceptional cases of setting the property with the given path to the given value.
|
|
83
|
-
*
|
|
84
|
-
* @param {string} sPath
|
|
85
|
-
* A path (absolute or relative to this binding)
|
|
86
|
-
* @param {any} vValue
|
|
87
|
-
* The new value which must be primitive
|
|
88
|
-
* @param {sap.ui.model.odata.v4.lib._GroupLock} [oGroupLock]
|
|
89
|
-
* A lock for the group ID to be used for the PATCH request; without a lock, no PATCH is sent
|
|
90
|
-
* @returns {sap.ui.base.SyncPromise|undefined}
|
|
91
|
-
* <code>undefined</code> for the general case which is handled generically by the caller
|
|
92
|
-
* {@link sap.ui.model.odata.v4.Context#doSetProperty} or a <code>SyncPromise</code> for the
|
|
93
|
-
* exceptional case
|
|
94
|
-
*
|
|
95
|
-
* @abstract
|
|
96
|
-
* @function
|
|
97
|
-
* @name sap.ui.model.odata.v4.ODataParentBinding#doSetProperty
|
|
98
|
-
* @private
|
|
99
|
-
*/
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Binding specific code for suspend.
|
|
103
|
-
*
|
|
104
|
-
* @private
|
|
105
|
-
*/
|
|
106
|
-
ODataParentBinding.prototype.doSuspend = function () {
|
|
107
|
-
// nothing to do here
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Finds the context that matches the given canonical path.
|
|
54
|
+
* Find the context in the uppermost binding in the hierarchy that can be reached with an empty
|
|
55
|
+
* path.
|
|
112
56
|
*
|
|
113
|
-
* @param {
|
|
114
|
-
* The
|
|
57
|
+
* @param {sap.ui.model.odata.v4.Context} oContext
|
|
58
|
+
* The context of the caller
|
|
115
59
|
* @returns {sap.ui.model.odata.v4.Context}
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
* @function
|
|
119
|
-
* @name sap.ui.model.odata.v4.ODataParentBinding#findContextForCanonicalPath
|
|
120
|
-
* @private
|
|
121
|
-
*/
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* Fire event 'patchCompleted' to attached listeners, if the last PATCH request is completed.
|
|
60
|
+
* The context that can be reached through empty paths
|
|
125
61
|
*
|
|
126
|
-
* @param {boolean} bSuccess Whether the current PATCH request has been processed successfully
|
|
127
62
|
* @private
|
|
128
63
|
*/
|
|
129
|
-
ODataParentBinding.prototype.
|
|
130
|
-
if (this.
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
this.iPatchCounter -= 1;
|
|
134
|
-
this.bPatchSuccess &&= bSuccess;
|
|
135
|
-
if (this.iPatchCounter === 0) {
|
|
136
|
-
this.fireEvent("patchCompleted", {success : this.bPatchSuccess});
|
|
137
|
-
this.bPatchSuccess = true;
|
|
64
|
+
ODataParentBinding.prototype._findEmptyPathParentContext = function (oContext) {
|
|
65
|
+
if (this.sPath === "" && this.oContext.getBinding) {
|
|
66
|
+
return this.oContext.getBinding()._findEmptyPathParentContext(this.oContext);
|
|
138
67
|
}
|
|
68
|
+
return oContext;
|
|
139
69
|
};
|
|
140
70
|
|
|
141
71
|
/**
|
|
142
|
-
*
|
|
72
|
+
* Resumes this binding. The binding can again fire change events and initiate data service
|
|
73
|
+
* requests.
|
|
143
74
|
*
|
|
144
|
-
* @param {
|
|
145
|
-
*
|
|
146
|
-
* @
|
|
75
|
+
* @param {boolean} bAsPrerenderingTask
|
|
76
|
+
* Whether resume is done as a prerendering task
|
|
77
|
+
* @throws {Error}
|
|
78
|
+
* If this binding is relative to an {@link sap.ui.model.odata.v4.Context} or if it is an
|
|
79
|
+
* operation binding or if it is not suspended
|
|
147
80
|
*
|
|
148
|
-
* @
|
|
149
|
-
* @
|
|
81
|
+
* @private
|
|
82
|
+
* @see #suspend
|
|
150
83
|
*/
|
|
151
|
-
ODataParentBinding.prototype.
|
|
152
|
-
|
|
153
|
-
};
|
|
84
|
+
ODataParentBinding.prototype._resume = function (bAsPrerenderingTask) {
|
|
85
|
+
var that = this;
|
|
154
86
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
* @since 1.59.0
|
|
164
|
-
*/
|
|
165
|
-
ODataParentBinding.prototype.detachPatchSent = function (fnFunction, oListener) {
|
|
166
|
-
return this.detachEvent("patchSent", fnFunction, oListener);
|
|
167
|
-
};
|
|
87
|
+
function doResume() {
|
|
88
|
+
that.bSuspended = false;
|
|
89
|
+
if (that.oResumePromise) {
|
|
90
|
+
that.resumeInternal(true);
|
|
91
|
+
that.oResumePromise.$resolve();
|
|
92
|
+
that.oResumePromise = undefined;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
168
95
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
this.
|
|
176
|
-
|
|
177
|
-
this.fireEvent("patchSent");
|
|
96
|
+
if (this.oOperation) {
|
|
97
|
+
throw new Error("Cannot resume an operation binding: " + this);
|
|
98
|
+
}
|
|
99
|
+
if (!this.isRoot()) {
|
|
100
|
+
throw new Error("Cannot resume a relative binding: " + this);
|
|
101
|
+
}
|
|
102
|
+
if (!this.bSuspended) {
|
|
103
|
+
throw new Error("Cannot resume a not suspended binding: " + this);
|
|
178
104
|
}
|
|
179
|
-
};
|
|
180
105
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
* @private
|
|
191
|
-
*/
|
|
192
|
-
ODataParentBinding.prototype._findEmptyPathParentContext = function (oContext) {
|
|
193
|
-
if (this.sPath === "" && this.oContext.getBinding) {
|
|
194
|
-
return this.oContext.getBinding()._findEmptyPathParentContext(this.oContext);
|
|
106
|
+
if (bAsPrerenderingTask) {
|
|
107
|
+
// wait one additional prerendering because resume itself starts in a prerendering task
|
|
108
|
+
this.createReadGroupLock(this.getGroupId(), true, 1);
|
|
109
|
+
// dependent bindings are only removed in a *new task* in ManagedObject#updateBindings
|
|
110
|
+
// => must only resume in prerendering task
|
|
111
|
+
this.oModel.addPrerenderingTask(doResume);
|
|
112
|
+
} else {
|
|
113
|
+
this.createReadGroupLock(this.getGroupId(), true);
|
|
114
|
+
doResume();
|
|
195
115
|
}
|
|
196
|
-
return oContext;
|
|
197
116
|
};
|
|
198
117
|
|
|
199
118
|
/**
|
|
@@ -325,6 +244,34 @@ sap.ui.define([
|
|
|
325
244
|
return false;
|
|
326
245
|
};
|
|
327
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Attach event handler <code>fnFunction</code> to the 'patchCompleted' event of this binding.
|
|
249
|
+
*
|
|
250
|
+
* @param {function} fnFunction The function to call when the event occurs
|
|
251
|
+
* @param {object} [oListener] Object on which to call the given function
|
|
252
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
253
|
+
*
|
|
254
|
+
* @public
|
|
255
|
+
* @since 1.59.0
|
|
256
|
+
*/
|
|
257
|
+
ODataParentBinding.prototype.attachPatchCompleted = function (fnFunction, oListener) {
|
|
258
|
+
return this.attachEvent("patchCompleted", fnFunction, oListener);
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Attach event handler <code>fnFunction</code> to the 'patchSent' event of this binding.
|
|
263
|
+
*
|
|
264
|
+
* @param {function} fnFunction The function to call when the event occurs
|
|
265
|
+
* @param {object} [oListener] Object on which to call the given function
|
|
266
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
267
|
+
*
|
|
268
|
+
* @public
|
|
269
|
+
* @since 1.59.0
|
|
270
|
+
*/
|
|
271
|
+
ODataParentBinding.prototype.attachPatchSent = function (fnFunction, oListener) {
|
|
272
|
+
return this.attachEvent("patchSent", fnFunction, oListener);
|
|
273
|
+
};
|
|
274
|
+
|
|
328
275
|
/**
|
|
329
276
|
* Changes this binding's parameters and refreshes the binding. Since 1.111.0, a list binding's
|
|
330
277
|
* header context is deselected, but (since 1.120.13) only if the binding parameter
|
|
@@ -705,6 +652,63 @@ sap.ui.define([
|
|
|
705
652
|
asODataBinding.prototype.destroy.call(this);
|
|
706
653
|
};
|
|
707
654
|
|
|
655
|
+
/**
|
|
656
|
+
* Detach event handler <code>fnFunction</code> from the 'patchCompleted' event of this binding.
|
|
657
|
+
*
|
|
658
|
+
* @param {function} fnFunction The function to call when the event occurs
|
|
659
|
+
* @param {object} [oListener] Object on which to call the given function
|
|
660
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
661
|
+
*
|
|
662
|
+
* @public
|
|
663
|
+
* @since 1.59.0
|
|
664
|
+
*/
|
|
665
|
+
ODataParentBinding.prototype.detachPatchCompleted = function (fnFunction, oListener) {
|
|
666
|
+
return this.detachEvent("patchCompleted", fnFunction, oListener);
|
|
667
|
+
};
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* Detach event handler <code>fnFunction</code> from the 'patchSent' event of this binding.
|
|
671
|
+
*
|
|
672
|
+
* @param {function} fnFunction The function to call when the event occurs
|
|
673
|
+
* @param {object} [oListener] Object on which to call the given function
|
|
674
|
+
* @returns {this} <code>this</code> to allow method chaining
|
|
675
|
+
*
|
|
676
|
+
* @public
|
|
677
|
+
* @since 1.59.0
|
|
678
|
+
*/
|
|
679
|
+
ODataParentBinding.prototype.detachPatchSent = function (fnFunction, oListener) {
|
|
680
|
+
return this.detachEvent("patchSent", fnFunction, oListener);
|
|
681
|
+
};
|
|
682
|
+
|
|
683
|
+
/**
|
|
684
|
+
* Handles exceptional cases of setting the property with the given path to the given value.
|
|
685
|
+
*
|
|
686
|
+
* @param {string} sPath
|
|
687
|
+
* A path (absolute or relative to this binding)
|
|
688
|
+
* @param {any} vValue
|
|
689
|
+
* The new value which must be primitive
|
|
690
|
+
* @param {sap.ui.model.odata.v4.lib._GroupLock} [oGroupLock]
|
|
691
|
+
* A lock for the group ID to be used for the PATCH request; without a lock, no PATCH is sent
|
|
692
|
+
* @returns {sap.ui.base.SyncPromise|undefined}
|
|
693
|
+
* <code>undefined</code> for the general case which is handled generically by the caller
|
|
694
|
+
* {@link sap.ui.model.odata.v4.Context#doSetProperty} or a <code>SyncPromise</code> for the
|
|
695
|
+
* exceptional case
|
|
696
|
+
*
|
|
697
|
+
* @abstract
|
|
698
|
+
* @function
|
|
699
|
+
* @name sap.ui.model.odata.v4.ODataParentBinding#doSetProperty
|
|
700
|
+
* @private
|
|
701
|
+
*/
|
|
702
|
+
|
|
703
|
+
/**
|
|
704
|
+
* Binding specific code for suspend.
|
|
705
|
+
*
|
|
706
|
+
* @private
|
|
707
|
+
*/
|
|
708
|
+
ODataParentBinding.prototype.doSuspend = function () {
|
|
709
|
+
// nothing to do here
|
|
710
|
+
};
|
|
711
|
+
|
|
708
712
|
/**
|
|
709
713
|
* Determines whether a child binding with the given context and path can use
|
|
710
714
|
* the cache of this binding or one of its ancestor bindings. If this is the case, enhances
|
|
@@ -996,6 +1000,49 @@ sap.ui.define([
|
|
|
996
1000
|
});
|
|
997
1001
|
};
|
|
998
1002
|
|
|
1003
|
+
/**
|
|
1004
|
+
* Finds the context that matches the given canonical path.
|
|
1005
|
+
*
|
|
1006
|
+
* @param {string} sCanonicalPath
|
|
1007
|
+
* The canonical path of an entity (as a context path with the leading "/")
|
|
1008
|
+
* @returns {sap.ui.model.odata.v4.Context}
|
|
1009
|
+
* A matching context or <code>undefined</code> if there is none
|
|
1010
|
+
*
|
|
1011
|
+
* @function
|
|
1012
|
+
* @name sap.ui.model.odata.v4.ODataParentBinding#findContextForCanonicalPath
|
|
1013
|
+
* @private
|
|
1014
|
+
*/
|
|
1015
|
+
|
|
1016
|
+
/**
|
|
1017
|
+
* Fire event 'patchCompleted' to attached listeners, if the last PATCH request is completed.
|
|
1018
|
+
*
|
|
1019
|
+
* @param {boolean} bSuccess Whether the current PATCH request has been processed successfully
|
|
1020
|
+
* @private
|
|
1021
|
+
*/
|
|
1022
|
+
ODataParentBinding.prototype.firePatchCompleted = function (bSuccess) {
|
|
1023
|
+
if (this.iPatchCounter === 0) {
|
|
1024
|
+
throw new Error("Completed more PATCH requests than sent");
|
|
1025
|
+
}
|
|
1026
|
+
this.iPatchCounter -= 1;
|
|
1027
|
+
this.bPatchSuccess &&= bSuccess;
|
|
1028
|
+
if (this.iPatchCounter === 0) {
|
|
1029
|
+
this.fireEvent("patchCompleted", {success : this.bPatchSuccess});
|
|
1030
|
+
this.bPatchSuccess = true;
|
|
1031
|
+
}
|
|
1032
|
+
};
|
|
1033
|
+
|
|
1034
|
+
/**
|
|
1035
|
+
* Fire event 'patchSent' to attached listeners, if the first PATCH request is sent.
|
|
1036
|
+
*
|
|
1037
|
+
* @private
|
|
1038
|
+
*/
|
|
1039
|
+
ODataParentBinding.prototype.firePatchSent = function () {
|
|
1040
|
+
this.iPatchCounter += 1;
|
|
1041
|
+
if (this.iPatchCounter === 1) {
|
|
1042
|
+
this.fireEvent("patchSent");
|
|
1043
|
+
}
|
|
1044
|
+
};
|
|
1045
|
+
|
|
999
1046
|
/**
|
|
1000
1047
|
* Returns the absolute base path used for path reduction of child (property) bindings. This is
|
|
1001
1048
|
* the shortest possible path of a binding that may carry the data for the reduced path. A
|
|
@@ -1020,6 +1067,19 @@ sap.ui.define([
|
|
|
1020
1067
|
return this.getResolvedPath();
|
|
1021
1068
|
};
|
|
1022
1069
|
|
|
1070
|
+
/**
|
|
1071
|
+
* Returns the unique number of this bindings's generation, or <code>0</code> if it does not
|
|
1072
|
+
* belong to any specific generation. This number can be inherited from a parent context.
|
|
1073
|
+
*
|
|
1074
|
+
* @returns {number}
|
|
1075
|
+
* The unique number of this binding's generation, or <code>0</code>
|
|
1076
|
+
*
|
|
1077
|
+
* @private
|
|
1078
|
+
*/
|
|
1079
|
+
ODataParentBinding.prototype.getGeneration = function () {
|
|
1080
|
+
return this.bRelative && this.oContext.getGeneration && this.oContext.getGeneration() || 0;
|
|
1081
|
+
};
|
|
1082
|
+
|
|
1023
1083
|
/**
|
|
1024
1084
|
* Returns the query options that can be inherited from this binding, including late query
|
|
1025
1085
|
* options.
|
|
@@ -1038,19 +1098,6 @@ sap.ui.define([
|
|
|
1038
1098
|
this.oContext.getBinding().getInheritableQueryOptions(), this.sPath);
|
|
1039
1099
|
};
|
|
1040
1100
|
|
|
1041
|
-
/**
|
|
1042
|
-
* Returns the unique number of this bindings's generation, or <code>0</code> if it does not
|
|
1043
|
-
* belong to any specific generation. This number can be inherited from a parent context.
|
|
1044
|
-
*
|
|
1045
|
-
* @returns {number}
|
|
1046
|
-
* The unique number of this binding's generation, or <code>0</code>
|
|
1047
|
-
*
|
|
1048
|
-
* @private
|
|
1049
|
-
*/
|
|
1050
|
-
ODataParentBinding.prototype.getGeneration = function () {
|
|
1051
|
-
return this.bRelative && this.oContext.getGeneration && this.oContext.getGeneration() || 0;
|
|
1052
|
-
};
|
|
1053
|
-
|
|
1054
1101
|
/**
|
|
1055
1102
|
* Returns the query options for the given path relative to this binding. Uses the options
|
|
1056
1103
|
* resulting from the binding parameters or the options inherited from the parent binding by
|
|
@@ -1308,22 +1355,6 @@ sap.ui.define([
|
|
|
1308
1355
|
});
|
|
1309
1356
|
};
|
|
1310
1357
|
|
|
1311
|
-
/**
|
|
1312
|
-
* Resumes this binding and all dependent bindings, fires a change or refresh event afterwards.
|
|
1313
|
-
*
|
|
1314
|
-
* @param {boolean} bCheckUpdate
|
|
1315
|
-
* Parameter is ignored; dependent property bindings of a list binding never call checkUpdate
|
|
1316
|
-
* @param {boolean} [bParentHasChanges]
|
|
1317
|
-
* Whether there are changes on the parent binding that become active after resuming. If
|
|
1318
|
-
* <code>true</code>, this binding is allowed to reuse the parent cache, otherwise this
|
|
1319
|
-
* binding has to create its own cache
|
|
1320
|
-
*
|
|
1321
|
-
* @abstract
|
|
1322
|
-
* @function
|
|
1323
|
-
* @name sap.ui.model.odata.v4.ODataParentBinding#resumeInternal
|
|
1324
|
-
* @private
|
|
1325
|
-
*/
|
|
1326
|
-
|
|
1327
1358
|
/**
|
|
1328
1359
|
* If there is a refresh promise created by {@link #createRefreshPromise}, it is resolved with
|
|
1329
1360
|
* the given promise and cleared. Does not reject the refresh promise with a canceled error.
|
|
@@ -1345,53 +1376,6 @@ sap.ui.define([
|
|
|
1345
1376
|
return oPromise;
|
|
1346
1377
|
};
|
|
1347
1378
|
|
|
1348
|
-
/**
|
|
1349
|
-
* Resumes this binding. The binding can again fire change events and initiate data service
|
|
1350
|
-
* requests.
|
|
1351
|
-
*
|
|
1352
|
-
* @param {boolean} bAsPrerenderingTask
|
|
1353
|
-
* Whether resume is done as a prerendering task
|
|
1354
|
-
* @throws {Error}
|
|
1355
|
-
* If this binding is relative to an {@link sap.ui.model.odata.v4.Context} or if it is an
|
|
1356
|
-
* operation binding or if it is not suspended
|
|
1357
|
-
*
|
|
1358
|
-
* @private
|
|
1359
|
-
* @see #suspend
|
|
1360
|
-
*/
|
|
1361
|
-
ODataParentBinding.prototype._resume = function (bAsPrerenderingTask) {
|
|
1362
|
-
var that = this;
|
|
1363
|
-
|
|
1364
|
-
function doResume() {
|
|
1365
|
-
that.bSuspended = false;
|
|
1366
|
-
if (that.oResumePromise) {
|
|
1367
|
-
that.resumeInternal(true);
|
|
1368
|
-
that.oResumePromise.$resolve();
|
|
1369
|
-
that.oResumePromise = undefined;
|
|
1370
|
-
}
|
|
1371
|
-
}
|
|
1372
|
-
|
|
1373
|
-
if (this.oOperation) {
|
|
1374
|
-
throw new Error("Cannot resume an operation binding: " + this);
|
|
1375
|
-
}
|
|
1376
|
-
if (!this.isRoot()) {
|
|
1377
|
-
throw new Error("Cannot resume a relative binding: " + this);
|
|
1378
|
-
}
|
|
1379
|
-
if (!this.bSuspended) {
|
|
1380
|
-
throw new Error("Cannot resume a not suspended binding: " + this);
|
|
1381
|
-
}
|
|
1382
|
-
|
|
1383
|
-
if (bAsPrerenderingTask) {
|
|
1384
|
-
// wait one additional prerendering because resume itself starts in a prerendering task
|
|
1385
|
-
this.createReadGroupLock(this.getGroupId(), true, 1);
|
|
1386
|
-
// dependent bindings are only removed in a *new task* in ManagedObject#updateBindings
|
|
1387
|
-
// => must only resume in prerendering task
|
|
1388
|
-
this.oModel.addPrerenderingTask(doResume);
|
|
1389
|
-
} else {
|
|
1390
|
-
this.createReadGroupLock(this.getGroupId(), true);
|
|
1391
|
-
doResume();
|
|
1392
|
-
}
|
|
1393
|
-
};
|
|
1394
|
-
|
|
1395
1379
|
/**
|
|
1396
1380
|
* Resumes this binding. The binding can then again fire change events and initiate data service
|
|
1397
1381
|
* requests.
|
|
@@ -1439,6 +1423,22 @@ sap.ui.define([
|
|
|
1439
1423
|
return Promise.resolve(this.oResumePromise);
|
|
1440
1424
|
};
|
|
1441
1425
|
|
|
1426
|
+
/**
|
|
1427
|
+
* Resumes this binding and all dependent bindings, fires a change or refresh event afterwards.
|
|
1428
|
+
*
|
|
1429
|
+
* @param {boolean} bCheckUpdate
|
|
1430
|
+
* Parameter is ignored; dependent property bindings of a list binding never call checkUpdate
|
|
1431
|
+
* @param {boolean} [bParentHasChanges]
|
|
1432
|
+
* Whether there are changes on the parent binding that become active after resuming. If
|
|
1433
|
+
* <code>true</code>, this binding is allowed to reuse the parent cache, otherwise this
|
|
1434
|
+
* binding has to create its own cache
|
|
1435
|
+
*
|
|
1436
|
+
* @abstract
|
|
1437
|
+
* @function
|
|
1438
|
+
* @name sap.ui.model.odata.v4.ODataParentBinding#resumeInternal
|
|
1439
|
+
* @private
|
|
1440
|
+
*/
|
|
1441
|
+
|
|
1442
1442
|
/**
|
|
1443
1443
|
* Adds the key properties of the entity reached by the given navigation property path to
|
|
1444
1444
|
* $select of the query options. Expects that the type has already been loaded so that it can
|
|
@@ -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.125.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
|
|
@@ -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
|
|
|
@@ -1943,7 +2013,7 @@ sap.ui.define([
|
|
|
1943
2013
|
mQueryOptions = getApply(
|
|
1944
2014
|
_AggregationHelper.buildApply4Hierarchy(oAggregation, this.mQueryOptions));
|
|
1945
2015
|
} else {
|
|
1946
|
-
const oCache = _Helper.getPrivateAnnotation(oElement, "parent");
|
|
2016
|
+
const oCache = _Helper.getPrivateAnnotation(oElement, "parent", this.oFirstLevel);
|
|
1947
2017
|
mQueryOptions = bDropFilter
|
|
1948
2018
|
? _AggregationHelper
|
|
1949
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
|
}
|