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
    Modifier and Type
    Field
    Description
    static final String
    Compact row styling for Vaadin Grid
    static final String
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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.
    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)
    Deprecated.
    static String
    getHeader(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.grid.Grid.Column<?> column)
    Deprecated.
    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 mode
    static 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 boolean
    isFooterVisible(com.vaadin.flow.component.grid.Grid<?> grid)
    Returns the visibility of the footer section.
    static boolean
    isHeaderVisible(com.vaadin.flow.component.grid.Grid<?> grid)
    Returns the visibility of the header section.
    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)
    Deprecated.
    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.
    static void
    setFooterVisible(com.vaadin.flow.component.grid.Grid<?> grid, boolean visible)
    Sets the visibility of the footer section.
    static void
    setHeaderVisible(com.vaadin.flow.component.grid.Grid<?> grid, boolean visible)
     
    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)
    Deprecated.
    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)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Method Details

    • setHelperClassNameGenerator

      protected void setHelperClassNameGenerator(Class<?> clazz, com.vaadin.flow.function.SerializableFunction<T,String> generator)
    • 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. Returning null 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, not null
      Throws:
      NullPointerException - if classNameGenerator is null
      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

      @Deprecated public static void setSelectionColumnFrozen(com.vaadin.flow.component.grid.Grid<?> grid, boolean value)
      Deprecated.
      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

      @Deprecated public static boolean isSelectionColumnFrozen(com.vaadin.flow.component.grid.Grid<?> grid)
      Deprecated.
      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 is false.
      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 configured
      hidable - 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.
    • addToolbarFooter

      public static void addToolbarFooter(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.Component toolBar)
    • getHeader

      @Deprecated public static String getHeader(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.grid.Grid.Column<?> column)
      Deprecated.
    • getFooter

      @Deprecated public static String getFooter(com.vaadin.flow.component.grid.Grid<?> grid, com.vaadin.flow.component.grid.Grid.Column<?> column)
      Deprecated.
    • 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.
    • setHeaderVisible

      public static void setHeaderVisible(com.vaadin.flow.component.grid.Grid<?> grid, boolean visible)
    • isHeaderVisible

      public static boolean isHeaderVisible(com.vaadin.flow.component.grid.Grid<?> grid)
      Returns the visibility of the header section.
      Returns:
      true if visible, false otherwise.
    • setFooterVisible

      public static void setFooterVisible(com.vaadin.flow.component.grid.Grid<?> grid, boolean visible)
      Sets the visibility of the footer section.
      Parameters:
      visible - true to show footer section, false to hide
    • isFooterVisible

      public static boolean isFooterVisible(com.vaadin.flow.component.grid.Grid<?> grid)
      Returns the visibility of the footer section.
      Returns:
      true if visible, false otherwise.