SurfaceRelationPolicy · types
Interfaces, valeurs et contrats nommés de SurfaceRelationPolicy.
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.
SurfaceRelationPolicy
One versioned relation declaration shared by compiler admission and native mutation.
export type SurfaceRelationPolicy = z.infer<typeof surfaceRelationPolicySchema>;
Exemples appliqués : Un client, plusieurs soumissions
La contrainte porte sur les liens; le groupe de présentation affiche quatre résultats et l’accès à la liste complète.
Configuration
Fragment à placer dans relationPolicies[]. Propriétés et valeurs admises.
{
"contract": "SurfaceRelationPolicy@1",
"key": "quote-client",
"linkTypePath": "application/client",
"source": {
"definitionPaths": [
"workspace/quotes/surface/quote"
],
"fields": []
},
"target": {
"definitionPaths": [
"workspace/clients/surface/client"
],
"fields": []
},
"maximumOutgoing": 1,
"maximumIncoming": null,
"acyclic": false,
"deletion": "forbid",
"maximumTraversalNodes": 1000
}
Variante et raccordement
Fragment à placer dans presentation.recordProfiles[].detail.relatedGroups[]. Propriétés et valeurs admises.
{
"key": "quotes",
"label": "Soumissions",
"queryBindingKey": "client-quotes",
"maximumVisible": 4,
"openAllLabel": "Voir toutes les soumissions",
"rowIcon": null
}
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.
- Client sélectionné
- Recherche
- Soumissions
- Voir toutes les soumissions