V
- type of value@StudioComponent(caption="TagPicker", category="Components", xmlElement="tagPicker", icon="io/jmix/ui/icon/component/tagPicker.svg", canvasBehaviour=COMBO_BOX, documentationURL="https://docs.jmix.io/jmix/%VERSION%/backoffice-ui/vcl/components/tag-picker.html", unsupportedProperties={"fieldEditable","optionsEnum"}) public interface TagPicker<V> extends ValuesPicker<V>, OptionsField<java.util.Collection<V>,V>, HasInputPrompt, HasFilterMode
Modifier and Type | Interface and Description |
---|---|
static class |
TagPicker.TagClickEvent<V>
Describes tag click event.
|
static interface |
TagPicker.TagPickerAction
The interface that marks implementation as
TagPicker 's action. |
static class |
TagPicker.TagPosition
Defines position of tags relative to the field.
|
ValuePicker.FieldValueChangeEvent<V>, ValuePicker.ValuePickerAction
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
HasFilterMode.FilterMode
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
NAME |
TYPE_STRING
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZE
Modifier and Type | Method and Description |
---|---|
io.jmix.core.common.event.Subscription |
addTagClickListener(java.util.function.Consumer<TagPicker.TagClickEvent<V>> listener)
Sets tag click listener.
|
io.jmix.core.metamodel.model.MetaClass |
getMetaClass() |
java.util.function.Function<? super V,java.lang.String> |
getTagCaptionProvider() |
java.util.Comparator<? super V> |
getTagComparator() |
TagPicker.TagPosition |
getTagPosition() |
java.util.function.Function<? super V,java.lang.String> |
getTagStyleProvider() |
boolean |
isHideSelectedOptions() |
boolean |
isInlineTags() |
void |
setHideSelectedOptions(boolean hide)
Sets whether the field should hide options from the dropdown list if they have already selected.
|
void |
setInlineTags(boolean inline)
Defines how tags should be oriented in the field:
inline = true - tags will be shown one after another in one line if it will be enough available space.
|
void |
setMetaClass(io.jmix.core.metamodel.model.MetaClass metaClass)
Sets entity meta class to the field.
|
void |
setTagCaptionProvider(java.util.function.Function<? super V,java.lang.String> tagCaptionProvider)
Sets caption provider.
|
void |
setTagComparator(java.util.Comparator<? super V> tagComparator)
Sets comparator for sorting tags in the UI.
|
void |
setTagPosition(TagPicker.TagPosition position)
Sets position where tags should be placed relative to the field.
|
void |
setTagStyleProvider(java.util.function.Function<? super V,java.lang.String> tagStyleProvider)
Sets tag style provider.
|
of
addFieldValueChangeListener, getFieldIconProvider, isFieldEditable, setFieldEditable, setFieldIconProvider
getValueSource, setValueSource
addValueChangeListener, clear, getEmptyValue, getValue, isEmpty, 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
getFormatter, setFormatter
addAction, addAction, getAction, getActionNN, getActions, getSubPart, removeAction, removeAction, removeAllActions
commit, discard, isBuffered, isModified, setBuffered
focus, getTabIndex, isFocusable, setFocusable, setTabIndex
setValueFromUser
getOptions, setOptions, setOptionsEnum, setOptionsList, setOptionsMap
getOptionCaptionProvider, setOptionCaptionProvider
getInputPrompt, setInputPrompt
getFilterMode, setFilterMode
static final java.lang.String NAME
@Nullable java.util.function.Function<? super V,java.lang.String> getTagCaptionProvider()
null
if not setvoid setTagCaptionProvider(@Nullable java.util.function.Function<? super V,java.lang.String> tagCaptionProvider)
For instance:
@Install(to = "tagPicker", subject = "tagCaptionProvider") private String tagPickerCaptionProvider(User user) { return "User: " + user.getUsername(); }
tagCaptionProvider
- caption provider to setio.jmix.core.common.event.Subscription addTagClickListener(java.util.function.Consumer<TagPicker.TagClickEvent<V>> listener)
TagPicker.TagClickEvent
that is invoked when
user clicks on tag content.listener
- listener to add@Nullable java.util.function.Function<? super V,java.lang.String> getTagStyleProvider()
null
if not setvoid setTagStyleProvider(@Nullable java.util.function.Function<? super V,java.lang.String> tagStyleProvider)
For instance:
@Install(to = "tagPicker", subject = "tagStyleProvider") private String tagPickerTagStyleProvider(User user) { switch (user.getAccountType()) { case PREMIUM: return "user-premium"; case COMMON: return "user-common"; default: return null; } }
tagStyleProvider
- tag style provider to setboolean isInlineTags()
true
if tags should be placed inline@StudioProperty(name="inlineTags", defaultValue="false") void setInlineTags(boolean inline)
AUTO
.false
.inline
- whether tags should be placed inlineTagPicker.TagPosition getTagPosition()
@StudioProperty(name="tagPosition", type=ENUMERATION, defaultValue="BOTTOM", options={"TOP","RIGHT","BOTTOM","LEFT"}) void setTagPosition(TagPicker.TagPosition position)
TagPicker.TagPosition.TOP
- tags are placed above the field.TagPicker.TagPosition.RIGHT
- tags are placed to the right of the field.TagPicker.TagPosition.BOTTOM
- tags are placed under the field.TagPicker.TagPosition.LEFT
- tags are placed to the left of the field.TagPicker.TagPosition.BOTTOM
.position
- position to set@Nullable java.util.Comparator<? super V> getTagComparator()
void setTagComparator(@Nullable java.util.Comparator<? super V> tagComparator)
tagComparator
- comparator to set@Nullable io.jmix.core.metamodel.model.MetaClass getMetaClass()
null
@StudioProperty(name="metaClass", type=ENTITY_NAME, typeParameter="V") void setMetaClass(io.jmix.core.metamodel.model.MetaClass metaClass)
TagLookupAction
.metaClass
- entity meta classboolean isHideSelectedOptions()
@StudioProperty(name="hideSelectedOptions", defaultValue="false") void setHideSelectedOptions(boolean hide)
true
.hide
- true
if selected options should be hidden, false
otherwise