Package io.jmix.flowui.action.list
Class ReadAction<E>
- All Implemented Interfaces:
ExecutableAction,SecuredAction,SecurityConstraintAction,TargetAction<ListDataComponent<E>>,ViewOpeningAction,Action,HasShortcutCombination
@ActionType("list_read")
public class ReadAction<E>
extends SecuredListDataComponentAction<ReadAction<E>,E>
implements ViewOpeningAction
-
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 OpenModeprotected ReadOnlyViewsSupportprotected 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.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 booleanprotected voidprotected voidopenDialog(E editedEntity) <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 (if "enable editing" action was executed).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.voidsetReadOnlyViewsSupport(ReadOnlyViewsSupport readOnlyViewsSupport) 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 (if "enable editing" action was executed) before setting it to the target data container.protected voidsetUiComponentProperties(UiComponentProperties uiComponentProperties) voidsetViewClass(Class<? extends View> viewClass) Sets the detail view id.voidSets the detail view id.voidsetViewNavigators(ViewNavigators viewNavigators) <V extends View<?>>
ReadAction<E>withAfterCloseHandler(Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) withAfterSavedHandler(Consumer<E> afterSavedHandler) withOpenMode(OpenMode openMode) withTransformation(Function<E, E> transformation) withViewClass(Class<? extends View> viewClass) withViewId(String viewId) Methods inherited from class io.jmix.flowui.action.list.SecuredListDataComponentAction
getConstraintEntityOp, isApplicable, 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, refreshState, 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, refreshState, setDescription, setEnabled, setIcon, setVariant, setVisibleMethods inherited from interface io.jmix.flowui.kit.component.HasShortcutCombination
getShortcutCombination, setShortcutCombination
-
Field Details
-
ID
- See Also:
-
dialogWindows
-
readOnlyViewsSupport
-
viewInitializer
-
afterSaveHandler
-
transformation
-
textInitialized
protected boolean textInitialized -
openMode
-
-
Constructor Details
-
ReadAction
public ReadAction() -
ReadAction
-
-
Method Details
-
initAction
protected void initAction()- Overrides:
initActionin classListDataComponentAction<ReadAction<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
-
setAfterSaveHandler
Sets the handler to be invoked when the detail view saves the entity (if "enable editing" action was executed).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.read", subject = "afterSaveHandler") protected void petsTableReadAfterSaveHandler(Pet entity) { System.out.println("Saved " + entity); } -
setTransformation
Sets the function to transform the saved in the detail view entity (if "enable editing" action was executed) 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.read", subject = "transformation") protected Pet petsTableReadTransformation(Pet entity) { return doTransform(entity); }- Parameters:
transformation- transformation function to set
-
setMessages
-
setUiComponentProperties
-
setDialogWindowBuilders
-
setReadOnlyViewsSupport
-
setText
- Specified by:
setTextin interfaceAction- Overrides:
setTextin classAbstractAction
-
isPermitted
protected boolean isPermitted()- Overrides:
isPermittedin classSecuredListDataComponentAction<ReadAction<E>,E>
-
execute
public void execute()Executes the action.- Specified by:
executein interfaceExecutableAction
-
openDialog
-
withViewId
- See Also:
-
withViewClass
- See Also:
-
withRouteParametersProvider
public ReadAction<E> withRouteParametersProvider(@Nullable ViewOpeningAction.RouteParametersProvider provider) -
withQueryParametersProvider
public ReadAction<E> withQueryParametersProvider(@Nullable ViewOpeningAction.QueryParametersProvider provider) -
withOpenMode
- See Also:
-
withAfterCloseHandler
public <V extends View<?>> ReadAction<E> withAfterCloseHandler(Consumer<DialogWindow.AfterCloseEvent<V>> afterCloseHandler) - See Also:
-
withAfterSavedHandler
- See Also:
-
withTransformation
- See Also:
-