Skip to main content

Class: TouchButton<P>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:180

A touchscreen button.

The root element of the button contains the touch-button CSS class by default. The root element also conditionally contains the touch-button-disabled, touch-button-primed, and touch-button-held classes when the button is disabled, primed, and held, respectively.

The root element optionally contains a child label element with the CSS class touch-button-label.

Extends

  • DisplayComponent<P>

Extended by

Type Parameters

Type ParameterDefault type
P extends TouchButtonPropsTouchButtonProps

Constructors

Constructor

new TouchButton<P>(props): TouchButton<P>

Defined in: src/sdk/components/FSComponent.ts:73

Creates an instance of a DisplayComponent.

Parameters

ParameterTypeDescription
propsPThe propertis of the component.

Returns

TouchButton<P>

Inherited from

DisplayComponent<P>.constructor

Properties

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/TouchButton.tsx:192


cssClassSub?

protected optional cssClassSub: Subscription

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:241


currentMousePosition

protected readonly currentMousePosition: Vec2

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:244


dragThresholdPxActual

protected readonly dragThresholdPxActual: number

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:248


focusOnDrag

protected readonly focusOnDrag: boolean

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:246


holdTickInterval

protected holdTickInterval: null | Timer = null

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:210


holdTimeSinceLastPress

protected holdTimeSinceLastPress: number = 0

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:213


inhibitOnDrag

protected readonly inhibitOnDrag: boolean

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:247


inhibitOnDragAxisActual

protected readonly inhibitOnDragAxisActual: "both" | "x" | "y"

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:249


isEnabled

protected readonly isEnabled: Subscribable<boolean> | Subscribable<false> | Subscribable<true>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:199


isEnabledSub?

protected optional isEnabledSub: Subscription

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:238


isHeld

protected isHeld: boolean = false

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:208


isHighlighted

protected readonly isHighlighted: Subscribable<boolean> | Subscribable<false> | Subscribable<true>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:200


isHighlightedSub?

protected optional isHighlightedSub: Subscription

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:239


isPrimed

protected isPrimed: boolean = false

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:207


isVisible

protected readonly isVisible: Subscribable<boolean> | Subscribable<false> | Subscribable<true>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:201


isVisibleSub?

protected optional isVisibleSub: Subscription

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:240


labelContent

protected readonly labelContent: undefined | string | VNode | MappedSubscribable<string>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:203


lastHoldTickTime

protected lastHoldTickTime: undefined | number = undefined

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:211


mouseClickPosition

protected readonly mouseClickPosition: Vec2

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:243


mouseDownListener()

protected readonly mouseDownListener: (e) => void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:194

Responds to mouse down events on this button's root element.

Parameters

ParameterTypeDescription
eMouseEventThe mouse event.

Returns

void


mouseLeaveListener()

protected readonly mouseLeaveListener: (e) => void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:196

Responds to mouse leave events on this button's root element.

Parameters

ParameterTypeDescription
eMouseEventThe mouse event.

Returns

void


mouseMoveListener()

protected readonly mouseMoveListener: (e) => void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:197

Handle mouse moving after clicking.

Parameters

ParameterTypeDescription
eMouseEventThe mouse event.

Returns

void


mouseUpListener()

protected readonly mouseUpListener: () => void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:195

Responds to mouse up events on this button's root element.

Returns

void


props

props: P & ComponentProps

Defined in: src/sdk/components/FSComponent.ts:61

The properties of the component.

Inherited from

DisplayComponent.props


rootRef

protected readonly rootRef: NodeReference<HTMLDivElement>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:190


totalHoldTime

protected totalHoldTime: number = 0

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:212


RESERVED_CSS_CLASSES

protected readonly static RESERVED_CSS_CLASSES: Set<string>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:181

Methods

destroy()

destroy(): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:545

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


getDragDistance()

protected getDragDistance(): number

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:487

Get the distance that the mouse has been dragged on the correct axis.

Returns

number

The distance.


getReservedCssClasses()

protected getReservedCssClasses(): ReadonlySet<string>

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:540

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/TouchButton.tsx:293

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.


holdTickFunc()

protected readonly holdTickFunc(): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:215

Returns

void


onAfterRender()

onAfterRender(node): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:253

Parameters

ParameterType
nodeVNode

Returns

void

Inherit Doc

Overrides

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


onMouseDown()

protected onMouseDown(e): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:390

Responds to mouse down events on this button's root element.

Parameters

ParameterTypeDescription
eMouseEventThe mouse event.

Returns

void


onMouseLeave()

protected onMouseLeave(e): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:439

Responds to mouse leave events on this button's root element.

Parameters

ParameterTypeDescription
eMouseEventThe mouse event.

Returns

void


onMouseMove()

protected onMouseMove(e): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:460

Handle mouse moving after clicking.

Parameters

ParameterTypeDescription
eMouseEventThe mouse event.

Returns

void


onMouseUp()

protected onMouseUp(): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:426

Responds to mouse up events on this button's root element.

Returns

void


onPressed()

protected onPressed(): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:498

Responds to when this button is pressed.

Returns

void


render()

render(): VNode

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:503

Returns

VNode

Inherit Doc

Overrides

DisplayComponent.render


renderLabel()

protected renderLabel(): null | VNode

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:526

Renders this button's label.

Returns

null | VNode

This button's rendered label, or null if this button does not have a label.


setHeld()

protected setHeld(isHeld, endReason): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:342

Sets the held state of this button.

Parameters

ParameterTypeDefault valueDescription
isHeldbooleanundefinedThe new held state.
endReasonTouchButtonHoldEndReasonTouchButtonHoldEndReason.UnknownThe reason that the held state is set to false. Ignored if isHeld is true. Defaults to TouchButtonHoldEndReason.Unknown.

Returns

void


setPrimed()

protected setPrimed(isPrimed): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:312

Sets the primed state of this button.

Parameters

ParameterTypeDescription
isPrimedbooleanThe new primed state.

Returns

void


simulatePressed()

simulatePressed(ignoreDisabled): void

Defined in: src/garminsdk/components/touchbutton/TouchButton.tsx:302

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