From 543a842e673f74b4053bcd22d1603bc3a84e6534 Mon Sep 17 00:00:00 2001 From: cuong-phan <39257573+cuong-phan@users.noreply.github.com> Date: Mon, 20 May 2019 15:00:38 +0300 Subject: Fix Grid reordering when there are hidden columns * Fix grid column reordering Fix grid column reordering when there are hidden columns and footerRow.join * Add test --- client/src/main/java/com/vaadin/client/widgets/Grid.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'client/src') diff --git a/client/src/main/java/com/vaadin/client/widgets/Grid.java b/client/src/main/java/com/vaadin/client/widgets/Grid.java index cb43bdd7d1..ae63749c5f 100755 --- a/client/src/main/java/com/vaadin/client/widgets/Grid.java +++ b/client/src/main/java/com/vaadin/client/widgets/Grid.java @@ -639,6 +639,16 @@ public class Grid extends ResizeComposite implements HasSelectionHandlers, return null; } + protected int getSizeOfCellGroup(Column column) { + for (Entry>> entry : cellGroups + .entrySet()) { + if (entry.getValue().contains(column)) { + return entry.getValue().size(); + } + } + return 0; + } + void calculateColspans() { // Reset all cells for (CELLTYPE cell : this.cells.values()) { @@ -4697,7 +4707,8 @@ public class Grid extends ResizeComposite implements HasSelectionHandlers, if (colspan <= 1) { continue; } - final int cellColumnRightIndex = cellColumnIndex + colspan; + final int cellColumnRightIndex = cellColumnIndex + row + .getSizeOfCellGroup(getColumn(cellColumnIndex)); final Range cellRange = Range.between(cellColumnIndex, cellColumnRightIndex); final boolean intersects = draggedCellRange -- cgit v1.2.3