Files
graph_explorer/issues/0035d-tableview-drill-in.md
T

2.0 KiB

id, title, status, priority, created, parent, depends_on
id title status priority created parent depends_on
0035d Doble click en Group abre tableview filtrado por group_id done high 2026-05-03 0035
0035a
0035b
0035c

Objetivo

Que el usuario pueda inspeccionar lo que hay dentro de un grupo. Doble click sobre un nodo Group no abre la nota como un nodo normal, sino una vista de tabla con sus hijos, busqueda y filtros.

Cambios

  1. Discriminacion en on_double_click_cb: al recibir el doble click sobre un node_idx, leer su type_ref. Si es Group, en lugar de poblar note_node y abrir el panel Note, setear los triggers para abrir tableview filtrada por group_id == <ese group_id>.
  2. Modo "filter by group" en tableview: el panel ya tiene tabs por type_ref y filtros por columna. Anadir un modo (flag en AppState table_filter_group_id: string) que cuando esta seteado limita las filas a WHERE group_id = ?.
  3. Header con breadcrumb minimo: al abrir tableview por grupo, mostrar arriba Group: <name> con el contador y un boton "Clear group filter" que vuelve al modo libre.
  4. Persistencia (RAM only): el filtro se mantiene mientras el panel esta abierto; al cerrar el panel se limpia. No persistir en la BD del app.

Acceptance criteria

  • Doble click en un nodo Url o Person etc.: abre Note como siempre (no cambio).
  • Doble click en un nodo Group: NO abre Note. Abre Table con todos los hijos cuyo group_id apunta al grupo. La cabecera dice "Group: (N)".
  • Clear group filter: vuelve al tableview general.
  • Busqueda y tabs por tipo dentro del filtro siguen funcionando — el filtro por group_id se compone con los demas.
  • Tests pytest verdes (no requieren tests especificos de UI; basta con que los tests existentes no rompan).

TBD

Branch issue/0035d-tableview-drill-in, merge --no-ff con tests verdes.

Out of scope

  • Promote (sacar nodo del grupo): fase 2.
  • Re-agrupar por tipo desde tableview: fase 2.
  • Layouts internos del grupo expandido en canvas: fase 3.