Now that the UI is responsive enough, we should switch to enabling selection based on mouseenter, which is a blocker for some important interaction features (see below). This may require significant redesign on on the JavaScript/HTML side as my earlier experiment with this didn’t seem to work well – I think the issue what that the root div is rebuilt every time the selection state changes, and when an element is rebuild under the mouse, it re-triggers mouseenter. But more investigation required.
Now that the UI is responsive enough, we should switch to enabling selection based on
mouseenter
, which is a blocker for some important interaction features (see below). This may require significant redesign on on the JavaScript/HTML side as my earlier experiment with this didn’t seem to work well – I think the issue what that the rootdiv
is rebuilt every time the selection state changes, and when an element is rebuild under the mouse, it re-triggersmouseenter
. But more investigation required.TableView
Related issues:
989
265
913
981
Related StackOverflow questions:
Done/dropped:
drawBarChart
called multiple times (10+ times) for singlemouseenter
(and as mouse moves within bar)listenersEnabled
toggle workaround (best I have for now)mouseleave
andmouseenter
fired when element is removed/added while under the cursor?mousedown
) from “set state” (mouseenter
andmouseleave
)SelState
(persistent/transient)Fig
andselectionResult
toSelState
, running the analysis once for each of persistent, transientSelState
in each.js
front endmouseleave
UIHelpers
todraw-
functionsRenderer
UIHelpers
colorShade
toUIHelpers
BarChart
SetNot for nowbar_fill
when transiently selectedTableView
isUsed
intoUIHelpers
tableRow_isUsed
to include transient selectionmouseleave
event lost (maybe if mouse moves quickly andmouseenter
takes too long?)LineChart
drawFig
(handler tied to initial value offig
!)ScatterPlot
MatrixView
: CSS to distinguish transient from persistent selection