I tried to set a timezone to a chart, which is different to the current UI locale.
There is a com.vaadin.addon.charts.model.Global class with setTimezoneOffset(), but how to retrieve or add this object to the Configuration? There is no single reference to this class.
JavaScript.getCurrent().execute("Highcharts.setOptions({\n" +
" global: {\n" +
" useUTC: true,\n" +
" timezoneOffset: "+ timezoneOffsetInMinutes + "\n" +
" }\n" +
"});");
Its a bit hacky but ok.
In this case you should not use the broken com.vaadin.addon.charts.util.Util which is used by DataSeriesItem to transform a Date, because it uses hardcoded system timezone. There are remaining problems with wrong times i hope to resolve soon.
So i have to say that custom timezones are not really support by the current VaadinCharts Addon
Your workaround seems to do the job :-), but what about the concurrency ?
I mean, are the new settings shared by all active users ?
If, inside a View, user A is changing the timezone of the displayed chart (using JavaScript.getCurrent().execute()), will it also affect user B when he will open the same View (with other data) ?