diff --git a/packages/dashboard-v2/src/appUtils.js b/packages/dashboard-v2/src/appUtils.js
index 26e0448..9b1fbfa 100644
--- a/packages/dashboard-v2/src/appUtils.js
+++ b/packages/dashboard-v2/src/appUtils.js
@@ -117,12 +117,12 @@ export const apiHandler = {
return mapFile(resp.data, prefix)
}
},
- // renameObject: (oldName, newName) => {
- // return axios.post(`/buckets/${store.state.activeBucket}/move`, {
- // oldKey: encodeKey(oldName, store.state.currentFolder),
- // newKey: encodeKey(newName, store.state.currentFolder)
- // })
- // },
+ renameObject: (bucket, oldKey, newKey) => {
+ return api.post(`/buckets/${bucket}/move`, {
+ oldKey: encode(oldKey),
+ newKey: encode(newKey)
+ })
+ },
updateMetadata: (bucket, key, metadata) => {
return api.post(
`/buckets/${bucket}/${encode(key)}`,
diff --git a/packages/dashboard-v2/src/components/files/FileOptions.vue b/packages/dashboard-v2/src/components/files/FileOptions.vue
index 49de384..27d3521 100644
--- a/packages/dashboard-v2/src/components/files/FileOptions.vue
+++ b/packages/dashboard-v2/src/components/files/FileOptions.vue
@@ -12,21 +12,21 @@
-
+
-
+
-
- Are you sure you want to rename the file {{row.name}}?
+
+
-
+
@@ -47,7 +47,9 @@ export default defineComponent({
deleteModal: false,
renameModal: false,
deleteFolderInnerFilesCount: null,
- newFolderName: ''
+ newFolderName: '',
+ renameInput: '',
+ loading: false,
}
},
methods: {
@@ -60,14 +62,19 @@ export default defineComponent({
}
},
renameObject: async function(row) {
- this.deleteModal = true
+ this.renameModal = true
this.row = row
- if (row.type === 'folder') {
- this.deleteFolderContents = await apiHandler.fetchFile(this.selectedBucket, row.key, '')
- this.deleteFolderInnerFilesCount = this.deleteFolderContents.length
- }
+ // console.log(row)
+ this.renameInput = row.name
},
renameConfirm: async function() {
+ if (this.renameInput.length === 0) {
+ return
+ }
+
+ this.loading = true
+ await apiHandler.renameObject(this.selectedBucket, this.row.key, this.row.key.replace(this.row.name, this.renameInput))
+
this.$bus.emit('fetchFiles')
this.reset()
},
@@ -116,8 +123,10 @@ export default defineComponent({
this.reset()
},
reset: function() {
+ this.loading = false
this.deleteModal = false
this.renameModal = false
+ this.renameInput = ''
this.row = null
this.deleteFolderInnerFilesCount = null
this.deleteFolderContents = []
diff --git a/packages/dashboard-v2/src/pages/files/FilesFolderPage.vue b/packages/dashboard-v2/src/pages/files/FilesFolderPage.vue
index c9b4f09..74db2a6 100644
--- a/packages/dashboard-v2/src/pages/files/FilesFolderPage.vue
+++ b/packages/dashboard-v2/src/pages/files/FilesFolderPage.vue
@@ -53,7 +53,7 @@
touch-position
context-menu
>
-
+
@@ -61,7 +61,7 @@
-
+
|