Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve() {
- let [_, open, inProgress, complete] = document.querySelectorAll("section");
- let taskName = document.querySelector("#task");
- let description = document.querySelector("#description");
- let date = document.querySelector("#date");
- document.querySelector("#add").addEventListener("click", onClick);
- function onClick(ev) {
- ev.preventDefault();
- if (
- [taskName.value, description.value, date.value].some(
- (el) => el == false
- )
- ) {
- return;
- }
- let parentDiv = open.children[1];
- let article = document.createElement("article");
- parentDiv.appendChild(article);
- let newH3 = createElement("h3", taskName.value, "", article);
- let newPdescript = createElement(
- "p",
- "Description: " + description.value,
- "",
- article
- );
- let newRdate = createElement(
- "p",
- "Due Date: " + date.value,
- "",
- article
- );
- let newDivBtns = createElement("div", "", "flex", article);
- let newBtnStart = createElement("button", "Start", "green", newDivBtns);
- let newBtnDelete = createElement("button", "Delete", "red", newDivBtns);
- taskName.value = "";
- description.value = "";
- date.value = "";
- newBtnDelete.addEventListener("click", deleteArticle);
- function deleteArticle(ev) {
- article.remove();
- }
- newBtnStart.addEventListener("click", inProgr);
- function inProgr(ev) {
- let pDivInProgr = inProgress.children[1];
- pDivInProgr.appendChild(article);
- newBtnStart.remove();
- let newBtnFinish = createElement(
- "button",
- "Finish",
- "orange",
- newDivBtns
- );
- newBtnFinish.addEventListener("click", finished);
- function finished(ev) {
- let pDivFinished = complete.children[1];
- pDivFinished.appendChild(article);
- ev.target.parentElement.remove();
- }
- }
- }
- function createElement(type, text, className, parent) {
- let newEl = document.createElement(type);
- newEl.textContent = text;
- if (className) {
- newEl.classList.add(className);
- }
- parent.appendChild(newEl);
- return newEl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment