diff --git a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js index d4d6662772235ca423e3a498d341fa82c52bd2c9..8a2070ea51f75c494746eae7013bf214364103ce 100644 --- a/frontend-js/src/main/js/gui/export/AbstractExportPanel.js +++ b/frontend-js/src/main/js/gui/export/AbstractExportPanel.js @@ -223,7 +223,7 @@ AbstractExportPanel.prototype.getMiriamTypesDualListbox = function () { * * @param {{columnName:string, name:string}[]} columnTypes * @returns {HTMLElement} - * @private + * @protected */ AbstractExportPanel.prototype._createSelectColumnDiv = function (columnTypes) { var columnDiv = Functions.createElement({ diff --git a/frontend-js/src/main/js/gui/export/ElementExportPanel.js b/frontend-js/src/main/js/gui/export/ElementExportPanel.js index 8c96fec2a2c4b8a705dd93ebd16ac680c601ec81..5cbc4053b1eed4ea59c88202dda7fcb3ade3fb85 100644 --- a/frontend-js/src/main/js/gui/export/ElementExportPanel.js +++ b/frontend-js/src/main/js/gui/export/ElementExportPanel.js @@ -3,10 +3,10 @@ /* exported logger */ var AbstractExportPanel = require('./AbstractExportPanel'); -var Functions = require('../../Functions'); var GuiMessageError = require('../GuiMessageError'); var IdentifiedElement = require('../../map/data/IdentifiedElement'); +// noinspection JSUnusedLocalSymbols var logger = require('../../logger'); var Promise = require("bluebird"); @@ -23,7 +23,7 @@ var Promise = require("bluebird"); * @extends AbstractExportPanel */ function ElementExportPanel(params) { - params.panelName = "elementExport"; + params["panelName"] = "elementExport"; AbstractExportPanel.call(this, params); } @@ -37,14 +37,11 @@ ElementExportPanel.prototype.constructor = ElementExportPanel; ElementExportPanel.prototype.init = function () { var self = this; var element = self.getElement(); - var configuration; - return ServerConnector.getConfiguration().then(function (result) { - configuration = result; - var typeDiv = self._createSelectTypeDiv(configuration.getElementTypes()); - element.appendChild(typeDiv); - element.appendChild(self._createSelectColumnDiv(self.getAllColumns())); - return ServerConnector.getProjectStatistics(self.getProject().getProjectId()); - }).then(function (statistics) { + var configuration = self.getConfiguration(); + var typeDiv = self._createSelectTypeDiv(configuration.getElementTypes()); + element.appendChild(typeDiv); + element.appendChild(self._createSelectColumnDiv(self.getAllColumns())); + return self.getServerConnector().getProjectStatistics(self.getProject().getProjectId()).then(function (statistics) { return self._createMiriamTypeDiv(statistics.getElementAnnotations()); }).then(function (div) { element.appendChild(div); 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 7ae054ea43a11b081c926c0f37a498069ece178c..be02659da4ce6fae6acc7a9f322adfc661a1f46c 100644 --- a/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js +++ b/frontend-js/src/test/js/gui/export/ElementExportPanel-test.js @@ -12,19 +12,22 @@ var assert = require('assert'); describe('ElementExportPanel', function () { + function createExportPanel(project) { + return new ElementExportPanel({ + element: testDiv, + project: project, + serverConnector: ServerConnector, + configuration: helper.getConfiguration() + }); + } + describe('getSelectedTypes', function () { it('select single element', function () { var exportObject; var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { $("input[name='Degraded']", $(testDiv)).each(function (index, element) { @@ -41,19 +44,10 @@ describe('ElementExportPanel', function () { var project; var elementTypes; - var configuration; - - return ServerConnector.getConfiguration().then(function (result) { - configuration = result; - elementTypes = configuration.getSimpleElementTypeNames(); - return ServerConnector.getProject(); - }).then(function (result) { + elementTypes = helper.getConfiguration().getSimpleElementTypeNames(); + return ServerConnector.getProject().then(function (result) { project = result; - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { $("input[name='Degraded']", $(testDiv)).each(function (index, element) { @@ -75,13 +69,7 @@ describe('ElementExportPanel', function () { var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { $("input[name='column_name']", $(testDiv)).each(function (index, element) { @@ -95,20 +83,9 @@ describe('ElementExportPanel', function () { it('select all', function () { var exportObject; var project; - var elementTypes; - var configuration; - - return ServerConnector.getConfiguration().then(function (result) { - configuration = result; - elementTypes = configuration.getElementTypes(); - return ServerConnector.getProject(); - }).then(function (result) { + return ServerConnector.getProject().then(function (result) { project = result; - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { $("input[name='column_name']", $(testDiv)).each(function (index, element) { @@ -130,13 +107,7 @@ describe('ElementExportPanel', function () { var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { var dlb = exportObject.getMiriamTypesDualListbox(); @@ -158,13 +129,7 @@ describe('ElementExportPanel', function () { var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { assert.ok(exportObject.getIncludedCompartmentsDualListbox().available.length > 0); @@ -183,13 +148,7 @@ describe('ElementExportPanel', function () { var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { var dlb = exportObject.getExcludedCompartmentsDualListbox(); @@ -208,13 +167,7 @@ describe('ElementExportPanel', function () { var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { $("input[name='ALL']", $(testDiv)).each(function (index, element) { @@ -235,13 +188,7 @@ describe('ElementExportPanel', function () { var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { return exportObject.createResponseString(); @@ -256,13 +203,7 @@ describe('ElementExportPanel', function () { var project; return ServerConnector.getProject().then(function (result) { project = result; - return ServerConnector.getConfiguration(); - }).then(function (configuration) { - exportObject = new ElementExportPanel({ - element: testDiv, - project: project, - configuration: configuration - }); + exportObject = createExportPanel(project); return exportObject.init(); }).then(function () { $("input[name='ALL']", $(testDiv)).each(function (index, element) { @@ -275,11 +216,7 @@ describe('ElementExportPanel', function () { describe('createResponseRow', function () { it('description with new line', function () { - var exportObject = new ElementExportPanel({ - element: testDiv, - project: helper.createProject(), - configuration: helper.getConfiguration() - }); + var exportObject = createExportPanel(helper.createProject()); var alias = helper.createAlias(exportObject.getProject().getModels()[0]); var desc = "test\ntest2\n"; alias.setDescription(desc); @@ -289,11 +226,7 @@ describe('ElementExportPanel', function () { }); it('complex name', function () { var complexName = "Complex name2"; - var exportObject = new ElementExportPanel({ - element: testDiv, - project: helper.createProject(), - configuration: helper.getConfiguration() - }); + var exportObject = createExportPanel(helper.createProject()); var alias = helper.createAlias(exportObject.getProject().getModels()[0]); var complex = helper.createAlias(exportObject.getProject().getModels()[0]); complex.setName(complexName); @@ -304,11 +237,7 @@ describe('ElementExportPanel', function () { }); it('compartment name', function () { var compartmentName = "Compartment name2"; - var exportObject = new ElementExportPanel({ - element: testDiv, - project: helper.createProject(), - configuration: helper.getConfiguration() - }); + var exportObject = createExportPanel(helper.createProject()); var alias = helper.createAlias(exportObject.getProject().getModels()[0]); var compartment = helper.createAlias(exportObject.getProject().getModels()[0]); compartment.setName(compartmentName); @@ -318,11 +247,7 @@ describe('ElementExportPanel', function () { }); }); it('column with function manipulating data', function () { - var exportObject = new ElementExportPanel({ - element: testDiv, - project: helper.createProject(), - configuration: helper.getConfiguration() - }); + var exportObject = createExportPanel(helper.createProject()); var alias = helper.createAlias(); return exportObject.createResponseRow(alias, [{ "columnName": "id",