Barista: [Bagan] Masalah bergulir dengan data langsung

Dibuat pada 6 Agu 2020  ·  4Komentar  ·  Sumber: dynatrace-oss/barista

Laporan Bug

Perilaku yang Diharapkan

Pengguliran tidak boleh dipengaruhi oleh grafik langsung.

Perilaku Saat Ini

Bagan Batang dengan data langsung menimbulkan masalah dengan pengguliran.

Langkah-langkah untuk Reproduksi

Versi yang Digunakan:

  • naskah :3.8.3
  • @sudut/cdk : 9.2.4
  • @dynatrace/barista-components : 7.6.0

lampiran

scroll-bug

P4 bug needs discussion

Komentar yang paling membantu

@lukasholzer Saya ingin membantu memperbaiki bug, tetapi pengetahuan saya tentang basis kode barista dan grafik tinggi sangat terbatas. Juga sesi pemrograman pasangan terdengar bagus untuk saya. Mungkin mari kita bahas waktu untuk masuk ke Slack.

Semua 4 komentar

Ini mungkin sekali lagi terkait dengan hal-hal yang diuraikan dalam #1410.

Saat data seri sedang diatur, fungsi pembaruan bagan disebut:
https://github.com/dynatrace-oss/barista/blob/24647e8c15b388cd128ba102fe9f6cf1ffbb4620/libs/barista-components/chart/src/chart.ts#L232 -L236

Dalam fungsi pembaruan ini, kita perlu menghancurkan objek bagan saat ini dan mengaktifkannya kembali. Highcharts memiliki fungsi pembaruan, meskipun ini tidak akan membiarkan konsumen memperbarui semua properti seri atau opsi bagan. Hal ini telah menyebabkan masalah di masa lalu, itulah sebabnya kami menerapkan fungsi re-instansiasi di 6df1df81f9f935e6185505757893b4a4ba965099.

Sebelum perubahan, fungsi pembaruan terlihat seperti ini, di mana rangkaian dan opsi baru diteruskan ke fungsi Highcharts.update .
https://github.com/dynatrace-oss/barista/blob/dd7fa6f35daa06593081a9700c74fe50757f77ef/src/lib/chart/chart.ts#L543 -L553

Untuk periode waktu yang singkat selama rekonstruksi, elemen bagan akan memiliki ketinggian 0, yang menyebabkan pengguliran ulang.
@TannerGilbert sebagai solusi, ini dapat dielakkan dengan mengatur ketinggian pada wadah atau bagan itu sendiri untuk mencegah reflow:
https://stackblitz.com/edit/scroll-bug-mvactj?file=src%2Fapp%2Fapp.component.scss

@ffriedl89 @lukasholzer Salah satu solusi untuk masalah ini adalah dengan membaca tinggi grafik saat ini dalam metode pembaruan dan menyetelnya ke elemen host, dan menghapusnya lagi setelah pembaruan. Tapi saya khawatir ini bisa menyebabkan beberapa efek samping. Bagaimana menurut anda?

Ya mengenai efek sampingnya saya tidak yakin karena kami selalu memeriksa this._chart._afterRender misalnya di area pemilihan (Subjek ini harus dipicu) setelah mengatur ulang ketinggian.

Saya pikir pendekatan terbaik adalah mengujinya untuk mendapatkan wawasan tentang bagaimana hal itu meningkat.

@TannerGilbert apakah Anda ingin menyumbangkan perbaikan ini ke perpustakaan? Pasti kami dapat membantu Anda bahkan dengan sesi pemrograman berpasangan.

@lukasholzer Saya ingin membantu memperbaiki bug, tetapi pengetahuan saya tentang basis kode barista dan grafik tinggi sangat terbatas. Juga sesi pemrograman pasangan terdengar bagus untuk saya. Mungkin mari kita bahas waktu untuk masuk ke Slack.

Dipindahkan ke pelacakan masalah internal

Apakah halaman ini membantu?
0 / 5 - 0 peringkat