fix: skip auto-loadCalls when SSR already rendered telefoni rows

This commit is contained in:
Christian 2026-05-05 00:22:02 +02:00
parent aa2aea555d
commit e4e35a1285
2 changed files with 21 additions and 22 deletions

View File

@ -1 +1 @@
2.2.87 2.2.88

View File

@ -1046,39 +1046,38 @@ async function unlinkCase(callId) {
document.addEventListener('DOMContentLoaded', async () => { document.addEventListener('DOMContentLoaded', async () => {
initLinkContactModalEvents(); initLinkContactModalEvents();
initLinkSagModalEvents(); initLinkSagModalEvents();
const userFilter = document.getElementById('filterUser'); const userFilter = document.getElementById('filterUser');
const fromFilter = document.getElementById('filterFrom'); const fromFilter = document.getElementById('filterFrom');
const toFilter = document.getElementById('filterTo'); const toFilter = document.getElementById('filterTo');
const withoutCaseFilter = document.getElementById('filterWithoutCase'); const withoutCaseFilter = document.getElementById('filterWithoutCase');
const tbody = document.getElementById('telefoniRows');
const ssrCount = Number(tbody?.dataset?.initialCount || '0');
if (userFilter) userFilter.value = ''; if (userFilter) userFilter.value = '';
if (fromFilter) fromFilter.value = ''; if (fromFilter) fromFilter.value = '';
if (toFilter) toFilter.value = ''; if (toFilter) toFilter.value = '';
if (withoutCaseFilter) withoutCaseFilter.checked = false; if (withoutCaseFilter) withoutCaseFilter.checked = false;
telefoniAutoResetTried = false; telefoniAutoResetTried = false;
telefoniFiltersArmed = false; // Filters are already cleared above so we can arm immediately.
telefoniFiltersArmed = true;
await loadUsers(); await loadUsers();
document.getElementById('btnRefresh').addEventListener('click', () => {
telefoniFiltersArmed = true; document.getElementById('btnRefresh').addEventListener('click', () => loadCalls());
loadCalls(); document.getElementById('filterUser').addEventListener('change', () => loadCalls());
}); document.getElementById('filterFrom').addEventListener('change', () => loadCalls());
document.getElementById('filterUser').addEventListener('change', () => { document.getElementById('filterTo').addEventListener('change', () => loadCalls());
telefoniFiltersArmed = true; document.getElementById('filterWithoutCase').addEventListener('change', () => loadCalls());
loadCalls();
}); if (ssrCount > 0) {
document.getElementById('filterFrom').addEventListener('change', () => { // SSR already rendered rows - no need for an extra API round-trip.
telefoniFiltersArmed = true; // loadCalls() will fire when the user interacts with filters or Refresh.
loadCalls(); telefoniFirstApiLoadDone = true;
}); return;
document.getElementById('filterTo').addEventListener('change', () => { }
telefoniFiltersArmed = true;
loadCalls(); // SSR produced no rows (DB error or truly empty) - load via JS.
});
document.getElementById('filterWithoutCase').addEventListener('change', () => {
telefoniFiltersArmed = true;
loadCalls();
});
await loadCalls(); await loadCalls();
}); });
</script> </script>