brotherton-erpnext/erpnext/public/js/utils/ledger_preview.js
2023-06-22 15:58:41 +05:30

78 lines
1.9 KiB
JavaScript

frappe.provide('erpnext.accounts');
erpnext.accounts.ledger_preview = {
show_accounting_ledger_preview(frm) {
let me = this;
if(!frm.is_new() && frm.doc.docstatus == 0) {
frm.add_custom_button(__('Accounting Ledger'), function() {
frappe.call({
"type": "GET",
"method": "erpnext.controllers.stock_controller.show_accounting_ledger_preview",
"args": {
"company": frm.doc.company,
"doctype": frm.doc.doctype,
"docname": frm.doc.name
},
"callback": function(response) {
me.make_dialog("Accounting Ledger Preview", "accounting_ledger_preview_html", response.message.gl_columns, response.message.gl_data);
}
})
}, __("Preview"));
}
},
show_stock_ledger_preview(frm) {
let me = this
if(!frm.is_new() && frm.doc.docstatus == 0) {
frm.add_custom_button(__('Stock Ledger'), function() {
frappe.call({
"type": "GET",
"method": "erpnext.controllers.stock_controller.show_stock_ledger_preview",
"args": {
"company": frm.doc.company,
"doctype": frm.doc.doctype,
"docname": frm.doc.name
},
"callback": function(response) {
me.make_dialog("Stock Ledger Preview", "stock_ledger_preview_html", response.message.sl_columns, response.message.sl_data);
}
})
}, __("Preview"));
}
},
make_dialog(label, fieldname, columns, data) {
let me = this;
let dialog = new frappe.ui.Dialog({
"size": "extra-large",
"title": __(label),
"fields": [
{
"fieldtype": "HTML",
"fieldname": fieldname,
},
]
});
setTimeout(function() {
me.get_datatable(columns, data, dialog.get_field(fieldname).wrapper);
}, 200);
dialog.show();
},
get_datatable(columns, data, wrapper) {
const datatable_options = {
columns: columns,
data: data,
dynamicRowHeight: true,
checkboxColumn: false,
inlineFilters: true,
};
new frappe.DataTable(
wrapper,
datatable_options
);
}
}