@@ -124,19 +124,31 @@ class EmbeddedLegend extends React.Component {
124
124
// Note: Container order is important
125
125
const CursorVoronoiContainer = createContainer (" voronoi" , " cursor" );
126
126
const legendData = [
127
- { childName: ' cats' , name: ' Cats' },
128
127
{
129
128
childName: ' limit' ,
130
129
name: ' Limit' ,
131
130
symbol: { fill: chart_color_orange_300 .var , type: ' threshold' }
132
131
},
132
+ { childName: ' cats' , name: ' Cats' },
133
+ // Force extra space below for line wrapping
134
+ {
135
+ childName: ' cats' ,
136
+ name: ' ' ,
137
+ symbol: { fill: ' none' }
138
+ },
139
+ {
140
+ childName: ' cats' ,
141
+ name: ' ' ,
142
+ symbol: { fill: ' none' }
143
+ },
133
144
];
134
145
const labelFormatter = (datum ) => {
135
146
// With box plot data, datum.y will also be an array
136
147
if (datum && (datum ._min || datum ._median || datum ._max || datum ._q1 || datum ._q3 )) {
137
- return ` q1 : ${ datum ._q1 } , q3 : ${ datum ._q3 } ` ;
148
+ return ` Min : ${ datum ._min } , Max: ${ datum . _max } \n Median: ${ datum . _median } \n Q1: ${ datum . _q1 } , Q3 : ${ datum ._q3 } ` ;
138
149
}
139
- return ` ${ datum .y !== null ? datum .y : ' no data' } ` ;
150
+ const yVal = Array .isArray (datum .y ) ? datum .y [0 ] : datum .y ;
151
+ return yVal !== null ? yVal : ' no data' ;
140
152
}
141
153
return (
142
154
< div style= {{ height: ' 350px' , width: ' 600px' }}>
@@ -147,19 +159,7 @@ class EmbeddedLegend extends React.Component {
147
159
< CursorVoronoiContainer
148
160
cursorDimension= " x"
149
161
labels= {({ datum }) => labelFormatter (datum)}
150
- labelComponent= {
151
- < ChartLegendTooltip
152
- boxPlotData= {{
153
- max: { label: ' max' },
154
- median: { label: ' mdn' },
155
- min: { label: ' min' },
156
- q1: { label: ' q1' , isVisible: false },
157
- q3: { label: ' q3' , isVisible: false }
158
- }}
159
- legendData= {legendData}
160
- title= {(datum ) => datum .x }
161
- / >
162
- }
162
+ labelComponent= {< ChartLegendTooltip legendData= {legendData} title= {(datum ) => datum .x } / > }
163
163
mouseFollowTooltips
164
164
voronoiDimension= " x"
165
165
voronoiPadding= {50 }
@@ -182,15 +182,6 @@ class EmbeddedLegend extends React.Component {
182
182
>
183
183
< ChartAxis / >
184
184
< ChartAxis dependentAxis showGrid / >
185
- < ChartBoxPlot
186
- data= {[
187
- { name: ' Cats' , x: ' 2015' , y: [1 , 2 , 3 , 5 ] },
188
- { name: ' Cats' , x: ' 2016' , y: [3 , 2 , 8 , 10 ] },
189
- { name: ' Cats' , x: ' 2017' , y: [2 , 8 , 6 , 5 ] },
190
- { name: ' Cats' , x: ' 2018' , y: [1 , 3 , 2 , 9 ] }
191
- ]}
192
- name= " cats"
193
- / >
194
185
< ChartThreshold
195
186
data= {[
196
187
{ name: ' Limit' , x: ' 2015' , y: 12 },
@@ -205,6 +196,15 @@ class EmbeddedLegend extends React.Component {
205
196
}
206
197
}}
207
198
/ >
199
+ < ChartBoxPlot
200
+ data= {[
201
+ { name: ' Cats' , x: ' 2015' , y: [null ] },
202
+ { name: ' Cats' , x: ' 2016' , y: [3 , 2 , 8 , 10 ] },
203
+ { name: ' Cats' , x: ' 2017' , y: [2 , 8 , 6 , 5 ] },
204
+ { name: ' Cats' , x: ' 2018' , y: [1 , 3 , 2 , 9 ] }
205
+ ]}
206
+ name= " cats"
207
+ / >
208
208
< / Chart>
209
209
< / div>
210
210
);
@@ -218,7 +218,7 @@ This demonstrates how to embed HTML within a tooltip. Combining cursor and voron
218
218
219
219
``` js
220
220
import React from ' react' ;
221
- import { Chart , ChartAxis , ChartBoxPlot , ChartCursorFlyout , ChartCursorTooltip , ChartThemeColor , createContainer } from ' @patternfly/react-charts' ;
221
+ import { Chart , ChartAxis , ChartBoxPlot , ChartCursorTooltip , ChartThemeColor , createContainer } from ' @patternfly/react-charts' ;
222
222
223
223
class EmbeddedHtml extends React .Component {
224
224
constructor (props ) {
@@ -292,8 +292,6 @@ class EmbeddedHtml extends React.Component {
292
292
labels= {({ datum }) => ` ${ datum .y } ` }
293
293
labelComponent= {
294
294
< ChartCursorTooltip
295
- centerOffset= {{x : ({ center, flyoutWidth, width, offset = flyoutWidth / 2 + 10 }) => width > center .x + flyoutWidth + 10 ? offset : - offset}}
296
- flyout= {< ChartCursorFlyout / > }
297
295
flyoutHeight= {145 }
298
296
flyoutWidth= {110 }
299
297
labelComponent= {< HtmlLegendContent title= {(datum ) => datum .x } / > }
0 commit comments