fix: fix SnapControl moving to wrong adjacent panel #917
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.
Issue
#910
Detail
Fixed being moved to the wrong Panel in the
align:“prev”
option when usingmoveType:“snap”
.Demo reproducing the issue
Demo resolving the issue
_findAdjacentAnchor
, called from inside the SnapControl, was used to move the current Panel to one of the previous/next Panels when based on the Anchor inside the current Camera area that would have been dragged above thethreshold
value in a particular Panel.However, if
_findAdjacentAnjacentAnchor
was called when the Anchor inside the current Camera was already the previous/next Panel, it would move to the next Panel in the next Panel and move to the next Panel twice.To prevent this from happening, we changed the conditions under which
_findAdjacentAnjacentAnchor
is called.We added logic to the conditional statement entering
_findAdjacentAnchor
that checks if the currently selected Panel's Anchor,activeAnchor
, is the same Anchor asanchorAtCamera
.Now
_findAdjacentAnchor
, which moves to the previous/next Panel of the current Panel, will not be executed when the Anchor in Camera is already the previous/next Panel.