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

minerva.create doesn't return customMap object anymore

parent e6934645
No related branches found
No related tags found
1 merge request!5Frontend refactor
...@@ -1037,6 +1037,16 @@ CustomMap.prototype.getOverlayByName = function(name) { ...@@ -1037,6 +1037,16 @@ CustomMap.prototype.getOverlayByName = function(name) {
return this.overlayCollections[name]; return this.overlayCollections[name];
}; };
CustomMap.prototype.getDbOverlays = function() {
var result = [];
for (var overlayName in this.overlayCollections) {
if (this.overlayCollections.hasOwnProperty(overlayName)) {
result.push(this.overlayCollections[overlayName]);
}
}
return result;
};
/** /**
* Returns {@link AbstractInfoWindow} for element identified by the parameter. * Returns {@link AbstractInfoWindow} for element identified by the parameter.
* *
......
...@@ -18,6 +18,8 @@ var SelectionContextMenu = require('./gui/SelectionContextMenu'); ...@@ -18,6 +18,8 @@ var SelectionContextMenu = require('./gui/SelectionContextMenu');
var OriginalGuiConnector = require('./GuiConnector'); var OriginalGuiConnector = require('./GuiConnector');
var OriginalServerConnector = require('./ServerConnector'); var OriginalServerConnector = require('./ServerConnector');
var Promise = require("bluebird");
var logger = require('./logger'); var logger = require('./logger');
function processUrlGetParams(params) { function processUrlGetParams(params) {
...@@ -128,7 +130,42 @@ function createDivStructure(element) { ...@@ -128,7 +130,42 @@ function createDivStructure(element) {
name : "selectionContextMenu", name : "selectionContextMenu",
}); });
element.appendChild(selectionContextMenu); element.appendChild(selectionContextMenu);
}
function createResult(customMap) {
return {
getSelectedDataOverlays : function() {
return customMap.getSelectedLayouts();
},
getHiglightedElements : function(dbOverlayName) {
var dbOverlay = customMap.getOverlayByName(dbOverlayName);
if (dbOverlay === null) {
var validOverlays = "";
var overlays = customMap.getDbOverlays();
for ( var overlay in overlays) {
if (overlays.hasOwnProperty(overlay)) {
validOverlays += overlay.getName() + ", ";
}
}
throw new Error("Invalid DbOverlay: " + dbOverlayName + ". Valid DbOverlays: " + validOverlays);
} else {
return dbOverlay.getIdentifiedElements().then(
function(identifiedElements) {
var result = [];
return Promise.each(
identifiedElements,
function(item) {
return customMap.getSubmapById(item.getModelId()).getModel().getByIdentifiedElement(item, true)
.then(function(fullElement) {
result.push(fullElement);
});
}).then(function() {
return result;
});
});
}
}
};
} }
function create(params) { function create(params) {
...@@ -171,44 +208,44 @@ function create(params) { ...@@ -171,44 +208,44 @@ function create(params) {
createDivStructure(element); createDivStructure(element);
params.setElement(functions.getElementByName(element, "mapDiv")); params.setElement(functions.getElementByName(element, "mapDiv"));
var result = new CustomMap(params); var customMap = new CustomMap(params);
new DbOverlayCollection({ new DbOverlayCollection({
map : result map : customMap
}); });
var leftPanel = new LeftPanel({ var leftPanel = new LeftPanel({
element : functions.getElementByName(element, "leftPanelDiv"), element : functions.getElementByName(element, "leftPanelDiv"),
customMap : result customMap : customMap
}); });
var topMenu = new TopMenu({ var topMenu = new TopMenu({
element : functions.getElementByName(element, "menuDiv"), element : functions.getElementByName(element, "menuDiv"),
customMap : result customMap : customMap
}); });
var legend = new Legend({ var legend = new Legend({
element : functions.getElementByName(element, "legendDiv"), element : functions.getElementByName(element, "legendDiv"),
customMap : result customMap : customMap
}); });
var mapContextMenu = new MapContextMenu({ var mapContextMenu = new MapContextMenu({
element : functions.getElementByName(element, "contextMenu"), element : functions.getElementByName(element, "contextMenu"),
customMap : result customMap : customMap
}); });
result.setContextMenu(mapContextMenu); customMap.setContextMenu(mapContextMenu);
var selectionContextMenu = new SelectionContextMenu({ var selectionContextMenu = new SelectionContextMenu({
element : functions.getElementByName(element, "selectionContextMenu"), element : functions.getElementByName(element, "selectionContextMenu"),
customMap : result customMap : customMap
}); });
result.setSelectionContextMenu(selectionContextMenu); customMap.setSelectionContextMenu(selectionContextMenu);
topMenu.setLegend(legend); topMenu.setLegend(legend);
topMenu.setLeftPanel(leftPanel); topMenu.setLeftPanel(leftPanel);
return result.init().then(function() { return customMap.init().then(function() {
return insertGoogleAnalyticsCode(result); return insertGoogleAnalyticsCode(customMap);
}).then(function() { }).then(function() {
return leftPanel.init(); return leftPanel.init();
}).then(function() { }).then(function() {
...@@ -225,7 +262,7 @@ function create(params) { ...@@ -225,7 +262,7 @@ function create(params) {
for (var j = 0; j < layouts.length; j++) { for (var j = 0; j < layouts.length; j++) {
var layout = layouts[j]; var layout = layouts[j];
if (layout.getName() === GuiConnector.getParams["layout"]) { if (layout.getName() === GuiConnector.getParams["layout"]) {
return result.openDataOverlay(layout); return customMap.openDataOverlay(layout);
} }
} }
} }
...@@ -233,11 +270,14 @@ function create(params) { ...@@ -233,11 +270,14 @@ function create(params) {
var submapId = GuiConnector.getParams["submap"]; var submapId = GuiConnector.getParams["submap"];
if (submapId !== undefined) { if (submapId !== undefined) {
result.openSubmap(submapId); return customMap.openSubmap(submapId);
} }
}).then(function() {
var result = createResult(customMap);
if (params.isDebug()) { if (params.isDebug()) {
global.leftPanel = leftPanel; result.leftPanel = leftPanel;
result.customMap = customMap;
} }
return result; return result;
}); });
......
...@@ -105,7 +105,7 @@ describe('minerva global', function() { ...@@ -105,7 +105,7 @@ describe('minerva global', function() {
return minerva.create(options).then(function(result) { return minerva.create(options).then(function(result) {
assert.ok(result); assert.ok(result);
// input file is not available so it's the background // input file is not available so it's the background
assert.equal(result.getSelectedLayouts().length, 0); assert.equal(result.getSelectedDataOverlays().length, 0);
assert.equal(ServerConnector.getSessionData(project).getSelectedBackgroundOverlay(), layoutId); assert.equal(ServerConnector.getSessionData(project).getSelectedBackgroundOverlay(), layoutId);
assert.equal(logger.getWarnings().length, 0); assert.equal(logger.getWarnings().length, 0);
}); });
...@@ -147,7 +147,7 @@ describe('minerva global', function() { ...@@ -147,7 +147,7 @@ describe('minerva global', function() {
return minerva.create(options).then(function(result) { return minerva.create(options).then(function(result) {
assert.ok(result); assert.ok(result);
// input file is available so it's not the background file but overlay // input file is available so it's not the background file but overlay
assert.equal(result.getSelectedLayouts().length, 1); assert.equal(result.getSelectedDataOverlays().length, 1);
assert.equal(logger.getWarnings().length, 0); assert.equal(logger.getWarnings().length, 0);
}); });
}); });
...@@ -161,7 +161,7 @@ describe('minerva global', function() { ...@@ -161,7 +161,7 @@ describe('minerva global', function() {
var options = helper.createOptions(project); var options = helper.createOptions(project);
return minerva.create(options).then(function(result) { return minerva.create(options).then(function(result) {
return result.getOverlayByName("search").getIdentifiedElements(); return result.getHiglightedElements("search");
}).then(function(elements) { }).then(function(elements) {
assert.ok(elements.length > 0); assert.ok(elements.length > 0);
}); });
......
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