From c0b196c6cf243a3903d12aba3b77b48a83e68ce0 Mon Sep 17 00:00:00 2001 From: archmoj Date: Fri, 21 May 2021 11:33:52 -0400 Subject: [PATCH 1/3] provide latitude before longitude on mapbox --- src/traces/densitymapbox/hover.js | 2 +- src/traces/scattermapbox/hover.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/traces/densitymapbox/hover.js b/src/traces/densitymapbox/hover.js index e972bcd0624..0ae621a2e6e 100644 --- a/src/traces/densitymapbox/hover.js +++ b/src/traces/densitymapbox/hover.js @@ -43,7 +43,7 @@ function getExtraText(trace, di, labels) { } if(isAll || (hasLon && hasLat)) { - text.push('(' + format(lonlat[0]) + ', ' + format(lonlat[1]) + ')'); + text.push('(' + format(lonlat[1]) + ', ' + format(lonlat[0]) + ')'); } else if(hasLon) { text.push(labels.lon + format(lonlat[0])); } else if(hasLat) { diff --git a/src/traces/scattermapbox/hover.js b/src/traces/scattermapbox/hover.js index fd0a26c451a..86a6d6fbc67 100644 --- a/src/traces/scattermapbox/hover.js +++ b/src/traces/scattermapbox/hover.js @@ -86,7 +86,7 @@ function getExtraText(trace, di, labels) { } if(isAll || (hasLon && hasLat)) { - text.push('(' + format(lonlat[0]) + ', ' + format(lonlat[1]) + ')'); + text.push('(' + format(lonlat[1]) + ', ' + format(lonlat[0]) + ')'); } else if(hasLon) { text.push(labels.lon + format(lonlat[0])); } else if(hasLat) { From bc806cc02dfc8b2a1498db8a9a9ebbbb52403873 Mon Sep 17 00:00:00 2001 From: archmoj Date: Fri, 21 May 2021 11:43:42 -0400 Subject: [PATCH 2/3] avoid duplicate logic in densitymapbox --- src/traces/densitymapbox/hover.js | 34 ++----------------------------- src/traces/scattermapbox/hover.js | 9 ++++++-- src/traces/scattermapbox/index.js | 2 +- 3 files changed, 10 insertions(+), 35 deletions(-) diff --git a/src/traces/densitymapbox/hover.js b/src/traces/densitymapbox/hover.js index 0ae621a2e6e..2128ba96f69 100644 --- a/src/traces/densitymapbox/hover.js +++ b/src/traces/densitymapbox/hover.js @@ -1,8 +1,8 @@ 'use strict'; -var Lib = require('../../lib'); var Axes = require('../../plots/cartesian/axes'); -var scatterMapboxHoverPoints = require('../scattermapbox/hover'); +var scatterMapboxHoverPoints = require('../scattermapbox/hover').hoverPoints; +var getExtraText = require('../scattermapbox/hover').getExtraText; module.exports = function hoverPoints(pointData, xval, yval) { var pts = scatterMapboxHoverPoints(pointData, xval, yval); @@ -26,33 +26,3 @@ module.exports = function hoverPoints(pointData, xval, yval) { return [newPointData]; }; - -function getExtraText(trace, di, labels) { - if(trace.hovertemplate) return; - - var hoverinfo = di.hi || trace.hoverinfo; - var parts = hoverinfo.split('+'); - var isAll = parts.indexOf('all') !== -1; - var hasLon = parts.indexOf('lon') !== -1; - var hasLat = parts.indexOf('lat') !== -1; - var lonlat = di.lonlat; - var text = []; - - function format(v) { - return v + '\u00B0'; - } - - if(isAll || (hasLon && hasLat)) { - text.push('(' + format(lonlat[1]) + ', ' + format(lonlat[0]) + ')'); - } else if(hasLon) { - text.push(labels.lon + format(lonlat[0])); - } else if(hasLat) { - text.push(labels.lat + format(lonlat[1])); - } - - if(isAll || parts.indexOf('text') !== -1) { - Lib.fillText(di, trace, text); - } - - return text.join('
'); -} diff --git a/src/traces/scattermapbox/hover.js b/src/traces/scattermapbox/hover.js index 86a6d6fbc67..a582cf4b4b2 100644 --- a/src/traces/scattermapbox/hover.js +++ b/src/traces/scattermapbox/hover.js @@ -6,7 +6,7 @@ var getTraceColor = require('../scatter/get_trace_color'); var fillText = Lib.fillText; var BADNUM = require('../../constants/numerical').BADNUM; -module.exports = function hoverPoints(pointData, xval, yval) { +function hoverPoints(pointData, xval, yval) { var cd = pointData.cd; var trace = cd[0].trace; var xa = pointData.xa; @@ -66,7 +66,7 @@ module.exports = function hoverPoints(pointData, xval, yval) { pointData.hovertemplate = trace.hovertemplate; return [pointData]; -}; +} function getExtraText(trace, di, labels) { if(trace.hovertemplate) return; @@ -99,3 +99,8 @@ function getExtraText(trace, di, labels) { return text.join('
'); } + +module.exports = { + hoverPoints: hoverPoints, + getExtraText: getExtraText +}; diff --git a/src/traces/scattermapbox/index.js b/src/traces/scattermapbox/index.js index eba2d449413..5a93d8e2c70 100644 --- a/src/traces/scattermapbox/index.js +++ b/src/traces/scattermapbox/index.js @@ -7,7 +7,7 @@ module.exports = { formatLabels: require('./format_labels'), calc: require('../scattergeo/calc'), plot: require('./plot'), - hoverPoints: require('./hover'), + hoverPoints: require('./hover').hoverPoints, eventData: require('./event_data'), selectPoints: require('./select'), From 424f99024404e08f5d5bef08efed658f85b14bfe Mon Sep 17 00:00:00 2001 From: archmoj Date: Fri, 21 May 2021 11:47:56 -0400 Subject: [PATCH 3/3] adjust jasmine tests --- test/jasmine/tests/densitymapbox_test.js | 6 +++--- test/jasmine/tests/scattermapbox_test.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/jasmine/tests/densitymapbox_test.js b/test/jasmine/tests/densitymapbox_test.js index c77fd4a1923..9c678a17184 100644 --- a/test/jasmine/tests/densitymapbox_test.js +++ b/test/jasmine/tests/densitymapbox_test.js @@ -330,7 +330,7 @@ describe('Test densitymapbox hover:', function() { var specs = [{ desc: 'basic', - nums: '3\n(20°, 25°)', + nums: '3\n(25°, 20°)', name: '', evtPts: [{lon: 20, lat: 25, z: 3, pointNumber: 1, curveNumber: 0}] }, { @@ -352,7 +352,7 @@ describe('Test densitymapbox hover:', function() { }); return fig; }, - nums: '(20°, 25°)', + nums: '(25°, 20°)', name: 'trace 0', evtPts: [{lon: 20, lat: 25, z: 3, pointNumber: 1, curveNumber: 0}] }, { @@ -363,7 +363,7 @@ describe('Test densitymapbox hover:', function() { }); return fig; }, - nums: '(20°, 25°)', + nums: '(25°, 20°)', name: '', evtPts: [{lon: 20, lat: 25, pointNumber: 1, curveNumber: 0}] }]; diff --git a/test/jasmine/tests/scattermapbox_test.js b/test/jasmine/tests/scattermapbox_test.js index 6a8c5dbf661..89c7955851b 100644 --- a/test/jasmine/tests/scattermapbox_test.js +++ b/test/jasmine/tests/scattermapbox_test.js @@ -731,7 +731,7 @@ describe('scattermapbox hover', function() { expect([out.x0, out.x1, out.y0, out.y1]).toBeCloseToArray([ 1122.33, 1124.33, 105.41, 107.41 ]); - expect(out.extraText).toEqual('(300°, 10°)
D'); + expect(out.extraText).toEqual('(10°, 300°)
D'); expect(out.color).toEqual('#1f77b4'); });