show discard changes modal on page navigation
parent
dbc61719ae
commit
c78b2dfb93
|
@ -53,7 +53,7 @@ import { getTheme } from "@/utils/theme";
|
|||
import { marked } from "marked";
|
||||
import { inject, onBeforeUnmount, onMounted, ref, watchEffect } from "vue";
|
||||
import { useI18n } from "vue-i18n";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { onBeforeRouteUpdate, useRoute, useRouter } from "vue-router";
|
||||
|
||||
const $showError = inject<IToastError>("$showError")!;
|
||||
|
||||
|
@ -131,6 +131,15 @@ onBeforeUnmount(() => {
|
|||
editor.value?.destroy();
|
||||
});
|
||||
|
||||
onBeforeRouteUpdate((to, from, next) => {
|
||||
if (!editor.value?.session.getUndoManager().isClean()) {
|
||||
layoutStore.showHover("discardEditorChanges");
|
||||
next(false);
|
||||
} else {
|
||||
next();
|
||||
}
|
||||
});
|
||||
|
||||
const keyEvent = (event: KeyboardEvent) => {
|
||||
if (event.code === "Escape") {
|
||||
close();
|
||||
|
|
Loading…
Reference in New Issue