From 0b1e7419b70f601b4e4c346bb61f95a696df0bf3 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 2 Nov 2018 11:45:20 +0100 Subject: [PATCH] create response row returns a promise --- .../src/main/js/gui/export/AbstractExportPanel.js | 2 +- .../src/main/js/gui/export/NetworkExportPanel.js | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js index 4f41b6942b..d389e00115 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 b4c178bc10..67be353d05 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; -- GitLab