reparation drag and drop zip
This commit is contained in:
		@@ -212,34 +212,17 @@ export default {
 | 
			
		||||
            event.preventDefault();
 | 
			
		||||
            
 | 
			
		||||
            try {
 | 
			
		||||
                const moveFilesOfFolder = async (folder) => {
 | 
			
		||||
 | 
			
		||||
                    await this.createFolder(folder);
 | 
			
		||||
 | 
			
		||||
                    for (const child of folder.children) {
 | 
			
		||||
                        if (child.isDirectory) {
 | 
			
		||||
                            await moveFilesOfFolder(child);
 | 
			
		||||
                        } else {
 | 
			
		||||
                            if (child.content && typeof child.content.arrayBuffer === 'function') {
 | 
			
		||||
                                child.content = await child.content.arrayBuffer();
 | 
			
		||||
                            }
 | 
			
		||||
                            await this.moveFileToTarget(child);
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                };
 | 
			
		||||
 | 
			
		||||
                this.isTransfering = true;
 | 
			
		||||
                const file = this.file;
 | 
			
		||||
                if (!file) return;
 | 
			
		||||
                console.log('Fichier déposé :', file);
 | 
			
		||||
 | 
			
		||||
                if (file.isDirectory) {
 | 
			
		||||
                    await moveFilesOfFolder(file);
 | 
			
		||||
                    await this.moveFilesOfFolder(file,'');
 | 
			
		||||
                } else {
 | 
			
		||||
                    if (file.content && typeof file.content.arrayBuffer === 'function') {
 | 
			
		||||
                        file.content = await file.content.arrayBuffer();
 | 
			
		||||
                    }
 | 
			
		||||
                    await this.moveFileToTarget(file);
 | 
			
		||||
                    await this.moveFileToTarget(file, '');
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                this.isTransfering = false;
 | 
			
		||||
@@ -249,12 +232,26 @@ export default {
 | 
			
		||||
                this.isTransfering = false;
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        async moveFileToTarget(file) {
 | 
			
		||||
        async moveFilesOfFolder(folder, parentPath) {
 | 
			
		||||
 | 
			
		||||
            await this.createFolder(folder, parentPath);
 | 
			
		||||
 | 
			
		||||
            for (const child of folder.children) {
 | 
			
		||||
                if (child.isDirectory) {
 | 
			
		||||
                    await this.moveFilesOfFolder(child, parentPath + child.parentPath + '/');
 | 
			
		||||
                } else {
 | 
			
		||||
                    if (child.content && typeof child.content.arrayBuffer === 'function') {
 | 
			
		||||
                        child.content = await child.content.arrayBuffer();
 | 
			
		||||
                    }
 | 
			
		||||
                    await this.moveFileToTarget(child, parentPath + child.parentPath + '/');
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        async moveFileToTarget(file, parentPath) {
 | 
			
		||||
            try {
 | 
			
		||||
                const client = getClient();
 | 
			
		||||
 | 
			
		||||
                // Assurez-vous que le chemin parent est correctement formaté
 | 
			
		||||
                const parentPath = file.parentPath ? `${file.parentPath}/` : '';
 | 
			
		||||
                
 | 
			
		||||
                const fullPath = `${this.root_path}${this.current_dir}${parentPath}${file.name}`;
 | 
			
		||||
 | 
			
		||||
                if (ArrayBuffer.isView(file.content)) {
 | 
			
		||||
@@ -270,13 +267,11 @@ export default {
 | 
			
		||||
                console.error('Erreur lors du déplacement du fichier:', error);
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        async createFolder(folder) {
 | 
			
		||||
        async createFolder(folder, parentPath) {
 | 
			
		||||
            try {
 | 
			
		||||
                const client = getClient();
 | 
			
		||||
 | 
			
		||||
                // Assurez-vous que le chemin parent est correctement formaté
 | 
			
		||||
                const parentPath = folder.parentPath ? `${folder.parentPath}/` : '';
 | 
			
		||||
                const fullPath = `${this.root_path}${this.current_dir}${parentPath}${folder.name}/`;
 | 
			
		||||
                
 | 
			
		||||
                const fullPath = `${this.root_path}${this.current_dir}${parentPath}/${folder.name}/`;
 | 
			
		||||
 | 
			
		||||
                await client.createDirectory(fullPath);
 | 
			
		||||
                await this.fetchFiles();
 | 
			
		||||
 
 | 
			
		||||
@@ -163,7 +163,7 @@ export default {
 | 
			
		||||
                                content: isDirectory ? null : '',  // Initialiser 'content' pour les fichiers
 | 
			
		||||
                                children: isDirectory ? [] : null,
 | 
			
		||||
                                //remove the name of the file from the path
 | 
			
		||||
                                parentPath: pathParts.slice(0, i).join('/'),
 | 
			
		||||
                                parentPath: i > 0 ? pathParts[i - 1] : '',
 | 
			
		||||
                                unzip: promise
 | 
			
		||||
                            };
 | 
			
		||||
                            currentLevel.push(existing);
 | 
			
		||||
@@ -208,7 +208,6 @@ export default {
 | 
			
		||||
            this.$set(this.folderMap, file.fullPath, !currentState);
 | 
			
		||||
        },
 | 
			
		||||
        async onDragStart(file) {
 | 
			
		||||
            console.log('Drag start', file);
 | 
			
		||||
 | 
			
		||||
            const getFilesFromFolder = (folder) => {
 | 
			
		||||
                const files = [];
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user