Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Информация

Иногда превью дашборда не отображается в меню выбора дашборда. Это связано с тем, что картинка виджета виджет не успевает загрузитьсяпрорисоваться, перед тем как вызывается функция прорисовкисохраняется preview.

Все операции производим в коде виджета.

  1. Создаём переменную и promise (в начале кода виджета).

    Блок кода
    var loadHandler = null;
    var loadedPromise = new Promise((resolve,reject)=>{
                // resolve();//вызвать когда виджет отрисовался
                loadHandler = resolve;
            });
  2. Добавить в объект виджета highcharts строку(подробно: https://api.highcharts.com/highcharts/chart.events.load ):

    Блок кода
    chart: {
            events: {
                load: loadHandler
            }
        }

    Метод “load” отслеживает загрузку виджета, после загрузки виджета передаёт значение в переменную, которую мы ждём в promise.

  3. Вставляем строку кода (в конец кода виджета):

    Блок кода
    ({
        isLoaded: function(){
            return loadedPromise
        }
    })

promise отрабатывает и мы передаём его успешное выполнение во внутреннюю функцию, которую вызываем в отдельном блоке.