From efdc36027dec55e8b1084c7ea94ccb843b8a7c99 Mon Sep 17 00:00:00 2001 From: Sauli Tähkäpää Date: Mon, 31 Aug 2015 22:51:19 +0300 Subject: Disable sidebar button when grid is disabled. (#18696) Change-Id: If334cebd85fcfe9b368b1b360181abaadd5cb4ef --- client/src/com/vaadin/client/widgets/Grid.java | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'client') diff --git a/client/src/com/vaadin/client/widgets/Grid.java b/client/src/com/vaadin/client/widgets/Grid.java index 4e91342091..1ef84f865d 100644 --- a/client/src/com/vaadin/client/widgets/Grid.java +++ b/client/src/com/vaadin/client/widgets/Grid.java @@ -3137,7 +3137,7 @@ public class Grid extends ResizeComposite implements * * @since 7.5.0 */ - private static class Sidebar extends Composite { + private static class Sidebar extends Composite implements HasEnabled { private final ClickHandler openCloseButtonHandler = new ClickHandler() { @@ -3188,6 +3188,9 @@ public class Grid extends ResizeComposite implements initWidget(rootContainer); openCloseButton = new Button(); + + setEnabled(grid.isEnabled()); + openCloseButton.addClickHandler(openCloseButtonHandler); rootContainer.add(openCloseButton); @@ -3409,6 +3412,20 @@ public class Grid extends ResizeComposite implements } }); } + + @Override + public boolean isEnabled() { + return openCloseButton.isEnabled(); + } + + @Override + public void setEnabled(boolean enabled) { + if(!enabled && isOpen()) { + close(); + } + + openCloseButton.setEnabled(enabled); + } } /** @@ -5310,6 +5327,8 @@ public class Grid extends ResizeComposite implements editor.setGridEnabled(enabled); } + sidebar.setEnabled(enabled); + getEscalator().setScrollLocked(Direction.VERTICAL, !enabled || editorOpen); getEscalator().setScrollLocked(Direction.HORIZONTAL, !enabled); -- cgit v1.2.3