Class TwinColumn<V>
java.lang.Object
com.vaadin.flow.component.Component
com.vaadin.flow.component.AbstractField<JmixTwinColumn<V>,Collection<V>>
io.jmix.flowui.kit.component.twincolumn.JmixTwinColumn<V>
io.jmix.flowui.component.twincolumn.TwinColumn<V>
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.HasAriaLabel,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<JmixTwinColumn<V>,,Collection<V>>, Collection<V>> com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,,Collection<V>>, Collection<V>> com.vaadin.flow.component.shared.HasThemeVariant<TwinColumnVariant>,com.vaadin.flow.component.shared.HasValidationProperties,com.vaadin.flow.data.provider.HasDataView<V,,Void, TwinColumnDataView<V>> com.vaadin.flow.data.provider.HasListDataView<V,,TwinColumnListDataView<V>> HasRequired,SupportsValidation<Collection<V>>,SupportsDataProvider<V>,SupportsItemsContainer<V>,SupportsItemsEnum<V>,SupportsValueSource<Collection<V>>,Serializable,org.springframework.beans.factory.Aware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationContextAware
public class TwinColumn<V>
extends JmixTwinColumn<V>
implements SupportsItemsContainer<V>, SupportsValueSource<Collection<V>>, SupportsItemsEnum<V>, SupportsDataProvider<V>, SupportsValidation<Collection<V>>, HasRequired, 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.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
FieldsModifier and TypeFieldDescriptionprotected org.springframework.context.ApplicationContextprotected DataViewDelegate<TwinColumn<V>,V> protected TwinColumnDelegate<TwinColumn<V>,Collection<V>, Collection<V>> protected Messagesprotected MetadataToolsFields inherited from class io.jmix.flowui.kit.component.twincolumn.JmixTwinColumn
actionsPanel, columnsWithSavedScrollPosition, columnToScrollValue, deselectAllItems, deselectItems, items, itemsColumnLabel, itemsData, itemsListeners, reorderable, saveAndRestoreColumnsScrollTopPosition, selectAllItems, selectedItems, selectedItemsColumnLabel, selectedItemsListeners, selectItemsFields 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.RegistrationaddValidator(Validator<? super Collection<V>> validator) Adds a validator to the list of validators for the component.voidprotected StringapplyColumnItemLabelFormat(V value) protected voidprotected voidbindDataProvider(com.vaadin.flow.data.provider.DataProvider<V, ?> dataProvider) protected DataViewDelegate<TwinColumn<V>,V> protected TwinColumnDelegate<TwinColumn<V>,Collection<V>, Collection<V>> protected voidvoidExecutes all registered validators against the current value of the component.com.vaadin.flow.data.provider.DataProvider<V,?> Returns theDataProviderassociated with this component.Returns the custom validation message to be displayed if the component is marked as required and the validation fails due to a missing value.Returns the currentValueSourceassociated with this component.protected voidbooleanisEmpty()booleanbooleanprotected voidonDataChange(com.vaadin.flow.data.provider.DataChangeEvent<V> event) voidsetApplicationContext(org.springframework.context.ApplicationContext applicationContext) voidsetEnabled(boolean enabled) voidsetErrorMessage(String errorMessage) voidsetInvalid(boolean invalid) Sets invalid state to the field considering result of field validation.voidsetItems(CollectionContainer<V> container) Sets items from the passedCollectionContainer.voidSets items from the passedEnumClass.voidsetReadOnly(boolean readOnly) voidsetRequired(boolean required) Sets the required property for the component.voidsetRequiredIndicatorVisible(boolean requiredIndicatorVisible) voidsetRequiredMessage(String requiredMessage) Sets a message that will be displayed or logged when a required field or input is not provided.voidsetSelectAllButtonsVisible(Boolean selectAllButtonsVisible) Component provides the ability to select or deselect all items.voidsetValue(Collection<V> value) voidsetValueSource(ValueSource<Collection<V>> valueSource) Sets aValueSourcefor this component, allowing it to bind its value to a specified data source.Methods inherited from class io.jmix.flowui.kit.component.twincolumn.JmixTwinColumn
columnItemDoubleClicked, createButton, createButtonsPanel, createColumn, createColumnLabel, createColumnLabels, createColumns, createContent, getGenericDataView, getItemsColumnLabel, getListDataView, getSelectedItemsColumnLabel, initComponent, isReorderable, isSelectAllButtonsVisible, recreateItems, setDataProvider, setHeight, setItemLabelGenerator, setItemsColumnLabel, setMaxHeight, setMaxWidth, setMinHeight, setMinWidth, setPresentationValue, setReorderable, setSelectedItemsColumnLabel, setWidth, updateColumnLabelPadding, updateValueInternalMethods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, 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, onAttach, 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.DetachNotifier
addDetachListenerMethods inherited from interface com.vaadin.flow.component.HasAriaLabel
getAriaLabel, getAriaLabelledBy, setAriaLabel, setAriaLabelledByMethods inherited from interface com.vaadin.flow.component.HasElement
getElementMethods inherited from interface com.vaadin.flow.component.HasEnabled
isEnabledMethods 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
setItems, setItemsMethods inherited from interface io.jmix.flowui.component.HasRequired
isRequiredMethods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeightFull, setMaxHeight, setMaxWidth, setMinHeight, setMinWidth, setSizeFull, setSizeUndefined, 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.HasValidation
setManualValidationMethods inherited from interface com.vaadin.flow.component.HasValue
clear, getOptionalValueMethods inherited from interface com.vaadin.flow.component.HasValueAndElement
isReadOnly
-
Field Details
-
applicationContext
protected org.springframework.context.ApplicationContext applicationContext -
messages
-
metadataTools
-
fieldDelegate
-
dataViewDelegate
-
-
Constructor Details
-
TwinColumn
public TwinColumn()
-
-
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
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
setValueSource
Description copied from interface:SupportsValueSourceSets aValueSourcefor this component, allowing it to bind its value to a specified data source.- Specified by:
setValueSourcein interfaceSupportsValueSource<V>- Parameters:
valueSource- theValueSourceto be associated with this component, ornullto remove the current association
-
getValueSource
Description copied from interface:SupportsValueSourceReturns the currentValueSourceassociated with this component.- Specified by:
getValueSourcein interfaceSupportsValueSource<V>- Returns:
- the associated
ValueSource, ornullif no value source is set
-
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:
-
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:
-
setItems
public TwinColumnDataView<V> setItems(com.vaadin.flow.data.provider.DataProvider<V, Void> dataProvider) - Specified by:
setItemsin interfacecom.vaadin.flow.data.provider.HasDataView<V,Void, TwinColumnDataView<V>> - Overrides:
setItemsin classJmixTwinColumn<V>
-
setItems
public TwinColumnDataView<V> setItems(com.vaadin.flow.data.provider.InMemoryDataProvider<V> dataProvider) - Specified by:
setItemsin interfacecom.vaadin.flow.data.provider.HasDataView<V,Void, TwinColumnDataView<V>> - Overrides:
setItemsin classJmixTwinColumn<V>
-
setItems
public TwinColumnListDataView<V> setItems(com.vaadin.flow.data.provider.ListDataProvider<V> dataProvider) - Specified by:
setItemsin interfacecom.vaadin.flow.data.provider.HasListDataView<V,TwinColumnListDataView<V>> - Overrides:
setItemsin classJmixTwinColumn<V>
-
getDataProvider
Description copied from interface:SupportsDataProviderReturns theDataProviderassociated with this component.- Specified by:
getDataProviderin interfaceSupportsDataProvider<V>- Overrides:
getDataProviderin classJmixTwinColumn<V>- Returns:
- the
DataProviderinstance used for managing and providing data, ornullif no data provider is set
-
addValidator
Description copied from interface:SupportsValidationAdds a validator to the list of validators for the component. The provided validator will be used to validate the value of the component during validation execution.- Specified by:
addValidatorin interfaceSupportsValidation<V>- Parameters:
validator- the validator to be added; should not benull- Returns:
- a
Registrationobject that allows removing the added validator
-
executeValidators
Description copied from interface:SupportsValidationExecutes all registered validators against the current value of the component. If any of the validators fail, aValidationExceptionis thrown to indicate the failure. The exact behavior and order of validation depend on the validators added.- Specified by:
executeValidatorsin interfaceSupportsValidation<V>- Throws:
ValidationException- if validation fails for one or more validators
-
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 interfacecom.vaadin.flow.component.shared.HasValidationProperties- Specified by:
setInvalidin interfaceSupportsValidation<V>- Parameters:
invalid- whether field should be invalid
-
isInvalid
public boolean isInvalid()- Specified by:
isInvalidin interfacecom.vaadin.flow.component.HasValidation- Specified by:
isInvalidin interfacecom.vaadin.flow.component.shared.HasValidationProperties
-
getRequiredMessage
Description copied from interface:HasRequiredReturns the custom validation message to be displayed if the component is marked as required and the validation fails due to a missing value.- Specified by:
getRequiredMessagein interfaceHasRequired- Returns:
- the required message set for the component, or
nullif no message is defined
-
setRequiredMessage
Description copied from interface:HasRequiredSets a message that will be displayed or logged when a required field or input is not provided.- Specified by:
setRequiredMessagein interfaceHasRequired- Parameters:
requiredMessage- the message to be set for required fields. Ifnull, the default message or no message will be used.
-
setRequired
public void setRequired(boolean required) Description copied from interface:HasRequiredSets the required property for the component. When a component is marked as required, it indicates that a value must be provided for the component in order to pass validation.- Specified by:
setRequiredin interfaceHasRequired- Parameters:
required- a boolean value indicating whether the component is marked as required.trueto mark the component as required,falseotherwise.
-
setRequiredIndicatorVisible
public void setRequiredIndicatorVisible(boolean requiredIndicatorVisible) - Specified by:
setRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>> - Specified by:
setRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>>
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>> - Overrides:
isEmptyin classcom.vaadin.flow.component.AbstractField<JmixTwinColumn<V>,Collection<V>>
-
isRequiredIndicatorVisible
public boolean isRequiredIndicatorVisible()- Specified by:
isRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>> - Specified by:
isRequiredIndicatorVisiblein interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>>
-
setErrorMessage
- Specified by:
setErrorMessagein interfacecom.vaadin.flow.component.HasValidation- Specified by:
setErrorMessagein interfacecom.vaadin.flow.component.shared.HasValidationProperties- Specified by:
setErrorMessagein interfaceSupportsValidation<V>
-
getErrorMessage
- Specified by:
getErrorMessagein interfacecom.vaadin.flow.component.HasValidation- Specified by:
getErrorMessagein interfacecom.vaadin.flow.component.shared.HasValidationProperties- Specified by:
getErrorMessagein interfaceSupportsValidation<V>
-
setValue
- Specified by:
setValuein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>> - Overrides:
setValuein classcom.vaadin.flow.component.AbstractField<JmixTwinColumn<V>,Collection<V>>
-
setReadOnly
public void setReadOnly(boolean readOnly) - Specified by:
setReadOnlyin interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>> - Specified by:
setReadOnlyin interfacecom.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<JmixTwinColumn<V>,Collection<V>>, Collection<V>> - Overrides:
setReadOnlyin classJmixTwinColumn<V>
-
setEnabled
public void setEnabled(boolean enabled) - Specified by:
setEnabledin interfacecom.vaadin.flow.component.HasEnabled
-
setSelectAllButtonsVisible
Description copied from class:JmixTwinColumnComponent provides the ability to select or deselect all items. This feature is disabled by default. Settingtrueshows two buttons to select or deselect all items.- Overrides:
setSelectAllButtonsVisiblein classJmixTwinColumn<V>
-
autowireDependencies
protected void autowireDependencies() -
initComponentMessages
protected void initComponentMessages() -
createValueChangeListener
protected void createValueChangeListener() -
onDataChange
- Overrides:
onDataChangein classJmixTwinColumn<V>
-
bindDataProvider
-
createFieldDelegate
-
createDataViewDelegate
-
applyColumnItemLabelFormat
- Overrides:
applyColumnItemLabelFormatin classJmixTwinColumn<V>
-