CheckboxColumn extends SpreadsheetColumn

Boolean column for Spreadsheet. Renders a bound checkbox (via Input) reflecting the value; activating the cell (click / Enter / type) toggles it inline instead of opening a floating editor.

Binding through Input (rather than a static checkbox) means the column works for a plain boolean attribute and for any value the binding understands — e.g. a record whose attribute is a reactive State: the bound checkbox reads it via == true (coercing the State by valueOf), writes through the record's setter, and reflects external changes reactively.

Constructor

new CheckboxColumn()
options : Object optional
attribute : string optional

record key this column reads/writes

editable : boolean optional

whether cells can be edited/pasted into

input : Object optional

extra options merged into Input.create (e.g. dump/load)

contextMenu : function optional

hook (menu, cell, column) to augment/replace the right-click menu

index : number optional

0-based column position (assigned by the grid)

width : number | string optional

explicit column width (px number or CSS px string); falls back to the grid's default width when omitted

frozen : boolean optional

pin this column to the left while the body scrolls

header : function | string optional

header content; function receives (column, grid)

render : function optional

cell content renderer; receives (record, cell, column, grid)

value : function optional

optional override for the copy/serialized value; receives (record, column). Defaults to the render result.

class : string optional

extra class(es) applied to header + cells

unnest : function optional

expand the record's nested collection into stacked sub-rows for this cell (SQL UNNEST/explode). A function (record) => Array returning the sub-records to stack (read-only display in v1)

splitInto : function optional

deprecated alias for unnest

record : function optional

resolve the record this column reads/writes from the row's record (e.g. a row TIM → its Trait). A function (rowRecord) => record | Promise<record>. When omitted the column operates on the row's record directly. renderContent/valueFor and (for Spreadsheet) input/paste/clear/toggle all operate on the resolved record.

Instance Properties

Extra Input.create options merged into every editor (override per type, e.g. number dump).

Input kind passed to Input.create.

MIME types this column accepts on paste.

Instance Methods

A CellHandle for this column at a 0-based row index (or null).

CellHandles for this column across the whole dataset (lazy, transient).

Clear the record's value.

Per-column customization of the right-click context menu (mirrors Spreadsheet). Receives the built menu element and returns the (possibly augmented or replaced) menu. Defaults to returning the menu unchanged; supply a contextMenu option to override.

Parameters

menu : HTMLElement

Returns

HTMLElement

Resolve header content.

Build the bound edit control for a record (mirrors Spreadsheet via Input.create). The returned element is two-way bound to record[attribute] — edits write back on change/blur — and is shown in a Floater over the cell. Returns null when the column isn't editable.

Custom editors can take over completion via the session (see Spreadsheet#activateCell):

  • keep a key for yourself (e.g. Enter for newlines in a textarea) by calling stopPropagation() or preventDefault() on its keydown
  • call session.commit({ move }) / session.cancel() to end the edit, or session.hold(promise) to defer the closing re-render until async work settles

Pick what you need off the session — don't spread it into Input/element options, where its members would become HTML attributes on the editor.

Parameters

record : Object
session : Object optional

editing session: { cell, column, record, floater, value, commit, cancel, hold } (value is the typed character seeding a type-to-edit)

Returns

HTMLElement | null

Parse a pasted/typed string into the stored value. Override per type.

Apply a pasted value to the record.

Resolve the display content for a record (string / node / dolla descriptor).

Resolve the record this column reads/writes from the row's record. With a record resolver a cell can edit a sub-record (e.g. a row TIM → its Trait) while the row stays the row record. Returns the row record unchanged when no resolver is set. May return a Promise (resolvers are often async); callers await as needed.

Flip the value on activate (toggleable). Reads via == true so a bound value (e.g. a State, whose getter returns the object) coerces by valueOf rather than reading as a truthy object; the assignment routes through the record's setter.

Resolve the copy/serialized value for a record (string).