لدينا مشكلة في علامات الأحداث المخصصة والمحرر الجديد ProseMirror WYSIWYG: الحقول المخصصة المملوءة من نموذج الحدث غير موجودة في السلسلة التي تم إنشاؤها. لا يزال يعمل كما كان من قبل مع محرر markdown.
خطوات التكرار:
تمكين إضافة Discourse Calendar
إضافة حقل مخصص واحد في تكوين الإضافة
فتح نموذج لمنشور جديد
تحديد محرر ProseMirror
إنشاء حدث بقيمة للحقل المخصص (خيارات > إنشاء حدث)
التحقق من صحة الحدث
التبديل إلى محرر Markdown
ما يحدث
الحقل المخصص غائب عن علامة [event].
ما هو متوقع
يجب أن يكون الحقل المخصص موجودًا في علامة [event].
ملاحظات
عند القيام بنفس الشيء ولكن البدء بمحرر Markdown بدلاً من ProseMirror، يكون الحقل المخصص موجودًا في علامة [event].
لا يمكنني العثور على مكون إضافي آخر بنفس الميزة، لذا من الصعب معرفة الخطأ.
عند التحقق من صحة النموذج، فإنه يستدعي this.args.model.toolbarEvent.addText() بالنص الصحيح.
بعض console.log(TM) تقودني إلى: text-manipulation.js#addText() حيث يتم استدعاء this.convertFromMarkdown(text). يبدو أن المشكلة تأتي من هنا: هناك نوع من المخطط يتم فرضه، ولا يحتوي على الحقول المخصصة.
تأتي المشكلة من إضافة المحرر discourse-calendar/assets/javascripts/discourse/pre-initializers/rich-editor-extension.js: يتم تعريف قائمة السمات التي تستخدمها convertFromMarkdown() في الثابت EVENT_ATTRIBUTES. يعمل هذا عند إضافة الحقل المخصص إلى القائمة.
لا يوجد شيء عن الحقول المخصصة في هذا الملف؛ ليس لدي فكرة عن كيفية إكمال هذا الثابت بجميع الحقول المخصصة؛ يبدو أن الإضافة يتم تسجيلها مبكرًا في العملية.
نرحب بأي فكرة، فهذا يجعل المكون الإضافي غير قابل للاستخدام مع المحرر الجديد الذي لا يمكن تعطيله، لذلك نحن عالقون مع Discourse 3.4.