Aller au contenu
SurfaceDocs
ENCommencer
DocsRéférence du Model

WorkspaceTableLayout · types

Interfaces, valeurs et contrats nommés de WorkspaceTableLayout.

Les types ci-dessous définissent les objets nommés et leurs relations. Les propriétés héritées sont incluses dans les tableaux. Les types dérivés d’un schéma renvoient à sa structure; une déclaration TypeScript ne remplace pas les contrôles sémantiques du compilateur.

WorkspaceTableLayout

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

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

WorkspaceTableGrouping

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

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

WorkspaceTableCellFormat

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

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

Toutes les références

Exemples appliqués : Colonnes et formats d’une collection

Déclarez la source de chaque colonne avant son format, son ordre et ses filtres.

Configuration

Fragment à placer dans presentation.tableViews[]. Propriétés et valeurs admises.

{
  "viewKey": "quotes-table",
  "columns": [
    {
      "key": "number",
      "label": "Numéro",
      "source": {
        "kind": "native",
        "property": "title"
      }
    },
    {
      "key": "status",
      "label": "État",
      "source": {
        "kind": "field",
        "fieldPath": "fields/status"
      }
    },
    {
      "key": "amount",
      "label": "Montant",
      "source": {
        "kind": "field",
        "fieldPath": "fields/amount"
      }
    }
  ],
  "openLabel": "Ouvrir la soumission"
}

Variante et raccordement

Fragment à placer dans presentation.tableViews[].layout. Propriétés et valeurs admises.

{
  "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": []
}

Exemple de disposition UI

La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.

  1. Numéro
  2. État
  3. Montant
  4. Dernière mise à jour
DISPOSITION ILLUSTRATIVEApp Clients / Soumissions
SurfaceClients / Atelier NordExemple
WorkspaceTableLayout · typesColonnes et formats d’une collection
Clients
Client : Atelier NordÉtat : Tous ⌄Rechercher…
NuméroÉtatMontantOuvrir
S-1042Brouillon12 500↗
S-1041Approuvée8 200↗
S-1040Envoyée4 750↗
Résultats de la Query du clientPage suivante →
Recherchez un concept, un champ ou une action.Esc