From 3bdf16aa494aede5479ed63ec53e93f5984096e2 Mon Sep 17 00:00:00 2001 From: bytedream Date: Thu, 11 Dec 2025 14:26:23 +0100 Subject: [PATCH] Show edit page confirmation dialog on tree view file change --- web_src/js/components/ViewFileTreeItem.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/web_src/js/components/ViewFileTreeItem.vue b/web_src/js/components/ViewFileTreeItem.vue index 9a50adedaac7f..093cf5730320e 100644 --- a/web_src/js/components/ViewFileTreeItem.vue +++ b/web_src/js/components/ViewFileTreeItem.vue @@ -37,9 +37,10 @@ const doLoadChildren = async () => { }; const onItemClick = (e: MouseEvent) => { - // only handle the click event with page partial reloading if the user didn't press any special key - // let browsers handle special keys like "Ctrl+Click" - if (!isPlainClick(e)) return; + // only handle the click event with partial page reloading if both + // - the user didn't press any special key like "Ctrl+Click" (which may have custom browser behavior) + // - the editor/commit form isn't dirty (a full page reload shows a confirmation dialog if the form contains unsaved changes) + if (!isPlainClick(e) || document.querySelector('.repo-view-content .form.dirty')) return; e.preventDefault(); if (props.item.entryMode === 'tree') doLoadChildren(); store.navigateTreeView(props.item.fullPath);