Class EditorImpl<T>
- java.lang.Object
-
- com.vaadin.flow.component.grid.Grid.AbstractGridExtension<T>
-
- com.vaadin.flow.component.grid.editor.EditorImpl<T>
-
- Type Parameters:
T
- the grid bean type
- All Implemented Interfaces:
Editor<T>
,DataGenerator<T>
,Serializable
public class EditorImpl<T> extends Grid.AbstractGridExtension<T> implements Editor<T>
Implementation ofEditor
interface.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description EditorImpl(Grid<T> grid, PropertySet<T> propertySet)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Registration
addCancelListener(EditorCancelListener<T> listener)
Adds an editor cancellistener
.Registration
addCloseListener(EditorCloseListener<T> listener)
Adds an editor closelistener
.Registration
addOpenListener(EditorOpenListener<T> listener)
Adds an editor openlistener
.Registration
addSaveListener(EditorSaveListener<T> listener)
Adds an editor savelistener
.void
cancel()
Cancel will discard any changes made in editor fields for a buffered editor.void
closeEditor()
Closes the editor when in unbuffered mode and fires anEditorCloseEvent
if the edited item is notnull
.void
editItem(T item)
Opens the editor component for the provided item and fires anEditorOpenEvent
.void
generateData(T item, elemental.json.JsonObject jsonObject)
Adds custom data for the given item to its serializedJsonObject
representation.Binder<T>
getBinder()
Returns the underlying Binder from Editor.Grid<T>
getGrid()
Gets the Grid this extension extends.T
getItem()
Gets the current item being edited, if any.boolean
isBuffered()
Returns whether Editor is buffered or not.boolean
isOpen()
Returns whether Editor is open or not.void
refresh()
Refreshes the editor components for the current item being edited.boolean
save()
In buffered mode calling save will validate bean and will save any changes made to the Editor fields to the edited bean if all validators pass.Editor<T>
setBinder(Binder<T> binder)
Sets the underlying Binder to this Editor.Editor<T>
setBuffered(boolean buffered)
Sets the Editor buffered mode.-
Methods inherited from class com.vaadin.flow.component.grid.Grid.AbstractGridExtension
extend, refresh, remove
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.flow.data.provider.DataGenerator
destroyAllData, destroyData, refreshData
-
-
-
-
Constructor Detail
-
EditorImpl
public EditorImpl(Grid<T> grid, PropertySet<T> propertySet)
-
-
Method Detail
-
setBinder
public Editor<T> setBinder(Binder<T> binder)
Description copied from interface:Editor
Sets the underlying Binder to this Editor.
-
getBinder
public Binder<T> getBinder()
Description copied from interface:Editor
Returns the underlying Binder from Editor.
-
setBuffered
public Editor<T> setBuffered(boolean buffered)
Description copied from interface:Editor
Sets the Editor buffered mode. When the editor is in buffered mode, edits are only committed when the user clicks the save button. In unbuffered mode valid changes are automatically committed.- Specified by:
setBuffered
in interfaceEditor<T>
- Parameters:
buffered
-true
if editor should be buffered;false
if not- Returns:
- this editor
-
isBuffered
public boolean isBuffered()
Description copied from interface:Editor
Returns whether Editor is buffered or not.- Specified by:
isBuffered
in interfaceEditor<T>
- Returns:
true
if editor is buffered;false
if not- See Also:
Editor.setBuffered(boolean)
-
isOpen
public boolean isOpen()
Description copied from interface:Editor
Returns whether Editor is open or not.
-
save
public boolean save()
Description copied from interface:Editor
In buffered mode calling save will validate bean and will save any changes made to the Editor fields to the edited bean if all validators pass.A successful write will fire an
EditorSaveEvent
and close the editor that will fire anEditorCloseEvent
.If the write fails then there will be no events and the editor will stay open.
Note! For an unbuffered editor calling save will have no effect and always return
false
.
-
cancel
public void cancel()
Description copied from interface:Editor
Cancel will discard any changes made in editor fields for a buffered editor.Calling cancel will fire an
EditorCancelEvent
and close the editor that will fire anEditorCloseEvent
if the edited item is notnull
.
-
closeEditor
public void closeEditor()
Description copied from interface:Editor
Closes the editor when in unbuffered mode and fires anEditorCloseEvent
if the edited item is notnull
.For buffered mode calling close editor will throw an
UnsupportedOperationException
as eitherEditor.save()
orEditor.cancel()
should be used.- Specified by:
closeEditor
in interfaceEditor<T>
-
editItem
public void editItem(T item)
Description copied from interface:Editor
Opens the editor component for the provided item and fires anEditorOpenEvent
.In case there is an open editor an
EditorCloseEvent
will also be fired.
-
refresh
public void refresh()
Description copied from interface:Editor
Refreshes the editor components for the current item being edited. It is a NO-OP if the editor is not opened.This is useful when the state of the item is changed while the editor is open.
- Specified by:
refresh
in interfaceEditor<T>
- See Also:
Editor.isOpen()
-
getItem
public T getItem()
Description copied from interface:Editor
Gets the current item being edited, if any.The item being edited is always
null
while the editor is closed. The item is notnull
duringEditor.save()
andEditor.cancel()
operations, but becomenull
as soon as the editor is closed.- Specified by:
getItem
in interfaceEditor<T>
- Returns:
- the item being edited, or
null
if none is being edited - See Also:
Editor.editItem(Object)
-
getGrid
public Grid<T> getGrid()
Description copied from class:Grid.AbstractGridExtension
Gets the Grid this extension extends.
-
generateData
public void generateData(T item, elemental.json.JsonObject jsonObject)
Description copied from interface:DataGenerator
Adds custom data for the given item to its serializedJsonObject
representation. This JSON object will be sent to client-side DataProvider.- Specified by:
generateData
in interfaceDataGenerator<T>
- Parameters:
item
- the data item being serializedjsonObject
- the JSON object being sent to the client
-
addSaveListener
public Registration addSaveListener(EditorSaveListener<T> listener)
Description copied from interface:Editor
- Specified by:
addSaveListener
in interfaceEditor<T>
- Parameters:
listener
- save listener- Returns:
- a registration object for removing the listener
-
addCancelListener
public Registration addCancelListener(EditorCancelListener<T> listener)
Description copied from interface:Editor
- Specified by:
addCancelListener
in interfaceEditor<T>
- Parameters:
listener
- cancel listener- Returns:
- a registration object for removing the listener
-
addOpenListener
public Registration addOpenListener(EditorOpenListener<T> listener)
Description copied from interface:Editor
Adds an editor openlistener
.EditorOpenEvent
is fired when the editor is opened throughEditor.editItem(java.lang.Object)
- Specified by:
addOpenListener
in interfaceEditor<T>
- Parameters:
listener
- open listener- Returns:
- a registration object for removing the listener
-
addCloseListener
public Registration addCloseListener(EditorCloseListener<T> listener)
Description copied from interface:Editor
Adds an editor closelistener
. Close events are sent every time the editor is closed, no matter if it is due to a close, save or to a cancel operation.When a successful
Editor.save()
operation is performed, two listeners are triggered: save and close listeners. Likewise, when aEditor.cancel()
operation is performed, two listeners are triggered, cancel and close listeners.- Specified by:
addCloseListener
in interfaceEditor<T>
- Parameters:
listener
- close listener- Returns:
- a registration object for removing the listener
-
-