1.5.4. Использование событий

Проиллюстрируем использование событий. Добавим в экран, созданный в разделе Создание диаграммы, обработку события нажатия на элемент графа. Откройте XML-дескриптор экрана в IDE, затем инжектируйте диаграмму:

@Inject
private Chart chart;

Далее добавьте слушателя в конце метода init(Map<String, Object> params):

chart.addGraphItemClickListener(event -> {
        CountryGrowth countryGrowth = (CountryGrowth) event.getItem();
        String message = String.format("GDP grow in %s (%s): %.1f%%",
        countryGrowth.getCountry(),
        event.getGraphId().substring(5),
        "graph2014".equals(event.getGraphId()) ? countryGrowth.getYear2014() : countryGrowth.getYear2015());
        showNotification(message, NotificationType.HUMANIZED_HTML);
});

Для просмотра результата пересоберите проект командой RunRestart application server и зайдите в систему. Откройте экран и нажмите на одину из колонок гистограммы.

chart with event
Рисунок 3. Диаграмма с обработкой события нажатия на элемент графа