Информация |
---|
Иногда превью дашборда не отображается в меню выбора дашборда. Это связано с тем, что картинка виджета виджет не успевает загрузитьсяпрорисоваться, перед тем как вызывается функция прорисовкисохраняется preview. |
Все операции производим в коде виджета.
Создаём переменную и promise (в начале кода виджета).
Блок кода var loadHandler = null; var loadedPromise = new Promise((resolve,reject)=>{ // resolve();//вызвать когда виджет отрисовался loadHandler = resolve; });
Добавить в объект виджета highcharts строку(подробно: https://api.highcharts.com/highcharts/chart.events.load ):
Блок кода chart: { events: { load: loadHandler } }
Метод “load” отслеживает загрузку виджета, после загрузки виджета передаёт значение в переменную, которую мы ждём в promise.
Вставляем строку кода (в конец кода виджета):
Блок кода ({ isLoaded: function(){ return loadedPromise } })
promise отрабатывает и мы передаём его успешное выполнение во внутреннюю функцию, которую вызываем в отдельном блоке.