From 3b437248005e2103e1fc2129faf7796eb5137899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8C=85=E5=91=A8=E6=B6=9B?= Date: Sun, 28 Jun 2026 17:26:55 -0700 Subject: [PATCH] docs(objectstack-ui): document detail.relatedLayout 'stack' | 'tabs' MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add the related-list layout switch to the objectstack-ui skill so authors (and AI design sessions) know related tables can be promoted to peer tabs on the record detail page via pure config: detail: { relatedLayout: 'tabs' } Default 'stack' keeps the single Related tab — zero regression. Mirrors the @object-ui/plugin-detail + app-shell feature shipped in objectui#2051. --- skills/objectstack-ui/SKILL.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/skills/objectstack-ui/SKILL.md b/skills/objectstack-ui/SKILL.md index 6afcbc4dad..c9c106789f 100644 --- a/skills/objectstack-ui/SKILL.md +++ b/skills/objectstack-ui/SKILL.md @@ -150,6 +150,24 @@ columns (see objectstack-data → Relationships → Detail-page related lists). Authored record pages can still place an explicit `record:related_list` (or inline-editable `record:line_items`) when they need bespoke placement. +**Related-list layout — `detail.relatedLayout` (`'stack'` | `'tabs'`).** By +default every related list stacks under a single **Related** tab on the record +detail page (`relatedLayout: 'stack'`). To promote each related table to its own +**peer tab** — sitting alongside *Details* / *Activity* instead of nested under +*Related* — set `relatedLayout: 'tabs'` in the object's `detail` block: + +```typescript +detail: { relatedLayout: 'tabs' } // Details · Tasks · Risks · Milestones … +``` + +Pure config — no custom record page needed; the synthesized detail page emits +one peer tab per related entry (label falls back to the object name, the +relationship's icon carries through), with Activity/History ordered after them. +Omit it (or `'stack'`) for the default single-Related-tab behavior — zero +regression. Use `tabs` when a record has several substantial child tables that +each deserve first-class navigation; keep `stack` when related lists are +secondary to the main record body. + ### Field Conditional Rules in Forms For conditions that belong to a field's lifecycle, declare the rule on the