From be4b2f802fbdc07685b80e21f57bd412bea922ce Mon Sep 17 00:00:00 2001 From: rohitwaghchaure Date: Thu, 24 Aug 2023 22:34:36 +0530 Subject: [PATCH] feat: added two options do_not_make_page and do_not_setup_menu for tree (#22190) --- frappe/public/js/frappe/views/treeview.js | 40 ++++++++++++++--------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/frappe/public/js/frappe/views/treeview.js b/frappe/public/js/frappe/views/treeview.js index 6cbc02c649..22810e8e35 100644 --- a/frappe/public/js/frappe/views/treeview.js +++ b/frappe/public/js/frappe/views/treeview.js @@ -57,6 +57,7 @@ frappe.views.TreeView = class TreeView { this.get_tree_nodes = me.opts.get_tree_nodes || "frappe.desk.treeview.get_children"; this.get_permissions(); + this.make_page(); this.make_filters(); this.root_value = null; @@ -66,7 +67,11 @@ frappe.views.TreeView = class TreeView { } this.onload(); - this.set_menu_item(); + + if (!this.opts.do_not_setup_menu) { + this.set_menu_item(); + } + this.set_primary_action(); } get_permissions() { @@ -79,23 +84,27 @@ frappe.views.TreeView = class TreeView { } make_page() { var me = this; - this.parent = frappe.container.add_page(this.page_name); - frappe.ui.make_app_page({ parent: this.parent, single_column: true }); + if (!this.opts || !this.opts.do_not_make_page) { + this.parent = frappe.container.add_page(this.page_name); + frappe.ui.make_app_page({ parent: this.parent, single_column: true }); + this.page = this.parent.page; + frappe.container.change_to(this.page_name); + frappe.breadcrumbs.add( + me.opts.breadcrumb || locals.DocType[me.doctype].module, + me.doctype + ); - this.page = this.parent.page; - frappe.container.change_to(this.page_name); - frappe.breadcrumbs.add( - me.opts.breadcrumb || locals.DocType[me.doctype].module, - me.doctype - ); + this.set_title(); - this.set_title(); + this.page.main.css({ + "min-height": "300px", + }); - this.page.main.css({ - "min-height": "300px", - }); - - this.page.main.addClass("frappe-card"); + this.page.main.addClass("frappe-card"); + } else { + this.page = this.opts.page; + $(this.page[0]).addClass("frappe-card"); + } if (this.opts.show_expand_all) { this.page.add_inner_button(__("Collapse All"), function () { @@ -154,6 +163,7 @@ frappe.views.TreeView = class TreeView { } get_root() { var me = this; + frappe.call({ method: me.get_tree_nodes, args: me.args,