Context
The #213 session migrated libs/todo/src/lib/components/todo-form/todo-form.ts from the compat API (SignalFormControl) to Angular 22.1's stable signal forms (form() + FormRoot/FormField), bundled with larger server-side CRUD changes that are being reverted in favor of a docs-only PR. This issue keeps just the form migration.
The migrated form code lives on the feat/todo-crud-recipes-skills-213 branch (PR #214, commit 48f6740) — salvage it from there.
Scope
- Migrate the create-only todo form to the stable
form() API (no edit flow — that stays reverted)
- Wire it into the existing in-memory CRUD API and store (
create: rxMethod) — no other UI changes
- Keep spec coverage at the 80% per-file gate
- Update
docs/recipes/signal-forms.md to describe the stable API once landed
Notes
docs/recipes/signal-forms.md currently documents the compat-API pattern (post-revert state)
- Material 22 interop:
mat-error relies on explicit @if (touched && invalid) guards (no NgControl bridge for signal forms)
Context
The #213 session migrated
libs/todo/src/lib/components/todo-form/todo-form.tsfrom the compat API (SignalFormControl) to Angular 22.1's stable signal forms (form()+FormRoot/FormField), bundled with larger server-side CRUD changes that are being reverted in favor of a docs-only PR. This issue keeps just the form migration.The migrated form code lives on the
feat/todo-crud-recipes-skills-213branch (PR #214, commit 48f6740) — salvage it from there.Scope
form()API (no edit flow — that stays reverted)create: rxMethod) — no other UI changesdocs/recipes/signal-forms.mdto describe the stable API once landedNotes
docs/recipes/signal-forms.mdcurrently documents the compat-API pattern (post-revert state)mat-errorrelies on explicit@if (touched && invalid)guards (no NgControl bridge for signal forms)