hotfix: ignore restored telephony filters on first load
This commit is contained in:
parent
415abb058a
commit
aa2aea555d
14
RELEASE_NOTES_v2.2.87.md
Normal file
14
RELEASE_NOTES_v2.2.87.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Release Notes v2.2.87
|
||||
|
||||
Dato: 2026-05-05
|
||||
|
||||
## Hotfix
|
||||
|
||||
- Telefoni: Foerste auto-load ignorerer nu browser-restored filterfelter (dato/user/uden sag).
|
||||
- Dette forhindrer at opkald vises ved load og derefter forsvinder efter ca. 1 sekund.
|
||||
- Filtre aktiveres stadig normalt ved brugerens egen interaktion.
|
||||
|
||||
## Berorte filer
|
||||
|
||||
- `app/modules/telefoni/templates/log.html`
|
||||
- `VERSION`
|
||||
@ -214,6 +214,7 @@ function escapeHtml(str) {
|
||||
let telefoniCurrentUserId = null;
|
||||
let telefoniAutoResetTried = false;
|
||||
let telefoniFirstApiLoadDone = false;
|
||||
let telefoniFiltersArmed = false;
|
||||
const telefoniCallMap = new Map();
|
||||
const linkSagState = {
|
||||
callId: null,
|
||||
@ -862,10 +863,28 @@ async function loadCalls() {
|
||||
const hadServerRows = Number.isFinite(initialCount) && initialCount > 0;
|
||||
tbody.innerHTML = '<tr><td colspan="7" class="text-muted small"><span class="spinner-border spinner-border-sm me-2"></span>Indlæser...</td></tr>';
|
||||
|
||||
const userId = document.getElementById('filterUser').value;
|
||||
const from = document.getElementById('filterFrom').value;
|
||||
const to = document.getElementById('filterTo').value;
|
||||
const withoutCase = document.getElementById('filterWithoutCase').checked;
|
||||
const userEl = document.getElementById('filterUser');
|
||||
const fromEl = document.getElementById('filterFrom');
|
||||
const toEl = document.getElementById('filterTo');
|
||||
const withoutCaseEl = document.getElementById('filterWithoutCase');
|
||||
|
||||
let userId = userEl.value;
|
||||
let from = fromEl.value;
|
||||
let to = toEl.value;
|
||||
let withoutCase = withoutCaseEl.checked;
|
||||
|
||||
// On first automatic load, ignore browser-restored filter values.
|
||||
// Filters are only applied after explicit user interaction.
|
||||
if (!telefoniFiltersArmed) {
|
||||
userId = '';
|
||||
from = '';
|
||||
to = '';
|
||||
withoutCase = false;
|
||||
userEl.value = '';
|
||||
fromEl.value = '';
|
||||
toEl.value = '';
|
||||
withoutCaseEl.checked = false;
|
||||
}
|
||||
|
||||
const qs = new URLSearchParams();
|
||||
if (userId) qs.set('user_id', userId);
|
||||
@ -908,6 +927,9 @@ async function loadCalls() {
|
||||
|
||||
telefoniAutoResetTried = false;
|
||||
telefoniFirstApiLoadDone = true;
|
||||
if (!telefoniFiltersArmed) {
|
||||
telefoniFiltersArmed = true;
|
||||
}
|
||||
|
||||
tbody.innerHTML = rows.map(r => {
|
||||
const started = r.started_at ? new Date(r.started_at) : null;
|
||||
@ -1034,13 +1056,29 @@ document.addEventListener('DOMContentLoaded', async () => {
|
||||
if (toFilter) toFilter.value = '';
|
||||
if (withoutCaseFilter) withoutCaseFilter.checked = false;
|
||||
telefoniAutoResetTried = false;
|
||||
telefoniFiltersArmed = false;
|
||||
|
||||
await loadUsers();
|
||||
document.getElementById('btnRefresh').addEventListener('click', loadCalls);
|
||||
document.getElementById('filterUser').addEventListener('change', loadCalls);
|
||||
document.getElementById('filterFrom').addEventListener('change', loadCalls);
|
||||
document.getElementById('filterTo').addEventListener('change', loadCalls);
|
||||
document.getElementById('filterWithoutCase').addEventListener('change', loadCalls);
|
||||
document.getElementById('btnRefresh').addEventListener('click', () => {
|
||||
telefoniFiltersArmed = true;
|
||||
loadCalls();
|
||||
});
|
||||
document.getElementById('filterUser').addEventListener('change', () => {
|
||||
telefoniFiltersArmed = true;
|
||||
loadCalls();
|
||||
});
|
||||
document.getElementById('filterFrom').addEventListener('change', () => {
|
||||
telefoniFiltersArmed = true;
|
||||
loadCalls();
|
||||
});
|
||||
document.getElementById('filterTo').addEventListener('change', () => {
|
||||
telefoniFiltersArmed = true;
|
||||
loadCalls();
|
||||
});
|
||||
document.getElementById('filterWithoutCase').addEventListener('change', () => {
|
||||
telefoniFiltersArmed = true;
|
||||
loadCalls();
|
||||
});
|
||||
await loadCalls();
|
||||
});
|
||||
</script>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user