13 | Документация

Интерактив блока виджета с картой

Вы можете кастомизировать интерактив блока виджета с картой с помощью JavaScript-кода.
Интерактив с картой возможен в следующих блоках виджета:
  • График ;
  • Круговая диаграмма по строкам ;
  • Диаграмма XY .
Используйте в своем коде следующие события для описания интерактива:
  • actionOnChartClick - действие при клике на элемент диаграммы;
  • actionOnChartLegendClick - действие при клике на элемент легенды диаграммы;
  • actionOnChartHover - действие при наведении на элемент диаграммы;
  • actionOnChartLegendHover - действие при наведении на элемент легенды диаграммы.
Описание типов параметров события:
<событие>: ((elements: any[], chart: any, stripe: CoGIS.OpenProject.CustomHtmlButtonStripeBase, calculatedStripe: CoGIS.OpenProject.CalculatedStripeBase) => void)[],
Образец синтаксиса:
window.cogisCustomization.actionOnChartClick.add(function(elements, chart, stripe, calculatedStripe) {
var element = elements[0];
var value = chart.data.datasets[element._datasetIndex].data[element._index];
var label = chart.data.labels[element._index];
});
window.cogisCustomization.actionOnChartLegendClick.add(function(item, chart, stripe, calculatedStripe) {
});
Пример: при клике по элементу диаграммы и по элементу легенды диаграммы показывается информационное сообщение в браузере, содержащее выбранное значение ключевого поля (см. Рисунок 699 ).
Обратите внимание, что в данном примере код влияет на все виджеты и все блоки подходящего типа.
window.cogisCustomization.actionOnChartClick.add(function(elements, chart, stripe, calculatedStripe) {
if (elements == undefined || elements.length == 0)
return;
var element = elements[0];
var value = chart.data.datasets[element._datasetIndex].data[element._index];
var label = chart.data.labels[element._index];
alert(label);
});
window.cogisCustomization.actionOnChartLegendClick.add(function(item, chart, stripe, calculatedStripe) {
var label = chart.data.labels[item.index];
alert(label);
});
Рисунок 699 - Настройка интерактива блока виджета с картой с помощью JavaScript