Add support for file copy and deletion
This commit is contained in:
parent
811026895b
commit
d79fe6982f
12 changed files with 173 additions and 53 deletions
|
@ -10,12 +10,12 @@
|
|||
import {DirectoryContentObject} from '@/api/server/types';
|
||||
import {mapState} from "vuex";
|
||||
import {ServerState} from '@/store/types';
|
||||
import { join } from 'path';
|
||||
import {copyElement} from '@/api/server/files/copyElement';
|
||||
import {join} from 'path';
|
||||
import {copyFile} from '@/api/server/files/copyFile';
|
||||
import {AxiosError} from "axios";
|
||||
|
||||
export default Vue.extend({
|
||||
components: { SpinnerModal },
|
||||
components: {SpinnerModal},
|
||||
|
||||
computed: mapState('server', {
|
||||
server: (state: ServerState) => state.server,
|
||||
|
@ -24,7 +24,7 @@
|
|||
}),
|
||||
|
||||
props: {
|
||||
file: { type: Object as () => DirectoryContentObject, required: true },
|
||||
file: {type: Object as () => DirectoryContentObject, required: true},
|
||||
},
|
||||
|
||||
/**
|
||||
|
@ -46,7 +46,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
copyElement(this.server.uuid, this.credentials, {currentPath: join(this.fm.currentDirectory, this.file.name), newPath})
|
||||
copyFile(this.server.uuid, join(this.fm.currentDirectory, this.file.name))
|
||||
.then(() => this.$emit('close'))
|
||||
.catch((error: AxiosError) => {
|
||||
alert(`There was an error creating a copy of this item: ${error.message}`);
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
import Vue from 'vue';
|
||||
import Modal from '@/components/core/Modal.vue';
|
||||
import {DirectoryContentObject} from "@/api/server/types";
|
||||
import {deleteElement} from '@/api/server/files/deleteElement';
|
||||
import {deleteFile} from '@/api/server/files/deleteFile';
|
||||
import {mapState} from "vuex";
|
||||
import {AxiosError} from "axios";
|
||||
import { join } from 'path';
|
||||
|
@ -75,10 +75,7 @@
|
|||
this.isLoading = true;
|
||||
|
||||
// @ts-ignore
|
||||
deleteElement(this.server.uuid, this.credentials, [
|
||||
// @ts-ignore
|
||||
join(this.fm.currentDirectory, this.object.name)
|
||||
])
|
||||
deleteFile(this.server.uuid, join(this.fm.currentDirectory, this.object.name))
|
||||
.then(() => this.$emit('deleted'))
|
||||
.catch((error: AxiosError) => {
|
||||
this.error = `There was an error deleting the requested ${(this.object.directory) ? 'folder' : 'file'}. Response was: ${error.message}`;
|
||||
|
|
Reference in a new issue