For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tabs

Each key in tabs becomes a tab, and the key is the tab's name. A tab holds one recordset plus the tools around it.

config: {
  tabs: {
    'User Profiles': { /* ... */ },
    'Invoices':      { /* ... */ }
  }
}

Your data is keyed by the same names. See Data.

Properties

Property
Type
What it does

icon

string

Class name for the tab icon. FontAwesome classes work, or your own from theme.css.

description

string | object

Blurb shown above the records. Pass an object keyed by language to translate it.

translation

object

Language-code map for the tab's own name.

viewMode

'Cards' | 'List'

The tab's default view. See View Modes.

itemsPerPage

number

Records per page. Defaults to 12. See Pagination.

page

number

The page to open on. 1-based.

recordsGrid

object

CSS Grid pairs laying out the records in Card view.

sorting

object

Default sort. See Sorting.

fetch

object

Load this tab's data from a server. See Fetch API.

fetchFunction

function

Supply your own loader instead of fetch.

recordSettings

object

Everything about a record in this tab. See Record Settings.

Which tab opens first

initialActiveTab names it; otherwise the first entry wins.

Card layout

recordsGrid takes raw CSS Grid property/value pairs, so the arrangement is entirely yours:

That lays out the records. Field layout inside a record is fieldsGrid on Record Settings.

Translating a tab

translation covers the tab name; description takes a language map of its own.

See Internationalization & Localization.

A tab per source

Tabs are independent — one can hold data you passed in, another can fetch from an API:

Reaching a tab at runtime

See Tab.js.

Last updated