Comments and bugfixes

Former-commit-id: 3683a8730ff5d068f3c1c79bb93c3636c00d48f6 [formerly fe04704b2248be7e313fa879746cacd335fed043] [formerly ebfa6675e34ee278af94af56aa8f43d4566d6f5f [formerly 5eab62e0aa]]
Former-commit-id: 9ce059f75dc890570f9a992bf514c416ebf8e2f6 [formerly 02c89f89f211c95f8879cc4559efa3f4de7e8fca]
Former-commit-id: fb88da21590be01e95a963d453b6c3c880244281
pull/726/head
Henrique Dias 2017-07-08 11:30:22 +01:00
parent 946ce2df5a
commit e6efec5682
5 changed files with 35 additions and 24 deletions

View File

@ -28,11 +28,13 @@ export default {
this.closeHovers()
buttons.loading('delete')
// If we are not on a listing, delete the current
// opened file.
if (this.req.kind !== 'listing') {
api.delete(this.$route.path)
.then(() => {
buttons.done('delete')
this.$router.push({path: url.removeLastDir(this.$route.path) + '/'})
this.$router.push({ path: url.removeLastDir(this.$route.path) + '/' })
})
.catch(error => {
buttons.done('delete')
@ -47,6 +49,8 @@ export default {
return
}
// Create the promises array and fill it with
// the delete request for every selected file.
let promises = []
for (let index of this.selected) {
@ -55,13 +59,12 @@ export default {
Promise.all(promises)
.then(() => {
this.$store.commit('setReload', true)
buttons.done('delete')
this.$store.commit('setReload', true)
})
.catch(error => {
console.log(error)
this.$store.commit('setReload', true)
buttons.done('delete')
this.$store.commit('setReload', true)
this.$store.commit('showError', error)
})
}

View File

@ -40,10 +40,14 @@ export default {
},
methods: {
humanSize: function () {
// If there are no files selected or this is not a listing
// show the human file size of the current request.
if (this.selectedCount === 0 || this.req.kind !== 'listing') {
return filesize(this.req.size)
}
// Otherwise, sum the sizes of each selected file and returns
// its human form.
var sum = 0
for (let i = 0; i < this.selectedCount; i++) {
@ -53,17 +57,27 @@ export default {
return filesize(sum)
},
humanTime: function () {
// If there are no selected files, return the current request
// modified time.
if (this.selectedCount === 0) {
return moment(this.req.modified).fromNow()
}
// Otherwise return the modified time of the first item
// that is selected since this should not appear when
// there is more than one file selected.
return moment(this.req.items[this.selected[0]]).fromNow()
},
name: function () {
// Return the name of the current opened file if there
// are no selected files.
if (this.selectedCount === 0) {
return this.req.name
}
// Otherwise, just return the name of the selected file.
// This field won't show when there is more than one
// file selected.
return this.req.items[this.selected[0]].name
},
dir: function () {
@ -79,6 +93,8 @@ export default {
return this.req.items[this.selected[0]].isDir
},
checksum: function (event, hash) {
// Gets the checksum of the current selected or
// opened file. Doesn't work for directories.
event.preventDefault()
let link
@ -90,12 +106,8 @@ export default {
}
api.checksum(link, hash)
.then((hash) => {
event.target.innerHTML = hash
})
.catch(error => {
console.log(error)
})
.then((hash) => { event.target.innerHTML = hash })
.catch(error => { this.$store.commit('showError', error) })
}
}
}

View File

@ -26,6 +26,7 @@ export default {
event.preventDefault()
if (this.new === '') return
// Build the path of the new directory.
let uri = this.$route.path
if (this.$store.state.req.kind !== 'listing') {
uri = url.removeLastDir(uri) + '/'
@ -35,13 +36,10 @@ export default {
uri = uri.replace('//', '/')
api.post(uri)
.then(() => {
this.$router.push({ path: uri })
})
.catch(error => {
this.$store.commit('showError', error)
})
.then(() => { this.$router.push({ path: uri }) })
.catch(error => { this.$store.commit('showError', error) })
// Close the prompt
this.$store.commit('closeHovers')
}
}

View File

@ -26,6 +26,7 @@ export default {
event.preventDefault()
if (this.new === '') return
// Build the path of the new file.
let uri = this.$route.path
if (this.$store.state.req.kind !== 'listing') {
uri = url.removeLastDir(uri) + '/'
@ -34,14 +35,12 @@ export default {
uri += this.name
uri = uri.replace('//', '/')
// Create the new file.
api.post(uri)
.then(() => {
this.$router.push({ path: uri })
})
.catch(error => {
this.$store.commit('showError', error)
})
.then(() => { this.$router.push({ path: uri }) })
.catch(error => { this.$store.commit('showError', error) })
// Close the prompt.
this.$store.commit('closeHovers')
}
}

View File

@ -28,6 +28,7 @@ export default {
this.$store.commit('closeHovers')
},
oldName: function () {
// Get the current name of the file we are editing.
if (this.req.kind !== 'listing') {
return this.req.name
}
@ -58,14 +59,12 @@ export default {
this.$router.push({ path: newLink })
return
}
// TODO: keep selected after reload?
this.$store.commit('setReload', true)
}).catch(error => {
this.$store.commit('showError', error)
})
this.$store.commit('closeHovers')
return
}
}
}