Class: TouchList
Defined in: src/garminsdk/components/list/TouchList.tsx:19
A touchscreen list which can be scrolled by clicking and dragging the mouse.
Extends
Constructors
Constructor
new TouchList(
props
):TouchList
Defined in: src/sdk/components/FSComponent.ts:73
Creates an instance of a DisplayComponent.
Parameters
Parameter | Type | Description |
---|---|---|
props | TouchListProps | The propertis of the component. |
Returns
TouchList
Inherited from
Properties
_animationTargetScrollPos
protected
readonly
_animationTargetScrollPos:Subject
<undefined
|number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:185
Inherited from
ScrollList
._animationTargetScrollPos
_firstVisibleIndex
protected
readonly
_firstVisibleIndex:MappedSubject
<[number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:202
Inherited from
_itemsPerPage
protected
readonly
_itemsPerPage:undefined
|Subject
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:75
Inherited from
_lengthPx
protected
readonly
_lengthPx:Subscribable
<number
> |MappedSubscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:103
Inherited from
_listItemLengthWithMarginPx
protected
readonly
_listItemLengthWithMarginPx:MappedSubject
<[number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:84
Inherited from
ScrollList
._listItemLengthWithMarginPx
_maxScrollPos
protected
readonly
_maxScrollPos:MappedSubject
<[number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:129
Inherited from
_renderWindow
protected
readonly
_renderWindow:Vec2Subject
Defined in: src/garminsdk/components/list/ScrollList.tsx:234
Inherited from
_scrollPos
protected
readonly
_scrollPos:Subject
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:142
Inherited from
_totalLengthPx
protected
readonly
_totalLengthPx:MappedSubject
<[number
,number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:92
Inherited from
animateFunc()
protected
readonly
animateFunc: () =>void
Defined in: src/garminsdk/components/list/ScrollList.tsx:241
Called once per animation frame while we are animating.
Returns
void
Inherited from
animationTargetScrollPos
readonly
animationTargetScrollPos:Subscribable
<undefined
|number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:190
The scroll position targeted by this list's current scrolling animation, in pixels, or undefined
if scrolling is
not currently animated or the animation has no defined target scroll position.
Inherited from
ScrollList
.animationTargetScrollPos
childrenNode?
protected
optional
childrenNode:VNode
Defined in: src/garminsdk/components/list/ScrollList.tsx:58
Inherited from
context?
optional
context: [] =undefined
Defined in: src/sdk/components/FSComponent.ts:64
The context on this component, if any.
Inherited from
contextType?
readonly
optional
contextType: readonly [] =undefined
Defined in: src/sdk/components/FSComponent.ts:67
The type of context for this component, if any.
Inherited from
cssClassSub?
protected
optional
cssClassSub:Subscription
|Subscription
[]
Defined in: src/garminsdk/components/list/ScrollList.tsx:257
Inherited from
deltaTimeSeconds
protected
deltaTimeSeconds:number
=0
Defined in: src/garminsdk/components/list/ScrollList.tsx:246
Inherited from
firstVisibleIndex
readonly
firstVisibleIndex:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:210
Inherited from
goToAnimationTargetPos
protected
goToAnimationTargetPos:boolean
=false
Defined in: src/garminsdk/components/list/ScrollList.tsx:252
Inherited from
ScrollList
.goToAnimationTargetPos
instrumentMouseLeaveSub
protected
readonly
instrumentMouseLeaveSub:undefined
|Subscription
Defined in: src/garminsdk/components/list/TouchList.tsx:24
interval?
protected
optional
interval:number
Defined in: src/garminsdk/components/list/ScrollList.tsx:253
Inherited from
isAnimating
protected
isAnimating:boolean
=false
Defined in: src/garminsdk/components/list/ScrollList.tsx:243
Inherited from
isMouseDown
protected
readonly
isMouseDown:Subject
<boolean
>
Defined in: src/garminsdk/components/list/TouchList.tsx:22
itemCount
protected
readonly
itemCount:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:70
Inherited from
itemsContainerRef
protected
readonly
itemsContainerRef:NodeReference
<HTMLDivElement
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:62
Inherited from
itemsPerPage
readonly
itemsPerPage:undefined
|Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:80
The number of visible list items per page displayed by this list, or undefined
if the number of items per page
is not prescribed.
Inherited from
itemsPerPageProp
protected
readonly
itemsPerPageProp:undefined
|Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:66
Inherited from
lastMousePosition
protected
lastMousePosition:undefined
|number
=undefined
Defined in: src/garminsdk/components/list/TouchList.tsx:27
lastTimeSeconds
protected
lastTimeSeconds:number
=0
Defined in: src/garminsdk/components/list/ScrollList.tsx:245
Inherited from
lengthPx
readonly
lengthPx:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:116
The visible length of this list, in pixels, along its scroll axis.
Inherited from
listItemLengthPx
protected
readonly
listItemLengthPx:Subject
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:68
Inherited from
listItemLengthPxProp
protected
readonly
listItemLengthPxProp:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:64
Inherited from
ScrollList
.listItemLengthPxProp
listItemLengthWithMarginPx
readonly
listItemLengthWithMarginPx:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:90
The length, in pixels, of one item in this list plus its margin along this list's scroll axis.
Inherited from
ScrollList
.listItemLengthWithMarginPx
listItemParamSubs
protected
readonly
listItemParamSubs:Subscription
[] =[]
Defined in: src/garminsdk/components/list/ScrollList.tsx:255
Inherited from
listItemSpacingPx
protected
readonly
listItemSpacingPx:Subject
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:69
Inherited from
listItemSpacingPxProp
protected
readonly
listItemSpacingPxProp:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:65
Inherited from
ScrollList
.listItemSpacingPxProp
maxOverscrollPx
protected
readonly
maxOverscrollPx:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:140
How many pixels we will allow overscrolling before stopping.
Inherited from
maxRenderedItemCount
protected
readonly
maxRenderedItemCount:undefined
|MappedSubject
<[number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:212
Inherited from
ScrollList
.maxRenderedItemCount
maxScrollPos
readonly
maxScrollPos:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:137
This list's maximum allowed scroll position, in pixels. Does not include overscroll.
Inherited from
maxTimeInOverscrollSeconds
protected
maxTimeInOverscrollSeconds:number
=0.5
Defined in: src/garminsdk/components/list/ScrollList.tsx:249
How long to wait while overscrolled before snapping back.
Inherited from
ScrollList
.maxTimeInOverscrollSeconds
onMouseDownCaptureFunc()
protected
readonly
onMouseDownCaptureFunc: (e
) =>void
Defined in: src/garminsdk/components/list/TouchList.tsx:29
User has clicked on the list, so now we want to listen for the mouse moving so we can scroll the list with the mouse.
Parameters
Parameter | Type | Description |
---|---|---|
e | MouseEvent | The mouse event. |
Returns
void
onMouseDownFunc()
protected
readonly
onMouseDownFunc: (e
) =>void
Defined in: src/garminsdk/components/list/TouchList.tsx:30
User has clicked on the list, so now we want to listen for the mouse moving so we can scroll the list with the mouse.
Parameters
Parameter | Type | Description |
---|---|---|
e | MouseEvent | The mouse event. |
Returns
void
onMouseMoveFunc()
protected
readonly
onMouseMoveFunc: (e
) =>void
Defined in: src/garminsdk/components/list/TouchList.tsx:32
Responds to mousemove
events on this list while the user is dragging.
Parameters
Parameter | Type | Description |
---|---|---|
e | MouseEvent | The mouse event. |
Returns
void
onMouseUpFunc()
protected
readonly
onMouseUpFunc: () =>void
Defined in: src/garminsdk/components/list/TouchList.tsx:31
Responds to mouseup
events on this list after the user has started dragging.
Returns
void
pageLength
protected
readonly
pageLength:MappedSubscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:119
The length of one page, in pixels, along this list's scroll axis.
Inherited from
props
props:
TouchListProps
&ComponentProps
Defined in: src/sdk/components/FSComponent.ts:61
The properties of the component.
Inherited from
renderWindow
readonly
renderWindow:Subscribable
<Readonly
<Omit
<Float64Array
,"set"
|"sort"
|"copyWithin"
>>>
Defined in: src/garminsdk/components/list/ScrollList.tsx:239
The window of rendered list items, as [startIndex, endIndex]
, where startIndex
is the index of the first
rendered item, inclusive, and endIndex
is the index of the last rendered item, exclusive.
Inherited from
renderWindowStartIndex
protected
readonly
renderWindowStartIndex:Subject
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:220
Inherited from
ScrollList
.renderWindowStartIndex
renderWindowStartPos
protected
readonly
renderWindowStartPos:MappedSubject
<[number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:221
Inherited from
ScrollList
.renderWindowStartPos
rootRef
protected
readonly
rootRef:NodeReference
<HTMLDivElement
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:60
Inherited from
scrollAxis
readonly
scrollAxis:"x"
|"y"
Defined in: src/garminsdk/components/list/ScrollList.tsx:73
The axis along which this list scrolls.
Inherited from
scrollBarLengthFraction
readonly
scrollBarLengthFraction:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:177
The fraction of this list's visible length compared to the total length of all items in this list plus their margins along this list's scroll axis.
Inherited from
ScrollList
.scrollBarLengthFraction
scrollPos
readonly
scrollPos:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:147
This list's current scroll position, in pixels. The scroll position is zero when the list is scrolled to the beginning (without overscroll) and increases as the list is scrolled toward the end.
Inherited from
scrollPosFraction
readonly
scrollPosFraction:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:153
This list's current scroll position, normalized such that 0 represents when the list is scrolled to the beginning (without overscroll) and 1 represents when the list is scrolled to the end (without overscroll).
Inherited from
snappingTransitionSpeed
protected
snappingTransitionSpeed:number
=200
Defined in: src/garminsdk/components/list/ScrollList.tsx:251
Once at or below this velocity, we pick that target Y to snap to.
Inherited from
ScrollList
.snappingTransitionSpeed
snapToItem
protected
readonly
snapToItem:boolean
Defined in: src/garminsdk/components/list/ScrollList.tsx:82
Inherited from
targetScrollPos
readonly
targetScrollPos:MappedSubject
<[undefined
|number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:196
This list's current target scroll position, in pixels. The target scroll position is equal to the current animation target if it is defined; otherwise it is equal to the current scroll position.
Inherited from
timeInOverscrollSeconds
protected
timeInOverscrollSeconds:number
=0
Defined in: src/garminsdk/components/list/ScrollList.tsx:247
Inherited from
ScrollList
.timeInOverscrollSeconds
totalLengthPx
readonly
totalLengthPx:Subscribable
<number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:101
The total length, in pixels, of all items in this list plus their margins along this list's scroll axis.
Inherited from
translatableRef
protected
readonly
translatableRef:NodeReference
<HTMLDivElement
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:61
Inherited from
trueScrollPos
protected
readonly
trueScrollPos:MappedSubject
<[number
,number
],number
>
Defined in: src/garminsdk/components/list/ScrollList.tsx:228
This list's current scroll position adjusted for the render window.
Inherited from
velocity
protected
velocity:number
=0
Defined in: src/garminsdk/components/list/ScrollList.tsx:244
Inherited from
RESERVED_CLASSES
protected
readonly
static
RESERVED_CLASSES:string
[]
Defined in: src/garminsdk/components/list/TouchList.tsx:20
Overrides
Methods
animate()
protected
animate():void
Defined in: src/garminsdk/components/list/ScrollList.tsx:488
Called once per animation frame while we are animating.
Returns
void
Inherited from
animateSnapback()
protected
animateSnapback():void
Defined in: src/garminsdk/components/list/ScrollList.tsx:557
Animates scrolling back when overscrolled.
Returns
void
Inherited from
animateSnapping()
protected
animateSnapping(deltaTimeSeconds
):void
Defined in: src/garminsdk/components/list/ScrollList.tsx:588
If we have a target Y position to stop scrolling at, animate towards a smooth stop right at that point.
Parameters
Parameter | Type | Description |
---|---|---|
deltaTimeSeconds | number | Seconds since last animation frame. |
Returns
void
Inherited from
animateVelocity()
protected
animateVelocity(deltaTimeSeconds
):void
Defined in: src/garminsdk/components/list/ScrollList.tsx:532
Applies the velocity to the scroll position, which gives it the "flick" effect. Also slows the velocity down overtime.
Parameters
Parameter | Type | Description |
---|---|---|
deltaTimeSeconds | number | Seconds since last animation frame. |
Returns
void
Inherited from
changeRenderWindow()
protected
changeRenderWindow(scrollPos
,renderCount
,itemLength
,windowLength
):void
Defined in: src/garminsdk/components/list/TouchList.tsx:100
Changes this list's item render window.
Parameters
Parameter | Type | Description |
---|---|---|
scrollPos | number | The scroll position on which to center the new render window, in pixels. |
renderCount | number | The number of items to render in the new window. |
itemLength | number | The length of each item to render, including margin, in pixels. |
windowLength | number | The length of the render window, in pixels. |
Returns
void
Overrides
destroy()
destroy():
void
Defined in: src/garminsdk/components/list/TouchList.tsx:193
Returns
void
Inherit Doc
Overrides
ensureScrollIsInBounds()
protected
ensureScrollIsInBounds():void
Defined in: src/garminsdk/components/list/ScrollList.tsx:766
Checks if the list is scrolled past the maximum limit, and if so, snaps the list back to the limit.
Returns
void
Inherited from
ScrollList
.ensureScrollIsInBounds
executeScrollTo()
protected
executeScrollTo(pos
,animate
):void
Defined in: src/garminsdk/components/list/ScrollList.tsx:449
Executes a scroll to a specifed position.
Parameters
Parameter | Type | Description |
---|---|---|
pos | number | The position to which to scroll. |
animate | boolean | Whether to animate the scroll. |
Returns
void
Inherited from
getContainerRef()
getContainerRef():
HTMLDivElement
Defined in: src/garminsdk/components/list/ScrollList.tsx:306
Returns a reference to the element where the list items should be added.
Returns
HTMLDivElement
A reference to the element where the list items should be added.
Inherited from
getContext()
protected
getContext(context
):never
Defined in: src/sdk/components/FSComponent.ts:106
Gets a context data subscription from the context collection.
Parameters
Parameter | Type | Description |
---|---|---|
context | never | The context to get the subscription for. |
Returns
never
The requested context.
Throws
An error if no data for the specified context type could be found.
Inherited from
getDampening()
protected
getDampening(direction
):number
Defined in: src/garminsdk/components/list/ScrollList.tsx:782
Returns a number used to dampen the mouse movement when overscrolled.
Parameters
Parameter | Type | Description |
---|---|---|
direction | number | What direction os the mouse moving in. |
Returns
number
a number used to dampen the mouse movement when overscrolled.
Inherited from
getOverscrollPx()
protected
getOverscrollPx():number
Defined in: src/garminsdk/components/list/ScrollList.tsx:814
Gets the distance by which this list is currently overscrolled, in pixels along the scroll axis.
Returns
number
The distance by which this list is currently overscrolled, in pixels along the scroll axis.
Inherited from
getReservedCssClasses()
protected
getReservedCssClasses(): readonlystring
[]
Defined in: src/garminsdk/components/list/TouchList.tsx:188
Gets an array of this list's reserved CSS classes.
Returns
readonly string
[]
An array of this list's reserved CSS classes.
Overrides
ScrollList
.getReservedCssClasses
isOverscrolled()
protected
isOverscrolled():boolean
Defined in: src/garminsdk/components/list/ScrollList.tsx:828
Returns whether this list is currently overscrolled.
Returns
boolean
Whether this list is currently overscrolled.
Inherited from
onAfterRender()
onAfterRender():
void
Defined in: src/garminsdk/components/list/TouchList.tsx:35
Returns
void
Inherit Doc
Overrides
onBeforeRender()
onBeforeRender():
void
Defined in: src/sdk/components/FSComponent.ts:80
A callback that is called before the component is rendered.
Returns
void
Inherited from
onListItemParamChanged()
protected
onListItemParamChanged(pipeTo
,value
):void
Defined in: src/garminsdk/components/list/ScrollList.tsx:694
Responds to when one of this list's item parameters changes when the list supports snapping to items.
Parameters
Parameter | Type | Description |
---|---|---|
pipeTo | MutableSubscribable <number > | The mutable subscribable to which to pipe the new parameter value. |
value | number | The new parameter value. |
Returns
void
Inherited from
ScrollList
.onListItemParamChanged
onMouseDown()
protected
onMouseDown(e
):void
Defined in: src/garminsdk/components/list/TouchList.tsx:130
User has clicked on the list, so now we want to listen for the mouse moving so we can scroll the list with the mouse.
Parameters
Parameter | Type | Description |
---|---|---|
e | MouseEvent | The mouse event. |
Returns
void
onMouseDownCapture()
protected
onMouseDownCapture(e
):void
Defined in: src/garminsdk/components/list/TouchList.tsx:113
User has clicked on the list, so now we want to listen for the mouse moving so we can scroll the list with the mouse.
Parameters
Parameter | Type | Description |
---|---|---|
e | MouseEvent | The mouse event. |
Returns
void
onMouseMove()
protected
onMouseMove(e
):void
Defined in: src/garminsdk/components/list/TouchList.tsx:160
Responds to mousemove
events on this list while the user is dragging.
Parameters
Parameter | Type | Description |
---|---|---|
e | MouseEvent | The mouse event. |
Returns
void
onMouseUp()
protected
onMouseUp():void
Defined in: src/garminsdk/components/list/TouchList.tsx:143
Responds to mouseup
events on this list after the user has started dragging.
Returns
void
pageBack()
pageBack():
void
Defined in: src/garminsdk/components/list/ScrollList.tsx:313
Scrolls backward by one full page length.
Returns
void
Inherited from
pageForward()
pageForward():
void
Defined in: src/garminsdk/components/list/ScrollList.tsx:328
Scrolls forward by one full page length.
Returns
void
Inherited from
pickNearestSnapToPos()
protected
pickNearestSnapToPos(pos
):number
Defined in: src/garminsdk/components/list/ScrollList.tsx:685
Picks the scroll position, in pixels, of the snap-to target that is nearest to a given scroll position.
Parameters
Parameter | Type | Description |
---|---|---|
pos | number | The scroll position, in pixels, for which to find the nearest snap-to target. |
Returns
number
The scroll position, in pixels, of the snap-to target that is nearest to the specified scroll position.
Inherited from
ScrollList
.pickNearestSnapToPos
render()
render():
VNode
Defined in: src/garminsdk/components/list/ScrollList.tsx:833
Returns
VNode
Inherit Doc
Inherited from
scrollToIndex()
scrollToIndex(
index
,position
,animate
):void
Defined in: src/garminsdk/components/list/TouchList.tsx:69
Scrolls until the item at a specified index is in view. The operation will be aborted if the list is currently being dragged by the user.
Parameters
Parameter | Type | Description |
---|---|---|
index | number | The index of the item to which to scroll. |
position | number | The position to place the target item at the end of the scroll. Position 0 is the top/left-most visible slot, position 1 is the next slot, and so on. Values greater than or equal to the number of visible items per page will be clamped. Negative values will be interpreted as counting backwards from the bottom/right-most visible slot starting with -1 . Ignored if this list does not support snapping to list items. |
animate | boolean | Whether to animate the scroll. |
Returns
void
Overrides
scrollToIndexWithMargin()
scrollToIndexWithMargin(
index
,margin
,animate
):void
Defined in: src/garminsdk/components/list/TouchList.tsx:90
Scrolls the minimum possible distance until the item at a specified index is in view with a given margin from the edges of the visible list. The operation will be aborted if the list is currently being dragged by the user.
Parameters
Parameter | Type | Description |
---|---|---|
index | number | The index of the item to which to scroll. |
margin | number | The margin from the edges of the visible list to respect when scrolling to the target item. In other words, the scrolling operation will attempt to place the target item at least as far from the edges of the visible list as the specified margin. If this list supports snapping to items, then the margin should be expressed as an item count. If this list does not support snapping to items, then the margin should be expressed as pixels. The margin will be clamped between zero and the largest possible value such that an item can be placed within the visible list while respecting the margin value on both sides. |
animate | boolean | Whether to animate the scroll. |
Returns
void
Overrides
ScrollList
.scrollToIndexWithMargin
startAnimating()
protected
startAnimating():void
Defined in: src/garminsdk/components/list/ScrollList.tsx:466
Reset the animation vars and start the animation, if not already started.
Returns
void
Inherited from
stopAnimating()
protected
stopAnimating():void
Defined in: src/garminsdk/components/list/ScrollList.tsx:478
Stop the animation.
Returns
void
Inherited from
updateRenderWindow()
protected
updateRenderWindow():void
Defined in: src/garminsdk/components/list/ScrollList.tsx:709
Updates this list's item render window.
Returns
void
Inherited from
updateTransformX()
protected
updateTransformX(scrollPos
):void
Defined in: src/garminsdk/components/list/ScrollList.tsx:751
Updates this list's item container's x-transform based on the current true scroll position.
Parameters
Parameter | Type | Description |
---|---|---|
scrollPos | number | The current true scroll position, in pixels. |
Returns
void
Inherited from
updateTransformY()
protected
updateTransformY(scrollPos
):void
Defined in: src/garminsdk/components/list/ScrollList.tsx:759
Updates this list's item container's y-transform based on the current true scroll position.
Parameters
Parameter | Type | Description |
---|---|---|
scrollPos | number | The current true scroll position, in pixels. |
Returns
void