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
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected DataViewDelegate<JmixMultiSelectListBox<V>,V> protected CollectionFieldDelegate<JmixMultiSelectListBox<V>,V, V> protected Collection<V>protected booleanComponent manually handles Vaadin value change event: when programmatically sets value (seesetValueInternal(Collection, Set)) and client-side sets value (seeonValueChange(ComponentValueChangeEvent)). -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncom.vaadin.flow.shared.RegistrationaddTypedValueChangeListener(com.vaadin.flow.component.ComponentEventListener<SupportsTypedValue.TypedValueChangeEvent<JmixMultiSelectListBox<V>, Collection<V>>> listener) voidprotected voidprotected DataViewDelegate<JmixMultiSelectListBox<V>,V> protected CollectionFieldDelegate<JmixMultiSelectListBox<V>,V, V> protected booleanfieldValueEquals(Collection<V> value, Collection<V> oldValue) protected voidfireAllValueChangeEvents(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected voidfireMultiSelectListBoxValueChangeEvent(Collection<V> oldValue, boolean isFromClient) protected voidfireTypedValueChangeEvent(Collection<V> value, Collection<V> oldValue, boolean isFromClient) protected voidprotected voidonValueChange(com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixMultiSelectListBox<V>, Set<V>> event) voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) voidsetItems(CollectionContainer<V> container) Sets items from the passedCollectionContainer.voidsetTypedValue(Collection<V> value) voidprotected voidsetValueInternal(Collection<V> modelValue, Set<V> presentationValue) voidsetValueSource(ValueSource<Collection<V>> valueSource) Methods inherited from class com.vaadin.flow.component.listbox.MultiSelectListBox
addSelectionListener, getSelectedItems, updateSelection, valueEqualsMethods 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, setRequiredIndicatorVisibleMethods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEventMethods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValueMethods 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, 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.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.HasComponents
add, add, addComponentAsFirst, addComponentAtIndex, remove, removeAllMethods 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.data.binder.HasItemComponents
addComponents, getItemPosition, prependComponentsMethods inherited from interface com.vaadin.flow.data.provider.HasListDataView
setItems, setItemsMethods 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.HasValue
addValueChangeListener, clear, getOptionalValue, isEmptyMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly, isRequiredIndicatorVisible, setReadOnly, setRequiredIndicatorVisibleMethods inherited from interface com.vaadin.flow.data.selection.MultiSelect
deselect, deselect, deselectAll, getEmptyValue, getValue, isSelected, select, selectMethods 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:
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() -
getTypedValue
- Specified by:
getTypedValuein 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:
setTypedValuein 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:
setValuein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<com.vaadin.flow.component.listbox.MultiSelectListBox<V>,Set<V>>, Set<V>> - Specified by:
setValuein interfacecom.vaadin.flow.data.selection.MultiSelect<com.vaadin.flow.component.listbox.MultiSelectListBox<V>,V> - Overrides:
setValuein 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:
addTypedValueChangeListenerin 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:SupportsItemsContainerSets items from the passedCollectionContainer.- Specified by:
setItemsin interfaceSupportsItemsContainer<V>- Parameters:
container- aCollectionContainerto be used as items source- See Also:
-
getValueSource
- Specified by:
getValueSourcein interfaceSupportsValueSource<V>
-
setValueSource
- Specified by:
setValueSourcein 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
-