К сожалению, Highcharts не предлагает такие события, как drillupToNode
& drilldownToNode
, которые облегчили бы манипулирование названием диаграммы.
Workaroud:
Я добавляю логику обработки заголовков к функции drillToNode
и перезаписываю ее:
H.seriesTypes.treemap.prototype.drillToNode = function(id, redraw) {
var series = this,
chart = series.chart,
nodeMap = series.nodeMap,
node = nodeMap[id],
title;
series.idPreviousRoot = series.rootNode;
series.rootNode = id;
if (id === '') {
series.drillUpButton = series.drillUpButton.destroy();
title = chart.userOptions.title.text;
} else {
series.showDrillUpButton((node && node.name || id));
title = node.name;
}
chart.setTitle({
text: title
}, null, false);
this.isDirty = true; // Force redraw
if (pick(redraw, true)) {
this.chart.redraw();
}
}
Оригинальную функцию можно найти по этой ссылке: https://github.com/highcharts/highcharts/blob/master/js/modules/treemap.src.js
point.events.click
больше не требуется при использовании этого кода, но для диаграммы необходимо изначально задать свойство chart.title.text
.
Демонстрационная версия: https://jsfiddle.net/BlackLabel/7toez0n5/