From 52bffa7f9c586e77cd1639d8509cc56b7843b8bc Mon Sep 17 00:00:00 2001 From: Ziad-I <68874104+Ziad-I@users.noreply.github.com> Date: Thu, 8 Aug 2024 23:13:01 +0300 Subject: [PATCH] handle edge case not covered by last commit --- .../bonsai/bim/data/webui/static/js/index.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/bonsai/bonsai/bim/data/webui/static/js/index.js b/src/bonsai/bonsai/bim/data/webui/static/js/index.js index 2856846808..236c7b3031 100644 --- a/src/bonsai/bonsai/bim/data/webui/static/js/index.js +++ b/src/bonsai/bonsai/bim/data/webui/static/js/index.js @@ -261,6 +261,8 @@ function updateTableElement(blenderId, csvData, filename) { // else, replace the whole data and column definations const firstLine = csvData.indexOf("\n"); const newHeaders = csvData.substring(0, firstLine).split(","); + const hasRows = csvData.substring(firstLine + 1).trim().length > 0; + const sameHeaders = compareHeaders( connectedClients[blenderId].headers, newHeaders @@ -272,7 +274,12 @@ function updateTableElement(blenderId, csvData, filename) { table.replaceData(csvData, { importFormat: "csv" }); } else { table.setData(csvData); - connectedClients[blenderId].headers = newHeaders; + + if (hasRows) { + connectedClients[blenderId].headers = newHeaders; + } else { + connectedClients[blenderId].headers = ""; + } } $("#title-" + blenderId).text(filename); } @@ -289,7 +296,11 @@ function showWarning(blenderId, isDirty) { // Utility function to compare two csv header function compareHeaders(headers1, headers2) { - if (headers1.length !== headers2.length) { + if ( + headers1.length !== headers2.length || + headers1.length == 0 || + headers2.length == 0 + ) { return false; } for (let i = 0; i < headers1.length; i++) {