PUI-28 feat(table): two-level tree and click-to-place moves in DataTable and Index #107
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/PUI-28-implement-manual-order-and-nesting-in-index"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the Ordered, nested Index Goal per ADR 0011 (#106). Releases a minor version:
afa93b0is afeattouchingpackages/ui, with its entry under## Unreleasedinpackages/ui/CHANGELOG.md.Library (
afa93b0)DataTable:parentKeyturns rows into a two-level tree; typed columnslevel(hierarchy, other columns stay aligned) andmove(click-to-place). Placing state with labelled destination buttons, a ghost preview of the row on hover or focus, Escape/Cancel, focus return, live-region announcements. Emitsmoveas an intent and never reordersrows.Index/useIndexQuery:loadTreeserves the index at rest, pagination hides there, flat list otherwise.moveasync prop with optimistic apply, rollback and error Alert, reload on success.canMove,canParent,rowLabel,moveLabels.utils/tree:treeItems,moveTo,applyMove, default labels.Tablegains anafterslot.tests/tree.test.ts(8) and aloadTreelifecycle test. Audits updated.Playground and Storybook (
cb08c99)parent_id; the Pages index is the menu editor; fixture API has a tree and a move operation (Contact refuses children, stale order detected). Removes the PUI-26 prototype.DataTableTree story.Verified: lint, format check, package typecheck, example type-check, 171 tests,
build:vue; in Chrome on the playground: tree at rest, placing, ghost preview, a saved move surviving reload, a rejected move rolling back with the Alert, keyboard focus return, search falling back to the flat paginated list, light and dark theme. Not verified: the Storybook story in a browser, a real screen reader, touch.Refs: PUI-28