diff options
Diffstat (limited to 'web/static/dartboat.js')
-rw-r--r-- | web/static/dartboat.js | 27 |
1 files changed, 21 insertions, 6 deletions
diff --git a/web/static/dartboat.js b/web/static/dartboat.js index 428ff85..285a98e 100644 --- a/web/static/dartboat.js +++ b/web/static/dartboat.js @@ -54,8 +54,8 @@ function promptMsgR(p) { document.getElementById('prompt-msg-r').textContent = UTF8ToString(p); } -function promptHandle(action, data) { - Module.ccall('prompt_handle', null, ['string', 'string'], [action, data]); +function promptHandle(command, data) { + Module.ccall('prompt_handle', null, ['string', 'string'], [command, data]); } function setKeypad(keypad) { @@ -169,12 +169,27 @@ function readOpts() { setStdev(val, false); } -function modal(id) { - document.getElementById(id).style.display = 'block'; -} +document.addEventListener('click', e => { + const modal = e.target.dataset.modal; + if (modal) + document.getElementById(modal).style.display = 'block'; + + if (e.target.classList.contains('modal')) + e.target.style.display = 'none'; +}); document.addEventListener('click', e => { - if (e.target.classList.contains('modal')) e.target.style.display = 'none'; + const command = e.target.dataset.command; + if (command) + command.split(';').forEach(x => promptHandle(...x.split(':', 2))); +}); + +document.addEventListener('change', e => { + const setting = e.target.dataset.setting; + if (setting === 'delay') + setDelay(e.target.value); + else if (setting === 'stdev') + setStdev(e.target.value); }); document.addEventListener('keydown', e => { |