public class TwinColumnImpl<V> extends AbstractField<JmixTwinColSelect<V>,java.util.Set<V>,java.util.Collection<V>> implements TwinColumn<V>, org.springframework.beans.factory.InitializingBean
HasValue.ValueChangeEvent<V>
Component.Alignment, Component.BelongToFrame, Component.Disposable, Component.Editable, Component.Focusable, Component.HasCaption, Component.HasDescription, Component.HasIcon, Component.HasXmlDescriptor, Component.Wrapper
HasContextHelp.ContextHelpIconClickEvent
Modifier and Type | Field and Description |
---|---|
protected IconResolver |
iconResolver |
protected io.jmix.core.MetadataTools |
metadataTools |
protected java.util.function.Function<? super V,java.lang.String> |
optionCaptionProvider |
protected OptionsBinding<V> |
optionsBinding |
protected java.util.function.Function<? super V,java.lang.String> |
optionStyleProvider |
editable, parentEditableChangeListener, validators, VALIDATORS_LIST_INITIAL_CAPACITY
internalValue, uiTestIdsSupport, valueBinding
alignment, applicationContext, component, contextHelpIconClickHandler, contextHelpIconClickListener, descriptionAsHtml, element, frame, htmlSanitizerEnabled, icon, ICON_STYLE, id, parent
NAME
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE
Constructor and Description |
---|
TwinColumnImpl() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet() |
protected java.util.Collection<V> |
convertToModel(java.util.Set<V> componentRawValue) |
protected java.util.Set<V> |
convertToPresentation(java.util.Collection<V> modelValue) |
protected JmixTwinColSelect<V> |
createComponent() |
void |
focus()
Sets focus to this component
|
protected java.lang.String |
generateDefaultItemCaption(V item) |
protected java.lang.String |
generateItemCaption(V item) |
protected java.lang.String |
generateItemStylename(V item) |
java.lang.String |
getLeftColumnCaption()
Returns caption of the left column.
|
java.util.function.Function<? super V,java.lang.String> |
getOptionCaptionProvider() |
Options<V> |
getOptions() |
java.util.function.Function<? super V,java.lang.String> |
getOptionStyleProvider() |
java.lang.String |
getRightColumnCaption()
Returns caption of the right column.
|
int |
getRows() |
int |
getTabIndex()
Gets the tabulator index of the
HasTabIndex component. |
protected void |
initComponent(JmixTwinColSelect<V> component) |
boolean |
isAddAllBtnEnabled() |
boolean |
isEmpty() |
boolean |
isReorderable() |
void |
setAddAllBtnEnabled(boolean enabled)
Enables "Add all" and "Remove all" buttons.
|
protected void |
setItemsToPresentation(java.util.stream.Stream<V> options) |
void |
setLeftColumnCaption(java.lang.String leftColumnCaption)
Sets caption for the left column.
|
protected void |
setMetadataTools(io.jmix.core.MetadataTools metadataTools) |
void |
setOptionCaptionProvider(java.util.function.Function<? super V,java.lang.String> captionProvider)
Sets function that provides caption for option items.
|
void |
setOptions(Options<V> options)
Sets options for UI component.
|
void |
setOptionStyleProvider(java.util.function.Function<? super V,java.lang.String> optionStyleProvider)
Sets the style provider that is used to produce custom class names for option items.
|
void |
setReorderable(boolean reorderable)
Allows you to configure whether items should be reordered after selection.
|
void |
setRightColumnCaption(java.lang.String rightColumnCaption)
Sets caption for the right column.
|
void |
setRows(int rows)
Sets the number of visible rows.
|
void |
setTabIndex(int tabIndex)
Sets the tabulator index of the
Focusable component. |
addValidator, attachValueChangeListener, getDatatypeConversionErrorMsg, getErrorMessage, getRequiredMessage, getValidators, isEditable, isRequired, isValid, removeValidator, setEditable, setEditableToComponent, setParent, setRequired, setRequiredMessage, setupComponentErrorProvider, triggerValidators, validate
addValueChangeListener, commit, componentValueChanged, discard, fieldValueEquals, getValue, getValueSource, isBuffered, isModified, setBuffered, setUiTestId, setUiTestIdsSupport, setValue, setValueSource, setValueToPresentation, valueBindingActivated, valueBindingConnected
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, withUnwrappedComposition
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
setOptionsEnum, setOptionsList, setOptionsMap
getValueSource, setValueSource
addValueChangeListener, clear, getEmptyValue, getValue, setValue
isEditable, isEditableWithParent, setEditable
getFrame, setFrame
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, withUnwrappedComposition
isValid, isValidateOnCommit, validate
getIcon, setIcon, setIconFromSet
getContextHelpIconClickHandler, getContextHelpText, isContextHelpTextHtmlEnabled, setContextHelpIconClickHandler, setContextHelpText, setContextHelpTextHtmlEnabled
isCaptionAsHtml, setCaptionAsHtml
getCaption, setCaption
getDescription, setDescription
isDescriptionAsHtml, setDescriptionAsHtml
isHtmlSanitizerEnabled, setHtmlSanitizerEnabled
addValidator, addValidators, getValidators, removeValidator
getRequiredMessage, isRequired, setRequired, setRequiredMessage
isFocusable, setFocusable
protected OptionsBinding<V> optionsBinding
protected java.util.function.Function<? super V,java.lang.String> optionCaptionProvider
protected java.util.function.Function<? super V,java.lang.String> optionStyleProvider
protected io.jmix.core.MetadataTools metadataTools
@Autowired protected IconResolver iconResolver
protected JmixTwinColSelect<V> createComponent()
public void afterPropertiesSet()
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
protected void initComponent(JmixTwinColSelect<V> component)
@Autowired protected void setMetadataTools(io.jmix.core.MetadataTools metadataTools)
public void setOptions(@Nullable Options<V> options)
OptionsField
setOptions
in interface OptionsField<java.util.Collection<V>,V>
options
- optionsListOptions
protected void setItemsToPresentation(java.util.stream.Stream<V> options)
protected java.util.Set<V> convertToPresentation(@Nullable java.util.Collection<V> modelValue) throws ConversionException
convertToPresentation
in class AbstractValueComponent<JmixTwinColSelect<V>,java.util.Set<V>,java.util.Collection<V>>
ConversionException
protected java.util.Collection<V> convertToModel(@Nullable java.util.Set<V> componentRawValue) throws ConversionException
convertToModel
in class AbstractValueComponent<JmixTwinColSelect<V>,java.util.Set<V>,java.util.Collection<V>>
ConversionException
@Nullable public Options<V> getOptions()
getOptions
in interface OptionsField<java.util.Collection<V>,V>
public void setOptionCaptionProvider(@Nullable java.util.function.Function<? super V,java.lang.String> captionProvider)
HasOptionCaptionProvider
setOptionCaptionProvider
in interface HasOptionCaptionProvider<V>
captionProvider
- caption provider for options@Nullable protected java.lang.String generateItemCaption(@Nullable V item)
protected java.lang.String generateDefaultItemCaption(V item)
@Nullable public java.util.function.Function<? super V,java.lang.String> getOptionCaptionProvider()
getOptionCaptionProvider
in interface HasOptionCaptionProvider<V>
public int getRows()
getRows
in interface TwinColumn<V>
public void setRows(int rows)
TwinColumn
setRows
in interface TwinColumn<V>
rows
- number of visible rowspublic void setOptionStyleProvider(@Nullable java.util.function.Function<? super V,java.lang.String> optionStyleProvider)
HasOptionStyleProvider
setOptionStyleProvider
in interface HasOptionStyleProvider<V>
optionStyleProvider
- style provider@Nullable protected java.lang.String generateItemStylename(V item)
@Nullable public java.util.function.Function<? super V,java.lang.String> getOptionStyleProvider()
getOptionStyleProvider
in interface HasOptionStyleProvider<V>
public void setAddAllBtnEnabled(boolean enabled)
TwinColumn
setAddAllBtnEnabled
in interface TwinColumn<V>
enabled
- true if buttons should be enabledpublic boolean isAddAllBtnEnabled()
isAddAllBtnEnabled
in interface TwinColumn<V>
@StudioProperty(defaultValue="true") public void setReorderable(boolean reorderable)
TwinColumn
Reordering is enabled by default.
setReorderable
in interface TwinColumn<V>
reorderable
- pass 'true' to enable reordering or 'false' otherwisepublic boolean isReorderable()
isReorderable
in interface TwinColumn<V>
public void setLeftColumnCaption(@Nullable java.lang.String leftColumnCaption)
TwinColumn
setLeftColumnCaption
in interface TwinColumn<V>
leftColumnCaption
- a caption for the left column@Nullable public java.lang.String getLeftColumnCaption()
TwinColumn
getLeftColumnCaption
in interface TwinColumn<V>
public void setRightColumnCaption(@Nullable java.lang.String rightColumnCaption)
TwinColumn
setRightColumnCaption
in interface TwinColumn<V>
rightColumnCaption
- a caption for the right column@Nullable public java.lang.String getRightColumnCaption()
TwinColumn
getRightColumnCaption
in interface TwinColumn<V>
public void focus()
Component.Focusable
focus
in interface Component.Focusable
public int getTabIndex()
Component.Focusable
HasTabIndex
component.getTabIndex
in interface Component.Focusable
HasTabIndex
componentpublic void setTabIndex(int tabIndex)
Component.Focusable
Focusable
component.
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.setTabIndex
in interface Component.Focusable
tabIndex
- tab index