так что у меня есть интересная проблема.
Вот где функция форматирования находится внутри объекта конфигурации диаграммы:
В контроллере HighCharts
vm.config = {
options: {
....
chart: {
....
},
navigator: {
....
},
tooltip: {
shared: true,
useHTML: true,
backgroundColor: null,
borderWidth: 0,
shadow: false,
formatter: function(tooltipObj) {
return formatTooltip(tooltipObj, this.points);
}
},
....
Я хотел бы иметь возможность вызывать функцию formatTooltip
из другого места в моем приложении. Однако 1) Как мне это сделать? и 2) Как пройти в tooltipObj
?
Например, внутри моего alertFactory я хочу, чтобы событие mouseover, которое происходит, когда пользователь наводит курсор на plotBand, отправляло дополнительную информацию во всплывающую подсказку:
В AlertsFactory
var formatPlotBand = _.curry((color, alert) => {
return {
color : color,
from : alert.start_epoch * 1000,
to : alert.end_epoch * 1000,
id :'alert-plotband',
events: {
mouseover: function (e) {
/*
Somehow from here call the formatTooltip function
in the highCharts Controller.
*/
},
mouseout: function (e) {
....
formatTooltip()
? Этот метод возвращает только новое значение для средства форматирования? Или это еще что-то? В первом случае вы просто получите строку и ничего больше: она не обновит всплывающую подсказку (поскольку форматер не вызывается). Я думаю, чтоchart.tooltip.refresh([point, point, point]);
(не часть API) - это путь, но это зависит от того, чего вы хотите достичь. - person Paweł Fus   schedule 02.08.2016