Class ButtonSelect<T>
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<T>
org.vaadin.miki.superfields.componentselect.AbstractComponentSelect<C,T,T,ComponentSelect<C,T>>
org.vaadin.miki.superfields.componentselect.ComponentSelect<com.vaadin.flow.component.button.Button,T>
org.vaadin.miki.superfields.buttons.ButtonSelect<T>
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.customfield.CustomField<T>>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.customfield.CustomField<T>>,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.customfield.CustomField<T>>,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<T>,,T>, T> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,,T>, T> com.vaadin.flow.component.shared.HasTooltip,com.vaadin.flow.component.shared.HasValidationProperties,com.vaadin.flow.component.shared.InputField<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,,T>, T> com.vaadin.flow.data.binder.HasItems<T>,Serializable,HasHelperPositionable,HasId,HasLabelPositionable,HasNullValueOptionallyAllowed<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,,T>, T> WithHelperMixin<ComponentSelect<com.vaadin.flow.component.button.Button,,T>> WithHelperPositionableMixin<ComponentSelect<com.vaadin.flow.component.button.Button,,T>> WithIdMixin<ComponentSelect<com.vaadin.flow.component.button.Button,,T>> WithItemsMixin<T,,ComponentSelect<com.vaadin.flow.component.button.Button, T>> WithLabelMixin<ComponentSelect<com.vaadin.flow.component.button.Button,,T>> WithLabelPositionableMixin<ComponentSelect<com.vaadin.flow.component.button.Button,,T>> WithNullValueOptionallyAllowedMixin<ComponentSelect<com.vaadin.flow.component.button.Button,,T>, com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>, T>, T> WithValueMixin<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.customfield.CustomField<T>,T>, T, ComponentSelect<com.vaadin.flow.component.button.Button, T>>
@Tag("button-select")
@JsModule("./button-select.js")
public class ButtonSelect<T>
extends ComponentSelect<com.vaadin.flow.component.button.Button,T>
The simplest possible extension of
ComponentSelect that uses Buttons.- Since:
- 2023-11-17
- 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 class org.vaadin.miki.superfields.componentselect.AbstractComponentSelect
NO_SELECTIONFields inherited from interface org.vaadin.miki.markers.HasHelperPositionable
HELPER_ABOVE_THEME_VARIANTFields inherited from interface org.vaadin.miki.markers.HasLabelPositionable
LABEL_POSITION_ATTRIBUTE, LABEL_POSITION_DETAILS_ATTRIBUTE -
Constructor Summary
ConstructorsConstructorDescriptionButtonSelect(Supplier<L> layoutProvider, com.vaadin.flow.component.button.ButtonVariant selectedVariant, T... items) Creates aButtonSelectthat usesButtonVariantto visually distinguish the selected button.ButtonSelect(Supplier<L> layoutSupplier, com.vaadin.flow.function.SerializableBiFunction<Integer, T, com.vaadin.flow.component.button.Button> componentFactory, com.vaadin.flow.function.SerializableBiConsumer<Integer, com.vaadin.flow.component.button.Button> selectionModifier, com.vaadin.flow.function.SerializableBiConsumer<Integer, com.vaadin.flow.component.button.Button> deselectionModifier, T... options) Creates aButtonSelect.ButtonSelect(Supplier<L> layoutProvider, String selectedClassName, String deselectedClassName, T... items) Creates aButtonSelectthat uses style names to visually distinguish the selected button. -
Method Summary
Methods inherited from class org.vaadin.miki.superfields.componentselect.ComponentSelect
generateModelValue, getSelectedIndex, isNullValueAllowed, isSelected, isSelected, itemClicked, setNullValueAllowed, setPresentationValue, setSelectedIndexMethods inherited from class org.vaadin.miki.superfields.componentselect.AbstractComponentSelect
deselect, ensureValidIndex, focus, getComponentDeselectedAction, getComponentFactory, getComponentIndex, getComponentSelectedAction, getOptions, noOp, rebuildComponents, select, setComponentDeselectedAction, setComponentFactory, setComponentSelectedAction, setItems, withComponentDeselectedAction, withComponentFactory, withComponentSelectedActionMethods inherited from class com.vaadin.flow.component.customfield.CustomField
add, addThemeVariants, getLabel, onAttach, remove, removeThemeVariants, setLabel, updateValueMethods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue, setValue, valueEqualsMethods 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, setVisibleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.vaadin.flow.component.AttachNotifier
addAttachListenerMethods inherited from interface com.vaadin.flow.component.BlurNotifier
addBlurListenerMethods inherited from interface com.vaadin.flow.component.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.Focusable
addFocusShortcut, blur, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabledMethods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperTextMethods inherited from interface org.vaadin.miki.markers.HasHelperPositionable
isHelperAbove, setHelperAbove, setHelperAbove, setHelperBelowMethods inherited from interface com.vaadin.flow.data.binder.HasItems
setItems, setItemsMethods inherited from interface com.vaadin.flow.component.HasLabel
getLabel, setLabelMethods inherited from interface org.vaadin.miki.markers.HasLabelPositionable
getLabelPosition, setLabelPositionMethods 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, setWidthFullMethods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassNameMethods inherited from interface com.vaadin.flow.component.HasTheme
addThemeName, addThemeNames, getThemeName, getThemeNames, hasThemeName, removeThemeName, removeThemeNames, setThemeName, setThemeNameMethods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipTextMethods inherited from interface com.vaadin.flow.component.HasValidation
setManualValidationMethods inherited from interface com.vaadin.flow.component.shared.HasValidationProperties
getErrorMessage, isInvalid, setErrorMessage, setInvalidMethods inherited from interface com.vaadin.flow.component.HasValue
addValueChangeListener, clear, getEmptyValue, getOptionalValue, getValue, isEmpty, setValueMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly, setRequiredIndicatorVisibleMethods inherited from interface org.vaadin.miki.markers.WithHelperMixin
withHelperComponent, withHelperTextMethods inherited from interface org.vaadin.miki.markers.WithHelperPositionableMixin
withHelperAbove, withHelperAbove, withHelperBelowMethods inherited from interface org.vaadin.miki.markers.WithIdMixin
withIdMethods inherited from interface org.vaadin.miki.markers.WithItemsMixin
withItems, withItems, withItemsMethods inherited from interface org.vaadin.miki.markers.WithLabelMixin
withLabelMethods inherited from interface org.vaadin.miki.markers.WithLabelPositionableMixin
withLabelPositionMethods inherited from interface org.vaadin.miki.markers.WithNullValueOptionallyAllowedMixin
withNullValueAllowed, withNullValueAllowed, withoutNullValueAllowedMethods inherited from interface org.vaadin.miki.markers.WithValueMixin
withValue
-
Constructor Details
-
ButtonSelect
@SafeVarargs public ButtonSelect(Supplier<L> layoutProvider, String selectedClassName, String deselectedClassName, T... items) Creates aButtonSelectthat uses style names to visually distinguish the selected button.- Type Parameters:
L- Layout type.- Parameters:
layoutProvider- Provides the root layout of the component.selectedClassName- Style name used when a button is selected.deselectedClassName- Style name used when a button is deselected.items- Items.
-
ButtonSelect
@SafeVarargs public ButtonSelect(Supplier<L> layoutProvider, com.vaadin.flow.component.button.ButtonVariant selectedVariant, T... items) Creates aButtonSelectthat usesButtonVariantto visually distinguish the selected button.- Type Parameters:
L- Layout type.- Parameters:
layoutProvider- Provides the root layout of the component.selectedVariant- Variant to use for the selected button. The lack of this variant indicates a non-selected button.items- Items.
-
ButtonSelect
@SafeVarargs public ButtonSelect(Supplier<L> layoutSupplier, com.vaadin.flow.function.SerializableBiFunction<Integer, T, com.vaadin.flow.component.button.Button> componentFactory, com.vaadin.flow.function.SerializableBiConsumer<Integer, com.vaadin.flow.component.button.Button> selectionModifier, com.vaadin.flow.function.SerializableBiConsumer<Integer, com.vaadin.flow.component.button.Button> deselectionModifier, T... options) Creates aButtonSelect.- Type Parameters:
L- Layout type.- Parameters:
layoutSupplier- Provides the root layout of the component.componentFactory- A factory to createButtons for each option.selectionModifier- Action to perform when a button is selected.deselectionModifier- Action to perform when a button is deselected.options- Items.
-