Highcharts: Erro ao renderizar gráficos de pizza vazios após atualizar para 8.1.1

Criado em 14 jun. 2020  ·  22Comentários  ·  Fonte: highcharts/highcharts

Comportamento esperado

Um gráfico de pizza vazio é renderizado sem erros.

Comportamento real

Um erro aparece:
ReferenceError: Highcharts is not defined
https://github.com/highcharts/highcharts/blob/decfc3ab47ec88e28472f065fd2454b46c9f1fd1/js/parts/PieSeries.js#L789

Demonstração ao vivo com etapas para reproduzir

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

Versão do produto

8.1.1

Navegadores afetados

Tudo

Done Regression

Comentários muito úteis

Confirme que isso ainda é um problema para mim em 8.1.2

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

Todos 22 comentários

Todos os gráficos de pizza dinâmicos que são inicializados vazios e preenchidos posteriormente com dados, de forma assíncrona, são quebrados pela atualização de 8.1.0 para 8.1.1

Olá @pablolmedorado e @clemeno
Obrigado por relatar o problema!

Parece que o problema é apenas com a versão mais recente e está relacionado com todos os wrappers. Na verdade, ele já está corrigido no branch master , porque depois de colocar a compilação mais recente de master no exemplo codesandbox e substituir as versões Highcharts, parece que o problema desaparece.
Em suma, precisamos lançar uma nova versão nos próximos dias, e esse problema será resolvido automaticamente.

Exemplo ao vivo: https://codesandbox.io/s/highcharts-vue-demo-61e0v

Atenciosamente!

Esse problema parece ainda estar presente na versão lançada do 8.1.2, pelo menos na publicada para o npm.

Problema de reabertura.

@ bre1470 - você poderia verificar? # 13681 está fechado, mas parece que Highcharts namespace também é usado no núcleo, não apenas em módulos. Demo: https://codesandbox.io/s/highcharts-vue-demo-5o9qu?file=/package.json

Confirme que isso ainda é um problema para mim em 8.1.2

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

Em dois cenários é reproduzido:

  1. Quando series.data está em branco
  2. Quando todo o eixo y nos dados é 0

Estou curioso sobre as soluções alternativas até que uma solução seja encontrada. Usando o link repro de @pawelfus e modificando a versão dos highcharts para 8.1.0 _aparece_ para corrigir esse problema. Esta é a solução alternativa sugerida por enquanto?

Estou curioso sobre as soluções alternativas até que uma solução seja encontrada. Usando o link repro de @pawelfus e modificando a versão dos highcharts para 8.1.0 _aparece_ para corrigir esse problema. Esta é a solução alternativa sugerida por enquanto?

Em nosso caso, o problema foi desencadeado pela criação de um gráfico sem dados e, em seguida, pela adição dos dados posteriormente. Acontece que tínhamos os dados já naquele ponto, e assim pudemos criar o gráfico com os dados, evitando assim o problema. Se essa é uma opção para você, vale a pena dar uma olhada.

@kennyjwilli Se houver mudanças desde 8.1.0 que você deseja aproveitar, você também pode envolver o método drawEmpty assim:

// 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);

Exemplo de trabalho em codesandbox.io

Caso contrário, sugerimos usar 8.1.0 por agora.

Acho que a correção # 13770 não aborda # 13722

Forneceram uma demonstração para reproduzir o problema em # 13722
A linha a seguir é a origem desse problema.
https://github.com/highcharts/highcharts/blob/c7e1976467a3b0e1620d44a414af2470716732b9/js/parts/ColumnSeries.js#L571

Isso ainda está acontecendo comigo no 2.7.0

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

Olá @Crocsx - esta correção não foi lançada. O próximo lançamento está agendado para o próximo mês. Por enquanto, você precisa fazer o downgrade ou usar o workaorund postado aqui: https://github.com/highcharts/highcharts/issues/13710#issuecomment -650014654

PS: a versão atual do Highcharts é v8.1.2

ah certo, desculpe, confundi com a atualização highchart-angular, não vi que esse highchart ainda estava em 8.1.2, desculpe

Olá @Crocsx - esta correção não foi lançada. O próximo lançamento está agendado para o próximo mês. Por enquanto, você precisa fazer o downgrade ou usar o workaorund postado aqui: # 13710 (comentário)

PS: a versão atual do Highcharts é v8.1.2

@pawelfus , você tem uma data para o próximo lançamento?

Visamos na próxima semana

Eu encontrei um problema semelhante. Depois de clicar na legenda, os outros dados eram 0. Obrigado!
"gráficos altos": "^ 8.2.0",

Olá @ the-gc - Não consigo recriar o problema na v8.2.0, dê uma olhada: https://jsfiddle.net/BlackLabel/ncpL97eq/ - você poderia atualizar minha demonstração? Obrigado!

Posso confirmar que a atualização para highcharts 8.2.0 corrigiu o problema para nós.

Obrigado!

O mesmo aqui, funciona bem

Olá @pawelfus - O projeto foi reconstruído hoje e o problema foi resolvido, muito obrigado!

Obrigado pela confirmação!

Isso estava acontecendo comigo também porque havia várias versões de highcharts em meu arquivo yarn.lock . Depois de consolidar (em 8.2.0), a falha foi embora.

Esta página foi útil?
0 / 5 - 0 avaliações