Class: ToggleTouchButton<S>
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:87
A touchscreen button which displays the value of a bound boolean state. By default, pressing the button will toggle its state if the state is mutable. This behavior can be overridden by providing a custom callback function which runs when the button is pressed.
The root element of the button contains the touch-button-toggle
CSS class by default, in addition to all
root-element classes used by TouchButton.
The root element contains a child ToggleStatusBar component with the CSS class
touch-button-toggle-status-bar
and an optional label element with the CSS class touch-button-label
.
Extends
DisplayComponent
<ToggleTouchButtonProps
<S
>>
Type Parameters
Type Parameter |
---|
S extends Subscribable <boolean > | MutableSubscribable <boolean > |
Constructors
Constructor
new ToggleTouchButton<
S
>(props
):ToggleTouchButton
<S
>
Defined in: src/sdk/components/FSComponent.ts:73
Creates an instance of a DisplayComponent.
Parameters
Parameter | Type | Description |
---|---|---|
props | ToggleTouchButtonProps | The propertis of the component. |
Returns
ToggleTouchButton
<S
>
Inherited from
DisplayComponent<ToggleTouchButtonProps<S>>.constructor
Properties
buttonRef
protected
readonly
buttonRef:NodeReference
<TouchButton
<TouchButtonProps
>>
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:90
context?
optional
context: [] =undefined
Defined in: src/sdk/components/FSComponent.ts:64
The context on this component, if any.
Inherited from
DisplayComponent.context
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
DisplayComponent.contextType
cssClassSet
protected
readonly
cssClassSet:SetSubject
<string
>
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:93
cssClassSub?
protected
optional
cssClassSub:Subscription
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:95
props
props:
ToggleTouchButtonProps
<S
> &ComponentProps
Defined in: src/sdk/components/FSComponent.ts:61
The properties of the component.
Inherited from
DisplayComponent.props
statusBarRef
protected
readonly
statusBarRef:NodeReference
<ToggleStatusBar
>
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:91
RESERVED_CSS_CLASSES
protected
readonly
static
RESERVED_CSS_CLASSES:Set
<string
>
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:88
Methods
destroy()
destroy():
void
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:222
Returns
void
Inherit Doc
Overrides
DisplayComponent.destroy
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
DisplayComponent.getContext
getReservedCssClasses()
protected
getReservedCssClasses():ReadonlySet
<string
>
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:217
Gets the CSS classes that are reserved for this button's root element.
Returns
ReadonlySet
<string
>
The CSS classes that are reserved for this button's root element.
getRootElement()
getRootElement():
HTMLElement
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:102
Gets this button's root HTML element.
Returns
HTMLElement
This button's root HTML element.
Throws
Error if this button has not yet been rendered.
onAfterRender()
onAfterRender(
node
):void
Defined in: src/sdk/components/FSComponent.ts:87
A callback that is called after the component is rendered.
Parameters
Parameter | Type | Description |
---|---|---|
node | VNode | The component's VNode. |
Returns
void
Inherited from
DisplayComponent.onAfterRender
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
DisplayComponent.onBeforeRender
onHoldEnded()
protected
onHoldEnded(button
,totalHoldDuration
,endReason
):void
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:173
Responds to when this button exits the held state.
Parameters
Parameter | Type | Description |
---|---|---|
button | TouchButton | The button that was held. |
totalHoldDuration | number | The total amount of time, in milliseconds, that this button was held. |
endReason | TouchButtonHoldEndReason | The reason that this button exited the held state. |
Returns
void
onHoldStarted()
protected
onHoldStarted(button
):TouchButtonHoldAction
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:146
Responds to when this button enters the held state.
Parameters
Parameter | Type | Description |
---|---|---|
button | TouchButton | The button that is held. |
Returns
The action to take. Ignored if the value is equal to TouchButtonHoldAction.EndHold.
onHoldTick()
protected
onHoldTick(button
,dt
,totalTime
,timeSinceLastPress
):TouchButtonHoldAction
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:161
A callback which is called every frame when this button is held.
Parameters
Parameter | Type | Description |
---|---|---|
button | TouchButton | The button that is held. |
dt | number | The elapsed time, in milliseconds, since the previous frame. |
totalTime | number | The total amount of time, in milliseconds, that this button has been held. |
timeSinceLastPress | number | The amount of time, in milliseconds, that this button has been held since the last time the button was pressed as a tick action. |
Returns
The action to take.
onPressed()
protected
onPressed(button
,isHeld
):void
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:132
Responds to when this button is pressed.
Parameters
Parameter | Type | Description |
---|---|---|
button | TouchButton | The button that was pressed. |
isHeld | boolean | Whether the button was held when it was pressed. |
Returns
void
onTouched()
protected
onTouched(button
):TouchButtonOnTouchedAction
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:121
Responds to when this button is touched.
Parameters
Parameter | Type | Description |
---|---|---|
button | TouchButton | The button that was touched. |
Returns
The action to take as a result of the button being touched.
render()
render():
VNode
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:178
Returns
VNode
Inherit Doc
Overrides
DisplayComponent.render
simulatePressed()
simulatePressed(
ignoreDisabled
):void
Defined in: src/garminsdk/components/touchbutton/ToggleTouchButton.tsx:111
Simulates this button being pressed. This will execute the onPressed()
callback if one is defined.
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
ignoreDisabled | boolean | false | Whether to simulate the button being pressed regardless of whether the button is disabled. Defaults to false . |
Returns
void