Skip to content

Commit fd64f2e

Browse files
committed
docs: add dock rendering mode index
1 parent 423293a commit fd64f2e

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

docs/content/1.guide/22.build-your-own-hub-ui.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,27 @@ Render the built-in variants of the open dock union
4040
| Type | The viewer renders |
4141
|---|---|
4242
| `iframe` | the entry's `url` in a kept-alive iframe (per `frameId` when shared); honor `subTabs` soft nav |
43+
| `json-render`* | the JSON-render dock payload (`view`) through a registered `json-render` renderer |
4344
| `action` | a bar button; activating runs its client script |
4445
| `custom-render` | a container its client script mounts into |
4546
| `launcher` | a launch call-to-action reflecting `launcher.status` |
4647
| `group` | one bar button collapsing its member entries |
4748
| `~builtin` | your native views (settings, feeds) for reserved ids |
4849

50+
`*` `json-render` is contributed by `@devframes/json-render/hub`; the dock union
51+
is open, so integrations can add more typed entries.
52+
53+
### Rendering-mode index
54+
55+
Use this as the quick decision table for "how this dock mounts":
56+
57+
| Mount mode | Dock type(s) | Mounted by | How to wire it | Dedicated docs |
58+
|---|---|---|---|---|
59+
| Iframe panel | `iframe` | viewer iframe host | register `url` (optionally `frameId`/`subTabs`) and render a kept-alive iframe | [Iframe panels](/guide/client-context#iframe-panels), [Shared-iframe soft navigation](/guide/client-context#shared-iframe-soft-navigation) |
60+
| JSON-render panel | `json-render` | renderer registry (`context.renderers.mount`) | register dock entry (`toJsonRenderDockEntry`) and provide a `json-render` renderer | [Rendering inside a hub](/guide/json-render#rendering-inside-a-hub), [Renderer modules](/guide/hub-initiate#renderer-modules) |
61+
| Client-script panel | `custom-render`, `action`, `iframe` (`clientScript`) | dock client script loader | attach `renderer`/`action`/`clientScript` `ClientScriptEntry` (`{ importFrom, importName? }`) | [Dock client scripts](/guide/client-context#dock-client-scripts), [Bare npm specifiers](/guide/client-context#bare-npm-specifiers) |
62+
| Custom typed renderer | any custom type (for example `json-render`) | server manifest and/or client local registration | register modules via `initHub({ renderers })`, or register local renderer map in `createDevframeClientHost({ renderers })` | [Renderer modules](/guide/hub-initiate#renderer-modules), [Build your own JSON-Render frontend](/guide/build-your-own-json-render-frontend) |
63+
4964
Honor `when` / `visibility`, `category` grouping (order from
5065
`DEFAULT_CATEGORIES_ORDER`, `@devframes/hub/constants`), and the
5166
`hub:docks:activate` broadcast.

0 commit comments

Comments
 (0)