@openui5/sap.ui.core 1.124.4 → 1.124.5
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 +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 +1 -1
- package/src/sap/ui/core/BusyIndicator.js +1 -1
- package/src/sap/ui/core/Component.js +1 -1
- 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 +1 -1
- package/src/sap/ui/core/CustomData.js +1 -1
- package/src/sap/ui/core/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/Element.js +13 -50
- package/src/sap/ui/core/ElementMetadata.js +1 -1
- package/src/sap/ui/core/EnabledPropagator.js +1 -6
- package/src/sap/ui/core/EventBus.js +1 -1
- package/src/sap/ui/core/Fragment.js +1 -1
- package/src/sap/ui/core/HTML.js +1 -1
- package/src/sap/ui/core/History.js +1 -1
- package/src/sap/ui/core/Icon.js +1 -1
- package/src/sap/ui/core/IndicationColorSupport.js +1 -1
- package/src/sap/ui/core/IntervalTrigger.js +1 -1
- package/src/sap/ui/core/InvisibleMessage.js +1 -1
- package/src/sap/ui/core/InvisibleRenderer.js +1 -1
- package/src/sap/ui/core/InvisibleText.js +1 -1
- package/src/sap/ui/core/Item.js +1 -1
- package/src/sap/ui/core/LabelEnablement.js +1 -1
- package/src/sap/ui/core/LayoutData.js +1 -1
- package/src/sap/ui/core/ListItem.js +1 -1
- package/src/sap/ui/core/LocalBusyIndicator.js +1 -1
- package/src/sap/ui/core/Locale.js +1 -1
- package/src/sap/ui/core/LocaleData.js +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 +1 -1
- package/src/sap/ui/core/UIComponent.js +1 -1
- package/src/sap/ui/core/UIComponentMetadata.js +1 -1
- package/src/sap/ui/core/ValueStateSupport.js +1 -1
- package/src/sap/ui/core/VariantLayoutData.js +1 -1
- package/src/sap/ui/core/XMLComposite.js +1 -1
- package/src/sap/ui/core/XMLCompositeMetadata.js +1 -1
- package/src/sap/ui/core/date/UI5Date.js +1 -1
- package/src/sap/ui/core/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/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 +4 -4
- 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/HTMLView.js +1 -1
- package/src/sap/ui/core/mvc/JSONView.js +1 -1
- package/src/sap/ui/core/mvc/JSView.js +4 -3
- package/src/sap/ui/core/mvc/TemplateView.js +1 -1
- package/src/sap/ui/core/mvc/View.js +1 -1
- package/src/sap/ui/core/mvc/XMLView.js +1 -1
- package/src/sap/ui/core/plugin/DeclarativeSupport.js +1 -1
- package/src/sap/ui/core/plugin/LessSupport.js +1 -1
- package/src/sap/ui/core/plugin/TemplatingSupport.js +1 -1
- package/src/sap/ui/core/postmessage/Bus.js +1 -1
- package/src/sap/ui/core/postmessage/confirmationDialog.js +1 -1
- package/src/sap/ui/core/search/OpenSearchProvider.js +1 -1
- package/src/sap/ui/core/search/SearchProvider.js +1 -1
- package/src/sap/ui/core/service/Service.js +1 -1
- package/src/sap/ui/core/service/ServiceFactory.js +1 -1
- package/src/sap/ui/core/service/ServiceFactoryRegistry.js +1 -1
- package/src/sap/ui/core/support/Plugin.js +1 -1
- package/src/sap/ui/core/support/Support.js +1 -1
- package/src/sap/ui/core/support/plugins/ControlTree.js +1 -1
- package/src/sap/ui/core/support/plugins/Interaction.js +1 -1
- package/src/sap/ui/core/support/plugins/LocalStorage.js +1 -1
- package/src/sap/ui/core/support/plugins/Performance.js +1 -1
- package/src/sap/ui/core/support/plugins/Selector.js +1 -1
- package/src/sap/ui/core/support/plugins/TechInfo.js +1 -1
- package/src/sap/ui/core/support/plugins/Trace.js +1 -1
- package/src/sap/ui/core/support/plugins/ViewInfo.js +1 -1
- package/src/sap/ui/core/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/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/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/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/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/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 +1 -1
- package/src/sap/ui/model/odata/v2/ODataTreeBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/Context.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataContextBinding.js +1 -1
- package/src/sap/ui/model/odata/v4/ODataListBinding.js +3 -1
- package/src/sap/ui/model/odata/v4/ODataMetaModel.js +1 -1
- 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/qunit/utils/ControlIterator.js +1 -1
- package/src/sap/ui/qunit/utils/MemoryLeakCheck.js +1 -1
- package/src/sap/ui/test/generic/TestBase.js +1 -1
- package/src/sap/ui/util/Storage.js +1 -1
- package/test/sap/ui/core/demokit/sample/Messaging/ODataBackendMessagesComp/ui5.yaml +1 -1
- 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/tutorial/databinding/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/databinding/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/mockserver/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/12/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/13/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/14/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/15/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/16/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/navigation/17/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/01/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/02/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/03/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/04/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/05/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/06/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/07/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/08/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/09/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/10/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/odatav4/11/ui5.yaml +1 -1
- package/test/sap/ui/core/demokit/tutorial/troubleshooting/01/ui5.yaml +1 -1
- package/test/sap/ui/core/qunit/Element_focus.qunit.js +2 -42
- package/test/sap/ui/core/qunit/odata/v4/ODataListBinding.qunit.js +36 -13
- package/test/sap/ui/core/qunit/odata/v4/ODataModel.integration.qunit.js +184 -9
- package/test/sap/ui/core/relnotes/changes-1.124.json +15 -0
- package/test/sap/ui/core/samples/databinding/UnitTable/ui5.yaml +1 -1
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/*global QUnit */
|
|
2
2
|
sap.ui.define([
|
|
3
3
|
"sap/ui/core/BusyIndicator",
|
|
4
|
-
"sap/ui/core/Element",
|
|
5
4
|
"sap/m/Button",
|
|
6
5
|
"sap/m/Dialog",
|
|
7
6
|
"sap/ui/qunit/utils/createAndAppendDiv",
|
|
8
7
|
"sap/ui/qunit/utils/nextUIUpdate",
|
|
9
8
|
"sap/m/Input",
|
|
10
|
-
"sap/m/Panel"
|
|
11
|
-
|
|
12
|
-
], function(BusyIndicator, Element, Button, Dialog, createAndAppendDiv, nextUIUpdate, Input, Panel, Text) {
|
|
9
|
+
"sap/m/Panel"
|
|
10
|
+
], function(BusyIndicator, Button, Dialog, createAndAppendDiv, nextUIUpdate, Input, Panel) {
|
|
13
11
|
"use strict";
|
|
14
12
|
|
|
15
13
|
QUnit.module("Focus Issue");
|
|
@@ -291,42 +289,4 @@ sap.ui.define([
|
|
|
291
289
|
|
|
292
290
|
oDialog.open();
|
|
293
291
|
});
|
|
294
|
-
|
|
295
|
-
QUnit.test("Event 'FocusFail' shouldn't be fired when the control isn't focusable but the current focus is within the control", async function (assert) {
|
|
296
|
-
const oUIArea = createAndAppendDiv("uiarea_focus");
|
|
297
|
-
|
|
298
|
-
const oPanel = new Panel({
|
|
299
|
-
expandable: true,
|
|
300
|
-
headerText: "Panel with a header text",
|
|
301
|
-
width: "auto",
|
|
302
|
-
content: new Text({
|
|
303
|
-
text: "Lorem ipsum dolor st amet"
|
|
304
|
-
})
|
|
305
|
-
});
|
|
306
|
-
|
|
307
|
-
oPanel.placeAt("uiarea_focus");
|
|
308
|
-
await nextUIUpdate();
|
|
309
|
-
|
|
310
|
-
const oDomRef = oPanel.getDomRef();
|
|
311
|
-
const oFocusableDom = oDomRef.querySelector("[tabindex='0']");
|
|
312
|
-
oFocusableDom.focus();
|
|
313
|
-
|
|
314
|
-
const oSpy = this.spy(Element, "fireFocusFail");
|
|
315
|
-
|
|
316
|
-
oPanel.invalidate();
|
|
317
|
-
await nextUIUpdate();
|
|
318
|
-
|
|
319
|
-
assert.equal(oSpy.callCount, 0, "fireFocusFail isn't called");
|
|
320
|
-
|
|
321
|
-
return new Promise((resolve, reject) => {
|
|
322
|
-
setTimeout(() => {
|
|
323
|
-
assert.ok(oDomRef.contains(document.activeElement), "Panel still has the focus");
|
|
324
|
-
|
|
325
|
-
oPanel.destroy();
|
|
326
|
-
oUIArea.remove();
|
|
327
|
-
|
|
328
|
-
resolve();
|
|
329
|
-
}, 0);
|
|
330
|
-
});
|
|
331
|
-
});
|
|
332
292
|
});
|
|
@@ -229,6 +229,7 @@ sap.ui.define([
|
|
|
229
229
|
oBinding.sChangeReason = sChangeReason;
|
|
230
230
|
this.mock(oBinding).expects("isResolved").withExactArgs().returns(true);
|
|
231
231
|
this.mock(oBinding).expects("isRootBindingSuspended").withExactArgs().returns(true);
|
|
232
|
+
this.mock(oBinding).expects("checkDataState").never();
|
|
232
233
|
this.mock(oBinding).expects("_fireChange").never();
|
|
233
234
|
this.mock(oBinding).expects("_fireRefresh").never();
|
|
234
235
|
|
|
@@ -248,6 +249,7 @@ sap.ui.define([
|
|
|
248
249
|
oBinding.sChangeReason = undefined;
|
|
249
250
|
this.mock(oBinding).expects("isResolved").withExactArgs().returns(true);
|
|
250
251
|
this.mock(oBinding).expects("isRootBindingSuspended").withExactArgs().returns(false);
|
|
252
|
+
this.mock(oBinding).expects("checkDataState").never();
|
|
251
253
|
this.mock(oBinding).expects("_fireRefresh")
|
|
252
254
|
.withExactArgs({reason : ChangeReason.Refresh});
|
|
253
255
|
|
|
@@ -264,7 +266,9 @@ sap.ui.define([
|
|
|
264
266
|
oBinding.sChangeReason = "AddVirtualContext";
|
|
265
267
|
this.mock(oBinding).expects("isResolved").withExactArgs().returns(true);
|
|
266
268
|
this.mock(oBinding).expects("isRootBindingSuspended").withExactArgs().returns(false);
|
|
267
|
-
this.mock(oBinding).expects("
|
|
269
|
+
const oCheckDataStateExpectation = this.mock(oBinding).expects("checkDataState")
|
|
270
|
+
.withExactArgs();
|
|
271
|
+
const oFireChangeExpectation = this.mock(oBinding).expects("_fireChange").withExactArgs({
|
|
268
272
|
detailedReason : "AddVirtualContext",
|
|
269
273
|
reason : ChangeReason.Change
|
|
270
274
|
});
|
|
@@ -273,6 +277,7 @@ sap.ui.define([
|
|
|
273
277
|
oBinding.initialize();
|
|
274
278
|
|
|
275
279
|
assert.strictEqual(oBinding.sChangeReason, "AddVirtualContext");
|
|
280
|
+
assert.ok(oFireChangeExpectation.calledAfter(oCheckDataStateExpectation));
|
|
276
281
|
});
|
|
277
282
|
|
|
278
283
|
//*********************************************************************************************
|
|
@@ -282,6 +287,7 @@ sap.ui.define([
|
|
|
282
287
|
|
|
283
288
|
oBinding.sChangeReason = sChangeReason;
|
|
284
289
|
this.mock(oBinding).expects("isResolved").withExactArgs().returns(false);
|
|
290
|
+
this.mock(oBinding).expects("checkDataState").never();
|
|
285
291
|
this.mock(oBinding).expects("_fireRefresh").never();
|
|
286
292
|
|
|
287
293
|
// code under test
|
|
@@ -7950,15 +7956,15 @@ sap.ui.define([
|
|
|
7950
7956
|
oBindingMock = this.mock(oBinding),
|
|
7951
7957
|
oDependent0 = {
|
|
7952
7958
|
oContext : {
|
|
7953
|
-
isEffectivelyKeptAlive :
|
|
7959
|
+
isEffectivelyKeptAlive : mustBeMocked
|
|
7954
7960
|
},
|
|
7955
|
-
resumeInternal :
|
|
7961
|
+
resumeInternal : mustBeMocked
|
|
7956
7962
|
},
|
|
7957
7963
|
oDependent1 = {
|
|
7958
7964
|
oContext : {
|
|
7959
|
-
isEffectivelyKeptAlive :
|
|
7965
|
+
isEffectivelyKeptAlive : mustBeMocked
|
|
7960
7966
|
},
|
|
7961
|
-
resumeInternal :
|
|
7967
|
+
resumeInternal : mustBeMocked
|
|
7962
7968
|
},
|
|
7963
7969
|
oFetchCacheExpectation,
|
|
7964
7970
|
oFireExpectation,
|
|
@@ -7969,7 +7975,10 @@ sap.ui.define([
|
|
|
7969
7975
|
oBinding.bSharedRequest = true; // this must not have an influence
|
|
7970
7976
|
oBinding.sChangeReason = bInitial ? "AddVirtualContext" : undefined;
|
|
7971
7977
|
oBinding.sResumeChangeReason = sChangeReason;
|
|
7972
|
-
oBindingMock
|
|
7978
|
+
const oCheckDataStateExpectation = oBindingMock
|
|
7979
|
+
.expects("checkDataState").withExactArgs();
|
|
7980
|
+
const oRemoveCachesAndMessagesExpectation = oBindingMock
|
|
7981
|
+
.expects("removeCachesAndMessages").withExactArgs("");
|
|
7973
7982
|
oResetExpectation = oBindingMock.expects("reset").withExactArgs();
|
|
7974
7983
|
oFetchCacheExpectation = oBindingMock.expects("fetchCache")
|
|
7975
7984
|
.withExactArgs(sinon.match.same(oContext), true);
|
|
@@ -8000,6 +8009,7 @@ sap.ui.define([
|
|
|
8000
8009
|
oBinding.resumeInternal(true/*ignored*/);
|
|
8001
8010
|
|
|
8002
8011
|
assert.strictEqual(oBinding.sResumeChangeReason, undefined);
|
|
8012
|
+
assert.ok(oRemoveCachesAndMessagesExpectation.calledAfter(oCheckDataStateExpectation));
|
|
8003
8013
|
assert.ok(oFetchCacheExpectation.calledAfter(oResetExpectation));
|
|
8004
8014
|
assert.ok(oGetDependentBindingsExpectation.calledAfter(oFetchCacheExpectation));
|
|
8005
8015
|
assert.ok(oFireExpectation.calledAfter(oGetDependentBindingsExpectation));
|
|
@@ -8022,6 +8032,7 @@ sap.ui.define([
|
|
|
8022
8032
|
var oBinding = this.bindList("/EMPLOYEES"),
|
|
8023
8033
|
oBindingMock = this.mock(oBinding);
|
|
8024
8034
|
|
|
8035
|
+
oBindingMock.expects("checkDataState").withExactArgs();
|
|
8025
8036
|
oBinding.sResumeChangeReason = "~sResumeChangeReason~";
|
|
8026
8037
|
if (bAutoExpandSelect) {
|
|
8027
8038
|
oBinding.sChangeReason = "AddVirtualContext";
|
|
@@ -8041,19 +8052,21 @@ sap.ui.define([
|
|
|
8041
8052
|
});
|
|
8042
8053
|
|
|
8043
8054
|
//*********************************************************************************************
|
|
8044
|
-
QUnit.test("resumeInternal: no sResumeChangeReason", function () {
|
|
8055
|
+
QUnit.test("resumeInternal: no sResumeChangeReason", function (assert) {
|
|
8045
8056
|
var oBinding = this.bindList("/EMPLOYEES"),
|
|
8046
|
-
oDependent0 = {resumeInternal :
|
|
8047
|
-
oDependent1 = {resumeInternal :
|
|
8057
|
+
oDependent0 = {resumeInternal : mustBeMocked},
|
|
8058
|
+
oDependent1 = {resumeInternal : mustBeMocked};
|
|
8048
8059
|
|
|
8049
8060
|
oBinding.sResumeChangeReason = undefined;
|
|
8050
8061
|
|
|
8062
|
+
const oCheckDataStateExpectation = this.mock(oBinding).expects("checkDataState")
|
|
8063
|
+
.withExactArgs();
|
|
8051
8064
|
this.mock(oBinding).expects("removeCachesAndMessages").never();
|
|
8052
8065
|
this.mock(oBinding).expects("reset").never();
|
|
8053
8066
|
this.mock(oBinding).expects("fetchCache").never();
|
|
8054
8067
|
this.mock(oBinding).expects("refreshKeptElements").never();
|
|
8055
|
-
this.mock(oBinding).expects("getDependentBindings")
|
|
8056
|
-
.returns([oDependent0, oDependent1]);
|
|
8068
|
+
const oGetDependentBindingsExpectation = this.mock(oBinding).expects("getDependentBindings")
|
|
8069
|
+
.withExactArgs().returns([oDependent0, oDependent1]);
|
|
8057
8070
|
this.mock(oDependent0).expects("resumeInternal").withExactArgs(true, false);
|
|
8058
8071
|
this.mock(oDependent1).expects("resumeInternal").withExactArgs(true, false);
|
|
8059
8072
|
this.mock(oBinding).expects("_fireRefresh").never();
|
|
@@ -8061,6 +8074,8 @@ sap.ui.define([
|
|
|
8061
8074
|
|
|
8062
8075
|
// code under test
|
|
8063
8076
|
oBinding.resumeInternal(true/*ignored*/);
|
|
8077
|
+
|
|
8078
|
+
assert.ok(oCheckDataStateExpectation.calledBefore(oGetDependentBindingsExpectation));
|
|
8064
8079
|
});
|
|
8065
8080
|
|
|
8066
8081
|
//*********************************************************************************************
|
|
@@ -8074,6 +8089,7 @@ sap.ui.define([
|
|
|
8074
8089
|
|
|
8075
8090
|
oBinding.sResumeChangeReason = undefined;
|
|
8076
8091
|
oBinding.bRefreshKeptElements = bRefreshKeptElements;
|
|
8092
|
+
this.mock(oBinding).expects("checkDataState").withExactArgs();
|
|
8077
8093
|
this.mock(oBinding).expects("removeCachesAndMessages").withExactArgs("");
|
|
8078
8094
|
this.mock(oBinding).expects("reset").withExactArgs();
|
|
8079
8095
|
this.mock(oBinding).expects("getGroupId").exactly(bRefreshKeptElements ? 1 : 0)
|
|
@@ -8098,6 +8114,7 @@ sap.ui.define([
|
|
|
8098
8114
|
var oBinding = this.bindList("/EMPLOYEES");
|
|
8099
8115
|
|
|
8100
8116
|
oBinding.sResumeChangeReason = ChangeReason.Filter;
|
|
8117
|
+
this.mock(oBinding).expects("checkDataState").withExactArgs();
|
|
8101
8118
|
this.mock(oBinding).expects("_fireRefresh").withExactArgs({reason : ChangeReason.Filter})
|
|
8102
8119
|
.callsFake(function () {
|
|
8103
8120
|
// simulate a suspend and a sort
|
|
@@ -8115,6 +8132,7 @@ sap.ui.define([
|
|
|
8115
8132
|
var oBinding = this.bindList("/EMPLOYEES", null, null, null, {$$sharedRequest : true});
|
|
8116
8133
|
|
|
8117
8134
|
oBinding.sResumeAction = "resetCache";
|
|
8135
|
+
this.mock(oBinding).expects("checkDataState").withExactArgs();
|
|
8118
8136
|
this.mock(oBinding).expects("getDependentBindings").never();
|
|
8119
8137
|
this.mock(oBinding).expects("removeCachesAndMessages").withExactArgs("");
|
|
8120
8138
|
this.mock(oBinding.oCache).expects("reset").withExactArgs([]);
|
|
@@ -8133,6 +8151,7 @@ sap.ui.define([
|
|
|
8133
8151
|
var oBinding = this.bindList("/EMPLOYEES", null, null, null, {$$sharedRequest : true});
|
|
8134
8152
|
|
|
8135
8153
|
oBinding.sResumeAction = "onChange";
|
|
8154
|
+
this.mock(oBinding).expects("checkDataState").withExactArgs();
|
|
8136
8155
|
this.mock(oBinding).expects("getDependentBindings").never();
|
|
8137
8156
|
this.mock(oBinding).expects("removeCachesAndMessages").withExactArgs("");
|
|
8138
8157
|
this.mock(oBinding.oCache).expects("reset").never();
|
|
@@ -8148,22 +8167,26 @@ sap.ui.define([
|
|
|
8148
8167
|
|
|
8149
8168
|
//*********************************************************************************************
|
|
8150
8169
|
QUnit.test("resumeInternal: reset selection", function (assert) {
|
|
8151
|
-
|
|
8170
|
+
const oBinding = this.bindList("/EMPLOYEES");
|
|
8171
|
+
const oBindingMock = this.mock(oBinding);
|
|
8152
8172
|
|
|
8153
8173
|
oBinding.sResumeChangeReason = ChangeReason.Filter;
|
|
8154
8174
|
oBinding.mParameters = {$$clearSelectionOnFilter : true};
|
|
8155
8175
|
|
|
8176
|
+
const oCheckDataStateExpectation = oBindingMock.expects("checkDataState").withExactArgs();
|
|
8156
8177
|
const oSetSelectedExpectation = this.mock(oBinding.oHeaderContext).expects("setSelected")
|
|
8157
8178
|
.withExactArgs(false);
|
|
8158
|
-
const oRemoveCacheExpectation =
|
|
8179
|
+
const oRemoveCacheExpectation = oBindingMock.expects("removeCachesAndMessages")
|
|
8159
8180
|
.withExactArgs("");
|
|
8160
8181
|
|
|
8161
8182
|
// code under test
|
|
8162
8183
|
oBinding.resumeInternal();
|
|
8163
8184
|
|
|
8185
|
+
assert.ok(oCheckDataStateExpectation.calledBefore(oSetSelectedExpectation));
|
|
8164
8186
|
assert.ok(oSetSelectedExpectation.calledBefore(oRemoveCacheExpectation));
|
|
8165
8187
|
|
|
8166
8188
|
oBinding.mParameters = {};
|
|
8189
|
+
oBindingMock.expects("checkDataState").withExactArgs();
|
|
8167
8190
|
|
|
8168
8191
|
// code under test - no reset
|
|
8169
8192
|
oBinding.resumeInternal();
|
|
@@ -883,12 +883,14 @@ sap.ui.define([
|
|
|
883
883
|
* @param {object} oTable The table control
|
|
884
884
|
* @param {string} sPropertyPath The property path to bind the text property
|
|
885
885
|
* @param {object} assert The QUnit assert object
|
|
886
|
+
* @param {object} [bSuspended] Whether the rebound table is initially suspended
|
|
886
887
|
* @returns {string} The ID of the text control which can be used for {@link #expectChange}
|
|
887
888
|
*/
|
|
888
|
-
addToTable : function (oTable, sPropertyPath, assert) {
|
|
889
|
+
addToTable : function (oTable, sPropertyPath, assert, bSuspended) {
|
|
889
890
|
var sId = "id" + sPropertyPath.replace("/", "_"),
|
|
890
891
|
bRelative = oTable.getBinding("items").isRelative(),
|
|
891
|
-
|
|
892
|
+
oBindingInfo = oTable.getBindingInfo("items"),
|
|
893
|
+
oTemplate = oBindingInfo.template,
|
|
892
894
|
oText = new Text({
|
|
893
895
|
id : this.oView.createId(sId),
|
|
894
896
|
text : "{" + sPropertyPath + "}"
|
|
@@ -898,11 +900,15 @@ sap.ui.define([
|
|
|
898
900
|
this.setFormatter(assert, oText, sId, true);
|
|
899
901
|
oTemplate.addCell(oText);
|
|
900
902
|
// ensure template control is not destroyed on re-creation of the "items" aggregation
|
|
901
|
-
delete
|
|
903
|
+
delete oBindingInfo.template;
|
|
902
904
|
// It is not possible to modify the aggregation's template on an existing binding.
|
|
903
905
|
// Hence, we have to re-create.
|
|
904
|
-
oTable.bindItems(
|
|
905
|
-
|
|
906
|
+
oTable.bindItems({
|
|
907
|
+
path : oBindingInfo.path,
|
|
908
|
+
parameters : oBindingInfo.parameters,
|
|
909
|
+
suspended : bSuspended ?? !bRelative,
|
|
910
|
+
template : oTemplate
|
|
911
|
+
});
|
|
906
912
|
|
|
907
913
|
return sId;
|
|
908
914
|
},
|
|
@@ -2368,13 +2374,18 @@ sap.ui.define([
|
|
|
2368
2374
|
*/
|
|
2369
2375
|
removeFromTable : function (oTable, sControlId) {
|
|
2370
2376
|
var bRelative = oTable.getBinding("items").isRelative(),
|
|
2371
|
-
|
|
2377
|
+
oBindingInfo = oTable.getBindingInfo("items"),
|
|
2378
|
+
oTemplate = oBindingInfo.template;
|
|
2372
2379
|
|
|
2373
2380
|
oTemplate.removeCell(this.oView.byId(sControlId));
|
|
2374
2381
|
// ensure template control is not destroyed on re-creation of the "items" aggregation
|
|
2375
|
-
delete
|
|
2376
|
-
oTable.bindItems(
|
|
2377
|
-
|
|
2382
|
+
delete oBindingInfo.template;
|
|
2383
|
+
oTable.bindItems({
|
|
2384
|
+
path : oBindingInfo.path,
|
|
2385
|
+
parameters : oBindingInfo.parameters,
|
|
2386
|
+
suspended : !bRelative,
|
|
2387
|
+
template : oTemplate
|
|
2388
|
+
});
|
|
2378
2389
|
},
|
|
2379
2390
|
|
|
2380
2391
|
/**
|
|
@@ -59857,6 +59868,170 @@ make root = ${bMakeRoot}`;
|
|
|
59857
59868
|
});
|
|
59858
59869
|
});
|
|
59859
59870
|
|
|
59871
|
+
//*********************************************************************************************
|
|
59872
|
+
// Scenario: Removing a message from the model causes it to disappear from DataStateIndicator's
|
|
59873
|
+
// message strip after a table rebind. The table has an absolute binding.
|
|
59874
|
+
// SNOW: DINC0147646
|
|
59875
|
+
[false, true].forEach(function (bSuspended) {
|
|
59876
|
+
const sTitle = "DINC0147646: DataStateIndicator, rebind and messages, absolute binding"
|
|
59877
|
+
+ ", suspended: " + bSuspended;
|
|
59878
|
+
|
|
59879
|
+
QUnit.test(sTitle, async function (assert) {
|
|
59880
|
+
const oModel = this.createTeaBusiModel({autoExpandSelect : true});
|
|
59881
|
+
const sView = `
|
|
59882
|
+
<Table id="table" items="{/TEAMS}">
|
|
59883
|
+
<dependents><plugins:DataStateIndicator/></dependents>
|
|
59884
|
+
<Input id="id" value="{Team_Id}"/>
|
|
59885
|
+
</Table>`;
|
|
59886
|
+
|
|
59887
|
+
this.expectRequest("TEAMS?$select=Team_Id&$skip=0&$top=100", {
|
|
59888
|
+
value : [
|
|
59889
|
+
{Team_Id : "1"}
|
|
59890
|
+
]
|
|
59891
|
+
})
|
|
59892
|
+
.expectChange("id", ["1"]);
|
|
59893
|
+
|
|
59894
|
+
await this.createView(assert, sView, oModel);
|
|
59895
|
+
|
|
59896
|
+
const oTable = this.oView.byId("table");
|
|
59897
|
+
|
|
59898
|
+
this.expectMessages([{
|
|
59899
|
+
message : "Some message",
|
|
59900
|
+
type : "Error",
|
|
59901
|
+
targets : ["/TEAMS"]
|
|
59902
|
+
}]);
|
|
59903
|
+
const oMessage = new Message({
|
|
59904
|
+
message : "Some message",
|
|
59905
|
+
processor : oModel,
|
|
59906
|
+
target : "/TEAMS",
|
|
59907
|
+
type : "Error"
|
|
59908
|
+
});
|
|
59909
|
+
Messaging.addMessages(oMessage);
|
|
59910
|
+
|
|
59911
|
+
await Promise.all([
|
|
59912
|
+
this.waitForChanges(assert, "add message"),
|
|
59913
|
+
resolveLater(undefined, 0) // table update takes a moment
|
|
59914
|
+
]);
|
|
59915
|
+
|
|
59916
|
+
const oMessageStrip = oTable.getAggregation("_messageStrip");
|
|
59917
|
+
assert.strictEqual(oMessageStrip.getText(), "Some message");
|
|
59918
|
+
assert.strictEqual(oMessageStrip.getVisible(), true);
|
|
59919
|
+
|
|
59920
|
+
if (bSuspended) {
|
|
59921
|
+
this.expectCanceledError("Cache discarded as a new cache has been created");
|
|
59922
|
+
}
|
|
59923
|
+
const sId0 = this.addToTable(oTable, "Name", assert, bSuspended); // Note: causes a "rebind"
|
|
59924
|
+
|
|
59925
|
+
this.expectRequest("TEAMS?$select=Name,Team_Id&$skip=0&$top=100", {
|
|
59926
|
+
value : [
|
|
59927
|
+
{Name : "Team #01", Team_Id : "1"}
|
|
59928
|
+
]
|
|
59929
|
+
})
|
|
59930
|
+
.expectChange("id", ["1"])
|
|
59931
|
+
.expectChange(sId0, ["Team #01"]);
|
|
59932
|
+
|
|
59933
|
+
if (bSuspended) {
|
|
59934
|
+
oTable.getBinding("items").resume();
|
|
59935
|
+
}
|
|
59936
|
+
|
|
59937
|
+
await this.waitForChanges(assert, "table rebind");
|
|
59938
|
+
|
|
59939
|
+
assert.strictEqual(oMessageStrip.getText(), "Some message");
|
|
59940
|
+
assert.strictEqual(oMessageStrip.getVisible(), true);
|
|
59941
|
+
|
|
59942
|
+
this.expectMessages([]);
|
|
59943
|
+
|
|
59944
|
+
// code under test
|
|
59945
|
+
Messaging.removeMessages(oMessage);
|
|
59946
|
+
|
|
59947
|
+
await Promise.all([
|
|
59948
|
+
this.waitForChanges(assert, "message is removed and no longer visible"),
|
|
59949
|
+
resolveLater(undefined, 0) // table update takes a moment
|
|
59950
|
+
]);
|
|
59951
|
+
|
|
59952
|
+
assert.strictEqual(oMessageStrip.getText(), "");
|
|
59953
|
+
assert.strictEqual(oMessageStrip.getVisible(), false);
|
|
59954
|
+
});
|
|
59955
|
+
});
|
|
59956
|
+
|
|
59957
|
+
//*********************************************************************************************
|
|
59958
|
+
// Scenario: Removing a message from the model causes it to disappear from DataStateIndicator's
|
|
59959
|
+
// message strip after a table rebind. The table has a relative binding.
|
|
59960
|
+
// SNOW: DINC0147646
|
|
59961
|
+
QUnit.test("DINC0147646: DataStateIndicator, rebind and messages, relative binding",
|
|
59962
|
+
async function (assert) {
|
|
59963
|
+
const oModel = this.createTeaBusiModel({autoExpandSelect : true});
|
|
59964
|
+
const sView = `
|
|
59965
|
+
<FlexBox id="root" binding="{/TEAMS('0')}">
|
|
59966
|
+
<Table id="table" items="{path : 'TEAM_2_EMPLOYEES', parameters : {$$ownRequest : true}}">
|
|
59967
|
+
<dependents><plugins:DataStateIndicator/></dependents>
|
|
59968
|
+
<Text id="id" text="{ID}"/>
|
|
59969
|
+
</Table>
|
|
59970
|
+
</FlexBox>`;
|
|
59971
|
+
|
|
59972
|
+
this.expectRequest("TEAMS('0')/TEAM_2_EMPLOYEES?$select=ID&$skip=0&$top=100", {
|
|
59973
|
+
value : [
|
|
59974
|
+
{ID : "10"}
|
|
59975
|
+
]
|
|
59976
|
+
})
|
|
59977
|
+
.expectChange("id", ["10"])
|
|
59978
|
+
.expectChange("idName", []);
|
|
59979
|
+
|
|
59980
|
+
await this.createView(assert, sView, oModel);
|
|
59981
|
+
|
|
59982
|
+
const oTable = this.oView.byId("table");
|
|
59983
|
+
|
|
59984
|
+
this.expectMessages([{
|
|
59985
|
+
message : "Some message",
|
|
59986
|
+
type : "Error",
|
|
59987
|
+
targets : ["/TEAMS('0')/TEAM_2_EMPLOYEES"]
|
|
59988
|
+
}]);
|
|
59989
|
+
const oMessage = new Message({
|
|
59990
|
+
message : "Some message",
|
|
59991
|
+
processor : oModel,
|
|
59992
|
+
target : "/TEAMS('0')/TEAM_2_EMPLOYEES",
|
|
59993
|
+
type : "Error"
|
|
59994
|
+
});
|
|
59995
|
+
Messaging.addMessages(oMessage);
|
|
59996
|
+
|
|
59997
|
+
await Promise.all([
|
|
59998
|
+
this.waitForChanges(assert, "add message"),
|
|
59999
|
+
resolveLater(undefined, 0) // table update takes a moment
|
|
60000
|
+
]);
|
|
60001
|
+
|
|
60002
|
+
const oMessageStrip = oTable.getAggregation("_messageStrip");
|
|
60003
|
+
assert.strictEqual(oMessageStrip.getText(), "Some message");
|
|
60004
|
+
assert.strictEqual(oMessageStrip.getVisible(), true);
|
|
60005
|
+
|
|
60006
|
+
this.expectRequest("TEAMS('0')/TEAM_2_EMPLOYEES?$select=ID,Name&$skip=0&$top=100", {
|
|
60007
|
+
value : [
|
|
60008
|
+
{ID : "10", Name : "John Doe"}
|
|
60009
|
+
]
|
|
60010
|
+
})
|
|
60011
|
+
.expectChange("id", ["10"])
|
|
60012
|
+
.expectChange("idName", ["John Doe"]);
|
|
60013
|
+
|
|
60014
|
+
this.addToTable(oTable, "Name", assert); // Note: causes a "rebind"
|
|
60015
|
+
|
|
60016
|
+
await this.waitForChanges(assert, "table rebind");
|
|
60017
|
+
|
|
60018
|
+
assert.strictEqual(oMessageStrip.getText(), "Some message");
|
|
60019
|
+
assert.strictEqual(oMessageStrip.getVisible(), true);
|
|
60020
|
+
|
|
60021
|
+
this.expectMessages([]);
|
|
60022
|
+
|
|
60023
|
+
// code under test
|
|
60024
|
+
Messaging.removeMessages(oMessage);
|
|
60025
|
+
|
|
60026
|
+
await Promise.all([
|
|
60027
|
+
this.waitForChanges(assert, "message is removed and no longer visible"),
|
|
60028
|
+
resolveLater(undefined, 0) // table update takes a moment
|
|
60029
|
+
]);
|
|
60030
|
+
|
|
60031
|
+
assert.strictEqual(oMessageStrip.getText(), "");
|
|
60032
|
+
assert.strictEqual(oMessageStrip.getVisible(), false);
|
|
60033
|
+
});
|
|
60034
|
+
|
|
59860
60035
|
//*********************************************************************************************
|
|
59861
60036
|
// Scenario: A list binding with $$sharedRequest (e.g. from a value list) is refreshed. Other
|
|
59862
60037
|
// bindings share that cache and must follow, one binding while resumed and one binding while
|
|
@@ -114,5 +114,20 @@
|
|
|
114
114
|
]
|
|
115
115
|
}
|
|
116
116
|
]
|
|
117
|
+
},
|
|
118
|
+
"1.124.5": {
|
|
119
|
+
"date": "September 2024",
|
|
120
|
+
"notes": [
|
|
121
|
+
{
|
|
122
|
+
"id": "34f90d9aa18b4d44f8a6c24711191ace603da9f3",
|
|
123
|
+
"type": "FIX",
|
|
124
|
+
"text": " Adjust link in sap.ui.core.MessageType documentation"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"id": "0b566e713277a5402712fc5f8d59852415e6f19a",
|
|
128
|
+
"type": "FIX",
|
|
129
|
+
"text": " sap/ui/core: handle focus properly when disabling"
|
|
130
|
+
}
|
|
131
|
+
]
|
|
117
132
|
}
|
|
118
133
|
}
|