docs(07): capture phase context
Phase 07: Admin Forms & Lists - Implementation decisions documented - Phase boundary established
This commit is contained in:
81
.planning/phases/07-admin-forms-lists/07-CONTEXT.md
Normal file
81
.planning/phases/07-admin-forms-lists/07-CONTEXT.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Phase 7: Admin Forms & Lists - Context
|
||||
|
||||
**Gathered:** 2026-02-04
|
||||
**Status:** Ready for planning
|
||||
|
||||
<domain>
|
||||
## Phase Boundary
|
||||
|
||||
YAML-driven form and list generation for the admin backend. Developers define `fields.yaml` and `columns.yaml`, the system renders corresponding forms and tables with standard widgets, filters, and validation display. RelationController-style relations and WinterCMS repeater behavior included.
|
||||
|
||||
</domain>
|
||||
|
||||
<decisions>
|
||||
## Implementation Decisions
|
||||
|
||||
### Form widget styling
|
||||
- Modern minimal aesthetic: clean lines, whitespace, subtle borders (Linear/Notion feel)
|
||||
- Labels positioned above inputs (stacked layout)
|
||||
- Sections collapsible, expanded by default
|
||||
- Action buttons (Save, Cancel) at bottom of form
|
||||
- Required fields indicated with red asterisk
|
||||
- Help text always visible below fields
|
||||
- Field width configurable via YAML (span: left, cssClass grid system) — similar to WinterCMS
|
||||
- Disabled fields render as read-only appearance (normal styling, not editable)
|
||||
- Multiple sections use horizontal tabs
|
||||
- Dark mode supported with user toggle in preferences
|
||||
|
||||
### Relations and repeaters
|
||||
- Relation fields use RelationController-style behavior: modal-based, rich list/form within, highly customizable through YAML
|
||||
- Repeater fields match WinterCMS behavior: inline add/remove, drag handles for reorder, collapsible items, configurable min/max
|
||||
|
||||
### List presentation
|
||||
- Table density user-selectable (comfortable/compact toggle)
|
||||
- Row click navigates to edit/preview screen (configurable)
|
||||
- Bulk actions toolbar above list: Create, Delete Selected, etc. — operates on checkbox-selected records
|
||||
- Traditional pagination (page numbers, explicit navigation)
|
||||
- Columns auto-size by content or explicit YAML width; user can drag to resize
|
||||
- Row reordering is separate feature controlled by model trait
|
||||
|
||||
### Validation UX
|
||||
- Validation on submit only (no real-time or on-blur)
|
||||
- Error messages inline under each invalid field
|
||||
- Auto-scroll to first error with highlight/pulse animation
|
||||
- Two save actions: "Save" (stay on form + flash), "Save and close" (redirect to list + flash)
|
||||
|
||||
### YAML syntax design
|
||||
- WinterCMS-inspired but improved — cleaner patterns, better defaults
|
||||
- Conditional visibility via `trigger` property (WinterCMS style)
|
||||
- Custom widgets registered via plugin boot lifecycle (explicit, not convention)
|
||||
- YAML anchors/aliases supported for field reuse (standard YAML mixins)
|
||||
- Validation rules defined in Scala model only (type-safe, not in YAML)
|
||||
|
||||
### Claude's Discretion
|
||||
- Specific animation/transition implementations
|
||||
- Exact color palette within "modern minimal" aesthetic
|
||||
- Internal component architecture
|
||||
- Widget rendering optimizations
|
||||
|
||||
</decisions>
|
||||
|
||||
<specifics>
|
||||
## Specific Ideas
|
||||
|
||||
- Forms and lists should feel like WinterCMS to experienced users, but with cleaner visuals
|
||||
- RelationController is important — rich modal-based relation management, not simple dropdowns
|
||||
- Repeater must match WinterCMS exactly: collapse/expand items, drag reorder, add/remove inline
|
||||
- Column resizing like Excel — drag borders, but auto-fit by default
|
||||
|
||||
</specifics>
|
||||
|
||||
<deferred>
|
||||
## Deferred Ideas
|
||||
|
||||
None — discussion stayed within phase scope
|
||||
|
||||
</deferred>
|
||||
|
||||
---
|
||||
|
||||
*Phase: 07-admin-forms-lists*
|
||||
*Context gathered: 2026-02-04*
|
||||
Reference in New Issue
Block a user