summaryrefslogtreecommitdiff
path: root/app/static/js/record.js
diff options
context:
space:
mode:
authorFivePixels <o5pxels@gmail.com>2022-04-23 15:58:33 -0500
committerFivePixels <o5pxels@gmail.com>2022-04-23 15:58:33 -0500
commitb45e96d88485f7c9a7b6281b781218e180a43e94 (patch)
treef942eec8ed16ee48008c81d519639b9f761f5d34 /app/static/js/record.js
parent628e47b4b8243fa7e84703f3f71c3de19c5baa65 (diff)
parent4f1e55112138a1f3b4be3bf23e3740ae3effac35 (diff)
downloadStrengthy-b45e96d88485f7c9a7b6281b781218e180a43e94.tar.xz
Strengthy-b45e96d88485f7c9a7b6281b781218e180a43e94.zip
Merge branch 'master' of stilbruch.xyz:strengthy
Diffstat (limited to 'app/static/js/record.js')
-rw-r--r--app/static/js/record.js74
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)
+}