fc4f0824da
Plumbing para issue 0035 — agrupacion de resultados de enrichers cuando exceden umbral. Sin cambios visibles para el usuario todavia. - Migracion idempotente: ALTER TABLE entities ADD COLUMN group_id si no existe (detectado via PRAGMA table_info). Se ejecuta al abrir el proyecto en switch_to_project y en el bootstrap inicial. - Tipo Group en examples/types.yaml (template) y en el types.yaml del proyecto default activo en Windows. - shape=square (regla en types_registry.cpp extendida a Group), color=#94A3B8, icon=ti-stack-2. - Fields: name (req), count (int), enricher (string), batch_id (string). Refs: issues/0035a-group-type-and-schema.md
2.0 KiB
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 | pending | high | 2026-05-03 | 0035 |
|
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
- Discriminacion en
on_double_click_cb: al recibir el doble click sobre un node_idx, leer sutype_ref. Si esGroup, en lugar de poblarnote_nodey abrir el panel Note, setear los triggers para abrir tableview filtrada porgroup_id == <ese group_id>. - 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 aWHERE group_id = ?. - 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. - 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
UrloPersonetc.: abre Note como siempre (no cambio). - Doble click en un nodo
Group: NO abre Note. Abre Table con todos los hijos cuyogroup_idapunta 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.