observablehq / plot

A concise API for exploratory data visualization implementing a layered grammar of graphics
https://observablehq.com/plot/
ISC License
4.16k stars 171 forks source link

Pointer interaction interferes with external event handlers #2052

Open jheer opened 3 months ago

jheer commented 3 months ago

The pointerdown handler for the pointer interaction calls event.stopImmediatePropagation(): https://github.com/observablehq/plot/blob/main/src/interactions/pointer.js#L165

As a result, any event handlers added to the SVG after the fact are starved of expected pointerdown events. For example, in Mosaic vgplot this breaks discrete point selection if a Plot pointer or tip are active (https://github.com/uwdata/mosaic/issues/361).

For greater interoperability, might it be possible to remove this line, and instead handle any necessary event suppression in a Plot-internal fashion? Thanks!