Browse Source

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
tags/7.7.21
Mehdi Javan 4 years ago
parent
commit
5cb72e2194
No account linked to committer's email address

+ 2
- 0
client/src/main/java/com/vaadin/client/ui/VContextMenu.java View File

@@ -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

+ 5
- 3
client/src/main/java/com/vaadin/client/ui/VScrollTable.java View File

@@ -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);
}
}

BIN
uitest/reference-screenshots/TableTooManyColumnsTest-testDropdownTable_ANY_Chrome__TableTooManyColumnsTest-testDropdownTable.png View File


BIN
uitest/reference-screenshots/ValoThemeUITest-sliders_ANY_Chrome__sliders.png View File


+ 1
- 1
uitest/src/test/java/com/vaadin/tests/VerifyBrowserVersionTest.java View File

@@ -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();

Loading…
Cancel
Save