From fa822b31d4e6b2abfa65657a48910c5067aa9033 Mon Sep 17 00:00:00 2001 From: sokumon Date: Thu, 5 Mar 2026 11:34:17 +0530 Subject: [PATCH] fix: customize sidebar header via standard navbar_items hook --- frappe/public/js/frappe/ui/menu.js | 19 +++++++++++++------ .../js/frappe/ui/sidebar/sidebar_header.js | 8 +++++++- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/frappe/public/js/frappe/ui/menu.js b/frappe/public/js/frappe/ui/menu.js index d918f2740b..dbc40b903f 100644 --- a/frappe/public/js/frappe/ui/menu.js +++ b/frappe/public/js/frappe/ui/menu.js @@ -46,15 +46,22 @@ frappe.ui.menu = class ContextMenu { make() { this.template.empty(); this.menu_items_to_show = []; - this.menu_items.forEach((f) => { - f.condition = - f.condition || + this.menu_items.forEach((item) => { + item.condition = + item.condition || function () { return true; }; - if (f.condition()) { - this.add_menu_item(f); - this.menu_items_to_show.push(f); + console.log(typeof item.condition); + let render = false; + if (typeof item.condition == "function") { + render = item.condition(); + } else { + render = frappe.utils.eval_expression(item.condition); + } + if (render) { + this.add_menu_item(item); + this.menu_items_to_show.push(item); } }); diff --git a/frappe/public/js/frappe/ui/sidebar/sidebar_header.js b/frappe/public/js/frappe/ui/sidebar/sidebar_header.js index 95529364ac..c587f3ae1d 100644 --- a/frappe/public/js/frappe/ui/sidebar/sidebar_header.js +++ b/frappe/public/js/frappe/ui/sidebar/sidebar_header.js @@ -87,12 +87,18 @@ frappe.ui.SidebarHeader = class SidebarHeader { } ); } + this.add_navbar_items(); this.make(); this.setup_app_switcher(); this.populate_dropdown_menu(); this.setup_select_options(); } - + add_navbar_items() { + frappe.boot.navbar_settings.settings_dropdown.forEach((item) => { + item.label = item.item_label; + this.dropdown_items.push(item); + }); + } fetch_related_icons() { let sibling_workspaces = []; let workspaces_not_to_show = ["My Workspaces"];