Browse Source

Fix navigation using keyboard to frozen column when there are hidden columns (#8277)

tags/7.7.7
Artur 7 years ago
parent
commit
ef299939b8

+ 1
- 3
client/src/main/java/com/vaadin/client/widgets/Grid.java View File

@@ -2587,9 +2587,7 @@ public class Grid<T> extends ResizeComposite implements HasSelectionHandlers<T>,
++i;
} while (cell != null);
}
int columnIndex = getColumns()
.indexOf(getVisibleColumn(columnIndexDOM));
if (columnIndex >= escalator.getColumnConfiguration()
if (columnIndexDOM >= escalator.getColumnConfiguration()
.getFrozenColumnCount()) {
escalator.scrollToColumn(columnIndexDOM, ScrollDestination.ANY,
10);

+ 5
- 0
uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/GridBasicFeaturesTest.java View File

@@ -251,4 +251,9 @@ public abstract class GridBasicFeaturesTest extends MultiBrowserTest {
}
return null;
}

protected void toggleColumnHidden(int column) {
selectMenuPath("Component", "Columns", "Column " + column, "Hidden");
}

}

+ 4
- 4
uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridColumnResizeTest.java View File

@@ -153,13 +153,13 @@ public class GridColumnResizeTest extends GridBasicFeaturesTest {
selectMenuPath("Component", "Columns",
"Toggle all column hidden state");
// Hides although already hidden
selectMenuPath("Component", "Columns", "Column 0", "Hidden");
toggleColumnHidden(0);
// Shows
selectMenuPath("Component", "Columns", "Column 0", "Hidden");
toggleColumnHidden(0);
// Hides although already hidden
selectMenuPath("Component", "Columns", "Column 2", "Hidden");
toggleColumnHidden(2);
// Shows
selectMenuPath("Component", "Columns", "Column 2", "Hidden");
toggleColumnHidden(2);
GridCellElement cell = getGridElement().getCell(0, 1);
dragResizeColumn(1, 0, -cell.getSize().getWidth());
assertGreaterOrEqual("Cell got too small.", cell.getSize().getWidth(),

+ 15
- 1
uitest/src/test/java/com/vaadin/tests/components/grid/basicfeatures/server/GridKeyboardNavigationTest.java View File

@@ -229,4 +229,18 @@ public class GridKeyboardNavigationTest extends GridBasicFeaturesTest {
column == focusedColumn
&& Math.abs(row - focusedRow) <= rowTolerance);
}
}

@Test
public void testNavigateOverHiddenColumnToFrozenColumn() {
openTestURL();
setFrozenColumns(3);
toggleColumnHidden(1);
getGridElement().getCell(0, 2).click();
assertFocusedCell(0, 2);
new Actions(getDriver()).sendKeys(Keys.ARROW_LEFT).perform();
assertFocusedCell(0, 1);
new Actions(getDriver()).sendKeys(Keys.ARROW_LEFT).perform();
assertFocusedCell(0, 0);
}

}

Loading…
Cancel
Save