Deselect when selecting another row vs deselect when not selecting another row
Deselect when selecting another row vs deselect when not selecting another row
Is there a way to distinguish between these two events?
I have a table with toggleable
set to true
. I use the selected row to filter a secondary table (which is actually done using ajax.reload()
on the secondary table during the main table's select
event.
If I select Row A and then Row B, it fires deselect
on Row A and select
on Row B, which reloads the secondary table like I would like, but when I deselect
Row B for no other row it does not reload the secondary table because there was no select
.
If I add the ajax.reload()
on the secondary table to the deselect
event on the main table then when I select Row A and then Row B, deselect
fires on Row A and select
fires on Row B causing the secondary table to do two ajax.reload()
although only one is needed.
I can introduce a new variable outside the tables themselves to address this, but I was hoping something out-of-the-box exists.
This question has an accepted answers - jump to answer
Answers
I guess my shorter question would be -- does the
deselect
event actually know it's part of aselect
event?It does not - no.
deselect
will happen when a row is deselected, even if that is the result of another row being selected. Thenselect
will happen.If I need to combine them into a single event handler, what I've done in the past is to use a debounce for them both - i.e. in
deselect
start a little timer. If a row is then selected, cancel the timer and process the now selected row only. If there is no row selected, the timer will complete and you can process the deselected row.This is what we do in SearchPanes where you might want to act on just a deselect, but more commonly you need the select event that happens after deselection.
Allan