From b630c74b21dc09c3a8fc7956468b7f01a3f18281 Mon Sep 17 00:00:00 2001 From: Eduard Kuzmenko Date: Tue, 15 Dec 2020 17:34:37 +0200 Subject: [PATCH] Fix getting multiple files from drag event --- src/helpers/dom.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/helpers/dom.ts b/src/helpers/dom.ts index cf40dec7..9ec7ac9b 100644 --- a/src/helpers/dom.ts +++ b/src/helpers/dom.ts @@ -640,13 +640,16 @@ export async function getFilesFromEvent(e: ClipboardEvent | DragEvent, onlyTypes // @ts-ignore const items = (e.dataTransfer || e.clipboardData || e.originalEvent.clipboardData).items; + const promises: Promise[] = []; for(let i = 0; i < items.length; ++i) { const item: DataTransferItem = items[i]; if(item.kind === 'file') { - const entry = onlyTypes ? item : item.webkitGetAsEntry() || item.getAsFile(); - await scanFiles(entry); + const entry = (onlyTypes ? item : item.webkitGetAsEntry()) || item.getAsFile(); + promises.push(scanFiles(entry)); } } + + await Promise.all(promises); } /* if(!onlyTypes) {