diff options
author | Anna Koskinen <Ansku@users.noreply.github.com> | 2020-05-08 10:44:10 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-08 10:44:10 +0300 |
commit | 206724e75b129bc69f56412159eaa69f5950295d (patch) | |
tree | f20e717563fde7f3ce86269d3ea9a3ef7b0f7cdf | |
parent | 5cb72e21949cf1bf884282b79e2dfe2c1280129f (diff) | |
download | vaadin-framework-206724e75b129bc69f56412159eaa69f5950295d.tar.gz vaadin-framework-206724e75b129bc69f56412159eaa69f5950295d.zip |
Fix indexing issue in Grid resize when scrolled to bottom. (#11984)
Fixes #11893
-rw-r--r-- | client/src/main/java/com/vaadin/client/widgets/Escalator.java | 1 | ||||
-rw-r--r-- | uitest/src/main/java/com/vaadin/tests/components/grid/GridScrollDownResize.java | 34 |
2 files changed, 35 insertions, 0 deletions
diff --git a/client/src/main/java/com/vaadin/client/widgets/Escalator.java b/client/src/main/java/com/vaadin/client/widgets/Escalator.java index 1cd24297f3..bbc26b2437 100644 --- a/client/src/main/java/com/vaadin/client/widgets/Escalator.java +++ b/client/src/main/java/com/vaadin/client/widgets/Escalator.java @@ -3770,6 +3770,7 @@ public class Escalator extends Widget visualRowOrder.getLast()) + 1; moveAndUpdateEscalatorRows(Range.withOnly(0), visualRowOrder.size(), newLogicalIndex); + updateTopRowLogicalIndex(1); } } } diff --git a/uitest/src/main/java/com/vaadin/tests/components/grid/GridScrollDownResize.java b/uitest/src/main/java/com/vaadin/tests/components/grid/GridScrollDownResize.java new file mode 100644 index 0000000000..8a89347500 --- /dev/null +++ b/uitest/src/main/java/com/vaadin/tests/components/grid/GridScrollDownResize.java @@ -0,0 +1,34 @@ +package com.vaadin.tests.components.grid; + +import com.vaadin.server.VaadinRequest; +import com.vaadin.tests.components.AbstractTestUI; +import com.vaadin.tests.minitutorials.v7_4.GridExampleHelper; +import com.vaadin.ui.Grid; +import com.vaadin.ui.VerticalLayout; + +public class GridScrollDownResize extends AbstractTestUI { + + @Override + protected void setup(VaadinRequest request) { + // container with at least 100 rows + final Grid grid = new Grid(GridExampleHelper.createContainer()); + grid.setSizeFull(); + addComponent(grid); + getLayout().setSizeFull(); + getLayout().setExpandRatio(grid, 2); + ((VerticalLayout) getLayout().getParent()).setSizeFull(); + } + + @Override + protected Integer getTicketNumber() { + return 11893; + }; + + @Override + protected String getTestDescription() { + return "Scrolling all the way down, resizing the browser window smaller " + + "so that one row gets completely hidden, and scrolling down " + + "again should keep the row contents consistent and in expected " + + "sequence."; + } +} |