Skip to content

Commit e8eb625

Browse files
committed
fix: Add check for empty array
1 parent 33377ad commit e8eb625

1 file changed

Lines changed: 17 additions & 4 deletions

File tree

frappe/public/js/frappe/views/reports/report_view.js

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,11 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView {
189189
// child table field
190190
const [cdt, _field] = fieldname.split(':');
191191
const cdt_row = Object.keys(doc)
192-
.filter(key => Array.isArray(doc[key]) && doc[key][0].doctype === cdt)
192+
.filter(key =>
193+
Array.isArray(doc[key])
194+
&& doc[key].length
195+
&& doc[key][0].doctype === cdt
196+
)
193197
.map(key => doc[key])
194198
.map(a => a[0])
195199
.filter(cdoc => cdoc.name === d[cdt + ':name'])[0];
@@ -509,15 +513,24 @@ frappe.views.ReportView = class ReportView extends frappe.views.ListView {
509513
control.set_value(value);
510514
return this.set_control_value(doctype, docname, fieldname, value)
511515
.then((updated_doc) => {
512-
const _data = this.data.filter(b => b.name === updated_doc.name)
513-
.find(a => (doctype != updated_doc.doctype && a[doctype + ":name"] == docname) || doctype == updated_doc.doctype);
516+
const _data = this.data
517+
.filter(b => b.name === updated_doc.name)
518+
.find(a =>
519+
// child table cell
520+
(doctype != updated_doc.doctype && a[doctype + ":name"] == docname)
521+
|| doctype == updated_doc.doctype
522+
);
514523

515524
for (let field in _data) {
516525
if (field.includes(':')) {
517526
// child table field
518527
const [cdt, _field] = field.split(':');
519528
const cdt_row = Object.keys(updated_doc)
520-
.filter(key => Array.isArray(updated_doc[key]) && updated_doc[key][0].doctype === cdt)
529+
.filter(key =>
530+
Array.isArray(updated_doc[key])
531+
&& updated_doc[key].length
532+
&& updated_doc[key][0].doctype === cdt
533+
)
521534
.map(key => updated_doc[key])[0]
522535
.filter(cdoc => cdoc.name === _data[cdt + ':name'])[0];
523536
if (cdt_row) {

0 commit comments

Comments
 (0)