Modularización del archivo principal (1367 LOC → 468 LOC): - drawing.zig (495 LOC): FilterBar, Header, Rows, Footer, Scrollbars - input.zig (232 LOC): Keyboard, MouseClick, helpers Archivos sin cambios: state.zig (847 LOC - candidato futuro)
2.4 KiB
2.4 KiB
PLAN: Modularización de virtual_advanced_table.zig
Fecha: 2025-12-29 Estado: En progreso
Objetivo
Dividir virtual_advanced_table.zig (1367 LOC) en módulos más pequeños.
Estado Actual
virtual_advanced_table/
├── cell_editor.zig # 179 LOC ✓
├── data_provider.zig # 296 LOC ✓
├── paged_datasource.zig # 188 LOC ✓
├── state.zig # 847 LOC (revisar después)
├── types.zig # 242 LOC ✓
└── virtual_advanced_table.zig # 1367 LOC ⚠️ DIVIDIR
Estructura Final
virtual_advanced_table/
├── cell_editor.zig # 179 LOC (sin cambios)
├── data_provider.zig # 296 LOC (sin cambios)
├── paged_datasource.zig # 188 LOC (sin cambios)
├── state.zig # 847 LOC (sin cambios por ahora)
├── types.zig # 242 LOC (sin cambios)
├── drawing.zig # ~400 LOC (NUEVO)
├── input.zig # ~200 LOC (NUEVO)
└── virtual_advanced_table.zig # ~500 LOC (reducido)
Mapeo de Funciones
→ drawing.zig (~400 LOC)
| Función | Líneas orig | Descripción |
|---|---|---|
| drawFilterBar | 604-830 | Barra de filtro superior |
| drawHeaderAt | 836-911 | Cabecera de tabla |
| drawRows | 917-1008 | Filas de datos |
| drawFooter | 1014-1056 | Pie de tabla |
| drawScrollbar | 1062-1087 | Scrollbar vertical |
| drawScrollbarH | 1093-1120 | Scrollbar horizontal |
→ input.zig (~200 LOC)
| Función | Líneas orig | Descripción |
|---|---|---|
| handleKeyboard | 1169-1273 | Manejo de teclado |
| handleMouseClick | 1279-1345 | Manejo de clicks |
| ensureColumnVisible | 1127-1160 | Scroll a columna |
| needsRefetch | 577-598 | Detectar necesidad de refetch |
→ virtual_advanced_table.zig (reducido)
- VirtualAdvancedTableResult struct
- virtualAdvancedTable() (API pública)
- virtualAdvancedTableRect() (orquestación)
Fases
- FASE 1: Extraer drawing.zig
- FASE 2: Extraer input.zig
- FASE 3: Actualizar imports en virtual_advanced_table.zig
- FASE 4: Verificar compilación
- FASE 5: Commit y push
Historial
| Fecha | Hora | Acción | Estado |
|---|---|---|---|
| 2025-12-29 | ~02:30 | Plan creado | En progreso |