This repository was archived by the owner on Aug 29, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 56
Add delayed response/debouncing for table filteringΒ #87
Copy link
Copy link
Open
Description
Scenario
- I have a table with ~100-1000 rows of data, with
filterable=True, and plots being rendered based on the visible rows in the table -- in full about ~10-50MB. - When filtering, say, a percentage column, I toggle the Filter Rows button, and begin typing my query for values of:
>90.5. - Dash issues a state-change and callback for each character, resulting in new figures being sent for
>,>9,>90,>90., and>90.5, sending the entire set of figures and data each time. - Sometimes, this means that my desired filtering never actually gets applied since my app gets stuck handling the previous 4 callbacks.
- This is also a large waste of bandwidth
Ideal outcome
- I would like a
debounceoption for theDataTableclass - The
debounceoption would prevent state-update from filtering rows by either:- a predefined duration (i.e. 500ms), or
- a user specified amount of time
- This would prevent multiple callbacks from being triggered during typing, resulting in meaningless or undesired updates
- The
debounceoption could default toFalse, so that the standard behaviour is still live-updating, for people who would prefer that for their application.
I'm not a javascript developer (Python, mostly), but will begin to try and tackle this in src/components/DataTable.react.js if there are no developers that can prioritize it. Is there another file/place that I'll need to update (other than the usage.py demonstrating the feature)?
Thanks!
G
nite
Metadata
Metadata
Assignees
Labels
No labels