---
title: "WorkspaceTableLayout · types"
url: https://developers.dagio.ai/reference/types-workspace-table-layout/
---

# WorkspaceTableLayout · types

   
                                     
                                                                               
                                              
                  
           
          
   

The following types define named objects and their relationships. Tables include inherited properties. Schema-derived types refer to their validated structures; a TypeScript declaration does not replace the compiler’s semantic checks.

## WorkspaceTableLayout

Exact admitted visual options; persistence and mutation remain separate canonical owners.

```typescript
export type WorkspaceTableLayout = z.infer<typeof workspaceTableLayoutSchema>;
```

## WorkspaceTableGrouping

One declared set of grouping choices and its bounded group page size.

```typescript
export type WorkspaceTableGrouping = z.infer<typeof workspaceTableGroupingSchema>;
```

## WorkspaceTableCellFormat

The shared formatter consumes canonical scalar values, never arbitrary renderer code.

```typescript
export type WorkspaceTableCellFormat = z.infer<typeof workspaceTableCellFormatSchema>;
```

[All references](https://developers.dagio.ai/reference/)

<!-- surface-examples:start -->

## Applied examples : Collection columns and formats

Declare each column source before its format, order and filters.

### Configuration

Fragment placed in `presentation.tableViews[]`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-record-presentation/).

```json
{
  "viewKey": "quotes-table",
  "columns": [
    {
      "key": "number",
      "label": "Number",
      "source": {
        "kind": "native",
        "property": "title"
      }
    },
    {
      "key": "status",
      "label": "Status",
      "source": {
        "kind": "field",
        "fieldPath": "fields/status"
      }
    },
    {
      "key": "amount",
      "label": "Amount",
      "source": {
        "kind": "field",
        "fieldPath": "fields/amount"
      }
    }
  ],
  "openLabel": "Open quote"
}
```

### Variation and connection

Fragment placed in `presentation.tableViews[].layout`. [Properties and accepted values](https://developers.dagio.ai/reference/workspace-table-layout/).

```json
{
  "contract": "WorkspaceTableLayout@1",
  "grouping": null,
  "columns": [
    {
      "columnKey": "number",
      "visible": true,
      "width": null,
      "frozen": true,
      "format": {
        "kind": "text"
      },
      "headerFilterParameterKey": null
    },
    {
      "columnKey": "status",
      "visible": true,
      "width": null,
      "frozen": false,
      "format": {
        "kind": "badge"
      },
      "headerFilterParameterKey": null
    },
    {
      "columnKey": "amount",
      "visible": true,
      "width": null,
      "frozen": false,
      "format": {
        "kind": "number",
        "maximumFractionDigits": 2
      },
      "headerFilterParameterKey": null
    }
  ],
  "columnGroups": []
}
```

### UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

1. Number
2. Status
3. Amount
4. Last updated

<!-- surface-examples:end -->
