mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
feat: Add events for version restore
Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
parent
f254173a88
commit
bb419321e0
1 changed files with 19 additions and 1 deletions
|
|
@ -39,6 +39,7 @@ import { showError, showSuccess } from '@nextcloud/dialogs'
|
|||
import isMobile from '@nextcloud/vue/dist/Mixins/isMobile.js'
|
||||
import { fetchVersions, deleteVersion, restoreVersion, setVersionLabel } from '../utils/versions.js'
|
||||
import Version from '../components/Version.vue'
|
||||
import { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'
|
||||
|
||||
export default {
|
||||
name: 'VersionTab',
|
||||
|
|
@ -57,6 +58,12 @@ export default {
|
|||
loading: false,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
subscribe('files_versions:restore:restored', this.fetchVersions)
|
||||
},
|
||||
beforeUnmount() {
|
||||
unsubscribe('files_versions:restore:restored', this.fetchVersions)
|
||||
},
|
||||
computed: {
|
||||
/**
|
||||
* Order versions by mtime.
|
||||
|
|
@ -163,6 +170,16 @@ export default {
|
|||
mtime: version.mtime,
|
||||
}
|
||||
|
||||
const restoreStartedEventState = {
|
||||
preventDefault: false,
|
||||
fileInfo: this.fileInfo,
|
||||
version,
|
||||
}
|
||||
emit('files_versions:restore:requested', restoreStartedEventState)
|
||||
if (restoreStartedEventState.preventDefault) {
|
||||
return
|
||||
}
|
||||
|
||||
try {
|
||||
await restoreVersion(version)
|
||||
if (version.label !== '') {
|
||||
|
|
@ -172,10 +189,11 @@ export default {
|
|||
} else {
|
||||
showSuccess(t('files_versions', 'Version restored'))
|
||||
}
|
||||
await this.fetchVersions()
|
||||
emit('files_versions:restore:restored', version)
|
||||
} catch (exception) {
|
||||
this.fileInfo = oldFileInfo
|
||||
showError(t('files_versions', 'Could not restore version'))
|
||||
emit('files_versions:restore:failed', version)
|
||||
}
|
||||
},
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue