From b021d6199acd666abc729c6c20eaf68b820d1bdb Mon Sep 17 00:00:00 2001 From: Sauli Tähkäpää Date: Sat, 29 Aug 2015 23:00:21 +0300 Subject: Unify select all behavior with single row selection. (#17742) Change-Id: I6481bf6f429046166dd0502a62b22aea51f5a0bd --- client/src/com/vaadin/client/widgets/Grid.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'client/src') diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index 7086ff86d2..065ba411d8 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -2846,6 +2846,18 @@ public class Grid extends ResizeComposite implements }); selectAllCheckBox.setValue(selected); + addHeaderClickHandler(new HeaderClickHandler() { + @Override + public void onClick(GridClickEvent event) { + CellReference targetCell = event.getTargetCell(); + int defaultRowIndex = getHeader().getRows().indexOf(getDefaultHeaderRow()); + + if(targetCell.getColumnIndex() == 0 && targetCell.getRowIndex() == defaultRowIndex) { + selectAllCheckBox.setValue(!selectAllCheckBox.getValue(), true); + } + } + }); + // Select all with space when "select all" cell is active addHeaderKeyUpHandler(new HeaderKeyUpHandler() { @Override -- cgit v1.2.3