// กำหนดคีย์สำหรับ localStorage const storageKey = 'kanbanData'; // โหลดข้อมูลจาก localStorage window.onload = () => { loadBoard(); }; // เพิ่มการ์ดใหม่ function addCard(status) { const content = prompt('Enter task description:'); if (!content) return; const cardData = {id: Date.now(), content: content, status: status}; const data = getBoardData(); data.push(cardData); saveBoardData(data); renderBoard(); } // ลบการ์ด function deleteCard(id) { const data = getBoardData().filter(card => card.id !== id); saveBoardData(data); renderBoard(); } // โหลดข้อมูลจาก localStorage function getBoardData() { return JSON.parse(localStorage.getItem(storageKey)) || []; } // บันทึกข้อมูลลง localStorage function saveBoardData(data) { localStorage.setItem(storageKey, JSON.stringify(data)); } // แสดงผลบอร์ด function renderBoard() { const statuses = ['todo', 'in-progress', 'done']; statuses.forEach(status => { const container = document.getElementById(`${status}-cards`); container.innerHTML = ''; getBoardData().filter(card => card.status === status).forEach(card => { const cardEl = document.createElement('div'); cardEl.className = 'card'; cardEl.draggable = true; cardEl.dataset.id = card.id; cardEl.innerHTML = `

${card.content}

`; cardEl.addEventListener('dragstart', dragStart); container.appendChild(cardEl); }); }); } // เริ่มลากการ์ด function dragStart(e) { e.dataTransfer.setData('text/plain', e.target.dataset.id); } // อนุญาตให้วางการ์ด document.querySelectorAll('.card-container').forEach(container => { container.addEventListener('dragover', e => e.preventDefault()); container.addEventListener('drop', dropCard); }); function dropCard(e) { e.preventDefault(); const id = e.dataTransfer.getData('text/plain'); const newStatus = e.currentTarget.parentElement.getAttribute('data-status'); const data = getBoardData().map(card => { if (card.id == id) { card.status = newStatus; } return card; }); saveBoardData(data); renderBoard(); } // โหลดบอร์ดเมื่อหน้าเพจโหลด function loadBoard() { renderBoard(); }