| Zusammenfassung | Eine lightweight Theme-Komponente, die vor dem Löschen eines Beitrags eine Bestätigung einholt | |
| Repository | GitHub - scavin/discourse-confirm-delete · GitHub | |
| Installationsanleitung | Wie man ein Theme oder eine Theme-Komponente installiert | |
| Neu bei Discourse-Themes? | Einsteigerleitfaden für die Nutzung von Discourse-Themes |
Diese Theme-Komponente installieren
Ich teile eine kleine Theme-Komponente, die vor dem Löschen eines Beitrags einen Bestätigungsschritt hinzufügt.
Standardmäßig führt das Klicken auf die Löschen-Schaltfläche sofort die Standardlöschaktion von Discourse aus. Diese Komponente zeigt zuerst den nativen Gefahrenbestätigungsdialog von Discourse an, um versehentliches Löschen zu verhindern.
Was macht es?
Wenn ein Benutzer auf die Löschen-Schaltfläche eines Beitrags klickt, zeigt die Komponente einen Bestätigungsdialog an:
Beitrag löschen
Möchten Sie diesen Beitrag wirklich löschen?
Die verfügbaren Aktionen sind:
- Abbrechen — schließt den Dialog, ohne etwas zu tun
- Löschen — führt die ursprüngliche Löschaktion von Discourse fort
Hauptmerkmale
Verwendet die native Dialog-UI von Discourse
Verwendet eine rote Löschschaltfläche im Gefahrenstil
Bewahrt das ursprüngliche Löschverhalten von Discourse bei
Ändert keine Berechtigungsprüfungen
Modifiziert nicht den Discourse-Core
Kein Plugin erforderlich
Kein jQuery oder window.confirm()
Keine DOM-Klicksimulation
Funktioniert auf Desktop und Mobilgeräten
Englisch- und Vereinfachtes-Chinesisch-Übersetzungen
Andere Sprachen fallen auf Englisch zurück
Administratoren können den Text über Theme-Übersetzungen überschreiben
Wie es funktioniert
Die Komponente verwendet die offiziellen Discourse-Frontend-APIs:
apiInitializer- den Wertetransformer
post-menu-buttons - den integrierten Dienst
dialog.deleteConfirm()
Sie ersetzt die Löschen-Schaltfläche im Beitragsmenü durch eine kleine Wrapper-Komponente. Nach der Bestätigung ruft der Wrapper die ursprüngliche deletePost-Aktion auf.
Das bedeutet, dass die Komponente das Löschen nicht neu implementiert, keine eigenen API-Anfragen stellt und die bestehende Autorisierungslogik von Discourse nicht umgeht.
Nach der Installation:
- Öffne die Komponente unter Admin → Anpassen → Themes
- Füge sie den Themes hinzu, in denen sie aktiviert werden soll
- Aktualisiere die Themen-Seite
- Klicke auf die Löschen-Schaltfläche eines Beitrags, um den Bestätigungsdialog zu testen
Übersetzungen
Die Komponente enthält derzeit:
- Englisch (
en) - Vereinfachtes Chinesisch (
zh_CN)
Der Dialogtitel, die Nachricht, die Abbrechen- und die Löschen-Schaltfläche verwenden alle Theme-Übersetzungsschlüssel. Weitere Übersetzungen sind willkommen.
Kompatibilität
Entwickelt für aktuelle Discourse-Versionen, die das moderne Glimmer-Beitragsmenü und die Plugin-API verwenden.
Ich hoffe, diese kleine Komponente hilft, versehentliches Löschen von Beiträgen zu verhindern. Feedback, Fehlerberichte, Übersetzungen und Vorschläge sind willkommen! ![]()
