fix(legend): legend sizes with ordinal data#867
Conversation
Codecov Report
@@ Coverage Diff @@
## master #867 +/- ##
==========================================
+ Coverage 69.56% 69.76% +0.19%
==========================================
Files 321 336 +15
Lines 10630 10269 -361
Branches 2195 1964 -231
==========================================
- Hits 7395 7164 -231
+ Misses 3226 3038 -188
- Partials 9 67 +58
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
1 similar comment
Codecov Report
@@ Coverage Diff @@
## master #867 +/- ##
==========================================
+ Coverage 69.56% 69.76% +0.19%
==========================================
Files 321 336 +15
Lines 10630 10269 -361
Branches 2195 1964 -231
==========================================
- Hits 7395 7164 -231
+ Misses 3226 3038 -188
- Partials 9 67 +58
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
I'm not sure this is needed. Wouldn't it just set the correct values without this?
There was a problem hiding this comment.
You can't check the type here because the legendSizeSelector needs to know these values, to fix the issue. You could check the xScaleType before rendering in the LegendItem component.
There was a problem hiding this comment.
Another way to fix this would be to add a sizingLabel prop to this and use that value in the legendSizeSelector instead of formatted.
There was a problem hiding this comment.
Commit a054fdc and discussed in zoom 🙇♀️
There was a problem hiding this comment.
Careful with extracting this, the value here is y0 not y1 like the function returns
dcb904a to
a054fdc
Compare
Codecov Report
@@ Coverage Diff @@
## master #867 +/- ##
==========================================
+ Coverage 69.55% 70.09% +0.53%
==========================================
Files 321 336 +15
Lines 10632 10920 +288
Branches 2196 2238 +42
==========================================
+ Hits 7395 7654 +259
- Misses 3228 3251 +23
- Partials 9 15 +6
Flags with carried forward coverage won't be shown. Click here to find out more.
Continue to review full report at Codecov.
|
nickofthyme
left a comment
There was a problem hiding this comment.
Awesome! LGTM, I made one comment on the tests to fix but other than that I approve.
| it('should return correct legendSizingLabel with linear scale and showExtraLegend set to true', () => { | ||
| const formatter = (d: string | number) => `${Number(d).toFixed(2)} dogs`; | ||
| const lastValues = { y0: null, y1: 14 }; | ||
| const showExtraLegend = true; | ||
| const xScaleIsLinear = ScaleType.Linear; | ||
|
|
||
| expect(getLegendExtra(showExtraLegend, xScaleIsLinear, formatter, 'y1', lastValues)).toMatchObject({ | ||
| legendSizingLabel: '14.00 dogs', | ||
| }); | ||
| }); | ||
| it('should return formatted to null with ordinal scale and showExtraLegend set to true', () => { | ||
| const formatter = (d: string | number) => `${Number(d).toFixed(2)} dogs`; | ||
| const lastValues = { y0: null, y1: 14 }; | ||
|
|
||
| expect(getLegendExtra(true, ScaleType.Ordinal, formatter, 'y1', lastValues)).toMatchObject({ | ||
| formatted: null, | ||
| }); | ||
| }); | ||
| it('should return legendSizingLabel null with showLegendExtra set to false', () => { | ||
| const formatter = (d: string | number) => `${Number(d).toFixed(2)} dogs`; | ||
| const lastValues = { y0: null, y1: 14 }; | ||
| const showLegendExtra = false; | ||
|
|
||
| expect(getLegendExtra(showLegendExtra, ScaleType.Ordinal, formatter, 'y1', lastValues)).toMatchObject({ | ||
| legendSizingLabel: null, | ||
| }); | ||
| }); |
There was a problem hiding this comment.
I think you should assert all three parts of the extraValue for all of these
# [24.1.0](v24.0.0...v24.1.0) (2020-11-24) ### Bug Fixes * **area_charts:** correctly represent baseline with negative data points ([#896](#896)) ([d1243f1](d1243f1)) * **legend:** legend sizes with ordinal data ([#867](#867)) ([7559e0d](7559e0d)), closes [#811](#811) * render orphan data points on lines and areas ([#900](#900)) ([0be282b](0be282b)), closes [#783](#783) * specs swaps correctly reflected in state ([#901](#901)) ([7fba882](7fba882)) ### Features * **legend:** allow legend text to be copyable ([#877](#877)) ([9cd3459](9cd3459)), closes [#710](#710) * allow clearing series colors from memory ([#899](#899)) ([ab1af38](ab1af38)) * merge series domain with the domain of another group ([#912](#912)) ([325b013](325b013)) * small multiples for XY charts (alpha) ([#793](#793)) ([d288208](d288208)), closes [#500](#500) [#500](#500)
|
🎉 This PR is included in version 24.1.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
# [24.1.0](elastic/elastic-charts@v24.0.0...v24.1.0) (2020-11-24) ### Bug Fixes * **area_charts:** correctly represent baseline with negative data points ([opensearch-project#896](elastic/elastic-charts#896)) ([b622fda](elastic/elastic-charts@b622fda)) * **legend:** legend sizes with ordinal data ([opensearch-project#867](elastic/elastic-charts#867)) ([74bcbad](elastic/elastic-charts@74bcbad)), closes [opensearch-project#811](elastic/elastic-charts#811) * render orphan data points on lines and areas ([opensearch-project#900](elastic/elastic-charts#900)) ([3e2c739](elastic/elastic-charts@3e2c739)), closes [opensearch-project#783](elastic/elastic-charts#783) * specs swaps correctly reflected in state ([opensearch-project#901](elastic/elastic-charts#901)) ([a94347f](elastic/elastic-charts@a94347f)) ### Features * **legend:** allow legend text to be copyable ([opensearch-project#877](elastic/elastic-charts#877)) ([21a96d3](elastic/elastic-charts@21a96d3)), closes [opensearch-project#710](elastic/elastic-charts#710) * allow clearing series colors from memory ([opensearch-project#899](elastic/elastic-charts#899)) ([e97f4ab](elastic/elastic-charts@e97f4ab)) * merge series domain with the domain of another group ([opensearch-project#912](elastic/elastic-charts#912)) ([716ad5a](elastic/elastic-charts@716ad5a)) * small multiples for XY charts (alpha) ([opensearch-project#793](elastic/elastic-charts#793)) ([3b88e1c](elastic/elastic-charts@3b88e1c)), closes [opensearch-project#500](elastic/elastic-charts#500) [opensearch-project#500](elastic/elastic-charts#500)
Summary
Fixes #811
Before this PR, if the legend has
LegendExtraand nospacingBufferspecified in thetheme, the labels in the legend will be truncated when hovering over the series.After the fix, the legend is sized to correctly show the labels and values for the legend:

Checklist
Delete any items that are not applicable to this PR.