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"); + $('
diff --git a/frappe/public/js/frappe/ui/page.js b/frappe/public/js/frappe/ui/page.js index b2ab3dc581..58d7e594b9 100644 --- a/frappe/public/js/frappe/ui/page.js +++ b/frappe/public/js/frappe/ui/page.js @@ -44,7 +44,15 @@ frappe.ui.Page = class Page { this.wrapper = $(this.parent); this.add_main_section(); this.setup_scroll_handler(); - this.setup_sidebar_toggle(); + this.setup_main_sidebar_toggle(); + this.setup_mobile_awesomebar(); + } + + setup_mobile_awesomebar() { + if (frappe.boot.desk_settings.search_bar && frappe.is_mobile()) { + let awesome_bar = new frappe.search.AwesomeBar(); + awesome_bar.setup(".navbar-modal-search-mobile"); + } } setup_scroll_handler() { @@ -195,66 +203,6 @@ frappe.ui.Page = class Page { .appendTo(this.sidebar); } - setup_sidebar_toggle() { - let sidebar_toggle = $(".page-head").find(".sidebar-toggle-btn"); - let sidebar_wrapper = this.wrapper.find(".layout-side-section"); - if (this.disable_sidebar_toggle || !sidebar_wrapper.length) { - sidebar_toggle.last().remove(); - this.wrapper.addClass("no-list-sidebar"); - } else { - if (!frappe.is_mobile()) { - sidebar_toggle.attr("title", __("Toggle Sidebar")); - } - sidebar_toggle.attr("aria-label", __("Toggle Sidebar")); - sidebar_toggle.tooltip({ - delay: { show: 600, hide: 100 }, - trigger: "hover", - }); - sidebar_toggle.click(() => { - if (frappe.utils.is_xs() || frappe.utils.is_sm()) { - this.setup_overlay_sidebar(); - } else { - sidebar_wrapper.toggle(); - } - $(document.body).trigger("toggleSidebar"); - this.update_sidebar_icon(); - }); - } - } - - setup_overlay_sidebar() { - this.sidebar.find(".close-sidebar").remove(); - let overlay_sidebar = this.sidebar.find(".overlay-sidebar").addClass("opened"); - $('