Skip to content
Snippets Groups Projects
Commit e621a598 authored by Ole-Christian Bjerkeset's avatar Ole-Christian Bjerkeset
Browse files

long method in scripts/gallery.js refactored

parent 77d99b34
No related branches found
No related tags found
1 merge request!7merging refactor/gallery into master
Pipeline #172332 passed
let goBackButton; let goBackButton;
let filesDiv = document.getElementById("img-collection");
let filesDeleteDiv = document.getElementById("img-collection-delete");
const currentImageFileElement = document.querySelector("#current");
let isFirstImg = true;
let fileCounter = 0;
function handleImageElements(){
const otherImageFileElements = document.querySelectorAll(".imgs img");
const selectedOpacity = 0.6;
otherImageFileElements[0].style.opacity = selectedOpacity;
function addImages(workoutData){ otherImageFileElements.forEach((imageFileElement) => imageFileElement.addEventListener("click", (event) => {
let filesDiv = document.getElementById("img-collection"); //Changes the main image
let filesDeleteDiv = document.getElementById("img-collection-delete"); currentImageFileElement.src = event.target.src;
const currentImageFileElement = document.querySelector("#current"); //Adds the fade animation
let isFirstImg = true; currentImageFileElement.classList.add('fade-in')
setTimeout(() => currentImageFileElement.classList.remove('fade-in'), 500);
let fileCounter = 0; //Sets the opacity of the selected image to 0.4
otherImageFileElements.forEach((imageFileElement) => imageFileElement.style.opacity = 1)
event.target.style.opacity = selectedOpacity;
}));
}
function appendImage(file){
let deleteImgButton = document.createElement("input");
deleteImgButton.type = "button";
deleteImgButton.className = "btn btn-close";
deleteImgButton.id = file.url.split("/")[file.url.split("/").length - 2];
deleteImgButton.addEventListener(
'click',
() => handleDeleteImgClick(deleteImgButton.id,
"DELETE",
`Could not delete workout ${deleteImgButton.id}!`,
HOST,
["jpg", "png", "gif", "jpeg", "JPG", "PNG", "GIF", "JPEG"]
));
filesDeleteDiv.appendChild(deleteImgButton);
let img = document.createElement("img");
img.src = file.file;
filesDiv.appendChild(img);
deleteImgButton.style.left = `${(fileCounter % 4) * 191}px`;
deleteImgButton.style.top = `${Math.floor(fileCounter / 4) * 105}px`;
if(isFirstImg){
currentImageFileElement.src = file.file;
isFirstImg = false;
}
fileCounter++;
}
function addImages(workoutData){
for (let file of workoutData.files) { for (let file of workoutData.files) {
let a = document.createElement("a"); let a = document.createElement("a");
a.href = file.file; a.href = file.file;
...@@ -19,34 +63,10 @@ function addImages(workoutData){ ...@@ -19,34 +63,10 @@ function addImages(workoutData){
let isImage = ["jpg", "png", "gif", "jpeg", "JPG", "PNG", "GIF", "JPEG"].includes(a.text.split(".")[1]); let isImage = ["jpg", "png", "gif", "jpeg", "JPG", "PNG", "GIF", "JPEG"].includes(a.text.split(".")[1]);
if(isImage){ if(isImage){
let deleteImgButton = document.createElement("input"); appendImage(file);
deleteImgButton.type = "button";
deleteImgButton.className = "btn btn-close";
deleteImgButton.id = file.url.split("/")[file.url.split("/").length - 2];
deleteImgButton.addEventListener(
'click',
() => handleDeleteImgClick(deleteImgButton.id,
"DELETE",
`Could not delete workout ${deleteImgButton.id}!`,
HOST,
["jpg", "png", "gif", "jpeg", "JPG", "PNG", "GIF", "JPEG"]
));
filesDeleteDiv.appendChild(deleteImgButton);
let img = document.createElement("img");
img.src = file.file;
filesDiv.appendChild(img);
deleteImgButton.style.left = `${(fileCounter % 4) * 191}px`;
deleteImgButton.style.top = `${Math.floor(fileCounter / 4) * 105}px`;
if(isFirstImg){
currentImageFileElement.src = file.file;
isFirstImg = false;
}
fileCounter++;
} }
} }
handleImageElements();
} }
...@@ -64,23 +84,6 @@ function handleWorkoutData(workoutData){ ...@@ -64,23 +84,6 @@ function handleWorkoutData(workoutData){
noImageText.classList.add("hide"); noImageText.classList.add("hide");
addImages(workoutData); addImages(workoutData);
const otherImageFileElements = document.querySelectorAll(".imgs img");
const selectedOpacity = 0.6;
otherImageFileElements[0].style.opacity = selectedOpacity;
otherImageFileElements.forEach((imageFileElement) => imageFileElement.addEventListener("click", (event) => {
//Changes the main image
currentImageFileElement.src = event.target.src;
//Adds the fade animation
currentImageFileElement.classList.add('fade-in')
setTimeout(() => currentImageFileElement.classList.remove('fade-in'), 500);
//Sets the opacity of the selected image to 0.4
otherImageFileElements.forEach((imageFileElement) => imageFileElement.style.opacity = 1)
event.target.style.opacity = selectedOpacity;
}));
} }
async function retrieveWorkoutImages(id) { async function retrieveWorkoutImages(id) {
......
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