diff --git a/frappe/desk/page/desktop/desktop.js b/frappe/desk/page/desktop/desktop.js index 643c9081ae..bd3c6ca6a6 100644 --- a/frappe/desk/page/desktop/desktop.js +++ b/frappe/desk/page/desktop/desktop.js @@ -162,34 +162,36 @@ class DesktopPage { } setup_avatar() { $(".desktop-avatar").html(frappe.avatar(frappe.session.user, "avatar-medium")); - $(".desktop-avatar").data("menu", "user-menu"); - let menu_items = [ - { - icon: "edit", - label: "Edit Profile", - url: `/update-profile/${frappe.session.user}`, - }, - { - icon: "lock", - label: "Reset Password", - url: "/update-password", - }, - { - icon: "rotate-ccw", - label: "Reset to Default", - onClick: function () { - reset_to_default(); - window.location.reload(); + let menu_items = { + name: "user-menu", + items: [ + { + icon: "edit", + label: "Edit Profile", + url: `/update-profile/${frappe.session.user}`, }, - }, - { - icon: "log-out", - label: "Logout", - onClick: function () { - frappe.app.logout(); + { + icon: "lock", + label: "Reset Password", + url: "/update-password", }, - }, - ]; + { + icon: "rotate-ccw", + label: "Reset to Default", + onClick: function () { + reset_to_default(); + window.location.reload(); + }, + }, + { + icon: "log-out", + label: "Logout", + onClick: function () { + frappe.app.logout(); + }, + }, + ], + }; frappe.ui.create_menu($(".desktop-avatar"), menu_items, null, true); } setup_navbar() { diff --git a/frappe/public/js/frappe/ui/menu.js b/frappe/public/js/frappe/ui/menu.js index 0c3bb1e951..fdb00298a8 100644 --- a/frappe/public/js/frappe/ui/menu.js +++ b/frappe/public/js/frappe/ui/menu.js @@ -2,9 +2,10 @@ import "../dom"; frappe.provide("frappe.ui"); frappe.ui.menu = class ContextMenu { - constructor(menu_items, left) { - this.template = $(``); - this.menu_items = menu_items; + constructor(opts, left) { + this.template = $(``); + this.menu_items = opts.items; + this.name = opts.name; this.open_on_left = left; } @@ -23,7 +24,7 @@ frappe.ui.menu = class ContextMenu { const me = this; let item_wrapper = $(`