Плагин / расширение Highcharts, которое запускается после загрузки графика - PullRequest
0 голосов
/ 01 июня 2018

Я пытаюсь переместить часть своего пользовательского кода Highcharts, который в настоящее время находится внутри events.load, в расширение Highcharts , чтобы оно было более модульным и чистым.

Вот Скрипка того, что у меня есть сейчас.

Как вы можете заметить из кода, я изменяю некоторые свойства меток значений после полной визуализации диаграммы, вызывая chart.events.load.

Итак, насколько я понимаю, использование H.wrap позволило бы мне переопределить существующую функцию-прототип и позволить добавить код до или после нее.

И вот тут я в некотором замешательстве:

  1. Должен ли я выполнить процедуру скрытия метки значения в существующем прототипе?

  2. Как я могу преобразовать код chart.events.load в расширение, которое (также) вызывается после загрузки диаграммы?

Я думаю, что могу использовать

H.wrap(H.Chart.prototype, 'onload', function (p) { ... }

Но я не совсем уверен

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Я бы не использовал wrapp, если бы мне не пришлось, например, когда мне нужно было бы контролировать, когда вызывается упакованная функция.

Другие способы:

  1. Добавить функцию в качестве обратного вызова к Chart.prototype

    Highcharts.Chart.prototype.callbacks.push(function (chart) {
      console.log('callback')
    })
    
  2. Добавить load событие диаграммы

    Highcharts.addEvent(Highcharts.Chart, 'load', function () {
      console.log('load event')
    })
    

живой пример:http://jsfiddle.net/kyfbwjke/

0 голосов
/ 01 июня 2018

Следующее:

H.wrap(H.Chart.prototype, 'onload', function (p) { ... }

То же, что charts.events.load

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...