diff options
Diffstat (limited to 'app/static')
| -rw-r--r-- | app/static/js/create.js | 2 | ||||
| -rw-r--r-- | app/static/js/record.js | 19 |
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) { |
