summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFivePixels <o5pxels@gmail.com>2022-04-25 20:43:42 -0500
committerFivePixels <o5pxels@gmail.com>2022-04-25 20:43:42 -0500
commit509a7bd8955138b2ff864dd75059d397b3fbb31e (patch)
tree767cafb6f5ea555345f458c64651416ffb743c7f
parent7f51b6011e443dbcfb4cad6644f482f725ce054b (diff)
downloadStrengthy-509a7bd8955138b2ff864dd75059d397b3fbb31e.tar.xz
Strengthy-509a7bd8955138b2ff864dd75059d397b3fbb31e.zip
Fix bug in create add row, add logic to 'done' a row when both inputs
are filled
-rw-r--r--app/static/js/create.js2
-rw-r--r--app/static/js/record.js19
2 files changed, 15 insertions, 6 deletions
diff --git a/app/static/js/create.js b/app/static/js/create.js
index cb22ad8..b65bc5a 100644
--- a/app/static/js/create.js
+++ b/app/static/js/create.js
@@ -2,7 +2,7 @@ var rowsDiv = document.getElementById("rows");
var rowId = rowsDiv.children.length;
function handleAdd() {
- newRow = rowsDiv.children[1].cloneNode(true);
+ newRow = rowsDiv.children[0].cloneNode(true);
exerciseNameInput = newRow.children[0].children[0].children[0].children[0];
exerciseNameInput.value = '';
diff --git a/app/static/js/record.js b/app/static/js/record.js
index aa5a3b3..6e0f924 100644
--- a/app/static/js/record.js
+++ b/app/static/js/record.js
@@ -1,22 +1,31 @@
// Register 'Enter' listeners on all inputs
allInputs = Array.from(document.getElementsByClassName('input'))
.filter(e => e.type == 'number');
-allInputs.forEach(e => e.addEventListener('keypress', handleEnterKey));
+allInputs.forEach(e => e.addEventListener('keydown', handleEnterKey));
function handleEnterKey(event) {
- if (event.key === "Enter") {
+ console.log(event);
+ if (event.key === "Enter" || event.key === "Tab") {
event.preventDefault();
//Isolate the node that we're after
const currentNode = event.target;
-
//Find the current tab index.
- currentIndex = [...allInputs].findIndex(el => currentNode.isEqualNode(el))
+ currentIndex = [...allInputs].findIndex(el => currentNode.isEqualNode(el));
//focus the following element
const targetIndex = (currentIndex + 1) % allInputs.length;
- allInputs[targetIndex].focus();}
+ const targetNode = allInputs[targetIndex];
+
+ if (!targetNode.parentElement.parentElement.isEqualNode(currentNode.parentElement.parentElement)) {
+ // going to new row
+ if (currentNode.value != "" && allInputs[currentIndex-1].value != "") {
+ onClickSetCheck(currentNode.parentElement.parentElement.children[3].children[0]);
+ }
+ }
+ targetNode.focus();
+ }
}
function setReset(row, values=true) {