Skip to content

Commit c95dd4b

Browse files
committed
fix mocked plotly_relayout event data on mapbox interactions
1 parent c2457ff commit c95dd4b

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/plots/mapbox/mapbox.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,7 @@ proto.createMap = function(calcData, fullLayout, resolve, reject) {
152152
// duplicate 'plotly_relayout' events.
153153

154154
if(eventData.originalEvent || wheeling) {
155-
var update = {};
156-
update[self.id] = Lib.extendFlat({}, view);
157-
gd.emit('plotly_relayout', update);
155+
emitRelayoutFromView(view);
158156
}
159157
wheeling = false;
160158
});
@@ -212,6 +210,15 @@ proto.createMap = function(calcData, fullLayout, resolve, reject) {
212210
gd.emit('plotly_doubleclick', null);
213211
});
214212

213+
function emitRelayoutFromView(view) {
214+
var id = self.id;
215+
var evtData = {};
216+
for(var k in view) {
217+
evtData[id + '.' + k] = view[k];
218+
}
219+
gd.emit('plotly_relayout', evtData);
220+
}
221+
215222
// define clear select on map creation, to keep one ref per map,
216223
// so that map.on / map.off in updateFx works as expected
217224
self.clearSelect = function() {

test/jasmine/tests/mapbox_test.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -896,10 +896,9 @@ describe('@noCI, mapbox plots', function() {
896896
expect(layout.zoom).toBeCloseTo(zoom);
897897

898898
if(opts && opts.withUpdateData) {
899-
var mapboxUpdate = updateData.mapbox;
900899

901-
expect([mapboxUpdate.center.lon, mapboxUpdate.center.lat]).toBeCloseToArray(center);
902-
expect(mapboxUpdate.zoom).toBeCloseTo(zoom);
900+
expect([evtData['mapbox.center'].lon, evtData['mapbox.center'].lat]).toBeCloseToArray(center);
901+
expect(evtData['mapbox.zoom']).toBeCloseTo(zoom);
903902
}
904903
}
905904

0 commit comments

Comments
 (0)