mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-14 02:26:55 -07:00
Basic search working for #32
This commit is contained in:
parent
f49e67da83
commit
1596dce629
7 changed files with 296 additions and 15 deletions
|
@ -6,19 +6,22 @@
|
|||
});
|
||||
|
||||
var searchSource = $("#search-template").html();
|
||||
var musicSource = $("#music-template").html();
|
||||
var searchTemplate = Handlebars.compile(searchSource);
|
||||
var musicTemplate = Handlebars.compile(musicSource);
|
||||
var noResultsHtml = "<div class='no-search-results'>" +
|
||||
"<i class='fa fa-film no-search-results-icon'></i><div class='no-search-results-text'>Sorry, we didn't find any results!</div></div>";
|
||||
var movieTimer = 0;
|
||||
var tvimer = 0;
|
||||
var noResultsMusic = "<div class='no-search-results'>" +
|
||||
"<i class='fa fa-headphones no-search-results-icon'></i><div class='no-search-results-text'>Sorry, we didn't find any results!</div></div>";
|
||||
var searchTimer = 0;
|
||||
|
||||
// Type in movie search
|
||||
$("#movieSearchContent").on("input", function () {
|
||||
if (movieTimer) {
|
||||
clearTimeout(movieTimer);
|
||||
if (searchTimer) {
|
||||
clearTimeout(searchTimer);
|
||||
}
|
||||
$('#movieSearchButton').attr("class","fa fa-spinner fa-spin");
|
||||
movieTimer = setTimeout(movieSearch, 400);
|
||||
searchTimer = setTimeout(movieSearch, 400);
|
||||
|
||||
});
|
||||
|
||||
|
@ -34,11 +37,11 @@ $('#moviesInTheaters').on('click', function (e) {
|
|||
|
||||
// Type in TV search
|
||||
$("#tvSearchContent").on("input", function () {
|
||||
if (tvimer) {
|
||||
clearTimeout(tvimer);
|
||||
if (searchTimer) {
|
||||
clearTimeout(searchTimer);
|
||||
}
|
||||
$('#tvSearchButton').attr("class", "fa fa-spinner fa-spin");
|
||||
tvimer = setTimeout(tvSearch, 400);
|
||||
searchTimer = setTimeout(tvSearch, 400);
|
||||
});
|
||||
|
||||
// Click TV dropdown option
|
||||
|
@ -72,6 +75,16 @@ $(document).on("click", ".dropdownTv", function (e) {
|
|||
sendRequestAjax(data, type, url, buttonId);
|
||||
});
|
||||
|
||||
// Search Music
|
||||
$("#musicSearchContent").on("input", function () {
|
||||
if (searchTimer) {
|
||||
clearTimeout(searchTimer);
|
||||
}
|
||||
$('#musicSearchButton').attr("class", "fa fa-spinner fa-spin");
|
||||
searchTimer = setTimeout(musicSearch, 400);
|
||||
|
||||
});
|
||||
|
||||
// Click Request for movie
|
||||
$(document).on("click", ".requestMovie", function (e) {
|
||||
e.preventDefault();
|
||||
|
@ -133,7 +146,7 @@ function moviesComingSoon() {
|
|||
}
|
||||
|
||||
function moviesInTheaters() {
|
||||
getMovies("/search/movie/playing")
|
||||
getMovies("/search/movie/playing");
|
||||
}
|
||||
|
||||
function getMovies(url) {
|
||||
|
@ -179,6 +192,29 @@ function getTvShows(url) {
|
|||
});
|
||||
};
|
||||
|
||||
function musicSearch() {
|
||||
var query = $("#musicSearchContent").val();
|
||||
getMusic("/search/music/" + query);
|
||||
}
|
||||
|
||||
function getMusic(url) {
|
||||
$("#musicList").html("");
|
||||
|
||||
$.ajax(url).success(function (results) {
|
||||
if (results.count > 0) {
|
||||
results.releases.forEach(function (result) {
|
||||
var context = buildMusicContext(result);
|
||||
|
||||
var html = musicTemplate(context);
|
||||
$("#musicList").append(html);
|
||||
});
|
||||
}
|
||||
else {
|
||||
$("#musicList").html(noResultsMusic);
|
||||
}
|
||||
$('#musicSearchButton').attr("class", "fa fa-search");
|
||||
});
|
||||
};
|
||||
|
||||
function buildMovieContext(result) {
|
||||
var date = new Date(result.releaseDate);
|
||||
|
@ -212,3 +248,16 @@ function buildTvShowContext(result) {
|
|||
};
|
||||
return context;
|
||||
}
|
||||
|
||||
function buildMusicContext(result) {
|
||||
|
||||
var context = {
|
||||
id: result.id,
|
||||
title: result.title,
|
||||
overview: result.disambiguation,
|
||||
year: result.date,
|
||||
type: "music"
|
||||
};
|
||||
|
||||
return context;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue