Highcharts: Ошибка отображения пустых круговых диаграмм после обновления до 8.1.1

Созданный на 14 июн. 2020  ·  22Комментарии  ·  Источник: highcharts/highcharts

Ожидаемое поведение

Пустая круговая диаграмма отображается без ошибок.

Фактическое поведение

Появляется ошибка:
ReferenceError: Highcharts is not defined
https://github.com/highcharts/highcharts/blob/decfc3ab47ec88e28472f065fd2454b46c9f1fd1/js/parts/PieSeries.js#L789

Живая демонстрация с инструкциями по воспроизведению

https://codesandbox.io/s/highcharts-vue-demo-ye65e

Версия продукта

8.1.1

Затронутые браузеры

Все

Done Regression

Самый полезный комментарий

Подтвердите, что это все еще проблема для меня в 8.1.2

https://stackblitz.com/edit/angular-ivy-udtk3a?file=package.json

Все 22 Комментарий

Все динамические круговые диаграммы, которые инициализируются пустыми и затем заполняются асинхронно данными, ломаются при обновлении с 8.1.0 до 8.1.1.

Привет @pablolmedorado и @clemeno
Спасибо, что сообщили о проблеме!

Похоже, проблема связана только с последней версией и связана со всеми оболочками. На самом деле это уже исправлено в ветке master , потому что после помещения последней сборки из master в пример codeandbox и замены версий Highcharts, похоже, проблема исчезла.
В общем, нам нужно выпустить новую версию в ближайшие дни, и эта проблема будет автоматически решена.

Живой пример: https://codesandbox.io/s/highcharts-vue-demo-61e0v

С уважением!

Эта проблема, похоже, все еще присутствует в выпущенной версии 8.1.2, по крайней мере, в той, которая была опубликована в npm.

Повторное открытие выпуска.

@ bre1470 - не могли бы вы это проверить? # 13681 закрыт, но кажется, что пространство имен Highcharts используется также в ядре, а не только в модулях. Демо: https://codesandbox.io/s/highcharts-vue-demo-5o9qu?file=/package.json

Подтвердите, что это все еще проблема для меня в 8.1.2

https://stackblitz.com/edit/angular-ivy-udtk3a?file=package.json

В двух сценариях воспроизводится:

  1. Когда series.data пуста
  2. Когда вся ось Y в данных равна 0

Интересно об обходных путях, пока исправление не будет выпущено. Использование репро -ссылки @pawelfus и изменение версии highcharts до 8.1.0 _appears_, чтобы исправить эту проблему. Это предлагаемый обходной путь на данный момент?

Интересно об обходных путях, пока исправление не будет выпущено. Использование репро -ссылки @pawelfus и изменение версии highcharts до 8.1.0 _appears_, чтобы исправить эту проблему. Это предлагаемый обходной путь на данный момент?

В нашем случае проблема была вызвана созданием диаграммы без данных с последующим добавлением данных. Так получилось, что на тот момент у нас уже были данные, и поэтому мы могли создать диаграмму с данными, что позволило избежать проблемы. Если это вариант для вас, стоит посмотреть.

@kennyjwilli Если после drawEmpty следующим образом:

// Workaround for https://github.com/highcharts/highcharts/issues/13710
(function(H) {
  H.seriesTypes.pie.prototype.drawEmpty = function() {
    var centerX,
      centerY,
      start = this.startAngleRad,
      end = this.endAngleRad,
      options = this.options;
    // Draw auxiliary graph if there're no visible points.
    if (this.total === 0) {
      centerX = this.center[0];
      centerY = this.center[1];
      if (!this.graph) {
        this.graph = this.chart.renderer
          .arc(centerX, centerY, this.center[1] / 2, 0, start, end)
          .addClass("highcharts-empty-series")
          .add(this.group);
      }
      this.graph.attr({
        d: H.SVGRenderer.prototype.symbols.arc(
          centerX,
          centerY,
          this.center[2] / 2,
          0,
          {
            start: start,
            end: end,
            innerR: this.center[3] / 2
          }
        )
      });
      if (!this.chart.styledMode) {
        this.graph.attr({
          "stroke-width": options.borderWidth,
          fill: options.fillColor || "none",
          stroke: options.color || "#cccccc"
        });
      }
    } else if (this.graph) {
      // Destroy the graph object.
      this.graph = this.graph.destroy();
    }
  }
})(Highcharts);

Рабочий пример на codeandbox.io

В противном случае мы предлагаем пока использовать 8.1.0.

Угадайте, что исправление №13770 не касается №13722.

Предоставили демонстрацию для воспроизведения проблемы в # 13722
Следующая строка является источником этой проблемы.
https://github.com/highcharts/highcharts/blob/c7e1976467a3b0e1620d44a414af2470716732b9/js/parts/ColumnSeries.js#L571

Это все еще происходит со мной в 2.7.0

https://stackblitz.com/edit/angular-ivy-2zlkmm

Привет @Crocsx - это исправление не выпущено. Следующий выпуск запланирован в следующем месяце. На данный момент вам нужно либо перейти на более раннюю версию, либо использовать workaorund, размещенный здесь: https://github.com/highcharts/highcharts/issues/13710#issuecomment -650014654

PS: Текущая версия Highcharts - v8.1.2.

ах, верно, извините, я перепутал с обновлением highchart-angular, не видел, чтобы этот highchart все еще был в 8.1.2, извините

Привет @Crocsx - это исправление не выпущено. Следующий выпуск запланирован в следующем месяце. На данный момент вам нужно либо перейти на более раннюю версию, либо использовать workaorund, размещенный здесь: # 13710 (комментарий)

PS: Текущая версия Highcharts - v8.1.2.

@pawelfus у вас есть дата следующего выпуска?

Мы нацелены на следующую неделю @felipemfp

Я столкнулся с похожей проблемой. После нажатия на легенду остальные данные были 0. Спасибо!
"highcharts": "^ 8.2.0",

Привет, @ the-gc - я не могу воссоздать проблему в v8.2.0, взгляните: https://jsfiddle.net/BlackLabel/ncpL97eq/ - не могли бы вы обновить мою демонстрацию? Спасибо!

Я могу подтвердить, что обновление до highcharts 8.2.0 устранило проблему для нас.

Спасибо!

То же самое здесь, хорошо работает

Привет @pawelfus - Сегодня проект перестроили и проблема решена, большое спасибо!

Спасибо за подтверждение!

Это происходило и со мной, потому что в моем файле yarn.lock было несколько версий highcharts. После консолидации (на 8.2.0) сбой исчез.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги