Skip to content

Commit 1433bff

Browse files
Update scancodeio/static/add-inputs.js
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Signed-off-by: Muhammad Abdullah Shahid <108458621+abdollahShahid@users.noreply.github.com>
1 parent 4203bd9 commit 1433bff

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

scancodeio/static/add-inputs.js

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,19 +109,36 @@ function showFolderUploadNotSupportedMessage() {
109109
function dropHandler(event) {
110110
disableEvent(event);
111111

112-
// Detect folder drops (directories are not supported)
113112
const items = event.dataTransfer.items;
114-
if (items) {
113+
let droppedFiles = [];
114+
let hasDirectory = false;
115+
116+
if (items && items.length > 0) {
117+
// Build a list of files from the dropped items, skipping directories
115118
for (const item of items) {
116119
const entry = item.webkitGetAsEntry?.();
117120
if (entry && entry.isDirectory) {
118-
showFolderUploadNotSupportedMessage();
119-
return;
121+
hasDirectory = true;
122+
continue;
123+
}
124+
const file = item.getAsFile?.();
125+
if (file) {
126+
droppedFiles.push(file);
120127
}
121128
}
129+
} else {
130+
// Fallback when items are not available
131+
droppedFiles = Array.from(event.dataTransfer.files || []);
122132
}
123133

124-
const droppedFiles = event.dataTransfer.files;
134+
if (hasDirectory) {
135+
showFolderUploadNotSupportedMessage();
136+
}
137+
138+
// If there are no files at all (e.g. only folders were dropped), do nothing further
139+
if (droppedFiles.length === 0) {
140+
return;
141+
}
125142
const updatedFilesSet = new Set(Array.from(fileInput.files));
126143

127144
for (let file of droppedFiles) {

0 commit comments

Comments
 (0)