WorkspaceQueryControls · types
Interfaces, values and named contracts for WorkspaceQueryControls.
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.
WorkspaceQueryControls
Same immutable leaf in compiler, admission and host-neutral presentation.
export type WorkspaceQueryControls = z.infer<typeof workspaceQueryControlsSchema>;
Applied examples : Search and filter quotes
The Status control supplies a declared parameter; the Query retains its bounds and permissions.
Configuration
Fragment placed in queries[].controls. Properties and accepted values.
{
"contract": "WorkspaceQueryControls@1",
"filters": [
{
"parameterKey": "status",
"label": "Status",
"input": "choice",
"options": [
{
"value": "draft",
"label": "Draft"
},
{
"value": "approved",
"label": "Approved"
}
]
}
],
"sort": null
}
Variation and connection
Fragment placed in queries[]. Properties and accepted values.
{
"contract": "WorkspaceQuery@1",
"key": "client-quotes",
"label": "Client quotes",
"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
}
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.
- Number
- Status
- Amount
- Last updated
| Number | Status | Amount | Open |
|---|---|---|---|
| S-1042 | Draft | 12 500 | ↗ |
| S-1041 | Approved | 8 200 | ↗ |
| S-1040 | Sent | 4 750 | ↗ |