When using the next Panel to move in moveType: strict, we use the following rules
find the anchorAtPosition that is closest to the point the camera is currently showing.
if anchorAtPosition is not the same as Flicking's current Panel, we move to anchorAtPosition.
if anchorAtPosition is the same as Flicking's current Panel, navigate to adjacentAnchor which is the next/prev anchor of anchorAtPosition.
However, there is an exception to this rule that can cause an error when you rotate the circular Flicking once before the event that updates the current panel is fired,
If you rotate the Flicking once, you'll end up in a situation where the camera is showing the position of the current panel again.
If that happens, you won't be able to stop on that panel by step 3 and you'll move to the next Anchor.
This will cause the error described in the issue.
In this PR, I have fixed moveType: strict to continuously update the current Panel based on the willChange event to prevent the above exception from occurring.
coverage: 82.638% (-0.001%) from 82.639%
when pulling 044b72582200d8fb51e236181ad5c332a8ab2fe4 on malangfox:fix-circular-strict-panels
into 346c43abe6cc6c853a02329fba9379c92303d471 on naver:master.
Issue
841
Details
When using the next Panel to move in
moveType: strict
, we use the following rulesanchorAtPosition
that is closest to the point the camera is currently showing.anchorAtPosition
is not the same as Flicking's current Panel, we move to anchorAtPosition.anchorAtPosition
is the same as Flicking's current Panel, navigate toadjacentAnchor
which is the next/prev anchor ofanchorAtPosition
.However, there is an exception to this rule that can cause an error when you rotate the circular Flicking once before the event that updates the current panel is fired,
If you rotate the Flicking once, you'll end up in a situation where the camera is showing the position of the current panel again.
If that happens, you won't be able to stop on that panel by step 3 and you'll move to the next Anchor. This will cause the error described in the issue.
In this PR, I have fixed
moveType: strict
to continuously update the current Panel based on thewillChange
event to prevent the above exception from occurring.