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

workspaceQueryControls

Propriétés, variantes, types et limites de workspaceQueryControls.

Cette référence décrit la structure complète de workspaceQueryControls. Chaque chemin représente une propriété, y compris les objets imbriqués, les éléments de listes et les branches conditionnelles. Une branche identifiée par kind, contract ou mode n’admet que ses propres propriétés.

Structure et valeurs

Champ Options / valeurs attendues Description
contract "WorkspaceQueryControls@1" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
filters Array<closed object OR closed object>; max length 20 Requis. Définit « filters » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
filters[].[variant 1].parameterKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
filters[].[variant 1].label string; min length 1; max length 4000 Requis. Libellé destiné à l’usager dans l’interface.
filters[].[variant 1].input "choice" Requis. Contrôle ou entrée sélectionné par la variante; doit rester compatible avec son binding.
filters[].[variant 1].options Array<closed object>; min length 1; max length 100 Requis. Valeurs proposées et admises pour un choix déclaré.
filters[].[variant 1].options[].value string; max length 4000 OR number OR true | false Requis. Valeur effective interprétée selon le type et le discriminant du contexte parent.
filters[].[variant 1].options[].label string; min length 1; max length 4000 Requis. Libellé destiné à l’usager dans l’interface.
filters[].[variant 2].parameterKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
filters[].[variant 2].label string; min length 1; max length 4000 Requis. Libellé destiné à l’usager dans l’interface.
filters[].[variant 2].input "text" | "number" | "decimal" | "integer" | "real" Requis. Contrôle ou entrée sélectionné par la variante; doit rester compatible avec son binding.
sort closed object; null Requis. Définit « sort » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sort.parameterKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9-]*$/u Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
sort.label string; min length 1; max length 4000 Requis. Libellé destiné à l’usager dans l’interface.
sort.options Array<closed object>; min length 1; max length 30 Requis. Valeurs proposées et admises pour un choix déclaré.
sort.options[].value string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9-]*$/u Requis. Valeur effective interprétée selon le type et le discriminant du contexte parent.
sort.options[].label string; min length 1; max length 4000 Requis. Libellé destiné à l’usager dans l’interface.
sort.options[].orderBy Array<closed object>; min length 1; max length 5 Requis. Ordre de tri déclaré; les clés doivent appartenir au périmètre autorisé.
sort.options[].orderBy[].fieldKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u Requis. Clé d’un Field déclaré sur la définition de Surface référencée.
sort.options[].orderBy[].direction "ascending" | "descending" Requis. Sens du parcours ou de présentation; respecter les valeurs fermées de ce contrat.

Règles de lecture

Les chemins suffixés par [] décrivent chaque élément d’une liste; {key} décrit chaque valeur d’un dictionnaire. Le symbole ↻ renvoie à la même expression récursive. Un objet fermé refuse les propriétés supplémentaires. Les mentions de validation sémantique signalent un contrôle complémentaire : la conformité des types ne suffit pas à rendre une référence, une permission ou une transition valide. Les références doivent être résolues dans le Model et le contexte de l’usager.

La présence d’une ancienne variante ne permet pas d’y ajouter une propriété d’une variante plus récente. Le compilateur contrôle la version et la cohérence du Model complet.

Exemple de structure

Ce fragment respecte le schéma de cette section. Ses références métier doivent être définies dans le Model qui l’utilise.

{
  "contract": "WorkspaceQueryControls@1",
  "filters": [],
  "sort": {
    "parameterKey": "sort",
    "label": "Trier par",
    "options": [
      {
        "value": "name-asc",
        "label": "Nom",
        "orderBy": [
          {
            "fieldKey": "title",
            "direction": "ascending"
          }
        ]
      },
      {
        "value": "recent",
        "label": "Modification récente",
        "orderBy": [
          {
            "fieldKey": "updatedAt",
            "direction": "descending"
          }
        ]
      },
      {
        "value": "oldest",
        "label": "Modification ancienne",
        "orderBy": [
          {
            "fieldKey": "updatedAt",
            "direction": "ascending"
          }
        ]
      }
    ]
  }
}

Références associées

Index complet du Model · Construire un Model

Exemples appliqués : Les soumissions du client courant

La Query déclare clientId; le binding fournit l’identité de la fiche ouverte.

Configuration

Objet du contrat workspaceQueryControls. Propriétés et valeurs admises.

{
  "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 presentation.recordProfiles[].queryBindings[]. Propriétés et valeurs admises.

{
  "key": "client-quotes",
  "queryKey": "client-quotes",
  "parameters": {
    "clientId": {
      "kind": "entity-id",
      "definitionPath": "workspace/clients/surface/client"
    }
  }
}

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
workspaceQueryControlsworkspaceQueryControls
Clients
CONTEXTE DU MODELAtelier NordConfiguration déclarative
filters
1 élément
sort
null

Les valeurs ci-dessus reprennent le fragment de configuration; les références se résolvent dans le Model complet.

Recherchez un concept, un champ ou une action.Esc