Skip to main content

Abstract Class: HardwareUiControlList<T, E, P>

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:48

A component that displays a collection of UiControls in a list format.

Extends

Type Parameters

Type ParameterDefault type
T-
E extends Record<string, any>Record<string, never>
P extends HardwareControlListProps<T>HardwareControlListProps<T>

Constructors

Constructor

new HardwareUiControlList<T, E, P>(props): HardwareUiControlList<T, E, P>

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:64

Creates an instance of a ControlList.

Parameters

ParameterTypeDescription
propsPThe props on the ControlList component.

Returns

HardwareUiControlList<T, E, P>

Overrides

HardwareUiControl.constructor

Properties

context?

optional context: [] = undefined

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

The context on this component, if any.

Inherited from

HardwareUiControl.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

HardwareUiControl.contextType


focusedIndex

protected focusedIndex: number = -1

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:139

Inherited from

HardwareUiControl.focusedIndex


props

props: P & ComponentProps

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

The properties of the component.

Inherited from

HardwareUiControl.props


registeredControls

protected registeredControls: undefined | HardwareUiControl<E, HardwareUiControlProps>[]

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:137

Inherited from

HardwareUiControl.registeredControls

Accessors

isDisabled

Get Signature

get isDisabled(): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:177

Gets whether or not the control is currently disabled.

Returns

boolean

True if disabled, false otherwise.

Inherited from

HardwareUiControl.isDisabled


isFocused

Get Signature

get isFocused(): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:185

Gets whether or not the control is currently focused.

Returns

boolean

True if disabled, false otherwise.

Inherited from

HardwareUiControl.isFocused


isIsolated

Get Signature

get isIsolated(): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:193

Gets whether or not the control is currently in scroll isolation.

Returns

boolean

True if currently in scroll isolation, false otherwise.

Inherited from

HardwareUiControl.isIsolated


length

Get Signature

get length(): number

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:165

Gets the current number of registered child controls.

Returns

number

The current number of registered child controls.

Inherited from

HardwareUiControl.length

Methods

blur()

blur(): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:593

Blurs, or removes focus, from the component.

Returns

void

Inherited from

HardwareUiControl.blur


clearRegistered()

clearRegistered(): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:793

Clears the list of registered components.

Returns

void

Inherited from

HardwareUiControl.clearRegistered


destroy()

destroy(): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:923

Destroys this component.

Returns

void

Inherited from

HardwareUiControl.destroy


ensureIndexInView()

ensureIndexInView(index, pinDirection): void

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:385

Ensures an indexed list item is in view.

Parameters

ParameterTypeDefault valueDescription
indexnumberundefinedThe index of the list item.
pinDirection"top" | "none" | "bottom"'none'The end of the container which the element should be pinned to.

Returns

void


focus()

focus(focusPosition): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:410

Brings focus to the control. Focusing the control will also blur the currently focused control, if any.

Parameters

ParameterTypeDescription
focusPositionFocusPositionThe focus position to activate for descendents of this control.

Returns

boolean

Whether this control was successfully focused.

Inherited from

HardwareUiControl.focus


getChild()

getChild(index): undefined | HardwareUiControl<E, HardwareUiControlProps>

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:859

Gets a child control at the specified index.

Parameters

ParameterTypeDescription
indexnumberThe index of the child control to get.

Returns

undefined | HardwareUiControl<E, HardwareUiControlProps>

The specified child control.

Inherited from

HardwareUiControl.getChild


getChildInstance()

getChildInstance<TControl>(index): null | TControl

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:446

Gets the instance of the node at the specified index.

Type Parameters

Type Parameter
TControl extends HardwareUiControl<E, HardwareUiControlProps>

Parameters

ParameterTypeDescription
indexnumberThe index to get the instance for.

Returns

null | TControl

The node instance of specified type.


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

HardwareUiControl.getContext


getData()

getData(index): null | T

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:407

Gets the data object related to the selected DOM element.

Parameters

ParameterTypeDescription
indexnumberThe index of the data to get.

Returns

null | T

The selected item, if found.


getFocusedIndex()

getFocusedIndex(): number

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:824

Gets the current focused index in the registered controls collection.

Returns

number

The index of the focused control in the collection of registered controls.

Inherited from

HardwareUiControl.getFocusedIndex


