Page envelope
The root object of every page response.
{
"page": {
"id": "home",
"nav": {},
"header": { "sticky": true, "widgets": [] },
"sections": [],
"footer": { "sticky": true, "widgets": [] },
"pagination": { "has_more": true, "postback": {} },
"refresh": { "pull_to_refresh": true }
}
}page#
| Field | Type | Default | Description |
|---|---|---|---|
idreq | String | Stable identifier for the screen. | |
nav | NavModel | Navigation bar configuration. | |
header | PageBar | Widget strip above the sections. | |
sections | [Section] | The scrolling content. Decoded lossily. | |
footer | PageBar | Widget strip below the sections. | |
pagination | Pagination | Cursor state for infinite scrolling. | |
refresh | Refresh | Refresh behavior. |
nav#
| Field | Type | Default | Description |
|---|---|---|---|
title | TextData | Centered title. | |
subtitle | TextData | Line under the title. | |
bg_color | ColorData | Bar background. | |
left_button | ButtonData | Leading button. Defaults its action to dismiss. | |
right_buttons | [ButtonData] | Trailing buttons, rendered in order. |
header and footer (PageBar)#
| Field | Type | Default | Description |
|---|---|---|---|
widgets | [Widget] | The strip's content. | |
sticky | Bool | true | true pins outside the scroll area; false scrolls with content. |
pagination#
| Field | Type | Default | Description |
|---|---|---|---|
has_morereq | Bool | Whether a next page exists. Controls the sentinel. | |
postback | JSON | Opaque cursor echoed on the next page request. Any shape. |
refresh#
| Field | Type | Default | Description |
|---|---|---|---|
pull_to_refresh | Bool | true | Enables the pull gesture. |