A rolagem não deve ser influenciada pelo gráfico ao vivo.
O gráfico de barras com dados ativos cria problemas de rolagem.
Isso provavelmente está novamente relacionado às coisas descritas em # 1410.
Quando os dados da série estão sendo configurados, a função de atualização de gráficos é chamada:
https://github.com/dynatrace-oss/barista/blob/24647e8c15b388cd128ba102fe9f6cf1ffbb4620/libs/barista-components/chart/src/chart.ts#L232 -L236
Nesta função de atualização, precisamos destruir o objeto gráfico atual e restabelecê-lo novamente. Highcharts tem uma função de atualização, embora isso não permita que o consumidor atualize todas as propriedades da série ou opções de gráfico. Isso tem causado problemas no passado, e é por isso que implementamos a funcionalidade de reinstanciação em 6df1df81f9f935e6185505757893b4a4ba965099.
Antes da mudança, a função de atualização se parecia com isto, onde a nova série e opções eram passadas para a função Highcharts.update
.
https://github.com/dynatrace-oss/barista/blob/dd7fa6f35daa06593081a9700c74fe50757f77ef/src/lib/chart/chart.ts#L543 -L553
Por um breve período de tempo durante sua reconstrução, o elemento do gráfico terá uma altura de 0, o que causa a nova rolagem.
@TannerGilbert como uma solução alternativa, isso pode ser contornado definindo uma altura no contêiner ou no próprio gráfico para evitar o refluxo:
https://stackblitz.com/edit/scroll-bug-mvactj?file=src%2Fapp%2Fapp.component.scss
@ ffriedl89 @lukasholzer Uma solução para este problema seria ler a altura atual do gráfico no método de atualização e configurá-lo no elemento host e removê-lo novamente após a atualização. Mas temo que isso possa causar alguns efeitos colaterais. O que você acha?
Sim, em relação aos efeitos colaterais, não tenho certeza, pois sempre verificamos this._chart._afterRender
por exemplo na área de seleção (Este assunto deve ser acionado) após redefinir a altura.
Acho que a melhor abordagem seria testá-lo para obter insights sobre como ele melhora.
@TannerGilbert você deseja contribuir com esta correção para a biblioteca? Com certeza podemos ajudá-lo mesmo com uma sessão de programação em pares.
@lukasholzer Eu gostaria de ajudar a consertar o bug, mas meu conhecimento sobre a base de código e os
Movido para rastreamento de problemas internos
Comentários muito úteis
@lukasholzer Eu gostaria de ajudar a consertar o bug, mas meu conhecimento sobre a base de código e os