getFocusPositionOnScroll()

protected getFocusPositionOnScroll(direction): FocusPosition

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:250

Gets the focus position to apply when this control is focused from a scroll.

Parameters

ParameterTypeDescription
directionScrollDirectionThe direction of the scroll.

Returns

FocusPosition

The focus position to apply when this control is focused from a scroll.

Inherited from

HardwareUiControl.getFocusPositionOnScroll


getMostRecentFocusedIndex()

getMostRecentFocusedIndex(): number

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:833

Gets the most recent focused index (including the current focused index, if one exists) in the registered controls collection.

Returns

number

The index of the most recently focused control in the collection of registered controls.

Inherited from

HardwareUiControl.getMostRecentFocusedIndex


getSelectedElement()

getSelectedElement(): null | HTMLElement

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:425

Get the selected HTMLElement.

Returns

null | HTMLElement

The selected element, if found.


getSelectedIndex()

getSelectedIndex(): number

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:433

Gets the index of the currently selected element.

Returns

number

Selected element index. Returns -1 if nothing found.


indexOf()

indexOf(child): number

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:873

Gets the index of a specified child control within the registered child controls collection.

Parameters

ParameterTypeDescription
childHardwareUiControl<E>The child to get the index of.

Returns

number

The index of the child, or -1 if not found.

Inherited from

HardwareUiControl.indexOf


onAfterRender()

onAfterRender(node): void

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:76

A callback that is called after the component is rendered.

Parameters

ParameterTypeDescription
nodeVNodeThe component's VNode.

Returns

void

Overrides

HardwareUiControl.onAfterRender


onAfterScroll()

protected onAfterScroll(control, index): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:284

An event called when a scroll operation has completed.

Parameters

ParameterTypeDescription
controlHardwareUiControl<E>The control that was scrolled to.
indexnumberThe index of the control in the collection of registered controls.

Returns

void

Inherited from

HardwareUiControl.onAfterScroll


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

HardwareUiControl.onBeforeRender


onBlurred()

protected onBlurred(source): void

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:456

An event called when the control is blurred.

Parameters

ParameterTypeDescription
sourceHardwareUiControl<E, P>The control that emitted this event.

Returns

void

Overrides

HardwareUiControl.onBlurred


onDisabled()

protected onDisabled(source): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:225

An event called when the control is disabled.

Parameters

ParameterTypeDescription
sourceHardwareUiControl<E>The control that emitted this event.

Returns

void

Inherited from

HardwareUiControl.onDisabled


onEnabled()

protected onEnabled(source): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:217

An event called when the control is enabled.

Parameters

ParameterTypeDescription
sourceHardwareUiControl<E>The control that emitted this event.

Returns

void

Inherited from

HardwareUiControl.onEnabled


onFocused()

protected onFocused(source): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:201

An event called when the control receives focus.

Parameters

ParameterTypeDescription
sourceHardwareUiControl<E>The control that emitted this event.

Returns

void

Inherited from

HardwareUiControl.onFocused


onInteractionEvent()

abstract onInteractionEvent(event): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:337

A method which is called when this control receives an interaction event.

Parameters

ParameterTypeDescription
eventkeyof EThe event.

Returns

boolean

True if the event was handled, false otherwise.

Inherited from

HardwareUiControl.onInteractionEvent


onRegistered()

protected onRegistered(source): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:233

An event called when a control is registered with this control.

Parameters

ParameterTypeDescription
sourceHardwareUiControl<E>The control that emitted this event.

Returns

void

Inherited from

HardwareUiControl.onRegistered


onScroll()

protected onScroll(direction): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:263

An event called when the control is scrolled.

Parameters

ParameterTypeDescription
directionScrollDirectionThe direction that is being requested to scroll.

Returns

boolean

True if this control handled this event, false otherwise.

Inherited from

HardwareUiControl.onScroll


onUnregistered()

protected onUnregistered(source): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:241

An event called when a control is unregistered from this control.

Parameters

ParameterTypeDescription
sourceHardwareUiControl<E>The control that emitted this event.

Returns

void

Inherited from

HardwareUiControl.onUnregistered


reconcileChildBlur()

protected reconcileChildBlur(index, child): number | BlurReconciliation

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:688

