@openui5/sap.ui.core 1.120.0 → 1.120.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/jquery.sap.global.js +1 -1
- package/src/jquery.sap.properties.js +1 -1
- package/src/jquery.sap.resources.js +1 -1
- package/src/jquery.sap.script.js +1 -1
- package/src/jquery.sap.storage.js +3 -3
- package/src/sap/base/Event.js +2 -2
- package/src/sap/base/Eventing.js +1 -1
- package/src/sap/base/config.js +1 -1
- package/src/sap/base/i18n/Formatting.js +30 -14
- package/src/sap/base/i18n/LanguageTag.js +1 -1
- package/src/sap/base/i18n/Localization.js +1 -2
- 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 -57
- package/src/sap/ui/base/ManagedObjectMetadata.js +25 -1
- package/src/sap/ui/base/Metadata.js +1 -1
- package/src/sap/ui/base/Object.js +1 -1
- package/src/sap/ui/base/ObjectPool.js +1 -1
- package/src/sap/ui/core/.library +1 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +27 -8
- package/src/sap/ui/core/ComponentContainer.js +3 -3
- 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 +9 -7
- package/src/sap/ui/core/Control.js +1 -1
- package/src/sap/ui/core/Core.js +14 -68
- 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 +7 -3
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -1
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +3 -3
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/Lib.js +59 -29
- 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 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/date/Islamic.js +4 -4
- 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/DragDropBase.js +1 -1
- package/src/sap/ui/core/dnd/DragDropInfo.js +1 -1
- package/src/sap/ui/core/dnd/DragInfo.js +1 -1
- package/src/sap/ui/core/dnd/DropInfo.js +1 -1
- package/src/sap/ui/core/format/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/ControllerExtensionProvider.js +1 -1
- 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 +2 -2
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +2 -1
- package/src/sap/ui/core/search/SearchProvider.js +2 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +2 -2
- 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 +1 -1
- package/src/sap/ui/core/tmpl/DOMElement.js +1 -1
- package/src/sap/ui/core/tmpl/HandlebarsTemplate.js +1 -1
- package/src/sap/ui/core/tmpl/Template.js +1 -1
- package/src/sap/ui/core/tmpl/TemplateControl.js +1 -1
- package/src/sap/ui/core/util/AsyncHintsHelper.js +1 -1
- package/src/sap/ui/core/util/Export.js +1 -1
- package/src/sap/ui/core/util/ExportCell.js +1 -1
- package/src/sap/ui/core/util/ExportColumn.js +1 -1
- package/src/sap/ui/core/util/ExportRow.js +1 -1
- package/src/sap/ui/core/util/ExportType.js +1 -1
- package/src/sap/ui/core/util/ExportTypeCSV.js +1 -1
- package/src/sap/ui/core/util/File.js +1 -1
- package/src/sap/ui/core/util/LibraryInfo.js +1 -1
- package/src/sap/ui/core/util/MockServer.js +1 -1
- package/src/sap/ui/core/util/PasteHelper.js +1 -1
- package/src/sap/ui/core/util/_LocalizationHelper.js +122 -0
- package/src/sap/ui/core/util/serializer/HTMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/Serializer.js +1 -1
- package/src/sap/ui/core/util/serializer/ViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/XMLViewSerializer.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/Delegate.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/HTML.js +1 -1
- package/src/sap/ui/core/util/serializer/delegate/XML.js +1 -1
- package/src/sap/ui/core/webc/WebComponent.js +1 -1
- package/src/sap/ui/core/webc/WebComponentMetadata.js +1 -1
- package/src/sap/ui/core/ws/ReadyState.js +1 -1
- package/src/sap/ui/core/ws/SapPcpWebSocket.js +1 -1
- package/src/sap/ui/core/ws/WebSocket.js +1 -1
- package/src/sap/ui/debug/ControlTree.js +1 -1
- package/src/sap/ui/debug/DebugEnv.js +1 -1
- package/src/sap/ui/debug/PropertyList.js +1 -1
- package/src/sap/ui/model/ClientListBinding.js +6 -3
- package/src/sap/ui/model/ClientModel.js +1 -1
- package/src/sap/ui/model/ClientTreeBinding.js +6 -3
- 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/FilterProcessor.js +17 -17
- package/src/sap/ui/model/MetaModel.js +1 -1
- package/src/sap/ui/model/Model.js +10 -8
- 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/json/JSONModel.js +1 -1
- 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/ODataListBinding.js +5 -2
- 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/ODataListBinding.js +5 -2
- package/src/sap/ui/model/odata/v2/ODataModel.js +6 -55
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +6 -3
- package/src/sap/ui/model/odata/v4/Context.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataBinding.js +3 -0
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +2 -2
- package/src/sap/ui/model/odata/v4/ODataModel.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataPropertyBinding.js +1 -1
- package/src/sap/ui/model/resource/ResourceModel.js +1 -1
- package/src/sap/ui/model/type/Boolean.js +1 -1
- package/src/sap/ui/model/type/Currency.js +1 -1
- package/src/sap/ui/model/type/Date.js +1 -1
- package/src/sap/ui/model/type/DateInterval.js +1 -1
- package/src/sap/ui/model/type/DateTime.js +1 -1
- package/src/sap/ui/model/type/DateTimeInterval.js +1 -1
- package/src/sap/ui/model/type/FileSize.js +1 -1
- package/src/sap/ui/model/type/Float.js +1 -1
- package/src/sap/ui/model/type/Integer.js +1 -1
- package/src/sap/ui/model/type/String.js +1 -1
- package/src/sap/ui/model/type/Time.js +1 -1
- package/src/sap/ui/model/type/TimeInterval.js +1 -1
- package/src/sap/ui/model/type/Unit.js +1 -1
- package/src/sap/ui/model/xml/XMLModel.js +1 -1
- package/src/sap/ui/performance/trace/Interaction.js +20 -16
- 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/actions/EnterText.js +4 -0
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/manifest.json +3 -10
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/MessageManager/ODataBackendMessagesComp/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/BindingPath/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/Component.js +1 -1
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/Descendant/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/I18NText/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/manifest.json +3 -11
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/package.json +13 -0
- package/test/sap/ui/core/demokit/sample/matcher/LabelFor/ui5.yaml +11 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/01/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/01/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/02/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/Component.js +9 -25
- package/test/sap/ui/core/demokit/tutorial/databinding/03/manifest.json +20 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/Component.js +9 -26
- package/test/sap/ui/core/demokit/tutorial/databinding/04/manifest.json +21 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/Component.js +9 -26
- package/test/sap/ui/core/demokit/tutorial/databinding/05/manifest.json +21 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/Component.js +9 -27
- package/test/sap/ui/core/demokit/tutorial/databinding/06/manifest.json +22 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/Component.js +9 -28
- package/test/sap/ui/core/demokit/tutorial/databinding/07/manifest.json +23 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/Component.js +9 -28
- package/test/sap/ui/core/demokit/tutorial/databinding/08/manifest.json +23 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/09/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/10/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/databinding/11/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/12/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/13/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/databinding/14/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/Component.js +9 -32
- package/test/sap/ui/core/demokit/tutorial/databinding/15/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/webapp/manifest.json +5 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/Component.js +9 -30
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/manifest.json +24 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/manifest.json +27 -0
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/Component.js +9 -33
- package/test/sap/ui/core/demokit/tutorial/navigation/01/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/Component.js +9 -35
- package/test/sap/ui/core/demokit/tutorial/navigation/02/manifest.json +30 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/Component.js +9 -37
- package/test/sap/ui/core/demokit/tutorial/navigation/03/manifest.json +32 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/Component.js +9 -38
- package/test/sap/ui/core/demokit/tutorial/navigation/04/manifest.json +33 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/Component.js +9 -38
- package/test/sap/ui/core/demokit/tutorial/navigation/05/manifest.json +33 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/Component.js +9 -40
- package/test/sap/ui/core/demokit/tutorial/navigation/06/manifest.json +35 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/Component.js +9 -42
- package/test/sap/ui/core/demokit/tutorial/navigation/07/manifest.json +37 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/Component.js +9 -45
- package/test/sap/ui/core/demokit/tutorial/navigation/08/manifest.json +40 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/Component.js +9 -45
- package/test/sap/ui/core/demokit/tutorial/navigation/09/manifest.json +40 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/Component.js +9 -47
- package/test/sap/ui/core/demokit/tutorial/navigation/10/manifest.json +42 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/11/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/12/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/13/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/14/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/15/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/16/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/Component.js +9 -52
- package/test/sap/ui/core/demokit/tutorial/navigation/17/manifest.json +47 -0
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/Component.js +3 -27
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/manifest.json +28 -0
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/Component.js +9 -29
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/manifest.json +25 -0
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/qunit/ClientModel.qunit.js +28 -28
- package/test/sap/ui/core/qunit/Lib.qunit.js +42 -0
- package/test/sap/ui/core/qunit/ManagedObject.qunit.js +86 -3
- package/test/sap/ui/core/qunit/base/i18n/Formatting.qunit.js +19 -0
- package/test/sap/ui/core/qunit/component/Component.qunit.js +26 -3
- package/test/sap/ui/core/qunit/i18n/Islamic.qunit.js +4 -4
- package/test/sap/ui/core/qunit/model/ClientListBinding.qunit.js +2 -2
- package/test/sap/ui/core/qunit/model/ClientTreeBinding.qunit.js +2 -2
- package/test/sap/ui/core/qunit/model/FilterProcessor.qunit.js +46 -18
- package/test/sap/ui/core/qunit/model/Model.qunit.js +43 -2
- package/test/sap/ui/core/qunit/odata/ODataModel_legacyAPIs.qunit.js +22 -22
- package/test/sap/ui/core/qunit/odata/ODataTreeBindingAdapter.qunit.js +1 -1
- package/test/sap/ui/core/qunit/odata/v2/ODataListBindingNoFakeService.qunit.js +16 -16
- package/test/sap/ui/core/qunit/odata/v2/ODataModelNoFakeService.qunit.js +2 -11
- package/test/sap/ui/core/qunit/odata/v2/ODataTreeBindingNoFakeService.qunit.js +17 -17
- package/test/sap/ui/core/qunit/odata/v2/ODataV2Model.qunit.js +32 -36
- package/test/sap/ui/core/qunit/odata/v4/ODataBinding.qunit.js +19 -9
- package/test/sap/ui/core/qunit/odata/v4/ODataMetaModel.qunit.js +5 -5
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +37 -0
- package/test/sap/ui/core/qunit/opa/actions/EnterText.qunit.js +15 -0
- package/test/sap/ui/core/qunit/performance/trace/FESR.qunit.js +11 -2
- package/test/sap/ui/core/qunit/performance/trace/Interaction.qunit.js +4 -7
- package/test/sap/ui/core/relnotes/changes-1.120.json +82 -0
|
@@ -3083,21 +3083,17 @@ sap.ui.define([
|
|
|
3083
3083
|
});
|
|
3084
3084
|
|
|
3085
3085
|
QUnit.test("createEntry with complex types which have namespace with . characters", function(assert) {
|
|
3086
|
-
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
var oContext = oModel.createEntry("BusinessPartnerSet");
|
|
3086
|
+
const oModel = initModel(sURI, {metadataUrlParams: {test: "complex"}});
|
|
3087
|
+
return oModel.metadataLoaded().then(function() {
|
|
3088
|
+
const oContext = oModel.createEntry("BusinessPartnerSet");
|
|
3090
3089
|
assert.ok(oContext, "context should be created");
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
assert.
|
|
3094
|
-
assert.
|
|
3095
|
-
|
|
3096
|
-
assert.
|
|
3097
|
-
assert.ok(oData.Address.hasOwnProperty('Country'), " check context data");
|
|
3098
|
-
assert.ok(oData.Address.hasOwnProperty('Street'), " check context data");
|
|
3090
|
+
assert.ok(oContext.getObject(), "Entity has been created");
|
|
3091
|
+
// properties of complex type can be accessed
|
|
3092
|
+
assert.strictEqual(oContext.getObject("Address"), undefined);
|
|
3093
|
+
assert.strictEqual(oContext.getObject("Address/City"), undefined);
|
|
3094
|
+
oModel.setProperty("Address/City", "Walldorf", oContext);
|
|
3095
|
+
assert.strictEqual(oContext.getObject("Address/City"), "Walldorf");
|
|
3099
3096
|
oModel.destroy();
|
|
3100
|
-
done();
|
|
3101
3097
|
});
|
|
3102
3098
|
});
|
|
3103
3099
|
|
|
@@ -6716,17 +6712,17 @@ sap.ui.define([
|
|
|
6716
6712
|
});
|
|
6717
6713
|
|
|
6718
6714
|
QUnit.test("Empty Arguments", function(assert) {
|
|
6719
|
-
this.oModel.
|
|
6715
|
+
this.oModel.checkFilter();
|
|
6720
6716
|
assert.ok(true, "No arguments lead to a positive result");
|
|
6721
6717
|
|
|
6722
|
-
this.oModel.
|
|
6718
|
+
this.oModel.checkFilter([]);
|
|
6723
6719
|
assert.ok(true, "Empty array lead to a positive result");
|
|
6724
6720
|
});
|
|
6725
6721
|
|
|
6726
6722
|
QUnit.test("Simple Filters - Supported are OK", function(assert) {
|
|
6727
6723
|
// comma separated syntax
|
|
6728
6724
|
var oSupported = new Filter("x", FilterOperator.NE, "Foo");
|
|
6729
|
-
this.oModel.
|
|
6725
|
+
this.oModel.checkFilter(oSupported);
|
|
6730
6726
|
assert.ok(true, "Valid operators are supported");
|
|
6731
6727
|
|
|
6732
6728
|
// object syntax
|
|
@@ -6735,12 +6731,12 @@ sap.ui.define([
|
|
|
6735
6731
|
operator: FilterOperator.NE,
|
|
6736
6732
|
value1: "FooBar"
|
|
6737
6733
|
});
|
|
6738
|
-
this.oModel.
|
|
6734
|
+
this.oModel.checkFilter(oSupported2);
|
|
6739
6735
|
assert.ok(true, "Valid operators are supported");
|
|
6740
6736
|
|
|
6741
6737
|
// local fnTest - comma separated (should be ignored)
|
|
6742
6738
|
var oSupported3 = new Filter("z", function() {});
|
|
6743
|
-
this.oModel.
|
|
6739
|
+
this.oModel.checkFilter(oSupported3);
|
|
6744
6740
|
assert.ok(true, true, "local fnTest is ignored (comma separated syntax)");
|
|
6745
6741
|
|
|
6746
6742
|
// local fnTest - object syntax (should be ignored)
|
|
@@ -6748,7 +6744,7 @@ sap.ui.define([
|
|
|
6748
6744
|
path: "z",
|
|
6749
6745
|
test: function() {}
|
|
6750
6746
|
});
|
|
6751
|
-
this.oModel.
|
|
6747
|
+
this.oModel.checkFilter(oSupported4);
|
|
6752
6748
|
assert.ok(true, "local fnTest is ignored (object syntax)");
|
|
6753
6749
|
});
|
|
6754
6750
|
|
|
@@ -6762,7 +6758,7 @@ sap.ui.define([
|
|
|
6762
6758
|
});
|
|
6763
6759
|
assert.throws(
|
|
6764
6760
|
function() {
|
|
6765
|
-
this.oModel.
|
|
6761
|
+
this.oModel.checkFilter(oUnsupported3);
|
|
6766
6762
|
}.bind(this),
|
|
6767
6763
|
this.getErrorWithMessage(FilterOperator.Any),
|
|
6768
6764
|
"Invalid operators are not supported (object syntax)"
|
|
@@ -6777,7 +6773,7 @@ sap.ui.define([
|
|
|
6777
6773
|
});
|
|
6778
6774
|
assert.throws(
|
|
6779
6775
|
function() {
|
|
6780
|
-
this.oModel.
|
|
6776
|
+
this.oModel.checkFilter(oUnsupported4);
|
|
6781
6777
|
}.bind(this),
|
|
6782
6778
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6783
6779
|
"Invalid operators are not supported (object syntax)"
|
|
@@ -6794,7 +6790,7 @@ sap.ui.define([
|
|
|
6794
6790
|
});
|
|
6795
6791
|
assert.throws(
|
|
6796
6792
|
function() {
|
|
6797
|
-
this.oModel.
|
|
6793
|
+
this.oModel.checkFilter(oUnsupported3);
|
|
6798
6794
|
}.bind(this),
|
|
6799
6795
|
this.getErrorWithMessage(FilterOperator.Any),
|
|
6800
6796
|
"Invalid operators are not supported (object syntax)"
|
|
@@ -6809,7 +6805,7 @@ sap.ui.define([
|
|
|
6809
6805
|
});
|
|
6810
6806
|
assert.throws(
|
|
6811
6807
|
function() {
|
|
6812
|
-
this.oModel.
|
|
6808
|
+
this.oModel.checkFilter(oUnsupported4);
|
|
6813
6809
|
}.bind(this),
|
|
6814
6810
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6815
6811
|
"Invalid operators are not supported (object syntax)"
|
|
@@ -6822,7 +6818,7 @@ sap.ui.define([
|
|
|
6822
6818
|
|
|
6823
6819
|
// Comma separated syntax
|
|
6824
6820
|
var oMultiFilter2 = new Filter([oFilter1, oFilter2], false);
|
|
6825
|
-
this.oModel.
|
|
6821
|
+
this.oModel.checkFilter(oMultiFilter2);
|
|
6826
6822
|
assert.ok(true, "Valid operators in multi-filter are supported (comma separated syntax)");
|
|
6827
6823
|
|
|
6828
6824
|
// Object Syntax
|
|
@@ -6831,7 +6827,7 @@ sap.ui.define([
|
|
|
6831
6827
|
and: true
|
|
6832
6828
|
});
|
|
6833
6829
|
|
|
6834
|
-
this.oModel.
|
|
6830
|
+
this.oModel.checkFilter(oMultiFilter);
|
|
6835
6831
|
assert.ok(true, "Valid operators in multi-filter are supported (object syntax)");
|
|
6836
6832
|
});
|
|
6837
6833
|
|
|
@@ -6847,7 +6843,7 @@ sap.ui.define([
|
|
|
6847
6843
|
});
|
|
6848
6844
|
assert.throws(
|
|
6849
6845
|
function() {
|
|
6850
|
-
this.oModel.
|
|
6846
|
+
this.oModel.checkFilter(oMultiFilter);
|
|
6851
6847
|
}.bind(this),
|
|
6852
6848
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6853
6849
|
"Invalid operators in multi-filter are unsupported (object syntax)"
|
|
@@ -6860,7 +6856,7 @@ sap.ui.define([
|
|
|
6860
6856
|
});
|
|
6861
6857
|
assert.throws(
|
|
6862
6858
|
function() {
|
|
6863
|
-
this.oModel.
|
|
6859
|
+
this.oModel.checkFilter(oMultiFilter);
|
|
6864
6860
|
}.bind(this),
|
|
6865
6861
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6866
6862
|
"Invalid operators in multi-filter are unsupported (object syntax)"
|
|
@@ -6870,7 +6866,7 @@ sap.ui.define([
|
|
|
6870
6866
|
var oMultiFilter2 = new Filter([oFilter1, oFilter2], true);
|
|
6871
6867
|
assert.throws(
|
|
6872
6868
|
function() {
|
|
6873
|
-
this.oModel.
|
|
6869
|
+
this.oModel.checkFilter(oMultiFilter2);
|
|
6874
6870
|
}.bind(this),
|
|
6875
6871
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6876
6872
|
"Invalid operators in multi-filter are unsupported (comma separated syntax)"
|
|
@@ -6884,7 +6880,7 @@ sap.ui.define([
|
|
|
6884
6880
|
oMultiFilter2 = new Filter([oFilter1, oFilter2], true);
|
|
6885
6881
|
assert.throws(
|
|
6886
6882
|
function() {
|
|
6887
|
-
this.oModel.
|
|
6883
|
+
this.oModel.checkFilter(oMultiFilter2);
|
|
6888
6884
|
}.bind(this),
|
|
6889
6885
|
this.getErrorWithMessage(FilterOperator.Any),
|
|
6890
6886
|
"Invalid operators in multi-filter are unsupported (comma separated syntax)"
|
|
@@ -6903,7 +6899,7 @@ sap.ui.define([
|
|
|
6903
6899
|
});
|
|
6904
6900
|
assert.throws(
|
|
6905
6901
|
function() {
|
|
6906
|
-
this.oModel.
|
|
6902
|
+
this.oModel.checkFilter(oMultiFilter);
|
|
6907
6903
|
}.bind(this),
|
|
6908
6904
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6909
6905
|
"Invalid operators in multi-filter are unsupported (object syntax)"
|
|
@@ -6916,7 +6912,7 @@ sap.ui.define([
|
|
|
6916
6912
|
});
|
|
6917
6913
|
assert.throws(
|
|
6918
6914
|
function() {
|
|
6919
|
-
this.oModel.
|
|
6915
|
+
this.oModel.checkFilter(oMultiFilter);
|
|
6920
6916
|
}.bind(this),
|
|
6921
6917
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6922
6918
|
"Invalid operators in multi-filter are unsupported (object syntax)"
|
|
@@ -6926,7 +6922,7 @@ sap.ui.define([
|
|
|
6926
6922
|
var oMultiFilter2 = new Filter([oFilter1, oFilter2], true);
|
|
6927
6923
|
assert.throws(
|
|
6928
6924
|
function() {
|
|
6929
|
-
this.oModel.
|
|
6925
|
+
this.oModel.checkFilter(oMultiFilter2);
|
|
6930
6926
|
}.bind(this),
|
|
6931
6927
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6932
6928
|
"Invalid operators in multi-filter are unsupported (comma separated syntax)"
|
|
@@ -6941,7 +6937,7 @@ sap.ui.define([
|
|
|
6941
6937
|
|
|
6942
6938
|
assert.throws(
|
|
6943
6939
|
function() {
|
|
6944
|
-
this.oModel.
|
|
6940
|
+
this.oModel.checkFilter(oMultiFilter2);
|
|
6945
6941
|
}.bind(this),
|
|
6946
6942
|
this.getErrorWithMessage(FilterOperator.Any),
|
|
6947
6943
|
"Invalid operators in multi-filter are unsupported (comma separated syntax)"
|
|
@@ -6962,7 +6958,7 @@ sap.ui.define([
|
|
|
6962
6958
|
|
|
6963
6959
|
var oMultiFilter3 = new Filter([oMultiFilter2, oFilter4]);
|
|
6964
6960
|
|
|
6965
|
-
this.oModel.
|
|
6961
|
+
this.oModel.checkFilter(oMultiFilter3);
|
|
6966
6962
|
assert.ok(true, "Valid operators in multi-filter are supported");
|
|
6967
6963
|
});
|
|
6968
6964
|
|
|
@@ -6985,7 +6981,7 @@ sap.ui.define([
|
|
|
6985
6981
|
|
|
6986
6982
|
assert.throws(
|
|
6987
6983
|
function() {
|
|
6988
|
-
this.oModel.
|
|
6984
|
+
this.oModel.checkFilter(oMultiFilter3);
|
|
6989
6985
|
}.bind(this),
|
|
6990
6986
|
this.getErrorWithMessage(FilterOperator.All),
|
|
6991
6987
|
"Invalid operators in multi-filter are unsupported"
|
|
@@ -7019,7 +7015,7 @@ sap.ui.define([
|
|
|
7019
7015
|
|
|
7020
7016
|
assert.throws(
|
|
7021
7017
|
function() {
|
|
7022
|
-
this.oModel.
|
|
7018
|
+
this.oModel.checkFilter(oMultiFilter3);
|
|
7023
7019
|
}.bind(this),
|
|
7024
7020
|
this.getErrorWithMessage(FilterOperator.All),
|
|
7025
7021
|
"Invalid operators in multi-filter are unsupported"
|
|
@@ -985,8 +985,9 @@ sap.ui.define([
|
|
|
985
985
|
|
|
986
986
|
//*********************************************************************************************
|
|
987
987
|
[true, false].forEach(function (bCanUseCache) {
|
|
988
|
+
[false, true].forEach(function (bHasQueryOptions) {
|
|
988
989
|
QUnit.test("fetchOrGetQueryOptionsForOwnCache, auto-$expand/$select: non-parent binding, "
|
|
989
|
-
+ "can use cache " + bCanUseCache,
|
|
990
|
+
+ "can use cache " + bCanUseCache + ", has query=" + bHasQueryOptions,
|
|
990
991
|
function (assert) {
|
|
991
992
|
var oBinding = new ODataBinding({
|
|
992
993
|
doFetchOrGetQueryOptions : function () {},
|
|
@@ -998,11 +999,12 @@ sap.ui.define([
|
|
|
998
999
|
sPath : "relative",
|
|
999
1000
|
bRelative : true
|
|
1000
1001
|
}),
|
|
1001
|
-
mLocalQueryOptions = {},
|
|
1002
1002
|
oParentBinding = {
|
|
1003
1003
|
fetchIfChildCanUseCache : function () {}
|
|
1004
1004
|
},
|
|
1005
|
-
|
|
1005
|
+
vQueryOptions = bHasQueryOptions
|
|
1006
|
+
? SyncPromise.resolve(Promise.resolve("~mLocalQueryOptions~"))
|
|
1007
|
+
: undefined,
|
|
1006
1008
|
oContext = Context.create({}, oParentBinding, "/v4Context");
|
|
1007
1009
|
|
|
1008
1010
|
this.mock(oBinding.oModel).expects("resolve")
|
|
@@ -1010,21 +1012,29 @@ sap.ui.define([
|
|
|
1010
1012
|
.returns("/resolved/path");
|
|
1011
1013
|
this.mock(oBinding).expects("doFetchOrGetQueryOptions")
|
|
1012
1014
|
.withExactArgs(sinon.match.same(oContext))
|
|
1013
|
-
.returns(
|
|
1015
|
+
.returns(vQueryOptions);
|
|
1014
1016
|
this.mock(oParentBinding).expects("fetchIfChildCanUseCache")
|
|
1015
1017
|
.withExactArgs(sinon.match.same(oContext), "relative",
|
|
1016
|
-
sinon.match.same(
|
|
1018
|
+
sinon.match.same(vQueryOptions), true)
|
|
1017
1019
|
.returns(SyncPromise.resolve(bCanUseCache ? "/reduced/path" : undefined));
|
|
1018
1020
|
|
|
1019
1021
|
// code under test
|
|
1020
1022
|
return oBinding.fetchOrGetQueryOptionsForOwnCache(oContext)
|
|
1021
1023
|
.then(function (oResult) {
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1024
|
+
if (bCanUseCache) {
|
|
1025
|
+
assert.deepEqual(oResult, {
|
|
1026
|
+
sReducedPath : "/reduced/path",
|
|
1027
|
+
mQueryOptions : undefined
|
|
1028
|
+
});
|
|
1029
|
+
} else {
|
|
1030
|
+
assert.deepEqual(oResult, {
|
|
1031
|
+
sReducedPath : "/resolved/path",
|
|
1032
|
+
mQueryOptions : bHasQueryOptions ? "~mLocalQueryOptions~" : {}
|
|
1033
|
+
});
|
|
1034
|
+
}
|
|
1026
1035
|
});
|
|
1027
1036
|
});
|
|
1037
|
+
});
|
|
1028
1038
|
});
|
|
1029
1039
|
|
|
1030
1040
|
//*********************************************************************************************
|
|
@@ -1249,20 +1249,20 @@ sap.ui.define([
|
|
|
1249
1249
|
FilterOperator.NotContains, FilterOperator.NotEndsWith, FilterOperator.NotStartsWith,
|
|
1250
1250
|
FilterOperator.StartsWith
|
|
1251
1251
|
].forEach(function (sFilterOperator) {
|
|
1252
|
-
oMetaModel.
|
|
1252
|
+
oMetaModel.checkFilter(new Filter("path", sFilterOperator, "bar"));
|
|
1253
1253
|
});
|
|
1254
|
-
oMetaModel.
|
|
1255
|
-
oMetaModel.
|
|
1254
|
+
oMetaModel.checkFilter(new Filter("path", FilterOperator.BT, "bar", "foo"));
|
|
1255
|
+
oMetaModel.checkFilter(new Filter("path", FilterOperator.NB, "bar", "foo"));
|
|
1256
1256
|
|
|
1257
1257
|
// code under test - unsupported filters
|
|
1258
1258
|
assert.throws(function () {
|
|
1259
|
-
oMetaModel.
|
|
1259
|
+
oMetaModel.checkFilter(new Filter({
|
|
1260
1260
|
path : "path",
|
|
1261
1261
|
operator : FilterOperator.Any
|
|
1262
1262
|
}));
|
|
1263
1263
|
}, /unsupported FilterOperator/, "ClientModel/ClientListBinding doesn't support \"Any\"");
|
|
1264
1264
|
assert.throws(function () {
|
|
1265
|
-
oMetaModel.
|
|
1265
|
+
oMetaModel.checkFilter(new Filter({
|
|
1266
1266
|
path : "path",
|
|
1267
1267
|
operator : FilterOperator.All,
|
|
1268
1268
|
variable : "foo",
|
|
@@ -7761,6 +7761,43 @@ sap.ui.define([
|
|
|
7761
7761
|
});
|
|
7762
7762
|
});
|
|
7763
7763
|
|
|
7764
|
+
//*********************************************************************************************
|
|
7765
|
+
// Scenario: Show properties of various entities in a collection-valued navigation property. The
|
|
7766
|
+
// application in the incident even used different navigation properties via dynamically created
|
|
7767
|
+
// paths based on data it loaded before.
|
|
7768
|
+
// BCP: 2370133257
|
|
7769
|
+
QUnit.test("BCP: 2370133257", async function (assert) {
|
|
7770
|
+
const oModel = this.createSalesOrdersModel({autoExpandSelect : true});
|
|
7771
|
+
const sView = `
|
|
7772
|
+
<FlexBox id="order" binding="{/SalesOrderList('1')}">
|
|
7773
|
+
<Text id="id" text="{SalesOrderID}"/>
|
|
7774
|
+
</FlexBox>
|
|
7775
|
+
<FlexBox id="item">
|
|
7776
|
+
<Text id="note10" text="{SO_2_SOITEM(SalesOrderID='1',ItemPosition='10')/Note}"/>
|
|
7777
|
+
<Text id="note20" text="{SO_2_SOITEM(SalesOrderID='1',ItemPosition='20')/Note}"/>
|
|
7778
|
+
</FlexBox>`;
|
|
7779
|
+
|
|
7780
|
+
this.expectRequest("SalesOrderList('1')?$select=SalesOrderID", {SalesOrderID : "1"})
|
|
7781
|
+
.expectChange("id", "1")
|
|
7782
|
+
.expectChange("note10")
|
|
7783
|
+
.expectChange("note20");
|
|
7784
|
+
|
|
7785
|
+
await this.createView(assert, sView, oModel);
|
|
7786
|
+
|
|
7787
|
+
this.expectRequest(
|
|
7788
|
+
"SalesOrderList('1')/SO_2_SOITEM(SalesOrderID='1',ItemPosition='10')/Note",
|
|
7789
|
+
{value : "Note #10"})
|
|
7790
|
+
.expectRequest(
|
|
7791
|
+
"SalesOrderList('1')/SO_2_SOITEM(SalesOrderID='1',ItemPosition='20')/Note",
|
|
7792
|
+
{value : "Note #20"})
|
|
7793
|
+
.expectChange("note10", "Note #10")
|
|
7794
|
+
.expectChange("note20", "Note #20");
|
|
7795
|
+
|
|
7796
|
+
this.oView.byId("item").setBindingContext(this.oView.byId("order").getBindingContext());
|
|
7797
|
+
|
|
7798
|
+
await this.waitForChanges(assert);
|
|
7799
|
+
});
|
|
7800
|
+
|
|
7764
7801
|
//*********************************************************************************************
|
|
7765
7802
|
// Scenario: Modify a property which does not belong to the parent binding's entity, but is
|
|
7766
7803
|
// related via a navigation property.
|
|
@@ -11,6 +11,7 @@ sap.ui.define([
|
|
|
11
11
|
"sap/m/TimePicker",
|
|
12
12
|
"sap/m/Popover",
|
|
13
13
|
"sap/m/Button",
|
|
14
|
+
"sap/ui/core/Icon",
|
|
14
15
|
"sap/ui/test/Opa5",
|
|
15
16
|
"sap/ui/test/opaQunit",
|
|
16
17
|
"sap/m/library",
|
|
@@ -29,6 +30,7 @@ sap.ui.define([
|
|
|
29
30
|
TimePicker,
|
|
30
31
|
Popover,
|
|
31
32
|
Button,
|
|
33
|
+
Icon,
|
|
32
34
|
Opa5,
|
|
33
35
|
opaTest,
|
|
34
36
|
mobileLibrary,
|
|
@@ -363,6 +365,19 @@ sap.ui.define([
|
|
|
363
365
|
sinon.assert.calledWith(this.oErrorLog, sinon.match(/Please provide a text/));
|
|
364
366
|
});
|
|
365
367
|
|
|
368
|
+
QUnit.test("Should log a warning and exit early when control is not an input", async function (assert) {
|
|
369
|
+
this.oControl = new Icon({src: "sap-icon://edit"});
|
|
370
|
+
|
|
371
|
+
this.oControl.placeAt("qunit-fixture");
|
|
372
|
+
await nextUIUpdate();
|
|
373
|
+
|
|
374
|
+
// without a safe-check, the line below causes errors with the
|
|
375
|
+
// the current alorithm, when executed on a non-input control:
|
|
376
|
+
this.oEnterText.setText("entering some long enough text on an non-input control");
|
|
377
|
+
this.oEnterText.executeOn(this.oControl);
|
|
378
|
+
|
|
379
|
+
sinon.assert.calledWith(this.oDebugLog, sinon.match(/Cannot enter text in control/));
|
|
380
|
+
});
|
|
366
381
|
|
|
367
382
|
QUnit.test("Should enter number with decimals in input of type number and preserve the value", function (assert) {
|
|
368
383
|
var fnDone = assert.async();
|
|
@@ -47,7 +47,6 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
|
|
|
47
47
|
var fnOnBeforeCreated = FESR.onBeforeCreated;
|
|
48
48
|
|
|
49
49
|
FESR.setActive(true);
|
|
50
|
-
Interaction.notifyStepStart("startup", true);
|
|
51
50
|
|
|
52
51
|
// implement hook
|
|
53
52
|
FESR.onBeforeCreated = function(oFESRHandle, oInteraction) {
|
|
@@ -96,7 +95,6 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
|
|
|
96
95
|
|
|
97
96
|
Interaction.end(true);
|
|
98
97
|
Interaction.clear();
|
|
99
|
-
FESR.onBeforeCreated = fnOnBeforeCreated;
|
|
100
98
|
FESR.setActive(false);
|
|
101
99
|
FESR.onBeforeCreated = fnOnBeforeCreated;
|
|
102
100
|
oHeaderSpy.restore();
|
|
@@ -234,8 +232,10 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
|
|
|
234
232
|
|
|
235
233
|
QUnit.test("Beacon strategy", function(assert) {
|
|
236
234
|
assert.expect(9);
|
|
235
|
+
const oTiming = window.performance.timing;
|
|
237
236
|
this.clock = sinon.useFakeTimers();
|
|
238
237
|
window.performance.getEntriesByType = function() { return []; };
|
|
238
|
+
window.performance.timing = oTiming;
|
|
239
239
|
var sendBeaconStub = sinon.stub(window.navigator, "sendBeacon").returns(true);
|
|
240
240
|
var fileReader = new FileReader();
|
|
241
241
|
var done = assert.async();
|
|
@@ -279,6 +279,9 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
|
|
|
279
279
|
|
|
280
280
|
fileReader.readAsText(blobToSend);
|
|
281
281
|
|
|
282
|
+
// cleanup
|
|
283
|
+
delete window.performance.getEntriesByType;
|
|
284
|
+
delete window.performance.timing;
|
|
282
285
|
FESR.setActive(false);
|
|
283
286
|
sendBeaconStub.restore();
|
|
284
287
|
this.clock.restore();
|
|
@@ -286,9 +289,11 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
|
|
|
286
289
|
|
|
287
290
|
QUnit.test("Beacon timeout", function(assert) {
|
|
288
291
|
assert.expect(9);
|
|
292
|
+
const oTiming = window.performance.timing;
|
|
289
293
|
this.clock = sinon.useFakeTimers();
|
|
290
294
|
var sendBeaconStub = sinon.stub(window.navigator, "sendBeacon").returns(true);
|
|
291
295
|
window.performance.getEntriesByType = function() { return []; };
|
|
296
|
+
window.performance.timing = oTiming;
|
|
292
297
|
var addFakeProcessingTime = function () {
|
|
293
298
|
// trigger notifyAsyncStep manually in order to avoid removal of interactions without processing time
|
|
294
299
|
var notifyAsyncStepCallback;
|
|
@@ -341,14 +346,17 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
|
|
|
341
346
|
|
|
342
347
|
// cleanup
|
|
343
348
|
delete window.performance.getEntriesByType;
|
|
349
|
+
delete window.performance.timing;
|
|
344
350
|
sendBeaconStub.restore();
|
|
345
351
|
this.clock.restore();
|
|
346
352
|
});
|
|
347
353
|
|
|
348
354
|
QUnit.test("Semantic Stepname", function(assert) {
|
|
349
355
|
assert.expect(3);
|
|
356
|
+
const oTiming = window.performance.timing;
|
|
350
357
|
this.clock = sinon.useFakeTimers();
|
|
351
358
|
window.performance.getEntriesByType = function() { return []; };
|
|
359
|
+
window.performance.timing = oTiming;
|
|
352
360
|
var addFakeProcessingTime = function () {
|
|
353
361
|
// trigger notifyAsyncStep manually in order to avoid removal of interactions without processing time
|
|
354
362
|
var notifyAsyncStepCallback;
|
|
@@ -379,6 +387,7 @@ sap.ui.define(['sap/ui/performance/trace/FESR', 'sap/ui/performance/trace/Intera
|
|
|
379
387
|
|
|
380
388
|
// cleanup
|
|
381
389
|
delete window.performance.getEntriesByType;
|
|
390
|
+
delete window.performance.timing;
|
|
382
391
|
this.clock.restore();
|
|
383
392
|
});
|
|
384
393
|
|
|
@@ -25,7 +25,7 @@ sap.ui.define([
|
|
|
25
25
|
var oPendingInteraction = Interaction.getPending();
|
|
26
26
|
var iBusyDuration = oPendingInteraction.busyDuration;
|
|
27
27
|
|
|
28
|
-
assert.strictEqual(iBusyDuration, 0, "no busy duration
|
|
28
|
+
assert.strictEqual(iBusyDuration, 0, "no busy duration should have been added");
|
|
29
29
|
|
|
30
30
|
//busy indicator adds busy duration - everything is fine
|
|
31
31
|
Interaction.addBusyDuration(33);
|
|
@@ -79,10 +79,11 @@ sap.ui.define([
|
|
|
79
79
|
|
|
80
80
|
QUnit.module("Interaction API with fake timer", {
|
|
81
81
|
before: function() {
|
|
82
|
+
const oTiming = window.performance.timing;
|
|
82
83
|
this.clock = sinon.useFakeTimers();
|
|
83
84
|
window.performance.getEntriesByType = function() { return []; };
|
|
85
|
+
window.performance.timing = oTiming;
|
|
84
86
|
Interaction.setActive(true);
|
|
85
|
-
this.clock.runAll();
|
|
86
87
|
},
|
|
87
88
|
after: function() {
|
|
88
89
|
Interaction.setActive(false);
|
|
@@ -90,6 +91,7 @@ sap.ui.define([
|
|
|
90
91
|
// Run all pending setTimeout and restore the timer
|
|
91
92
|
this.clock.runAll();
|
|
92
93
|
delete window.performance.getEntriesByType;
|
|
94
|
+
delete window.performance.timing.fetchStart;
|
|
93
95
|
this.clock.restore();
|
|
94
96
|
}
|
|
95
97
|
});
|
|
@@ -97,11 +99,6 @@ sap.ui.define([
|
|
|
97
99
|
QUnit.test("Semantic Stepname", function(assert) {
|
|
98
100
|
assert.expect(2);
|
|
99
101
|
|
|
100
|
-
// Call setActive after activating fakeTimers again, in order to ensure setTimeout calls triggered
|
|
101
|
-
// by setActive are also covered by fakeTimers
|
|
102
|
-
Interaction.setActive(true);
|
|
103
|
-
this.clock.runAll();
|
|
104
|
-
|
|
105
102
|
return XMLView.create({
|
|
106
103
|
definition: '<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:fesr="http://schemas.sap.com/sapui5/extension/sap.ui.core.FESR/1">'
|
|
107
104
|
+ ' <Button id="btnWithDeclarativeSemanticAnnotation" text="Create something" fesr:press="create"/> '
|
|
@@ -356,5 +356,87 @@
|
|
|
356
356
|
"text": " Introduce new sap/ui/core/Security facade and deprecate APIs 'setSecurityTokenHandlers', 'getSecurityTokenHandlers', 'getFrameOptions' and 'getAllowlistService' on sap.ui.core.Configuration."
|
|
357
357
|
}
|
|
358
358
|
]
|
|
359
|
+
},
|
|
360
|
+
"1.120.1": {
|
|
361
|
+
"date": "November 2023",
|
|
362
|
+
"notes": [
|
|
363
|
+
{
|
|
364
|
+
"id": "3bbc19c93a586b7709845dab0d0ebf064981aff0",
|
|
365
|
+
"type": "FIX",
|
|
366
|
+
"text": " Interaction: Fix start time determination",
|
|
367
|
+
"references": [
|
|
368
|
+
{
|
|
369
|
+
"type": "BCP",
|
|
370
|
+
"reference": "2370140056"
|
|
371
|
+
}
|
|
372
|
+
]
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"id": "13505e606cc13296e78a3bb69b9a2f45248758fb",
|
|
376
|
+
"type": "FIX",
|
|
377
|
+
"text": " Rename sap/ui/core/Component#get to sap/ui/core/Component#getComponentById",
|
|
378
|
+
"references": [
|
|
379
|
+
{
|
|
380
|
+
"type": "BCP",
|
|
381
|
+
"reference": ""
|
|
382
|
+
}
|
|
383
|
+
]
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"id": "224900a11628b50318b9f112a0ef092fb69a93db",
|
|
387
|
+
"type": "FEATURE",
|
|
388
|
+
"text": " Deprecation of sap/ui/core/search classes",
|
|
389
|
+
"references": [
|
|
390
|
+
{
|
|
391
|
+
"type": "BCP",
|
|
392
|
+
"reference": ""
|
|
393
|
+
}
|
|
394
|
+
]
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"id": "cccc04332e026bf2e74789d1f70619e8f58d370a",
|
|
398
|
+
"type": "FIX",
|
|
399
|
+
"text": " Rename sap/ui/base/Formatting.(get|set)LegacyDateCalendarCustomizing to sap/ui/base/Formatting.(get|set)CustomIslamicCalendarData",
|
|
400
|
+
"references": [
|
|
401
|
+
{
|
|
402
|
+
"type": "BCP",
|
|
403
|
+
"reference": ""
|
|
404
|
+
}
|
|
405
|
+
]
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"id": "a36bbebb8765411a33e62e1468879fa81e9d411a",
|
|
409
|
+
"type": "FIX",
|
|
410
|
+
"text": " onlocalizationEvent not fired",
|
|
411
|
+
"references": [
|
|
412
|
+
{
|
|
413
|
+
"type": "BCP",
|
|
414
|
+
"reference": "2370127742"
|
|
415
|
+
}
|
|
416
|
+
]
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
"id": "3a0057ee6707726c4523dfa6a76377d478242f22",
|
|
420
|
+
"type": "FIX",
|
|
421
|
+
"text": " ManagedObjectMetadata: Introduce missing 'defaultClass' setting for aggregations",
|
|
422
|
+
"references": [
|
|
423
|
+
{
|
|
424
|
+
"type": "BCP",
|
|
425
|
+
"reference": ""
|
|
426
|
+
}
|
|
427
|
+
]
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"id": "07c96430374a9677583d4fc394fe7f543ed36c56",
|
|
431
|
+
"type": "FIX",
|
|
432
|
+
"text": " core/Component: skip the sync processing of i18n before resources are loaded",
|
|
433
|
+
"references": [
|
|
434
|
+
{
|
|
435
|
+
"type": "BCP",
|
|
436
|
+
"reference": "002075129400007495122023"
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
}
|
|
440
|
+
]
|
|
359
441
|
}
|
|
360
442
|
}
|