Untitled
unknown
plain_text
2 years ago
5.5 kB
7
Indexable
const projectNameInput = document.getElementById("projectNameInput"); const addProjectBtn = document.querySelector(".add-project"); const projectForm = document.querySelector(".projectForm"); const formCancelBtn = document.getElementById("formCancelBtn"); const projectNameValidation = () => { projectNameInput.addEventListener("keyup", () => { const isValidInput = projectNameInput.checkValidity(); if (!isValidInput) { document.querySelector(".invalidPattern").textContent = "Project name must begin with letters"; } else { document.querySelector(".invalidPattern").textContent = ""; } }); }; const handleProjectForm = () => { addProjectBtn.addEventListener("click", () => { projectForm.classList.add("open"); }); formCancelBtn.addEventListener("click", () => { projectForm.classList.remove("open"); projectForm.reset(); document.querySelector(".invalidPattern").textContent = ""; }); let attrbInt = 0; projectForm.addEventListener("submit", (e) => { e.preventDefault(); // const pageHeading = document.querySelector(".task-page"); const projectTitles = document.querySelector(".project-titles"); const parentDiv = document.createElement("div"); parentDiv.classList.add("projectDiv"); const deleteProject = document.createElement("span"); attrbInt = projectTitles.getElementsByClassName("projectDiv").length; { parentDiv.setAttribute("data-project", attrbInt); const allDivs = projectTitles.querySelectorAll("div"); for (let i = 0; i < allDivs.length; i++) { if (projectNameInput.value === allDivs[i].id || projectNameInput.value === "Example Project") { alert("Project name must be unique"); projectForm.reset(); return false; } else { parentDiv.id = projectNameInput.value; parentDiv.setAttribute("class", "projectDiv tile"); } parentDiv.textContent = projectNameInput.value; } } { deleteProject.setAttribute("class", "deleteProject"); deleteProject.addEventListener("click", deleteProjectFunc); // deleteProjectFunc(parentDiv, deleteProject); // deleteProject.addEventListener("click", () => { // const pageHeading = document.querySelector(".task-page"); // pageHeading.textContent = "Example Project"; // // const exampleProjectTable = document.querySelector(".exampleProjectTable"); // // exampleProjectTable.classList.add("exampleProject"); // // const exampleProject = document.querySelector("[data-project='0']"); // // exampleProject.classList.add("active"); // parentDiv.remove(); // }); } parentDiv.appendChild(deleteProject); projectTitles.appendChild(parentDiv); projectForm.reset(); projectForm.classList.remove("open"); }); }; // const deleteProjectFunc = (parentDiv, deleteProjectBtn) => { // // const deleteProjectBtn = document.querySelectorAll(".deleteProjectBtn"); // const pageHeading = document.querySelector(".task-page"); // // const projectTitlesAll = document.querySelectorAll(".project-titles"); // const exampleProjectTable = document.querySelector(".exampleProjectTable"); // const exampleProject = document.querySelector("[data-project='0']"); // deleteProjectBtn.addEventListener("click", () => { // let loaded = false; // document.addEventListener("DOMContentLoaded", () => { // loaded = true; // }); // if (loaded) { // const allTasks = document.querySelector(".all-tasks"); // allTasks.classList.add("active"); // pageHeading.textContent = allTasks.textContent; // } // parentDiv.remove(); // }); // if (deleteProjectBtn) { // const allTasks = document.querySelector(".all-tasks"); // allTasks.classList.add("active"); // } // }; const deleteProjectFunc = (e) => { let tile = e.target.closest(".tile"); tile.remove(); // if () const allTasks = document.querySelector(".tasks").children; console.log(allTasks[0].classList.add("active")); allTasks[0].classList.add("active"); // let index = div.dataset; }; // const deleteProjectFunc = () => { // const deleteProjectBtn = document.querySelectorAll(".deleteProjectBtn"); // const projectTitlesAll = document.querySelectorAll(".project-titles"); // if (document.readyState === "complete" || document.readyState === "loaded") { // deleteProjectBtn.forEach((btn) => { // btn.addEventListener("click", () => { // for (let i = 1; i < projectTitlesAll.length; i++) { // projectTitlesAll[i].remove(); // console.log("test"); // } // }); // }); // } // }; const addProject = () => { projectNameValidation(); handleProjectForm(); // const deleteBtn = document.querySelector(".deleteProject"); }; export default addProject;
Editor is loading...