Общие обработчики

AttachEvent

com.vaadin.flow.component.AttachEvent отправляется после присоединения компонента к UI.

BlurEvent

com.vaadin.flow.component.BlurNotifier.BlurEvent соответствует DOM-событию blur.

ClientValidatedEvent

com.vaadin.flow.component.shared.HasClientValidation.ClientValidatedEvent отправляется веб-компонентом всякий раз, когда он проверяется на стороне клиента. Это событие соответствует DOM-событию validated.

ComponentValueChangeEvent

com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent отправляется при изменении значения компонента.

CompositionEndEvent

com.vaadin.flow.component.CompositionEndEvent отправляется, когда композиция завершена. Соответствует DOM-событию compositionend.

CompositionStartEvent

com.vaadin.flow.component.CompositionStartEvent отправляется при запуске композиции. Соответствует DOM-событию compositionstart.

CompositionUpdateEvent

com.vaadin.flow.component.CompositionUpdateEvent отправляется при обновлении композиции. Соответствует DOM-событию compositionupdate.

DetachEvent

com.vaadin.flow.component.DetachEvent отправляется перед тем, как компонент отсоединяется от UI.

FocusEvent

com.vaadin.flow.component.FocusNotifier.FocusEvent соответствует DOM-событию focus.

InputEvent

com.vaadin.flow.component.InputEvent отправляется, когда компонент получает любой тип ввода (например, щелчок, нажатие клавиши). Соответствует DOM-событию input.

KeyDownEvent

com.vaadin.flow.component.KeyDownEvent отправляется при нажатии клавиши. Соответствует DOM-событию keydown.

KeyPressEvent

com.vaadin.flow.component.KeyPressEvent отправляется при нажатии клавиши. Соответствует DOM-событию keypress.

KeyUpEvent

com.vaadin.flow.component.KeyUpEvent отправляется при отпускании клавиши. Соответствует DOM-событию keyup.

statusChangeHandler

io.jmix.flowui.component.SupportsStatusChangeHandler используется для обработки изменений состояния компонента, например, сообщений проверки, установленных методом HasValidation.setErrorMessage(String).

Например, вместо отображения сообщений проверки под компонентом, можно использовать отдельный компонент, такой как Label:

<textField id="negativeField" datatype="int">
    <validators>
        <negative/>
    </validators>
</textField>
<label id="infoLabel" visible="false"/>

Обработчик должен быть определен следующим образом:

@ViewComponent
private Label infoLabel;

@Install(to = "negativeField", subject = "statusChangeHandler")
private void negativeFieldStatusChangeHandler(
        SupportsStatusChangeHandler.StatusContext<TypedTextField<String>>
                                                          statusContext) {
    infoLabel.setVisible(true); (1)
    infoLabel.setText(statusContext.getDescription()); (2)
}
1 Делает infoLabel видимым.
2 Получает сообщение об ошибке из объекта StatusContext и устанавливает его в текст infoLabel.

TypedValueChangeEvent

io.jmix.flowui.component.SupportsTypedValue.TypedValueChangeEvent отправляется, когда пользователь завершил манипуляции с компонентом. Например, после нажатия Enter или когда компонент теряет фокус.

Событие имеет следующие методы:

  • getOldValue() возвращает типизированное значение компонента до изменения.

  • getValue() возвращает текущее типизированное значение компонента.

@Autowired
protected Notifications notifications;

@Subscribe("nameField")
protected void onNameFieldTypedValueChange(
        SupportsTypedValue.TypedValueChangeEvent<TypedTextField<String>, String> event) {
    notifications
            .show("Before: " + event.getOldValue() +
                    ". After: " + event.getValue());
}