Show "waiting" symbol / disable controls during certain operations
- Dominant language
- JavaScript
- Stars
- 56
- Forks
- 32
- PR merge metrics
- No merged PRs in 30d
Description
- During layout
- During expected-to-be-intensive coloring / drawing operations? (#132)
- During animations (https://github.com/biocore/empress/issues/195)
Brought up by @antgonza in #375:
> When changing layouts it would be good to change the cursor to a waiting/processing pointer and ignore all interactions as a user (me) can continue clicking and changing layouts until the browser brakes
I think it would make sense to have a minimum tree size where this starts being triggered -- for small trees these precautions (or at least the waiting symbol) won't be necessary, but once we get up to say > 100k tips it may be worth adding this stuff in.
It would probably be best to set up reusable functions to enable / disable stuff, similarly to how parts of #319 work. This problem also came up during MetagenomeScope's development; I wound up using smooth transitions between the enabling/disabling operations there, since they were happening so quickly for small datasets I was worried it was gonna be a photosensitivity problem.
Contributor guide
Research direction
No files or tests are named. Start by tracing the handlers for layout changes, intensive coloring or drawing, and animations, then identify how controls and interactions are currently enabled. Done means large-tree operations show a waiting state and prevent conflicting interaction, with reusable enable/disable behavior and consideration for small trees and rapid transitions.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- data-visualization, frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100