Keep local file selection in applyState across all recounting dashboards

This commit is contained in:
proitlab committed 2026-08-05 01:10:00 +07:00
1 parent 5df224116d
commit 99e126de1b
3 files changed
+12 -33

No files matched your search

+3 -19
View File
@@ -471,29 +471,13 @@ async function syncState() {
function applyState(data) {
if (!data) return;
if (data.file) {
selectedFile = data.file;
document.getElementById('btn-start').disabled = data.streaming;
document.getElementById('btn-download').disabled = false;
} else {
selectedFile = null;
batchResultLoaded = false;
document.getElementById('btn-start').disabled = true;
document.getElementById('btn-download').disabled = true;
document.getElementById('live-title').innerHTML = '◉ Live Counter';
document.getElementById('live-count').textContent = '--';
document.getElementById('live-label').textContent = 'Objects Counted';
document.getElementById('live-batch').textContent = '--';
document.getElementById('live-time').textContent = '--';
document.getElementById('live-status').textContent = 'no file selected';
document.getElementById('live-status').className = 'counter-status disconnected';
}
if (data.streaming && data.file) {
streaming = true;
streamUrl = data.stream_url;
selectedFile = data.file;
document.getElementById('btn-stop').disabled = false;
document.getElementById('btn-start').disabled = true;
document.getElementById('btn-download').disabled = false;
document.getElementById('btn-start').textContent = 'STREAMING';
document.getElementById('btn-start').classList.add('btn-ghost');
document.getElementById('video-status').innerHTML =
@@ -501,7 +485,7 @@ function applyState(data) {
document.getElementById('video-status').className = 'video-status connected';
loadBatchResult(data.file);
} else if (!data.streaming && data.file) {
} else if (data.file && selectedFile === data.file) {
loadBatchResult(data.file);
}
}
+3 -7
View File
@@ -393,17 +393,13 @@ async function syncState() {
function applyState(data) {
if (!data) return;
if (data.file) {
selectedFile = data.file;
document.getElementById('btn-start').disabled = data.streaming;
document.getElementById('btn-download').disabled = false;
}
if (data.streaming && data.file) {
streaming = true;
streamUrl = data.stream_url;
selectedFile = data.file;
document.getElementById('btn-stop').disabled = false;
document.getElementById('btn-start').disabled = true;
document.getElementById('btn-download').disabled = false;
document.getElementById('btn-start').textContent = 'STREAMING';
document.getElementById('btn-start').classList.add('btn-ghost');
document.getElementById('video-status').innerHTML =
@@ -411,7 +407,7 @@ function applyState(data) {
document.getElementById('video-status').className = 'video-status connected';
loadBatchResult(data.file);
} else if (!data.streaming && data.file) {
} else if (data.file && selectedFile === data.file) {
loadBatchResult(data.file);
}
}
+6 -7
View File
@@ -873,24 +873,23 @@ async function syncState() {
function applyState(data) {
if (!data) return;
if (data.file) {
selectedFile = data.file;
document.getElementById('btn-start').disabled = data.streaming;
document.getElementById('btn-download').disabled = false;
document.getElementById('btn-delete').disabled = false;
}
if (data.streaming && data.file) {
streaming = true;
streamUrl = data.stream_url;
selectedFile = data.file;
document.getElementById('btn-stop').disabled = false;
document.getElementById('btn-start').disabled = true;
document.getElementById('btn-download').disabled = false;
document.getElementById('btn-delete').disabled = false;
document.getElementById('btn-start').textContent = 'STREAMING';
document.getElementById('btn-start').classList.add('btn-ghost');
document.getElementById('video-status').innerHTML =
'<span style="width:6px;height:6px;border-radius:50%;background:var(--accent4);box-shadow:0 0 6px var(--accent4);animation:blink 1.5s ease-in-out infinite;"></span> streaming ' + (data.file_name || '');
document.getElementById('video-status').className = 'video-status connected';
loadBatchResult(data.file);
} else if (!data.streaming && data.file) {
} else if (data.file && selectedFile === data.file) {
loadBatchResult(data.file);
}
}