X-Git-Url: http://git.scottworley.com/voter/blobdiff_plain/9543206967816cd9427588a2c29468fff133a65e..7717ed89ce2c276f1e2adc15bd859d6167deda98:/src/main.rs?ds=sidebyside diff --git a/src/main.rs b/src/main.rs index 5c4ad90..98cfc35 100644 --- a/src/main.rs +++ b/src/main.rs @@ -97,6 +97,18 @@ const HTML_HEADER: &str = " const spin = document.createElement('div') spin.appendChild(document.createTextNode('⏳')) cb.parentElement.insertBefore(spin, cb) + + const req = new XMLHttpRequest() + req.addEventListener('load', function(e) { + cb.parentElement.removeChild(cb.previousElementSibling) + if (req.status == 200) { + cb.style.display = '' + } else { + cb.parentElement.insertBefore(document.createTextNode('❗'), cb) + } + }) + req.open('PUT', window.location.href) + req.send((cb.checked ? 1 : 0) + ' ' + cb.parentElement.nextSibling.innerHTML) } })(cb)) cb.disabled = false @@ -120,7 +132,7 @@ fn prompt_for_vote(dir: PathBuf, request: cgi::Request) -> Result{c}") + format!("{c}") }) })) .chain(std::iter::once(Ok(HTML_FOOTER.to_owned())))