diff --git a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js index 4f41b6942b9c734206781df8cfdec1ed00bcdbb9..d389e001157f629710dbab7da33c74489318b918 100644 --- a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js +++ b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js @@ -585,7 +585,7 @@ AbstractExportPanel.prototype.createResponseHeader = function (columns, miriamTy var miriamType = miriamTypes[i]; stringBuilder.push(miriamType.getCommonName()); } - return stringBuilder.join("\t"); + return Promise.resolve(stringBuilder.join("\t")); }; diff --git a/frontend-js/src/main/js/gui/export/NetworkExportPanel.js b/frontend-js/src/main/js/gui/export/NetworkExportPanel.js index b4c178bc104b1a663b37633518f10446ca1e1b88..67be353d052dd7282105e9bc3304430bae5d95ef 100644 --- a/frontend-js/src/main/js/gui/export/NetworkExportPanel.js +++ b/frontend-js/src/main/js/gui/export/NetworkExportPanel.js @@ -237,11 +237,13 @@ NetworkExportPanel.prototype.createResponseString = function () { return Promise.reject(new GuiMessageError("You must select at least one column")); } - var rows = []; - rows.push(self.createResponseHeader(selectedColumns, miriamTypes)); + var rowPromises = []; + rowPromises.push(self.createResponseHeader(selectedColumns, miriamTypes)); for (var i = 0; i < reactions.length; i++) { - rows.push(self.createResponseRow(reactions[i], selectedColumns, miriamTypes, elementIds)); + rowPromises.push(self.createResponseRow(reactions[i], selectedColumns, miriamTypes, elementIds)); } + return Promise.all(rowPromises); + }).then(function (rows) { return rows.join("\n"); }); }; @@ -252,7 +254,7 @@ NetworkExportPanel.prototype.createResponseString = function () { * @param {Object} columns * @param {MiriamType[]} miriamTypes * @param {Object<string,boolean>} elementIds - * @returns {string} + * @returns {Promise<string>} */ NetworkExportPanel.prototype.createResponseRow = function (reaction, columns, miriamTypes, elementIds) { var stringBuilder = []; @@ -280,7 +282,7 @@ NetworkExportPanel.prototype.createResponseRow = function (reaction, columns, mi } stringBuilder.push(value); } - return stringBuilder.join("\t"); + return Promise.resolve(stringBuilder.join("\t")); }; module.exports = NetworkExportPanel;