Skip to content

Enhancement request: In paging mode, support "select all" to select all items, not just the visible page #1289

Open
@victorbr

Description

@victorbr

Related to #1276
Suppose the table is configured to display the selection checkboxes. Then the checkbox at the table header behaves as "select/unselect all".
It is non-trivial to define the behavior of this checkbox when only a subset of data is visible.
I can see three situations when this happens. One is using paging, the other is column filter and the third one is search bar.
In all these scenarios a legitimate behavior question is whether the "select all" checkbox should select all data or only the visible part of it. The same goes for "unselect all".
My personal intuition is that the behavior in paging mode should differ from the behavior in filtering/searching mode. The latter is a conscious user choice whereas the former is the display restriction. I consider paging as a visual alternative to scrolling (sometimes when the screen real estate is small, both take place). The selection of page size is also somewhat arbitrary. The situation where the user sees only the first page is similar to the situation where the table is large and not visible on the screen in its entirety. Therefore my intuition says that paging should not affect the behavior of "select all", meaning pressing the checkbox should select all data, not just the visible portion of it.
This is quite different from the filtering/searching when the user consciously filters part of the data. In this situation I expect "select/unselect all" to select only the filtered data (again, regardless of the paging).
I understand however that this behavior depends on the business case and one could argue the opposite. For example, in GMail, where the data set is really large and people don't reason about the whole set of their emails, the "select all" selects only the visible page. Therefore I would appreciate if this behavior could be made configurable.

P.S. If you're asking while I'm using paging when my data set is "finite", the answer is "performance". The table performance becomes rather sluggish when there are more than ~250 rows.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions