Panel
class Panel
슬라이드 데이터 컴포넌트로, 단일 HTMLElement의 정보를 갖고 있습니다
Constructor
new Panel(options, options.index, options.align, options.flicking, options.elementProvider)
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
options | object | 옵션 오브젝트 | ||
options.index | number | ✔️ | 패널의 초기 인덱스 | |
options.align | Constants.ALIGN | string | number | ✔️ | 패널의 초기 align값 | |
options.flicking | Flicking | ✔️ | 패널이 참조하는 Flicking 인스턴스 | |
options.elementProvider | Flicking | ✔️ | 실제 엘리먼트를 반환하는 엘리먼트 공급자의 인스턴스 |
Properties
element
패널이 참조하고 있는 HTMLElement
Type: HTMLElement
elementProvider
index
패널의 인덱스
Type: number
position
패널의 현재 좌표, alignPosition을 포함하고 있습니다
Type: number
size
패널 엘리먼트의 캐시된 크기
이 값은 horizontal이 true
일 경우 element의 offsetWidth
와 동일하고, false
일 경우 offsetHeight
와 동일합니다
Type: number
sizeIncludingMargin
CSS margin
을 포함한 패널의 크기
이 값은 horizontal이 true
일 경우 margin left/right을 포함하고, false
일 경우 margin top/bottom을 포함합니다
Type: number
height
패널 엘리먼트의 높이
Type: number
margin
패널 엘리먼트의 CSS margin
값
Type: object
PROPERTY | TYPE | DESCRIPTION |
---|---|---|
prev | number | horizontal이 true 일 경우 margin-left , false 일 경우 margin-top 에 해당하는 값 |
next | number | horizontal이 true 일 경우 margin-right , false 일 경우 margin-bottom 에 해당하는 값 |
alignPosition
패널의 정렬 기준 위치. Camera의 뷰포트 내에서의 alignPosition이 위치해야 하는 곳입니다
Type: number
removed
패널이 remove되었는지 여부를 나타내는 값
Type: boolean
rendered
패널의 엘리먼트가 화면상에 렌더링되고있는지 여부를 나타내는 값
Type: boolean
loading
패널 내부의 이미지/비디오가 아직 로드되지 않아 resize될 것인지를 나타내는 값
Type: boolean
range
패널 엘리먼트의 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
패널의 위치가 circular 동작에 의해 토글되었는지 여부를 나타내는 값
Type: boolean
toggleDirection
패널의 위치가 circular 동작에 의해 토글되는 방향
Type: DIRECTION
offset
Panel#order에 의한 실제 위치 변경값
Type: number
progress
이 패널로부터 이전/다음 패널으로의 이동 진행률
Type: number
outsetProgress
현재 패널이 뷰포트 영역 밖으로 완전히 사라지는 지점을 기준으로 하는 진행도(prev방향: -1, 선택 지점: 0, next방향: 1)
Type: number
visibleRatio
뷰포트 안에서 패널이 보이는 영역의 비율
Type: number
align
alignPosition이 패널 내의 어디에 위치해야 하는지를 나타내는 값
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
패널의 크기를 갱신합니다
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
cached | object | ✔️ | 사전에 캐시된 패널의 크기 정보 |
setSize
패널 크기를 변경합니다. 패널 엘리먼트에 해당 크기의 CSS width/height를 적용합니다
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
size | object | ✔️ | 새 패널 크기 | |
size.width | number | string | ✔️ | CSS 문자열 또는 숫자(px) | |
size.height | number | string | ✔️ | CSS 문자열 또는 숫자(px) |
contains
해당 엘리먼트가 이 패널의 element 내에 포함되어 있는지를 반환합니다
Returns: boolean
- 패널의 element내에 해당 엘리먼트 포함 여부
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
element | HTMLElement | 확인하고자 하는 HTMLElement |
destroy
내부 상태를 초기화하고 removed를 true
로 설정합니다.
Returns: void
includePosition
주어진 좌표가 현재 패널의 range내에 속해있는지를 반환합니다.
Returns: boolean
- 해당 좌표가 패널 영역 내에 속해있는지 여부
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
pos | number | 확인하고자 하는 좌표 | ||
includeMargin | boolean | ✔️ | false | 패널 영역에 margin값을 포함시킵니다 |
includeRange
주어진 범위가 이 패널 내부에 완전히 포함되는지를 반환합니다
Returns: boolean
- 해당 범위가 패널 영역 내에 완전히 속해있는지 여부
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
min | number | 확인하고자 하는 최소 범위 | ||
max | number | 확인하고자 하는 최대 범위 | ||
includeMargin | boolean | ✔️ | false | 패널 영역에 margin값을 포함시킵니다 |
isVisibleOnRange
주어진 범위 내에서 이 패널의 일부가 보여지는지를 반환합니다
Returns: boolean
- 해당 범위 내에서 패널을 볼 수 있는지 여부
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
min | number | 확인하고자 하는 최소 범위 | ||
max | number | 확인하고자 하는 최대 범위 |
focus
Camera를 이 패널로 이동합니다
Returns: Promise<void>
- 패널 도달시에 resolve되는 Promise
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
duration | number | ✔️ | 애니메이션 진행 시간 (단위: ms) |
prev
이전(index - 1
) 패널을 반환합니다. 이전 패널이 없을 경우 null
을 반환합니다
circular 모드가 활성화되었을 때 첫번째 패널에서 이 메소드를 호출할 경우 마지막 패널을 반환합니다
Returns: Panel | null
- 이전 패널
next
다음(index + 1
) 패널을 반환합니다. 다음 패널이 없을 경우 null
을 반환합니다
circular 모드가 활성화되었을 때 마지막 패널에서 이 메소드를 호출할 경우 첫번째 패널을 반환합니다
Returns: Panel | null
- 다음 패널
increaseIndex
패널의 인덱스를 주어진 값만큼 증가시킵니다
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
val | number | 0보다 같거나 큰 정수 |
decreaseIndex
패널의 인덱스를 주어진 값만큼 감소시킵니다
Returns: this
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
val | number | 0보다 같거나 큰 정수 |
updatePosition
Returns: this
toggle
Returns: boolean
- toggled
PARAMETER | TYPE | OPTIONAL | DEFAULT | DESCRIPTION |
---|---|---|---|---|
prevPos | number | |||
newPos | number |
updateCircularToggleDirection
Returns: this