Package io.jmix.ui.component.impl
Class TwinColumnImpl<V>
java.lang.Object
io.jmix.ui.component.impl.AbstractComponent<T>
io.jmix.ui.component.impl.AbstractValueComponent<T,P,V>
io.jmix.ui.component.impl.AbstractField<JmixTwinColSelect<V>,Set<V>,Collection<V>>
io.jmix.ui.component.impl.TwinColumnImpl<V>
- All Implemented Interfaces:
AttachNotifier,Component,Component.BelongToFrame,Component.Editable,Component.Focusable,Component.HasCaption,Component.HasDescription,Component.HasIcon,Component.HasXmlDescriptor,Component.Wrapper,HasValueSource<Collection<V>>,Field<Collection<V>>,HasContextHelp,HasDebugId,HasHtmlCaption,HasHtmlDescription,HasHtmlSanitizer,HasOptionCaptionProvider<V>,HasOptionStyleProvider<V>,HasValidator<Collection<V>>,HasValue<Collection<V>>,OptionsField<Collection<V>,,V> Requirable,TwinColumn<V>,Validatable,org.springframework.beans.factory.InitializingBean
public class TwinColumnImpl<V>
extends AbstractField<JmixTwinColSelect<V>,Set<V>,Collection<V>>
implements TwinColumn<V>, org.springframework.beans.factory.InitializingBean
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.jmix.ui.component.Component
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.WrapperNested classes/interfaces inherited from interface io.jmix.ui.component.HasContextHelp
HasContextHelp.ContextHelpIconClickEventNested classes/interfaces inherited from interface io.jmix.ui.component.HasValue
HasValue.ValueChangeEvent<V> -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected IconResolverprotected MetadataToolsprotected OptionsBinding<V>Fields inherited from class io.jmix.ui.component.impl.AbstractField
editable, parentEditableChangeListener, validators, VALIDATORS_LIST_INITIAL_CAPACITYFields inherited from class io.jmix.ui.component.impl.AbstractValueComponent
internalValue, uiTestIdsSupport, valueBindingFields inherited from class io.jmix.ui.component.impl.AbstractComponent
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parentFields inherited from interface io.jmix.ui.component.Component
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZEFields inherited from interface io.jmix.ui.component.TwinColumn
NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidprotected Collection<V>convertToModel(Set<V> componentRawValue) convertToPresentation(Collection<V> modelValue) protected JmixTwinColSelect<V>voidfocus()Sets focus to this componentprotected StringgenerateDefaultItemCaption(V item) protected StringgenerateItemCaption(V item) protected StringgenerateItemStylename(V item) Returns caption of the left column.Returns caption of the right column.intgetRows()intGets the tabulator index of theHasTabIndexcomponent.protected voidinitComponent(JmixTwinColSelect<V> component) booleanbooleanisEmpty()booleanvoidsetAddAllBtnEnabled(boolean enabled) Enables "Add all" and "Remove all" buttons.protected voidsetItemsToPresentation(Stream<V> options) voidsetLeftColumnCaption(String leftColumnCaption) Sets caption for the left column.protected voidsetMetadataTools(MetadataTools metadataTools) voidsetOptionCaptionProvider(Function<? super V, String> captionProvider) Sets function that provides caption for option items.voidsetOptions(Options<V> options) Sets options for UI component.voidsetOptionStyleProvider(Function<? super V, String> optionStyleProvider) Sets the style provider that is used to produce custom class names for option items.voidsetReorderable(boolean reorderable) Allows you to configure whether items should be reordered after selection.voidsetRightColumnCaption(String rightColumnCaption) Sets caption for the right column.voidsetRows(int rows) Sets the number of visible rows.voidsetTabIndex(int tabIndex) Sets the tabulator index of theFocusablecomponent.Methods inherited from class io.jmix.ui.component.impl.AbstractField
addValidator, attachValueChangeListener, getDatatypeConversionErrorMsg, getDefaultRequiredMessage, getErrorMessage, getRequiredMessage, getValidators, isEditable, isRequired, isValid, removeValidator, setEditable, setEditableToComponent, setParent, setRequired, setRequiredMessage, setupComponentErrorProvider, triggerValidators, validateMethods inherited from class io.jmix.ui.component.impl.AbstractValueComponent
addValueChangeListener, commit, componentValueChanged, discard, fieldValueEquals, getValue, getValueSource, isBuffered, isModified, setBuffered, setUiTestId, setUiTestIdsSupport, setValue, setValueSource, setValueToPresentation, valueBindingActivated, valueBindingConnectedMethods inherited from class io.jmix.ui.component.impl.AbstractComponent
addAttachListener, addDetachListener, addStyleName, assignDebugId, attached, detached, getAlignment, getCaption, getComponent, getComposition, getContextHelpIconClickHandler, getContextHelpText, getDebugId, getDescription, getEventHub, getFrame, getHeight, getHeightSizeUnit, getHtmlSanitizer, getIcon, getIconName, getIconResource, getId, getParent, getStyleName, getUiComponentProperties, getUiProperties, getWidth, getWidthSizeUnit, getXmlDescriptor, hasSubscriptions, hasValidationError, isAttached, isCaptionAsHtml, isContextHelpTextHtmlEnabled, isDescriptionAsHtml, isEnabled, isEnabledRecursive, isHtmlSanitizerEnabled, isResponsive, isVisible, isVisibleRecursive, onContextHelpIconClick, publish, removeStyleName, sanitize, setAlignment, setApplicationContext, setCaption, setCaptionAsHtml, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled, setDebugId, setDescription, setDescriptionAsHtml, setEnabled, setFrame, setHeight, setHtmlSanitizerEnabled, setIcon, setIconFromSet, setId, setResponsive, setStyleName, setValidationError, setVisible, setWidth, setXmlDescriptor, unsubscribe, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedCompositionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.ui.component.Component
addStyleName, getAlignment, getHeight, getHeightSizeUnit, getId, getParent, getStyleName, getWidth, getWidthSizeUnit, isEnabled, isEnabledRecursive, isResponsive, isVisible, isVisibleRecursive, removeStyleName, setAlignment, setEnabled, setHeight, setHeightAuto, setHeightFull, setId, setParent, setResponsive, setSizeAuto, setSizeFull, setStyleName, setVisible, setWidth, setWidthAuto, setWidthFull, unwrap, unwrapComposition, unwrapCompositionOrNull, unwrapOrNull, withUnwrapped, withUnwrappedCompositionMethods inherited from interface io.jmix.ui.component.Component.BelongToFrame
getFrame, setFrameMethods inherited from interface io.jmix.ui.component.Component.Editable
isEditable, isEditableWithParent, setEditableMethods inherited from interface io.jmix.ui.component.Component.Focusable
isFocusable, setFocusableMethods inherited from interface io.jmix.ui.component.Component.HasCaption
getCaption, setCaptionMethods inherited from interface io.jmix.ui.component.Component.HasDescription
getDescription, setDescriptionMethods inherited from interface io.jmix.ui.component.Component.HasIcon
getIcon, setIcon, setIconFromSetMethods inherited from interface io.jmix.ui.component.HasContextHelp
getContextHelpIconClickHandler, getContextHelpText, isContextHelpTextHtmlEnabled, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabledMethods inherited from interface io.jmix.ui.component.HasHtmlCaption
isCaptionAsHtml, setCaptionAsHtmlMethods inherited from interface io.jmix.ui.component.HasHtmlDescription
isDescriptionAsHtml, setDescriptionAsHtmlMethods inherited from interface io.jmix.ui.component.HasHtmlSanitizer
isHtmlSanitizerEnabled, setHtmlSanitizerEnabledMethods inherited from interface io.jmix.ui.component.HasValidator
addValidator, addValidators, getValidators, removeValidatorMethods inherited from interface io.jmix.ui.component.HasValue
addValueChangeListener, clear, getEmptyValue, getValue, setValueMethods inherited from interface io.jmix.ui.component.data.HasValueSource
getValueSource, setValueSourceMethods inherited from interface io.jmix.ui.component.OptionsField
setOptionsEnum, setOptionsList, setOptionsMapMethods inherited from interface io.jmix.ui.component.Requirable
getRequiredMessage, isRequired, setRequired, setRequiredMessageMethods inherited from interface io.jmix.ui.component.Validatable
isValid, isValidateOnCommit, validate
-
Field Details
-
optionsBinding
-
optionCaptionProvider
-
optionStyleProvider
-
metadataTools
-
iconResolver
-
-
Constructor Details
-
TwinColumnImpl
public TwinColumnImpl()
-
-
Method Details
-
createComponent
-
afterPropertiesSet
public void afterPropertiesSet()- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
initComponent
-
setMetadataTools
-
setOptions
Description copied from interface:OptionsFieldSets options for UI component.- Specified by:
setOptionsin interfaceOptionsField<Collection<V>,V> - Parameters:
options- options- See Also:
-
setItemsToPresentation
-
convertToPresentation
protected Set<V> convertToPresentation(@Nullable Collection<V> modelValue) throws ConversionException - Overrides:
convertToPresentationin classAbstractValueComponent<JmixTwinColSelect<V>,Set<V>, Collection<V>> - Throws:
ConversionException
-
convertToModel
protected Collection<V> convertToModel(@Nullable Set<V> componentRawValue) throws ConversionException - Overrides:
convertToModelin classAbstractValueComponent<JmixTwinColSelect<V>,Set<V>, Collection<V>> - Throws:
ConversionException
-
getOptions
- Specified by:
getOptionsin interfaceOptionsField<Collection<V>,V> - Returns:
- options object
-
setOptionCaptionProvider
Description copied from interface:HasOptionCaptionProviderSets function that provides caption for option items.- Specified by:
setOptionCaptionProviderin interfaceHasOptionCaptionProvider<V>- Parameters:
captionProvider- caption provider for options
-
generateItemCaption
-
generateDefaultItemCaption
-
getOptionCaptionProvider
- Specified by:
getOptionCaptionProviderin interfaceHasOptionCaptionProvider<V>- Returns:
- caption provider for options
-
getRows
public int getRows()- Specified by:
getRowsin interfaceTwinColumn<V>- Returns:
- the number of visible rows
-
setRows
public void setRows(int rows) Description copied from interface:TwinColumnSets the number of visible rows.- Specified by:
setRowsin interfaceTwinColumn<V>- Parameters:
rows- number of visible rows
-
setOptionStyleProvider
Description copied from interface:HasOptionStyleProviderSets the style provider that is used to produce custom class names for option items.- Specified by:
setOptionStyleProviderin interfaceHasOptionStyleProvider<V>- Parameters:
optionStyleProvider- style provider
-
generateItemStylename
-
getOptionStyleProvider
- Specified by:
getOptionStyleProviderin interfaceHasOptionStyleProvider<V>- Returns:
- the currently used item style provider
-
setAddAllBtnEnabled
public void setAddAllBtnEnabled(boolean enabled) Description copied from interface:TwinColumnEnables "Add all" and "Remove all" buttons.- Specified by:
setAddAllBtnEnabledin interfaceTwinColumn<V>- Parameters:
enabled- true if buttons should be enabled
-
isAddAllBtnEnabled
public boolean isAddAllBtnEnabled()- Specified by:
isAddAllBtnEnabledin interfaceTwinColumn<V>- Returns:
- true if buttons are enabled
-
setReorderable
Description copied from interface:TwinColumnAllows you to configure whether items should be reordered after selection.Reordering is enabled by default.
- Specified by:
setReorderablein interfaceTwinColumn<V>- Parameters:
reorderable- pass 'true' to enable reordering or 'false' otherwise
-
isReorderable
public boolean isReorderable()- Specified by:
isReorderablein interfaceTwinColumn<V>- Returns:
- true if items are reordered or false otherwise
-
setLeftColumnCaption
Description copied from interface:TwinColumnSets caption for the left column.- Specified by:
setLeftColumnCaptionin interfaceTwinColumn<V>- Parameters:
leftColumnCaption- a caption for the left column
-
getLeftColumnCaption
Description copied from interface:TwinColumnReturns caption of the left column.- Specified by:
getLeftColumnCaptionin interfaceTwinColumn<V>- Returns:
- caption text or null if not set.
-
setRightColumnCaption
Description copied from interface:TwinColumnSets caption for the right column.- Specified by:
setRightColumnCaptionin interfaceTwinColumn<V>- Parameters:
rightColumnCaption- a caption for the right column
-
getRightColumnCaption
Description copied from interface:TwinColumnReturns caption of the right column.- Specified by:
getRightColumnCaptionin interfaceTwinColumn<V>- Returns:
- caption text or null if not set.
-
focus
public void focus()Description copied from interface:Component.FocusableSets focus to this component- Specified by:
focusin interfaceComponent.Focusable
-
getTabIndex
public int getTabIndex()Description copied from interface:Component.FocusableGets the tabulator index of theHasTabIndexcomponent.- Specified by:
getTabIndexin interfaceComponent.Focusable- Returns:
- tab index set for the
HasTabIndexcomponent
-
setTabIndex
public void setTabIndex(int tabIndex) Description copied from interface:Component.FocusableSets the tabulator index of theFocusablecomponent. The tab index property is used to specify the order in which the fields are focused when the user presses the Tab key. Components with a defined tab index are focused sequentially first, and then the components with no tab index.- Specified by:
setTabIndexin interfaceComponent.Focusable- Parameters:
tabIndex- tab index
-
isEmpty
public boolean isEmpty()
-