v1.0.177: блокировка ВСЕХ кнопок сравнения пока идёт процесс
This commit is contained in:
+9
-1
@@ -461,6 +461,8 @@ window.runCompareForGroup = async function(gi, btn) {
|
||||
|
||||
btn.disabled = true;
|
||||
btn.innerHTML = '<span class="spinner"></span> Применяю...';
|
||||
// Заблокировать ВСЕ кнопки сравнения пока идёт процесс
|
||||
document.querySelectorAll('.cmp-btn').forEach(function(b) { b.disabled = true; });
|
||||
|
||||
var ar = await fetch(VM_API + '/api/apply-groups', {
|
||||
method: 'POST',
|
||||
@@ -469,7 +471,9 @@ window.runCompareForGroup = async function(gi, btn) {
|
||||
});
|
||||
var ad = await ar.json();
|
||||
if (!ad.ok || !ad.contract_ids || !ad.contract_ids.length) {
|
||||
btn.innerHTML = '✗ ошибка'; btn.disabled = false; return;
|
||||
btn.innerHTML = '✗ ошибка'; btn.disabled = false;
|
||||
document.querySelectorAll('.cmp-btn').forEach(function(b) { b.disabled = false; });
|
||||
return;
|
||||
}
|
||||
|
||||
var cid = ad.contract_ids[0];
|
||||
@@ -543,6 +547,8 @@ window.runCompareForGroup = async function(gi, btn) {
|
||||
span.textContent = '✓ Готово (' + d.total_time_s + 'с)';
|
||||
span.style.cssText = 'display:inline-block;margin-top:6px;font-size:12px;height:28px;line-height:28px;padding:0 12px;background:var(--green);color:#fff;border-radius:6px;';
|
||||
btn.parentNode.replaceChild(span, btn);
|
||||
// Разблокировать остальные кнопки
|
||||
document.querySelectorAll('.cmp-btn').forEach(function(b) { b.disabled = false; });
|
||||
stepDone('stepCompare');
|
||||
}
|
||||
else if (d.type === 'error') {
|
||||
@@ -550,12 +556,14 @@ window.runCompareForGroup = async function(gi, btn) {
|
||||
es.close(); _activeCompareES = null;
|
||||
cmpBody.innerHTML += '<div style="color:var(--destructive);">✗ ' + d.message + '</div>';
|
||||
btn.innerHTML = '✗'; btn.disabled = false;
|
||||
document.querySelectorAll('.cmp-btn').forEach(function(b) { b.disabled = false; });
|
||||
}
|
||||
};
|
||||
es.onerror = function() {
|
||||
clearInterval(_activeCompareTimer); _activeCompareTimer = null;
|
||||
es.close(); _activeCompareES = null;
|
||||
btn.innerHTML = '✗ соединение'; btn.disabled = false;
|
||||
document.querySelectorAll('.cmp-btn').forEach(function(b) { b.disabled = false; });
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user