Skip to content
Snippets Groups Projects
Commit ce668400 authored by Sigurd's avatar Sigurd
Browse files

Exercise.js - Solarlint and some p42

Only missing safe changes is let -> const
parent d8d51f97
No related branches found
No related tags found
No related merge requests found
Pipeline #168376 passed
...@@ -10,7 +10,7 @@ class MuscleGroup { ...@@ -10,7 +10,7 @@ class MuscleGroup {
this.validTypes = ["Legs", "Chest", "Back", "Arms", "Abdomen", "Shoulders"] this.validTypes = ["Legs", "Chest", "Back", "Arms", "Abdomen", "Shoulders"]
this.type = this.validTypes.includes(type) ? type : undefined; this.type = this.validTypes.includes(type) ? type : undefined;
}; }
setMuscleGroupType = (newType) => { setMuscleGroupType = (newType) => {
this.isValidType = false; this.isValidType = false;
...@@ -23,7 +23,7 @@ class MuscleGroup { ...@@ -23,7 +23,7 @@ class MuscleGroup {
alert("Invalid muscle group!"); alert("Invalid muscle group!");
} }
}; }
getMuscleGroupType = () => { getMuscleGroupType = () => {
console.log(this.type, "SWIOEFIWEUFH") console.log(this.type, "SWIOEFIWEUFH")
...@@ -77,11 +77,11 @@ async function createExercise() { ...@@ -77,11 +77,11 @@ async function createExercise() {
if (response.ok) { if (response.ok) {
window.location.replace("exercises.html"); window.location.replace("exercises.html");
} else { return;
let data = await response.json();
let alert = createAlert("Could not create new exercise!", data);
document.body.prepend(alert);
} }
let data = await response.json();
let alert = createAlert("Could not create new exercise!", data);
document.body.prepend(alert);
} }
function handleEditExerciseButtonClick() { function handleEditExerciseButtonClick() {
...@@ -120,21 +120,20 @@ async function retrieveExercise(id) { ...@@ -120,21 +120,20 @@ async function retrieveExercise(id) {
let data = await response.json(); let data = await response.json();
let alert = createAlert("Could not retrieve exercise data!", data); let alert = createAlert("Could not retrieve exercise data!", data);
document.body.prepend(alert); document.body.prepend(alert);
} else { 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()) {
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", "")
} }
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) { async function updateExercise(id) {
...@@ -158,25 +157,25 @@ async function updateExercise(id) { ...@@ -158,25 +157,25 @@ async function updateExercise(id) {
let data = await response.json(); let data = await response.json();
let alert = createAlert(`Could not update exercise ${id}`, data); let alert = createAlert(`Could not update exercise ${id}`, data);
document.body.prepend(alert); document.body.prepend(alert);
} else { return;
muscleGroupSelector.setAttribute("disabled", "") }
// duplicate code from handleCancelButtonDuringEdit muscleGroupSelector.setAttribute("disabled", "")
// you should refactor this // duplicate code from handleCancelButtonDuringEdit
setReadOnly(true, "#form-exercise"); // you should refactor this
okButton.className += " hide"; setReadOnly(true, "#form-exercise");
deleteButton.className += " hide"; okButton.className += " hide";
cancelButton.className += " hide"; deleteButton.className += " hide";
editButton.className = editButton.className.replace(" hide", ""); cancelButton.className += " hide";
editButton.className = editButton.className.replace(" hide", "");
cancelButton.removeEventListener("click", handleCancelButtonDuringEdit); cancelButton.removeEventListener("click", handleCancelButtonDuringEdit);
oldFormData.delete("name"); oldFormData.delete("name");
oldFormData.delete("description"); oldFormData.delete("description");
oldFormData.delete("duration"); oldFormData.delete("duration");
oldFormData.delete("calories"); oldFormData.delete("calories");
oldFormData.delete("muscleGroup"); oldFormData.delete("muscleGroup");
oldFormData.delete("unit"); oldFormData.delete("unit");
}
} }
window.addEventListener("DOMContentLoaded", async () => { window.addEventListener("DOMContentLoaded", async () => {
...@@ -194,18 +193,17 @@ window.addEventListener("DOMContentLoaded", async () => { ...@@ -194,18 +193,17 @@ window.addEventListener("DOMContentLoaded", async () => {
await retrieveExercise(exerciseId); await retrieveExercise(exerciseId);
editButton.addEventListener("click", handleEditExerciseButtonClick); editButton.addEventListener("click", handleEditExerciseButtonClick);
deleteButton.addEventListener("click", (async (id) => await deleteExercise(id)).bind(undefined, exerciseId)); deleteButton.addEventListener("click", (async (id) => deleteExercise(id)).bind(undefined, exerciseId));
okButton.addEventListener("click", (async (id) => await updateExercise(id)).bind(undefined, exerciseId)); okButton.addEventListener("click", (async (id) => updateExercise(id)).bind(undefined, exerciseId));
return;
} }
//create //create
else { setReadOnly(false, "#form-exercise");
setReadOnly(false, "#form-exercise");
editButton.className += " hide"; editButton.className += " hide";
okButton.className = okButton.className.replace(" hide", ""); okButton.className = okButton.className.replace(" hide", "");
cancelButton.className = cancelButton.className.replace(" hide", ""); cancelButton.className = cancelButton.className.replace(" hide", "");
okButton.addEventListener("click", async () => await createExercise()); okButton.addEventListener("click", async () => createExercise());
cancelButton.addEventListener("click", handleCancelButtonDuringCreate); cancelButton.addEventListener("click", handleCancelButtonDuringCreate);
}
}); });
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment