Package io.jmix.ui.component
Interface TagField<V>
- Type Parameters:
V- type of value
- All Superinterfaces:
Component,Component.BelongToFrame,Component.Editable,Component.Focusable,Component.HasCaption,Component.HasDescription,Component.HasIcon,Field<Collection<V>>,HasContextHelp,HasEnterPressHandler,HasFormatter<V>,HasHtmlCaption,HasHtmlDescription,HasHtmlSanitizer,HasInputPrompt,HasOptionStyleProvider<V>,HasValidator<Collection<V>>,HasValue<Collection<V>>,HasValueSource<Collection<V>>,Requirable,SuggestionFieldComponent<Collection<V>,,V> SupportsUserAction<Collection<V>>,Validatable
- All Known Implementing Classes:
TagFieldImpl
@StudioComponent(caption="TagField",
category="Components",
xmlElement="tagField",
canvasBehaviour=INPUT_FIELD,
documentationURL="https://docs.jmix.io/jmix/%VERSION%/ui/vcl/components/tag-field.html",
icon="io/jmix/ui/icon/component/tagField.svg")
public interface TagField<V>
extends SuggestionFieldComponent<Collection<V>,V>, SupportsUserAction<Collection<V>>
The field that search and shows selected values as separated tags right in the field.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic classEnables to handle a user's entered text and add it to a TagField value.static classDescribes tag click event.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.HasEnterPressHandler
HasEnterPressHandler.EnterPressEventNested classes/interfaces inherited from interface io.jmix.ui.component.HasValue
HasValue.ValueChangeEvent<V>Nested classes/interfaces inherited from interface io.jmix.ui.component.SuggestionFieldComponent
SuggestionFieldComponent.ArrowDownEvent, SuggestionFieldComponent.ParametrizedSearchExecutor<E>, SuggestionFieldComponent.SearchExecutor<E> -
Field Summary
FieldsFields inherited from interface io.jmix.ui.component.Component
AUTO_SIZE, AUTO_SIZE_PX, FULL_SIZEFields inherited from interface io.jmix.ui.component.SuggestionFieldComponent
POPUP_AUTO_WIDTH, POPUP_PARENT_WIDTH -
Method Summary
Modifier and TypeMethodDescriptionaddTagClickListener(Consumer<TagField.TagClickEvent<V>> listener) Sets tag click listener.Comparator<? super V>booleanstatic <T> org.springframework.core.ParameterizedTypeReference<TagField<T>>voidsetClearAllVisible(boolean visible) Display the button that clears all tags from the field.voidsetSearchExecutor(SuggestionFieldComponent.SearchExecutor<V> searchExecutor) SetsSuggestionFieldComponent.SearchExecutorwhich performs search.voidsetTagCaptionProvider(Function<? super V, String> tagCaptionProvider) Sets tag caption provider.voidsetTagComparator(Comparator<? super V> tagComparator) Sets comparator for sorting tags in the UI.voidsetTagStyleProvider(Function<? super V, String> tagStyleProvider) Sets tag style provider.Methods 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
focus, getTabIndex, isFocusable, setFocusable, setTabIndexMethods 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.HasEnterPressHandler
getEnterPressHandler, setEnterPressHandlerMethods inherited from interface io.jmix.ui.component.HasFormatter
getFormatter, setFormatterMethods 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.HasInputPrompt
getInputPrompt, setInputPromptMethods inherited from interface io.jmix.ui.component.HasOptionStyleProvider
getOptionStyleProvider, setOptionStyleProviderMethods inherited from interface io.jmix.ui.component.HasValidator
addValidator, addValidators, getValidators, removeValidatorMethods inherited from interface io.jmix.ui.component.HasValue
addValueChangeListener, clear, getEmptyValue, getValue, isEmpty, setValueMethods inherited from interface io.jmix.ui.component.data.HasValueSource
getValueSource, setValueSourceMethods inherited from interface io.jmix.ui.component.Requirable
getRequiredMessage, isRequired, setRequired, setRequiredMessageMethods inherited from interface io.jmix.ui.component.SuggestionFieldComponent
getArrowDownHandler, getAsyncSearchDelayMs, getMinSearchStringLength, getPopupWidth, getSearchExecutor, getSuggestionsLimit, setArrowDownHandler, setAsyncSearchDelayMs, setMinSearchStringLength, setPopupWidth, setSuggestionsLimit, showSuggestionsMethods inherited from interface io.jmix.ui.component.SupportsUserAction
setValueFromUserMethods inherited from interface io.jmix.ui.component.Validatable
isValid, isValidateOnCommit, validate
-
Field Details
-
NAME
- See Also:
-
-
Method Details
-
of
-
setSearchExecutor
Description copied from interface:SuggestionFieldComponentSetsSuggestionFieldComponent.SearchExecutorwhich performs search.- Specified by:
setSearchExecutorin interfaceSuggestionFieldComponent<Collection<V>,V> - Parameters:
searchExecutor- SearchExecutor instance
-
isClearAllVisible
boolean isClearAllVisible()- Returns:
- {code true} if clear button is visible
-
setClearAllVisible
@StudioProperty(name="clearAllVisible", defaultValue="false") void setClearAllVisible(boolean visible) Display the button that clears all tags from the field. The default value isfalse.- Parameters:
visible- whether to display clear button
-
getTagStyleProvider
- Returns:
- tag style provider or
nullif not set
-
setTagStyleProvider
Sets tag style provider. It is used for generating style name for tag.For instance:
@Install(to = "tagField", subject = "tagStyleProvider") private String tagFieldTagStyleProvider(User user) { switch (user.getAccountType()) { case PREMIUM: return "user-premium"; case COMMON: return "user-common"; default: return null; } }- Parameters:
tagStyleProvider- tag style provider to set
-
getTagCaptionProvider
- Returns:
- tag caption provider or
nullif not set
-
setTagCaptionProvider
Sets tag caption provider. It is used for generating tag caption.For instance:
@Install(to = "tagField", subject = "tagCaptionProvider") private String tagFieldCaptionProvider(User user) { return "User: " + user.getUsername(); }- Parameters:
tagCaptionProvider- caption provider to set
-
getTagComparator
- Returns:
- tag comparator
-
setTagComparator
Sets comparator for sorting tags in the UI.- Parameters:
tagComparator- comparator to set
-
addTagClickListener
Sets tag click listener. It subscribes toTagField.TagClickEventthat is invoked when user clicks on tag content.- Parameters:
listener- listener to add- Returns:
- a registration object for removing an event listener
-