diff --git a/frontend-js/src/main/js/plugin/MinervaPluginProxy.js b/frontend-js/src/main/js/plugin/MinervaPluginProxy.js index 5e72c1e755757c32a757eb92c4a9476f4749e56d..820bc0694b2e18de2982faecc7cacbe9f1caa74f 100644 --- a/frontend-js/src/main/js/plugin/MinervaPluginProxy.js +++ b/frontend-js/src/main/js/plugin/MinervaPluginProxy.js @@ -1,5 +1,6 @@ "use strict"; +var Annotation = require('../map/data/Annotation'); var IdentifiedElement = require('../map/data/IdentifiedElement'); var UserDbOverlay = require('../map/overlay/UserDbOverlay'); var Configuration = require('../Configuration'); @@ -131,6 +132,36 @@ function createProjectData(options) { param = [param]; } return getReactionsForElements(param, map); + }, + getProjectId: function () { + return map.getProject().getProjectId(); + }, + getName: function () { + return map.getProject().getName(); + }, + getVersion: function () { + return map.getProject().getVersion(); + }, + getDisease: function () { + if (map.getProject().getDisease() !== undefined) { + return new Annotation(map.getProject().getDisease()); + } else { + return null; + } + }, + getOrganism: function () { + if (map.getProject().getOrganism() !== undefined) { + return new Annotation(map.getProject().getOrganism()); + } else { + return null; + } + }, + getModels: function () { + var result = [{modelId: map.getId()}]; + for (var i = 0; i < map.getSubmaps().length; i++) { + result.push({modelId: map.getSubmaps()[i].getId()}); + } + return result; } }; } diff --git a/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js b/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js index 7d75b82467d94f1d3531183032ce3e5979afecfd..4efd86fa13ce3270df6820880f82e42a0a2d020d 100644 --- a/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js +++ b/frontend-js/src/test/js/plugin/MinervaPluginProxy-test.js @@ -300,5 +300,54 @@ describe('MinervaPluginProxy', function () { }); }); + it("getProjectId", function () { + return ServerConnector.getProject().then(function (project) { + var map = helper.createCustomMap(project); + var proxy = createProxy(map); + assert.equal("sample", proxy.project.data.getProjectId()); + map.destroy(); + }); + }); + it("getName", function () { + return ServerConnector.getProject().then(function (project) { + var map = helper.createCustomMap(project); + var proxy = createProxy(map); + assert.equal("UNKNOWN DISEASE MAP", proxy.project.data.getName()); + map.destroy(); + }); + }); + it("getVersion", function () { + return ServerConnector.getProject().then(function (project) { + var map = helper.createCustomMap(project); + var proxy = createProxy(map); + assert.equal("0", proxy.project.data.getVersion()); + map.destroy(); + }); + }); + it("getDisease", function () { + return ServerConnector.getProject().then(function (project) { + var map = helper.createCustomMap(project); + var proxy = createProxy(map); + assert.ok(proxy.project.data.getDisease()); + map.destroy(); + }); + }); + it("getOrganism", function () { + return ServerConnector.getProject().then(function (project) { + var map = helper.createCustomMap(project); + var proxy = createProxy(map); + assert.ok(proxy.project.data.getOrganism()); + map.destroy(); + }); + }); + it("getModels", function () { + return ServerConnector.getProject().then(function (project) { + var map = helper.createCustomMap(project); + var proxy = createProxy(map); + assert.equal(1, proxy.project.data.getModels().length); + map.destroy(); + }); + }); + });