flow-components icon indicating copy to clipboard operation
flow-components copied to clipboard

Grid drag select should fire selection event only after drag ends

Open TatuLund opened this issue 10 months ago • 1 comments

Describe your motivation

There is drag select mode available in Grid when the multiselection is enabled. Currently it works so, that selection event is fired by individual selection checkboxes. This will produce many selection events. This works, but is in-efficient. Hence it would be better if only one selection event is fired after mouse button is released for a set of selected items instead firing selection event for each individual item.

Describe the solution you'd like

Only one selection event is fired after mouse button is released for a set of selected items

Describe alternatives you've considered

No response

Additional context

No response

TatuLund avatar Mar 10 '25 07:03 TatuLund

I think it should be possible to optimize this by performing drag selection on a copy of the selectedItems array and applying changes to the original selectedItems array only after the mouse is released. However, this approach is more complex because the Flow counterpart keeps only visible selected items on the client side. This means selection changes would need to be stored as a diff and then sent to the server in batch likely through a new RPC method that would support handling selection and deselection of multiple items in a single request, as the current grid.$server.select only supports one item at a time.

vursen avatar Mar 13 '25 12:03 vursen