Skip to main content

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

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

ParameterTypeDescription
propsToggleTouchButtonPropsThe 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

ParameterTypeDescription
contextneverThe 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

ParameterTypeDescription
nodeVNodeThe 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

ParameterTypeDescription
buttonTouchButtonThe button that was held.
totalHoldDurationnumberThe total amount of time, in milliseconds, that this button was held.
endReasonTouchButtonHoldEndReasonThe 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

ParameterTypeDescription
buttonTouchButtonThe button that is held.

Returns

TouchButtonHoldAction

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

ParameterTypeDescription
buttonTouchButtonThe button that is held.
dtnumberThe elapsed time, in milliseconds, since the previous frame.
totalTimenumberThe total amount of time, in milliseconds, that this button has been held.
timeSinceLastPressnumberThe amount of time, in milliseconds, that this button has been held since the last time the button was pressed as a tick action.

Returns

TouchButtonHoldAction

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

ParameterTypeDescription
buttonTouchButtonThe button that was pressed.
isHeldbooleanWhether 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

ParameterTypeDescription
buttonTouchButtonThe button that was touched.

Returns

TouchButtonOnTouchedAction

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

ParameterTypeDefault valueDescription
ignoreDisabledbooleanfalseWhether to simulate the button being pressed regardless of whether the button is disabled. Defaults to false.

Returns

void