مرحباً،
متابعة لهذه المشكلة: لقد أنشأت المكون الإضافي minimal-modal-test كما هو مقترح.
-
نجاح: عندما احتوى مكون النافذة المنبثقة للمكون الإضافي للاختبار (
minimal-modal.gjs) على عناصر أساسية فقط (مثل<p>,<textarea>,DModalالأساسي،DButton، وحتى المساعدات المضمنة مثل#ifللكتل الشرطية أوifالمستخدمة لأيقونة زر الإرسال)، فقد تم عرضه بشكل صحيح دون أخطاء عند فتحه عبرmodal.show()الذي تم تشغيله من مكون الزر المضاف عبر محوّل القيمةpost-menu-buttons. يؤكد هذا أن خدمة النافذة المنبثقة الأساسية، وعرض المكون، ومحوّل القيمة، والمساعدات المضمنة تبدو وظيفية بشكل منفصل في بيئتي (Discourse v3.5.0.beta3-dev). -
فشل: الخطأ (
TypeError: userProvidedCallback is undefined/ سابقاًAttempted to use a value as a helper... undefined) يعاود الظهور باستمرار بمجرد إضافة المكون الفرعي<StarRatingInput>مرة أخرى إلى قالب النافذة المنبثقة (minimal-modal.gjsأوfeedback-form-modal.gjs).
لقد تأكدت من أن مكون StarRatingInput نفسه يستخدم الحلول البديلة التي تم تحديدها سابقاً (SVG مضمن بدلاً من مساعد dIcon، دوال سهمية للطرق مثل starClass لإصلاح سياق this، Array.from القياسي في جافاسكريبت بدلاً من مساعد range). يبدو أن الكود الداخلي لـ StarRatingInput صحيح الآن.
يشير هذا إلى أن الخطأ يتم تشغيله بواسطة عرض المكون المتداخل <StarRatingInput> (الذي يحتوي على حلقة #each، وربط الفئات الديناميكية، ومعالجات الأحداث) داخل مكون النافذة المنبثقة الأصل في سياق العرض المحدد هذا.
خطوات لإعادة الإنتاج
-
أنت تقوم بتشغيل أحدث بيئة تطوير Discourse.
-
قم بتسجيل الدخول كمستخدم.
-
انتقل إلى أي موضوع وشاهد المنشور الأول.
-
انقر فوق الزر “Test Failing Modal” المضاف إلى قائمة المنشورات.
-
افتح وحدة تحكم مطوري المتصفح.
النتيجة المتوقعة
يجب أن يظهر مربع حوار بسيط يحتوي على مدخل لتقييم النجوم.
النتيجة الفعلية
فشل عرض النافذة المنبثقة بالكامل. تعرض وحدة تحكم المتصفح خطأ.