From be9545ee6453f19c7313c6d9e7e3248afbe7537b Mon Sep 17 00:00:00 2001 From: Karen Lai Date: Tue, 18 Apr 2023 21:57:57 -0700 Subject: [PATCH 1/9] re-enable OnItemsChanged OnDrag --- dev/TabView/TabView.cpp | 9 +++------ dev/TabView/TestUI/TabViewPage.xaml | 13 ++++++++++--- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/dev/TabView/TabView.cpp b/dev/TabView/TabView.cpp index 36dd11d47a..7aba380aac 100755 --- a/dev/TabView/TabView.cpp +++ b/dev/TabView/TabView.cpp @@ -720,11 +720,6 @@ void TabView::BringSelectedTabIntoView() void TabView::OnItemsChanged(winrt::IInspectable const& item) { - if (m_isDragging) - { - return; - } - if (auto args = item.as()) { m_tabItemsChangedEventSource(*this, args); @@ -863,11 +858,13 @@ void TabView::OnListViewDragItemsCompleted(const winrt::IInspectable& sender, co { m_isDragging = false; - // Selection change was disabled during drag, update SelectedIndex now + // Selection may have changed during drag if dragged outside, so we update SelectedIndex again. if (auto&& listView = m_listView.get()) { SelectedIndex(listView.SelectedIndex()); SelectedItem(listView.SelectedItem()); + + BringSelectedTabIntoView(); } auto item = args.Items().GetAt(0); diff --git a/dev/TabView/TestUI/TabViewPage.xaml b/dev/TabView/TestUI/TabViewPage.xaml index 46c68433fa..5be9fdc92a 100644 --- a/dev/TabView/TestUI/TabViewPage.xaml +++ b/dev/TabView/TestUI/TabViewPage.xaml @@ -131,10 +131,8 @@ - + @@ -280,6 +279,14 @@ + + + + + + + + From e30d3c051bfd739456a33d35a40b956edb3241d3 Mon Sep 17 00:00:00 2001 From: Karen Lai Date: Wed, 19 Apr 2023 16:54:38 -0700 Subject: [PATCH 2/9] update testPage --- dev/TabView/InteractionTests/TabViewTests.cs | 60 ++++++++++++++++++++ dev/TabView/TestUI/TabViewPage.xaml | 18 +++--- dev/TabView/TestUI/TabViewPage.xaml.cs | 8 +++ 3 files changed, 76 insertions(+), 10 deletions(-) diff --git a/dev/TabView/InteractionTests/TabViewTests.cs b/dev/TabView/InteractionTests/TabViewTests.cs index 89681dad08..f5d28167aa 100755 --- a/dev/TabView/InteractionTests/TabViewTests.cs +++ b/dev/TabView/InteractionTests/TabViewTests.cs @@ -405,6 +405,66 @@ public void ReorderItemsTest() } } + [TestMethod] + public void DragTabOverflowTest() + { + if (PlatformConfiguration.IsOSVersionLessThan(OSVersion.Redstone5)) + { + // TODO 19727004: Re-enable this on versions below RS5 after fixing the bug where mouse click-and-drag doesn't work. + Log.Warning("This test relies on touch input, the injection of which is only supported in RS5 and up. Test is disabled."); + return; + } + + using (var setup = new TestSetupHelper("TabView Tests")) + { + // Navigate to TabView TabItemSource Page + Button tabItemsSourcePageButton = FindElement.ByName