diff --git a/public/userarea/gridFilter.js b/public/userarea/gridFilter.js index b6774a9..389a194 100644 --- a/public/userarea/gridFilter.js +++ b/public/userarea/gridFilter.js @@ -390,15 +390,24 @@ }); } + // ── Ripristina stato filtri dopo un re-render (checkbox + restrizione) ── + function restoreFilterState() { + if (!filtersActive) return; + injectCheckboxes(); + applyVisibility(); // ri-applica sia filtri colonna sia restringi selezione + } + // ── Re-inietta dopo ogni re-render della griglia ── function hookRerender() { const orig = R().renderVisibleRows; R().renderVisibleRows = function () { - orig.apply(this, arguments); - if (filtersActive) { - injectCheckboxes(); - applyVisibility(); - } + const ret = orig.apply(this, arguments); + // sincrono + restoreFilterState(); + // e di nuovo dopo il tick, per coprire re-render dentro .then() async + setTimeout(restoreFilterState, 0); + setTimeout(restoreFilterState, 50); + return ret; }; }