From 34adf614119c404602a7fba18466ae3354d619d7 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Mon, 3 Jul 2017 13:48:50 +0200 Subject: [PATCH] openWindowForAlias syntax changed (takes alias and marker as arguments) --- .../src/main/js/map/AbstractCustomMap.js | 19 +++--- frontend-js/src/main/js/map/CustomMap.js | 10 ++-- .../src/main/js/map/surface/AliasSurface.js | 2 +- frontend-js/src/test/js/map/CustomMap-test.js | 60 ++++++++++--------- 4 files changed, 45 insertions(+), 46 deletions(-) diff --git a/frontend-js/src/main/js/map/AbstractCustomMap.js b/frontend-js/src/main/js/map/AbstractCustomMap.js index eea4fe734c..e8996644b7 100644 --- a/frontend-js/src/main/js/map/AbstractCustomMap.js +++ b/frontend-js/src/main/js/map/AbstractCustomMap.js @@ -646,25 +646,24 @@ AbstractCustomMap.prototype._hideSelectedLayout = function(layoutId) { * @param aliasId * identifier of the alias */ -AbstractCustomMap.prototype._openInfoWindowForAlias = function(aliasId) { +AbstractCustomMap.prototype._openInfoWindowForAlias = function(alias, googleMarker) { var self = this; - var infoWindow = this.getAliasInfoWindowById(aliasId); + var infoWindow = this.getAliasInfoWindowById(alias.getId()); if (infoWindow !== null && infoWindow !== undefined) { if (!infoWindow.isOpened()) { infoWindow.open(); } else { - logger.warn("Info window for alias: " + aliasId + " is already opened"); + logger.warn("Info window for alias: " + alias.getId() + " is already opened"); } - return Promise.resolve(); + return Promise.resolve(infoWindow); } else { - return self.getModel().getAliasById(aliasId).then(function(alias) { - self._aliasInfoWindow[aliasId] = new AliasInfoWindow({ - alias : alias, - map : self - }); - return self._aliasInfoWindow[aliasId].init(); + self._aliasInfoWindow[alias.getId()] = new AliasInfoWindow({ + alias : alias, + map : self, + marker : googleMarker, }); + return self._aliasInfoWindow[alias.getId()].init(); } }; diff --git a/frontend-js/src/main/js/map/CustomMap.js b/frontend-js/src/main/js/map/CustomMap.js index 5d9b9965b0..cb33a48871 100644 --- a/frontend-js/src/main/js/map/CustomMap.js +++ b/frontend-js/src/main/js/map/CustomMap.js @@ -683,12 +683,10 @@ CustomMap.prototype.refreshInfoWindows = function() { * @param modelId * identifier of {@link AbstractCustomMap} */ -CustomMap.prototype.openInfoWindowForAlias = function(aliasId, modelId) { - logger.debug("Opening info window for alias: " + aliasId + ", model: " + modelId); - var model = this.getSubmapById(modelId); - return model.getModel().getAliasById(aliasId, true).then(function() { - return model._openInfoWindowForAlias(aliasId); - }); +CustomMap.prototype.openInfoWindowForAlias = function(alias) { + logger.debug("Opening info window for alias: " + alias.getId() + ", model: " + alias.getModelId()); + var submap = this.getSubmapById(alias.getModelId()); + return submap._openInfoWindowForAlias(alias); }; /** diff --git a/frontend-js/src/main/js/map/surface/AliasSurface.js b/frontend-js/src/main/js/map/surface/AliasSurface.js index a164896322..6fd1f06ee5 100644 --- a/frontend-js/src/main/js/map/surface/AliasSurface.js +++ b/frontend-js/src/main/js/map/surface/AliasSurface.js @@ -43,7 +43,7 @@ AliasSurface.prototype.setMap = function(map) { }; AliasSurface.prototype.onClickHandler = function() { - return this.getCustomMap().getTopMap().openInfoWindowForAlias(this.aliasData.getId(), this.aliasData.getModelId()); + return this.getCustomMap().getTopMap().openInfoWindowForAlias(this.aliasData); } AliasSurface.prototype.setColor = function(color) { diff --git a/frontend-js/src/test/js/map/CustomMap-test.js b/frontend-js/src/test/js/map/CustomMap-test.js index 0168f69c61..6d2af483b1 100644 --- a/frontend-js/src/test/js/map/CustomMap-test.js +++ b/frontend-js/src/test/js/map/CustomMap-test.js @@ -201,40 +201,42 @@ describe('CustomMap', function() { }); }); - it("openInfoWindowForAlias", function() { - var map = helper.createCustomMap(); - var layout = helper.createLayout(); - var alias = helper.createAlias(); - alias.setModelId(map.getId()); - var layoutAlias = helper.createLayoutAlias(); - layoutAlias.setId(alias.getId()); + describe("openInfoWindowForAlias", function() { + it("default", function() { + var map = helper.createCustomMap(); + var layout = helper.createLayout(); + var alias = helper.createAlias(); + alias.setModelId(map.getId()); + var layoutAlias = helper.createLayoutAlias(); + layoutAlias.setId(alias.getId()); - layout.addAlias(layoutAlias); + layout.addAlias(layoutAlias); - // create layout - map.getModel().addLayout(layout); - map.getModel().addAlias(alias); + // create layout + map.getModel().addLayout(layout); + map.getModel().addAlias(alias); - return map.openInfoWindowForAlias(alias.getId(), map.getId(), function() { - assert.ok(map.getAliasInfoWindowById(alias.getId())); - assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened()); + return map.openInfoWindowForAlias(alias).then(function() { + assert.ok(map.getAliasInfoWindowById(alias.getId())); + assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened()); + }); }); - }); - it("openInfoWindowForAlias for incomplete alias", function() { - var map, alias; - return ServerConnector.getProject().then(function(project) { - var options = helper.createCustomMapOptions(project); - map = new CustomMap(options); + it("for incomplete alias", function() { + var map, alias; + return ServerConnector.getProject().then(function(project) { + var options = helper.createCustomMapOptions(project); + map = new CustomMap(options); - return map.getModel().getAliasById(329171, false); - }).then(function(result) { - alias = result; - assert.notOk(alias.isComplete()); - return map.openInfoWindowForAlias(alias.getId(), map.getId()); - }).then(function() { - assert.ok(map.getAliasInfoWindowById(alias.getId())); - assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened()); + return map.getModel().getAliasById(329171, false); + }).then(function(result) { + alias = result; + assert.notOk(alias.isComplete()); + return map.openInfoWindowForAlias(alias); + }).then(function() { + assert.ok(map.getAliasInfoWindowById(alias.getId())); + assert.ok(map.getAliasInfoWindowById(alias.getId()).isOpened()); + }); }); }); @@ -325,7 +327,7 @@ describe('CustomMap', function() { }); }).then(function() { assert.equal(marker.getIcon(), "new_icon.png"); - + assert.notOk(oc.mapOverlays["REACTION"][reaction.getId()]); }); }); -- GitLab