diff options
| author | FivePixels <o5pxels@gmail.com> | 2022-04-23 15:58:33 -0500 |
|---|---|---|
| committer | FivePixels <o5pxels@gmail.com> | 2022-04-23 15:58:33 -0500 |
| commit | b45e96d88485f7c9a7b6281b781218e180a43e94 (patch) | |
| tree | f942eec8ed16ee48008c81d519639b9f761f5d34 /app/static/js | |
| parent | 628e47b4b8243fa7e84703f3f71c3de19c5baa65 (diff) | |
| parent | 4f1e55112138a1f3b4be3bf23e3740ae3effac35 (diff) | |
| download | Strengthy-b45e96d88485f7c9a7b6281b781218e180a43e94.tar.xz Strengthy-b45e96d88485f7c9a7b6281b781218e180a43e94.zip | |
Merge branch 'master' of stilbruch.xyz:strengthy
Diffstat (limited to 'app/static/js')
| -rw-r--r-- | app/static/js/record.js | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/app/static/js/record.js b/app/static/js/record.js new file mode 100644 index 0000000..aba6785 --- /dev/null +++ b/app/static/js/record.js @@ -0,0 +1,74 @@ + +// Register 'Enter' listeners on all inputs +Array.from(document.getElementsByClassName('input')) + .filter(e => e.type == 'number') + .forEach(e => e.addEventListener('keyup', function(event) { + if (event.key == 'Enter') { + // TODO implement + console.log("ENTER") + } + })) + +function setReset(row, values=true) { + let lbsInput = row.children[1].children[0]; + let repsInput = row.children[2].children[0]; + let doneButton = row.children[3].children[0]; + + // Enable inputs + lbsInput.disabled = false; + repsInput.disabled = false; + + // Remove classes + lbsInput.classList.remove('is-success'); + lbsInput.classList.remove('is-danger'); + repsInput.classList.remove('is-success'); + repsInput.classList.remove('is-danger'); + + doneButton.classList.remove('is-success'); + + if (values) { + lbsInput.value = ''; + repsInput.value = ''; + } +} + +function setSetid(row, id) { + let setNumber = row.children[0]; + let lbsInput = row.children[1].children[0]; + let repsInput = row.children[2].children[0]; + let doneButton = row.children[3].children[0]; + + setNumber.textContent = id + 1; +} + +function setCheck(row) { + // Disable input editing + row.children[1].firstChild.disabled = true; + row.children[2].firstChild.disabled = true; + + // Add is-success to inputs + row.children[1].firstChild.classList.add('is-success') + row.children[2].firstChild.classList.add('is-success') +} + +// Called when the check at the end of a set line is clicked +function onClickSetCheck(elem) { + if (elem.classList.contains('is-success')) { + setReset(elem.parentElement.parentElement, false); + } else { + elem.classList.add('is-success'); + + setCheck(elem.parentElement.parentElement); + } +} + +function onClickAddSet(elem) { + // Create the new row + let tableBody = elem.parentElement.parentElement.children[1].children[1]; + let row = tableBody.children[0].cloneNode(true); + + // Add new row to table + setReset(row); + setSetid(row, tableBody.children.length) + tableBody.appendChild(row) +} |
