[Enhancement] Custom menu for reportview (#2452)
This commit is contained in:
parent
fa00e8e3b2
commit
d0bd31e95b
3 changed files with 41 additions and 26 deletions
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -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("<input type='checkbox' \
|
||||
data-row='%(row)s' %(checked)s>", {
|
||||
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({
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue