diff --git a/frontend/www/scripts/exercise.js b/frontend/www/scripts/exercise.js index f845fe1844b633cf1b0bf1365eee4323c4c84bcc..1f15fdab7707e8ab641595799dffbcb54d5f536f 100644 --- a/frontend/www/scripts/exercise.js +++ b/frontend/www/scripts/exercise.js @@ -10,7 +10,7 @@ class MuscleGroup { this.validTypes = ["Legs", "Chest", "Back", "Arms", "Abdomen", "Shoulders"] this.type = this.validTypes.includes(type) ? type : undefined; - }; + } setMuscleGroupType = (newType) => { this.isValidType = false; @@ -23,7 +23,7 @@ class MuscleGroup { alert("Invalid muscle group!"); } - }; + } getMuscleGroupType = () => { console.log(this.type, "SWIOEFIWEUFH") @@ -77,11 +77,11 @@ async function createExercise() { if (response.ok) { window.location.replace("exercises.html"); - } else { - let data = await response.json(); - let alert = createAlert("Could not create new exercise!", data); - document.body.prepend(alert); + return; } + let data = await response.json(); + let alert = createAlert("Could not create new exercise!", data); + document.body.prepend(alert); } function handleEditExerciseButtonClick() { @@ -120,21 +120,20 @@ async function retrieveExercise(id) { let data = await response.json(); let alert = createAlert("Could not retrieve exercise data!", data); document.body.prepend(alert); - } else { - document.querySelector("select").removeAttribute("disabled") - let exerciseData = await response.json(); - let form = document.querySelector("#form-exercise"); - let formData = new FormData(form); - - for (let key of formData.keys()) { - let selector - key !== "muscleGroup" ? selector = `input[name="${key}"], textarea[name="${key}"]` : selector = `select[name=${key}]` - let input = form.querySelector(selector); - let newVal = exerciseData[key]; - input.value = newVal; - } - document.querySelector("select").setAttribute("disabled", "") + return; } + document.querySelector("select").removeAttribute("disabled") + let exerciseData = await response.json(); + let form = document.querySelector("#form-exercise"); + let formData = new FormData(form); + + for (let key of formData.keys()) { + const selector = key !== "muscleGroup" ? `input[name="${key}"], textarea[name="${key}"]` : `select[name=${key}]` + let input = form.querySelector(selector); + let newVal = exerciseData[key]; + input.value = newVal; + } + document.querySelector("select").setAttribute("disabled", "") } async function updateExercise(id) { @@ -158,25 +157,25 @@ async function updateExercise(id) { let data = await response.json(); let alert = createAlert(`Could not update exercise ${id}`, data); document.body.prepend(alert); - } else { - muscleGroupSelector.setAttribute("disabled", "") - // duplicate code from handleCancelButtonDuringEdit - // you should refactor this - setReadOnly(true, "#form-exercise"); - okButton.className += " hide"; - deleteButton.className += " hide"; - cancelButton.className += " hide"; - editButton.className = editButton.className.replace(" hide", ""); + return; + } + muscleGroupSelector.setAttribute("disabled", "") + // duplicate code from handleCancelButtonDuringEdit + // you should refactor this + setReadOnly(true, "#form-exercise"); + okButton.className += " hide"; + deleteButton.className += " hide"; + cancelButton.className += " hide"; + editButton.className = editButton.className.replace(" hide", ""); - cancelButton.removeEventListener("click", handleCancelButtonDuringEdit); + cancelButton.removeEventListener("click", handleCancelButtonDuringEdit); - oldFormData.delete("name"); - oldFormData.delete("description"); - oldFormData.delete("duration"); - oldFormData.delete("calories"); - oldFormData.delete("muscleGroup"); - oldFormData.delete("unit"); - } + oldFormData.delete("name"); + oldFormData.delete("description"); + oldFormData.delete("duration"); + oldFormData.delete("calories"); + oldFormData.delete("muscleGroup"); + oldFormData.delete("unit"); } window.addEventListener("DOMContentLoaded", async () => { @@ -194,18 +193,17 @@ window.addEventListener("DOMContentLoaded", async () => { await retrieveExercise(exerciseId); editButton.addEventListener("click", handleEditExerciseButtonClick); - deleteButton.addEventListener("click", (async (id) => await deleteExercise(id)).bind(undefined, exerciseId)); - okButton.addEventListener("click", (async (id) => await updateExercise(id)).bind(undefined, exerciseId)); + deleteButton.addEventListener("click", (async (id) => deleteExercise(id)).bind(undefined, exerciseId)); + okButton.addEventListener("click", (async (id) => updateExercise(id)).bind(undefined, exerciseId)); + return; } //create - else { - setReadOnly(false, "#form-exercise"); + setReadOnly(false, "#form-exercise"); - editButton.className += " hide"; - okButton.className = okButton.className.replace(" hide", ""); - cancelButton.className = cancelButton.className.replace(" hide", ""); + editButton.className += " hide"; + okButton.className = okButton.className.replace(" hide", ""); + cancelButton.className = cancelButton.className.replace(" hide", ""); - okButton.addEventListener("click", async () => await createExercise()); - cancelButton.addEventListener("click", handleCancelButtonDuringCreate); - } + okButton.addEventListener("click", async () => createExercise()); + cancelButton.addEventListener("click", handleCancelButtonDuringCreate); }); \ No newline at end of file