Class EditAction<E>
- All Implemented Interfaces:
AdjustWhenViewReadOnly,ExecutableAction,SecuredAction,SecurityConstraintAction,TargetAction<ListDataComponent<E>>,ViewOpeningAction,Action,HasShortcutCombination
- Direct Known Subclasses:
EntityInspectorEditAction,LogicalFilterEditAction
-
Nested Class Summary
Nested classes/interfaces inherited from class io.jmix.flowui.action.SecuredBaseAction
SecuredBaseAction.EnabledRuleNested classes/interfaces inherited from interface io.jmix.flowui.action.ViewOpeningAction
ViewOpeningAction.QueryParametersProvider, ViewOpeningAction.RouteParametersProvider -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DialogWindowsstatic final Stringprotected Messagesprotected OpenModeprotected booleanprotected ActionViewInitializerprotected ViewNavigatorsFields inherited from class io.jmix.flowui.action.list.SecuredListDataComponentAction
accessManager, applicationContext, constraintEntityOp, metadataFields inherited from class io.jmix.flowui.action.list.ListDataComponentAction
selectionListenerRegistration, targetFields inherited from class io.jmix.flowui.action.SecuredBaseAction
enabledByUiPermissions, enabledRules, visibleByUiPermissionsFields inherited from class io.jmix.flowui.kit.action.BaseAction
enabledExplicitly, visibleExplicitlyFields inherited from class io.jmix.flowui.kit.action.AbstractAction
description, enabled, eventBus, icon, id, shortcutCombination, text, variant, visibleFields 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 TypeMethodDescriptionvoidexecute()Executes the action.<V extends View<?>>
Consumer<DialogWindow.AfterCloseEvent<V>>Returns the view open mode if it was set byViewOpeningAction.setOpenMode(OpenMode)or in the view XML, otherwise returnsnull.Returns the detail view class if it was set bysetViewClass(Class)or in the view XML.Returns the detail view id if it was set bysetViewId(String)or in the view XML.protected voidprotected booleanbooleanprotected booleanprotected voidprotected voidopenDialog(E editedEntity) void<V extends View<?>>
voidsetAfterCloseHandler(Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) Sets the handler to be invoked when the detail view closes.voidsetAfterSaveHandler(Consumer<E> afterSaveHandler) Sets the handler to be invoked when the detail view saves the entity.voidsetDialogWindowBuilders(DialogWindows dialogWindows) protected voidsetMessages(Messages messages) voidsetOpenMode(OpenMode openMode) Sets the view open mode.voidsetQueryParametersProvider(ViewOpeningAction.QueryParametersProvider queryParameters) Sets query parameters provider that returns query parameters that should be used in the URL.voidsetRouteParametersProvider(ViewOpeningAction.RouteParametersProvider routeParameters) Sets route parameters provider that returns route parameters that should be used in the route template.voidvoidsetTransformation(Function<E, E> transformation) Sets the function to transform the saved in the detail view entity before setting it to the target data container.protected voidsetUiComponentProperties(UiComponentProperties uiComponentProperties) voidsetViewClass(Class<? extends View> viewClass) Sets the detail view id.<V extends View<?>>
voidsetViewConfigurer(Consumer<V> viewConfigurer) Sets the view configurer.voidSets the detail view id.voidsetViewNavigators(ViewNavigators viewNavigators) <V extends View<?>>
EditAction<E>withAfterCloseHandler(Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) withAfterSaveHandler(Consumer<E> afterSaveHandler) withOpenMode(OpenMode openMode) withTransformation(Function<E, E> transformation) withViewClass(Class<? extends View> viewClass) <V extends View<?>>
EditAction<E>withViewConfigurer(Consumer<V> viewConfigurer) withViewId(String viewId) Methods inherited from class io.jmix.flowui.action.list.SecuredListDataComponentAction
getConstraintEntityOp, setAccessManager, setApplicationContext, setConstraintEntityOp, setMetadata, withConstraintEntityOpMethods inherited from class io.jmix.flowui.action.list.ListDataComponentAction
actionPerform, attachSelectionListener, checkTarget, checkTargetItems, getTarget, onSelectionChange, setTarget, withEnabled, withEnabledByUiPermissions, withHandler, withIcon, withIcon, withShortcutCombination, withTarget, withText, withTitle, withVariant, withVisible, withVisibleByUiPermissionsMethods inherited from class io.jmix.flowui.action.SecuredBaseAction
addEnabledRule, isEnabledByRule, isEnabledByUiPermissions, isVisibleByUiPermissions, removeEnabledRule, setEnabledByUiPermissions, setVisibleByUiPermissionsMethods inherited from class io.jmix.flowui.kit.action.BaseAction
addActionPerformedListener, setEnabled, setEnabledInternal, setVisible, setVisibleInternalMethods inherited from class io.jmix.flowui.kit.action.AbstractAction
addPropertyChangeListener, firePropertyChange, getDescription, getEventBus, getIcon, getId, getShortcutCombination, getText, getVariant, hasListener, isEnabled, isVisible, setDescription, setIcon, setShortcutCombination, setVariantMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.jmix.flowui.kit.action.Action
actionPerform, addPropertyChangeListener, getDescription, getIcon, getId, getText, getVariant, isEnabled, isVisible, setDescription, setEnabled, setIcon, setVariant, setVisibleMethods inherited from interface io.jmix.flowui.kit.component.HasShortcutCombination
getShortcutCombination, setShortcutCombination
-
Field Details
-
ID
- See Also:
-
dialogWindows
-
viewInitializer
-
afterSaveHandler
-
transformation
-
textInitialized
protected boolean textInitialized -
messages
-
openMode
-
-
Constructor Details
-
EditAction
public EditAction() -
EditAction
-
-
Method Details
-
initAction
protected void initAction()- Overrides:
initActionin classListDataComponentAction<EditAction<E>,E>
-
getOpenMode
Description copied from interface:ViewOpeningActionReturns the view open mode if it was set byViewOpeningAction.setOpenMode(OpenMode)or in the view XML, otherwise returnsnull.- Specified by:
getOpenModein interfaceViewOpeningAction
-
setOpenMode
Description copied from interface:ViewOpeningActionSets the view open mode.- Specified by:
setOpenModein interfaceViewOpeningAction- Parameters:
openMode- the open mode to set
-
getViewId
Returns the detail view id if it was set bysetViewId(String)or in the view XML. Otherwise, returns null.- Specified by:
getViewIdin interfaceViewOpeningAction
-
setViewId
Sets the detail view id.- Specified by:
setViewIdin interfaceViewOpeningAction- Parameters:
viewId- the view id to set
-
getViewClass
Returns the detail view class if it was set bysetViewClass(Class)or in the view XML. Otherwise returns null.- Specified by:
getViewClassin interfaceViewOpeningAction
-
setViewClass
Sets the detail view id.- Specified by:
setViewClassin interfaceViewOpeningAction- Parameters:
viewClass- the view class to set
-
getRouteParametersProvider
- Specified by:
getRouteParametersProviderin interfaceViewOpeningAction- Returns:
- route parameters or
nullif not set
-
setRouteParametersProvider
public void setRouteParametersProvider(@Nullable ViewOpeningAction.RouteParametersProvider routeParameters) Description copied from interface:ViewOpeningActionSets 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:
setRouteParametersProviderin interfaceViewOpeningAction- Parameters:
routeParameters- route parameters provider to set- See Also:
-
Route
-
getQueryParametersProvider
- Specified by:
getQueryParametersProviderin interfaceViewOpeningAction- Returns:
- query parameters provider or
nullif not set
-
setQueryParametersProvider
public void setQueryParametersProvider(@Nullable ViewOpeningAction.QueryParametersProvider queryParameters) Description copied from interface:ViewOpeningActionSets 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:
setQueryParametersProviderin interfaceViewOpeningAction- Parameters:
queryParameters- query parameters provider to set
-
setAfterCloseHandler
public <V extends View<?>> void setAfterCloseHandler(@Nullable Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) Description copied from interface:ViewOpeningActionSets the handler to be invoked when the detail view closes.Note that handler is invoked if the detail is opened in
OpenMode.DIALOGmode.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:
setAfterCloseHandlerin interfaceViewOpeningAction- Type Parameters:
V- view type- Parameters:
afterCloseHandler- handler to set
-
getAfterCloseHandler
- Specified by:
getAfterCloseHandlerin interfaceViewOpeningAction
-
setViewConfigurer
Description copied from interface:ViewOpeningActionSets 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:
setViewConfigurerin interfaceViewOpeningAction
-
getViewConfigurer
- Specified by:
getViewConfigurerin interfaceViewOpeningAction
-
setAfterSaveHandler
Sets the handler to be invoked when the detail view saves the entity.Note that handler is invoked if the detail is opened in
OpenMode.DIALOGmode.The preferred way to set the handler is using a controller method annotated with
Install, e.g.:@Install(to = "petsTable.edit", subject = "afterSaveHandler") protected void petsTableEditAfterSaveHandler(Pet entity) { System.out.println("Saved " + entity); } -
getAfterSaveHandler
-
setTransformation
Sets the function to transform the saved in the detail view entity before setting it to the target data container.Note that transformation function is invoked if the detail is opened in
OpenMode.DIALOGmode.The preferred way to set the function is using a controller method annotated with
Install, e.g.:@Install(to = "petsTable.edit", subject = "transformation") protected Pet petsTableEditTransformation(Pet entity) { return doTransform(entity); }- Parameters:
transformation- transformation function to set
-
getTransformation
-
setMessages
-
setUiComponentProperties
-
setDialogWindowBuilders
-
setText
- Specified by:
setTextin interfaceAction- Overrides:
setTextin classAbstractAction
-
isPermitted
protected boolean isPermitted()- Overrides:
isPermittedin classSecuredListDataComponentAction<EditAction<E>,E>
-
refreshState
public void refreshState()- Specified by:
refreshStatein interfaceAction- Overrides:
refreshStatein classSecuredBaseAction
-
isDisabledWhenViewReadOnly
public boolean isDisabledWhenViewReadOnly()- Specified by:
isDisabledWhenViewReadOnlyin interfaceAdjustWhenViewReadOnly- Returns:
- whether this action must be disabled when a view in the read-only mode
-
isApplicable
protected boolean isApplicable()- Overrides:
isApplicablein classSecuredListDataComponentAction<EditAction<E>,E>
-
execute
public void execute()Executes the action.- Specified by:
executein interfaceExecutableAction
-
openDialog
-
withViewId
- See Also:
-
withViewClass
- See Also:
-
withRouteParametersProvider
public EditAction<E> withRouteParametersProvider(@Nullable ViewOpeningAction.RouteParametersProvider provider) -
withQueryParametersProvider
public EditAction<E> withQueryParametersProvider(@Nullable ViewOpeningAction.QueryParametersProvider provider) -
withOpenMode
- See Also:
-
withAfterCloseHandler
public <V extends View<?>> EditAction<E> withAfterCloseHandler(Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) - See Also:
-
withViewConfigurer
- See Also:
-
withAfterSaveHandler
- See Also:
-
withTransformation
- See Also:
-