2010-06-07 12 views
5

Ho visto sempre più siti Web che offre un'opzione di annullamento dopo aver premuto un pulsante di eliminazione. Come si svolge la logica dietro al pulsante?"Annullare elimina" in webapplication?

L'elemento eliminato da javascript e "dissapears" dalla schermata degli utenti e una cancellazione pianificata aggiunta, che dà all'utente il tempo di annullarlo o come funziona?

Quali sono le altre opzioni per offrire agli utenti una funzionalità di annullamento?

risposta

11

Questo dipende molto dalla struttura dell'applicazione.

Un modo comune è quello di non eliminare un record/un elemento, ma contrassegnarlo come cancellato internamente (utilizzando una colonna booleana), escludendolo da tutte le query e gli elenchi.

Se si dispone di una struttura di nodi, è possibile spostare un elemento in un nodo "cestino" da cui può essere ripristinato nella posizione originale.

In entrambe le varianti, gli elementi eliminati sarebbe stata pulita fuori di tanto in tanto - sia in base al tempo (cancellare dopo 3 settimane) o il volume

+0

Ciao Pekka, grazie mille per la tua risposta! Soluzione semplice e facile! Grandi cose – Industrial

4
(tenere max 50 elementi eliminati, quindi avviare l'eliminazione di quelle più vecchie..)

In HTML5 ci sarà un Undo implementation!

Tuttavia, come ha detto Pekka, l'applicazione deve tenere traccia di ciò che viene fatto per "annullarlo". Una soluzione tecnica è, per salvare le revisioni di un documento o di dati. Quindi, quando un utente vuole annullare qualcosa, viene caricata solo la revisione precedente .

+0

Sembra che la funzione "annulla" HTML5 (qualunque cosa significhi) sia stata interrotta e/o il collegamento stesso non sia più rilevante. Il salvataggio delle revisioni ha senso per annullare una modifica, ma non aiuta con le eliminazioni. –

+0

@WesleyMurch A meno che non si effettui "cancella" un tipo di modifica. – Nicole

5

Sono d'accordo con Pekka, ma suggerisco inoltre di rendere la colonna in questione un campo datetime, in contrapposizione a booleano (chiamalo "cancellato su" o qualcosa del genere).

Ciò consentirebbe facilmente la funzionalità "elimina dopo le settimane", oltre a consentire di "annullare" anziché semplicemente "annullare l'annullamento".

+0

Sì! Buona idea. L'abbiamo appena implementato. Molte grazie! – Industrial