diff --git a/CHANGELOG b/CHANGELOG index a10cdb00799b0801bb18336e64161282b309bcf1..2038d57a540621dd2009b45e64838352da4f9f58 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,7 @@ minerva (13.1.3) stable; urgency=medium page (#870) * Bug fix: submap list must be selected to export from every submap (#874) * Bug fix: export map as image properly uses bottom limit (#875) + * Bug fix: reaction info window wasn't closed on CLEAR (#876) -- Piotr Gawron <piotr.gawron@uni.lu> Wed, 14 Aug 2019 17:00:00 +0200 diff --git a/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerPolyline.js b/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerPolyline.js index 6ee77ee55986f8721bb867c97b5d81b45482e6e7..e4eab7e4c4df3de0c3b83c6ae9d654c6b77ddfa2 100644 --- a/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerPolyline.js +++ b/frontend-js/src/main/js/map/canvas/OpenLayers/OpenLayerPolyline.js @@ -12,6 +12,8 @@ function OpenLayerPolyline(options) { var self = this; + self.registerListenerType("onHide"); + if (options.strokeColor === undefined) { options.strokeColor = "#000000"; } @@ -74,7 +76,8 @@ OpenLayerPolyline.prototype.show = function () { }; OpenLayerPolyline.prototype.hide = function () { - return this.getOpenLayersPolyline().setStyle(new ol.style.Style({})); + this.getOpenLayersPolyline().setStyle(new ol.style.Style({})); + return this.callListeners("onHide"); }; OpenLayerPolyline.prototype.isShown = function () { diff --git a/frontend-js/src/main/js/map/marker/MarkerSurfaceCollection.js b/frontend-js/src/main/js/map/marker/MarkerSurfaceCollection.js index c9634456b480961b6dae875c690b872ac8b45370..8ab253ea9171735c35c34b7eaf4bbf5734ca5ce5 100644 --- a/frontend-js/src/main/js/map/marker/MarkerSurfaceCollection.js +++ b/frontend-js/src/main/js/map/marker/MarkerSurfaceCollection.js @@ -228,7 +228,12 @@ MarkerSurfaceCollection.prototype.createSurfaceForDbOverlay = function (element, onClick: onclickFunctions }); result.addListener("onClick", function () { - return map.getTopMap().openInfoWindowForIdentifiedElement(element); + return map.getTopMap().openInfoWindowForIdentifiedElement(element).then(function (infoWindow) { + result.getMapCanvasObjects()[0].addListener("onHide", function () { + return infoWindow._infoWindow.hide(); + }); + return infoWindow; + }); }); self.putSurface({element: element, overlay: dbOverlay}, result); if (self.getMap().isInitialized()) {