Class GridMultiSelect<V>

java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<com.vaadin.flow.component.customfield.CustomField<T>,T>
com.vaadin.flow.component.customfield.CustomField<F>
org.vaadin.miki.superfields.gridselect.AbstractGridSelect<V,Set<V>>
org.vaadin.miki.superfields.gridselect.GridMultiSelect<V>
Type Parameters:
V - Value to store in the Grid.
All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier, com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.customfield.CustomField<Set<V>>>, com.vaadin.flow.component.DetachNotifier, com.vaadin.flow.component.Focusable<com.vaadin.flow.component.customfield.CustomField<Set<V>>>, com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.customfield.CustomField<Set<V>>>, com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasHelper, com.vaadin.flow.component.HasLabel, com.vaadin.flow.component.HasSize, com.vaadin.flow.component.HasStyle, com.vaadin.flow.component.HasTheme, com.vaadin.flow.component.HasValidation, com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<Set<V>>,Set<V>>,Set<V>>, com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<Set<V>>,Set<V>>,Set<V>>, com.vaadin.flow.component.shared.HasTooltip, com.vaadin.flow.component.shared.HasValidationProperties, com.vaadin.flow.data.binder.HasItems<V>, Serializable, HasHelperPositionable, HasId, HasLabelPositionable, HasMaximumSelectionSize, WithHelperMixin<GridMultiSelect<V>>, WithHelperPositionableMixin<GridMultiSelect<V>>, WithIdMixin<GridMultiSelect<V>>, WithItemsMixin<V,GridMultiSelect<V>>, WithLabelMixin<GridMultiSelect<V>>, WithLabelPositionableMixin<GridMultiSelect<V>>, WithMaximumSelectionSizeMixin<GridMultiSelect<V>>, WithValueMixin<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<Set<V>>,Set<V>>,Set<V>,GridMultiSelect<V>>

