diff --git a/frappe/public/js/frappe/form/toolbar.js b/frappe/public/js/frappe/form/toolbar.js index 1f65c44f30..d36fd811c1 100644 --- a/frappe/public/js/frappe/form/toolbar.js +++ b/frappe/public/js/frappe/form/toolbar.js @@ -352,6 +352,7 @@ frappe.ui.form.Toolbar = class Toolbar { // Print this.add_discard(); this.add_print(); + this.add_open_sidebar(); this.add_email(); this.add_rename(); this.add_reload(); @@ -484,6 +485,19 @@ frappe.ui.form.Toolbar = class Toolbar { } } + add_open_sidebar() { + if (this.page.hide_sidebar) { + return; + } + this.page.add_menu_item( + __("Open Sidebar"), + () => { + this.setup_sidebar_toggle(this.frm.sidebar.sidebar.parent()); + }, + true + ); + } + add_reload() { // reload this.page.add_menu_item( @@ -894,6 +908,36 @@ frappe.ui.form.Toolbar = class Toolbar { dialog.show(); } + setup_sidebar_toggle(sidebar_wrapper) { + console.log(sidebar_wrapper); + if (frappe.utils.is_xs() || frappe.utils.is_sm()) { + this.setup_overlay_sidebar(sidebar_wrapper); + } else { + sidebar_wrapper.toggle(); + } + $(document.body).trigger("toggleSidebar"); + } + + setup_overlay_sidebar(sidebar_wrapper) { + sidebar_wrapper.find(".close-sidebar").remove(); + let overlay_sidebar = sidebar_wrapper.find(".overlay-sidebar").addClass("opened"); + $('