دعم HTML لمربع حوار

مرحباً،

في صفحة الفئة حيث لا يمكن للمستخدم إنشاء موضوع، أستخدم نص لافتة مع رابط للموضوع حول مستويات الثقة.
Screenshot 2022-12-09 at 9.09.29

يعمل HTML بشكل جيد في اللافتة

ولكن عند النقر على + New Topic، لا تتعامل النافذة المنبثقة مع HTML.

سيكون من الرائع حقًا إذا تمكنت النافذة المنبثقة أيضًا من التعامل مع HTML تمامًا مثل نافذة bootbox المنبثقة التي تم استخدامها سابقًا.

شكراً لك :slightly_smiling_face:

3 إعجابات

قدم @pmusaraj حلاً يدعم محتوى HTML هنا.

4 إعجابات

مرحباً تيم،

شكراً على النصيحة :slightly_smiling_face: لقد قمت بتغيير هذا باستخدام modifyClass ولكن أعتقد أنه سيكون تغييراً معقولاً لجعل هذا الحوار آمنًا لـ HTML في النواة بما أن لافتة الفئة تتعامل أيضاً مع HTML.

import { htmlSafe } from "@ember/template";

export default {
  name: "dialog-html-support",

  initialize() {
    withPluginApi("0.8.7", (api) => {
      api.modifyClass("component:d-navigation", {
        pluginId: "dialog-html-support",

        actions: {
          clickCreateTopicButton() {
            if (this.categoryReadOnlyBanner && !this.hasDraft) {
              this.dialog.alert({
                message: htmlSafe(this.categoryReadOnlyBanner),
              });
            } else {
              this.createTopic();
            }
          },
        },
      });
    });
  },
};
3 إعجابات

مرحباً بالفريق!

الإعداد أدناه، أود أن أطلب خيار استخدام رابط. في حالتي، يمكن للجميع عرض فئة؛ ومع ذلك، تحتاج إلى الانتماء إلى مجموعة لإنشاء مواضيع والرد عليها.

"نص اللافتة عندما لا يتمكن المستخدم من إنشاء موضوع في هذه الفئة: "

لذلك حاولت استخدام نص مثل:

للمشاركة، تحتاج إلى “تطبيق رابط للمجموعة”.

للأسف، هذا الإعداد يدعم النص العادي فقط، ولا يدعم الروابط. هل يمكن للفريق النظر في تغيير ذلك؟

إعجابَين (2)

لقد قمت بنقل منشورك إلى هذا الموضوع للحفاظ على طلبات هذا التغيير معًا. :+1:

إعجابَين (2)

شكراً جيمي دودجر!

في بعض الأحيان قد يكون من الصعب معرفة أفضل مكان لنشر الأشياء. ديسكورس ضخم وهذا ليس بالضرورة أمراً سيئاً؛ ومع ذلك، قد يجعل الأمر مخيفاً في بعض الأحيان بالنسبة لنا نحن الذين ما زلنا جدد نسبياً.

ومع ذلك، هذا هو المكان الذي يكون فيه فريقك الرائع والمجتمع غالباً ما يكونان فعالين في مساعدة الجميع!

إعجابَين (2)

مرحباً دون و @TimJensen هل سيصلح هذا الحل أيضاً تنسيق ماركداون مثل المثال أدناه؟ للاستخدام:

للمشاركة في الفئة، تحتاج إلى [التقديم](/g/groupname/members).

الكود أيضاً، أفترض أنه يحتاج إلى إنشاء مكون سمة (theme-component). في أي قسم أحتاج إلى إدخال هذا؟


تعديل:
هممم.. إضافة ملف جافاسكريبت في الوقت الحالي قد يكون أبعد من مستوى مهارتي الحالي. :sad_but_relieved_face: سأحتاج إلى بعض التوجيه لإنجاز هذا بنجاح.

إعجاب واحد (1)

مرحباً دان،

الشعار يدعم HTML. هذا الموضوع يتعلق بالحوار الذي يظهر عند النقر على زر “إنشاء موضوع”.

لا، إنه يدعم HTML. مثالك سيكون شيئاً كهذا: :arrow_down_small:

للمشاركة في الفئة، تحتاج إلى :a href="/g/groupname/members" :قدم طلبًا :a.

يجب أن يعمل هذا في Header لدعم HTML في الحوار. :slightly_smiling_face:

<script type="text/discourse-plugin" version="0.8">
  const { htmlSafe } = require("@ember/template");

  api.modifyClass("component:d-navigation", {
    pluginId: "dialog-html-support",
        
    actions: {
      clickCreateTopicButton() {
        if (this.categoryReadOnlyBanner && !this.hasDraft) {
          this.dialog.alert({
            message: htmlSafe(this.categoryReadOnlyBanner),
          });
        } else {
          this.createTopic();
        }
      },
    },
  });
</script>
3 إعجابات

رائع، لذا كل ما علي فعله هو استخدام HTML بدلاً من Markdown.

إذًا، هل ستعمل اللافتة إذا حاول شخص ما الرد و/أو إنشاء موضوع جديد ضمن الفئة؟ حيث إذا فهمت بشكل صحيح، فإن طلبك يتعلق بمكون سمة زر الموضوع الجديد؟

باستخدام JavaScript الخاص بك، هل ستقوم فقط بإنشاء مكون سمة جديد وتحميل ملف *.js؟ هل هناك أي شيء آخر مطلوب في أجزاء CSS وما إلى ذلك؟ أم أنها ستعمل ببساطة؟

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

إعجاب واحد (1)

ما عليك سوى إنشاء مكون جديد في لوحة الإدارة ولصق الرمز أعلاه (https://meta.discourse.org/t/dialog-modal-html-support/248361/10?u=dodesz) في قسم Common > Header. سيتيح ذلك التعامل مع HTML في النافذة المنبثقة عند النقر فوق الزر “موضوع جديد”. :slightly_smiling_face:

عرض توضيحي

بدون رمز
كما ترى، فإن اللافتة تدعم HTML ولكن عندما أنقر فوق الزر “موضوع جديد”، فإن النافذة المنبثقة (الحوار) لا تدعمها.


مع رمز


لست متأكدًا مما تقصده بـ :arrow_down_small:

إعجابَين (2)

شكراً لك على شرح مكان إضافة الكود لإصلاح الـ HTML.

في الواقع، الفيديو الأول الخاص بك يجيب على سؤالي بشكل مثالي ويعطيني الوضوح. النص الحواري المسبق قبل زر الرابط هو نفس إجراء الماركداون. (الفيديو الأول يظهره عندما يفشل بدون الكود في مكانه) لقد فاتني أيضاً في مثال الكود الخاص بك :facepalm:

أي

للمشاركة “ماركداون”
للمشاركة “HTML”

شكراً جزيلاً لك على المساعدة في إرشادي

دان

إعجابَين (2)

نعتذر عن التأخير هنا، أيها الزملاء، هذا يجب أن يصلح الأمر: FIX: Allow HTML in category read-only dialog by pmusaraj · Pull Request #20349 · discourse/discourse · GitHub

4 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد يومين. لم يعد يُسمح بالردود الجديدة.