From 34c5f716ace14b09fd2bac295d4a0e5d581c0937 Mon Sep 17 00:00:00 2001 From: NicolasRichel Date: Fri, 10 Mar 2023 17:37:19 +0100 Subject: [PATCH 1/4] feat(files): add drag & drop to specific folder --- .../specific/files/files-manager/FilesManager.vue | 11 ++++------- .../specific/files/files-table/FilesTable.vue | 15 +++++++++++---- src/utils/async.js | 4 ++-- 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/components/specific/files/files-manager/FilesManager.vue b/src/components/specific/files/files-manager/FilesManager.vue index 5828f1636..d358bc50c 100644 --- a/src/components/specific/files/files-manager/FilesManager.vue +++ b/src/components/specific/files/files-manager/FilesManager.vue @@ -217,7 +217,7 @@ @file-uploaded="$emit('file-uploaded')" @dragover.prevent="() => {}" @drop.prevent="uploadFiles" - @row-drop="({ data, event }) => null" + @row-drop="({ event, data }) => uploadFiles(event, data)" @selection-changed="setSelection" @manage-access="openAccessManager" @open-visa-manager="openVisaManager" @@ -462,17 +462,14 @@ export default { const filesToUpload = ref([]); const foldersToUpload = ref([]); - const uploadFiles = async (event, folder) => { + const uploadFiles = async (event, folder = currentFolder.value) => { const { files, folders } = await getFilesFromEvent(event); + files.forEach(file => (file.folder = folder)); filesToUpload.value = files; foldersToUpload.value = await Promise.all( folders.map(f => - FileService.createFolderStructure( - props.project, - folder ?? currentFolder.value, - f - ) + FileService.createFolderStructure(props.project, folder, f) ) ); diff --git a/src/components/specific/files/files-table/FilesTable.vue b/src/components/specific/files/files-table/FilesTable.vue index c53bf878a..59c19d5b1 100644 --- a/src/components/specific/files/files-table/FilesTable.vue +++ b/src/components/specific/files/files-table/FilesTable.vue @@ -10,8 +10,8 @@ :rowHeight="54" :selectable="true" @selection-changed="$emit('selection-changed', $event)" + @row-drop="onRowDrop" :placeholder="$t('FilesTable.emptyTablePlaceholder')" - @row-dropped-over="$emit('row-dropped-over', $event)" >