From b52dbaec5791fe2f3ae3ac6e66b328e97b78b4fa Mon Sep 17 00:00:00 2001 From: moerp Date: Sun, 7 Apr 2024 19:10:34 +0200 Subject: [PATCH] bug --- src/templates/nutrition.html | 51 +++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 10 deletions(-) diff --git a/src/templates/nutrition.html b/src/templates/nutrition.html index ced7736..3f702ab 100644 --- a/src/templates/nutrition.html +++ b/src/templates/nutrition.html @@ -174,19 +174,50 @@ function updateNutritionData() { document.getElementById('edit-row-button').style.display = 'block'; } - function performActionIfPasswordCorrect() { - const password = document.getElementById('password-input').value; - if (password === 'geheim') { - if(currentAction === 'delete') { - deleteSelectedRows(); // Funktion, die die ausgewählten Zeilen löscht - } else if(currentAction === 'edit') { - // Logik zum Bearbeiten der Einträge hier einfügen - } - hidePasswordPrompt(); + function toggleTableEditable(isEditable) { + const table = document.getElementById('database-nutrition-table'); + const rows = table.getElementsByTagName('tr'); + for (let i = 1; i < rows.length; i++) { + const cells = rows[i].getElementsByTagName('td'); + for (let j = 0; j < cells.length; j++) { + cells[j].contentEditable = isEditable ? "true" : "false"; + if(!isEditable) { + // Wieder Zellen auswählbar machen, wenn Bearbeitung beendet wird + cells[j].addEventListener('click', function(e) { + e.target.parentNode.classList.toggle('selected'); + updateDeleteButtonState(); + }); } else { - alert('Falsches Passwort!'); + // Event-Listener entfernen, um Zellenauswahl während der Bearbeitung zu verhindern + cells[j].removeEventListener('click', function(e) { + e.target.parentNode.classList.toggle('selected'); + updateDeleteButtonState(); + }); } } + } +} + +function performActionIfPasswordCorrect() { + const password = document.getElementById('password-input').value; + if (password === 'geheim') { + hidePasswordPrompt(); + if(currentAction === 'edit') { + toggleTableEditable(true); // Tabelle editierbar machen + } else if(currentAction === 'delete') { + deleteSelectedRows(); + } + } else { + alert('Falsches Passwort!'); + } +} + +// Funktion zum Beenden der Bearbeitung und Wiederherstellen des ursprünglichen Zustands +function endEdit() { + toggleTableEditable(false); // Beendet den Bearbeitungsmodus + // Weitere Logik zum Speichern der Änderungen oder zum Verwerfen könnte hier hinzugefügt werden +} + // function showPasswordPrompt() { // document.getElementById('delete-row-button').style.display = 'none';