Skip to content

Commit b0fd473

Browse files
author
Robert Crocker
committed
Fixed the area chart tooltip values.
1 parent 59f5019 commit b0fd473

File tree

1 file changed

+28
-26
lines changed

1 file changed

+28
-26
lines changed

src/components/ListeningRect.tsx

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -68,29 +68,29 @@ export default function ListeningRect({
6868
function onMouseMove(e: any) {
6969
let sBrowser;
7070
const sUsrAg = navigator.userAgent;
71-
if (sUsrAg.indexOf("Firefox") > -1) {
72-
sBrowser = "Mozilla Firefox";
71+
if (sUsrAg.indexOf('Firefox') > -1) {
72+
sBrowser = 'Mozilla Firefox';
7373
// "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0"
74-
} else if (sUsrAg.indexOf("SamsungBrowser") > -1) {
75-
sBrowser = "Samsung Internet";
74+
} else if (sUsrAg.indexOf('SamsungBrowser') > -1) {
75+
sBrowser = 'Samsung Internet';
7676
// "Mozilla/5.0 (Linux; Android 9; SAMSUNG SM-G955F Build/PPR1.180610.011) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/9.4 Chrome/67.0.3396.87 Mobile Safari/537.36
77-
} else if (sUsrAg.indexOf("Opera") > -1 || sUsrAg.indexOf("OPR") > -1) {
78-
sBrowser = "Opera";
77+
} else if (sUsrAg.indexOf('Opera') > -1 || sUsrAg.indexOf('OPR') > -1) {
78+
sBrowser = 'Opera';
7979
// "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 OPR/57.0.3098.106"
80-
} else if (sUsrAg.indexOf("Trident") > -1) {
81-
sBrowser = "Microsoft Internet Explorer";
80+
} else if (sUsrAg.indexOf('Trident') > -1) {
81+
sBrowser = 'Microsoft Internet Explorer';
8282
// "Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; Zoom 3.6.0; wbx 1.0.0; rv:11.0) like Gecko"
83-
} else if (sUsrAg.indexOf("Edge") > -1) {
84-
sBrowser = "Microsoft Edge";
83+
} else if (sUsrAg.indexOf('Edge') > -1) {
84+
sBrowser = 'Microsoft Edge';
8585
// "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299"
86-
} else if (sUsrAg.indexOf("Chrome") > -1) {
87-
sBrowser = "Chrome";
86+
} else if (sUsrAg.indexOf('Chrome') > -1) {
87+
sBrowser = 'Chrome';
8888
// "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/66.0.3359.181 Chrome/66.0.3359.181 Safari/537.36"
89-
} else if (sUsrAg.indexOf("Safari") > -1) {
90-
sBrowser = "Safari";
89+
} else if (sUsrAg.indexOf('Safari') > -1) {
90+
sBrowser = 'Safari';
9191
// "Mozilla/5.0 (iPhone; CPU iPhone OS 11_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.0 Mobile/15E148 Safari/604.1 980x1306"
9292
} else {
93-
sBrowser = "unknown";
93+
sBrowser = 'unknown';
9494
}
9595
const mousePosition = d3.pointer(e);
9696
const hoveredX = xScale.invert(mousePosition[0]);
@@ -114,9 +114,10 @@ export default function ListeningRect({
114114
const closestDataPoint = data[closestXIndex];
115115
closestXValue = xAccessor(closestDataPoint);
116116

117-
tooltipState.cursorX = sBrowser === 'Chrome'
118-
? e.nativeEvent.pageX - e.nativeEvent.layerX + xScale(closestXValue)
119-
: e.nativeEvent.pageX - e.nativeEvent.offsetX + xScale(closestXValue)
117+
tooltipState.cursorX =
118+
sBrowser === 'Chrome'
119+
? e.nativeEvent.pageX - e.nativeEvent.layerX + xScale(closestXValue)
120+
: e.nativeEvent.pageX - e.nativeEvent.offsetX + xScale(closestXValue);
120121
}
121122

122123
// ****************************************
@@ -140,20 +141,21 @@ export default function ListeningRect({
140141
if (typeof closestYIndex === 'number') {
141142
if (typeof closestXIndex === 'number') {
142143
closestYValue = layers[closestYIndex][closestXIndex][1];
143-
144-
tooltipState.cursorY = sBrowser === "Chrome" ?
145-
e.pageY - e.nativeEvent.layerY + yScale(closestYValue)
146-
: e.pageY - e.nativeEvent.offsetY + yScale(closestYValue)
147144

145+
tooltipState.cursorY =
146+
sBrowser === 'Chrome'
147+
? e.pageY - e.nativeEvent.layerY + yScale(closestYValue)
148+
: e.pageY - e.nativeEvent.offsetY + yScale(closestYValue);
149+
150+
const closestYKey: string = layers[closestYIndex].key;
148151
tooltipState.data = {
149-
[xKey]: closestXValue,
150-
[yKey]: closestYValue,
152+
[xKey]: data[closestXIndex][xKey],
153+
[yKey]: data[closestXIndex][closestYKey],
151154
};
152155
}
153156
}
154157

155-
tooltipState.distanceFromTop =
156-
tooltipState.cursorY + margin.top;
158+
tooltipState.distanceFromTop = tooltipState.cursorY + margin.top;
157159
tooltipState.distanceFromRight =
158160
width - (margin.left + tooltipState.cursorX);
159161
tooltipState.distanceFromLeft = margin.left + tooltipState.cursorX;

0 commit comments

Comments
 (0)