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

listener for changing background data overlay added

parent 4d294c53
No related branches found
No related tags found
1 merge request!278Resolve "selecting overlay"
......@@ -37,6 +37,7 @@ function CustomMap(options) {
this.registerListenerType("onBioEntityClick");
this.registerListenerType("onShowOverlay");
this.registerListenerType("onHideOverlay");
this.registerListenerType("onBackgroundOverlayChange");
this._selectedOverlays = [];
......@@ -230,14 +231,18 @@ CustomMap.prototype.openDataOverlay = function (param) {
});
}
} else {
self.getGoogleMap().setMapTypeId(identifier.toString());
if (identifier.toString() === self.getGoogleMap().getMapTypeId()) {
return Promise.resolve();
} else {
self.getGoogleMap().setMapTypeId(identifier.toString());
var submaps = self.getSubmaps();
for (var i = 0; i < submaps.length; i++) {
var submap = submaps[i];
submap.openDataOverlay(identifier);
var submaps = self.getSubmaps();
for (var i = 0; i < submaps.length; i++) {
var submap = submaps[i];
submap.openDataOverlay(identifier);
}
return self.callListeners("onBackgroundOverlayChange", identifier);
}
return Promise.resolve();
}
}).then(function () {
return self.callListeners("onShowOverlay", overlayToOpen);
......
......@@ -132,6 +132,35 @@ describe('CustomMap', function () {
});
});
it("check backgroundChangeListener", function () {
var map = helper.createCustomMap();
var overlay = helper.createOverlay();
overlay.setInitialized(true);
overlay.setInputDataAvailable(true);
map.getProject().addDataOverlay(overlay);
var overlay2 = helper.createOverlay();
overlay2.setInitialized(true);
overlay2.setInputDataAvailable(true);
map.getProject().addDataOverlay(overlay2);
var emptyBackground = helper.createOverlay();
emptyBackground.setInputDataAvailable(false);
emptyBackground.setName("Empty");
map.getProject().addDataOverlay(emptyBackground);
var counter = 0;
map.addListener("onBackgroundOverlayChange", function () {
counter++;
});
return map.openDataOverlay(overlay.getId()).then(function () {
assert.equal(1, counter, "listener wasn't fired");
return map.openDataOverlay(overlay2.getId());
}).then(function () {
assert.equal(1, counter, "listener shouldn't be fired again because nothing changed");
});
});
it("simple", function () {
var map = helper.createCustomMap();
var alias = helper.createAlias(map);
......
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