Package io.jmix.flowui.component.listbox
Class JmixMultiSelectListBox<V>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<C,T>
com.vaadin.flow.component.AbstractSinglePropertyField<C,VALUE>
com.vaadin.flow.component.listbox.ListBoxBase<com.vaadin.flow.component.listbox.MultiSelectListBox<T>,T,Set<T>>
com.vaadin.flow.component.listbox.MultiSelectListBox<V>
io.jmix.flowui.component.listbox.JmixMultiSelectListBox<V>
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier
,com.vaadin.flow.component.DetachNotifier
,com.vaadin.flow.component.HasComponents
,com.vaadin.flow.component.HasElement
,com.vaadin.flow.component.HasEnabled
,com.vaadin.flow.component.HasSize
,com.vaadin.flow.component.HasStyle
,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<V>,
,Set<V>>, Set<V>> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<V>,
,Set<V>>, Set<V>> com.vaadin.flow.data.binder.HasItemComponents<V>
,com.vaadin.flow.data.provider.HasDataView<V,
,Void, com.vaadin.flow.component.listbox.dataview.ListBoxDataView<V>> com.vaadin.flow.data.provider.HasListDataView<V,
,com.vaadin.flow.component.listbox.dataview.ListBoxListDataView<V>> com.vaadin.flow.data.selection.MultiSelect<com.vaadin.flow.component.listbox.MultiSelectListBox<V>,
,V> SupportsTypedValue<JmixMultiSelectListBox<V>,
,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<V>, Set<V>>, Collection<V>, Set<V>> SupportsDataProvider<V>
,SupportsItemsContainer<V>
,SupportsValueSource<Collection<V>>
,Serializable
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.ApplicationContextAware
public class JmixMultiSelectListBox<V>
extends com.vaadin.flow.component.listbox.MultiSelectListBox<V>
implements SupportsValueSource<Collection<V>>, SupportsTypedValue<JmixMultiSelectListBox<V>,com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<V>,Set<V>>,Collection<V>,Set<V>>, SupportsDataProvider<V>, SupportsItemsContainer<V>, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.InitializingBean
- 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.data.binder.HasItemComponents
com.vaadin.flow.data.binder.HasItemComponents.ItemComponent<T extends Object>
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<JmixMultiSelectListBox<V>,
V> protected CollectionFieldDelegate<JmixMultiSelectListBox<V>,
V, V> protected Collection<V>
protected boolean
Component manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(Collection, Set)
) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)
). -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.Registration
addTypedValueChangeListener
(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<JmixMultiSelectListBox<V>, Collection<V>>> listener) void
protected void
protected DataViewDelegate<JmixMultiSelectListBox<V>,
V> protected CollectionFieldDelegate<JmixMultiSelectListBox<V>,
V, V> protected boolean
fieldValueEquals
(Collection<V> value, Collection<V> oldValue) protected void
fireAllValueChangeEvents
(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected void
fireMultiSelectListBoxValueChangeEvent
(Collection<V> oldValue, boolean isFromClient) protected void
fireTypedValueChangeEvent
(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected void
protected void
onValueChange
(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectListBox<V>, Set<V>> event) void
setApplicationContext
(org.springframework.context.ApplicationContext applicationContext) void
setItems
(CollectionContainer<V> container) Sets items from the passedCollectionContainer
.void
setTypedValue
(Collection<V> value) void
protected void
setValueInternal
(Collection<V> modelValue, Set<V> presentationValue) void
setValueSource
(ValueSource<Collection<V>> valueSource) Methods inherited from class com.vaadin.flow.component.listbox.MultiSelectListBox
addSelectionListener, getSelectedItems, updateSelection, valueEquals
Methods inherited from class com.vaadin.flow.component.listbox.ListBoxBase
getDataProvider, getGenericDataView, getItemEnabledProvider, getItemId, getItemLabelGenerator, getItemRenderer, getListDataView, onAttach, onDetach, onEnabledStateChanged, setDataProvider, setItemEnabledProvider, setItemLabelGenerator, setItems, setItems, setItems, setItems, setRenderer, setRequiredIndicatorVisible
Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEvent
Methods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue
Methods inherited from class com.vaadin.flow.component.Component
addListener, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getLocale, getParent, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, 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.DetachNotifier
addDetachListener
Methods inherited from interface com.vaadin.flow.component.HasComponents
add, add, addComponentAsFirst, addComponentAtIndex, remove, removeAll
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.data.binder.HasItemComponents
addComponents, getItemPosition, prependComponents
Methods inherited from interface com.vaadin.flow.data.provider.HasListDataView
setItems, setItems
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.HasValue
addValueChangeListener, 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
deselect, deselect, deselectAll, getEmptyValue, getValue, isSelected, select, select
Methods inherited from interface io.jmix.flowui.data.SupportsDataProvider
getDataProvider
-
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)
) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)
). Therefore, any Vaadin value change listener has a wrapper and disabled for handling event.
-
-
Constructor Details
-
JmixMultiSelectListBox
public JmixMultiSelectListBox()
-
-
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() -
getTypedValue
- Specified by:
getTypedValue
in interfaceSupportsTypedValue<JmixMultiSelectListBox<V>,
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<V>, Set<V>>, Collection<V>, Set<V>>
-
setTypedValue
- Specified by:
setTypedValue
in interfaceSupportsTypedValue<JmixMultiSelectListBox<V>,
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<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.listbox.MultiSelectListBox<V>,
Set<V>>, Set<V>> - Specified by:
setValue
in interfacecom.vaadin.flow.data.selection.MultiSelect<com.vaadin.flow.component.listbox.MultiSelectListBox<V>,
V> - Overrides:
setValue
in classcom.vaadin.flow.component.listbox.MultiSelectListBox<V>
-
setValueInternal
-
addTypedValueChangeListener
public com.vaadin.flow.shared.Registration addTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<JmixMultiSelectListBox<V>, Collection<V>>> listener) - Specified by:
addTypedValueChangeListener
in interfaceSupportsTypedValue<JmixMultiSelectListBox<V>,
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<V>, Set<V>>, Collection<V>, Set<V>>
-
setItems
Description copied from interface:SupportsItemsContainer
Sets items from the passedCollectionContainer
.- Specified by:
setItems
in interfaceSupportsItemsContainer<V>
- Parameters:
container
- aCollectionContainer
to be used as items source- See Also:
-
getValueSource
- Specified by:
getValueSource
in interfaceSupportsValueSource<V>
-
setValueSource
- Specified by:
setValueSource
in interfaceSupportsValueSource<V>
-
attachValueChangeListener
protected void attachValueChangeListener() -
onValueChange
protected void onValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectListBox<V>, Set<V>> event) -
fireMultiSelectListBoxValueChangeEvent
protected void fireMultiSelectListBoxValueChangeEvent(@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
-