| Résumé | Un composant de thème léger qui demande une confirmation avant de supprimer un message | |
| Dépôt | GitHub - scavin/discourse-confirm-delete · GitHub | |
| Guide d’installation | Comment installer un thème ou un composant de thème | |
| Vous débutez avec les thèmes Discourse ? | Guide pour les débutants sur l’utilisation des thèmes Discourse |
Installer ce composant de thème
Je partage un petit composant de thème qui ajoute une étape de confirmation avant la suppression d’un message.
Par défaut, cliquer sur le bouton de suppression exécute immédiatement l’action de suppression standard de Discourse. Ce composant affiche d’abord la boîte de dialogue de confirmation de danger native de Discourse, aidant ainsi à prévenir les suppressions accidentelles.
Que fait-il ?
Lorsqu’un utilisateur clique sur le bouton Supprimer d’un message, le composant affiche une boîte de dialogue de confirmation :
Supprimer le message
Êtes-vous sûr de vouloir supprimer ce message ?
Les actions disponibles sont :
- Annuler — ferme la boîte de dialogue sans rien faire
- Supprimer — poursuit avec l’action de suppression originale de Discourse
Fonctionnalités clés
Utilise l’interface de dialogue native de Discourse
Utilise un bouton Supprimer de style danger en rouge
Préserve le comportement de suppression original de Discourse
Ne modifie pas les vérifications de permissions
Ne modifie pas le noyau Discourse
Aucun plugin requis
Pas de jQuery ni de window.confirm()
Pas de simulation de clic DOM
Fonctionne sur desktop et mobile
Traductions en anglais et en chinois simplifié
Les autres langues repassent sur l’anglais
Les administrateurs peuvent remplacer le texte via les traductions de thème
Comment ça marche
Le composant utilise les API frontend officielles de Discourse :
apiInitializer- le transformateur de valeur
post-menu-buttons - le service intégré
dialog.deleteConfirm()
Il remplace le composant du bouton Supprimer du menu du message par un petit wrapper. Après confirmation, le wrapper appelle l’action originale deletePost.
Cela signifie que le composant ne réimplémente pas la suppression, ne fait pas sa propre requête API, et ne contourne pas la logique d’autorisation existante de Discourse.
Après l’installation :
- Ouvrez le composant dans Admin → Personnaliser → Thèmes
- Ajoutez-le aux thèmes où il doit être activé
- Rafraîchissez la page du sujet
- Cliquez sur le bouton Supprimer d’un message pour tester la boîte de dialogue de confirmation
Traductions
Le composant inclut actuellement :
- Anglais (
en) - Chinois simplifié (
zh_CN)
Le titre de la boîte de dialogue, le message, le bouton Annuler et le bouton Supprimer utilisent tous des clés de traduction de thème. Les traductions supplémentaires sont les bienvenues.
Compatibilité
Conçu pour les versions actuelles de Discourse utilisant le menu de message Glimmer moderne et l’API Plugin.
J’espère que ce petit composant aidera à prévenir les suppressions accidentelles de messages. Les retours, rapports de bugs, traductions et suggestions sont les bienvenus ! ![]()
