---
id: 0036f
title: View menu accion "Open NodeGroups for selected"
status: done
priority: low
created: 2026-05-04
parent: 0036
depends_on: [0036b, 0036c]
---

## Objetivo

Acción puntual en el menú View que abre/enfoca la NodeGroups window
del nodo seleccionado en el viewport. Sin atajo de teclado por ahora.
No es un toggle de panel (las windows son por entidad, multiples
abiertas simultaneamente).

## Cambios

### `views_toolbar.cpp` (o donde vive el menu View)

Anyadir item:

```
[ ] View
    ...existing items...
    --- Drill-in ---
    Open NodeGroups for selected     (deshabilitado si selected
                                       no es Table ni Group)
```

Comportamiento:
- Si hay un nodo seleccionado con `type_ref == "Table"` o `"Group"`:
  llamar a `node_groups_open(g_app, sql_id, kind)` con kind
  derivado del type_ref. Marcar `focus_request = true`.
- Si la seleccion es de otro tipo o no hay seleccion: item
  deshabilitado con tooltip
  `"Select a Table or Group node first"`.

### Actualizar list de panels en menu

`g_panels[]` array no se toca — NodeGroups no es panel toggleable.

## Acceptance criteria

- Sin nodo seleccionado: item disabled con tooltip explicativo.
- Selected = Url: item disabled con tooltip.
- Selected = Group: click abre window, queda al frente.
- Selected = Table: igual.
- Si la window ya existia abierta: el click la enfoca.
- No hay regresion en otros items del menu View.
- Tests pytest siguen verdes (no requiere tests UI).

## TBD

Branch `issue/0036f-view-menu-open-nodegroups`, merge `--no-ff` a
master.

## Out of scope

- Atajo de teclado (lo dejamos para otra fase si surge friccion).
- Submenu con lista de NodeGroups abiertas (fase 2 si llegan a ser
  muchas).
