diff options
author | Mehdi Javan <32511762+mehdi-vaadin@users.noreply.github.com> | 2020-04-16 11:35:51 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-16 11:35:51 +0300 |
commit | 5cb72e21949cf1bf884282b79e2dfe2c1280129f (patch) | |
tree | 019868790e342178e5798ad6b8988ac033417ce2 | |
parent | ba0ac83cdde513e6ced13e71251baf95831e28bb (diff) | |
download | vaadin-framework-5cb72e21949cf1bf884282b79e2dfe2c1280129f.tar.gz vaadin-framework-5cb72e21949cf1bf884282b79e2dfe2c1280129f.zip |
Fix incorrect position of column selector in MPR (#11946)
* Change ContextMenu position from absolute to fixed
* Use getBoundingClientRect to get the coordinates of columnSelector in
VScrollTable when the context menu is being opened
* Update TableTooManyColumnsTest screenshot
* Upgrade Chrome version in VerifyBrowserVersionTest
* Update ValoThemeUITest-sliders screenshot
-rw-r--r-- | client/src/main/java/com/vaadin/client/ui/VContextMenu.java | 2 | ||||
-rw-r--r-- | client/src/main/java/com/vaadin/client/ui/VScrollTable.java | 8 | ||||
-rw-r--r--[-rwxr-xr-x] | uitest/reference-screenshots/TableTooManyColumnsTest-testDropdownTable_ANY_Chrome__TableTooManyColumnsTest-testDropdownTable.png | bin | 66195 -> 66318 bytes | |||
-rw-r--r-- | uitest/reference-screenshots/ValoThemeUITest-sliders_ANY_Chrome__sliders.png | bin | 77518 -> 77212 bytes | |||
-rw-r--r-- | uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java | 2 |
5 files changed, 8 insertions, 4 deletions
diff --git a/client/src/main/java/com/vaadin/client/ui/VContextMenu.java b/client/src/main/java/com/vaadin/client/ui/VContextMenu.java index d9a29a9ec6..ffb8a21099 100644 --- a/client/src/main/java/com/vaadin/client/ui/VContextMenu.java +++ b/client/src/main/java/com/vaadin/client/ui/VContextMenu.java @@ -20,6 +20,7 @@ import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.dom.client.Element; import com.google.gwt.dom.client.NodeList; +import com.google.gwt.dom.client.Style; import com.google.gwt.dom.client.TableRowElement; import com.google.gwt.dom.client.TableSectionElement; import com.google.gwt.event.dom.client.BlurEvent; @@ -166,6 +167,7 @@ public class VContextMenu extends VOverlay implements SubPartAware { setHeight(Window.getClientHeight() + "px"); } setPopupPosition(left, top); + getElement().getStyle().setPosition(Style.Position.FIXED); /* * Move keyboard focus to menu, deferring the focus setting so diff --git a/client/src/main/java/com/vaadin/client/ui/VScrollTable.java b/client/src/main/java/com/vaadin/client/ui/VScrollTable.java index 1158dd1f80..d749407441 100644 --- a/client/src/main/java/com/vaadin/client/ui/VScrollTable.java +++ b/client/src/main/java/com/vaadin/client/ui/VScrollTable.java @@ -3926,10 +3926,12 @@ public class VScrollTable extends FlowPanel public void onBrowserEvent(Event event) { if (enabled) { if (event.getEventTarget().cast() == columnSelector) { - final int left = DOM.getAbsoluteLeft(columnSelector); - final int top = DOM.getAbsoluteTop(columnSelector) + WidgetUtil.TextRectangle clientRect = WidgetUtil + .getBoundingClientRect(columnSelector); + final int left = (int) clientRect.getLeft(); + final int top = (int) (clientRect.getTop() + DOM.getElementPropertyInt(columnSelector, - "offsetHeight"); + "offsetHeight")); client.getContextMenu().showAt(this, left, top); } } diff --git a/uitest/reference-screenshots/TableTooManyColumnsTest-testDropdownTable_ANY_Chrome__TableTooManyColumnsTest-testDropdownTable.png b/uitest/reference-screenshots/TableTooManyColumnsTest-testDropdownTable_ANY_Chrome__TableTooManyColumnsTest-testDropdownTable.png Binary files differindex 96910b4bc6..646555a3c0 100755..100644 --- a/uitest/reference-screenshots/TableTooManyColumnsTest-testDropdownTable_ANY_Chrome__TableTooManyColumnsTest-testDropdownTable.png +++ b/uitest/reference-screenshots/TableTooManyColumnsTest-testDropdownTable_ANY_Chrome__TableTooManyColumnsTest-testDropdownTable.png diff --git a/uitest/reference-screenshots/ValoThemeUITest-sliders_ANY_Chrome__sliders.png b/uitest/reference-screenshots/ValoThemeUITest-sliders_ANY_Chrome__sliders.png Binary files differindex 17b7280144..26148e93ec 100644 --- a/uitest/reference-screenshots/ValoThemeUITest-sliders_ANY_Chrome__sliders.png +++ b/uitest/reference-screenshots/ValoThemeUITest-sliders_ANY_Chrome__sliders.png diff --git a/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java b/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java index 3dd97796d1..21db6bd366 100644 --- a/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java +++ b/uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java @@ -25,7 +25,7 @@ public class VerifyBrowserVersionTest extends MultiBrowserTest { // Chrome version does not necessarily match the desired version // because of auto updates... browserIdentifier = getExpectedUserAgentString( - getDesiredCapabilities()) + "78"; + getDesiredCapabilities()) + "81"; } else { browserIdentifier = getExpectedUserAgentString(desiredCapabilities) + desiredCapabilities.getVersion(); |