mirror of
https://github.com/nextcloud/server.git
synced 2026-02-25 19:04:38 -05:00
feat(files): Display meaningful error message on move failure
Signed-off-by: Christopher Ng <chrng8@gmail.com>
This commit is contained in:
parent
68829ad47c
commit
2159fb04f4
1 changed files with 13 additions and 2 deletions
|
|
@ -4,7 +4,7 @@
|
|||
*/
|
||||
import type { Folder, Node, View } from '@nextcloud/files'
|
||||
import type { IFilePickerButton } from '@nextcloud/dialogs'
|
||||
import type { FileStat, ResponseDataDetailed } from 'webdav'
|
||||
import type { FileStat, ResponseDataDetailed, WebDAVClientError } from 'webdav'
|
||||
import type { MoveCopyResult } from './moveOrCopyActionUtils'
|
||||
|
||||
import { isAxiosError } from '@nextcloud/axios'
|
||||
|
|
@ -165,7 +165,18 @@ export const handleCopyMoveNodeTo = async (node: Node, destination: Folder, meth
|
|||
}
|
||||
// getting here means either no conflict, file was renamed to keep both files
|
||||
// in a conflict, or the selected file was chosen to be kept during the conflict
|
||||
await client.moveFile(currentPath, join(destinationPath, node.basename))
|
||||
try {
|
||||
await client.moveFile(currentPath, join(destinationPath, node.basename))
|
||||
} catch (error) {
|
||||
const parser = new DOMParser()
|
||||
const text = await (error as WebDAVClientError).response?.text()
|
||||
const message = parser.parseFromString(text ?? '', 'text/xml')
|
||||
.querySelector('message')?.textContent
|
||||
if (message) {
|
||||
showError(message)
|
||||
}
|
||||
throw error
|
||||
}
|
||||
// Delete the node as it will be fetched again
|
||||
// when navigating to the destination folder
|
||||
emit('files:node:deleted', node)
|
||||
|
|
|
|||
Loading…
Reference in a new issue