Skip to content

Commit d66c996

Browse files
committed
move fillHoverText to lib and rename it to fillText - export isValidTextValue too - also rm unused gl3d camera file
1 parent 5916a72 commit d66c996

File tree

13 files changed

+52
-68
lines changed

13 files changed

+52
-68
lines changed

src/lib/index.js

+31
Original file line numberDiff line numberDiff line change
@@ -1127,3 +1127,34 @@ lib.pseudoRandom = function() {
11271127
if(Math.abs(randSeed - lastVal) < 429496729) return lib.pseudoRandom();
11281128
return randSeed / 4294967296;
11291129
};
1130+
1131+
1132+
/** Fill hover 'pointData' container with 'correct' hover text value
1133+
*
1134+
* - If trace hoverinfo contains a 'text' flag and hovertext is not set,
1135+
* the text elements will be seen in the hover labels.
1136+
*
1137+
* - If trace hoverinfo contains a 'text' flag and hovertext is set,
1138+
* hovertext takes precedence over text
1139+
* i.e. the hoverinfo elements will be seen in the hover labels
1140+
*
1141+
* @param {object} calcPt
1142+
* @param {object} trace
1143+
* @param {object || array} contOut (mutated here)
1144+
*/
1145+
lib.fillText = function(calcPt, trace, contOut) {
1146+
var fill = Array.isArray(contOut) ?
1147+
function(v) { contOut.push(v); } :
1148+
function(v) { contOut.text = v; };
1149+
1150+
var htx = lib.extractOption(calcPt, trace, 'htx', 'hovertext');
1151+
if(lib.isValidTextValue(htx)) return fill(htx);
1152+
1153+
var tx = lib.extractOption(calcPt, trace, 'tx', 'text');
1154+
if(lib.isValidTextValue(tx)) return fill(tx);
1155+
};
1156+
1157+
// accept all truthy values and 0 (which gets cast to '0' in the hover labels)
1158+
lib.isValidTextValue = function(v) {
1159+
return v || v === 0;
1160+
};

src/plots/gl3d/camera.js

-7
This file was deleted.

src/traces/bar/hover.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
var Fx = require('../../components/fx');
1313
var Registry = require('../../registry');
1414
var Color = require('../../components/color');
15-
var fillHoverText = require('../scatter/fill_hover_text');
15+
16+
var fillText = require('../../lib').fillText;
1617

