feat: editor - warn on leave without save
This commit is contained in:
parent
74e7316c1e
commit
ab55f33d99
@ -118,6 +118,7 @@ export default {
|
||||
dialogProgress: false,
|
||||
dialogEditorSelector: false,
|
||||
dialogUnsaved: false,
|
||||
exitConfirmed: false,
|
||||
initContentParsed: ''
|
||||
}
|
||||
},
|
||||
@ -161,6 +162,14 @@ export default {
|
||||
} else {
|
||||
this.currentEditor = `editor${_.startCase(this.initEditor || 'markdown')}`
|
||||
}
|
||||
|
||||
window.onbeforeunload = () => {
|
||||
if (!this.exitConfirmed && this.initContentParsed !== this.$store.get('editor/content')) {
|
||||
return 'You have unsaved edits. Are you sure you want to leave the editor?'
|
||||
} else {
|
||||
return undefined
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openPropsModal(name) {
|
||||
@ -263,6 +272,7 @@ export default {
|
||||
exitGo() {
|
||||
this.$store.commit(`loadingStart`, 'editor-close')
|
||||
this.currentEditor = ''
|
||||
this.exitConfirmed = true
|
||||
_.delay(() => {
|
||||
if (this.$store.get('editor/mode') === 'create') {
|
||||
window.location.assign(`/`)
|
||||
|
Loading…
Reference in New Issue
Block a user