Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 4 Следующий »

Иногда превью дашборда не отображается в меню выбора дашборда. Это связано с тем, что виджет не успевает прорисоваться, перед тем как сохраняется 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 отрабатывает и мы передаём его успешное выполнение во внутреннюю функцию, которую вызываем в отдельном блоке.

При использовании другой библиотеки, отличной от highcharts, можно использовать timeout вместо метода “load”

  • Нет меток