Barista: [الرسم البياني] مشاكل التمرير مع البيانات الحية

تم إنشاؤها على ٦ أغسطس ٢٠٢٠  ·  4تعليقات  ·  مصدر: dynatrace-oss/barista

تقرير الشوائب

سلوك متوقع

يجب ألا يتأثر التمرير بالرسم البياني المباشر.

السلوك الحالي

المخطط الشريطي مع البيانات الحية يخلق مشاكل في التمرير.

خطوات التكاثر

الإصدارات المستخدمة:

  • مطبوعة : 3.8.3
  • @ الزاوي / cdk : 9.2.4
  • @ dynatrace / باريستا المكونات : 7.6.0

المرفقات

scroll-bug

P4 bug needs discussion

التعليق الأكثر فائدة

lukasholzer أود المساعدة في إصلاح الخطأ ، لكن معرفتي بقاعدة كود باريستا والرسوم البيانية العالية محدودة للغاية. كما تبدو جلسة البرمجة الزوجية جيدة بالنسبة لي. ربما دعونا نناقش وقتًا في Slack.

ال 4 كومينتر

من المحتمل أن يكون هذا مرتبطًا مرة أخرى بالأشياء الموضحة في # 1410.

عندما يتم تعيين بيانات السلسلة ، يتم استدعاء وظيفة تحديث الرسوم البيانية:
https://github.com/dynatrace-oss/barista/blob/24647e8c15b388cd128ba102fe9f6cf1ffbb4620/libs/barista-components/chart/src/chart.ts#L232 -L236

في وظيفة التحديث هذه ، نحتاج إلى تدمير كائن المخطط الحالي وإعادة تثبيته مرة أخرى. تحتوي Highcharts على وظيفة تحديث ، على الرغم من أن هذا لن يسمح للمستهلك بتحديث جميع خصائص السلسلة أو خيارات الرسم البياني. لقد أدى ذلك إلى حدوث مشكلات في الماضي ، ولهذا السبب قمنا بتنفيذ وظيفة إعادة إنشاء مثيل في 6df1df81f9f935e6185505757893b4a4ba965099.

قبل التغيير ، بدت وظيفة التحديث على هذا النحو ، حيث تم تمرير السلسلة والخيارات الجديدة إلى الوظيفة Highcharts.update .
https://github.com/dynatrace-oss/barista/blob/dd7fa6f35daa06593081a9700c74fe50757f77ef/src/lib/chart/chart.ts#L543 -L553

لفترة وجيزة من الوقت أثناء إعادة بنائه ، سيكون ارتفاع عنصر المخطط 0 ، مما يؤدي إلى إعادة التسجيل.
TannerGilbert كحل بديل ، يمكن التحايل على ذلك عن طريق تعيين ارتفاع على الحاوية أو الرسم البياني نفسه لمنع إعادة التدفق:
https://stackblitz.com/edit/scroll-bug-mvactj؟file=src٪2Fapp٪2Fapp.component.scss

@ ffriedl89lukasholzer سيكون أحد الحلول لهذه المشكلة هو قراءة الارتفاع الحالي للمخطط في طريقة التحديث

نعم فيما يتعلق بالآثار الجانبية ، لست متأكدًا لأننا دائمًا نتحقق من this._chart._afterRender على سبيل المثال في منطقة التحديد (يجب تشغيل هذا الموضوع) بعد إعادة تعيين الارتفاع.

أعتقد أن أفضل نهج هو اختباره لاكتساب رؤى حول كيفية تحسينه.

TannerGilbert هل تريد المساهمة بهذا الإصلاح في المكتبة؟ بالتأكيد يمكننا مساعدتك حتى في جلسة برمجة زوجية.

lukasholzer أود المساعدة في إصلاح الخطأ ، لكن معرفتي بقاعدة كود باريستا والرسوم البيانية العالية محدودة للغاية. كما تبدو جلسة البرمجة الزوجية جيدة بالنسبة لي. ربما دعونا نناقش وقتًا في Slack.

انتقل إلى تتبع المشكلة الداخلية

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

schobocop picture schobocop  ·  13تعليقات

Sherif-Elhefnawy picture Sherif-Elhefnawy  ·  3تعليقات

bradking1329 picture bradking1329  ·  3تعليقات

ffriedl89 picture ffriedl89  ·  8تعليقات

tomheller picture tomheller  ·  21تعليقات