Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bad legend sizing with long showLegendExtra values - Ordinal #811

Closed
nickofthyme opened this issue Sep 8, 2020 · 1 comment · Fixed by #867
Closed

Bad legend sizing with long showLegendExtra values - Ordinal #811

nickofthyme opened this issue Sep 8, 2020 · 1 comment · Fixed by #867
Assignees
Labels
bug Something isn't working :legend Legend related issue released Issue released publicly

Comments

@nickofthyme
Copy link
Collaborator

Describe the bug
With the removal of default showLegendExtra values on Ordinal, the chart now incorrectly sizes legends with long showLegendExtra values.

To Reproduce
Steps to reproduce the behavior:

  1. Go to http://localhost:9001/?path=/story/axes--different-tooltip-formatter
  2. Remove the spacingBuffer theme override
  3. Notice the screenshot below.

Additional context
The defaultExtra values are both null

defaultExtra: {
raw: lastValue && lastValue.y1 !== null ? lastValue.y1 : null,
formatted: lastValue && lastValue.y1 !== null ? formatter(lastValue.y1) : null,
},

When the formatted value is used to determine the labels here

export const getLegendItemsLabelsSelector = createCachedSelector(
[computeLegendSelector, getSettingsSpecSelector],
(legendItems, { showLegendExtra }): LegendItemLabel[] =>
legendItems.map(({ label, defaultExtra }) => {
if (defaultExtra?.formatted != null) {
return { label: `${label}${showLegendExtra ? defaultExtra.formatted : ''}`, depth: 0 };
}
return { label, depth: 0 };
}),
)(getChartIdSelector);

The defaultExtra is thus omitted and never used in the size calculations rendering a narrow legend size.

I suspect a fix would be to calculate the last value even for Ordinal scales and use a sample formatted value in the dimensions calculations, but still hide the default values on Ordinal scales.

Expected behaviour
The legend should find the correct size including the showLegendExtra content

Screenshots
Screen Recording 2020-09-08 at 04 35 PM

@nickofthyme nickofthyme added bug Something isn't working :legend Legend related issue labels Sep 8, 2020
@nickofthyme nickofthyme changed the title Bad legend sizing with long showLegendExtra values Bad legend sizing with long showLegendExtra values - Ordinal Sep 14, 2020
@rshen91 rshen91 self-assigned this Oct 13, 2020
markov00 pushed a commit that referenced this issue Nov 24, 2020
# [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)
@markov00
Copy link
Member

🎉 This issue has been resolved in version 24.1.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@markov00 markov00 added the released Issue released publicly label Nov 24, 2020
AMoo-Miki pushed a commit to AMoo-Miki/OpenSearch-Dashboards that referenced this issue Feb 10, 2022
# [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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working :legend Legend related issue released Issue released publicly
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants