تجاوز ملفات .gjs - غير ممكن؟

مرحباً،

مع تحديث حديث، تعطل أحد مكوناتنا. كان المكون في السابق يوسع زر الاقتباس المضمن الذي كان quote-button.hbs. هذا الملف لم يعد موجودًا - بدلاً من ذلك، تم نقل جميع التعليمات البرمجية إلى ملف gjs post-text-selection-toolbar.gjs وإذا حاولت تجاوزه بالطريقة “القديمة”، فإن المتصفح يشتكي بالرسالة التالية.

component-templates.js:62 [discourse/theme-48/discourse/templates/components/post-text-selection-toolbar] تم تأليف post-text-selection-toolbar باستخدام gjs ولا يمكن تجاوز قالبه. تجاهل التجاوز.

هل هذا يعني أن هذه القطعة من واجهة المستخدم في Discourse يمكن استهدافها فقط بواسطة PluginOutlets المعرفة هناك؟

  <PluginOutlet
                @name="quote-share-buttons-after"
                @connectorTagName="span"
              />

 <PluginOutlet @name="quote-button-after" @connectorTagName="div" />

ماذا لو احتجت إلى مزيد من التحكم في حالة الأزرار والأزرار الجديدة المضافة. أشعر أن هذا يحد من الوظائف.

هل يعرف أي شخص كيفية التعامل مع هذه الحالة؟

3 إعجابات

مرحباً :waving_hand:

أعتقد أن هذا ممكن الآن مع api.renderInOutlet؟

5 إعجابات

مرحباً @Sören_Geier - هذا صحيح، ستحتاج إلى استخدام منافذ الإضافات (plugin outlets) لإجراء تغييرات في هذا الجزء من واجهة المستخدم. منافذ الإضافات هي طريقة أكثر قوة لتوسيع الأشياء، وستكون أكثر موثوقية عبر تحديثات نواة Discourse.

إذا لم تعمل منافذ الإضافات الحالية لحالة استخدامك، فيرجى إخبارنا وسيسعدنا النظر في إضافة منافذ جديدة.

في هذه الحالة، قد تكون مهتمًا بالاقتراح في DEV: Add outlet and API for adding/controlling post selection buttons by keegangeorge · Pull Request #23782 · discourse/discourse · GitHub. يقدم هذا “منفذ إضافة غلاف” (wrapper plugin outlet) والذي سيسمح للسمات/الإضافات باستبدال التنفيذ الأساسي بالكامل إذا احتاجوا لذلك.

هذه طريقة بديلة لعرض الأشياء في منافذ الإضافات (Plugin Outlets)، نعم. لكنها أشبه بأسلوب برمجي - فهي لا تقدم في الواقع أي ميزات جديدة عند مقارنتها بملفات /connectors/....

7 إعجابات