From aee529f96698744126fcfbb73aba3cb351f2596a Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 2 Nov 2018 11:31:04 +0100 Subject: [PATCH] compartment name column added --- .../main/js/gui/export/ElementExportPanel.js | 25 ++++++++++++++++++- .../js/gui/export/ElementExportPanel-test.js | 15 +++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/frontend-js/src/main/js/gui/export/ElementExportPanel.js b/frontend-js/src/main/js/gui/export/ElementExportPanel.js index b302c5af02..5b19555ab1 100644 --- a/frontend-js/src/main/js/gui/export/ElementExportPanel.js +++ b/frontend-js/src/main/js/gui/export/ElementExportPanel.js @@ -245,7 +245,30 @@ ElementExportPanel.prototype.getAllColumns = function () { }, { "columnName": "compartmentId", "method": "getCompartmentId", - "name": "Compartment" + "name": "Compartment id" + }, { + /** + * + * @param {Alias} bioEntity + * @param {Project} project + * @returns {Promise<string>} + */ + "method": function (bioEntity, project) { + var modelId = bioEntity.getModelId(); + var compartmentId = bioEntity.getCompartmentId(); + if (compartmentId !== undefined) { + return project.getModelById(modelId).getByIdentifiedElement(new IdentifiedElement({ + id: compartmentId, + modelId: modelId, + type: "ALIAS" + }), true).then(function(complex){ + return complex.getName(); + }); + } else { + return Promise.resolve(""); + } + }, + "name": "Compartment name" }, { "columnName": "charge", "method": "getCharge", diff --git a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js index 7a4096995b..7ae054ea43 100644 --- a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js +++ b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js @@ -302,6 +302,21 @@ describe('ElementExportPanel', function () { assert.ok(rowString.indexOf(complexName) >= 0); }); }); + it('compartment name', function () { + var compartmentName = "Compartment name2"; + var exportObject = new ElementExportPanel({ + element: testDiv, + project: helper.createProject(), + configuration: helper.getConfiguration() + }); + var alias = helper.createAlias(exportObject.getProject().getModels()[0]); + var compartment = helper.createAlias(exportObject.getProject().getModels()[0]); + compartment.setName(compartmentName); + alias.setCompartmentId(compartment.getId()); + return exportObject.createResponseRow(alias, exportObject.getAllColumns(), []).then(function (rowString) { + assert.ok(rowString.indexOf(compartmentName) >= 0); + }); + }); it('column with function manipulating data', function () { var exportObject = new ElementExportPanel({ element: testDiv, -- GitLab