1718
function hoverPoints(pointData, xval, yval, hovermode) {
1819
var barPointData = hoverOnBars(pointData, xval, yval, hovermode);
@@ -155,7 +156,7 @@ function hoverOnBars(pointData, xval, yval, hovermode) {
155156
// in case of bars shifted within groups
156157
pointData[posLetter + 'Spike'] = pa.c2p(di.p, true);
157158

158-
fillHoverText(di, trace, pointData);
159+
fillText(di, trace, pointData);
159160
pointData.hovertemplate = trace.hovertemplate;
160161

161162
return pointData;

src/traces/barpolar/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
var Fx = require('../../components/fx');
1212
var Lib = require('../../lib');
1313
var getTraceColor = require('../bar/hover').getTraceColor;
14-
var fillHoverText = require('../scatter/fill_hover_text');
14+
var fillText = Lib.fillText;
1515
var makeHoverPointText = require('../scatterpolar/hover').makeHoverPointText;
1616
var isPtInsidePolygon = require('../../plots/polar/helpers').isPtInsidePolygon;
1717

@@ -59,7 +59,7 @@ module.exports = function hoverPoints(pointData, xval, yval) {
5959
pointData.y0 = pointData.y1 = cdi.ct[1];
6060

6161
var _cdi = Lib.extendFlat({}, cdi, {r: cdi.s, theta: cdi.p});
62-
fillHoverText(cdi, trace, pointData);
62+
fillText(cdi, trace, pointData);
6363
makeHoverPointText(_cdi, trace, subplot, pointData);
6464
pointData.hovertemplate = trace.hovertemplate;
6565
pointData.color = getTraceColor(trace, cdi);

src/traces/box/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var Axes = require('../../plots/cartesian/axes');
1212
var Lib = require('../../lib');
1313
var Fx = require('../../components/fx');
1414
var Color = require('../../components/color');
15-
var fillHoverText = require('../scatter/fill_hover_text');
15+
var fillText = Lib.fillText;
1616

1717
function hoverPoints(pointData, xval, yval, hovermode) {
1818
var cd = pointData.cd;
@@ -270,7 +270,7 @@ function hoverOnPoints(pointData, xval, yval) {
270270
var pLetter = pa._id.charAt(0);
271271
closePtData[pLetter + 'Spike'] = pa.c2p(di.pos, true);
272272

273-
fillHoverText(pt, trace, closePtData);
273+
fillText(pt, trace, closePtData);
274274

275275
return closePtData;
276276
}

src/traces/choropleth/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
var Axes = require('../../plots/cartesian/axes');
1313
var attributes = require('./attributes');
14-
var fillHoverText = require('../scatter/fill_hover_text');
14+
var fillText = require('../../lib').fillText;
1515

1616
module.exports = function hoverPoints(pointData, xval, yval) {
1717
var cd = pointData.cd;
@@ -86,7 +86,7 @@ function makeHoverInfo(pointData, trace, pt, axis) {
8686

8787
if(hasZ) text.push(formatter(pt.z));
8888
if(hasText) {
89-
fillHoverText(pt, trace, text);
89+
fillText(pt, trace, text);
9090
}
9191

9292
pointData.extraText = text.join('<br>');

src/traces/ohlc/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var Axes = require('../../plots/cartesian/axes');
1212
var Lib = require('../../lib');
1313
var Fx = require('../../components/fx');
1414
var Color = require('../../components/color');
15-
var fillHoverText = require('../scatter/fill_hover_text');
15+
var fillText = require('../../lib').fillText;
1616

1717
var DIRSYMBOL = {
1818
increasing: '▲',
@@ -184,7 +184,7 @@ function hoverOnPoints(pointData, xval, yval, hovermode) {
184184
getLabelLine('low'),
185185
getLabelLine('close') + ' ' + DIRSYMBOL[dir]
186186
] : [];
187-
if(hasText) fillHoverText(di, trace, textParts);
187+
if(hasText) fillText(di, trace, textParts);
188188

189189
// don't make .yLabelVal or .text, since we're managing hoverinfo
190190
// put it all in .extraText

src/traces/scatter/fill_hover_text.js

-41
This file was deleted.

src/traces/scatter/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ var Fx = require('../../components/fx');
1313
var Registry = require('../../registry');
1414
var getTraceColor = require('./get_trace_color');
1515
var Color = require('../../components/color');
16-
var fillHoverText = require('./fill_hover_text');
16+
var fillText = Lib.fillText;
1717

1818
module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
1919
var cd = pointData.cd;
@@ -96,7 +96,7 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
9696
hovertemplate: trace.hovertemplate
9797
});
9898

99-
fillHoverText(di, trace, pointData);
99+
fillText(di, trace, pointData);
100100
Registry.getComponentMethod('errorbars', 'hoverInfo')(di, trace, pointData);
101101

102102
return [pointData];

src/traces/scattercarpet/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
'use strict';
1010

1111
var scatterHover = require('../scatter/hover');
12-
var fillHoverText = require('../scatter/fill_hover_text');
12+
var fillText = require('../../lib').fillText;
1313

1414
module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
1515
var scatterPointData = scatterHover(pointData, xval, yval, hovermode);
@@ -84,7 +84,7 @@ module.exports = function hoverPoints(pointData, xval, yval, hovermode) {
8484
text.push('y: ' + newPointData.yLabel);
8585

8686
if(parts.indexOf('text') !== -1) {
87-
fillHoverText(cdi, trace, text);
87+
fillText(cdi, trace, text);
8888
}
8989

9090
newPointData.extraText = text.join('<br>');

src/traces/scattergeo/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var Axes = require('../../plots/cartesian/axes');
1414
var BADNUM = require('../../constants/numerical').BADNUM;
1515

1616
var getTraceColor = require('../scatter/get_trace_color');
17-
var fillHoverText = require('../scatter/fill_hover_text');
17+
var fillText = require('../../lib').fillText;
1818
var attributes = require('./attributes');
1919

2020
module.exports = function hoverPoints(pointData, xval, yval) {
@@ -103,7 +103,7 @@ function getExtraText(trace, pt, axis, labels) {
103103
}
104104

105105
if(hasText) {
106-
fillHoverText(pt, trace, text);
106+
fillText(pt, trace, text);
107107
}
108108

109109
return text.join('<br>');

src/traces/scattergl/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ var setFirstScatter = scatterCalc.setFirstScatter;
2929
var calcColorscale = require('../scatter/colorscale_calc');
3030
var linkTraces = require('../scatter/link_traces');
3131
var getTraceColor = require('../scatter/get_trace_color');
32-
var fillHoverText = require('../scatter/fill_hover_text');
32+
var fillText = Lib.fillText;
3333
var convert = require('./convert');
3434

3535
var BADNUM = require('../../constants/numerical').BADNUM;
@@ -853,7 +853,7 @@ function calcHover(pointData, x, y, trace) {
853853
else if(di.tx) pointData.text = di.tx;
854854
else if(trace.text) pointData.text = trace.text;
855855

856-
fillHoverText(di, trace, pointData);
856+
fillText(di, trace, pointData);
857857
Registry.getComponentMethod('errorbars', 'hoverInfo')(di, trace, pointData);
858858

859859
return pointData;

src/traces/scattermapbox/hover.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
var Fx = require('../../components/fx');
1313
var Lib = require('../../lib');
1414
var getTraceColor = require('../scatter/get_trace_color');
15-
var fillHoverText = require('../scatter/fill_hover_text');
15+
var fillText = Lib.fillText;
1616
var BADNUM = require('../../constants/numerical').BADNUM;
1717

1818
module.exports = function hoverPoints(pointData, xval, yval) {
@@ -99,7 +99,7 @@ function getExtraText(trace, di, labels) {
9999
}
100100

101101
if(isAll || parts.indexOf('text') !== -1) {
102-
fillHoverText(di, trace, text);
102+
fillText(di, trace, text);
103103
}
104104

105105
return text.join('<br>');

0 commit comments

Comments
 (0)