Skip to content

Unset row+column height values on unmount#3

Merged
cee-chen merged 1 commit intocee-chen:datagrid-auto-height-props-updatefrom
chandlerprall:datagrid-auto-height-props-update-unset-heights
Oct 27, 2021
Merged

Unset row+column height values on unmount#3
cee-chen merged 1 commit intocee-chen:datagrid-auto-height-props-updatefrom
chandlerprall:datagrid-auto-height-props-update-unset-heights

Conversation

@chandlerprall
Copy link
Copy Markdown

My proposed fix for the issue mentioned in elastic#5281 (comment)

@cee-chen
Copy link
Copy Markdown
Owner

LGTM - will look into adding unit tests for this in a bit. I also think we should consider wrapping it in an isAutoHeight check, but maybe that's unnecessary

@cee-chen cee-chen merged commit 03e91d2 into cee-chen:datagrid-auto-height-props-update Oct 27, 2021
cee-chen pushed a commit that referenced this pull request Oct 28, 2021
…to` (elastic#5281)

* Remove isHeightSame check

* Remove same height check from shouldComponentUpdate

- if we're not checking for sameHeight in componentDidUpdate, we also likely don't need this anymore, and all dynamic user changes appear to work without this code

* [Proposed refactors]

- Rename `recalculateRowHeight` to `setAutoRowHeight`

- DRY out setAutoRowHeight to be reusable by both the resize observer and during props update (NB: This leads to some repetition with the height being obtained twice, but will not be an issue shortly as I'll be refactoring/removing the cell wrapper observer in a future PR)

- Refactor rowHeightUtils.isAutoHeight to accept an undefined rowHeightsOptions

* Improve unit tests

* Add changelog entry

* [PR feedback] Fix `isAutoHeight` false positive
- occurs if the `defaultHeight` is auto but a specific `rowHeights` line override is not auto

TODO: Write a unit test for this in the future

* [PR feedback/Discover testing] Trigger component update when rowHeightsOptions changes

* [cleanup] Remove now-unused compareHeights util

+ clean up mock rowHeightUtils as well

* [revert] rename setAutoRowHeight back to recalculateRowHeight

- lineCount in elastic#5284 will shortly be using the row height cache in addition to auto, so I'm making the fn name less specific again

* Add enqueue/timeout to recalculateRowHeight updates

- to avoid race conditions with cache being cleared

* Remove clearHeightsCache completely

* Unset row+column height values on unmount (#3)

* Add unit test for new unsetRowHeight

+ add optional isAutoHeight check

* Remove hidden columns from row height cache

* Early return in getRowHeight

Co-authored-by: Chandler Prall <chandler.prall@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants