Note: I am not using OData.
I have a TreeTable with 3000+ children for one of the rows (along with other rows). I have implemented the ability for users to expand and collapse all children for the currently selected row, as opposed to the given buttons that only expand/collapse the immediate children for the selected row.
As the data sets get larger, the performance of rendering the table is noticeable. Currently a row with around 3000 total descendent rows takes around 10 seconds to expand or collapse fully. During this time the UI is entirely unresponsive.
What I would really like is to display a busy indicator. I can get this to work, but not how I want. I have to set the delay to 0 and put my expand/collapse code into a timeout. Once I do this, I see the busy indicator... but my problem with this is that I always see it, even when the expand/collapse doesn't take very long.
Once I change the delay to 500 or 1000 (which is where I need it to be), the busy indicator no longer displays at all. Presumably because the table is too busy rendering to display the busy indicator. If I remove the line of code to remove the busy indicator (setBusy(false)), then I see that the busy indicator does show up -- but only after all of the rows have fully expanded/collapsed. That's not helpful.
I recognize my problem is basically the same as https://scn.sap.com/thread/3823596, but they were satisfied with having no delay before showing the busy indicator, which for me is not an acceptable solution.
Any suggestions? Thanks.