diff --git a/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js b/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js index 8adacc0cacb7502fa21a4f6dc00bbe144ab815bd..59f3b15b1b198eaed14c2adf562ce2714c1c26ba 100644 --- a/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js +++ b/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js @@ -185,4 +185,10 @@ LeftPanel.prototype.getFooter = function() { return this._footer; }; +LeftPanel.prototype.destroy = function() { + var promises = []; + promises.push(this.getFooter().destroy()); + return Promise.all(promises); +}; + module.exports = LeftPanel; diff --git a/frontend-js/src/main/js/minerva.js b/frontend-js/src/main/js/minerva.js index b1eccb5889e8dd2e66a45b43456673825a8aa91b..82d48b8bbe8a15ce75e3f981d0db4ae2cefc21a2 100644 --- a/frontend-js/src/main/js/minerva.js +++ b/frontend-js/src/main/js/minerva.js @@ -22,6 +22,9 @@ var Promise = require("bluebird"); var logger = require('./logger'); +var customMap, leftPanel, topMenu, legend, mapContextMenu, selectionContextMenu; + + function processUrlGetParams(params) { var project = params.getProject(); var sessionData = ServerConnector.getSessionData(project); @@ -184,6 +187,11 @@ function createResult(customMap) { getProject : function() { return customMap.getProject(); }, + destroy : function() { + return leftPanel.destroy().then(function() { + customMap.destroy(); + }); + }, }; } @@ -244,10 +252,6 @@ function modifyParamsForTouchInterface(params) { function create(params) { params = modifyParamsForTouchInterface(params); - var customMap; - var leftPanel; - var topMenu; - var legend, mapContextMenu, selectionContextMenu; if (!(params instanceof CustomMapOptions)) { params = new CustomMapOptions(params); } diff --git a/frontend-js/src/test/js/minerva-test.js b/frontend-js/src/test/js/minerva-test.js index 4840d61cef21f0f79dadf6fe4c20e5d30014d6a2..0e11e74f445d110f40c6975c92473c0c8679e1d0 100644 --- a/frontend-js/src/test/js/minerva-test.js +++ b/frontend-js/src/test/js/minerva-test.js @@ -230,9 +230,14 @@ describe('minerva global', function() { projectId : "sample", element : testDiv }; - logger.debug(options); + var globalResult; return minerva.create(options).then(function(result) { + globalResult = result; assert.ok(result); + }).then(function() { + globalResult.destroy() + }, function() { + globalResult.destroy() }); });