From 514122cc1f0330d3494310ae2fc2a9dbfa407904 Mon Sep 17 00:00:00 2001 From: tsv2013 Date: Wed, 26 Jun 2024 11:22:58 +0300 Subject: [PATCH] Fixed #445 - Download buttons broken with remote pagination --- src/tables/tabulator.ts | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/tables/tabulator.ts b/src/tables/tabulator.ts index ea7bae7a4..f18e5649e 100755 --- a/src/tables/tabulator.ts +++ b/src/tables/tabulator.ts @@ -259,17 +259,19 @@ export class Tabulator extends Table { this._rows.push(tableRow); }; private accessorDownload = (cellData: any, rowData: any, reason: string, _: any, columnComponent: any, rowComponent: any) => { - const columnDefinition = columnComponent.getDefinition(); - const questionName = columnDefinition.field; - const column = this.columns.filter(col => col.name === questionName)[0]; - if (!!column && rowComponent) { - const dataRow = this.data[rowComponent.getPosition()]; - const dataCell = dataRow[questionName]; - if (column.dataType === ColumnDataType.Image) { - return questionName; - } - if (column.dataType === ColumnDataType.FileLink && Array.isArray(dataCell)) { - return (dataCell || []).map(f => f.name).join(", "); + if(Array.isArray(this.data)) { + const columnDefinition = columnComponent.getDefinition(); + const questionName = columnDefinition.field; + const column = this.columns.filter(col => col.name === questionName)[0]; + if (!!column && rowComponent) { + const dataRow = this.data[rowComponent.getPosition()]; + const dataCell = dataRow[questionName]; + if (column.dataType === ColumnDataType.Image) { + return questionName; + } + if (column.dataType === ColumnDataType.FileLink && Array.isArray(dataCell)) { + return (dataCell || []).map(f => f.name).join(", "); + } } } if (this.currentDownloadType === "csv" || this.currentDownloadType === "xlsx") {