Gibt es eine Möglichkeit, drag-and-drop die Reihenfolge der Elemente in einer Vorschau dropzone.js Instanz?
Habe ich eine dropzone.js Beispiel auf eine web-Seite mit den folgenden Optionen:
autoProcessQueue:false
uploadMultiple:true
parallelUploads:20
maxFiles:20
Es ist programmgesteuert instanziiert, wie es ist Teil einer größeren form. Ich habe es manipuliert, um Prozess der Warteschlange, wenn das Formular abgeschickt wird.
Ziel ist es für meine Benutzer in der Lage sein zu verwenden, die dropzone zu verwalten, Bilder für einen Artikel, so dass ich möchten, dass Sie in der Lage sein, um die Reihenfolge der Bilder per Drag und Drop die dropzone.js Bild-Vorschau. Ist es ein guter Weg, dies zu tun? Ich habe versucht, mit jquery-ui ist sortierbar, aber es scheint nicht zu spielen schön mit dropzone.js.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe es nun mit jquery-ui ist sortierbar. Der trick war, stellen Sie sicher, dass Sie die "items" - option im sortierbar zu Holen nur die dz-Vorschau-Elemente, weil dropzone.js hat die dz-message-element zusammen mit der dz-Vorschau der Elemente in der Haupt-container. Hier ist, wie mein code aussieht:
HTML:
Dem Skript:
$dropzone.sortable({start: function(e, ui) { $dropzone.removeClass('dz-clickable'); ui.item.removeClass('dz-success') }, stop: function() $dropzone.addClass('dz-clickable') }, update: function(e, ui) { console.log('Item reordered!', ui.item); }
– entfernen dz anklickbar zum deaktivieren der Datei-öffnen-dialog nach dem ziehen. entfernen dz-Erfolg, weil die animation gespielt, jedes mal nach ziehen. Auch ich hatte problem mit dem item verschwinden beim ziehen – dort war der bug in der jquery-ui ist sortable.js – ersetztthis.document[0]
mitthis.document[0].body
on line 1008$dropzone = $('.images-dropzone'); new Dropzone($dropzone.get(0), options); $dropzone.sortable(sortable_options);
Neben den code aus ralbatross Sie benötigen, um die Reihenfolge der die Datei Warteschlange der dropzone..
Etwas wie:
Und denken Sie daran, dass die Datei verarbeitet, async, halte ich eine hashtable für die Referenz, wenn die Datei fertig und speichern Sie die Bestellung am Ende.
Funktioniert es nicht mit doppelten Dateinamen
var name = el.innerHTML;
stattvar name = el.getAttribute('data-name');
newQueue
bevor Sie versuchen, Sie zu irgendetwas zu ihm:var queue = uploadzone.files, newQueue = [];
Hier ist eine andere option, ohne irgendwelche plugins. Auf den Erfolg von Ereignis-Rückruf, können Sie einige der manuellen Sortierung: