5d4315fae7f4393c4271e1773822f08d2241f610
La insignia con la cantidad de exámenes solo se refrescaba desde los callbacks onItemAdd/onItemRemove de TomSelect, y hay cuatro rutas que manipulan la selección por código sin dispararlos: - Importar desde RIPS usa addItem(id, true) —silencioso a propósito, para no recalcular precios en cada examen—, así que la insignia quedaba en cero aunque se hubieran cargado varios. - El botón "Limpiar selección", toggleSoloMuestras y resetCheckboxes usan clear(), que internamente quita los ítems en modo silencioso: la insignia conservaba el número anterior. Al revisarlo apareció un segundo efecto en toggleSoloMuestras: limpiaba los exámenes sin recalcular, dejando el panel de precios mostrando exámenes que ya no estaban seleccionados. Se agrega limpiarExamenes(), que limpia y sincroniza contador y precios, y se usa en las tres rutas de limpieza; la carga desde RIPS actualiza el contador una vez al terminar, conservando el modo silencioso por examen. Validado con node sobre un doble de TomSelect que replica el comportamiento silencioso: los cuatro escenarios pasan. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
5.8 MiB
Languages
PHP
84.8%
JavaScript
6.4%
HTML
5.9%
Shell
1.4%
CSS
0.9%
Other
0.5%