From b1aee1997884e4bbd8d0667546ff96977550cb57 Mon Sep 17 00:00:00 2001 From: lucashemi Date: Mon, 9 Jan 2023 00:15:01 -0300 Subject: first commit --- app/list.js | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 app/list.js (limited to 'app/list.js') diff --git a/app/list.js b/app/list.js new file mode 100644 index 0000000..9042dd3 --- /dev/null +++ b/app/list.js @@ -0,0 +1,52 @@ +const form = document.getElementById('form'); +const list = document.getElementById('list'); +const jsList = JSON.parse(localStorage.getItem('jsList')) || [] + +jsList.forEach(element => { + createElement(element); + const tag = document.querySelector("[data-id='"+element.id+"']"); + if(jsList[jsList.findIndex(el => el.id == tag.dataset.id)].done == true) { + checkElement(tag.childNodes[1], tag.dataset.id); + } +}); + +form.addEventListener('submit', (submit) => { + submit.preventDefault(); + + const name = submit.target.elements['add']; + + if (name.value.length == 0) { + return; + } + + const item = { + "name" : name.value, + "done" : false + }; + + item.id = jsList[jsList.length - 1] ? (jsList[jsList.length - 1]).id + 1 : 0; + createElement(item); + jsList.push(item); + + localStorage.setItem('jsList', JSON.stringify(jsList)) + + form[0].value = ''; + +}); + +function createElement(item) { + const newItem = document.createElement('li'); + newItem.classList.add('item'); + + newItem.dataset.id = item.id; + + newItem.textContent += item.name; + + newItem.appendChild(checkboxButton(item.id)); + + newItem.appendChild(editButton(item.id)); + + newItem.appendChild(deleteButton(item.id)); + + list.appendChild(newItem); +} -- cgit v1.2.3-18-g5258