Skip to content

Text input column

TextInputColumn renders an <input> in the cell for short editable values such as SKUs or nicknames.

It persists like other editable columns via data-orbit-column-edit="text"ListRecordsHost.update_column_state / orbit.js.

SelectColumn, TextInputColumn, ToggleColumn, CheckboxColumn
# persist via ListRecordsHost.update_column_state / orbit.js
from almasix.orbit.tables import Table, TextColumn, TextInputColumn
table = (
Table.make("skus")
.columns([
TextColumn.make("product").searchable(),
TextInputColumn.make("sku").label("SKU"),
TextInputColumn.make("qty").align_end(),
])
.records(records)
)
from almasix.orbit import Resource
from almasix.orbit.tables import Table, TextColumn, TextInputColumn
class ProductResource(Resource):
@classmethod
def table(cls, table: Table) -> Table:
return table.columns([
TextColumn.make("name").searchable().sortable(),
TextInputColumn.make("sku")
.label("SKU")
.disabled(lambda record=None, **_: record.get("locked")),
TextInputColumn.make("nickname"),
])

For long-form content, use a form field instead of an inline input.

  • .disabled(bool | callable) — lock rows that should not change
  • .label(...) / .align_end() / .sortable()
  • Markup: data-orbit-column-edit="text", data-record-id, data-column
  • Class: or-input or-input-inline

Text input column (light) Text input column (dark)