Skip to content

Conversation

@sjd78
Copy link
Member

@sjd78 sjd78 commented Mar 19, 2025

Resolves: https://issues.redhat.com/browse/MTA-4685

For tables with row selection, update the bulk selection component so that it works consistently across client local and server managed filter/sort/pagination. With this change, the bulk selector will allow:

  • Allow clearing all selections
  • Allow selecting all row in the current page
  • Show the count of selected rows

Client local tables could support additional selections such as "select all filtered rows", and "select all rows". At this time, maintaining consistency across tables is better than segmenting bulk selection functionality depending on table data source type. Only select none and select current page is supported.

Summary of changes:

  • Split expansion logic out of ToolbarBulkSelector to ToolbarBulkExpander (do one thing per component)
  • Remove unused isItemSelectable prop from the useSelectionState() hook
  • Move data functionality out of ToolbarBulkSelector into useBulkSelector() to keep data handling separate from the render
  • Refactor to simplify useSelectionState() and move selection tracking out of useTableContolProps()

…r#2197)

Resolves: https://issues.redhat.com/browse/MTA-4685

For tables with row selection, update the bulk selection component so
that it works consistently across client local and server managed
filter/sort/pagination. With this change, the bulk selector will allow:
  - Allow clearing all selections
  - Allow selecting all row in the current page
  - Show the count of selected rows

Client local tables could support additional selections such as "select
all filtered rows", and "select all rows". At this time, maintaining
consistency across tables is better than segmenting bulk selection
functionality depending on table data source type. Only select none and
select current page is supported.

Summary of changes:
- Split expansion logic out of `ToolbarBulkSelector` to
`ToolbarBulkExpander` (do one thing per component)
- Remove unused `isItemSelectable` prop from the `useSelectionState()`
hook
- Move data functionality out of `ToolbarBulkSelector` into
`useBulkSelector()` to keep data handling separate from the render
- Refactor to simplify `useSelectionState()` and move selection tracking
out of `useTableContolProps()`

---------

Signed-off-by: Scott J Dickerson <[email protected]>
@sjd78 sjd78 merged commit d457bbf into konveyor:release-0.6 Mar 19, 2025
10 checks passed
@sjd78 sjd78 deleted the backport_2197 branch March 19, 2025 16:22
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