diff --git a/ApiClient.js b/ApiClient.js index d33731b70c..799c267eb2 100644 --- a/ApiClient.js +++ b/ApiClient.js @@ -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", diff --git a/dashboard-ui/scripts/Itemdetailpage.js b/dashboard-ui/scripts/Itemdetailpage.js index a12e1d31d0..b86038c9e7 100644 --- a/dashboard-ui/scripts/Itemdetailpage.js +++ b/dashboard-ui/scripts/Itemdetailpage.js @@ -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) { diff --git a/packages.config b/packages.config index de8912c0ee..fcfa61b2b6 100644 --- a/packages.config +++ b/packages.config @@ -1,6 +1,6 @@  - + \ No newline at end of file