commit d432c692e4ce57f6b43e69cada8ac35bce550ebd
parent 55bfa810d6ccde682f2aadb7d7b0594f61325e50
Author: Hunter
Date:   Tue, 30 Jul 2024 11:56:41 -0400

implement backspace stopping

Diffstat:
Mtodo.html | 25+++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/todo.html b/todo.html @@ -60,14 +60,35 @@ checkbox.type = 'checkbox'; updateCheckboxState(checkbox, task.state); checkbox.addEventListener('click', (e) => { - e.preventDefault(); // Prevent default checkbox behavior + e.preventDefault(); toggleTaskState(task); }); const taskInput = document.createElement('input'); taskInput.type = 'text'; taskInput.value = task.text; - taskInput.addEventListener('keydown', (e) => handleKeyDown(e, task)); + + let canDelete = true; + + taskInput.addEventListener('keydown', (e) => { + if (e.key === 'Backspace') { + if (taskInput.value === '' && canDelete && task !== taskPath[0]) { + e.preventDefault(); + deleteTask(task); + } else if (taskInput.value !== '') { + canDelete = false; + } + } else { + handleKeyDown(e, task); + } + }); + + taskInput.addEventListener('keyup', (e) => { + if (e.key === 'Backspace') { + canDelete = (taskInput.value === ''); + } + }); + taskInput.addEventListener('input', () => { task.text = taskInput.value; });