Skip to content

feat(web): item-header Graph button + dependency-graph drawer (TASK-1784) - #721

Merged
xarmian merged 1 commit into
mainfrom
feat/graph-drawer
Jun 8, 2026
Merged

feat(web): item-header Graph button + dependency-graph drawer (TASK-1784)#721
xarmian merged 1 commit into
mainfrom
feat/graph-drawer

Conversation

@xarmian

@xarmian xarmian commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Wires the 2D ItemGraph renderer (TASK-1783) into the item detail page, making the per-item dependency graph reachable.

  • New 🕸 Graph action button in the item header (rendered only when the item has an issue ref) opens a right-docked drawer overlay (full-screen on narrow viewports) hosting ItemGraph, focused on the current item.
  • The renderer is dynamically imported on first open, so it and its dagre layout lib stay out of the item-page bundle.
  • Dismiss via backdrop click, Close button, or Escape (the key listener is only attached while the drawer is open). Loading and error/retry states handled.
  • Opening a node navigates to that item via /{user}/{ws}/{collection}/{ref}. ItemGraph.onOpenItem now passes the node's collection (backward-compatible second arg) so the URL is correct without a lookup.

Context

Implements TASK-1784 under PLAN-1780. Mounts the renderer from #720; depends on the client (#719) and backend (#718). Live SSE (TASK-1785) and deep-linking (TASK-1786) build on this drawer next.

Test plan

  • cd web && npm run check — 0 errors (preexisting unrelated warnings only)
  • cd web && npm run build — clean
  • [n/a] go tests — no Go changes

…784)

Wire the 2D ItemGraph renderer into the item detail page:

- New "🕸 Graph" action button in the item header (shown when the item has
  an issue ref) opens a right-docked drawer overlay (full-screen on narrow
  viewports) hosting ItemGraph, focused on the current item.
- The renderer is dynamically imported on first open, so it (and its dagre
  layout lib) stay out of the item-page bundle.
- Backdrop click, Close button, and Escape all dismiss; the ESC listener is
  only attached while the drawer is open.
- Clicking a node's open action navigates to that item, building the
  /{user}/{ws}/{collection}/{ref} URL — ItemGraph.onOpenItem now passes the
  node's collection so the URL is correct without a lookup.

Parent: PLAN-1780.
@xarmian
xarmian merged commit 4bd048c into main Jun 8, 2026
4 checks passed
@xarmian
xarmian deleted the feat/graph-drawer branch June 8, 2026 22:42
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