Skip to content

@jsvision/ui / ListViewOptions

Interface: ListViewOptions<T>

Defined in: ui/src/list/list-view.ts:24

Construction options for ListView.

Type Parameters

T

T

Properties

bar?

optional bar?: ScrollBar

Defined in: ui/src/list/list-view.ts:54

Inject an externally owned + placed ScrollBar to bind to, instead of this view owning a vertical right-edge bar. When provided, ListView does not create or lay out a bar — the caller owns and places it (e.g. a horizontal bottom bar) and this view only wires the rows renderer to drive it. The injected bar must share this view's focused signal (construct it with value: <that signal>).


command?

optional command?: string

Defined in: ui/src/list/list-view.ts:36

Command emitted on activation (like Button).


focused?

optional focused?: Signal<number>

Defined in: ui/src/list/list-view.ts:30

The focused (highlighted) display index (default an internal signal at 0).


getText

getText: (item) => string

Defined in: ui/src/list/list-view.ts:28

Render an item to its row text.

Parameters

item

T

Returns

string


items

items: Signal<T[]>

Defined in: ui/src/list/list-view.ts:26

The source items.


numCols?

optional numCols?: number

Defined in: ui/src/list/list-view.ts:47

Number of columns (default 1). >1 lays the items out column-major with a divider between columns; the scroll model stays vertical.


onSelect?

optional onSelect?: (index, item) => void

Defined in: ui/src/list/list-view.ts:34

Activation callback (Enter/Space or double-click); index is display order, item the value.

Parameters

index

number

item

T

Returns

void


roles?

optional roles?: ListRoles

Defined in: ui/src/list/list-view.ts:42

Row theme roles (default the standard list* roles); override for a different palette.


selected?

optional selected?: Signal<number>

Defined in: ui/src/list/list-view.ts:32

The selected (chosen) display index (default an internal signal at -1).


sorted?

optional sorted?: boolean

Defined in: ui/src/list/list-view.ts:38

Display items in ascending getText order (stable); focused/selected index the display.


typeAhead?

optional typeAhead?: boolean

Defined in: ui/src/list/list-view.ts:40

Enable the linear case-insensitive prefix type-ahead.