1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

unwrapped similar items api into separate endpoints for each type

This commit is contained in:
Luke Pulverenti 2013-05-25 19:52:41 -04:00
parent bce51d7e41
commit be04cf6a75
3 changed files with 69 additions and 14 deletions

View file

@ -257,9 +257,53 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout) {
});
};
self.getSimilarItems = function (itemId, options) {
self.getSimilarMovies = function (itemId, options) {
var url = self.getUrl("Items/" + itemId + "/Similar", options);
var url = self.getUrl("Movies/" + itemId + "/Similar", options);
return self.ajax({
type: "GET",
url: url,
dataType: "json"
});
};
self.getSimilarTrailers = function (itemId, options) {
var url = self.getUrl("Trailers/" + itemId + "/Similar", options);
return self.ajax({
type: "GET",
url: url,
dataType: "json"
});
};
self.getSimilarShows = function (itemId, options) {
var url = self.getUrl("Shows/" + itemId + "/Similar", options);
return self.ajax({
type: "GET",
url: url,
dataType: "json"
});
};
self.getSimilarAlbums = function (itemId, options) {
var url = self.getUrl("Albums/" + itemId + "/Similar", options);
return self.ajax({
type: "GET",
url: url,
dataType: "json"
});
};
self.getSimilarGames = function (itemId, options) {
var url = self.getUrl("Games/" + itemId + "/Similar", options);
return self.ajax({
type: "GET",

View file

@ -281,22 +281,33 @@
function renderSimilarItems(page, item) {
if (item.Type != "Movie" &&
item.Type != "Trailer" &&
item.Type != "MusicAlbum" &&
item.Type != "Series" &&
item.MediaType != "Game") {
var promise;
var options = {
userId: Dashboard.getCurrentUserId(),
limit: item.Type == "MusicAlbum" ? 6 : 8
};
if (item.Type == "Movie") {
promise = ApiClient.getSimilarMovies(item.Id, options);
}
else if (item.Type == "Trailer") {
promise = ApiClient.getSimilarTrailers(item.Id, options);
}
else if (item.Type == "MusicAlbum") {
promise = ApiClient.getSimilarAlbums(item.Id, options);
}
else if (item.Type == "Series") {
promise = ApiClient.getSimilarShows(item.Id, options);
}
else if (item.MediaType == "Game") {
promise = ApiClient.getSimilarGames(item.Id, options);
} else {
$('#similarCollapsible', page).hide();
return;
}
ApiClient.getSimilarItems(item.Id, {
userId: Dashboard.getCurrentUserId(),
limit: item.Type == "MusicAlbum" ? 6 : 8
}).done(function (result) {
promise.done(function (result) {
if (!result.Items.length) {

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.118" targetFramework="net45" />
<package id="MediaBrowser.ApiClient.Javascript" version="3.0.119" targetFramework="net45" />
<package id="ServiceStack.Common" version="3.9.46" targetFramework="net45" />
<package id="ServiceStack.Text" version="3.9.45" targetFramework="net45" />
</packages>