Files
graph_explorer/issues/0036f-view-menu-open-nodegroups.md
T
egutierrez f6f53b60c3 feat(0036f): view menu accion 'Open NodeGroups for selected'
Anyade un item al menu View del framework via el nuevo callback
AppConfig.view_extras. El item:
- Esta enabled solo si la seleccion del viewport (o, en su defecto,
  el inspector) apunta a un nodo con type_ref Table o Group.
- Click → resuelve sql_id via entity_index_lookup, deriva
  NodeGroupsKind del type_ref y llama
  views_node_groups_open(g_app, sql_id, kind, ops_db). La API
  marca focus_request=true (cubierto por 0036c), de modo que la
  window emerge al frente si ya existia.
- Disabled → tooltip 'Select a Table or Group node first' (mostrado
  con AllowWhenDisabled).

Sin atajo de teclado (descartado por el usuario).
Sin submenu de windows abiertas (fase 2).

Refs: issues/0036f-view-menu-open-nodegroups.md
2026-05-04 01:12:58 +02:00

1.7 KiB

id, title, status, priority, created, parent, depends_on
id title status priority created parent depends_on
0036f View menu accion "Open NodeGroups for selected" done low 2026-05-04 0036
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).