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
Modifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContext
protected DataViewDelegate<JmixMultiSelectComboBox<V>,
V> protected CollectionFieldDelegate<JmixMultiSelectComboBox<V>,
V, V> protected Collection<V>
protected boolean
Component 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_REQUIRED
Fields inherited from interface io.jmix.flowui.component.SupportsValidation
PROPERTY_ERROR_MESSAGE
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.Registration
addTypedValueChangeListener
(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<JmixMultiSelectComboBox<V>, Collection<V>>> listener) com.vaadin.flow.shared.Registration
addValidator
(Validator<? super Collection<V>> validator) 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) void
protected void
protected DataViewDelegate<JmixMultiSelectComboBox<V>,
V> protected CollectionFieldDelegate<JmixMultiSelectComboBox<V>,
V, V> void
void
void
protected boolean
fieldValueEquals
(Collection<V> value, Collection<V> oldValue) protected void
fireAllValueChangeEvents
(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected void
fireMultiSelectComboBoxValueChangeEvent
(Collection<V> oldValue, boolean isFromClient) protected void
fireTypedValueChangeEvent
(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected void
boolean
protected void
onValueChange
(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectComboBox<V>, Set<V>> event) void
void
void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) <C> void
setDataProvider
(com.vaadin.flow.data.provider.DataProvider<V, C> dataProvider, com.vaadin.flow.function.SerializableFunction<String, C> filterConverter) void
setInvalid
(boolean invalid) Sets invalid state to the field considering result of field validation.void
Sets items from the passedEnumClass
.void
setRequiredMessage
(String requiredMessage) void
setTypedValue
(Collection<V> value) void
protected void
setValueInternal
(Collection<V> modelValue, Set<V> presentationValue, boolean fromClient) void
setValueSource
(ValueSource<Collection<V>> valueSource) Methods inherited from class com.vaadin.flow.component.combobox.MultiSelectComboBox
addSelectionListener, getI18n, getSelectedItems, getValue, isSelected, onAttach, refreshValue, setI18n, setValue, setValue, updateSelection
Methods 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, validate
Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEvent
Methods inherited from class com.vaadin.flow.component.AbstractField
getEmptyValue, isEmpty, setModelValue, 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, onEnabledStateChanged, 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.shared.HasAllowedCharPattern
getAllowedCharPattern, setAllowedCharPattern
Methods inherited from interface com.vaadin.flow.component.shared.HasClearButton
isClearButtonVisible, setClearButtonVisible
Methods inherited from interface com.vaadin.flow.component.HasElement
getElement
Methods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabled, setEnabled
Methods inherited from interface com.vaadin.flow.component.HasHelper
getHelperComponent, getHelperText, setHelperComponent, setHelperText
Methods inherited from interface com.vaadin.flow.component.HasLabel
getLabel, setLabel
Methods inherited from interface com.vaadin.flow.data.provider.HasListDataView
setItems
Methods inherited from interface io.jmix.flowui.component.HasRequired
isRequired, setRequired
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.HasThemeVariant
addThemeVariants, removeThemeVariants
Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipText
Methods inherited from interface com.vaadin.flow.data.binder.HasValidator
addValidationStatusChangeListener, getDefaultValidator
Methods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValue, isEmpty
Methods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly, setRequiredIndicatorVisible
Methods inherited from interface com.vaadin.flow.data.selection.MultiSelect
deselectAll, getEmptyValue
Methods inherited from interface io.jmix.flowui.data.SupportsDataProvider
getDataProvider
Methods 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:
setApplicationContext
in interfaceorg.springframework.context.ApplicationContextAware
- Throws:
org.springframework.beans.BeansException
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-
initComponent
protected void initComponent() -
getRequiredMessage
- Specified by:
getRequiredMessage
in interfaceHasRequired
-
setRequiredMessage
- Specified by:
setRequiredMessage
in interfaceHasRequired
-
addValidator
- Specified by:
addValidator
in interfaceSupportsValidation<V>
-
executeValidators
- Specified by:
executeValidators
in interfaceSupportsValidation<V>
- Throws:
ValidationException
-
isInvalid
public boolean isInvalid() -
setInvalid
public void setInvalid(boolean invalid) Description copied from interface:SupportsValidation
Sets 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:
setInvalid
in interfacecom.vaadin.flow.component.HasValidation
- Specified by:
setInvalid
in interfaceSupportsValidation<V>
- Overrides:
setInvalid
in 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:SupportsItemsEnum
Sets items from the passedEnumClass
.- Specified by:
setItems
in interfaceSupportsItemsEnum<V>
- Parameters:
itemsEnum
- aEnumClass
to be used as items source- See Also:
-
setDataProvider
-
getValueSource
- Specified by:
getValueSource
in interfaceSupportsValueSource<V>
-
setValueSource
- Specified by:
setValueSource
in interfaceSupportsValueSource<V>
-
getTypedValue
- Specified by:
getTypedValue
in 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:
setTypedValue
in 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:
setValue
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,
Set<V>>, Set<V>> - Specified by:
setValue
in interfacecom.vaadin.flow.data.selection.MultiSelect<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,
V> - Overrides:
setValue
in 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:
addValueChangeListener
in interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.combobox.MultiSelectComboBox<V>,
Set<V>>, Set<V>> - Overrides:
addValueChangeListener
in 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:
addTypedValueChangeListener
in 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
-