diff --git a/frappe/public/js/frappe/views/reports/query_report.js b/frappe/public/js/frappe/views/reports/query_report.js
index e6423bf3c9..aa284f6aa1 100644
--- a/frappe/public/js/frappe/views/reports/query_report.js
+++ b/frappe/public/js/frappe/views/reports/query_report.js
@@ -79,6 +79,13 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
}
}
});
+ this.page.wrapper.on('click', '[data-action]', (e) => {
+ let action_name = $(e.currentTarget).data('action');
+ let action = this[action_name];
+ if (action.call) {
+ action.call(this, e);
+ }
+ });
}
load() {
@@ -990,8 +997,35 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
const message = __('For comparison, use >5, <10 or =324. For ranges, use 5:10 (for values between 5 & 10).');
const execution_time_msg = __('Execution Time: {0} sec', [this.execution_time || 0.1]);
- this.page.footer.removeClass('hide').addClass('text-muted col-md-12')
- .html(`${message}${execution_time_msg}`);
+ this.page.footer.removeClass('hide').addClass('text-muted col-md-12').html(`
+ ${message}${execution_time_msg}
+ `);
+
+ this.page.wrapper.find('.tree-footer').remove();
+ if (this.tree_report) {
+ this.$tree_footer = this.page.footer.clone().addClass('tree-footer');
+ this.$tree_footer.html(`
+
+
+
`);
+ this.page.footer.before(this.$tree_footer);
+ }
+ this.$tree_footer.find('[data-action=collapse_all_rows]').show();
+ this.$tree_footer.find('[data-action=expand_all_rows]').hide();
+ }
+
+ expand_all_rows() {
+ this.$tree_footer.find('[data-action=expand_all_rows]').hide();
+ this.datatable.rowmanager.expandAllNodes();
+ this.$tree_footer.find('[data-action=collapse_all_rows]').show();
+ }
+
+ collapse_all_rows() {
+ this.$tree_footer.find('[data-action=collapse_all_rows]').hide();
+ this.datatable.rowmanager.collapseAllNodes();
+ this.$tree_footer.find('[data-action=expand_all_rows]').show();
}
message_div(message) {
diff --git a/frappe/public/less/page.less b/frappe/public/less/page.less
index 6249aaacdd..d051a63b00 100644
--- a/frappe/public/less/page.less
+++ b/frappe/public/less/page.less
@@ -118,7 +118,7 @@
.layout-footer {
border: 1px solid @border-color;
border-top: 0px;
- padding: 3px 15px;
+ padding: 5px 15px;
font-size: @text-medium;
}
diff --git a/package.json b/package.json
index 21a2ce0571..358a4920aa 100644
--- a/package.json
+++ b/package.json
@@ -20,7 +20,7 @@
"cookie": "^0.3.1",
"express": "^4.16.2",
"fast-deep-equal": "^2.0.1",
- "frappe-datatable": "^1.11.0",
+ "frappe-datatable": "^1.12.0",
"frappe-gantt": "^0.1.0",
"fuse.js": "^3.2.0",
"highlight.js": "^9.12.0",
diff --git a/yarn.lock b/yarn.lock
index b7dbbcb81a..a3c928e858 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1224,10 +1224,10 @@ forwarded@~0.1.2:
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84"
integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=
-frappe-datatable@^1.11.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/frappe-datatable/-/frappe-datatable-1.11.0.tgz#e0f23659e2bb2e635ecd4f3eccadf1ed762a0629"
- integrity sha512-tXjpNOywq3o6nMru47xhyzrH/sZ3PmrsLLOS+6+VJmqFsVC6TmlJDP1LRxSC+xCSDpumO8jjxfdwcwWWXKfDdw==
+frappe-datatable@^1.12.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/frappe-datatable/-/frappe-datatable-1.12.0.tgz#2273535ead4404e5b165b6564c622acbacfdf61e"
+ integrity sha512-rrsRaxP9+CwPdJiYzmgmYD5ud+0pWzon8n+DKBrnrbFheN5SFnbuRdR58G8qA4/psHIN3rrSEximiQsbTUNdzw==
dependencies:
hyperlist "^1.0.0-beta"
lodash "^4.17.5"