From 5c5253e00d8f5f6adc78d1257255b7d288316638 Mon Sep 17 00:00:00 2001 From: prssanna Date: Wed, 12 Aug 2020 16:35:44 +0530 Subject: [PATCH 1/3] feat(Report Builder): Ability to show child table row index number --- .../js/frappe/views/reports/report_view.js | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 95a3577698..60dd96064e 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -836,8 +836,15 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { const child_table_fields = frappe.meta.get_docfields(cdt).filter(standard_fields_filter); out[cdt] = child_table_fields; - }); + // add index column for child tables + out[cdt].push({ + label: __('Index'), + fieldname: 'idx', + fieldtype: 'Int', + parent: cdt + }); + }); return out; } @@ -936,6 +943,15 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { docfield = this.group_by_control.get_group_by_docfield(); } + // child table index column + if (fieldname === 'idx' && doctype !== this.doctype) { + docfield = { + label: "Index", + fieldtype: "Int", + parent: doctype, + } + } + if (!docfield) { docfield = frappe.model.get_std_field(fieldname, true); From 8f558b56db50cda266f9bafa6cc505e4cb228673 Mon Sep 17 00:00:00 2001 From: prssanna Date: Wed, 12 Aug 2020 16:36:45 +0530 Subject: [PATCH 2/3] fix: check field only if doctype is same --- frappe/public/js/frappe/views/reports/report_view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index 60dd96064e..e33746907d 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -864,7 +864,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { .map(df => ({ label: __(df.label), value: df.fieldname, - checked: this.fields.find(f => f[0] === df.fieldname) + checked: this.fields.find(f => f[0] === df.fieldname && f[1] === this.doctype) })) }); From 9717ba3907f8bde956ef5699072d8b48b5a014d9 Mon Sep 17 00:00:00 2001 From: prssanna Date: Wed, 12 Aug 2020 16:45:28 +0530 Subject: [PATCH 3/3] style: missing semicolon --- frappe/public/js/frappe/views/reports/report_view.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/views/reports/report_view.js b/frappe/public/js/frappe/views/reports/report_view.js index e33746907d..c7d001ed94 100644 --- a/frappe/public/js/frappe/views/reports/report_view.js +++ b/frappe/public/js/frappe/views/reports/report_view.js @@ -949,7 +949,7 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView { label: "Index", fieldtype: "Int", parent: doctype, - } + }; } if (!docfield) {