Example usage for com.vaadin.shared.ui ValueChangeMode EAGER

List of usage examples for com.vaadin.shared.ui ValueChangeMode EAGER

Introduction

In this page you can find the example usage for com.vaadin.shared.ui ValueChangeMode EAGER.

Prototype

ValueChangeMode EAGER

To view the source code for com.vaadin.shared.ui ValueChangeMode EAGER.

Click Source Link

Document

Fires a server-side event every time the client-side value changes.

Usage

From source file:org.rubicone.poc.vpush.uil.sending.SendingUI.java

License:Apache License

private FormLayout createPushMessageSendingForm() {
    FormLayout pushMessageSendingForm = new FormLayout();

    Panel pushMessageSendingPanel = new Panel("push message sending form");
    pushMessageSendingPanel.setContent(pushMessageSendingForm);

    TextField inputField = new TextField("text to send");
    inputField.setValueChangeMode(ValueChangeMode.EAGER);
    pushMessageSendingForm.addComponent(inputField);

    Button sendButton = new Button("send", VaadinIcons.LOCATION_ARROW);
    sendButton.setDisableOnClick(true);/*www  .ja  v  a  2s  . co  m*/
    sendButton.setEnabled(false);
    sendButton.addClickListener(event -> {
        this.broadcaster.broadcast(inputField.getValue());
        this.sentMessages.addComponent(new Label(new Date() + ": " + inputField.getValue()));
        inputField.setValue("");
    });

    inputField.addValueChangeListener(event -> {
        sendButton.setEnabled(!event.getValue().isEmpty());
    });

    pushMessageSendingForm.addComponent(sendButton);

    return pushMessageSendingForm;
}