Class JmixMultiSelectComboBox<V>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<C,T>
com.vaadin.flow.component.AbstractSinglePropertyField<TComponent,TValue>
com.vaadin.flow.component.combobox.ComboBoxBase<com.vaadin.flow.component.combobox.MultiSelectComboBox<TItem>,TItem,Set<TItem>>
com.vaadin.flow.component.combobox.MultiSelectComboBox<V>
io.jmix.flowui.component.multiselectcombobox.JmixMultiSelectComboBox<V>
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.BlurNotifier<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>>,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.Focusable<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>>,com.vaadin.flow.component.FocusNotifier<com.vaadin.flow.component.combobox.MultiSelectComboBox<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.combobox.MultiSelectComboBox<V>,,Set<V>>, Set<V>> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,,Set<V>>, Set<V>> com.vaadin.flow.component.shared.HasAllowedCharPattern,com.vaadin.flow.component.shared.HasClearButton,com.vaadin.flow.component.shared.HasThemeVariant<com.vaadin.flow.component.combobox.MultiSelectComboBoxVariant>,com.vaadin.flow.component.shared.HasTooltip,com.vaadin.flow.data.binder.HasValidator<Set<V>>,com.vaadin.flow.data.provider.HasDataView<V,,String, com.vaadin.flow.component.combobox.dataview.ComboBoxDataView<V>> com.vaadin.flow.data.provider.HasLazyDataView<V,,String, com.vaadin.flow.component.combobox.dataview.ComboBoxLazyDataView<V>> com.vaadin.flow.data.provider.HasListDataView<V,,com.vaadin.flow.component.combobox.dataview.ComboBoxListDataView<V>> com.vaadin.flow.data.selection.MultiSelect<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,,V> HasRequired,SupportsTypedValue<JmixMultiSelectComboBox<V>,,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>, Set<V>>, Collection<V>, Set<V>> SupportsValidation<Collection<V>>,SupportsDataProvider<V>,SupportsItemsEnum<V>,SupportsValueSource<Collection<V>>,HasTitle,Serializable,org.springframework.beans.factory.Aware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware
public class JmixMultiSelectComboBox<V>
extends com.vaadin.flow.component.combobox.MultiSelectComboBox<V>
implements SupportsValueSource<Collection<V>>, SupportsValidation<Collection<V>>, SupportsTypedValue<JmixMultiSelectComboBox<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,Set<V>>,Collection<V>,Set<V>>, SupportsDataProvider<V>, SupportsItemsEnum<V>, HasRequired, HasTitle, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class com.vaadin.flow.component.combobox.ComboBoxBase
com.vaadin.flow.component.combobox.ComboBoxBase.CustomValueSetEvent<TComponent extends com.vaadin.flow.component.combobox.ComboBoxBase<TComponent,?, ?>> 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<?>>Nested classes/interfaces inherited from interface io.jmix.flowui.component.SupportsTypedValue
SupportsTypedValue.TypedValueChangeEvent<C extends com.vaadin.flow.component.Component,V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected DataViewDelegate<JmixMultiSelectComboBox<V>,V> protected CollectionFieldDelegate<JmixMultiSelectComboBox<V>,V, V> protected Collection<V>protected booleanComponent manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(Collection, Set, boolean)) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)).Fields inherited from interface io.jmix.flowui.component.HasRequired
PROPERTY_REQUIREDFields inherited from interface io.jmix.flowui.component.SupportsValidation
PROPERTY_ERROR_MESSAGE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.RegistrationaddTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<JmixMultiSelectComboBox<V>, Collection<V>>> listener) com.vaadin.flow.shared.RegistrationaddValidator(Validator<? super Collection<V>> validator) com.vaadin.flow.shared.RegistrationaddValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener<? super com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>, Set<V>>> listener) voidprotected voidprotected DataViewDelegate<JmixMultiSelectComboBox<V>,V> protected CollectionFieldDelegate<JmixMultiSelectComboBox<V>,V, V> voidvoidvoidprotected booleanfieldValueEquals(Collection<V> value, Collection<V> oldValue) protected voidfireAllValueChangeEvents(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected voidfireMultiSelectComboBoxValueChangeEvent(Collection<V> oldValue, boolean isFromClient) protected voidfireTypedValueChangeEvent(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected voidbooleanprotected voidonValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectComboBox<V>, Set<V>> event) voidvoidvoidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) <C> voidsetDataProvider(com.vaadin.flow.data.provider.DataProvider<V, C> dataProvider, com.vaadin.flow.function.SerializableFunction<String, C> filterConverter) voidsetInvalid(boolean invalid) Sets invalid state to the field considering result of field validation.voidSets items from the passedEnumClass.voidsetRequiredMessage(String requiredMessage) voidsetTypedValue(Collection<V> value) voidprotected voidsetValueInternal(Collection<V> modelValue, Set<V> presentationValue, boolean fromClient) voidsetValueSource(ValueSource<Collection<V>> valueSource) Methods inherited from class com.vaadin.flow.component.combobox.MultiSelectComboBox
addSelectionListener, getI18n, getSelectedItems, getValue, isSelected, onAttach, refreshValue, setI18n, setValue, setValue, updateSelectionMethods inherited from class com.vaadin.flow.component.combobox.ComboBoxBase
addCustomValueSetListener, generateLabel, getDataCommunicator, getDataController, getDataGenerator, getDataProvider, getErrorMessage, getFilter, getGenericDataView, getItemLabelGenerator, getKeyMapper, getLazyDataView, getListDataView, getPageSize, getPlaceholder, getRenderManager, isAllowCustomValue, isAutofocus, isAutoOpen, isOpened, isRequired, onDetach, runBeforeClientResponse, setAllowCustomValue, setAutofocus, setAutoOpen, setDataProvider, setDataProvider, setDataProvider, setDataProvider, setErrorMessage, setFilter, setItemLabelGenerator, setItems, setItems, setItems, setItems, setItems, setItems, setItems, setItems, setItems, setItems, setItems, setItems, setItemsWithFilterConverter, setItemsWithFilterConverter, setOpened, setPageSize, setPlaceholder, setRenderer, setRequired, setRequiredIndicatorVisible, validateMethods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEventMethods inherited from class com.vaadin.flow.component.AbstractField
getEmptyValue, isEmpty, setModelValue, 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, onEnabledStateChanged, 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, focus, getTabIndex, setTabIndexMethods inherited from interface com.vaadin.flow.component.FocusNotifier
addFocusListenerMethods inherited from interface com.vaadin.flow.component.shared.HasAllowedCharPattern
getAllowedCharPattern, setAllowedCharPatternMethods inherited from interface com.vaadin.flow.component.shared.HasClearButton
isClearButtonVisible, setClearButtonVisibleMethods 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 com.vaadin.flow.component.HasLabel
getLabel, setLabelMethods inherited from interface com.vaadin.flow.data.provider.HasListDataView
setItemsMethods inherited from interface io.jmix.flowui.component.HasRequired
isRequired, setRequiredMethods 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.HasThemeVariant
addThemeVariants, removeThemeVariantsMethods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipTextMethods inherited from interface com.vaadin.flow.data.binder.HasValidator
addValidationStatusChangeListener, getDefaultValidatorMethods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValue, isEmptyMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly, setRequiredIndicatorVisibleMethods inherited from interface com.vaadin.flow.data.selection.MultiSelect
deselectAll, getEmptyValueMethods inherited from interface io.jmix.flowui.data.SupportsDataProvider
getDataProviderMethods inherited from interface io.jmix.flowui.component.SupportsValidation
getErrorMessage, setErrorMessage
-
Field Details
-
applicationContext
protected org.springframework.context.ApplicationContext applicationContext -
fieldDelegate
-
dataViewDelegate
-
internalValue
-
isVaadinValueChangeEnabled
protected boolean isVaadinValueChangeEnabledComponent manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(Collection, Set, boolean)) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)). Therefore, any Vaadin value change listener has a wrapper and disabled for handling event.
-
-
Constructor Details
-
JmixMultiSelectComboBox
public JmixMultiSelectComboBox()
-
-
Method Details
-
setApplicationContext
public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException - Specified by:
setApplicationContextin interfaceorg.springframework.context.ApplicationContextAware- Throws:
org.springframework.beans.BeansException
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
initComponent
protected void initComponent() -
getRequiredMessage
- Specified by:
getRequiredMessagein interfaceHasRequired
-
setRequiredMessage
- Specified by:
setRequiredMessagein interfaceHasRequired
-
addValidator
- Specified by:
addValidatorin interfaceSupportsValidation<V>
-
executeValidators
- Specified by:
executeValidatorsin interfaceSupportsValidation<V>- Throws:
ValidationException
-
isInvalid
public boolean isInvalid() -
setInvalid
public void setInvalid(boolean invalid) Description copied from interface:SupportsValidationSets invalid state to the field considering result of field validation.- Invalid - false and validation passed - false = field is invalid
- Invalid - false and validation passed - true = field is valid
- Invalid - true and validation passed - false = field is invalid
- Invalid - true and validation passed - true = field is invalid
- Specified by:
setInvalidin interfacecom.vaadin.flow.component.HasValidation- Specified by:
setInvalidin interfaceSupportsValidation<V>- Overrides:
setInvalidin classcom.vaadin.flow.component.combobox.ComboBoxBase<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,V, Set<V>> - Parameters:
invalid- whether field should be invalid
-
setItems
Description copied from interface:SupportsItemsEnumSets items from the passedEnumClass.- Specified by:
setItemsin interfaceSupportsItemsEnum<V>- Parameters:
itemsEnum- aEnumClassto be used as items source- See Also:
-
setDataProvider
-
getValueSource
- Specified by:
getValueSourcein interfaceSupportsValueSource<V>
-
setValueSource
- Specified by:
setValueSourcein interfaceSupportsValueSource<V>
-
getTypedValue
- Specified by:
getTypedValuein interfaceSupportsTypedValue<JmixMultiSelectComboBox<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>, Set<V>>, Collection<V>, Set<V>>
-
setTypedValue
- Specified by:
setTypedValuein interfaceSupportsTypedValue<JmixMultiSelectComboBox<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>, Set<V>>, Collection<V>, Set<V>>
-
setValue
- Specified by:
setValuein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,Set<V>>, Set<V>> - Specified by:
setValuein interfacecom.vaadin.flow.data.selection.MultiSelect<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,V> - Overrides:
setValuein classcom.vaadin.flow.component.combobox.MultiSelectComboBox<V>
-
setValueInternal
protected void setValueInternal(@Nullable Collection<V> modelValue, @Nullable Set<V> presentationValue, boolean fromClient) -
select
-
deselect
-
select
-
deselect
-
addValueChangeListener
public com.vaadin.flow.shared.Registration addValueChangeListener(com.vaadin.flow.component.HasValue.ValueChangeListener<? super com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>, Set<V>>> listener) - Specified by:
addValueChangeListenerin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,Set<V>>, Set<V>> - Overrides:
addValueChangeListenerin classcom.vaadin.flow.component.AbstractField<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,Set<V>>
-
addTypedValueChangeListener
public com.vaadin.flow.shared.Registration addTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<JmixMultiSelectComboBox<V>, Collection<V>>> listener) - Specified by:
addTypedValueChangeListenerin interfaceSupportsTypedValue<JmixMultiSelectComboBox<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>, Set<V>>, Collection<V>, Set<V>>
-
attachValueChangeListener
protected void attachValueChangeListener() -
onValueChange
protected void onValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectComboBox<V>, Set<V>> event) -
fireMultiSelectComboBoxValueChangeEvent
protected void fireMultiSelectComboBoxValueChangeEvent(@Nullable Collection<V> oldValue, boolean isFromClient) -
fireAllValueChangeEvents
protected void fireAllValueChangeEvents(@Nullable Collection<V> value, @Nullable Collection<V> oldValue, boolean isFromClient) -
fireTypedValueChangeEvent
protected void fireTypedValueChangeEvent(@Nullable Collection<V> value, @Nullable Collection<V> oldValue, boolean isFromClient) -
fieldValueEquals
-
createFieldDelegate
-
createDataViewDelegate
-