@@ -373,14 +373,11 @@ function showConfirm(msg) {
|
||||
document.getElementById('confirmMsg').textContent = msg;
|
||||
const btn = document.getElementById('confirmBtn');
|
||||
let resolved = false;
|
||||
const cleanup = () => {
|
||||
btn.removeEventListener('click', onClick);
|
||||
modalEl.removeEventListener('hidden.bs.modal', onHidden);
|
||||
};
|
||||
const onClick = () => { resolved = true; cleanup(); modal.hide(); resolve(true); };
|
||||
const onHidden = () => { if (!resolved) { cleanup(); resolve(false); } };
|
||||
btn.addEventListener('click', onClick);
|
||||
modalEl.addEventListener('hidden.bs.modal', onHidden);
|
||||
const done = (val) => { if (resolved) return; resolved = true; modal.hide(); resolve(val); };
|
||||
const onKey = (e) => { if (e.key === 'Enter') { e.preventDefault(); done(true); } };
|
||||
btn.onclick = () => done(true);
|
||||
modalEl.addEventListener('hidden.bs.modal', () => { document.removeEventListener('keydown', onKey); if (!resolved) resolve(false); });
|
||||
document.addEventListener('keydown', onKey);
|
||||
modal.show();
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user