--- id: 0035d title: Doble click en Group abre tableview filtrado por group_id status: done priority: high created: 2026-05-03 parent: 0035 depends_on: [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 == `. 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: ` 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.