SSR / Pages that work without JavaScript
Who owns what
| Part of the page | Owner | What it does without scripts |
|---|---|---|
| The page | foldkit-ssr renders it whole, from the Model init and your reads reached | It is the page |
| What it shows of a server's data | foldkit-remote: Data.satisfy reads it before the render, Remote.resume sends it to the browser | It is in the HTML |
| Search text, filters, sort, a list's position | the Model, kept in the address by foldkit-mirror's Mirror.url | A GET form or a link writes the address; the server reads it |
| A virtual list's window | foldkit-mixins-ui's WindowList: init({ from }) opens it at the address's row, pageOf names the pages either side, Recipes.WindowList lays the rows in the flow | One window, paged by links |
| A change (add to cart) | update, as always. fallback: 'server' posts a form's Message, and SSR.handle runs update on the server | A POST of the page |
| Which controls show | the view draws both kinds; foldkit-mixins' Style.media('(scripting: none)', …) shows one | The plain kind |
| State between two posts | the application: a cookie it reads and writes | Foldkit Plus keeps nothing |
Nothing here is a second application. There is no action route and no
server-only view: the browser adopts what the server drew, and the address
and the posts reach the update the scripted page runs.