Skip to content

feat(showcase): add Invoice + InvoiceLine master-detail demo; drop Task inline entry#1637

Merged
xuyushun441-sys merged 2 commits into
mainfrom
feat/showcase-invoice-lines
Jun 7, 2026
Merged

feat(showcase): add Invoice + InvoiceLine master-detail demo; drop Task inline entry#1637
xuyushun441-sys merged 2 commits into
mainfrom
feat/showcase-invoice-lines

Conversation

@xuyushun441-sys
Copy link
Copy Markdown
Contributor

Why

Auto-embedding a Tasks subtable in New Project felt heavy and odd from an end-user perspective — a task is added to a project over time, not entered together with the project. Inline master-detail entry belongs to true header + line items shapes (invoice + lines), not to a project's task backlog.

What

  • Remove inlineEdit: 'grid' / inlineTitle: 'Tasks' from showcase_task.project. Kept the read-side relatedListTitle / relatedListColumns so Tasks still appear on the Project detail page (added later, where they belong).
  • Add the canonical inline-entry demo: Invoice (showcase_invoice) + InvoiceLine (showcase_invoice_line).
    • showcase_invoice_line.invoice is masterDetail with deleteBehavior: 'cascade', inlineEdit: 'grid', inlineTitle: 'Line Items'.
    • showcase_invoice.total is a summary rollup (sum of line amount) recomputed server-side.
  • Add an Invoices nav entry to the Showcase app.

Verification

  • Backend restarted on :3000; metadata confirms showcase_invoice_line.invoice.inlineEdit = "grid" and showcase_task.project.inlineEdit is now absent.
  • Browser-verified: New Project is now clean (header fields only, no Tasks subtable); New Invoice renders header fields + a "Line Items" editable grid (Product / Qty / Unit Price / Amount + Add line + Total row).

🤖 Generated with Claude Code

…sk inline entry

Auto-embedding a Tasks subtable in New Project felt heavy/odd — a task is
added to a project over time, not entered together with it. Remove
inlineEdit/inlineTitle from showcase_task.project (keep the read-side
relatedList so Tasks still show on the Project detail page).

Add the canonical "header + line items" shape where inline entry belongs:
Invoice (showcase_invoice) + InvoiceLine (showcase_invoice_line). The line
FK declares inlineEdit: 'grid' so New/Edit Invoice renders an editable
line-item grid, and the invoice total rolls up the line amounts server-side.
Add an Invoices nav entry.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 7, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 7, 2026 6:48am

Request Review

showcase_task is a rich child (notes/location/cover), so with inlineEdit
removed from the relationship the master-detail smart default resolves to the
per-row `form` factor (read-only list + "Add task" full-form). Update the
project-workspace page comment to reflect this; thin children (invoice lines)
still get the editable grid.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@xuyushun441-sys xuyushun441-sys merged commit 60b7a98 into main Jun 7, 2026
11 checks passed
@xuyushun441-sys xuyushun441-sys deleted the feat/showcase-invoice-lines branch June 7, 2026 06:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants