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 |
|
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_idapp.table_filter_group_name
Eliminar logica del Table panel generico (views.cpp::views_table)
- El bloque del breadcrumb amarillo
Group: <name> (N)+ botonClear group filter. - El filtro
r.group_id != app.table_filter_group_idenbuild_visible. - La restriccion de
types_presentcuando 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).