Иногда превью дашборда не отображается в меню выбора дашборда. Это связано с тем, что картинка виджета не успевает загрузиться, перед тем как вызывается функция прорисовки.
Все операции производим в коде виджета.
Создаём переменную и 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 } }
Вставляем строку кода (в конец кода виджета):
({ isLoaded: function(){ return loadedPromise } })