Skip to content

feat: find/replace in JSON result and document views - #2

Merged
digitalysin merged 1 commit into
digitalysin:mainfrom
hanyrenando:feature/renanrequest
Sep 17, 2026
Merged

digitalysin merged 1 commit into
digitalysin:mainfrom
hanyrenando:feature/renanrequest

Conversation

@hanyrenando

Copy link
Copy Markdown
Contributor

Summary

  • Adds a find/replace bar to the JSON result view and the row inspector's "View document JSON" modal, backed by CodeMirror instead of a plain <pre>.
  • Controls: find field with live match count, next/previous cycling, a match-case toggle, and replace/replace-all. Edits stay local to the viewer's buffer only — these are read-only surfaces, so nothing writes back to the collection.
  • Pins the project to Node 22.12.0 via Volta so npm install resolves the correct native optional-dependency binaries on the first pass.

Test plan

  • npm run typecheck passes
  • npm run ui-check passes end-to-end against a real mongod, including new steps that open the find bar, search, cycle matches, toggle match case, and replace-all in both the JSON result view and the document inspector modal
  • Manually verified in the packaged app: match highlighting renders correctly, Replace All updates the buffer as expected

🤖 Generated with Claude Code

Reading a large result set or a deeply nested document as pretty JSON
had no way to locate a value except scrolling and eyeballing it.
Backs the JSON result view and the row inspector's "View document
JSON" modal with CodeMirror instead of a plain <pre>, adding a find
bar with next/previous cycling, a match-case toggle, and replace/
replace-all. Edits stay local to the viewer's buffer only — these are
read-only surfaces, so nothing is written back to the collection.

CodeMirror only highlights matches while its own search state is
"open", so the component opens that panel and hides it with CSS in
favour of its own bar, refocusing the visible find field.

Pin the project to Node 22.12.0 via Volta so `npm install` resolves
the correct native optional-dependency binaries on the first pass.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@digitalysin
digitalysin merged commit 5720fdb into digitalysin:main Sep 17, 2026
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.

2 participants