Skip to content

Table

A virtualized tabular collection with header, row, and cell parts.

Loading interactive demo…

#Import

Import ui from github.com/egoist/quickgui/go/ui.

import (
	"github.com/egoist/quickgui/go/ui"
)

#Usage

func TableExample(rows []string) *ui.Element {
	table := ui.NewTable(ui.TableRootProps{Columns: func() []ui.TableColumnDeclaration {
		return []ui.TableColumnDeclaration{{ID: "name", Label: "Name", Track: "1fr", Sortable: true}}
	}, RowCount: func() float64 {
		return float64(len(rows))
	}, RowHeight: 26, HeaderHeight: 28, PartProps: ui.PartProps{Style: ui.Style().Height(260).OverflowY("scroll")}})
	children := []*ui.Element{
		table.Header(ui.TableHeaderProps{Column: "name"}).Child("Name"),
	}
	for index, name := range rows {
		children = append(children, table.Row(ui.TableRowProps{Index: index}).Child(
			table.Cell(ui.TableCellProps{Column: "name"}).Child(name),
		))
	}
	return table.Root().Children(children)
}

#Anatomy

  • table.Root
  • table.Header
  • table.Row
  • table.Cell

#API reference

Expand an entry for its description and complete signature. A dash means no declaration default is documented.

NewTable

View source
ui.NewTable(props ...TableRootProps) *TableComponent

NewTable declares a Table instance. Optional props provide initial settings.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source
Columnsfunc() []TableColumnDeclaration—

Column declarations for the virtual table.

func() []TableColumnDeclaration
View source
RowCountfunc() float64—

Total logical row count.

func() float64
View source
RowHeightany—

Logical height of each virtualized row.

any
View source
HeaderHeightany—

Height reserved for the table’s header row, in logical pixels.

any
View source
SelectionModestring—

Allows single or multiple table selection.

string
View source
Selectionfunc() []TableRowRange—

Controlled selection for a table, native picker, or color control.

func() []TableRowRange
View source
Sortfunc() *TableSortState—

Current table sort configuration.

func() *TableSortState
View source
Editingfunc() *TableCell—

Controlled editing state of the table cell.

func() *TableCell
View source
OnVisibleRangeChangefunc(VisibleRange, *native.Event)—

Callback for visible range change. The signature below lists the event payload.

func(VisibleRange, *native.Event)
View source
OnSelectionChangefunc([]TableRowRange, *native.Event)—

Reports the selected native picker option or color.

func([]TableRowRange, *native.Event)
View source
OnSortChangefunc(*TableSortState, *native.Event)—

Callback for sort change. The signature below lists the event payload.

func(*TableSortState, *native.Event)
View source
OnActiveCellChangefunc(*TableCell, *native.Event)—

Callback for active cell change. The signature below lists the event payload.

func(*TableCell, *native.Event)
View source
OnColumnResizefunc([]ColumnWidth, *native.Event)—

Callback for column resize. The signature below lists the event payload.

func([]ColumnWidth, *native.Event)
View source
OnColumnReorderfunc([]string, *native.Event)—

Callback for column reorder. The signature below lists the event payload.

func([]string, *native.Event)
View source
OnEditEndfunc(TableEditEndDetails, *native.Event)—

Callback for edit end. The signature below lists the event payload.

func(TableEditEndDetails, *native.Event)
View source
OnActivatefunc(TableCell, *native.Event)—

Callback for activate. The signature below lists the event payload.

func(TableCell, *native.Event)
View source

Table.Disabled

View source
table.Disabled(value any) *TableComponent

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

Table.Columns

View source
table.Columns(value any) *TableComponent

Column declarations for the virtual table.

Table.RowCount

View source
table.RowCount(value any) *TableComponent

Total logical row count.

Table.RowHeight

View source
table.RowHeight(value any) *TableComponent

Logical height of each virtualized row.

Table.HeaderHeight

View source
table.HeaderHeight(value any) *TableComponent

Height reserved for the table’s header row, in logical pixels.

Table.SelectionMode

View source
table.SelectionMode(value string) *TableComponent

Allows single or multiple table selection.

Table.Selection

View source
table.Selection(value any) *TableComponent

Controlled selection for a table, native picker, or color control.

Table.Sort

View source
table.Sort(value any) *TableComponent

Current table sort configuration.

Table.Editing

View source
table.Editing(value any) *TableComponent

Controlled editing state of the table cell.

Table.OnVisibleRangeChange

View source
table.OnVisibleRangeChange(value func(VisibleRange, *native.Event)) *TableComponent

Callback for visible range change. The signature below lists the event payload.

Table.OnSelectionChange

View source
table.OnSelectionChange(value func([]TableRowRange, *native.Event)) *TableComponent

Reports the selected native picker option or color.

Table.OnSortChange

View source
table.OnSortChange(value func(*TableSortState, *native.Event)) *TableComponent

Callback for sort change. The signature below lists the event payload.

Table.OnActiveCellChange

View source
table.OnActiveCellChange(value func(*TableCell, *native.Event)) *TableComponent

Callback for active cell change. The signature below lists the event payload.

Table.OnColumnResize

View source
table.OnColumnResize(value func([]ColumnWidth, *native.Event)) *TableComponent

Callback for column resize. The signature below lists the event payload.

Table.OnColumnReorder

View source
table.OnColumnReorder(value func([]string, *native.Event)) *TableComponent

Callback for column reorder. The signature below lists the event payload.

Table.OnEditEnd

View source
table.OnEditEnd(value func(TableEditEndDetails, *native.Event)) *TableComponent

Callback for edit end. The signature below lists the event payload.

Table.OnActivate

View source
table.OnActivate(value func(TableCell, *native.Event)) *TableComponent

Callback for activate. The signature below lists the event payload.

Table.Root

View source
table.Root() *Element

Configures root for this part. The declared type and source define the accepted value.

Table.Header

View source
table.Header(options ...TableHeaderProps) *Element

Configures header for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source
Columnstring—

Identifies the table column associated with this part.

string
View source

Table.Row

View source
table.Row(options ...TableRowProps) *Element

Configures row for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source
Indexany—

Zero-based index associated with this repeated part.

any
View source

Table.Cell

View source
table.Cell(options ...TableCellProps) *Element

Configures cell for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source
Columnstring—

Identifies the table column associated with this part.

string
View source
Index*float64—

Zero-based index associated with this repeated part.

*float64
View source
part.Child(content).Style(style)

Every part returns a fluent element. Strings, numbers, elements, and deferred child factories compose directly.

ChildChild(child any) *Element—

Child appends content and returns this element. Content can be an element, native node, scalar, accessor, or node-returning construction callback.

Child(child any) *Element
View source
ChildrenChildren(children ...any) *Element—

Children appends multiple children in order without replacing existing content. It also accepts []any, []*Element, and []*native.Node slices as arguments. Read the retained child nodes through element.Node.Children.

Children(children ...any) *Element
View source
StyleStyle(style StyleBuilder) *Element—

Style merges a reusable style. Scalar accessors retain independent native bindings.

Style(style StyleBuilder) *Element
View source
OnClickOnClick(handler func()) *Element—

OnClick handles a click without an unused event parameter.

OnClick(handler func()) *Element
View source
RefRef(handler func(*native.Node)) *Element—

Ref exposes the native handle once at this point in the declaration chain.

Ref(handler func(*native.Node)) *Element
View source