From d93df082a21333f049f968ef5f9ebf2fec9d352d Mon Sep 17 00:00:00 2001 From: sokumon Date: Mon, 29 Dec 2025 21:33:16 +0530 Subject: [PATCH] fix: close open menus on route change --- frappe/public/js/frappe/ui/menu.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/frappe/public/js/frappe/ui/menu.js b/frappe/public/js/frappe/ui/menu.js index f9a7dfc750..6ba8129f6c 100644 --- a/frappe/public/js/frappe/ui/menu.js +++ b/frappe/public/js/frappe/ui/menu.js @@ -143,6 +143,7 @@ frappe.ui.menu = class ContextMenu { } this.visible = true; + frappe.visible_menus.push(this); } close_all_other_menu() { $(".context-menu").hide(); @@ -183,6 +184,7 @@ frappe.ui.menu = class ContextMenu { }; frappe.menu_map = {}; +frappe.visible_menus = []; frappe.ui.create_menu = function (opts) { if (!opts.right_click) $(opts.parent).css("cursor", "pointer"); @@ -229,3 +231,14 @@ frappe.ui.create_menu = function (opts) { } }); }; + +function close_all_open_menus() { + frappe.visible_menus.forEach((menu) => { + menu.hide(); + }); + frappe.visible_menus = []; +} + +frappe.router.on("change", function () { + close_all_open_menus(); +});