Skip to content

feat(masters): prev/next navigation (DocPager) on master detail pages - #9

Merged
jcfrei merged 1 commit into
masterfrom
feat/master-pager
Jul 28, 2026
Merged

feat(masters): prev/next navigation (DocPager) on master detail pages#9
jcfrei merged 1 commit into
masterfrom
feat/master-pager

Conversation

@jcfrei

@jcfrei jcfrei commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Masters (Customer / Supplier / Item / Warehouse / Company + plugin-registered ones) get the same ‹ / › + keyboard navigation documents got in 0.6.4.

  • GET /masters/{type}/{name}/adjacent — keyset prev/next in the list's order (name ASC); include_disabled defaults true to step 1:1 with the list (which shows disabled rows).
  • DocPager kind="master" — same component, /masters paths, own master:{type} list-context namespace; master list stashes its URL so Esc/u returns to the exact page.
  • Wired into the master form header next to the always-visible Save/Delete row.
  • Fix: master list endpoint had no ORDER BY — Postgres OFFSET pagination could repeat/skip rows. Now ORDER BY name.
  • Tests: masters section in tests/test_adjacent.py (middle/ends, disabled parity, list order, 404).

🤖 Generated with Claude Code

DocPager gains kind="master": pages through /masters/{type} in the list's
order via a new GET /masters/{type}/{name}/adjacent keyset endpoint (name
ASC, include_disabled defaults true for 1:1 stepping with the list). The
master list stashes its URL in a master:{type} context so Esc/u returns to
the exact page. Also gives the master list endpoint a deterministic ORDER BY
name — it had none, so Postgres OFFSET pagination could repeat/skip rows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jcfrei
jcfrei merged commit 804c998 into master Jul 28, 2026
1 check passed
@jcfrei
jcfrei deleted the feat/master-pager branch July 28, 2026 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant