SurfaceCompositionHomeBindings · types
Interfaces, values and named contracts for SurfaceCompositionHomeBindings.
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.
SurfaceCompositionNativeHome
Existing admitted Home declarations, not a second Home grammar or runtime data source.
| Field | Options / expected values | Description |
|---|---|---|
blocks |
readonly ({ readonly kind: "section"; readonly sectionKey: string; readonly variant: "collection" | "work-resume"; readonly maximumVisible: number; readonly placement: "main" | "aside"; readonly viewAll: { readonly destinationKey: string; readonly label: string; } | null; } | { readonly kind: "activity"; readonly key: string; readonly placement: "main" | "aside"; readonly maximumVisible: number; })[] |
Required. Defines blocks for this object. Observe the type, variants and bounds in the Options column. |
sections |
readonly { readonly key: string; readonly queryKey: string; readonly viewKey: string; }[] |
Required. Declared sections in reading or rendering order. |
navigation |
readonly { readonly key: string; readonly kind: string; readonly queryKey: string | null; readonly viewKey?: string | null | undefined; }[] |
Required. Declared destinations in presentation order. |
export interface SurfaceCompositionNativeHome {
readonly blocks: readonly (
| {
readonly kind: 'section';
readonly sectionKey: string;
readonly variant: 'collection' | 'work-resume';
readonly maximumVisible: number;
readonly placement: 'main' | 'aside';
readonly viewAll: { readonly destinationKey: string; readonly label: string } | null;
}
| {
readonly kind: 'activity';
readonly key: string;
readonly placement: 'main' | 'aside';
readonly maximumVisible: number;
}
)[];
readonly sections: readonly {
readonly key: string;
readonly queryKey: string;
readonly viewKey: string;
}[];
readonly navigation: readonly {
readonly key: string;
readonly kind: string;
readonly queryKey: string | null;
readonly viewKey?: string | null | undefined;
}[];
}
Applied examples : Organize destinations
Choose the Clients collection in navigation and offer the next actions on the home.
Configuration
Fragment placed in composition.navigation[]. Properties and accepted values.
{
"key": "clients",
"label": "Clients",
"icon": "users",
"kind": "collection",
"spaceKey": "clients",
"definitionPaths": [
"workspace/clients/surface/client"
],
"queryKey": "clients",
"formKey": null
}
Variation and connection
Fragment placed in homePresentation. Properties and accepted values.
{
"contract": "WorkspaceHomePresentation@1",
"header": {
"intro": "Clients and quotes",
"primaryNavigation": {
"destinationKey": "clients",
"label": "Open clients"
}
},
"launchers": {
"title": "Move work forward",
"description": "Choose an action",
"icons": [
{
"actionKey": "create-client",
"icon": "users"
},
{
"actionKey": "prepare-quote",
"icon": "document"
}
]
},
"blocks": [
{
"kind": "section",
"sectionKey": "recent-quotes",
"variant": "collection",
"placement": "main",
"maximumVisible": 4,
"viewAll": {
"destinationKey": "quotes",
"label": "All quotes"
}
}
]
}
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.
- Clients · Data
- References · Knowledge
- Preparation · Work
- Quotes · Product
Records and reference information
Pricing, procedure and sources
Steps, decisions and results
Durable deliverable and revisions