diff --git a/app/src/lang/translations/en-US.yaml b/app/src/lang/translations/en-US.yaml
index 9a631c542a..80653e338c 100644
--- a/app/src/lang/translations/en-US.yaml
+++ b/app/src/lang/translations/en-US.yaml
@@ -21,6 +21,7 @@ required: Required
required_for_app_access: Required for App Access
requires_value: Requires value
create_preset: Create Preset
+create_panel: Create Panel
create_role: Create Role
create_user: Create User
create_webhook: Create Webhook
diff --git a/app/src/modules/insights/routes/dashboard.vue b/app/src/modules/insights/routes/dashboard.vue
index 4644dd93f8..dd86f2bb07 100644
--- a/app/src/modules/insights/routes/dashboard.vue
+++ b/app/src/modules/insights/routes/dashboard.vue
@@ -24,7 +24,7 @@
-
+
@@ -258,10 +258,16 @@ export default defineComponent({
const leaveTo = ref(null);
const editsGuard: NavigationGuard = (to) => {
+ const hasEdits = panelsToBeDeleted.value.length > 0 || stagedPanels.value.length > 0;
+
if (editMode.value && to.params.primaryKey !== props.primaryKey) {
- confirmLeave.value = true;
- leaveTo.value = to.fullPath;
- return false;
+ if (hasEdits) {
+ confirmLeave.value = true;
+ leaveTo.value = to.fullPath;
+ return false;
+ } else {
+ editMode.value = false;
+ }
}
};