diff --git a/dashboard-ui/scripts/Itemdetailpage.js b/dashboard-ui/scripts/Itemdetailpage.js
index 66647cc716..86f9e225bd 100644
--- a/dashboard-ui/scripts/Itemdetailpage.js
+++ b/dashboard-ui/scripts/Itemdetailpage.js
@@ -167,35 +167,35 @@
if (imageTags.Logo) {
- html += createGalleryImage(item.Id, "Logo", item.ImageTags.Logo);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Logo", item.ImageTags.Logo);
}
if (imageTags.Thumb) {
- html += createGalleryImage(item.Id, "Thumb", item.ImageTags.Thumb);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Thumb", item.ImageTags.Thumb);
}
if (imageTags.Art) {
- html += createGalleryImage(item.Id, "Art", item.ImageTags.Art);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Art", item.ImageTags.Art);
}
if (imageTags.Menu) {
- html += createGalleryImage(item.Id, "Menu", item.ImageTags.Menu);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Menu", item.ImageTags.Menu);
}
if (imageTags.Disc) {
- html += createGalleryImage(item.Id, "Disc", item.ImageTags.Disc);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Disc", item.ImageTags.Disc);
}
if (imageTags.Box) {
- html += createGalleryImage(item.Id, "Box", item.ImageTags.Box);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Box", item.ImageTags.Box);
}
if (item.BackdropImageTags) {
for (i = 0, length = item.BackdropImageTags.length; i < length; i++) {
- html += createGalleryImage(item.Id, "Backdrop", item.BackdropImageTags[0], i);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Backdrop", item.BackdropImageTags[0], i);
}
}
@@ -203,44 +203,13 @@
if (item.ScreenshotImageTags) {
for (i = 0, length = item.ScreenshotImageTags.length; i < length; i++) {
- html += createGalleryImage(item.Id, "Screenshot", item.ScreenshotImageTags[0], i);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Screenshot", item.ScreenshotImageTags[0], i);
}
}
$('#galleryContent', page).html(html).trigger('create');
}
- function createGalleryImage(itemId, type, tag, index) {
-
- var downloadWidth = 400;
- var lightboxWidth = 800;
- var html = '';
-
- if (typeof (index) == "undefined") index = 0;
-
- html += '
';
-
- html += '';
-
- return html;
- }
-
function renderMediaInfo(page, item) {
var html = '';
@@ -433,32 +402,9 @@
for (var i = 0, length = casts.length; i < length; i++) {
- var cast = casts[i];
- var role = cast.Role || cast.Type;
-
- html += '';
- html += '';
-
- if (cast.PrimaryImageTag) {
-
- var imgUrl = ApiClient.getPersonImageUrl(cast.Name, {
- width: 185,
- tag: cast.PrimaryImageTag,
- type: "primary"
- });
-
- html += '

';
- } else {
- var style = "background-color:" + LibraryBrowser.getMetroColor(cast.Name) + ";";
-
- html += '

';
- }
-
- html += '
' + cast.Name + '
';
- html += '
' + role + '
';
-
- html += '
';
+ var cast = casts[i];
+ html += LibraryBrowser.createCastImage(cast);
}
$('#castContent', page).html(html);
diff --git a/dashboard-ui/scripts/gamedetailpage.js b/dashboard-ui/scripts/gamedetailpage.js
index 0736e6e86a..0edd16a732 100644
--- a/dashboard-ui/scripts/gamedetailpage.js
+++ b/dashboard-ui/scripts/gamedetailpage.js
@@ -90,35 +90,35 @@
if (imageTags.Logo) {
- html += createGalleryImage(item.Id, "Logo", item.ImageTags.Logo);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Logo", item.ImageTags.Logo);
}
if (imageTags.Thumb) {
- html += createGalleryImage(item.Id, "Thumb", item.ImageTags.Thumb);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Thumb", item.ImageTags.Thumb);
}
if (imageTags.Art) {
- html += createGalleryImage(item.Id, "Art", item.ImageTags.Art);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Art", item.ImageTags.Art);
}
if (imageTags.Menu) {
- html += createGalleryImage(item.Id, "Menu", item.ImageTags.Menu);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Menu", item.ImageTags.Menu);
}
if (imageTags.Disc) {
- html += createGalleryImage(item.Id, "Disc", item.ImageTags.Disc);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Disc", item.ImageTags.Disc);
}
if (imageTags.Box) {
- html += createGalleryImage(item.Id, "Box", item.ImageTags.Box);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Box", item.ImageTags.Box);
}
if (item.BackdropImageTags) {
for (var i = 0, length = item.BackdropImageTags.length; i < length; i++) {
- html += createGalleryImage(item.Id, "Backdrop", item.BackdropImageTags[0], i);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Backdrop", item.BackdropImageTags[0], i);
}
}
@@ -126,37 +126,6 @@
$('#galleryContent', page).html(html).trigger('create');
}
- function createGalleryImage(itemId, type, tag, index) {
-
- var downloadWidth = 400;
- var lightboxWidth = 800;
- var html = '';
-
- if (typeof (index) == "undefined") index = 0;
-
- html += '';
-
- html += '';
-
- return html;
- }
-
function renderTrailers(page, item) {
var html = '';
diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js
index 22cfbc31af..49466724ef 100644
--- a/dashboard-ui/scripts/librarybrowser.js
+++ b/dashboard-ui/scripts/librarybrowser.js
@@ -977,7 +977,70 @@
}
return html;
- }
+ },
+
+ createGalleryImage: function (itemId, type, tag, index) {
+
+ var downloadWidth = 400;
+ var lightboxWidth = 800;
+ var html = '';
+
+ if (typeof (index) == "undefined") index = 0;
+
+ html += '';
+
+ html += '';
+
+ return html;
+ },
+
+ createCastImage: function (cast) {
+
+ var html = '';
+
+ var role = cast.Role || cast.Type;
+
+ html += '';
+ html += '';
+
+ if (cast.PrimaryImageTag) {
+
+ var imgUrl = ApiClient.getPersonImageUrl(cast.Name, {
+ width: 185,
+ tag: cast.PrimaryImageTag,
+ type: "primary"
+ });
+
+ html += '

';
+ } else {
+ var style = "background-color:" + LibraryBrowser.getMetroColor(cast.Name) + ";";
+
+ html += '

';
+ }
+
+ html += '
' + cast.Name + '
';
+ html += '
' + role + '
';
+
+ html += '
';
+
+ return html;
+ }
};
diff --git a/dashboard-ui/scripts/tvseries.js b/dashboard-ui/scripts/tvseries.js
index 86f3663369..1c1a86b25a 100644
--- a/dashboard-ui/scripts/tvseries.js
+++ b/dashboard-ui/scripts/tvseries.js
@@ -1,4 +1,6 @@
-(function ($, document, LibraryBrowser) {
+(function ($, document, LibraryBrowser, window) {
+
+ var currentItem;
function reload(page) {
@@ -8,7 +10,9 @@
ApiClient.getItem(Dashboard.getCurrentUserId(), id).done(function (item) {
- var name = item.Name;
+ currentItem = item;
+
+ var name = item.Name;
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
@@ -16,12 +20,22 @@
$('#itemName', page).html(name);
+ setInitialCollapsibleState(page, item);
renderDetails(page, item);
Dashboard.hideLoadingMsg();
});
}
+ function setInitialCollapsibleState(page, item) {
+
+ if (!item.People || !item.People.length) {
+ $('#castCollapsible', page).hide();
+ } else {
+ $('#castCollapsible', page).show();
+ }
+ }
+
function renderDetails(page, item) {
if (item.Taglines && item.Taglines.length) {
@@ -58,8 +72,8 @@
function renderUserDataIcons(page, item) {
$('#itemRatings', page).html(LibraryBrowser.getUserDataIconsHtml(item));
}
-
- function renderSeasons(page) {
+
+ function renderSeasons(page) {
ApiClient.getItems(Dashboard.getCurrentUserId(), {
@@ -73,30 +87,122 @@
useAverageAspectRatio: true
});
-
$('#seasonsContent', page).html(html);
});
}
- $(document).on('pageshow', "#tvSeriesPage", function () {
+ function renderGallery(page, item) {
- var page = this;
-
- reload(page);
+ var imageTags = item.ImageTags || {};
+ var html = '';
+ var i, length;
- $('#seasonsCollapsible', page).on('expand.lazyload', function () {
+ if (imageTags.Logo) {
- renderSeasons(page);
+ html += LibraryBrowser.createGalleryImage(item.Id, "Logo", item.ImageTags.Logo);
+ }
+ if (imageTags.Thumb) {
- $(this).off('expand.lazyload');
- });
-
- }).on('pagehide', "#tvSeriesPage", function () {
+ html += LibraryBrowser.createGalleryImage(item.Id, "Thumb", item.ImageTags.Thumb);
+ }
+ if (imageTags.Art) {
- var page = this;
+ html += LibraryBrowser.createGalleryImage(item.Id, "Art", item.ImageTags.Art);
- $('#seasonsCollapsible', page).off('expand.lazyload');
- });
+ }
+ if (imageTags.Menu) {
+ html += LibraryBrowser.createGalleryImage(item.Id, "Menu", item.ImageTags.Menu);
-})(jQuery, document, LibraryBrowser);
\ No newline at end of file
+ }
+ if (imageTags.Disc) {
+
+ html += LibraryBrowser.createGalleryImage(item.Id, "Disc", item.ImageTags.Disc);
+ }
+ if (imageTags.Box) {
+
+ html += LibraryBrowser.createGalleryImage(item.Id, "Box", item.ImageTags.Box);
+ }
+
+ if (item.BackdropImageTags) {
+
+ for (i = 0, length = item.BackdropImageTags.length; i < length; i++) {
+ html += LibraryBrowser.createGalleryImage(item.Id, "Backdrop", item.BackdropImageTags[0], i);
+ }
+
+ }
+
+ if (item.ScreenshotImageTags) {
+
+ for (i = 0, length = item.ScreenshotImageTags.length; i < length; i++) {
+ html += LibraryBrowser.createGalleryImage(item.Id, "Screenshot", item.ScreenshotImageTags[0], i);
+ }
+ }
+
+ $('#galleryContent', page).html(html).trigger('create');
+ }
+
+ function renderCast(page, item) {
+ var html = '';
+
+ var casts = item.People || [];
+
+ for (var i = 0, length = casts.length; i < length; i++) {
+
+ var cast = casts[i];
+
+ html += LibraryBrowser.createCastImage(cast);
+ }
+
+ $('#castContent', page).html(html);
+ }
+
+ $(document).on('pageinit', "#tvSeriesPage", function () {
+
+ var page = this;
+
+ }).on('pageshow', "#tvSeriesPage", function () {
+
+ var page = this;
+
+ reload(page);
+
+ $('#seasonsCollapsible', page).on('expand.lazyload', function () {
+
+ renderSeasons(page);
+
+ $(this).off('expand.lazyload');
+ });
+
+ $('#castCollapsible', page).on('expand.lazyload', function () {
+ renderCast(page, currentItem);
+
+ $(this).off('expand.lazyload');
+ });
+
+ $('#galleryCollapsible', page).on('expand.lazyload', function () {
+
+ renderGallery(page, currentItem);
+
+ $(this).off('expand.lazyload');
+ });
+
+ }).on('pagehide', "#tvSeriesPage", function () {
+
+ currentItem = null;
+ var page = this;
+
+ $('#seasonsCollapsible', page).off('expand.lazyload');
+ $('#castCollapsible', page).off('expand.lazyload');
+ $('#galleryCollapsible', page).off('expand.lazyload');
+ });
+
+ function tvSeriesPage() {
+
+ var self = this;
+
+ }
+
+ window.TvSeriesPage = new tvSeriesPage();
+
+})(jQuery, document, LibraryBrowser, window);