Barista: [Gráfico] Problemas de desplazamiento con datos en vivo

Creado en 6 ago. 2020  ·  4Comentarios  ·  Fuente: dynatrace-oss/barista

Informe de error

Comportamiento esperado

El desplazamiento no debe verse afectado por el gráfico en vivo.

Comportamiento actual

El gráfico de barras con datos en vivo crea problemas con el desplazamiento.

Pasos para reproducir

Versiones utilizadas:

  • mecanografiado : 3.8.3
  • @ angular / cdk : 9.2.4
  • @ dynatrace / barista-components : 7.6.0

Archivos adjuntos

scroll-bug

P4 bug needs discussion

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.

Todos 4 comentarios

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

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

beeme1mr picture beeme1mr  ·  7Comentarios

lukasholzer picture lukasholzer  ·  8Comentarios

ffriedl89 picture ffriedl89  ·  8Comentarios

subarroca picture subarroca  ·  14Comentarios

tomheller picture tomheller  ·  4Comentarios