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