Class MultiValueSelectAction<E>
java.lang.Object
io.jmix.flowui.kit.action.AbstractAction
io.jmix.flowui.kit.action.BaseAction
io.jmix.flowui.action.SecuredBaseAction
io.jmix.flowui.action.valuepicker.PickerAction<MultiValueSelectAction<E>,PickerComponent<Collection<E>>,Collection<E>>
io.jmix.flowui.action.multivaluepicker.MultiValueSelectAction<E>
- All Implemented Interfaces:
ExecutableAction
,SecuredAction
,TargetAction<PickerComponent<Collection<E>>>
,ViewOpeningAction
,Action
,HasShortcutCombination
,org.springframework.beans.factory.InitializingBean
@ActionType("multi_value_select")
public class MultiValueSelectAction<E>
extends PickerAction<MultiValueSelectAction<E>,PickerComponent<Collection<E>>,Collection<E>>
implements org.springframework.beans.factory.InitializingBean, ViewOpeningAction
Standard multi value select action for selection the field value.
Should be defined for JmixMultiValuePicker
or its subclass
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jmix.flowui.action.SecuredBaseAction
SecuredBaseAction.EnabledRule
Nested classes/interfaces inherited from interface io.jmix.flowui.action.ViewOpeningAction
ViewOpeningAction.QueryParametersProvider, ViewOpeningAction.RouteParametersProvider
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
protected DialogWindows
static final String
protected Messages
protected MultiValueSelectView.MultiValueSelectContext<E>
protected boolean
protected UiComponentProperties
protected ActionViewInitializer
Fields inherited from class io.jmix.flowui.action.valuepicker.PickerAction
target
Fields inherited from class io.jmix.flowui.action.SecuredBaseAction
enabledByUiPermissions, enabledRules, visibleByUiPermissions
Fields inherited from class io.jmix.flowui.kit.action.BaseAction
enabledExplicitly, visibleExplicitly
Fields inherited from class io.jmix.flowui.kit.action.AbstractAction
description, enabled, eventBus, icon, id, shortcutCombination, text, variant, visible
Fields inherited from interface io.jmix.flowui.kit.action.Action
PROP_DESCRIPTION, PROP_ENABLED, PROP_ICON, PROP_SHORTCUT_COMBINATION, PROP_TEXT, PROP_VARIANT, PROP_VISIBLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addValidator
(Validator<E> validator) Adds a validator to @link MultiValueSelectContext}.void
void
execute()
Executes theAction
<V extends View<?>>
Consumer<DialogWindow.AfterCloseEvent<V>>Returns the name of the entity associated with this action.Returns the enumeration class associated with the currentMultiValueSelectView.MultiValueSelectContext
.com.vaadin.flow.component.ItemLabelGenerator<E>
Returns the currentItemLabelGenerator
associated with the multi-value select context.com.vaadin.flow.data.provider.DataProvider<?,
?> getItems()
Returns the data provider associated with theMultiValueSelectView.MultiValueSelectContext
.Class<?>
Returns the Java class associated with the current instance ofMultiValueSelectView.MultiValueSelectContext
.Returns the identifier for the lookup view.Returns the view open mode if it was set byViewOpeningAction.setOpenMode(OpenMode)
or in the view XML, otherwise returnsnull
.Returns the current time zone associated withMultiValueSelectView.MultiValueSelectContext
.Returns the list of validators associated with theMultiValueSelectView.MultiValueSelectContext
.Returns the class of the view to be opened.Returns the identifier of the view to be opened.protected void
protected void
initMultiValuePickerComponentValueType
(EntityValueSource<?, ?> valueSource) boolean
Determines whether the current state ofMultiValueSelectView.MultiValueSelectContext
passed to the view opened by this action is read-only.boolean
Determines whether theMultiValueSelectView.MultiValueSelectContext
is configured to use aComboBox
as its primary selection component.<V extends View<?>>
voidsetAfterCloseHandler
(Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) Sets the handler to be invoked when the detail view closes.void
setDialogWindows
(DialogWindows dialogWindows) void
setEntityName
(String entityName) Sets the name of the entity associated with theMultiValueSelectView.MultiValueSelectContext
.void
setEnumClass
(Class<? extends Enum<?>> enumClass) Sets the enumeration class associated with the currentMultiValueSelectView.MultiValueSelectContext
.void
setItemLabelGenerator
(com.vaadin.flow.component.ItemLabelGenerator<E> itemLabelGenerator) Sets the item label generator for the component.void
setItems
(com.vaadin.flow.data.provider.DataProvider<?, ?> items) Sets the items to be used by theMultiValueSelectView.MultiValueSelectContext
.void
setJavaClass
(Class<?> javaClass) Sets the Java class associated with the current instance ofMultiValueSelectView.MultiValueSelectContext
.void
setLookupViewId
(String lookupViewId) Sets the identifier for the lookup view to be opened.protected void
setMessages
(Messages messages) void
setOpenMode
(OpenMode openMode) Sets the view open mode.void
Sets query parameters provider that returns query parameters that should be used in the URL.protected void
setReadOnly
(boolean readOnly) Sets the read-only state ofMultiValueSelectView.MultiValueSelectContext
passed to the view opened by this action.void
Sets route parameters provider that returns route parameters that should be used in the route template.void
setTimeZone
(TimeZone timeZone) Sets the time zone to be associated with the currentMultiValueSelectView.MultiValueSelectContext
.protected void
setUiComponentProperties
(UiComponentProperties uiComponentProperties) void
setUseComboBox
(boolean useComboBox) Configures whether to use aComboBox
as the selection component in the associatedMultiValueSelectView.MultiValueSelectContext
.void
setValidators
(List<Validator<E>> validators) Sets the list of validators forMultiValueSelectView.MultiValueSelectContext
.void
setViewClass
(Class<? extends View> viewClass) Sets the class of the view to be opened by this action.<V extends View<?>>
voidsetViewConfigurer
(Consumer<V> viewConfigurer) Sets the view configurer.void
Sets the identifier for the view to be opened.<V extends View<?>>
MultiValueSelectAction<E>withAfterCloseHandler
(Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) withEntityName
(String entityName) withEnumClass
(Class<? extends Enum<?>> enumClass) withItemLabelGenerator
(com.vaadin.flow.component.ItemLabelGenerator<E> itemLabelGenerator) withItems
(com.vaadin.flow.data.provider.DataProvider<?, ?> items) withJavaClass
(Class<?> javaClass) withLookupViewId
(String lookupViewId) withReadOnly
(boolean readOnly) withTimeZone
(TimeZone timeZone) withUseComboBox
(boolean useComboBox) withValidators
(List<Validator<E>> validators) withViewClass
(Class<? extends View> viewClass) <V extends View<?>>
MultiValueSelectAction<E>withViewConfigurer
(Consumer<V> viewConfigurer) withViewId
(String viewId) Methods inherited from class io.jmix.flowui.action.valuepicker.PickerAction
actionPerform, checkTarget, getTarget, isApplicable, setTarget, withEnabled, withEnabledByUiPermissions, withHandler, withIcon, withIcon, withShortcutCombination, withTarget, withText, withTitle, withVariant, withVisible, withVisibleByUiPermissions
Methods inherited from class io.jmix.flowui.action.SecuredBaseAction
addEnabledRule, isEnabledByRule, isEnabledByUiPermissions, isPermitted, isVisibleByUiPermissions, refreshState, removeEnabledRule, setEnabledByUiPermissions, setVisibleByUiPermissions
Methods inherited from class io.jmix.flowui.kit.action.BaseAction
addActionPerformedListener, setEnabled, setEnabledInternal, setVisible, setVisibleInternal, withDescription
Methods inherited from class io.jmix.flowui.kit.action.AbstractAction
addPropertyChangeListener, firePropertyChange, getDescription, getEventBus, getIcon, getId, getShortcutCombination, getText, getVariant, hasListener, isEnabled, isVisible, setDescription, setIcon, setShortcutCombination, setText, setVariant
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface io.jmix.flowui.kit.action.Action
actionPerform, addPropertyChangeListener, getDescription, getIcon, getId, getText, getVariant, isEnabled, isVisible, refreshState, setDescription, setEnabled, setIcon, setText, setVariant, setVisible
Methods inherited from interface io.jmix.flowui.kit.component.HasShortcutCombination
getShortcutCombination, setShortcutCombination
-
Field Details
-
ID
- See Also:
-
DEFAULT_MULTI_VALUE_SELECT_VIEW
- See Also:
-
messages
-
uiComponentProperties
-
dialogWindows
-
readOnly
protected boolean readOnly -
viewInitializer
-
multiValueSelectContext
-
-
Constructor Details
-
MultiValueSelectAction
public MultiValueSelectAction() -
MultiValueSelectAction
-
-
Method Details
-
initAction
protected void initAction()- Overrides:
initAction
in classPickerAction<MultiValueSelectAction<E>,
PickerComponent<Collection<E>>, Collection<E>>
-
setUiComponentProperties
-
setMessages
-
setDialogWindows
-
afterPropertiesSet
- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
Exception
-
isReadOnly
public boolean isReadOnly()Determines whether the current state ofMultiValueSelectView.MultiValueSelectContext
passed to the view opened by this action is read-only.- Returns:
true
if the action is in a read-only state,false
otherwise
-
setReadOnly
protected void setReadOnly(boolean readOnly) Sets the read-only state ofMultiValueSelectView.MultiValueSelectContext
passed to the view opened by this action.- Parameters:
readOnly
- a boolean value indicating the desired read-only state.
-
getOpenMode
Description copied from interface:ViewOpeningAction
Returns the view open mode if it was set byViewOpeningAction.setOpenMode(OpenMode)
or in the view XML, otherwise returnsnull
.- Specified by:
getOpenMode
in interfaceViewOpeningAction
-
setOpenMode
Description copied from interface:ViewOpeningAction
Sets the view open mode.- Specified by:
setOpenMode
in interfaceViewOpeningAction
- Parameters:
openMode
- the open mode to set
-
getViewId
Returns the identifier of the view to be opened. If the view identifier is not explicitly set via the view initializer, a default identifier is returned.- Specified by:
getViewId
in interfaceViewOpeningAction
- Returns:
- the view identifier, or a default identifier if no specific identifier is set.
-
setViewId
Sets the identifier for the view to be opened.- Specified by:
setViewId
in interfaceViewOpeningAction
- Parameters:
viewId
- the unique identifier of the view
-
getViewClass
Returns the class of the view to be opened.- Specified by:
getViewClass
in interfaceViewOpeningAction
- Returns:
- the class of the view if defined, or
null
if no class is set.
-
setViewClass
Sets the class of the view to be opened by this action.- Specified by:
setViewClass
in interfaceViewOpeningAction
- Parameters:
viewClass
- the class of the view to be opened; can benull
if no specific class is set
-
getRouteParametersProvider
- Specified by:
getRouteParametersProvider
in interfaceViewOpeningAction
- Returns:
- route parameters or
null
if not set
-
setRouteParametersProvider
public void setRouteParametersProvider(@Nullable ViewOpeningAction.RouteParametersProvider provider) Description copied from interface:ViewOpeningAction
Sets route parameters provider that returns route parameters that should be used in the route template.Note that route parameters provider is set if the detail is opened in
OpenMode.NAVIGATION
.- Specified by:
setRouteParametersProvider
in interfaceViewOpeningAction
- Parameters:
provider
- route parameters provider to set- See Also:
-
Route
-
getQueryParametersProvider
- Specified by:
getQueryParametersProvider
in interfaceViewOpeningAction
- Returns:
- query parameters provider or
null
if not set
-
setQueryParametersProvider
public void setQueryParametersProvider(@Nullable ViewOpeningAction.QueryParametersProvider provider) Description copied from interface:ViewOpeningAction
Sets query parameters provider that returns query parameters that should be used in the URL.Note that query parameters provider is set if the detail is opened in
OpenMode.NAVIGATION
.- Specified by:
setQueryParametersProvider
in interfaceViewOpeningAction
- Parameters:
provider
- query parameters provider to set
-
setAfterCloseHandler
public <V extends View<?>> void setAfterCloseHandler(@Nullable Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) Description copied from interface:ViewOpeningAction
Sets the handler to be invoked when the detail view closes.Note that handler is invoked if the detail is opened in
OpenMode.DIALOG
mode.The preferred way to set the handler is using a controller method annotated with
Install
, e.g.:@Install(to = "petsTable.view", subject = "afterCloseHandler") protected void petsTableViewAfterCloseHandler(AfterCloseEvent event) { if (event.closedWith(StandardOutcome.SAVE)) { System.out.println("Saved"); } }
- Specified by:
setAfterCloseHandler
in interfaceViewOpeningAction
- Type Parameters:
V
- view type- Parameters:
afterCloseHandler
- handler to set
-
getAfterCloseHandler
- Specified by:
getAfterCloseHandler
in interfaceViewOpeningAction
-
setViewConfigurer
Description copied from interface:ViewOpeningAction
Sets the view configurer. Use the configurer if you need to provide parameters to the opened view through setters.The preferred way to set the configurer is using a controller method annotated with
Install
, e.g.:@Install(to = "petsTable.view", subject = "viewConfigurer") protected void petsTableViewConfigurer(View<?> view) { view.setSomeParameter(someValue); }
- Specified by:
setViewConfigurer
in interfaceViewOpeningAction
-
getViewConfigurer
- Specified by:
getViewConfigurer
in interfaceViewOpeningAction
-
getLookupViewId
Returns the identifier for the lookup view. This identifier is obtained from theMultiValueSelectView.MultiValueSelectContext
associated with this action. May returnnull
if no lookup view identifier is set.- Returns:
- the lookup view identifier, or
null
if not set
-
setLookupViewId
Sets the identifier for the lookup view to be opened. The identifier is passed to theMultiValueSelectView.MultiValueSelectContext
associated with this action.- Parameters:
lookupViewId
- the unique identifier of the lookup view; can benull
if no specific lookup view is set
-
getEntityName
Returns the name of the entity associated with this action.- Returns:
- the entity name as a
String
, ornull
if no entity name is set.
-
setEntityName
Sets the name of the entity associated with theMultiValueSelectView.MultiValueSelectContext
. This name is used to identify and configure the entity for the current action.- Parameters:
entityName
- the name of the entity as aString
; may benull
if no specific entity is being set
-
getJavaClass
Returns the Java class associated with the current instance ofMultiValueSelectView.MultiValueSelectContext
. This is used for defining the type of data handled by the component.- Returns:
- the Java class if it is defined, or
null
if no class is set
-
setJavaClass
Sets the Java class associated with the current instance ofMultiValueSelectView.MultiValueSelectContext
. This is used for defining the type of data handled by the component.- Parameters:
javaClass
- the Java class to be associated with the current context; may benull
if no specific class is set
-
getEnumClass
Returns the enumeration class associated with the currentMultiValueSelectView.MultiValueSelectContext
. This class defines the type of enums that can be selected or processed by the component.- Returns:
- the class of the enumeration if defined, or
null
if no enumeration class is set
-
setEnumClass
Sets the enumeration class associated with the currentMultiValueSelectView.MultiValueSelectContext
. This class specifies the type of enumeration usable within the multi-value select action.- Parameters:
enumClass
- the class of the enumeration to be set; it may benull
if no specific enumeration class is desired
-
isUseComboBox
public boolean isUseComboBox()Determines whether theMultiValueSelectView.MultiValueSelectContext
is configured to use aComboBox
as its primary selection component.- Returns:
true
if aComboBox
is used for selection,false
otherwise
-
setUseComboBox
public void setUseComboBox(boolean useComboBox) Configures whether to use aComboBox
as the selection component in the associatedMultiValueSelectView.MultiValueSelectContext
.- Parameters:
useComboBox
- a boolean indicating whether aComboBox
should be used for selection (true
) or another component (false
)
-
getItems
@Nullable public com.vaadin.flow.data.provider.DataProvider<?,?> getItems()Returns the data provider associated with theMultiValueSelectView.MultiValueSelectContext
.- Returns:
- the data provider instance if available; otherwise, null
-
setItems
public void setItems(com.vaadin.flow.data.provider.DataProvider<?, ?> items) Sets the items to be used by theMultiValueSelectView.MultiValueSelectContext
.- Parameters:
items
- the data provider supplying the items to be set
-
getTimeZone
Returns the current time zone associated withMultiValueSelectView.MultiValueSelectContext
.- Returns:
- the
TimeZone
object if defined, ornull
if no time zone is set
-
setTimeZone
Sets the time zone to be associated with the currentMultiValueSelectView.MultiValueSelectContext
.- Parameters:
timeZone
- theTimeZone
object to be set; may benull
if no specific time zone is to be associated
-
getItemLabelGenerator
Returns the currentItemLabelGenerator
associated with the multi-value select context. TheItemLabelGenerator
is used to generate display labels for items in the component.- Returns:
- the
ItemLabelGenerator
instance if set, ornull
if no generator is defined
-
setItemLabelGenerator
public void setItemLabelGenerator(@Nullable com.vaadin.flow.component.ItemLabelGenerator<E> itemLabelGenerator) Sets the item label generator for the component. The item label generator is used to define how the items are represented as strings in the user interface.- Parameters:
itemLabelGenerator
- the item label generator to set, ornull
to unset and use the default item label generator
-
getValidators
Returns the list of validators associated with theMultiValueSelectView.MultiValueSelectContext
.- Returns:
- a list of Validator objects used for validation
-
setValidators
Sets the list of validators forMultiValueSelectView.MultiValueSelectContext
.- Parameters:
validators
- the list of validators to be set. Can be null to indicate no validators.
-
addValidator
Adds a validator to @link MultiValueSelectContext}.- Parameters:
validator
- the validator to be added for validating the values
-
execute
public void execute()Description copied from interface:ExecutableAction
Executes theAction
- Specified by:
execute
in interfaceExecutableAction
-
withViewId
-
withViewClass
-
withAfterCloseHandler
public <V extends View<?>> MultiValueSelectAction<E> withAfterCloseHandler(@Nullable Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) -
withViewConfigurer
public <V extends View<?>> MultiValueSelectAction<E> withViewConfigurer(@Nullable Consumer<V> viewConfigurer) - See Also:
-
withValidators
-
withEntityName
-
withEnumClass
-
withJavaClass
-
withReadOnly
-
withLookupViewId
-
withUseComboBox
-
withItems
-
withItemLabelGenerator
public MultiValueSelectAction<E> withItemLabelGenerator(@Nullable com.vaadin.flow.component.ItemLabelGenerator<E> itemLabelGenerator) -
withTimeZone
-
initMultiValuePickerComponentValueType
-