---
title: "WorkspaceQueryControls · types"
url: https://developers.dagio.ai/fr/reference/types-workspace-query-controls/
---

# WorkspaceQueryControls · types

   
                                       
                                                                                
                                                
                  
           
          
   

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.

## WorkspaceQueryControls

Same immutable leaf in compiler, admission and host-neutral presentation.

```typescript
export type WorkspaceQueryControls = z.infer<typeof workspaceQueryControlsSchema>;
```

[Toutes les références](https://developers.dagio.ai/fr/reference/)

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

## Exemples appliqués : Rechercher et filtrer les soumissions

Le contrôle État fournit un paramètre déclaré; la Query conserve ses limites et les droits.

### Configuration

Fragment à placer dans `queries[].controls`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/workspace-query-controls/).

```json
{
  "contract": "WorkspaceQueryControls@1",
  "filters": [
    {
      "parameterKey": "status",
      "label": "État",
      "input": "choice",
      "options": [
        {
          "value": "draft",
          "label": "Brouillon"
        },
        {
          "value": "approved",
          "label": "Approuvée"
        }
      ]
    }
  ],
  "sort": null
}
```

### Variante et raccordement

Fragment à placer dans `queries[]`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/workspace-model-foundation/).

```json
{
  "contract": "WorkspaceQuery@1",
  "key": "client-quotes",
  "label": "Soumissions du client",
  "spaceKeys": [
    "quotes"
  ],
  "definitionPaths": [
    "workspace/quotes/surface/quote"
  ],
  "parameters": [
    {
      "key": "clientId",
      "type": "node-id",
      "required": true
    },
    {
      "key": "status",
      "type": "text",
      "required": false
    }
  ],
  "predicates": [
    {
      "fieldKey": "status",
      "operator": "eq",
      "parameterKey": "status",
      "value": null
    }
  ],
  "relations": [
    {
      "linkTypePath": "application/client",
      "direction": "outgoing",
      "parameterKey": "clientId",
      "distinct": true
    }
  ],
  "orderBy": [
    {
      "fieldKey": "updatedAt",
      "direction": "descending"
    }
  ],
  "aggregate": "none",
  "pageSize": 25,
  "maximumDepth": 1
}
```

### 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

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