V13-FE-006: consolidate approved UI and contract hardening
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# V13-FE-023 — Server-side grid contract slice note
|
||||
|
||||
- **Requirement:** REQ-FE-GRID
|
||||
- **API/UI/Test:** UI-GRID-01 / T-FE-GRID-01
|
||||
- **Source:** v60 server-side grid boundary; current `DataGridShell`, `KsDataGrid`, `KsPaginator`, and `CrudPageResult` contracts.
|
||||
- **Assumption:** Page metadata is authoritative input from the query/read model; the UI emits a request intent and does not fetch or mutate server state.
|
||||
- **Unknown:** Sort/filter event wiring and column-state persistence are not connected to an active production screen through this component.
|
||||
- **Decision Required:** FE/BE must approve a per-resource query contract before adding server sort/filter event mapping.
|
||||
|
||||
## Applied boundary
|
||||
|
||||
- Added optional `page`, `pageSize`, and `total` metadata to `DataGridShell`.
|
||||
- Rendered the shared paginator only when all page metadata is explicitly supplied.
|
||||
- Forwarded page changes as an event; the component does not own fetching, caching, or server state.
|
||||
- Preserved existing client-row callers without pagination metadata.
|
||||
|
||||
## Evidence
|
||||
|
||||
```text
|
||||
pnpm test -- src/shared/ui/tests/DataGridShell.spec.ts
|
||||
PASS: 1 file / 2 tests (2026-08-12)
|
||||
|
||||
pnpm typecheck
|
||||
PASS (2026-08-12)
|
||||
```
|
||||
|
||||
No server API, sort/filter event, column-state persistence, visual, AT, or browser E2E evidence is claimed.
|
||||
Reference in New Issue
Block a user