تطوير الإضافات - طريقة أفضل لجلب البيانات لنموذج وإعادة عرض الأداة؟

أهلاً بالجميع!

أنا في منتصف تطوير إضافة تحاول تحميل الصفحات التي تم ربطها بروابط ويكي كمرجعيات مرتبطة.

لدي تطبيق أساسي يعمل، لكنني لا أحب كيف يبدو التصميم حاليًا وأردت أن أرى ما إذا كانت هناك واجهات برمجة تطبيقات (APIs) أفتقدها قد تساعد في جعل هذا الأمر أكثر سلاسة.

هذا هو منهجي الحالي: discourse-wikilinks/assets/javascripts/initializers/wikilinks-init.js at main · dvargas92495/discourse-wikilinks · GitHub

باختصار:

  • استخدم api.reopenWidget على عنصر واجهة المستخدم post-links لتجاوز طريقة html.
  • عند العرض الأول لعنصر واجهة المستخدم، قم بجلب عنوان الموضوع ثم ابحث عن المواضيع التي تحتوي على [[العنوان]] في عنوانها.
  • بعد الجلب، قم بجدولة إعادة عرض مع بيانات الاستجابة، باستخدام علامة للتأكد من أننا لن نجلب بشكل لا نهائي عند العرض التالي.

هذا النهج دون المستوى الأمثل لأنه:

  • يوجد تأخير بين العرض الأولي ووقت عرض بقية البيانات.
  • العلامة التي تمنع الجلب اللانهائي تبدو عرضة للخطأ في المستقبل.
  • أحتاج إلى إجراء استدعاءين لواجهة برمجة التطبيقات، أحدهما لجلب عنوان الموضوع (الذي يجب أن يكون متاحًا أعلى في شجرة عناصر واجهة المستخدم) ثم استدعاء آخر للروابط.
  • يجب علي نسخ ولصق طريقة عنصر واجهة المستخدم html الأصلية في رمز إضافتي، مما يجعله عرضة للانقسام.

أي أفكار حول كيفية تخفيف هذه المشكلات؟ بشكل مثالي، أود تعديل استدعاء loadTopicView الأصلي لتضمين روابط الويكي.

هل تقدم ديسكورس أو أي شخص في المجتمع مكالمات استشارية؟ أود أن أدفع مقابل مكالمة مع خبير ليقدم لي نظرة معمقة على كل ما يتعلق ببنية ديسكورس والإضافات المتاحة. لقد اطلعت بالفعل على معظم وثائق التطوير وتجولت في قاعدة التعليمات البرمجية كثيرًا.