Post-Lösung bestätigen – Bestätigungsdialog vor dem Löschen von Beiträgen hinzufügen

:information_source: Zusammenfassung Eine lightweight Theme-Komponente, die vor dem Löschen eines Beitrags eine Bestätigung einholt
:hammer_and_wrench: Repository GitHub - scavin/discourse-confirm-delete · GitHub
:question: Installationsanleitung Wie man ein Theme oder eine Theme-Komponente installiert
:open_book: 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

:white_check_mark: Verwendet die native Dialog-UI von Discourse
:white_check_mark: Verwendet eine rote Löschschaltfläche im Gefahrenstil
:white_check_mark: Bewahrt das ursprüngliche Löschverhalten von Discourse bei
:white_check_mark: Ändert keine Berechtigungsprüfungen
:white_check_mark: Modifiziert nicht den Discourse-Core
:white_check_mark: Kein Plugin erforderlich
:white_check_mark: Kein jQuery oder window.confirm()
:white_check_mark: Keine DOM-Klicksimulation
:white_check_mark: Funktioniert auf Desktop und Mobilgeräten
:white_check_mark: Englisch- und Vereinfachtes-Chinesisch-Übersetzungen
:white_check_mark: Andere Sprachen fallen auf Englisch zurück
:white_check_mark: 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:

  1. Öffne die Komponente unter Admin → Anpassen → Themes
  2. Füge sie den Themes hinzu, in denen sie aktiviert werden soll
  3. Aktualisiere die Themen-Seite
  4. 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! :slight_smile:

6 „Gefällt mir“