Skip to main content
Version: 4.12.0

Panel

class Panel

A slide data component that holds information of a single HTMLElement

constructor​

new Panel(options, options.index, options.align, options.flicking, options.elementProvider)
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
optionsobjectAn options object
options.indexnumber✔️An initial index of the panel
options.alignConstants.ALIGN | string | number✔️An initial align value of the panel
options.flickingFlicking✔️A Flicking instance panel's referencing
options.elementProviderFlicking✔️A provider instance that redirects elements

Properties​

element​

readonly

HTMLElement that panel's referencing

Type: HTMLElement

elementProvider​

readonly

index​

readonly

Index of the panel

Type: number

position​

readonly

Position of the panel, including alignPosition

Type: number

size​

readonly

Cached size of the panel element
This is equal to element's offsetWidth if horizontal is true, and offsetHeight else

Type: number

sizeIncludingMargin​

readonly

Panel's size including CSS margin
This value includes element's margin left/right if horizontal is true, and margin top/bottom else

Type: number

height​

readonly

Height of the panel element

Type: number

margin​

readonly

Cached CSS margin value of the panel element

Type: object

PROPERTYTYPEDESCRIPTION
prevnumberCSS margin-left when the horizontal is true, and margin-top else
nextnumberCSS margin-right when the horizontal is true, and margin-bottom else

alignPosition​

readonly

Align position inside the panel where Camera's alignPosition inside viewport should be located at

Type: number

removed​

readonly

A value indicating whether the panel's removed

Type: boolean

rendered​

readonly

A value indicating whether the panel's element is being rendered on the screen

Type: boolean

loading​

readonly

A value indicating whether the panel's image/video is not loaded and waiting for resize

Type: boolean

range​

readonly

Panel element's range of the bounding box

Type: object

PROPERTYTYPEDESCRIPTION
minnumberBounding box's left(horizontal: true) / top(horizontal: false)
maxnumberBounding box's right(horizontal: true) / bottom(horizontal: false)

toggled​

readonly

A value indicating whether the panel's position is toggled by circular behavior

Type: boolean

toggleDirection​

readonly

A direction where the panel's position is toggled

Type: DIRECTION

offset​

readonly

Actual position offset determined by Panel#order

Type: number

progress​

readonly

Progress of movement between previous or next panel relative to current panel

Type: number

outsetProgress​

readonly

Progress of movement between points that panel is completely invisible outside of viewport(prev direction: -1, selected point: 0, next direction: 1)

Type: number

visibleRatio​

readonly

Percentage of area where panel is visible in the viewport

Type: number

align​

A value indicating where the alignPosition should be located at inside the panel element

Type: Constants.ALIGN | string | number

Methods​

markForShow​

Mark panel element to be appended on the camera element

markForHide​

Mark panel element to be removed from the camera element

resize​

Update size of the panel

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
cachedobject✔️Predefined cached size of the panel

setSize​

Change panel's size. This will change the actual size of the panel element by changing its CSS width/height property

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
sizeobject✔️New panel size
size.widthnumber | string✔️CSS string or number(in px)
size.heightnumber | string✔️CSS string or number(in px)

contains​

Check whether the given element is inside of this panel's element

Returns: boolean

  • A Boolean value indicating the element is inside of this panel element
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
elementHTMLElementThe HTMLElement to check

destroy​

Reset internal state and set removed to true

Returns: void

includePosition​

Check whether the given position is inside of this panel's range

Returns: boolean

  • A Boolean value indicating whether the given position is included in the panel range
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
posnumberA position to check
includeMarginboolean✔️falseInclude margin to the range

includeRange​

Check whether the given range is fully included in this panel's area (inclusive)

Returns: boolean

  • A Boolean value indicating whether the given range is fully included in the panel range
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
minnumberMinimum value of the range to check
maxnumberMaximum value of the range to check
includeMarginboolean✔️falseInclude margin to the range

isVisibleOnRange​

Check whether the panel is visble in the given range (exclusive)

Returns: boolean

  • A Boolean value indicating whether the panel is visible
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
minnumberMinimum value of the range to check
maxnumberMaximum value of the range to check

focus​

Move Camera to this panel

Returns: Promise<void>

  • A Promise which will be resolved after reaching the panel
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
durationnumber✔️Duration of the animation (unit: ms)

prev​

Get previous(index - 1) panel. When the previous panel does not exist, this will return null instead
If the circular is enabled, this will return the last panel if called from the first panel

Returns: Panel | null

  • The previous panel

next​

Get next(index + 1) panel. When the next panel does not exist, this will return null instead
If the circular is enabled, this will return the first panel if called from the last panel

Returns: Panel | null

  • The previous panel

increaseIndex​

Increase panel's index by the given value

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
valnumberAn integer greater than or equal to 0

decreaseIndex​

Decrease panel's index by the given value

Returns: this

PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
valnumberAn integer greater than or equal to 0

updatePosition​

Returns: this

toggle​

Returns: boolean

  • toggled
PARAMETERTYPEOPTIONALDEFAULTDESCRIPTION
prevPosnumber
newPosnumber

updateCircularToggleDirection​

Returns: this