cloudscape-design / components

React components for Cloudscape Design System
https://cloudscape.design/
Apache License 2.0
2.3k stars 140 forks source link

chore: Fix table progressive loading row keys #2296

Closed pan-kot closed 1 month ago

pan-kot commented 1 month ago

Description

Fixed a bug reproducible in the demo of progressive loading (examples package). When a row gets expanded it renders a loader row (to load initial items) followed by data rows with another loader (to load subsequent items). That two loader rows when rendered one after another had the same React key caused a bug when React renders them both and never removes the first one from the DOM. That is fixed by updating the loader row key with from argument.

Additionally, removed part of the demo page that no longer works as expected when using async mode as per feedback in TjeaAaLsCsbV.

How has this been tested?

Review checklist _The following items are to be evaluated by the author(s) and the reviewer(s)._ #### Correctness - _Changes include appropriate documentation updates._ - _Changes are backward-compatible if not indicated, see [`CONTRIBUTING.md`](https://github.com/cloudscape-design/components/blob/main/CONTRIBUTING.md#public-apis)._ - _Changes do not include unsupported browser features, see [`CONTRIBUTING.md`](https://github.com/cloudscape-design/components/blob/main/CONTRIBUTING.md#browsers-support)._ - _Changes were manually tested for accessibility, see [accessibility guidelines](https://cloudscape.design/foundation/core-principles/accessibility/)._ #### Security - _If the code handles URLs: all URLs are validated through [the `checkSafeUrl` function](https://github.com/cloudscape-design/components/blob/main/src/internal/utils/check-safe-url.ts)._ #### Testing - _Changes are covered with new/existing unit tests?_ - _Changes are covered with new/existing integration tests?_

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.44%. Comparing base (f7b050d) to head (18cfc32). Report is 17 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #2296 +/- ## ========================================== + Coverage 95.43% 95.44% +0.01% ========================================== Files 707 706 -1 Lines 18796 18804 +8 Branches 6303 6311 +8 ========================================== + Hits 17938 17948 +10 + Misses 804 802 -2 Partials 54 54 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.