FreeControl
class FreeControl extends Control
A Control that can be scrolled freely without alignment
Constructor
new FreeControl()
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
Partial<FreeControlOptions> | yes | {} |
Properties
stopAtEdge
Make scroll animation to stop at the start/end of the scroll area, not going out the bounce area
Type: boolean
Default: true
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
updatePosition
Update position after resizing
Returns: Promise<void>
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
progressInPanel | number | no | Previous camera's progress in active panel before resize |
Throws: FlickingError
NOT_ATTACHED_TO_FLICKING When init is not called before
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 | no | The target position to move | |
duration | number | no | Duration of the panel movement animation (unit: ms). | |
axesEvent | object | yes | 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 | no | 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
updateInput
Update controller's state
Returns: this
resetActive
Reset activePanel and activeAnchor 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 | no | The target panel to move | |
options | object | no | An options object | |
duration | number | no | Duration of the animation (unit: ms) | |
axesEvent | object | yes | release event of Axes | |
direction | DIRECTION | yes | 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 |