Files
windmill/frontend/src/lib/components
a7112ccffc feat: add right-click context menu to ObjectViewer (#8181)
* feat: add right-click context menu to ObjectViewer

Add a contextual menu to ObjectViewer.svelte that appears on right-click
with three actions:
- Copy value: copies the field's value to clipboard
- Copy object key: copies the property key name
- Copy entire object: copies the parent object as JSON

Uses setContext/getContext to share the context menu handler across
recursive ObjectViewer instances, rendering a single menu at the root
level via Portal. Reuses existing contextMenuStyles for visual consistency.

Closes #8177

Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>

* Fix popover closing

* Use existing ContextMenuItem patterns

* hover style

* close contextmenu on pointerdown outside

* try catch for circular objects

* Fix copying undefined not working

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: windmill-internal-app[bot] <windmill-internal-app[bot]@users.noreply.github.com>
Co-authored-by: Diego Imbert <diego@windmill.dev>
Co-authored-by: Diego Imbert <70353967+diegoimbert@users.noreply.github.com>
2026-03-02 16:03:06 +00:00
..
2026-02-26 17:41:59 +00:00
2025-09-11 07:57:01 +00:00
2026-02-19 09:33:33 +00:00
2026-02-18 16:18:56 +00:00
2026-02-19 06:50:28 +00:00
2025-12-23 18:19:30 +00:00
2025-12-05 23:08:58 +00:00
2026-01-22 16:20:01 +00:00
2026-01-22 16:20:01 +00:00
2025-10-30 06:47:26 +00:00
2025-10-28 17:52:04 +00:00
2026-01-20 21:12:38 +00:00
2026-01-22 16:20:01 +00:00
2026-01-22 16:20:01 +00:00
2025-12-16 21:16:42 +00:00
2026-02-17 12:48:58 +00:00
2025-11-04 19:13:09 +00:00
2025-11-12 13:39:32 +00:00
2025-11-29 01:23:47 +00:00
2026-02-13 00:00:36 +00:00
2025-09-11 06:58:39 +00:00
2025-11-27 06:41:20 +00:00
2025-11-04 19:13:09 +00:00
2026-02-17 12:48:58 +00:00
2026-02-17 12:48:58 +00:00
2026-02-11 06:27:21 +00:00
2026-02-19 06:50:28 +00:00
2026-02-19 09:33:33 +00:00
2026-01-22 16:20:01 +00:00
2025-11-29 01:23:47 +00:00
2026-02-19 09:33:33 +00:00
2026-02-19 06:50:28 +00:00
2026-02-19 09:33:33 +00:00
2025-10-27 15:46:28 +00:00
2025-12-27 12:35:19 +00:00
2026-02-17 16:32:52 +00:00