plotly / plotly/react-plotly.js
`useResizeHandler` does not respond to container layout changes
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- JavaScript
- Estrelas
- 1.1k
- Forks
- 138
- Merge médio
- 3d 2h
- PRs com merge (30d)
- 4
Descrição
Currently, useResizeHandler only responds to window.resize events.
This works when the browser viewport changes, but it does not cover layout changes that resize the plot without resizing the window.
For example, if a page contains a collapsible sidebar and a responsive plot in the same page, toggling the sidebar changes the space available to the plot, but no window.resize event is fired. The plot therefore keeps its previous size until Plotly.Plots.resize() is called manually.
Would it make sense for useResizeHandler to react to changes in the rendered plot element's size instead of only listening to window.resize?
One possible approach would be to use ResizeObserver when available, while keeping the existing window.resize listener as a fallback.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
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.
Direção de pesquisa
Comece pela implementação de useResizeHandler e acompanhe como ela atualmente se inscreve em window.resize. Verifique os testes existentes sobre o tratamento de redimensionamento e, em seguida, confirme que as alterações no elemento de plot renderizado acionam o redimensionamento, enquanto o fallback de window.resize continua funcionando. O trabalho estará concluído quando as alterações em um layout recolhível redimensionarem o plot sem uma chamada manual a Plotly.Plots.resize().
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- javascript, react
- Domínio
- data-visualization, frontend
- Tipo de issue
- Funcionalidade
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Ativa
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 65/100