fix: onRenderChange callback trigger on resize#2228
Merged
nickofthyme merged 9 commits intomainfrom Nov 7, 2023
Merged
Conversation
Collaborator
Author
|
buildkite update screenshots |
nickofthyme
commented
Nov 7, 2023
|
|
||
| type ResizerProps = ResizerStateProps & ResizerDispatchProps; | ||
|
|
||
| const DEFAULT_RESIZE_DEBOUNCE = 200; |
Collaborator
Author
There was a problem hiding this comment.
This was never used cuz Settings has its own default of 10.
Comment on lines
+59
to
+61
| componentDidUpdate({ resizeDebounce }: Readonly<ResizerProps>): void { | ||
| if (resizeDebounce !== this.props.resizeDebounce) this.setupResizeDebounce(); | ||
| } |
Collaborator
Author
There was a problem hiding this comment.
If resizeDebounce value was changed after the initial chart render, the value and thus this.onResizeDebounce was never updated. This adds an update to this.onResizeDebounce on componentDidUpdate.
Even setting the value directly on the settings with a storybook knob was too async to update the value and thus never using the initial knob value.
Collaborator
Author
There was a problem hiding this comment.
We could consider removing this deboucer altogether as it was an original implementation that may not be needed or at the very least default to 0 (aka disabled).
nickofthyme
pushed a commit
that referenced
this pull request
Nov 8, 2023
# [61.0.0](v60.0.0...v61.0.0) (2023-11-08) ### Bug Fixes * `onRenderChange` callback trigger on resize ([#2228](#2228)) ([be30c1b](be30c1b)) * **axis:** always render `tickLine` unless `visible` is `false` ([#2194](#2194)) ([ec95d50](ec95d50)) * **BarSeries:** ignore histogram mode in determining stacked series ([#2225](#2225)) ([27b4281](27b4281)) * clamp brushing min of last bucket ([#2227](#2227)) ([155c22d](155c22d)) * **deps:** update dependency @elastic/eui to ^88.5.0 ([#2179](#2179)) ([2bb921e](2bb921e)) * **deps:** update dependency @elastic/eui to ^88.5.4 ([#2190](#2190)) ([05b33e5](05b33e5)) * **deps:** update dependency @elastic/eui to ^89.1.0 ([#2212](#2212)) ([a91f68d](a91f68d)) * **deps:** update dependency @elastic/eui to v89 ([#2193](#2193)) ([132327d](132327d)) * **deps:** update dependency @elastic/eui to v90 ([#2222](#2222)) ([10cd53b](10cd53b)) ### chore * reclaim charts theme ownership from eui ([#2175](#2175)) ([422c7d5](422c7d5)) ### Features * **metric:** allow alpha colors and improve contrast logic ([#2184](#2184)) ([dd5732e](dd5732e)) ### BREAKING CHANGES * **BarSeries:** now ignores histogram mode in determining stacked series * elastic charts theme renamed to `LEGACY_DARK_THEME` and `LEGACY_LIGHT_THEME` in favor of the main `DARK_THEME` and `LIGHT_THEME` which was merged with eui theme overrides. These new themes are now default. * **axis:** Now respects `tickLine.padding` whenever `tickLine.visible` is `true`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
onRenderChangewas not being fired on resize of the chart even though the resize caused the chart to re-render. Adds anonWillRenderandonResizeevents to theSettingsspec.This also reworks the
resizeDebouncelogic to update the debounce time when changed and remove the debouncer completely whenresizeDebounceis set to0.Details
The
ChartResizertriggers the update of the parent dimensions in the redux state but for some reason this does not affect thestate.chartId,state.chartRendered,state.chartRenderedCount, norgetDebugStateSelector(state), theChartStatuscomponent never updates, and thus never triggers theonRenderChangecallback event.Issues
fixes #2221
Checklist
:xy,:partition):interactions,:axis)closes #123,fixes #123)