diff --git a/frappe/public/js/frappe/list/doclistview.js b/frappe/public/js/frappe/list/doclistview.js index 5cdd8d21ab..12c10ef924 100644 --- a/frappe/public/js/frappe/list/doclistview.js +++ b/frappe/public/js/frappe/list/doclistview.js @@ -871,21 +871,5 @@ frappe.views.DocListView = frappe.ui.Listing.extend({ page: me.page, doclistview: me }) - }, - call_for_selected_items: function(method, args) { - var me = this; - args.names = $.map(this.get_checked_items(), function(d) { return d.name; }); - - frappe.call({ - method: method, - args: args, - freeze: true, - callback: function(r) { - if(!r.exc) { - me.list_header.find(".list-select-all").prop("checked", false); - me.refresh(); - } - } - }); } }); diff --git a/frappe/public/js/frappe/ui/listing.js b/frappe/public/js/frappe/ui/listing.js index d80a6ed132..31d3deda3d 100644 --- a/frappe/public/js/frappe/ui/listing.js +++ b/frappe/public/js/frappe/ui/listing.js @@ -448,4 +448,22 @@ frappe.ui.Listing = Class.extend({ this.list_settings = {}; } }, + call_for_selected_items: function(method, args) { + var me = this; + args.names = $.map(this.get_checked_items(), function(d) { return d.name; }); + + frappe.call({ + method: method, + args: args, + freeze: true, + callback: function(r) { + if(!r.exc) { + if(me.list_header) { + me.list_header.find(".list-select-all").prop("checked", false); + } + me.refresh(); + } + } + }); + } }); \ No newline at end of file diff --git a/frappe/public/js/frappe/views/reports/reportview.js b/frappe/public/js/frappe/views/reports/reportview.js index 38ae9621a9..92a8b4f601 100644 --- a/frappe/public/js/frappe/views/reports/reportview.js +++ b/frappe/public/js/frappe/views/reports/reportview.js @@ -118,6 +118,7 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ this.make_save(); this.make_user_permissions(); this.set_tag_and_status_filter(); + this.setup_listview_settings(); // add to desktop this.page.add_menu_item(__("Add to Desktop"), function() { @@ -500,7 +501,7 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ return repl("", { row: row, - checked: (dataContext._checked ? "checked=\"checked\"" : "") + checked: (dataContext.selected ? "checked=\"checked\"" : "") }); } }]); @@ -686,19 +687,12 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ var me = this; if(this.can_delete) { $(this.parent).on("click", "input[type='checkbox'][data-row]", function() { - me.data[$(this).attr("data-row")]._checked + me.data[$(this).attr("data-row")].selected = this.checked ? true : false; }); this.page.add_menu_item(__("Delete"), function() { - var delete_list = [] - $.each(me.data, function(i, d) { - if(d._checked) { - if(d.name) - delete_list.push(d.name); - } - }); - + delete_list = $.map(me.get_checked_items(), function(d) { return d.name; }); if(!delete_list.length) return; if(frappe.confirm(__("This is PERMANENT action and you cannot undo. Continue?"), @@ -731,6 +725,25 @@ frappe.views.ReportView = frappe.ui.Listing.extend({ }, true); } }, + + setup_listview_settings: function() { + if(frappe.listview_settings[this.doctype]["onload"]) { + frappe.listview_settings[this.doctype].onload(this); + } + }, + + get_checked_items: function() { + var me = this; + var selected_records = [] + + $.each(me.data, function(i, d) { + if(d.selected && d.name) { + selected_records.push(d); + } + }); + + return selected_records + } }); frappe.ui.ColumnPicker = Class.extend({