Сохранение выбранных значений на диаграмме при фильтрации
Код для диаграммы, позволяющих сохранить выбранное на виджете значение при фильтрации данных на виджете внешним фильтром:
let oldClick = w.plotOptions.series.point.events.click; //Сохраняем функцию клика на виджете по умолчанию
w.plotOptions.series.point.events.click = function(e) { //Меняем функцию клика на виджете
oldClick.call(this); //Вызываем сохранённую функцию
window.localStorage[w.general.renderTo] = chart.getSelectedPoints().map(item=> {return [item.category]}); //записываем выбранные значения в глобальную переменную
};
let chart = Highcharts.chart({
chart: w.general,
xAxis: w.xAxis,
yAxis: w.yAxis,
plotOptions: w.plotOptions,
series: w.series,
drilldown: w.drilldown,
legend: w.legend,
tooltip: w.tooltip
});
//Если в глобально переменной есть значения для данного виджета, то отправляем их через visApi в фильтр
if (window.localStorage[w.general.renderTo]) {
visApi().setFilterSelectedValues(w.general.renderTo, [[window.localStorage[w.general.renderTo]]]);
}