Spaces:
Configuration error
Configuration error
// ----- custom js ----- // | |
var imagePath = 'static/images/'; | |
$(document).ready(function() { | |
console.log("ready"); | |
modalControl(); | |
getAllImages(); | |
}); | |
// request for all images in database to display in modal | |
var getAllImages = function(){ | |
$.ajax({ | |
url: "/list", | |
cache: false, | |
contentType: false, | |
processData: false, | |
type: 'POST', | |
success: function(data){ | |
displayModalImages(data.imgList); | |
}, | |
error: function(error){ | |
console.log(error.toString()); | |
} | |
}); | |
} | |
// displays images in modal | |
var displayModalImages = function(imgList){ | |
for(var i = 0; i < imgList.length; i++){ | |
$(".modal-images-list").append("<img src="+imagePath+imgList[i]+" class=modal-image onclick=imageSelectSearch(this) />"); | |
} | |
} | |
// handles click of modal image | |
var imageSelectSearch = function(_this) { | |
var src = $(_this).attr("src"); | |
$("#modal").css("display", "none"); | |
$(".img-preview").attr("src", src); | |
$("#results").html(""); | |
$("#results").append("<div id=searching>Searching For Results...</div>"); | |
var image = src.split('/')[2]; | |
var imageName = image.split('.')[0]; | |
$("#preview-name").text('QUERY: '+imageName); | |
$.ajax({ | |
url: "/search", | |
data: {img: image}, | |
cache: false, | |
type: 'POST', | |
success: function(data){ | |
displayResults(data.results); | |
}, | |
error: function(error){ | |
console.log(error.toString()); | |
} | |
}); | |
} | |
//display results | |
var displayResults = function(data){ | |
$("#results").html(""); | |
for(var i = 0; i < data.length; i++){ | |
var image = data[i].image; | |
var score = data[i].score; | |
var element = "<div class=img-result><img class=responsive src="+imagePath+image+"/>\ | |
<div class=img-info>"+"<span class=image-name>IMAGE: "+image.split('.')[0]+"</span>\ | |
<span class=img-score>SCORE: "+score+"</span></div></div>" | |
$("#results").append(element); | |
} | |
} | |
//Controls the opening and closing of the modal | |
var modalControl = function(){ | |
// Get the modal | |
var modal = document.getElementById("modal"); | |
// Get the button that opens the modal | |
var btn = document.getElementById("select"); | |
console.log(modal); | |
// Get the <span> element that closes the modal | |
var span = document.getElementsByClassName("close")[0]; | |
// When the user clicks the button, open the modal | |
btn.onclick = function() { | |
modal.style.display = "block"; | |
} | |
// When the user clicks on <span> (x), close the modal | |
span.onclick = function() { | |
modal.style.display = "none"; | |
} | |
// When the user clicks anywhere outside of the modal, close it | |
window.onclick = function(event) { | |
if (event.target == modal) { | |
modal.style.display = "none"; | |
} | |
} | |
} |