Skip to content
Snippets Groups Projects
Commit 085c2216 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

creating rows changed into promises

parent 7d935236
No related branches found
No related tags found
4 merge requests!488Merge 12.1.1 into master,!48712.1.1 into master,!484v12.1.1 release,!482Resolve "Corrections to Export functionality"
...@@ -361,7 +361,7 @@ AbstractExportPanel.prototype._getAllCompartments = function () { ...@@ -361,7 +361,7 @@ AbstractExportPanel.prototype._getAllCompartments = function () {
/** /**
* *
* @returns {HTMLElement} * @returns {HTMLElement}
* @private * @protected
*/ */
AbstractExportPanel.prototype._createDownloadButton = function () { AbstractExportPanel.prototype._createDownloadButton = function () {
var self = this; var self = this;
...@@ -445,7 +445,7 @@ AbstractExportPanel.prototype._createSelectIncludedCompartmentDiv = function () ...@@ -445,7 +445,7 @@ AbstractExportPanel.prototype._createSelectIncludedCompartmentDiv = function ()
/** /**
* *
* @returns {Promise<HTMLElement>} * @returns {Promise<HTMLElement>}
* @private * @protected
*/ */
AbstractExportPanel.prototype._createSelectExcludedCompartmentDiv = function () { AbstractExportPanel.prototype._createSelectExcludedCompartmentDiv = function () {
var self = this; var self = this;
...@@ -563,8 +563,8 @@ AbstractExportPanel.prototype.getSelectedExcludedCompartments = function () { ...@@ -563,8 +563,8 @@ AbstractExportPanel.prototype.getSelectedExcludedCompartments = function () {
/** /**
* *
* @param {{name:string}[]} columns * @param {{name:string}[]} columns
* @param {MiriamType[]> miriamTypes * @param {MiriamType[]} miriamTypes
* @returns {string} * @returns {Promise<string>}
*/ */
AbstractExportPanel.prototype.createResponseHeader = function (columns, miriamTypes) { AbstractExportPanel.prototype.createResponseHeader = function (columns, miriamTypes) {
var stringBuilder = []; var stringBuilder = [];
......
...@@ -112,12 +112,14 @@ ElementExportPanel.prototype.createResponseString = function () { ...@@ -112,12 +112,14 @@ ElementExportPanel.prototype.createResponseString = function () {
return Promise.reject(new GuiMessageError("You must select at least one column")); return Promise.reject(new GuiMessageError("You must select at least one column"));
} }
var rows = []; var rowPromises = [];
rows.push(self.createResponseHeader(selectedColumns, miriamTypes)); rowPromises.push(self.createResponseHeader(selectedColumns, miriamTypes));
for (var i = 0; i < elements.length; i++) { for (var i = 0; i < elements.length; i++) {
rows.push(self.createResponseRow(elements[i], selectedColumns, miriamTypes)); rowPromises.push(self.createResponseRow(elements[i], selectedColumns, miriamTypes));
} }
return rows.join("\n"); return Promise.all(rowPromises).then(function(rows){
return rows.join("\n");
});
}); });
}; };
...@@ -126,7 +128,7 @@ ElementExportPanel.prototype.createResponseString = function () { ...@@ -126,7 +128,7 @@ ElementExportPanel.prototype.createResponseString = function () {
* @param {Alias} alias * @param {Alias} alias
* @param {Array} columns * @param {Array} columns
* @param {MiriamType[]} miriamTypes * @param {MiriamType[]} miriamTypes
* @returns {string} * @returns {Promise<string>}
*/ */
ElementExportPanel.prototype.createResponseRow = function (alias, columns, miriamTypes) { ElementExportPanel.prototype.createResponseRow = function (alias, columns, miriamTypes) {
var stringBuilder = []; var stringBuilder = [];
...@@ -154,7 +156,7 @@ ElementExportPanel.prototype.createResponseRow = function (alias, columns, miria ...@@ -154,7 +156,7 @@ ElementExportPanel.prototype.createResponseRow = function (alias, columns, miria
} }
stringBuilder.push(value); stringBuilder.push(value);
} }
return stringBuilder.join("\t"); return Promise.resolve(stringBuilder.join("\t"));
}; };
/** /**
......
...@@ -283,8 +283,9 @@ describe('ElementExportPanel', function () { ...@@ -283,8 +283,9 @@ describe('ElementExportPanel', function () {
var alias = helper.createAlias(); var alias = helper.createAlias();
var desc = "test\ntest2\n"; var desc = "test\ntest2\n";
alias.setDescription(desc); alias.setDescription(desc);
var rowString = exportObject.createResponseRow(alias, exportObject.getAllColumns(), []); return exportObject.createResponseRow(alias, exportObject.getAllColumns(), []).then (function(rowString){
assert.ok(rowString.indexOf("test\ntest2\n") === -1); assert.ok(rowString.indexOf("test\ntest2\n") === -1);
});
}); });
}); });
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment