From 18c0554ff381523a7f8730e3328139f2eda5aa44 Mon Sep 17 00:00:00 2001 From: Jack Zhuang <277994282+os-zhuang@users.noreply.github.com> Date: Sat, 6 Jun 2026 20:01:30 +0800 Subject: [PATCH] feat(showcase): declare project Tasks as a form-view subform (Tier 0) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit showcase_project's default form view declares subforms: [{ childObject: 'showcase_task' }], so the standard New/Edit Project modal renders an inline Tasks subtable (FK + columns derived) and saves parent + tasks in one atomic /api/v1/batch — no bespoke page. Co-Authored-By: Claude Opus 4.8 --- examples/app-showcase/src/views/project.view.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/app-showcase/src/views/project.view.ts b/examples/app-showcase/src/views/project.view.ts index 7e920d330..4cb1d4963 100644 --- a/examples/app-showcase/src/views/project.view.ts +++ b/examples/app-showcase/src/views/project.view.ts @@ -44,6 +44,10 @@ export const ProjectViews = defineView({ { label: 'Project', columns: 2, fields: ['name', 'account', 'status', 'health', 'owner'] }, { label: 'Budget & Schedule', columns: 2, fields: ['budget', 'spent', 'start_date', 'end_date'] }, ], + // Config-driven master-detail (Tier 0): the standard New/Edit Project form + // renders its Tasks inline (FK + columns derived from showcase_task), + // saved as one atomic transaction — no bespoke page. + subforms: [{ childObject: 'showcase_task', title: 'Tasks', addLabel: 'Add task' }], }, }, });