SnapControl
class SnapControl extends Control
A Control that uses a release momentum to choose destination panel
constructor
new SnapControl()
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
Partial<SnapControlOptions> | ✔️ | {} |
Properties
count
Maximum number of panels can go after release
Type: number
Default: Infinity
controller
A controller that handles the @egjs/axes events
Type: AxesController
activeIndex
Index number of the currentPanel
Type: number
Default: 0
activePanel
An active panel
Type: Panel | null
animating
Whether Flicking's animating
Type: boolean
holding
Whether user is clicking or touching
Type: boolean
Methods
moveToPosition
Move Camera to the given position
Returns: Promise<void>
- A Promise which will be resolved after reaching the target position
Emits: Flicking#event:moveStart, Flicking#event:move, Flicking#event:moveEnd, Flicking#event:willChange, Flicking#event:changed, Flicking#event:willRestore, Flicking#event:restored, Flicking#event:needPanel, Flicking#event:visibleChange, Flicking#event:reachEdge
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
position | number | The target position to move | ||
duration | number | Duration of the panel movement animation (unit: ms). | ||
axesEvent | object | ✔️ | release event of Axes |
Throws: FlickingError
|code|condition|
|---|---|
|POSITION_NOT_REACHABLE|When the given panel is already removed or not in the Camera's range|
|NOT_ATTACHED_TO_FLICKING|When init is not called before|
|ANIMATION_INTERRUPTED|When the animation is interrupted by user input|
|STOP_CALLED_BY_USER|When the animation is interrupted by user input|
init
Initialize Control
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
flicking | Flicking | An instance of Flicking |
destroy
Destroy Control and return to initial state
Returns: void
enable
Enable input from the user (mouse/touch)
Returns: this
disable
Disable input from the user (mouse/touch)
Returns: this
release
Releases ongoing user input (mouse/touch)
Returns: this
updateAnimation
Change the destination and duration of the animation currently playing
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
panel | Panel | The target panel to move | ||
duration | number | ✔️ | Duration of the animation (unit: ms) | |
direction | DIRECTION | ✔️ | Direction to move, only available in the circular mode |
Throws: FlickingError
POSITION_NOT_REACHABLE When the given panel is already removed or not in the Camera's range
stopAnimation
Stops the animation currently playing
Returns: this
updatePosition
Update position after resizing
Returns: Promise<void>
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
progressInPanel | number | Previous camera's progress in active panel before resize |
Throws: FlickingError
NOT_ATTACHED_TO_FLICKING When init is not called before
updateInput
Update controller's state
Returns: this
resetActive
Reset activePanel to null
Returns: this
moveToPanel
Move Camera to the given panel
Returns: Promise<void>
- A Promise which will be resolved after reaching the target panel
Emits: Flicking#event:moveStart, Flicking#event:move, Flicking#event:moveEnd, Flicking#event:willChange, Flicking#event:changed, Flicking#event:willRestore, Flicking#event:restored, Flicking#event:needPanel, Flicking#event:visibleChange, Flicking#event:reachEdge
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
panel | Panel | The target panel to move | ||
options | object | An options object | ||
duration | number | Duration of the animation (unit: ms) | ||
axesEvent | object | ✔️ | release event of Axes | |
direction | DIRECTION | ✔️ | DIRECTION.NONE | Direction to move, only available in the circular mode |
Throws: FlickingError
|code|condition|
|---|---|
|POSITION_NOT_REACHABLE|When the given panel is already removed or not in the Camera's range|
|NOT_ATTACHED_TO_FLICKING|When init is not called before|
|ANIMATION_INTERRUPTED|When the animation is interrupted by user input|
|STOP_CALLED_BY_USER|When the animation is interrupted by user input|
setActive
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
newActivePanel | Panel | |||
prevActivePanel | Panel | null | |||
isTrusted | boolean |
copy
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
control | Control |