new EventMonitor()
Adds event handlers for mouse clicks and movement
EventMonitor sets up mouse click and movement event handlers on the CGView canvas.
CGView event contents (based on mouse position):
| Property | Description |
|---|---|
| bp | Base pair |
| centerOffset | Distance from center of the map. For a circular map, this is the radius, while for a linear map, it's the distance from the backbone. |
| elementType | One of: 'legendItem', 'caption', 'feature', 'plot', 'backbone', 'contig', 'label', or undefined |
| element | The element (e.g, a feature), if there is one. |
| slot | Slot (if there is one). Track can be accessed from the slot (slot.track). |
| score | Score for element (e.g. feature, plot), if available. |
| canvasX | Position on the canvas X axis, where the origin is the top-left. See scales for details. |
| canvasY | Position on the canvas Y axis, where the origin is the top-left. See scales for details. |
| mapX | Position on the map domain X axis, where the origin is the center of the map. See scales for details. |
| mapY | Position on the map domain Y axis, where the origin is the center of the map. See scales for details. |
| d3 | The d3 event object. |
// Log the feature name when clicked
cgv.on('click', (event) => {
if (event.elementType === 'feature') {
console.log(`Feature '${event.element.name}' was clicked`);
}
});
// Log the base pair position of the mouse as it moves
cgv.on('mousemove', (event) => {
console.log(`BP: ${event.bp}`);
});
Adds event handlers for mouse clicks and movement