From a7eb9f7f704e8dfc098efe1e5115ccddb8367c45 Mon Sep 17 00:00:00 2001 From: Giovanni Lovato Date: Fri, 10 Mar 2017 11:55:55 +0100 Subject: Add the bean to grid editor events Fixes #8658 --- .../com/vaadin/ui/components/grid/EditorCancelEvent.java | 16 +++++++++++++++- .../java/com/vaadin/ui/components/grid/EditorImpl.java | 4 ++-- .../com/vaadin/ui/components/grid/EditorSaveEvent.java | 16 +++++++++++++++- 3 files changed, 32 insertions(+), 4 deletions(-) (limited to 'server') diff --git a/server/src/main/java/com/vaadin/ui/components/grid/EditorCancelEvent.java b/server/src/main/java/com/vaadin/ui/components/grid/EditorCancelEvent.java index b2af155977..a698687900 100644 --- a/server/src/main/java/com/vaadin/ui/components/grid/EditorCancelEvent.java +++ b/server/src/main/java/com/vaadin/ui/components/grid/EditorCancelEvent.java @@ -33,14 +33,19 @@ import com.vaadin.ui.Grid; */ public class EditorCancelEvent extends EventObject { + private T bean; + /** * Constructor for a editor cancel event. * * @param editor * the source of the event + * @param bean + * the bean being edited */ - public EditorCancelEvent(Editor editor) { + public EditorCancelEvent(Editor editor, T bean) { super(editor); + this.bean = bean; } @SuppressWarnings("unchecked") @@ -57,4 +62,13 @@ public class EditorCancelEvent extends EventObject { public Grid getGrid() { return getSource().getGrid(); } + + /** + * Gets the bean being edited. + * + * @return the bean being edited + */ + public T getBean() { + return bean; + } } diff --git a/server/src/main/java/com/vaadin/ui/components/grid/EditorImpl.java b/server/src/main/java/com/vaadin/ui/components/grid/EditorImpl.java index b771696aa2..dad45f0fbb 100644 --- a/server/src/main/java/com/vaadin/ui/components/grid/EditorImpl.java +++ b/server/src/main/java/com/vaadin/ui/components/grid/EditorImpl.java @@ -246,7 +246,7 @@ public class EditorImpl extends AbstractGridExtension binder.validate(); if (binder.writeBeanIfValid(edited)) { refresh(edited); - eventRouter.fireEvent(new EditorSaveEvent<>(this)); + eventRouter.fireEvent(new EditorSaveEvent<>(this, edited)); return true; } } @@ -267,7 +267,7 @@ public class EditorImpl extends AbstractGridExtension private void doCancel(boolean afterBeingSaved) { doClose(); if (!afterBeingSaved) { - eventRouter.fireEvent(new EditorCancelEvent<>(this)); + eventRouter.fireEvent(new EditorCancelEvent<>(this, edited)); } } diff --git a/server/src/main/java/com/vaadin/ui/components/grid/EditorSaveEvent.java b/server/src/main/java/com/vaadin/ui/components/grid/EditorSaveEvent.java index e3d29f38a2..44a58a900f 100644 --- a/server/src/main/java/com/vaadin/ui/components/grid/EditorSaveEvent.java +++ b/server/src/main/java/com/vaadin/ui/components/grid/EditorSaveEvent.java @@ -33,14 +33,19 @@ import com.vaadin.ui.Grid; */ public class EditorSaveEvent extends EventObject { + private T bean; + /** * Constructor for a editor save event. * * @param editor * the source of the event + * @param bean + * the bean being edited */ - public EditorSaveEvent(Editor editor) { + public EditorSaveEvent(Editor editor, T bean) { super(editor); + this.bean = bean; } @SuppressWarnings("unchecked") @@ -57,4 +62,13 @@ public class EditorSaveEvent extends EventObject { public Grid getGrid() { return getSource().getGrid(); } + + /** + * Gets the bean being edited. + * + * @return the bean being edited + */ + public T getBean() { + return bean; + } } -- cgit v1.2.3