Browse Source

Fix incorrect position of column selector in MPR (#11953)

Cherry pick from
https://github.com/vaadin/framework/pull/11946
tags/8.11.0.alpha1
Tatu Lund 4 years ago
parent
commit
fe46753372
No account linked to committer's email address

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

import com.google.gwt.core.client.Scheduler; import com.google.gwt.core.client.Scheduler;
import com.google.gwt.dom.client.Element; import com.google.gwt.dom.client.Element;
import com.google.gwt.dom.client.NodeList; 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.TableRowElement;
import com.google.gwt.dom.client.TableSectionElement; import com.google.gwt.dom.client.TableSectionElement;
import com.google.gwt.event.dom.client.BlurEvent; import com.google.gwt.event.dom.client.BlurEvent;
setHeight(Window.getClientHeight() + "px"); setHeight(Window.getClientHeight() + "px");
} }
setPopupPosition(menuLeft, menuTop); setPopupPosition(menuLeft, menuTop);
getElement().getStyle().setPosition(Style.Position.FIXED);


/* /*
* Move keyboard focus to menu, deferring the focus setting so the * Move keyboard focus to menu, deferring the focus setting so the

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

public void onBrowserEvent(Event event) { public void onBrowserEvent(Event event) {
if (enabled) { if (enabled) {
if (event.getEventTarget().cast() == columnSelector) { 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, + DOM.getElementPropertyInt(columnSelector,
"offsetHeight");
"offsetHeight"));
client.getContextMenu().showAt(this, left, top); client.getContextMenu().showAt(this, left, top);
} }
} }

BIN
uitest/reference-screenshots/chrome/TableTooManyColumnsTest-testDropdownTable_ANY_Chrome__init.png View File


Loading…
Cancel
Save