diff --git a/resources/js/Shared/FileSystemBrowser.vue b/resources/js/Shared/FileSystemBrowser.vue index 7fdba54c..5226bf02 100644 --- a/resources/js/Shared/FileSystemBrowser.vue +++ b/resources/js/Shared/FileSystemBrowser.vue @@ -112,7 +112,7 @@ v-if="!readonly" :class="[fullScreen ? 'px-6 py-4' : 'px-5', '']" > -
+
- Drop Files or Folders to upload + Drop Files or Folders + + or + + to upload +
+
Need help? Check out our
- +
@@ -903,8 +920,11 @@ export default { uploadMultiple: true, disablePreviews: true, parallelUploads: 100, + useFsAccessApi: false, autoQueue: false, maxFiles: 20000, + clickable: "#fs-dropzone-click-target", + hiddenInputContainer: "#fs-dropzone-hidden-input-container", dictDefaultMessage: document.querySelector( "#fs-dropzone-message" ).innerHTML, @@ -913,6 +933,10 @@ export default { }, }; vm.dropzone = new Dropzone("#fs-dropzone", options); + vm.dropzone.hiddenFileInput.setAttribute( + "webkitdirectory", + true + ); vm.dropzone.on("processing", (file) => { vm.dropzone.options.url = file.uploadURL; vm.status = "UPLOAD IN PROGRESS"; @@ -942,18 +966,24 @@ export default { } }); vm.dropzone.on("addedfile", (file) => { - vm.selectedFSO.push(file); if (file.fullPath) { vm.logs[file.fullPath] = { status: "Queued", messages: [], }; + } else if (file.webkitRelativePath) { + file.fullPath = file.webkitRelativePath; + vm.logs[file.webkitRelativePath] = { + status: "Queued", + messages: [], + }; } else { vm.logs[file.name] = { status: "Queued", messages: [], }; } + vm.selectedFSO.push(file); }); vm.dropzone.on("addedfiles", (files) => { if (files.length > 0) {