Class GridHelper<T>
java.lang.Object
com.flowingcode.vaadin.addons.gridhelpers.GridHelper<T>
- All Implemented Interfaces:
Serializable
@JsModule("./fcGridHelper/connector.js")
@CssImport(value="./fcGridHelper/vaadin-menu-bar.css",themeFor="vaadin-menu-bar") @CssImport(value="./fcGridHelper/vaadin-grid.css",themeFor="vaadin-grid") @CssImport(value="./fcGridHelper/vaadin-context-menu-item.css",themeFor="vaadin-context-menu-item") @CssImport(value="./fcGridHelper/vaadin-context-menu-list-box.css",themeFor="vaadin-context-menu-list-box")
public final class GridHelper<T>
extends Object
implements Serializable
- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> com.vaadin.flow.shared.Registration
addColumnToggleListener
(com.vaadin.flow.component.grid.Grid<T> grid, com.vaadin.flow.component.ComponentEventListener<ColumnToggleEvent<T>> listener) Adds a listener that is notified when column visibility is modified through the sidebar menu.static void
addToolbarFooter
(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.Component toolBar) static com.vaadin.flow.component.Component
getEmptyGridLabel
(com.vaadin.flow.component.grid.Grid<?> grid) Returns the component that is displayed when the Grid would show an empty data set.static String
getFooter
(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.grid.Grid.Column<?> column) static String
getHeader
(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.grid.Grid.Column<?> column) static <T> String
getHidingToggleCaption
(com.vaadin.flow.component.grid.Grid.Column<T> column) Returns the caption of the hiding toggle for this column.static <T> com.vaadin.flow.function.SerializablePredicate<T>
getSelectionFilter
(com.vaadin.flow.component.grid.Grid<T> grid) Returns the predicate for determining which rows are selectable.static com.vaadin.flow.component.grid.Grid.SelectionMode
getSelectionMode
(com.vaadin.flow.component.grid.Grid<?> grid) Return the grid selection modestatic boolean
isArrowSelectionEnabled
(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether Grid rows can be selected using up/down arrow keys.static boolean
isColumnToggleVisible
(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the menu to toggle the visibility of grid columns is visible.static boolean
isEnhancedSelectionEnabled
(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the enhanced selection is enabled.static <T> boolean
isHidable
(com.vaadin.flow.component.grid.Grid.Column<T> column) Returns whether this column can be hidden by the user.static boolean
isMenuToggleColumn
(com.vaadin.flow.component.grid.Grid.Column<?> column) static boolean
isSelectionColumnFrozen
(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the multiselect selection column is frozen.static boolean
isSelectionColumnHidden
(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the multiselect selection column is hidden.static boolean
isSelectOnClick
(com.vaadin.flow.component.grid.Grid<?> grid) static void
setArrowSelectionEnabled
(com.vaadin.flow.component.grid.Grid<?> grid, boolean value) Allows Grid rows to be selected using up/down arrow keys.void
setClassNameGenerator
(com.vaadin.flow.function.SerializableFunction<T, String> classNameGenerator) Sets the function that is used for generating CSS class names for all the cells in the rows in this grid.static void
setColumnToggleVisible
(com.vaadin.flow.component.grid.Grid<?> grid, boolean visible) Shows a menu to toggle the visibility of grid columns.static void
setEmptyGridLabel
(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.Component component) Sets a component that is displayed when the Grid would show an empty data set.static final void
setEnhancedSelectionEnabled
(com.vaadin.flow.component.grid.Grid<?> grid, boolean enabled) When enabled, enhances grid row selection support adding support for these combinations: click, arrow up/down, shift+click, shift+arrow up/down, ctrl+click and ctrl+space.protected void
setHelperClassNameGenerator
(Class<?> clazz, com.vaadin.flow.function.SerializableFunction<T, String> generator) static <T> com.vaadin.flow.component.grid.Grid.Column<T>
setHidable
(com.vaadin.flow.component.grid.Grid.Column<T> column, boolean hidable) Sets whether this column can be hidden by the user.static <T> void
setHidingToggleCaption
(com.vaadin.flow.component.grid.Grid.Column<T> column, String caption) Sets the caption of the hiding toggle for this column.static void
setSelectionColumnFrozen
(com.vaadin.flow.component.grid.Grid<?> grid, boolean value) Sets whether the multiselect selection column is frozen.static void
setSelectionColumnHidden
(com.vaadin.flow.component.grid.Grid<?> grid, boolean value) Sets whether the multiselect selection column is hidden.static <T> void
setSelectionFilter
(com.vaadin.flow.component.grid.Grid<T> grid, com.vaadin.flow.function.SerializablePredicate<T> predicate) Sets a predicate for determining which rows are selectable.static void
setSelectOnClick
(com.vaadin.flow.component.grid.Grid<?> grid, boolean selectOnClick)
-
Field Details
-
GRID_STYLES
- See Also:
-
DENSE_THEME
Compact row styling for Vaadin Grid- See Also:
-
-
Method Details
-
setHelperClassNameGenerator
-
getSelectionMode
public static com.vaadin.flow.component.grid.Grid.SelectionMode getSelectionMode(com.vaadin.flow.component.grid.Grid<?> grid) Return the grid selection mode -
setClassNameGenerator
public void setClassNameGenerator(com.vaadin.flow.function.SerializableFunction<T, String> classNameGenerator) Sets the function that is used for generating CSS class names for all the cells in the rows in this grid. Returningnull
from the generator results in no custom class name being set. Multiple class names can be returned from the generator as space-separated.If
Grid.Column.setClassNameGenerator(SerializableFunction)
is used together with this method, resulting class names from both methods will be effective. Class names generated by grid are applied to the cells before the class names generated by column. This means that if the classes contain conflicting style properties, column's classes will win.- Parameters:
classNameGenerator
- the class name generator to set, notnull
- Throws:
NullPointerException
- ifclassNameGenerator
isnull
- See Also:
-
Grid.Column.setClassNameGenerator(SerializableFunction)
-
setSelectOnClick
public static void setSelectOnClick(com.vaadin.flow.component.grid.Grid<?> grid, boolean selectOnClick) -
isSelectOnClick
public static boolean isSelectOnClick(com.vaadin.flow.component.grid.Grid<?> grid) -
setArrowSelectionEnabled
public static void setArrowSelectionEnabled(com.vaadin.flow.component.grid.Grid<?> grid, boolean value) Allows Grid rows to be selected using up/down arrow keys. -
isArrowSelectionEnabled
public static boolean isArrowSelectionEnabled(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether Grid rows can be selected using up/down arrow keys. -
setSelectionColumnHidden
public static void setSelectionColumnHidden(com.vaadin.flow.component.grid.Grid<?> grid, boolean value) Sets whether the multiselect selection column is hidden. -
setSelectionColumnFrozen
public static void setSelectionColumnFrozen(com.vaadin.flow.component.grid.Grid<?> grid, boolean value) Sets whether the multiselect selection column is frozen. -
isSelectionColumnHidden
public static boolean isSelectionColumnHidden(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the multiselect selection column is hidden. -
isSelectionColumnFrozen
public static boolean isSelectionColumnFrozen(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the multiselect selection column is frozen. -
setSelectionFilter
public static <T> void setSelectionFilter(com.vaadin.flow.component.grid.Grid<T> grid, com.vaadin.flow.function.SerializablePredicate<T> predicate) Sets a predicate for determining which rows are selectable.After a call to
Grid.setSelectionMode(SelectionMode)
the selection filter is lost and it has to be configured again:GridHelper.setSelectionFilter(grid, GridHelper.getSelectionFilter(grid)); // static call grid.setSelectionFilter(grid.getSelectionFilter()); // with lombok extension
-
getSelectionFilter
public static <T> com.vaadin.flow.function.SerializablePredicate<T> getSelectionFilter(com.vaadin.flow.component.grid.Grid<T> grid) Returns the predicate for determining which rows are selectable. -
setColumnToggleVisible
public static void setColumnToggleVisible(com.vaadin.flow.component.grid.Grid<?> grid, boolean visible) Shows a menu to toggle the visibility of grid columns. -
isColumnToggleVisible
public static boolean isColumnToggleVisible(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the menu to toggle the visibility of grid columns is visible. -
isHidable
public static <T> boolean isHidable(com.vaadin.flow.component.grid.Grid.Column<T> column) Returns whether this column can be hidden by the user. Default isfalse
.- Returns:
true
if the user can hide the column,false
if not.
-
setHidable
public static <T> com.vaadin.flow.component.grid.Grid.Column<T> setHidable(com.vaadin.flow.component.grid.Grid.Column<T> column, boolean hidable) Sets whether this column can be hidden by the user. Hidable columns can be hidden and shown via the sidebar menu.- Parameters:
column
- the column to be configuredhidable
-true
if the column may be hidden by the user via UI interaction- Returns:
- the column.
-
addColumnToggleListener
public static <T> com.vaadin.flow.shared.Registration addColumnToggleListener(com.vaadin.flow.component.grid.Grid<T> grid, com.vaadin.flow.component.ComponentEventListener<ColumnToggleEvent<T>> listener) Adds a listener that is notified when column visibility is modified through the sidebar menu. -
setHidingToggleCaption
public static <T> void setHidingToggleCaption(com.vaadin.flow.component.grid.Grid.Column<T> column, String caption) Sets the caption of the hiding toggle for this column. Shown in the toggle for this column in the grid's sidebar when the column is hidable.If the value is
null
, the column cannot be hidden via the sidebar menu.- Parameters:
hidingToggleCaption
- the text to show in the column hiding toggle
-
getHidingToggleCaption
public static <T> String getHidingToggleCaption(com.vaadin.flow.component.grid.Grid.Column<T> column) Returns the caption of the hiding toggle for this column.- Returns:
- the text shown in the column hiding toggle
-
isMenuToggleColumn
public static boolean isMenuToggleColumn(com.vaadin.flow.component.grid.Grid.Column<?> column) -
setEmptyGridLabel
public static void setEmptyGridLabel(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.Component component) Sets a component that is displayed when the Grid would show an empty data set. -
getEmptyGridLabel
public static com.vaadin.flow.component.Component getEmptyGridLabel(com.vaadin.flow.component.grid.Grid<?> grid) Returns the component that is displayed when the Grid would show an empty data set. -
getHeader
public static String getHeader(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.grid.Grid.Column<?> column) -
setEnhancedSelectionEnabled
public static final void setEnhancedSelectionEnabled(com.vaadin.flow.component.grid.Grid<?> grid, boolean enabled) When enabled, enhances grid row selection support adding support for these combinations: click, arrow up/down, shift+click, shift+arrow up/down, ctrl+click and ctrl+space.- Parameters:
grid
-enabled
-
-
isEnhancedSelectionEnabled
public static boolean isEnhancedSelectionEnabled(com.vaadin.flow.component.grid.Grid<?> grid) Returns whether the enhanced selection is enabled.
-