cannot read properties of undefined
Пишу ТуДу лист, добавление тасок работает, но только один раз. Подскажите в чем проблема. Ссылка на КодПен - https://codepen.io/kwaido/pen/BaqddyE
const STATUS = {
TODO: 'To Do',
DONE: 'Done',
}
const PRIORITY = {
HIGH: 'High',
LOW: 'Low',
}
const list = [
{name: 'create a post', status: 'In Progress', priority: 'low'},
{name: 'test', status: 'Done', priority: 'high'},
]
function addTask (task) {
list.push({'name': task})
}
function deleteTask (task) {
let index = list.findIndex(item => item.name === task)
list.splice(index, 1)
}
function changeStatus (task, status) {
let index = list.findIndex(item => item.name === task)
switch (status) {
case STATUS.TODO:
list[index].status = STATUS.TODO
break
case STATUS.DONE:
list[index].status = STATUS.DONE
break
}
}
const taskName = document.querySelectorAll('.add-input');
const addTaskBtn = document.querySelectorAll('.plus');
const delTaskBtn = document.querySelector('.delete-task');
const checkbox = document.querySelector('.checkbox');
const highTasks = document.querySelector('.high-tasks');
const lowTasks = document.querySelector('.low-tasks');
for (let e of addTaskBtn) {
e.addEventListener('click', () => {
// Создаем элементы
const divTask = document.createElement('div');
const spanCheckbox = document.createElement('span');
const spanTaskText = document.createElement('span');
const spanDeleteTask = document.createElement('span');
// Формируем структуру и вешаем стили
divTask.appendChild(spanCheckbox).classList.add('checkbox');
divTask.appendChild(spanTaskText).classList.add('task-text');
divTask.appendChild(spanDeleteTask).classList.add('delete-task');
divTask.classList.add('task');
// Наполняем элементы
spanDeleteTask.innerText = '+'
spanTaskText.innerText = e.previousElementSibling.value // Ошибка тут!!!!!!!!!!
console.log(e.previousElementSibling.value);
// Вешаем обработчики кнопок
del(spanDeleteTask)
check(spanCheckbox)
// Добавляем таску в DOM
if (e.previousElementSibling.value) {
e.classList.contains('high-tasks') ? highTasks.appendChild(divTask) :
lowTasks.appendChild(divTask);
}
// Добавляем таску в лист
// addTask(e.previousElementSibling.value)
// Обнуляем инпуты
// e.previousElementSibling.value = '';
// Логирование
for (e of list) {
console.log(e);
}
});
};
// Удаление таски из DOM
function del (e) {
e.addEventListener('click', (e) => {
e.target.parentNode.remove();
});
};
// Пометка выполненной таски DOM
function check (e) {
e.addEventListener('click', (e) => {
e.target.classList.contains('checkbox-checked') ? e.target.classList.remove('checkbox-checked') :
e.target.classList.add('checkbox-checked');
});
};