TanStack / TanStack/table

getIsAllRowsSelected returns unexpected result when using manual pagination

Open
#4,771 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
28.4k
Forks
3.6k
Avg merge
1d 14h
Merged PRs (30d)
10

Description

Describe the bug

When using manualPagination and supplying a pageCount, and then calling the function returned by getToggleAllPageRowsSelectedHandler - would expect getIsAllRowsSelected to be false, but this is not the case.

In fact, I would expect it to be impossible for getIsAllRowsSelected to be true whenever pageCount is greater than 1 when using manualPagination - is this the wrong mental model or a bug?

Your minimal, reproducible example

https://codesandbox.io/p/sandbox/busy-jones-p3qqnd?file=%2Fsrc%2Fmain.tsx&selection=%5B%7B%22endColumn%22%3A6%2C%22endLineNumber%22%3A97%2C%22startColumn%22%3A1%2C%22startLineNumber%22%3A86%7D%5D

Steps to reproduce
  1. Click "Toggle all page rows selected"
  2. Observe output
Expected behavior

As a user I would expect it to be impossible for getIsAllRowsSelected to be true whenever pageCount is greater than 1 when using manualPagination, as the table can't know the ids of those rows in order to "select" them

How often does this bug happen?

Every time

Screenshots or Videos

No response

Platform

MacOS / Chrome

react-table version

8.7.9

TypeScript version

No response

Additional context

No response

Terms & Code of Conduct
  • I agree to follow this project's Code of Conduct
  • I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked CodeSandbox and trace the interaction between getToggleAllPageRowsSelectedHandler and getIsAllRowsSelected under manualPagination with a supplied pageCount. Confirm the behavior across multiple pages and determine whether the reported expectation is correct. Done means the selection state consistently reflects the supported manual-pagination behavior and the reproduction no longer shows the unexpected result.

Written by the indexing model from the issue text.

Assessment

Tech stack
react, typescript
Domain
frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.