Merge pull request #14434 from deepeshgarg007/report_loader
fix: Loading state for query reports
This commit is contained in:
commit
429f77be0c
1 changed files with 23 additions and 6 deletions
|
|
@ -107,7 +107,6 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
}
|
||||
|
||||
if (this.report_name !== frappe.get_route()[1]) {
|
||||
// this.toggle_loading(true);
|
||||
// different report
|
||||
this.load_report();
|
||||
}
|
||||
|
|
@ -556,6 +555,7 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
refresh() {
|
||||
this.toggle_message(true);
|
||||
this.toggle_report(false);
|
||||
this.show_loading_screen();
|
||||
let filters = this.get_filter_values(true);
|
||||
|
||||
// only one refresh at a time
|
||||
|
|
@ -645,6 +645,8 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
|
||||
this.show_footer_message();
|
||||
frappe.hide_progress();
|
||||
}).finally(() => {
|
||||
this.hide_loading_screen();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -869,6 +871,24 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
}
|
||||
}
|
||||
|
||||
show_loading_screen() {
|
||||
const loading_state = `<div class="msg-box no-border">
|
||||
<div>
|
||||
<img src="/assets/frappe/images/ui-states/list-empty-state.svg" alt="Generic Empty State" class="null-state">
|
||||
</div>
|
||||
<p>${__('Loading')}...</p>
|
||||
</div>`;
|
||||
|
||||
this.$loading.find('div').html(loading_state);
|
||||
this.$report.hide();
|
||||
this.$loading.show();
|
||||
}
|
||||
|
||||
hide_loading_screen() {
|
||||
this.$loading.hide();
|
||||
this.$report.show();
|
||||
}
|
||||
|
||||
get_chart_options(data) {
|
||||
let options = this.report_settings.get_chart_data
|
||||
? this.report_settings.get_chart_data(data.columns, data.result)
|
||||
|
|
@ -1679,6 +1699,8 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
.hide().appendTo(this.page.main);
|
||||
|
||||
this.$chart = $('<div class="chart-wrapper">').hide().appendTo(this.page.main);
|
||||
|
||||
this.$loading = $(this.message_div('')).hide().appendTo(this.page.main);
|
||||
this.$report = $('<div class="report-wrapper">').appendTo(this.page.main);
|
||||
this.$message = $(this.message_div('')).hide().appendTo(this.page.main);
|
||||
}
|
||||
|
|
@ -1738,11 +1760,6 @@ frappe.views.QueryReport = class QueryReport extends frappe.views.BaseList {
|
|||
this.refresh();
|
||||
}
|
||||
|
||||
toggle_loading(flag) {
|
||||
this.toggle_message(flag, __('Loading') + '...');
|
||||
}
|
||||
|
||||
|
||||
toggle_nothing_to_show(flag) {
|
||||
let message = this.prepared_report
|
||||
? __('This is a background report. Please set the appropriate filters and then generate a new one.')
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue