1
- import React from " react" ;
1
+ import React from ' react'
2
2
//
3
3
import Raf from '../utils/Raf'
4
- import Utils from " ../utils/Utils" ;
5
- import ChartContext from " ../utils/ChartContext" ;
4
+ import Utils from ' ../utils/Utils'
5
+ import ChartContext from ' ../utils/ChartContext'
6
6
7
- import Rectangle from " ../primitives/Rectangle" ;
7
+ import Rectangle from ' ../primitives/Rectangle'
8
8
9
- import Voronoi from " ./Voronoi" ;
10
- import Axis from " ./Axis" ;
11
- import Tooltip from " ./Tooltip" ;
12
- import Cursor from " ./Cursor" ;
13
- import Brush from " ./Brush" ;
9
+ import Voronoi from ' ./Voronoi'
10
+ import Axis from ' ./Axis'
11
+ import Tooltip from ' ./Tooltip'
12
+ import Cursor from ' ./Cursor'
13
+ import Brush from ' ./Brush'
14
14
15
15
export default React . forwardRef ( function ChartInner (
16
16
{ className, style = { } , ...rest } ,
17
17
ref
18
18
) {
19
- const [ chartState ] = React . useContext ( ChartContext ) ;
19
+ const [ chartState ] = React . useContext ( ChartContext )
20
20
const [
21
21
{
22
22
width,
@@ -31,75 +31,75 @@ export default React.forwardRef(function ChartInner(
31
31
onClick,
32
32
seriesOptions,
33
33
getSeriesOrder,
34
- focused
34
+ focused,
35
35
} ,
36
- setChartState
37
- ] = React . useContext ( ChartContext ) ;
36
+ setChartState ,
37
+ ] = React . useContext ( ChartContext )
38
38
39
- const svgRef = React . useRef ( ) ;
39
+ const svgRef = React . useRef ( )
40
40
41
41
React . useLayoutEffect ( ( ) => {
42
42
if ( ! svgRef . current ) {
43
- return ;
43
+ return
44
44
}
45
- const current = svgRef . current . getBoundingClientRect ( ) ;
45
+ const current = svgRef . current . getBoundingClientRect ( )
46
46
if ( current . left !== offset . left || current . top !== offset . top ) {
47
47
setChartState ( state => ( {
48
48
...state ,
49
49
offset : {
50
50
left : current . left ,
51
- top : current . top
52
- }
53
- } ) ) ;
51
+ top : current . top ,
52
+ } ,
53
+ } ) )
54
54
}
55
- } ) ;
55
+ } )
56
56
57
57
const onMouseLeave = e => {
58
58
setChartState ( state => ( {
59
59
...state ,
60
- focused : null
61
- } ) ) ;
60
+ focused : null ,
61
+ } ) )
62
62
setChartState ( state => ( {
63
63
...state ,
64
64
pointer : {
65
65
...state . pointer ,
66
- active : false
67
- }
68
- } ) ) ;
69
- } ;
66
+ active : false ,
67
+ } ,
68
+ } ) )
69
+ }
70
70
71
- const rafRef = React . useRef ( ) ;
71
+ const rafRef = React . useRef ( )
72
72
73
73
const onMouseMove = e => {
74
74
if ( rafRef . current ) {
75
- Raf . cancel ( rafRef . current ) ;
75
+ Raf . cancel ( rafRef . current )
76
76
}
77
77
rafRef . current = Raf ( ( ) => {
78
- rafRef . current = null ;
79
- const { clientX, clientY } = e ;
78
+ rafRef . current = null
79
+ const { clientX, clientY } = e
80
80
81
81
setChartState ( state => {
82
- const x = clientX - offset . left - gridX ;
83
- const y = clientY - offset . top - gridY ;
82
+ const x = clientX - offset . left - gridX
83
+ const y = clientY - offset . top - gridY
84
84
85
85
const pointer = {
86
86
...state . pointer ,
87
87
active : true ,
88
88
x,
89
89
y,
90
- dragging : state . pointer && state . pointer . down
91
- } ;
90
+ dragging : state . pointer && state . pointer . down ,
91
+ }
92
92
return {
93
93
...state ,
94
- pointer
95
- } ;
96
- } ) ;
97
- } ) ;
98
- } ;
94
+ pointer,
95
+ }
96
+ } )
97
+ } )
98
+ }
99
99
100
100
const onMouseUp = ( ) => {
101
- document . removeEventListener ( " mouseup" , onMouseUp ) ;
102
- document . removeEventListener ( " mousemove" , onMouseMove ) ;
101
+ document . removeEventListener ( ' mouseup' , onMouseUp )
102
+ document . removeEventListener ( ' mousemove' , onMouseMove )
103
103
104
104
setChartState ( state => ( {
105
105
...state ,
@@ -109,43 +109,43 @@ export default React.forwardRef(function ChartInner(
109
109
dragging : false ,
110
110
released : {
111
111
x : state . pointer . x ,
112
- y : state . pointer . y
113
- }
114
- }
115
- } ) ) ;
116
- } ;
112
+ y : state . pointer . y ,
113
+ } ,
114
+ } ,
115
+ } ) )
116
+ }
117
117
118
118
const onMouseDown = ( ) => {
119
- document . addEventListener ( " mouseup" , onMouseUp ) ;
120
- document . addEventListener ( " mousemove" , onMouseMove ) ;
119
+ document . addEventListener ( ' mouseup' , onMouseUp )
120
+ document . addEventListener ( ' mousemove' , onMouseMove )
121
121
122
122
setChartState ( state => ( {
123
123
...state ,
124
124
pointer : {
125
125
...state . pointer ,
126
126
sourceX : state . pointer . x ,
127
127
sourceY : state . pointer . y ,
128
- down : true
129
- }
130
- } ) ) ;
131
- } ;
128
+ down : true ,
129
+ } ,
130
+ } ) )
131
+ }
132
132
133
133
// Reverse the stack order for proper z-indexing
134
- const reversedStackData = [ ...stackData ] . reverse ( ) ;
135
- const orderedStackData = getSeriesOrder ( reversedStackData ) ;
134
+ const reversedStackData = [ ...stackData ] . reverse ( )
135
+ const orderedStackData = getSeriesOrder ( reversedStackData )
136
136
137
137
const focusedSeriesIndex = focused
138
138
? orderedStackData . findIndex ( series => series . id === focused . series . id )
139
- : - 1 ;
139
+ : - 1
140
140
141
141
// Bring focused series to the front
142
142
const focusOrderedStackData = focused
143
143
? [
144
144
...orderedStackData . slice ( 0 , focusedSeriesIndex ) ,
145
145
...orderedStackData . slice ( focusedSeriesIndex + 1 ) ,
146
- orderedStackData [ focusedSeriesIndex ]
146
+ orderedStackData [ focusedSeriesIndex ] ,
147
147
]
148
- : orderedStackData ;
148
+ : orderedStackData
149
149
150
150
const stacks = focusOrderedStackData . map ( stack => {
151
151
return (
@@ -155,27 +155,27 @@ export default React.forwardRef(function ChartInner(
155
155
series = { stack }
156
156
stackData = { stackData }
157
157
/>
158
- ) ;
159
- } ) ;
158
+ )
159
+ } )
160
160
161
161
return (
162
162
< div
163
163
ref = { ref }
164
164
{ ...rest }
165
- className = { `ReactChart ${ className || "" } ` }
165
+ className = { `ReactChart ${ className || '' } ` }
166
166
style = { {
167
167
width,
168
168
height,
169
- position : "relative" ,
170
- ...style
169
+ position : 'absolute' ,
170
+ ...style ,
171
171
} }
172
172
>
173
173
< svg
174
174
ref = { svgRef }
175
175
style = { {
176
176
width,
177
177
height,
178
- overflow : " hidden"
178
+ overflow : ' hidden' ,
179
179
} }
180
180
onMouseEnter = { e => e . persist ( ) || onMouseMove ( e ) }
181
181
onMouseMove = { e => e . persist ( ) || onMouseMove ( e ) }
@@ -185,7 +185,7 @@ export default React.forwardRef(function ChartInner(
185
185
>
186
186
< g
187
187
style = { {
188
- transform : Utils . translate ( gridX , gridY )
188
+ transform : Utils . translate ( gridX , gridY ) ,
189
189
} }
190
190
>
191
191
< Rectangle
@@ -195,7 +195,7 @@ export default React.forwardRef(function ChartInner(
195
195
y1 = { - gridY }
196
196
y2 = { height - gridY }
197
197
style = { {
198
- opacity : 0
198
+ opacity : 0 ,
199
199
} }
200
200
/>
201
201
< Voronoi />
@@ -207,7 +207,7 @@ export default React.forwardRef(function ChartInner(
207
207
< g
208
208
className = "Series"
209
209
style = { {
210
- pointerEvents : " none"
210
+ pointerEvents : ' none' ,
211
211
} }
212
212
>
213
213
{ stacks }
@@ -216,7 +216,7 @@ export default React.forwardRef(function ChartInner(
216
216
{ renderSVG
217
217
? renderSVG ( {
218
218
chartState,
219
- setChartState
219
+ setChartState,
220
220
} )
221
221
: null }
222
222
</ svg >
@@ -225,5 +225,5 @@ export default React.forwardRef(function ChartInner(
225
225
< Brush />
226
226
< Tooltip />
227
227
</ div >
228
- ) ;
229
- } ) ;
228
+ )
229
+ } )
0 commit comments