2.7 KiB
2.7 KiB
Table
This is the table class. It provides a sortable data grid with customizable columns, row selection, and scrolling capabilities.
Extends: VisualElement
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| columns | table | {} | List of column definitions with {name, width} properties |
| data | table | {} | The table data as array of row arrays |
| headerColor | color | blue | Color of the column headers |
| selectedColor | color | lightBlue | Background color of selected row |
| gridColor | color | gray | Color of grid lines |
| sortDirection | string | "asc" | Sort direction ("asc" or "desc") |
| scrollOffset | number | 0 | Current scroll position |
Functions
| Method | Returns | Description |
|---|---|---|
| Table.new | Table | Creates a new Table instance |
| Table:Table | Table | Initializes the Table instance |
| Table:Table | Table | Adds a new column to the table |
| Table:Table | Table | Adds a new row of data to the table |
| Table:Table | Table | Sorts the table data by the specified column |
| Table:Table | boolean | Handles header clicks for sorting and row selection |
| Table:Table | boolean | Handles scrolling through the table data |
| Table:Table | - | Renders the table with headers, data and scrollbar |
Table.new()
Creates a new Table instance
Returns
TableselfThe newly created Table instance
Table:Table(props, basalt)
Parameters
propstableThe properties to initialize the element withbasalttableThe basalt instance
Returns
TableselfThe initialized instance
Table:Table(name, width)
Adds a new column to the table
Parameters
namestringThe name of the columnwidthnumberThe width of the column
Returns
TableselfThe Table instance
Table:Table(any)
Adds a new row of data to the table
Parameters
anyThedata for the new row
Returns
TableselfThe Table instance
Table:Table(columnIndex, fn)
Sorts the table data by column
Parameters
columnIndexnumberThe index of the column to sort byfnfunction? Optional custom sorting function
Returns
TableselfThe Table instance
Table:Table(button, x, y)
Parameters
buttonnumberThe button that was clickedxnumberThe x position of the clickynumberThe y position of the click
Returns
booleanhandledWhether the event was handled
Table:Table(direction, x, y)
Parameters
directionnumberThe scroll direction (-1 up, 1 down)xnumberThe x position of the scrollynumberThe y position of the scroll
Returns
booleanhandledWhether the event was handled