RichTextArea force valueChangeEvent on blur

I have a screen with multiple RichTextAreas.
In this screen there is a save button that is disabled by default, and will be activated as soon as something is modified in one of the RichTextAreas.

Before we had all RichTextAreas set as immediate and the ValueChangeEvent was properly being fired however since the text containted in the RichTextAreas can be quite long this constant communication with the server caused the users to type faster that the RichTextArea could process.

So we decided to change the immediate value of the RichTextAreas to false, now however the ValueChangeEvents are not being fired event when the component loses it’s focus.

Is there a way to trigger a value change event on a RichTextArea when it looses focus, or to keep the immediate value to false but add a timeout before sending data to the server?

Thanks in advance


I’m using Vaadin 7.5.8

So you want to get the blur events, but without the actual data?
Then you have to implement the blur event mechanism separately. You can try implementing FieldEvent.BlurNotifier for a RichTextArea extension, take a look on how it was implemented in some components (some also implement the functionality without declaring the interface implementation, like ComboBox).
If you don’t succeed in reusing Vaadin’s core code for this, then you can write an extension, it’s quite easy to do.

Thanks for the answer; I will try this.