feat(nakui): Fase 4 del ERP — listas profesionales (orden/búsqueda/página)

Las vistas de lista de meta-form ganan: orden por columna (clic en
header cicla asc→desc→off con indicador ▲/▼), búsqueda en vivo (caja 🔍
que filtra por search_in mientras se teclea, vía cx.observe del
TextInput) y paginación (25/página, controles ◀▶). Sin cambios de
schema: son estado del widget. Helpers puros cmp_values (meta-runtime)
y next_sort con tests.

Tests verdes (meta-runtime 63, meta-form 8); clippy limpio.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 19:20:15 +00:00
parent 6588d0ed6c
commit ab1cf9998a
5 changed files with 298 additions and 47 deletions
+17
View File
@@ -2,6 +2,23 @@
Motor GPUI: libs + widgets. Renombrado de `yahweh` el 2026-05-19.
### feat(meta-form): listas profesionales — orden, búsqueda, paginación
Fase 4 del ERP nakui. Las vistas de lista de `meta-form` ganan:
- **Orden por columna** — clic en un header cicla ascendente →
descendente → sin orden (indicador ▲/▼). Comparación de valores con
`cmp_values` (nuevo en `meta-runtime`): números por valor, strings
case-insensitive, `null` primero.
- **Búsqueda en vivo** — caja 🔍 que filtra por substring contra las
columnas de `search_in` mientras se teclea (vía `cx.observe` del
`TextInput`). `search_in` ya existía en el schema; ahora se renderiza.
- **Paginación** — 25 filas por página, controles ◀ ▶ y «página N/M».
Sin cambios de schema: orden y página son estado del widget, se
reinician al navegar. Helpers puros `cmp_values` y `next_sort` con
tests.
### feat(meta-*): ficha de detalle (Fase 3 del ERP nakui)
La metainterfaz gana una tercera clase de vista:
+7 -3
View File
@@ -69,11 +69,15 @@ puro) → `meta-form` (render) → módulos de ejemplo + tests.
back-references por `via_field`.
- **Resultado**: navegación de ERP — lista → ficha → relacionados.
### Fase 4 · Listas profesionales
### Fase 4 · Listas profesionales — HECHA
- Orden por columna (clic en header), filtros por columna, paginación.
- Columnas computadas / agregadas.
- Orden por columna: clic en el header cicla ascendente → descendente →
sin orden, con indicador ▲/▼.
- Búsqueda en vivo: caja que filtra por substring contra las columnas
de `search_in` mientras se teclea.
- Paginación: 25 filas por página, controles ◀ ▶ y «página N/M».
- **Resultado**: listas usables con cientos/miles de registros.
- Pendiente menor (a futuro): filtros por columna, columnas computadas.
### Fase 5 · Tablero y KPIs