public class GridMultiSelect<V> extends AbstractGridSelect<V,Set<V>> implements WithIdMixin<GridMultiSelect<V>>, WithItemsMixin<V,GridMultiSelect<V>>, WithMaximumSelectionSizeMixin<GridMultiSelect<V>>, WithHelperMixin<GridMultiSelect<V>>, WithHelperPositionableMixin<GridMultiSelect<V>>, WithLabelPositionableMixin<GridMultiSelect<V>>, WithLabelMixin<GridMultiSelect<V>>, WithValueMixin<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<Set<V>>,Set<V>>,Set<V>,GridMultiSelect<V>>
A multi-selection GridSelect. Holds a value that is a Set<V>.
Since:
2020-12-09
Author:
miki
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField

    com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,V extends Object>

    Nested classes/interfaces inherited from interface com.vaadin.flow.component.BlurNotifier

    com.vaadin.flow.component.BlurNotifier.BlurEvent<C extends com.vaadin.flow.component.Component>

    Nested classes/interfaces inherited from interface com.vaadin.flow.component.FocusNotifier

    com.vaadin.flow.component.FocusNotifier.FocusEvent<C extends com.vaadin.flow.component.Component>

    Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue

    com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
  • Field Summary

    Fields inherited from interface org.vaadin.miki.markers.HasHelperPositionable

    HELPER_ABOVE_THEME_VARIANT

    Fields inherited from interface org.vaadin.miki.markers.HasLabelPositionable

    LABEL_POSITION_ATTRIBUTE, LABEL_POSITION_DETAILS_ATTRIBUTE

    Fields inherited from interface org.vaadin.miki.markers.HasMaximumSelectionSize

    UNLIMITED
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    GridMultiSelect(com.vaadin.flow.component.grid.Grid<V> underlyingGrid)
    More advanced constructor that allows using predefined grid.
     
    GridMultiSelect(Class<V> type, boolean createColumns, V... items)
    Constructs the component.
     
    GridMultiSelect(V... items)
    Creates the component.
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    configureGrid(com.vaadin.flow.component.grid.Grid<V> grid)
    Configures the grid.
    protected Set<V>
     
    int
    Returns the current maximum selection size.
    protected void
    onGridSelected(com.vaadin.flow.data.selection.SelectionEvent<com.vaadin.flow.component.grid.Grid<V>,V> event)
    This method is called when a grid cell is selected in the client.
    void
    setItems(Collection<V> collection)
     
    void
    setMaximumSelectionSize(int maximumSelectionSize)
    Defines the new maximum selection size.
    protected void
     
    protected void
     

    Methods inherited from class org.vaadin.miki.superfields.gridselect.AbstractGridSelect

    getGrid, isEnabled, setEnabled, setReadOnly

    Methods inherited from class com.vaadin.flow.component.customfield.CustomField

    add, addThemeVariants, getLabel, onAttach, remove, removeThemeVariants, setLabel

    Methods inherited from class com.vaadin.flow.component.AbstractField

    addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, setValue, valueEquals

    Methods inherited from class com.vaadin.flow.component.Component

    addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, onDetach, onEnabledStateChanged, removeFromParent, scrollIntoView, scrollIntoView, set, setElement, setId, setVisible

    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.component.AttachNotifier

    addAttachListener

    Methods inherited from interface com.vaadin.flow.component.BlurNotifier

    addBlurListener

    Methods inherited from interface com.vaadin.flow.component.DetachNotifier

    addDetachListener

    Methods inherited from interface com.vaadin.flow.component.Focusable

    addFocusShortcut, blur, focus, getTabIndex, setTabIndex

    Methods inherited from interface com.vaadin.flow.component.FocusNotifier

    addFocusListener

    Methods inherited from interface com.vaadin.flow.component.HasElement

    getElement

    Methods inherited from interface com.vaadin.flow.component.HasHelper

    getHelperComponent, getHelperText, setHelperComponent, setHelperText

    Methods inherited from interface org.vaadin.miki.markers.HasHelperPositionable

    isHelperAbove, setHelperAbove, setHelperAbove, setHelperBelow

    Methods inherited from interface org.vaadin.miki.markers.HasId

    getId, setId

    Methods inherited from interface com.vaadin.flow.data.binder.HasItems

    setItems, setItems

    Methods inherited from interface com.vaadin.flow.component.HasLabel

    getLabel, setLabel

    Methods inherited from interface org.vaadin.miki.markers.HasLabelPositionable

    getLabelPosition, setLabelPosition

    Methods inherited from interface com.vaadin.flow.component.HasSize

    getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull

    Methods inherited from interface com.vaadin.flow.component.HasStyle

    addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName

    Methods inherited from interface com.vaadin.flow.component.HasTheme

    addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeName

    Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip

    getTooltip, setTooltipText

    Methods inherited from interface com.vaadin.flow.component.shared.HasValidationProperties

    getErrorMessage, isInvalid, setErrorMessage, setInvalid

    Methods inherited from interface com.vaadin.flow.component.HasValue

    addValueChangeListener, clear, getEmptyValue, getOptionalValue, getValue, isEmpty, setValue

    Methods inherited from interface com.vaadin.flow.component.HasValueAndElement

    isReadOnly, isRequiredIndicatorVisible, setRequiredIndicatorVisible

    Methods inherited from interface org.vaadin.miki.markers.WithHelperMixin

    withHelperComponent, withHelperText

    Methods inherited from interface org.vaadin.miki.markers.WithHelperPositionableMixin

    withHelperAbove, withHelperAbove, withHelperBelow

    Methods inherited from interface org.vaadin.miki.markers.WithIdMixin

    withId

    Methods inherited from interface org.vaadin.miki.markers.WithItemsMixin

    withItems, withItems, withItems

    Methods inherited from interface org.vaadin.miki.markers.WithLabelMixin

    withLabel

    Methods inherited from interface org.vaadin.miki.markers.WithLabelPositionableMixin

    withLabelPosition

    Methods inherited from interface org.vaadin.miki.markers.WithMaximumSelectionSizeMixin

    withMaximumSelectionSize

    Methods inherited from interface org.vaadin.miki.markers.WithValueMixin

    withValue
  • Constructor Details

    • GridMultiSelect

      @SafeVarargs public GridMultiSelect(V... items)
      Creates the component. This requires a subsequent configuration of grid's columns.
      Parameters:
      items - Items to add to the grid.
      See Also:
    • GridMultiSelect

      @SafeVarargs public GridMultiSelect(Class<V> type, boolean createColumns, V... items)
      Constructs the component. This is the recommended constructor.
      Parameters:
      type - Type of items displayed in the grid.
      createColumns - Whether or not to create default columns.
      items - Items to add to the grid.
    • GridMultiSelect

      protected GridMultiSelect(com.vaadin.flow.component.grid.Grid<V> underlyingGrid)
      More advanced constructor that allows using predefined grid. It is not public, as usage of this constructor implies you know what you are doing.
      Parameters:
      underlyingGrid - A grid to use.
  • Method Details

    • onGridSelected

      protected void onGridSelected(com.vaadin.flow.data.selection.SelectionEvent<com.vaadin.flow.component.grid.Grid<V>,V> event)
      Description copied from class: AbstractGridSelect
      This method is called when a grid cell is selected in the client. By default, it calls CustomField.updateValue().
      Overrides:
      onGridSelected in class AbstractGridSelect<V,Set<V>>
      Parameters:
      event - Event with selection details.
    • configureGrid

      protected void configureGrid(com.vaadin.flow.component.grid.Grid<V> grid)
      Description copied from class: AbstractGridSelect
      Configures the grid.
      Overrides:
      configureGrid in class AbstractGridSelect<V,Set<V>>
      Parameters:
      grid - Grid to configure.
    • generateModelValue

      protected Set<V> generateModelValue()
      Specified by:
      generateModelValue in class com.vaadin.flow.component.customfield.CustomField<Set<V>>
    • updateValue

      protected void updateValue()
      Overrides:
      updateValue in class com.vaadin.flow.component.customfield.CustomField<Set<V>>
    • setPresentationValue

      protected void setPresentationValue(Set<V> vs)
      Specified by:
      setPresentationValue in class com.vaadin.flow.component.customfield.CustomField<Set<V>>
    • setItems

      public void setItems(Collection<V> collection)
      Specified by:
      setItems in interface com.vaadin.flow.data.binder.HasItems<V>
    • setMaximumSelectionSize

      public void setMaximumSelectionSize(int maximumSelectionSize)
      Description copied from interface: HasMaximumSelectionSize
      Defines the new maximum selection size. When current selection is above the new limit, the selection should change so that it fits the new limit.
      Specified by:
      setMaximumSelectionSize in interface HasMaximumSelectionSize
      Parameters:
      maximumSelectionSize - Maximum selection size.
    • getMaximumSelectionSize

      public int getMaximumSelectionSize()
      Description copied from interface: HasMaximumSelectionSize
      Returns the current maximum selection size.
      Specified by:
      getMaximumSelectionSize in interface HasMaximumSelectionSize
      Returns:
      Maximum allowed selection size; HasMaximumSelectionSize.UNLIMITED by default.