Package io.jmix.flowui.view
Class View.BeforeCloseEvent
java.lang.Object
java.util.EventObject
com.vaadin.flow.component.ComponentEvent<View<?>>
io.jmix.flowui.view.View.BeforeCloseEvent
- All Implemented Interfaces:
Serializable
The first event in the view closing process.
The view is still displayed and fully functional.
In this event listener, you can check any conditions and prevent closing using the
preventClose() method of the event, for example:
@Subscribe
protected void onBeforeClose(BeforeCloseEvent event) {
if (Strings.isNullOrEmpty(textField.getTypedValue())) {
notifications.show("Input required");
event.preventClose();
}
}
Note the event can be triggered few times for one View instance. It may happen if
the user tries to navigate to the same View, which is currently opened. In this case,
View.BeforeCloseEvent is triggered, because we "close" the View, however due to navigation
the same instance of View will be opened. It means View.BeforeCloseEvent will be triggered again
for the same View instance, when user close the View or navigates to another one.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final CloseActionprotected booleanprotected OperationResultFields inherited from class java.util.EventObject
source -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanclosedWith(StandardOutcome outcome) Checks that view was closed with the givenoutcome.booleanvoidPrevents closing of the view.voidpreventClose(OperationResult closeResult) Prevents closing of the view.Methods inherited from class com.vaadin.flow.component.ComponentEvent
getSource, isFromClient, unregisterListenerMethods inherited from class java.util.EventObject
toString
-
Field Details
-
closeAction
-
closeResult
-
closePrevented
protected boolean closePrevented
-
-
Constructor Details
-
BeforeCloseEvent
-
-
Method Details
-
getCloseAction
- Returns:
- action passed to the
View.close(CloseAction)method orNavigateCloseAction
-
preventClose
public void preventClose()Prevents closing of the view. -
preventClose
Prevents closing of the view.- Parameters:
closeResult- result object returned from theView.close(CloseAction)method
-
isClosePrevented
public boolean isClosePrevented()- Returns:
- whether the closing was prevented by invoking
preventClose()method
-
getCloseResult
- Returns:
- result passed to the
preventClose(OperationResult)method
-
closedWith
Checks that view was closed with the givenoutcome.
-