feat: disable Save button when content unchanged
- Save button starts disabled and only enables when title or description differs from the original task values - updateSaveButton() compares current input values against task data - input event listeners on title and desc fields call updateSaveButton - Add global button:disabled style (opacity 0.5, cursor not-allowed)
This commit is contained in:
@@ -235,6 +235,7 @@ function selectTask(taskId) {
|
||||
document.getElementById("edit-task-title").value = task.title;
|
||||
document.getElementById("edit-task-desc").value = task.desc || "";
|
||||
document.getElementById("side-panel-error").textContent = "";
|
||||
updateSaveButton();
|
||||
|
||||
document.querySelectorAll(".status-btn").forEach(btn => {
|
||||
btn.classList.toggle("active", btn.dataset.status === task.status);
|
||||
@@ -246,6 +247,17 @@ function selectTask(taskId) {
|
||||
}
|
||||
}
|
||||
|
||||
function updateSaveButton() {
|
||||
const task = tasks.find(t => t.id === selectedTaskId);
|
||||
if (!task) return;
|
||||
|
||||
const title = document.getElementById("edit-task-title").value.trim();
|
||||
const desc = document.getElementById("edit-task-desc").value;
|
||||
|
||||
const changed = title !== task.title || desc !== (task.desc || "");
|
||||
document.getElementById("save-task-btn").disabled = !changed;
|
||||
}
|
||||
|
||||
function closeSidePanel() {
|
||||
if (isLandscapeMode()) return;
|
||||
document.getElementById("side-panel").classList.remove("active");
|
||||
@@ -392,8 +404,12 @@ document.addEventListener("DOMContentLoaded", () => {
|
||||
|
||||
document.getElementById("side-panel-close").addEventListener("click", closeSidePanel);
|
||||
document.getElementById("save-task-btn").addEventListener("click", saveTask);
|
||||
document.getElementById("save-task-btn").disabled = true;
|
||||
document.getElementById("delete-task-btn").addEventListener("click", deleteTask);
|
||||
|
||||
document.getElementById("edit-task-title").addEventListener("input", updateSaveButton);
|
||||
document.getElementById("edit-task-desc").addEventListener("input", updateSaveButton);
|
||||
|
||||
initWheelScroll();
|
||||
loadGoals();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user