| ملخص | مكون خفيف للمظهر يطلب التأكيد قبل حذف المنشور | |
| مستودع الكود | GitHub - scavin/discourse-confirm-delete · GitHub | |
| دليل التثبيت | كيفية تثبيت مظهر أو مكون مظهر | |
| جديد في مظاهر Discourse؟ | دليل المبتدئين لاستخدام مظاهر Discourse |
تثبيت هذا المكون
أشارك هنا مكون مظهر صغيرًا يضيف خطوة تأكيد قبل حذف المنشور.
بشكل افتراضي، يؤدي النقر على زر الحذف إلى تنفيذ إجراء الحذف القياسي في Discourse فورًا. يعرض هذا المكون مربع حوار التأكيد الأصلي لـ Discourse أولاً، مما يساعد على منع الحذف غير المقصود.
ماذا يفعل؟
عندما ينقر المستخدم على زر حذف في منشور، يعرض المكون مربع حوار للتأكيد:
حذف المنشور
هل أنت متأكد من رغبتك في حذف هذا المنشور؟
الإجراءات المتاحة هي:
- إلغاء — يغلق الحوار دون القيام بأي شيء
- حذف — يستمر في تنفيذ إجراء الحذف الأصلي في Discourse
الميزات الرئيسية
يستخدم واجهة حوار Discourse الأصلية
يستخدم زر حذف أحمر بتنسيق الخطر
يحافظ على سلوك الحذف الأصلي في Discourse
لا يغير عمليات التحقق من الأذونات
لا يعدل نواة Discourse
لا يتطلب إضافة (plugin)
لا يستخدم jQuery أو window.confirm()
لا يحاكي نقرات DOM
يعمل على سطح المكتب والهاتف المحمول
ترجمات للإنجليزية والصينية المبسطة
تعتمد اللغات الأخرى على الإنجليزية
يمكن للمسؤولين تجاوز النصوص عبر ترجمات المظهر
كيف يعمل
يستخدم المكون واجهات برمجة التطبيقات (APIs) الأمامية الرسمية لـ Discourse:
apiInitializer- محوّل القيمة
post-menu-buttons - خدمة
dialog.deleteConfirm()المدمجة
يستبدل مكون زر الحذف في قائمة المنشور بغلاف صغير. بعد التأكيد، يستدعي الغلاف إجراء deletePost الأصلي.
هذا يعني أن المكون لا يعيد تنفيذ الحذف، ولا يقدم طلب API خاص به، ولا يتجاوز منطق التفويض الموجود في Discourse.
بعد التثبيت:
- افتح المكون في الإدارة → تخصيص → المظاهر
- أضفه إلى المظاهر التي يجب تمكينه فيها
- قم بتحديث صفحة الموضوع
- انقر على زر الحذف في منشور لاختبار مربع حوار التأكيد
الترجمات
يشمل المكون حاليًا:
- الإنجليزية (
en) - الصينية المبسطة (
zh_CN)
يستخدم عنوان الحوار، والرسالة، وزر الإلغاء، وزر الحذف جميعًا مفاتيح ترجمة المظهر. نرحب بالترجمات الإضافية.
التوافق
مصمم لإصدارات Discourse الحالية التي تستخدم قائمة المنشورات الحديثة Glimmer وواجهة برمجة التطبيقات للإضافات (Plugin API).
أتمنى أن يساعد هذا المكون الصغير في منع الحذف غير المقصود للمنشورات. نرحب بالتعليقات، وتقارير الأخطاء، والترجمات، والاقتراحات! ![]()
