ui: show latest collect branch/eta message instead of generic running text
This commit is contained in:
@@ -281,7 +281,6 @@ function pollCollectionJobStatus() {
|
|||||||
renderCollectionJob();
|
renderCollectionJob();
|
||||||
}
|
}
|
||||||
} else if (prevStatus !== collectionJob.status && collectionJob.status === 'running') {
|
} else if (prevStatus !== collectionJob.status && collectionJob.status === 'running') {
|
||||||
appendJobLog('Сбор выполняется...');
|
|
||||||
renderCollectionJob();
|
renderCollectionJob();
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -359,7 +358,7 @@ function renderCollectionJob() {
|
|||||||
}[collectionJob.status];
|
}[collectionJob.status];
|
||||||
const progressLabel = isTerminal
|
const progressLabel = isTerminal
|
||||||
? terminalMessage
|
? terminalMessage
|
||||||
: 'Сбор данных...';
|
: latestCollectionActivityMessage();
|
||||||
progressValue.textContent = `${collectionJob.progress}% · ${progressLabel}`;
|
progressValue.textContent = `${collectionJob.progress}% · ${progressLabel}`;
|
||||||
|
|
||||||
logsList.innerHTML = collectionJob.logs.map((log) => (
|
logsList.innerHTML = collectionJob.logs.map((log) => (
|
||||||
@@ -370,6 +369,19 @@ function renderCollectionJob() {
|
|||||||
setApiFormBlocked(!isTerminal);
|
setApiFormBlocked(!isTerminal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function latestCollectionActivityMessage() {
|
||||||
|
if (!collectionJob || !Array.isArray(collectionJob.logs) || collectionJob.logs.length === 0) {
|
||||||
|
return 'Сбор данных...';
|
||||||
|
}
|
||||||
|
const last = String(collectionJob.logs[collectionJob.logs.length - 1].message || '').trim();
|
||||||
|
if (!last) {
|
||||||
|
return 'Сбор данных...';
|
||||||
|
}
|
||||||
|
// Job logs already contain server timestamp prefix. Show concise step text in progress label.
|
||||||
|
const cleaned = last.replace(/^\d{4}-\d{2}-\d{2}T[^\s]+\s+/, '').trim();
|
||||||
|
return cleaned || 'Сбор данных...';
|
||||||
|
}
|
||||||
|
|
||||||
function isCollectionJobTerminal(status) {
|
function isCollectionJobTerminal(status) {
|
||||||
return ['success', 'failed', 'canceled'].includes(normalizeJobStatus(status));
|
return ['success', 'failed', 'canceled'].includes(normalizeJobStatus(status));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user