Support select by nearest point to mouse #917
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request implements a new
selectMode
option that allows switching the point selection mode between the closest X axis value (current behaviour) and the closest point to the mouse.The option is activated by setting
selectMode
to eitherclosest-x
(the default current behaviour) oreuclidian
.The changes that locked series, highlighted series and stacked graphs make to the selection behaviour have been carried across to the new
euclidian
mode to mimic existing behaviour as closely as possible. Tests have been added for all combinations of these options.This work is related to issue #371. An additional change to
getSelection()
is required to handle multiple points with the same X axis value (#914), which is also included here.There are two open questions:
selectMode
under Interactive Elements. If you want it in another section, let me know.findStackedPoint
as it is currently written. However we now only use the series name, and none of the other information it returns. Should I cut down the method to only return a series name (and rename it tofindStackedSeries
), or leave it as it is in case it's useful in the future?