Feature: Auto-agregar clases a filas especiales de tablas APU

PROBLEMA (Issue #132):
- Tablas .desglose no tienen clases en filas <tr>
- WordPress no preserva clases: section-header, subtotal-row, total-row
- Resultado: Todas las filas se ven iguales (sin estilos especiales)

SOLUCIÓN:
- Script JavaScript que detecta y agrega clases automáticamente
- Detecta por contenido de texto:
  - "Material", "Mano de Obra", etc. → section-header
  - "Suma de..." → subtotal-row
  - "Costo Directo" → total-row

FUNCIONAMIENTO:
1. Script se ejecuta cuando DOM está listo
2. Busca tablas .desglose y .analisis
3. Lee 2da celda de cada fila <tr>
4. Agrega clase según el texto
5. CSS aplica estilos automáticamente

ARCHIVOS:
- NUEVO: assets/js/apu-tables-auto-class.js (99 líneas)
  - Script con detección inteligente de filas
  - Soporta mayúsculas/minúsculas
  - Log para debugging

- MODIFICADO: inc/enqueue-scripts.php (+24 líneas)
  - Nueva función: apus_enqueue_apu_tables_autoclass_script()
  - Carga en footer con strategy defer
  - Prioridad 15 (después de CSS)

BENEFICIOS:
 Funciona con contenido existente (no requiere edición manual)
 Automático para todos los posts nuevos
 Sin errores si clases ya existen
 Performance: solo procesa si hay tablas APU

Issue: #132

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
FrankZamora
2025-11-08 15:12:59 -06:00
parent 2cb1e1e3f0
commit a765dcee9b
2 changed files with 123 additions and 0 deletions

View File

@@ -479,6 +479,30 @@ function apus_enqueue_apu_tables_styles() {
add_action('wp_enqueue_scripts', 'apus_enqueue_apu_tables_styles', 15);
/**
* Enqueue APU Tables auto-class JavaScript
*
* Este script detecta automáticamente filas especiales en tablas .desglose y .analisis
* y les agrega las clases CSS correspondientes (section-header, subtotal-row, total-row)
*
* Issue #132
*/
function apus_enqueue_apu_tables_autoclass_script() {
// APU Tables Auto-Class JS
wp_enqueue_script(
'apus-apu-tables-autoclass',
get_template_directory_uri() . '/assets/js/apu-tables-auto-class.js',
array(),
APUS_VERSION,
array(
'in_footer' => true,
'strategy' => 'defer',
)
);
}
add_action('wp_enqueue_scripts', 'apus_enqueue_apu_tables_autoclass_script', 15);
/**
* Enqueue CTA A/B Testing styles and scripts
*/