Files
graph_explorer/issues/0036c-double-click-group-opens-nodegroups.md

2.6 KiB

id, title, status, priority, created, parent, depends_on
id title status priority created parent depends_on
0036c Doble click en Group abre/centra NodeGroups + cleanup del Table panel filter done high 2026-05-04 0036
0036a
0036b

Objetivo

Cambiar el dispatch del doble click sobre un nodo Group: en lugar de filtrar el panel Table generico (logica de 0035d), abre/enfoca la NodeGroups window correspondiente al Group. Eliminar el filtro group_id del Table panel para evitar confusion.

Cambios

on_double_click_cb en main.cpp

Hoy hay un branch que detecta type_ref == "Group" y setea g_app.table_filter_group_id. Reemplazar:

if (type_ref == "Group") {
    ge::node_groups_open(g_app, sql_id, NodeGroupsKind::Group);
    // marcar focus_request en la window devuelta
}

Anyadir branch para type_ref == "Table" que use kind=Table (igual que el flow del menu "Open NodeGroups" actual). Nota: hoy Table se abre desde el menu contextual, no desde doble click. Mantener el context menu igual; el doble click es nuevo flujo paralelo.

Eliminar campos AppState ya inutiles

  • app.table_filter_group_id
  • app.table_filter_group_name

Eliminar logica del Table panel generico (views.cpp::views_table)

  • El bloque del breadcrumb amarillo Group: <name> (N) + boton Clear group filter.
  • El filtro r.group_id != app.table_filter_group_id en build_visible.
  • La restriccion de types_present cuando hay filtro activo.
  • El reset del filtro al cerrar el panel (if (!panel_table) ...).

El Table panel queda como antes de 0035d: lista de entidades del grafo, tabs por tipo, search, column filters. Sin drill-in.

focus_request en NodeGroupsWindowState

Para centrar la window al abrirla. Si ya estaba abierta, debe recibir ImGui::SetWindowFocus("NodeGroups: <name>") el frame siguiente. Implementacion: bool focus_request en el state, que el render consume.

Acceptance criteria

  • Doble click en un Url normal: abre Note como hoy (sin regresion).
  • Doble click en un Group: abre NodeGroups window con sus hijos (los N-K agrupados, no los preview sueltos), titulo NodeGroups: <group_name>, y la window queda al frente.
  • Si ya estaba abierta, vuelve a centrarse.
  • El Table panel generico ya no tiene breadcrumb ni filtro group_id. Si lo abres, ves todas las entidades del grafo (incluyendo las que estan dentro de grupos — el render filter del canvas las oculta, pero la lista del Table panel las muestra todas).
  • Tests pytest verdes.

TBD

Branch issue/0036c-doubleclick-group-opens-nodegroups, merge --no-ff a master.

Out of scope

  • Promote en NodeGroups (es 0036d).
  • Row click focus (0036e).
  • View menu accion (0036f).