ElementPanel
class ElementPanel extends Panel
An slide data component that holds information of a single HTMLElement
Constructor
new ElementPanel(options, options.el, options.index, options.align, options.flicking)
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
options | object | An options object | ||
options.el | HTMLElement | ✔️ | A HTMLElement panel's referencing | |
options.index | number | ✔️ | An initial index of the panel | |
options.align | Constants.ALIGN | string | number | ✔️ | An initial align value of the panel | |
options.flicking | Flicking | ✔️ | A Flicking instance panel's referencing |
Properties
element
HTMLElement
that panel's referencing
Type: HTMLElement
index
Index of the panel
Type: number
position
Position of the panel, including alignPosition
Type: number
size
Cached size of the panel element
This is equal to element's offsetWidth
if horizontal is true
, and offsetHeight
else
Type: number
sizeIncludingMargin
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
Height of the panel element
Type: number
margin
Cached CSS margin
value of the panel element
Type: object
PROPERTY | TYPE | DESCRIPTION |
---|---|---|
prev | number | CSS margin-left when the horizontal is true , and margin-top else |
next | number | CSS margin-right when the horizontal is true , and margin-bottom else |
alignPosition
Align position inside the panel where Camera's alignPosition inside viewport should be located at
Type: number
removed
A value indicating whether the panel's removed
Type: boolean
range
Panel element's range of the bounding box
Type: object
PROPERTY | TYPE | DESCRIPTION |
---|---|---|
min | number | Bounding box's left(horizontal: true) / top(horizontal: false) |
max | number | Bounding box's right(horizontal: true) / bottom(horizontal: false) |
toggled
A value indicating whether the panel's position is toggled by circular behavior
Type: boolean
toggleDirection
A direction where the panel's position is toggled
Type: DIRECTION
offset
Actual position offset determined by Panel#order
Type: number
progress
Progress of movement between previous or next panel relative to current panel
Type: number
outsetProgress
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
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
resize
Update size of the panel
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
cached | object | ✔️ | 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
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
size | object | ✔️ | New panel size | |
size.width | number | string | ✔️ | CSS string or number(in px) | |
size.height | number | 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
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
element | HTMLElement | The 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
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
pos | number | A position to check | ||
includeMargin | boolean | ✔️ | false | Include margin to the range |
includeRange
Check whether the given range is fully included in this panel's area
Returns: boolean
- A Boolean value indicating whether the given range is fully included in the panel range
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
min | number | Minimum value of the range to check | ||
max | number | Maximum value of the range to check | ||
includeMargin | boolean | ✔️ | false | Include margin to the range |
focus
Move Camera to this panel
Returns: Promise<void>
- A Promise which will be resolved after reaching the panel
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
duration | number | ✔️ | 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
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
val | number | An integer greater than or equal to 0 |
decreaseIndex
Decrease panel's index by the given value
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
val | number | An integer greater than or equal to 0 |
increasePosition
Increase panel's position by the given value
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
val | number | An integer greater than or equal to 0 |
decreasePosition
Decrease panel's position by the given value
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
val | number | An integer greater than or equal to 0 |
toggle
Returns: boolean
- toggled
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
prevPos | number | |||
newPos | number |
updateCircularToggleDirection
Returns: this