Events on Navigator Chart

Hello,
Vaadin 7.6.5, Vaadin charts 3.0.0 Issue related with Timeline Navigator:
https://vaadin.com/docs/-/part/charts/java-api/charts-timeline.html

We are using Charts, and we to want get the behaviour seen in the main chart of
https://coinmarketcap.com/currencies/ethereum/

which uses Highcharts as well.

In this example, when you move the Navigator time selection (the chart just below the main coloured chart), it doesn’t trigger an event to the server until you finish the click, i.e., until you un-click the mouse button. At that moment, a server query can be performed with the proper values of the extremes of the Navigator.
With Vaadin I could been able to add a listener “XAxesExtremesChangeListener”, which is triggered everytime the extremes change. But what I need is that the event is triggered when the user finishes with the extremes changing, i.e. when the users unclicks the mouse. At the moment I do:

  private XAxesExtremesChangeListener xAxesExtremeListener = new XAxesExtremesChangeListener() {
        @Override
         public void onXAxesExtremesChange(XAxesExtremesChangeEvent event) {
                    leftExtremeOfNavigationOnFly = event.getMinimum();
                    rightExtremeOfNavigationOnFly = event.getMaximum();
        }
}

The closer I get to what I need is to store the state of the Navigator with every XAxesExtresmChangesEvent, and then capturing a Click event on the layout where this object is instantiated, check if the current values of the extremes changed and if so, perform the server query. Problem: This is not working properly. Sometimes the unclick triggers this Click event, but sometimes it doesn’t.
Any ideas? Maybe a way to add a proper Click event on the Navigator? Or an “onSelection”, like the one that the main chart has? This one doesn’t trigger until the selection is totally finished. That would make it.

Thank you very much in advance.

Hi Juan Manuel,

I didn’t have time to test it myself, but something that could help is the
Scrollbar liveRedraw property
. Setting live redraw to false should make the extremes change only once after the selection is done in the Navigator

Hope this helps,

Guille

Hi Guillermo,
and that is exactly what I needed. Thank you so much!
Also, I would kindly ask vaadin to document this somewhere close to the Navigator/Timeline docs. It would have been impossible to find this without some help.

Again Guillermo, muchas gracias.