El desplazamiento no debe verse afectado por el gráfico en vivo.
El gráfico de barras con datos en vivo crea problemas con el desplazamiento.
Esto probablemente esté nuevamente relacionado con las cosas descritas en el n. ° 1410.
Cuando se configuran los datos de la serie, se llama a la función de actualización de gráficos:
https://github.com/dynatrace-oss/barista/blob/24647e8c15b388cd128ba102fe9f6cf1ffbb4620/libs/barista-components/chart/src/chart.ts#L232 -L236
En esta función de actualización, necesitamos destruir el objeto gráfico actual y reinstalarlo nuevamente. Highcharts tiene una función de actualización, aunque esto no permitirá que el consumidor actualice todas las propiedades de la serie o las opciones del gráfico. Esto ha provocado problemas en el pasado, por lo que implementamos la funcionalidad de creación de instancias en 6df1df81f9f935e6185505757893b4a4ba965099.
Antes del cambio, la función de actualización se veía así, donde la nueva serie y las opciones se pasaban a la función Highcharts.update
.
https://github.com/dynatrace-oss/barista/blob/dd7fa6f35daa06593081a9700c74fe50757f77ef/src/lib/chart/chart.ts#L543 -L553
Durante un breve período de tiempo durante su reconstrucción, el elemento del gráfico tendrá una altura de 0, lo que provoca el desplazamiento.
@TannerGilbert como solución alternativa, esto se puede eludir estableciendo una altura en el contenedor o en el gráfico para evitar el reflujo:
https://stackblitz.com/edit/scroll-bug-mvactj?file=src%2Fapp%2Fapp.component.scss
@ ffriedl89 @lukasholzer Una solución a este problema sería leer la altura actual del gráfico en el método de actualización y configurarlo en el elemento host, y eliminarlo nuevamente después de la actualización. Pero me temo que esto podría causar algunos efectos secundarios. ¿Qué piensas?
Sí, con respecto a los efectos secundarios, no estoy seguro, ya que siempre buscamos this._chart._afterRender
por ejemplo, en el área de selección (Este Asunto debe activarse) después de restablecer la altura.
Creo que el mejor enfoque sería probarlo para obtener información sobre cómo mejora.
@TannerGilbert ¿quieres contribuir con esta corrección a la biblioteca? Seguro que podemos ayudarlo incluso con una sesión de programación en pareja.
@lukasholzer Me gustaría ayudar a corregir el error, pero mi conocimiento de la base de código de barista y highcharts es bastante limitado. Además, la sesión de programación en pareja me suena bien. Quizás hablemos de un momento para entrar en Slack.
Trasladado al seguimiento de problemas internos
Comentario más útil
@lukasholzer Me gustaría ayudar a corregir el error, pero mi conocimiento de la base de código de barista y highcharts es bastante limitado. Además, la sesión de programación en pareja me suena bien. Quizás hablemos de un momento para entrar en Slack.