Skip to content

Commit 4f44eda

Browse files
committed
feat: initial implementation of basic drag and drop for upload
1 parent 65bf471 commit 4f44eda

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

src/components/images/ImageUploader.vue

+29-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<template>
22
<label v-if="purpose === 'avatar'" for="fileInput">Avatar URL</label>
3-
<input type="file" name="fileInput" id="fileInput" @change="uploadFile" ref="fileInput" :multiple="multiple"><br>
3+
<input type="file" name="fileInput" id="fileInput" @change="uploadFile" ref="fileInput" :multiple="multiple" @drop="uploadFile" @dragenter.prevent @dragover.prevent><br>
44
<progress v-if="!purpose" ref="progressBar" style="width: 100%" :value="imagesProgress" max="100"></progress>
55
</template>
66

@@ -21,6 +21,8 @@ export default {
2121
emit('upload-error', null) // clear previous errors
2222
2323
let files = e.target.files || e.dataTransfer.files
24+
if (!files.length) return
25+
console.log(e.target.files)
2426
let images = []
2527
for (var i = 0; i < files.length; i++) {
2628
let file = files[i]
@@ -186,6 +188,32 @@ export default {
186188
// emit('upload-error')
187189
// }
188190
191+
// var cancelEvent = function(e) {
192+
// e.stopPropagation();
193+
// e.preventDefault();
194+
// };
195+
196+
// var removeDrag = function(e) {
197+
// e.stopPropagation();
198+
// e.preventDefault();
199+
// };
200+
201+
// var dropEvent = function(e) {
202+
// removeDrag(e);
203+
// uploadFile(e)
204+
// };
205+
206+
// $parent.on('dragenter', cancelEvent);
207+
// $parent.on('dragover', cancelEvent);
208+
// $dragZone.on('dragenter', cancelEvent);
209+
// $dragZone.on('dragover', cancelEvent);
210+
// $dragZone.on('dragend', removeDrag);
211+
// $dragZone.on('dragexit', removeDrag);
212+
// $dragZone.on('dragleave', removeDrag);
213+
214+
// $parent.on('drop', dropEvent);
215+
// $dragZone.on('drop', dropEvent);
216+
189217
const v = reactive({
190218
fileInput: null,
191219
multiple: !props.purpose,

0 commit comments

Comments
 (0)