Data and layout changes are lost while the plot is initializing
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 76/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- angular, typescript
- Domínio
- frontend
Direção de pesquisa
Comece por PlotlyComponent.ngDoCheck e pelo caminho de inicialização que chama Plotly.newPlot; a issue identifica o diff consumido e a atualização ausente enquanto plotlyInstance está undefined. Rastreie como a inicialização é resolvida e como as atualizações são aplicadas; em seguida, adicione testes para os casos em que os dados ou o layout mudam antes de newPlot ser resolvido. O objetivo é que o gráfico exiba as entradas mais recentes após a inicialização, sem precisar de outra alteração.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description
PlotlyComponent drops [data] and [layout] changes that arrive before Plotly.newPlot resolves. The chart keeps showing the initial input until another change happens later.
The window is easy to hit with PlotlyViaCDNModule or PlotlyViaWindowModule, where newPlot waits for plotly.js to load, and with traces whose newPlot is asynchronous. A typical case is a chart that starts with [data]="[]" and receives data from an HTTP request that completes before plotly.js finishes loading.
Cause
ngDoCheck detects the change, which consumes the differ's diff, but only calls updatePlot() when plotlyInstance is set. During initialization plotlyInstance is still undefined, so the update is skipped. newPlot was already called with the old input, so the newer input is never drawn.
Steps to reproduce
- Load plotly.js through
PlotlyViaCDNModule. - Render
<plotly-plot [data]="data"></plotly-plot>withdata = []. - Set
datato a new array before the CDN script finishes loading (for example, from a fast HTTP response or asetTimeout(..., 0)).
Expected: the chart shows the new data.
Actual: the chart stays empty until data or layout changes again.
Affected versions
v20, v21, and master (same code in ngDoCheck).
- Linguagem predominante
- TypeScript
- Estrelas
- 242
- Forks
- 81
- Merge médio
- 23h 52min
- PRs com merge (30d)
- 5
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de plotly/angular-plotly.js
-
Feature request: please add migration guideTalvez já em andamento @andrefarzat assumiu há 21 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 45/100
plotly/angular-plotly.js#285 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
event handlers are not typedTalvez já em andamento @andrefarzat assumiu há 21 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
plotly/angular-plotly.js#283 ·
Mantenedores costumam responder em até 1 dia
-
Angular 20 standalone applicationTalvez já em andamento @andrefarzat assumiu há 21 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 35/100
plotly/angular-plotly.js#281 · 8 comentários · 2 reações ·
Mantenedores costumam responder em até 1 dia
-
Angular 19 specs won't runAberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 25/100
plotly/angular-plotly.js#278 · 2 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
plotly/angular-plotly.js#276 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de plotly/angular-plotly.js
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
caprover/caprover-frontend#273 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
ai-driven-dev/framework#1147 ·
Mantenedores costumam responder em até 1 dia
-
agent-ui bug p2
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
amd/gaia#6580 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
cybersemics/em#6232 ·
Mantenedores costumam responder em até 1 dia