all repos — tsl @ dd8f1b8c6abd14e2097834d0945b683931b13985

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});