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
Brush as controlled component never updates on change of startIndex or endIndex props #2404
Brush as controlled component never updates on change of startIndex or endIndex props #2404
Comments
I am on v2.0.6 and also seeing the same issue. After the initial set of the startIndex/endIndex, the brush does not update on any changes after. |
A workaround for this is to force the chart to re-render on change of whatever inputs or controller is being used. To do this you can pass a random number value to the <LineChart
key={chartKey} // change this value when you want the chart to change
data={prices}
onClick={handleClick}
> |
Thanks, I was making a new copy of the data, but seems like a better idea |
Wow, thanks. It work for me |
Hi guys, any update for this enhancement without re-rendering the graph? |
No, though it's probably relatively easy to do if someone wants to contribute the fix |
Added reproduction to the storybook in #4032 Should make it easier to solve. Once that story works correctly we'll be good |
<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> Add storybook entry for a controlled brush component. Use as a reproduction of current issue where changing start and end index via state does not update the chart ## Related Issue <!--- This project only accepts pull requests related to open issues --> <!--- If suggesting a new feature or change, please discuss it in an issue first --> <!--- If fixing a bug, there should be an issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #2404 ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> reproduction of #2404 in storybook. Cannot control via updating props ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> N/A ## Screenshots (if appropriate): ![image](https://github.com/recharts/recharts/assets/25180830/a2a58caf-6279-4ac1-951a-8fde4597a9a1) ## Types of changes <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] docs ## Checklist: <!--- Go over all the following points, and put an `x` in all the boxes that apply. --> <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> - [x] My code follows the code style of this project. - [] My change requires a change to the documentation. - [ ] I have updated the documentation accordingly. - [ ] I have added tests to cover my changes. - [x] I have added a storybook story or extended an existing story to show my changes - [x] All new and existing tests passed. Co-authored-by: Coltin Kifer <ckifer@amazon.com>
found the fix, will take a bit to get out |
<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> Fixes #2404 Allow start and end index to update when passed in/updated externally ## Related Issue <!--- This project only accepts pull requests related to open issues --> <!--- If suggesting a new feature or change, please discuss it in an issue first --> <!--- If fixing a bug, there should be an issue describing it with steps to reproduce --> <!--- Please link to the issue here: --> #2404 ## Motivation and Context <!--- Why is this change required? What problem does it solve? --> Fixes a bug ## How Has This Been Tested? <!--- Please describe in detail how you tested your changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> - See storybook entry integration test - Everything else works as normal ## Screenshots (if appropriate): ![image](https://github.com/recharts/recharts/assets/25180830/6d1b8c5b-00ad-4ae5-a856-1956194ce54c) ## Types of changes <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [x] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) ## Checklist: <!--- Go over all the following points, and put an `x` in all the boxes that apply. --> <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> - [x] My code follows the code style of this project. - [ ] My change requires a change to the documentation. - [ ] I have updated the documentation accordingly. - [x] I have added tests to cover my changes. - [x] I have added a storybook story or extended an existing story to show my changes - [x] All new and existing tests passed. --------- Co-authored-by: Coltin Kifer <ckifer@amazon.com>
Fixed in above PR, will be out in next minor |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [recharts](https://togithub.com/recharts/recharts) | [`2.10.3` -> `2.10.4`](https://renovatebot.com/diffs/npm/recharts/2.10.3/2.10.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/recharts/2.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/recharts/2.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/recharts/2.10.3/2.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/recharts/2.10.3/2.10.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>recharts/recharts (recharts)</summary> ### [`v2.10.4`](https://togithub.com/recharts/recharts/releases/tag/v2.10.4) [Compare Source](https://togithub.com/recharts/recharts/compare/v2.10.3...v2.10.4) #### What's Changed Fix some older bugs annoying bugs, TS typings, update to the storybook theme, and more ##### Fix - `ResponsiveContainer`: fix `ref.current.current` without breaking users using current implementation by [@​HHongSeungWoo](https://togithub.com/HHongSeungWoo) in [recharts/recharts#4008 - closes [recharts/recharts#3718 - `Brush`: Allow Brush to be controlled with start and end index via state by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4034 - closes [recharts/recharts#2404 - `Legend`: TypeScript - Add the dataKey type to legend props by [@​HHongSeungWoo](https://togithub.com/HHongSeungWoo) in [recharts/recharts#4035 - closes [recharts/recharts#2909 - `Pie`: TypeScript - added `payload` to `PieSectorDataItem` type by [@​PavelVanecek](https://togithub.com/PavelVanecek) in [recharts/recharts#4030 - `Pie`: unique sector keys fix by [@​imagineLife](https://togithub.com/imagineLife) in [recharts/recharts#4009 closes [recharts/recharts#3273 - `RadialBar`: allow className to be passed to Radial Bar background by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4027 - closes [recharts/recharts#4011 ##### Storybook - Storybook: Added Legend component story! by [@​AnujSharma141](https://togithub.com/AnujSharma141) in [recharts/recharts#4039 - Storybook: add controlled brush storybook entry by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4032 - Storybook: Custom Storybook theme for Recharts brand by [@​csdiehl](https://togithub.com/csdiehl) in [recharts/recharts#4016 #### New Contributors - [@​csdiehl](https://togithub.com/csdiehl) made their first contribution in [recharts/recharts#4016 - [@​AnujSharma141](https://togithub.com/AnujSharma141) made their first contribution in [recharts/recharts#4039 **Full Changelog**: recharts/recharts@v2.10.3...v2.10.4 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/SAP/ui5-webcomponents-react). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [recharts](https://togithub.com/recharts/recharts) | [`2.9.3` -> `2.12.1`](https://renovatebot.com/diffs/npm/recharts/2.9.3/2.12.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/recharts/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/recharts/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/recharts/2.9.3/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/recharts/2.9.3/2.12.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>recharts/recharts (recharts)</summary> ### [`v2.12.1`](https://togithub.com/recharts/recharts/releases/tag/v2.12.1) [Compare Source](https://togithub.com/recharts/recharts/compare/v2.12.0...v2.12.1) #### What's Changed Unintentional regression broke panoramic/compact Brush in 2.11.0 and 2.12.0, backport the fix to 2.x as we work on 3.x ##### Fix - fix: compact render should read from context, fixes brush panorama by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4194 fixes [recharts/recharts#4193 **Full Changelog**: recharts/recharts@v2.12.0...v2.12.1 ### [`v2.12.0`](https://togithub.com/recharts/recharts/releases/tag/v2.12.0) [Compare Source](https://togithub.com/recharts/recharts/compare/36c14c63d271d05b701e1d32ac931de0fd30b360...v2.12.0) #### What's Changed Bug fixes and a few small new features. Releasing 2.12.0 to create a "clean slate" as contributors are discussing next moves for recharts. We will try to focus on upgrades, architectural changes, and long-pending breaking changes so we can release a recharts v3. This will not be a large major version, or one hard to upgrade to, but rather a major version bump to prevent us from breaking people with library upgrades, large refactors, etc. Feature parity should hold. Thanks! #### Features - `Bar`: Accept a callback function for `minPointSize` so it can be determined by data by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4099 closes [recharts/recharts#2819 - `Accessibility`: Enable screen reader support with accessibilityLayer and default tooltip by [@​julianna-langston](https://togithub.com/julianna-langston) in [recharts/recharts#4077 #### Fix - `Bar`: `activeBar` should not be true by default, fixes a breaking change from 2.9.0 by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4139 - fixes [recharts/recharts#4103 and [recharts/recharts#4101 - `Scatter`: fix non-unique key errors by [@​imagineLife](https://togithub.com/imagineLife) in [recharts/recharts#4087 - fixes [recharts/recharts#4151 and [recharts/recharts#4060 - `Pie`: fix non-unique key errors by [@​imagineLife](https://togithub.com/imagineLife) in [recharts/recharts#4106 - `Tooltip`: fix bug that caused throttled tooltip to stay active when moving mouse quickly by [@​HHongSeungWoo](https://togithub.com/HHongSeungWoo) in [recharts/recharts#4100 fixes [recharts/recharts#4093 #### Chore - Cleanup, tests, and refactoring work. Thanks [@​PavelVanecek](https://togithub.com/PavelVanecek) - Upgrade react smooth, remove `translateStyle`, remove prop-types as a peerDep - **NOTE**: animations will no longer have browser prefixes on them. Browsers have good support for this (https://caniuse.com/?search=transforms) - Upgrade dev dependencies - Upgrade TypeScript to 4.9.5 (no definition changes from upgrade) #### Storybook - New storybook stories and doc updates #### New Contributors - [@​TRFielder](https://togithub.com/TRFielder) made their first contribution in [recharts/recharts#4088 **Full Changelog**: recharts/recharts@v2.11...v2.12.0 ### [`v2.11.0`](https://togithub.com/recharts/recharts/compare/v2.10.4...36c14c63d271d05b701e1d32ac931de0fd30b360) [Compare Source](https://togithub.com/recharts/recharts/compare/v2.10.4...36c14c63d271d05b701e1d32ac931de0fd30b360) ### [`v2.10.4`](https://togithub.com/recharts/recharts/releases/tag/v2.10.4) [Compare Source](https://togithub.com/recharts/recharts/compare/v2.10.3...v2.10.4) #### What's Changed Fix some older bugs annoying bugs, TS typings, update to the storybook theme, and more ##### Fix - `ResponsiveContainer`: fix `ref.current.current` without breaking users using current implementation by [@​HHongSeungWoo](https://togithub.com/HHongSeungWoo) in [recharts/recharts#4008 - closes [recharts/recharts#3718 - `Brush`: Allow Brush to be controlled with start and end index via state by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4034 - closes [recharts/recharts#2404 - `Legend`: TypeScript - Add the dataKey type to legend props by [@​HHongSeungWoo](https://togithub.com/HHongSeungWoo) in [recharts/recharts#4035 - closes [recharts/recharts#2909 - `Pie`: TypeScript - added `payload` to `PieSectorDataItem` type by [@​PavelVanecek](https://togithub.com/PavelVanecek) in [recharts/recharts#4030 - `Pie`: unique sector keys fix by [@​imagineLife](https://togithub.com/imagineLife) in [recharts/recharts#4009 closes [recharts/recharts#3273 - `RadialBar`: allow className to be passed to Radial Bar background by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4027 - closes [recharts/recharts#4011 ##### Storybook - Storybook: Added Legend component story! by [@​AnujSharma141](https://togithub.com/AnujSharma141) in [recharts/recharts#4039 - Storybook: add controlled brush storybook entry by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#4032 - Storybook: Custom Storybook theme for Recharts brand by [@​csdiehl](https://togithub.com/csdiehl) in [recharts/recharts#4016 #### New Contributors - [@​csdiehl](https://togithub.com/csdiehl) made their first contribution in [recharts/recharts#4016 - [@​AnujSharma141](https://togithub.com/AnujSharma141) made their first contribution in [recharts/recharts#4039 **Full Changelog**: recharts/recharts@v2.10.3...v2.10.4 ### [`v2.10.3`](https://togithub.com/recharts/recharts/releases/tag/v2.10.3) [Compare Source](https://togithub.com/recharts/recharts/compare/v2.10.2...v2.10.3) #### What's Changed - Fix non-unique react `key` bug(s) by [@​imagineLife](https://togithub.com/imagineLife) in [recharts/recharts#4006 - closes [recharts/recharts#4004 #### New Contributors - [@​hkmarques](https://togithub.com/hkmarques) made their first contribution in [recharts/recharts#4002 **Full Changelog**: recharts/recharts@v2.10.2...v2.10.3 ### [`v2.10.2`](https://togithub.com/recharts/recharts/releases/tag/v2.10.2) [Compare Source](https://togithub.com/recharts/recharts/compare/v2.10.1...v2.10.2) #### What's Changed Patch some bugs from 2.9 / 2.10 ##### Fix - `Tooltip`: Fix tooltip rendering crash when activeItem is undefined by [@​tran-simon](https://togithub.com/tran-simon) in [recharts/recharts#3982 - `Cursor`: should no longer show gray background on hover where there was none previously [@​HHongSeungWoo](https://togithub.com/HHongSeungWoo) in [recharts/recharts#3992 - `Tooltip`: show tooltip when `data` prop is on individual cartesian component by [@​HHongSeungWoo](https://togithub.com/HHongSeungWoo) in [recharts/recharts#3988 - `LabelList` - TypeScript: LabelList offset prop issue by [@​ckifer](https://togithub.com/ckifer) in [recharts/recharts#3999 ##### Accessibility - `Brush`: set default aria-label and allow value override by [@​enriquetamames-cpi](https://togithub.com/enriquetamames-cpi) in [recharts/recharts#3950 ##### Refactor / Cleanup - Removing some eslint errors for "no array index key" by [@​imagineLife](https://togithub.com/imagineLife) #### New Contributors - [@​tran-simon](https://togithub.com/tran-simon) made their first contribution in [recharts/recharts#3982 - [@​enriquetamames-cpi](https://togithub.com/enriquetamames-cpi) made their first contribution in [recharts/recharts#3950 **Full Changelog**: recharts/recharts@v2.10.1...v2.10.2 ### [`v2.10.1`](https://togithub.com/recharts/recharts/releases/tag/v2.10.1): Patch: Do not include types from test folder [Compare Source](https://togithub.com/recharts/recharts/compare/15328ec11b78968c847b43b646767b7b0c0d9e36...v2.10.1) Fixes [recharts/recharts#3978 **Full Changelog**: recharts/recharts@v2.10...v2.10.1 ### [`v2.10.0`](https://togithub.com/recharts/recharts/compare/v2.9.3...15328ec11b78968c847b43b646767b7b0c0d9e36) [Compare Source](https://togithub.com/recharts/recharts/compare/v2.9.3...15328ec11b78968c847b43b646767b7b0c0d9e36) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 4pm every weekday" in timezone Europe/Paris, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/specfy/specfy). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy44MS4zIiwidXBkYXRlZEluVmVyIjoiMzcuMjAwLjAiLCJ0YXJnZXRCcmFuY2giOiJjaG9yZS9yZW5vdmF0ZUJhc2VCcmFuY2gifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Reproduction link
Steps to reproduce
startIndex
andendIndex
startIndex
andendIndex
as props to Brush (making it a controlled component)startIndex
andendIndex
in state as wellWhat is expected?
It is expected that when changing the number input values, that both brush and chart will update to display according values.
What is actually happening?
While changing the brush correctly updates state and controlled number inputs, changing number inputs does not update Brush even though it correctly updates state.
There is a closed but never truly solved issue here, I have tried all solutions mentioned in the comments with no luck on latest version.
The text was updated successfully, but these errors were encountered: