Conferma eliminazione post – Aggiungi una finestra di conferma prima di eliminare i post

:information_source: Riepilogo Un componente tema leggero che richiede conferma prima di eliminare un post
:hammer_and_wrench: Repository GitHub - scavin/discourse-confirm-delete · GitHub
:question: Guida all’installazione Come installare un tema o un componente tema
:open_book: Principiante con i temi Discourse? Guida per principianti all’uso dei temi Discourse

Installa questo componente tema

Condivido un piccolo componente tema che aggiunge un passaggio di conferma prima che un post venga eliminato.

Per impostazione predefinita, facendo clic sul pulsante di eliminazione viene eseguita immediatamente l’azione di eliminazione standard di Discourse. Questo componente visualizza prima la finestra di dialogo di conferma di pericolo nativa di Discourse, aiutando a prevenire eliminazioni accidentali.

Cosa fa?

Quando un utente fa clic sul pulsante Elimina su un post, il componente visualizza una finestra di dialogo di conferma:

Elimina post
Sei sicuro di voler eliminare questo post?

Le azioni disponibili sono:

  • Annulla — chiude la finestra di dialogo senza fare nulla
  • Elimina — prosegue con l’azione di eliminazione originale di Discourse

Caratteristiche principali

:white_check_mark: Utilizza l’interfaccia utente della finestra di dialogo nativa di Discourse
:white_check_mark: Utilizza un pulsante Elimina di stile “pericolo” rosso
:white_check_mark: Preserva il comportamento di eliminazione originale di Discourse
:white_check_mark: Non modifica i controlli delle autorizzazioni
:white_check_mark: Non modifica il Core di Discourse
:white_check_mark: Nessun plugin richiesto
:white_check_mark: Nessun jQuery o window.confirm()
:white_check_mark: Nessuna simulazione di clic DOM
:white_check_mark: Funziona su desktop e mobile
:white_check_mark: Traduzioni in inglese e cinese semplificato
:white_check_mark: Le altre lingue ricadono sull’inglese
:white_check_mark: Gli amministratori possono sovrascrivere il testo tramite le traduzioni del tema

Come funziona

Il componente utilizza le API frontend ufficiali di Discourse:

  • apiInitializer
  • il trasformatore di valori post-menu-buttons
  • il servizio integrato dialog.deleteConfirm()

Sostituisce il componente del pulsante Elimina nel menu del post con un piccolo wrapper. Dopo la conferma, il wrapper chiama l’azione originale deletePost.

Questo significa che il componente non reimplementa l’eliminazione, non effettua richieste API proprie e non bypassa la logica di autorizzazione esistente di Discourse.

Dopo l’installazione:

  1. Apri il componente in Amministratore → Personalizza → Temi
  2. Aggiungilo ai temi in cui deve essere abilitato
  3. Aggiorna la pagina dell’argomento
  4. Fai clic sul pulsante Elimina su un post per testare la finestra di dialogo di conferma

Traduzioni

Il componente include attualmente:

  • Inglese (en)
  • Cinese semplificato (zh_CN)

Il titolo della finestra di dialogo, il messaggio, il pulsante Annulla e il pulsante Elimina utilizzano tutti chiavi di traduzione del tema. Accogliamo con piacere ulteriori traduzioni.

Compatibilità

Progettato per le versioni attuali di Discourse che utilizzano il menu dei post Glimmer moderno e l’API Plugin.

Spero che questo piccolo componente aiuti a prevenire l’eliminazione accidentale dei post. Feedback, segnalazioni di bug, traduzioni e suggerimenti sono benvenuti! :slight_smile:

6 Mi Piace