fix(QueryReport): Expand/Collapse all for tree

This commit is contained in:
Faris Ansari 2019-04-05 17:23:55 +05:30
parent fb4ef2e3d2
commit c054961c3b
4 changed files with 42 additions and 8 deletions

View file

@ -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(`<span class="text-left col-md-6">${message}</span><span class="text-right col-md-6">${execution_time_msg}</span>`);
this.page.footer.removeClass('hide').addClass('text-muted col-md-12').html(`
<span class="text-left col-md-6">${message}</span><span class="text-right col-md-6">${execution_time_msg}</span>
`);
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(`<div class="col-md-12">
<button class="btn btn-xs btn-default" data-action="expand_all_rows">
${__('Expand All')}</button>
<button class="btn btn-xs btn-default" data-action="collapse_all_rows">
${__('Collapse All')}</button>
</div>`);
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) {

View file

@ -118,7 +118,7 @@
.layout-footer {
border: 1px solid @border-color;
border-top: 0px;
padding: 3px 15px;
padding: 5px 15px;
font-size: @text-medium;
}

View file

@ -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",

View file

@ -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"