biocore / biocore/empress

Show "waiting" symbol / disable controls during certain operations

Open
#381 1 comment 1 reaction 0 assignees View on GitHub
feature request performance
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.