Reconciles the focus state of this control's children when this control is focused with no focused children after a child has been blurred.

Parameters

ParameterTypeDescription
indexnumberThe index of the child control that was blurred. If the child is no longer registered, then this is the index of the child prior to being unregistered.
childHardwareUiControl<E>The child control that was blurred.

Returns

number | BlurReconciliation

The index of the child control to focus.

Inherited from

HardwareUiControl.reconcileChildBlur


register()

register(control, index?): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:722

Registers a child control with this control.

Parameters

ParameterTypeDescription
controlHardwareUiControl<E>The control to register.
index?numberThe index at which to register the control. If none is provided, the control will be registered at the end of the collection of child controls.

Returns

void

Inherited from

HardwareUiControl.register


render()

render(): VNode

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:499

Renders the control.

Returns

VNode

The component VNode.

Overrides

HardwareUiControl.render


renderScrollbar()

abstract protected renderScrollbar(): VNode

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:496

Renders the control list scroll bar.

Returns

VNode


scroll()

scroll(direction): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:293

Scrolls the currently focused control in the supplied direction.

Parameters

ParameterTypeDescription
directionScrollDirectionThe direction that is being requested to scroll.

Returns

boolean

True if propagation should be stopped, false otherwise.

Inherited from

HardwareUiControl.scroll


scrollToIndex()

scrollToIndex(index, focusPosition): void

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:373

Scrolls to an item.

Parameters

ParameterTypeDefault valueDescription
indexnumberundefinedis the index of the list item to scroll to.
focusPositionFocusPositionFocusPosition.FirstThe focus position to apply to children of the item being scrolled to.

Returns

void


setDisabled()

setDisabled(isDisabled): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:705

Sets the component to be disabled, removing the ability for the component to scroll. Setting a component to disabled will also blur the component and its children, if necessary.

Parameters

ParameterTypeDescription
isDisabledbooleanWhether or not the component is disabled.

Returns

void

Inherited from

HardwareUiControl.setDisabled


setFocusedIndex()

setFocusedIndex(index, focusPosition): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:843

Sets the current most recently focused child control index. If this control is focused and has children that have focus, this will also switch child focus to the new index.

Parameters

ParameterTypeDefault valueDescription
indexnumberundefinedThe index of the child control to set most recent focus for.
focusPositionFocusPositionFocusPosition.MostRecentThe focus position to focus the child for, if required.

Returns

void

Inherited from

HardwareUiControl.setFocusedIndex


setIsolated()

setIsolated(isolated): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:895

Sets whether or not this control is in scroll isolation. While scroll isolation is enabled, scroll events will not propagate to the control's parent when the control has focus.

Parameters

ParameterTypeDescription
isolatedbooleanWhether or not the control is isolated.

Returns

void

Inherited from

HardwareUiControl.setIsolated


setParent()

setParent(parent): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:885

Sets the parent of this control.

Parameters

ParameterTypeDescription
parentHardwareUiControl<E>The parent to set.

Returns

void

Inherited from

HardwareUiControl.setParent


triggerEvent()

triggerEvent(event, source, ...args): boolean

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:348

Triggers an event on this control. The event will first be routed to the deepest focused descendent of this control and will propagate up the control tree until it is handled or there are no more controls to which to propagate.

Parameters

ParameterTypeDescription
eventkeyof EThe event to trigger.
sourceHardwareUiControlThe source of the event. Defaults to this if not supplied.
...argsany[]Additional arguments to pass to the event handler.

Returns

boolean

True if the event was handled, false otherwise.

Inherited from

HardwareUiControl.triggerEvent


unregister()

unregister(item): void

Defined in: src/sdk/components/controls/HardwareUiControl.tsx:748

Unregisters a child control with this control.

Parameters

ParameterTypeDescription
itemnumber | HardwareUiControl<E, HardwareUiControlProps>The child control or index of a child control to unregister. If a child control is provided, it will attempt to be located in the control's child registry and then removed. If an index is provided, the child control at that registered index will be removed.

Returns

void

Inherited from

HardwareUiControl.unregister


updateOrder()

updateOrder(): void

Defined in: src/sdk/components/controls/HardwareUiControlList.tsx:276

Updates the order of data items in the list by the props supplied comparison function, if one exists.

Returns

void