static/script.js (view raw)
1const debounce = (func, timeout = 1500) => {
2 let timer;
3 return (...args) => {
4 clearTimeout(timer);
5 timer = setTimeout(() => {
6 func.apply(this, args);
7 }, timeout);
8 };
9};
10
11const taskInputs = document.querySelectorAll(".tasks form.task input");
12taskInputs.forEach((taskInput) => {
13 taskInput.addEventListener(
14 "change",
15 debounce((event) => {
16 const inputElement = event.target;
17 inputElement.form.submit();
18 }),
19 );
20});