diff --git a/dashboard-ui/scripts/indexpage.js b/dashboard-ui/scripts/indexpage.js
index 0bfe3c68bf..1374925214 100644
--- a/dashboard-ui/scripts/indexpage.js
+++ b/dashboard-ui/scripts/indexpage.js
@@ -14,27 +14,202 @@
var random = Math.floor((Math.random() * tips.length * 1.5));
var tip = tips[random];
-
+
if (tip) {
$('#tip', page).html(tip).show();
} else {
$('#tip', page).hide();
}
}
-
+
function getViewHtml(view) {
var html = '';
- html += '';
+ html += '';
- html += '' + view.name + '
';
+ html += '' + view.name + '
';
html += '';
return html;
}
+ function appendViewImages(elem, urls) {
+
+ var html = '';
+
+ for (var i = 0, length = urls.length; i < length; i++) {
+
+ var url = urls[i];
+
+ html += '
';
+
+ }
+
+
+ elem.html(html);
+ }
+
+ function renderMovieViewImages(page, userId) {
+
+ apiClient.getItems(userId, {
+
+ SortBy: "random",
+ IncludeItemTypes: "Movie",
+ Limit: 6,
+ ImageTypes: "Primary",
+ Recursive: true
+
+ }).done(function (result) {
+
+ var urls = [];
+
+ for (var i = 0, length = result.Items.length; i < length; i++) {
+
+ urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
+ width: 160
+ }));
+
+ }
+
+ appendViewImages($('#moviesView .posterItemImage', page), urls);
+
+ });
+
+ }
+
+ function renderMusicViewImages(page, userId) {
+
+ apiClient.getItems(userId, {
+
+ SortBy: "random",
+ IncludeItemTypes: "MusicAlbum",
+ Limit: 6,
+ ImageTypes: "Primary",
+ Recursive: true
+
+ }).done(function (result) {
+
+ var urls = [];
+
+ for (var i = 0, length = result.Items.length; i < length; i++) {
+
+ urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
+ width: 160
+ }));
+
+ }
+
+ appendViewImages($('#musicView .posterItemImage', page), urls);
+
+ });
+
+ }
+
+ function renderGamesViewImages(page, userId) {
+
+ apiClient.getItems(userId, {
+
+ SortBy: "random",
+ MediaTypes: "Game",
+ Limit: 6,
+ ImageTypes: "Primary",
+ Recursive: true
+
+ }).done(function (result) {
+
+ var urls = [];
+
+ for (var i = 0, length = result.Items.length; i < length; i++) {
+
+ urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
+ width: 160
+ }));
+
+ }
+
+ appendViewImages($('#gamesView .posterItemImage', page), urls);
+
+ });
+
+ }
+
+ function renderTvViewImages(page, userId) {
+
+ apiClient.getItems(userId, {
+
+ SortBy: "random",
+ IncludeItemTypes: "Series",
+ Limit: 6,
+ ImageTypes: "Primary",
+ Recursive: true
+
+ }).done(function (result) {
+
+ var urls = [];
+
+ for (var i = 0, length = result.Items.length; i < length; i++) {
+
+ urls.push(LibraryBrowser.getImageUrl(result.Items[i], 'Primary', 0, {
+ width: 160
+ }));
+
+ }
+
+ appendViewImages($('#tvView .posterItemImage', page), urls);
+
+ });
+
+ }
+
+ function renderViews(page, userId) {
+
+ apiClient.getItemCounts(userId).done(function (counts) {
+
+ var views = [];
+
+ if (counts.MovieCount || counts.TrailerCount) {
+ views.push({ id: "moviesView", name: "Movies", url: "moviesrecommended.html", img: "css/images/items/list/chapter.png", background: "#0094FF" });
+ }
+
+ if (counts.EpisodeCount || counts.SeriesCount) {
+ views.push({ id: "tvView", name: "TV Shows", url: "tvrecommended.html", img: "css/images/items/list/collection.png", background: "#FF870F" });
+ }
+
+ if (counts.SongCount || counts.MusicVideoCount) {
+ views.push({ id: "musicView", name: "Music", url: "musicrecommended.html", img: "css/images/items/list/audiocollection.png", background: "#6FBD45" });
+ }
+
+ if (counts.GameCount) {
+ views.push({ id: "gamesView", name: "Games", url: "gamesrecommended.html", img: "css/images/items/list/gamecollection.png", background: "#E12026" });
+ }
+
+ var html = '';
+
+ for (var i = 0, length = views.length; i < length; i++) {
+
+ html += getViewHtml(views[i]);
+ }
+
+ var elem = $('#views', page).html(html);
+
+ if (counts.MovieCount || counts.TrailerCount) {
+ renderMovieViewImages(elem, userId);
+ }
+ if (counts.EpisodeCount || counts.SeriesCount) {
+ renderTvViewImages(elem, userId);
+ }
+ if (counts.SongCount || counts.MusicVideoCount) {
+ renderMusicViewImages(elem, userId);
+ }
+ if (counts.GameCount) {
+ renderGamesViewImages(elem, userId);
+ }
+ });
+
+ }
+
$(document).on('pagebeforeshow', "#indexPage", function () {
var page = this;
@@ -45,41 +220,13 @@
return;
}
+ renderViews(page, userId);
+
var options = {
sortBy: "SortName"
};
- apiClient.getItemCounts(userId).done(function (counts) {
-
- var views = [];
-
- if (counts.MovieCount || counts.TrailerCount) {
- views.push({ name: "Movies", url: "moviesrecommended.html", img: "css/images/items/list/chapter.png", background: "#0094FF" });
- }
-
- if (counts.EpisodeCount || counts.SeriesCount) {
- views.push({ name: "TV Shows", url: "tvrecommended.html", img: "css/images/items/list/collection.png", background: "#FF870F" });
- }
-
- if (counts.SongCount || counts.MusicVideoCount) {
- views.push({ name: "Music", url: "musicrecommended.html", img: "css/images/items/list/audiocollection.png", background: "#6FBD45" });
- }
-
- if (counts.GameCount) {
- views.push({ name: "Games", url: "gamesrecommended.html", img: "css/images/items/list/gamecollection.png", background: "#E12026" });
- }
-
- var html = '';
-
- for (var i = 0, length = views.length; i < length; i++) {
-
- html += getViewHtml(views[i]);
- }
-
- $('#views', page).html(html);
- });
-
apiClient.getItems(userId, options).done(function (result) {
$('#divCollections', page).html(LibraryBrowser.getPosterViewHtml({