Package io.jmix.ui.action.list
Class AddAction<E>
java.lang.Object
io.jmix.ui.action.AbstractAction
io.jmix.ui.action.BaseAction
io.jmix.ui.action.ListAction
io.jmix.ui.action.list.AddAction<E>
- Type Parameters:
E- type of entity
- All Implemented Interfaces:
Action,Action.AdjustWhenScreenReadOnly,Action.ExecutableAction,Action.HasPrimaryState,Action.HasTarget,Action.ScreenOpeningAction,Action.SecuredAction
@StudioAction(target="io.jmix.ui.component.ListComponent",
description="Adds entities to the list using a lookup screen",
availableInScreenWizard=true)
@ActionType("add")
public class AddAction<E>
extends ListAction
implements Action.AdjustWhenScreenReadOnly, Action.ScreenOpeningAction, Action.ExecutableAction
Standard action for adding an entity to the list using its lookup screen.
Should be defined for a list component (Table, DataGrid, etc.) in a screen XML descriptor.
The action instance can be parameterized using the nested properties XML element or programmatically in the
screen controller.
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jmix.ui.action.BaseAction
BaseAction.EnabledRuleNested classes/interfaces inherited from interface io.jmix.ui.action.Action
Action.ActionPerformedEvent, Action.AdjustWhenScreenReadOnly, Action.ExecutableAction, Action.HasPrimaryState, Action.HasSecurityConstraint, Action.HasTarget, Action.MainTabSheetAction, Action.ScreenOpeningAction, Action.SecuredAction, Action.Status -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AccessManagerstatic final Stringprotected ScreenBuildersprotected ActionScreenInitializerprotected Predicate<LookupScreen.ValidationContext<E>>protected Function<Collection<E>,Collection<E>> Fields inherited from class io.jmix.ui.action.ListAction
targetFields inherited from class io.jmix.ui.action.AbstractAction
caption, description, enabled, eventHub, icon, id, owners, primary, shortcut, visibleFields inherited from interface io.jmix.ui.action.Action
PROP_CAPTION, PROP_DESCRIPTION, PROP_ENABLED, PROP_ICON, PROP_SHORTCUT, PROP_VISIBLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidactionPerform(Component component) Invoked by owning component to execute the action.voidexecute()Executes the action.Returns the lookup screen open mode if it was set bysetOpenMode(OpenMode)or in the screen XML.Returns the lookup screen class if it was set bysetScreenClass(Class)or in the screen XML.Returns the lookup screen id if it was set bysetScreenId(String)or in the screen XML.protected booleanCallback method which is invoked by the action to determine its enabled state.voidsetAfterCloseHandler(Consumer<Screen.AfterCloseEvent> afterCloseHandler) Sets the handler to be invoked when the lookup screen closes.protected voidprotected voidsetMessages(Messages messages) voidsetOpenMode(OpenMode openMode) Sets the lookup screen open mode.voidsetScreenBuilders(ScreenBuilders screenBuilders) voidsetScreenClass(Class<? extends Screen> screenClass) Sets the lookup screen id.voidsetScreenConfigurer(Consumer<Screen> screenConfigurer) Sets the lookup screen configurer.voidsetScreenId(String screenId) Sets the lookup screen id.voidsetScreenOptionsSupplier(Supplier<ScreenOptions> screenOptionsSupplier) Sets the lookup screen options supplier.voidsetSecurity(AccessManager accessManager) voidsetSelectValidator(Predicate<LookupScreen.ValidationContext<E>> selectValidator) Sets the validator to be invoked when the user selects entities in the lookup screen.voidsetTransformation(Function<Collection<E>, Collection<E>> transformation) Sets the function to transform selected in the lookup screen entities.Methods inherited from class io.jmix.ui.action.ListAction
getTarget, setTarget, withCaption, withDescription, withHandler, withIcon, withPrimary, withShortcutMethods inherited from class io.jmix.ui.action.BaseAction
addActionPerformedListener, addEnabledRule, isApplicable, isEnabledByRule, isEnabledByUiPermissions, isVisibleByUiPermissions, refreshState, removeEnabledRule, setEnabled, setEnabledByUiPermissions, setEnabledInternal, setVisible, setVisibleByUiPermissions, setVisibleInternalMethods inherited from class io.jmix.ui.action.AbstractAction
addOwner, addPropertyChangeListener, firePropertyChange, getCaption, getDescription, getEventHub, getIcon, getId, getOwner, getOwners, getShortcutCombination, hasSubscriptions, isEnabled, isPrimary, isVisible, removeOwner, removePropertyChangeListener, setCaption, setDescription, setIcon, setPrimary, setShortcut, setShortcutCombinationMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.ui.action.Action
addOwner, addPropertyChangeListener, getCaption, getDescription, getIcon, getId, getOwner, getOwners, getShortcutCombination, isEnabled, isVisible, refreshState, removeOwner, removePropertyChangeListener, setCaption, setDescription, setEnabled, setIcon, setShortcut, setShortcutCombination, setVisibleMethods inherited from interface io.jmix.ui.action.Action.AdjustWhenScreenReadOnly
isDisabledWhenScreenReadOnly
-
Field Details
-
ID
- See Also:
-
screenBuilders
-
accessManager
-
screenInitializer
-
selectValidator
-
transformation
-
-
Constructor Details
-
AddAction
public AddAction() -
AddAction
-
-
Method Details
-
getOpenMode
Returns the lookup screen open mode if it was set bysetOpenMode(OpenMode)or in the screen XML. Otherwise returns null.- Specified by:
getOpenModein interfaceAction.ScreenOpeningAction
-
setOpenMode
Sets the lookup screen open mode.- Specified by:
setOpenModein interfaceAction.ScreenOpeningAction- Parameters:
openMode- the open mode to set
-
getScreenId
Returns the lookup screen id if it was set bysetScreenId(String)or in the screen XML. Otherwise returns null.- Specified by:
getScreenIdin interfaceAction.ScreenOpeningAction
-
setScreenId
Sets the lookup screen id.- Specified by:
setScreenIdin interfaceAction.ScreenOpeningAction- Parameters:
screenId- the screen id to set
-
getScreenClass
Returns the lookup screen class if it was set bysetScreenClass(Class)or in the screen XML. Otherwise returns null.- Specified by:
getScreenClassin interfaceAction.ScreenOpeningAction
-
setScreenClass
Sets the lookup screen id.- Specified by:
setScreenClassin interfaceAction.ScreenOpeningAction- Parameters:
screenClass- the screen class to set
-
setScreenOptionsSupplier
Sets the lookup screen options supplier. The supplier providesScreenOptionsto the opened screen.The preferred way to set the supplier is using a controller method annotated with
Install, e.g.:@Install(to = "petsTable.add", subject = "screenOptionsSupplier") protected ScreenOptions petsTableAddScreenOptionsSupplier() { return new MapScreenOptions(ParamsMap.of("someParameter", 10)); }- Specified by:
setScreenOptionsSupplierin interfaceAction.ScreenOpeningAction
-
setScreenConfigurer
Sets the lookup screen configurer. Use the configurer if you need to provide parameters to the opened screen through setters.The preferred way to set the configurer is using a controller method annotated with
Install, e.g.:@Install(to = "petsTable.add", subject = "screenConfigurer") protected void petsTableAddScreenConfigurer(Screen lookupScreen) { ((PetBrowse) lookupScreen).setSomeParameter(someValue); }- Specified by:
setScreenConfigurerin interfaceAction.ScreenOpeningAction
-
setAfterCloseHandler
Sets the handler to be invoked when the lookup screen closes.The preferred way to set the handler is using a controller method annotated with
Install, e.g.:@Install(to = "petsTable.add", subject = "afterCloseHandler") protected void petsTableAddAfterCloseHandler(AfterCloseEvent event) { if (event.closedWith(StandardOutcome.SELECT)) { System.out.println("Selected"); } }- Specified by:
setAfterCloseHandlerin interfaceAction.ScreenOpeningAction
-
setSelectValidator
Sets the validator to be invoked when the user selects entities in the lookup screen.The preferred way to set the validator is using a controller method annotated with
Install, e.g.:@Install(to = "petsTable.add", subject = "selectValidator") protected void petsTableAddSelectValidator(LookupScreen.ValidationContext<Pet> context) { return checkSelected(context.getSelectedItems()); } -
setTransformation
Sets the function to transform selected in the lookup screen entities.The preferred way to set the function is using a controller method annotated with
Install, e.g.:@Install(to = "petsTable.add", subject = "transformation") protected Collection<Pet> petsTableAddTransformation(Collection<Pet> entities) { return doTransform(entities); } -
setIcons
-
setMessages
-
setSecurity
-
setScreenBuilders
-
isPermitted
protected boolean isPermitted()Description copied from class:BaseActionCallback method which is invoked by the action to determine its enabled state.- Overrides:
isPermittedin classBaseAction- Returns:
- true if the action is enabled for the current user
-
actionPerform
Description copied from interface:ActionInvoked by owning component to execute the action.- Specified by:
actionPerformin interfaceAction- Overrides:
actionPerformin classBaseAction- Parameters:
component- invoking component
-
execute
public void execute()Executes the action.- Specified by:
executein interfaceAction.ExecutableAction
-