|
|
|
@ -47,6 +47,8 @@ function getHasher(hashType) {
|
|
|
|
|
const buttonText = e.target.innerText
|
|
|
|
|
e.target.innerText = "Calculating hash…"
|
|
|
|
|
|
|
|
|
|
document.getElementById("hash-container").classList.remove("done")
|
|
|
|
|
|
|
|
|
|
const formData = new FormData(document.getElementById("hash-setup"))
|
|
|
|
|
const hashSetup = getHashSetup(formData)
|
|
|
|
|
|
|
|
|
@ -54,9 +56,13 @@ function getHasher(hashType) {
|
|
|
|
|
|
|
|
|
|
const hasher = getHasher(hashSetup.hashType)
|
|
|
|
|
|
|
|
|
|
displayHash(hasher(hashSetup.password, hashSetup.privateOptions))
|
|
|
|
|
// Hack for enforcing that the DOM changes get propagated to the view
|
|
|
|
|
// before the hash is calculated (which blocks the thread).
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
displayHash(hasher(hashSetup.password, hashSetup.privateOptions))
|
|
|
|
|
|
|
|
|
|
e.target.innerText = buttonText
|
|
|
|
|
e.target.disabled = false
|
|
|
|
|
e.target.innerText = buttonText
|
|
|
|
|
e.target.disabled = false
|
|
|
|
|
}, 0)
|
|
|
|
|
})
|
|
|
|
|
})()
|
|
|
|
|