mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
better detail page context
This commit is contained in:
parent
7304a6584e
commit
dd808d8298
12 changed files with 302 additions and 798 deletions
|
@ -12,6 +12,8 @@
|
|||
|
||||
currentItem = item;
|
||||
|
||||
renderHeader(page, item);
|
||||
|
||||
var name = item.Name;
|
||||
|
||||
if (item.IndexNumber != null) {
|
||||
|
@ -29,11 +31,11 @@
|
|||
|
||||
if (item.SeriesName) {
|
||||
|
||||
$('#seriesName', page).html('<a class="detailPageParentLink" href="tvseries.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>').show().trigger('create');
|
||||
$('#seriesName', page).html('<a class="detailPageParentLink" href="itemdetails.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>').show().trigger('create');
|
||||
}
|
||||
else if (item.Album) {
|
||||
$('#seriesName', page).html(item.Album).show();
|
||||
|
||||
|
||||
} else {
|
||||
$('#seriesName', page).hide();
|
||||
}
|
||||
|
@ -45,51 +47,117 @@
|
|||
$('#btnPlayMenu', page).show();
|
||||
$('#playButtonShadow', page).show();
|
||||
if (MediaPlayer.isPlaying())
|
||||
$('#btnQueueMenu', page).show();
|
||||
else
|
||||
$('#btnQueueMenu', page).hide();
|
||||
$('#btnQueueMenu', page).show();
|
||||
else
|
||||
$('#btnQueueMenu', page).hide();
|
||||
} else {
|
||||
$('#btnPlayMenu', page).hide();
|
||||
$('#playButtonShadow', page).hide();
|
||||
$('#btnQueueMenu', page).hide();
|
||||
}
|
||||
|
||||
if (LibraryBrowser.shouldDisplayGallery(item)) {
|
||||
$('#galleryCollapsible', page).show();
|
||||
} else {
|
||||
$('#galleryCollapsible', page).hide();
|
||||
}
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
}
|
||||
|
||||
function enableCustomHeader(page, text) {
|
||||
var elem = $('.libraryPageHeader', page).show();
|
||||
|
||||
$('span', elem).html(text);
|
||||
}
|
||||
|
||||
function renderHeader(page, item) {
|
||||
|
||||
if (item.Type == "Movie" || item.Type == "Trailer" || item.Type == "BoxSet") {
|
||||
enableCustomHeader(page, "Movies");
|
||||
$('#standardLogo', page).hide();
|
||||
}
|
||||
else if (item.Type == "Episode" || item.Type == "Season" || item.Type == "Series") {
|
||||
enableCustomHeader(page, "TV Shows");
|
||||
$('#standardLogo', page).hide();
|
||||
}
|
||||
else if (item.Type == "Audio") {
|
||||
enableCustomHeader(page, "Music");
|
||||
$('#standardLogo', page).hide();
|
||||
}
|
||||
else {
|
||||
$('.libraryPageHeader', page).hide();
|
||||
$('#standardLogo', page).show();
|
||||
}
|
||||
|
||||
if (item.Type == "Audio") {
|
||||
$('#songTabs', page).show();
|
||||
} else {
|
||||
$('#songTabs', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "Movie") {
|
||||
$('#movieTabs', page).show();
|
||||
} else {
|
||||
$('#movieTabs', page).hide();
|
||||
}
|
||||
|
||||
if (item.Type == "BoxSet") {
|
||||
$('#boxsetTabs', page).show();
|
||||
} else {
|
||||
$('#boxsetTabs', page).hide();
|
||||
}
|
||||
if (item.Type == "Trailer") {
|
||||
$('#trailerTabs', page).show();
|
||||
} else {
|
||||
$('#trailerTabs', page).hide();
|
||||
}
|
||||
if (item.Type == "Episode" || item.Type == "Season" || item.Type == "Series") {
|
||||
$('#tvShowsTabs', page).show();
|
||||
} else {
|
||||
$('#tvShowsTabs', page).hide();
|
||||
}
|
||||
}
|
||||
|
||||
function setInitialCollapsibleState(page, item) {
|
||||
|
||||
if (item.ChildCount) {
|
||||
$('#childrenCollapsible', page).show();
|
||||
renderChildren(page, item);
|
||||
} else {
|
||||
$('#childrenCollapsible', page).hide();
|
||||
}
|
||||
if (LibraryBrowser.shouldDisplayGallery(item)) {
|
||||
$('#galleryCollapsible', page).show();
|
||||
renderGallery(page, item);
|
||||
} else {
|
||||
$('#galleryCollapsible', page).hide();
|
||||
}
|
||||
|
||||
if (!item.MediaStreams || !item.MediaStreams.length) {
|
||||
$('#mediaInfoCollapsible', page).hide();
|
||||
} else {
|
||||
$('#mediaInfoCollapsible', page).show();
|
||||
renderMediaInfo(page, item);
|
||||
}
|
||||
if (!item.Chapters || !item.Chapters.length) {
|
||||
$('#scenesCollapsible', page).hide();
|
||||
} else {
|
||||
$('#scenesCollapsible', page).show();
|
||||
renderScenes(page, item);
|
||||
}
|
||||
if (!item.LocalTrailerCount || item.LocalTrailerCount == 0) {
|
||||
$('#trailersCollapsible', page).hide();
|
||||
} else {
|
||||
$('#trailersCollapsible', page).show();
|
||||
renderTrailers(page, item);
|
||||
}
|
||||
if (!item.SpecialFeatureCount || item.SpecialFeatureCount == 0) {
|
||||
$('#specialsCollapsible', page).hide();
|
||||
} else {
|
||||
$('#specialsCollapsible', page).show();
|
||||
renderSpecials(page, item);
|
||||
}
|
||||
if (!item.People || !item.People.length) {
|
||||
$('#castCollapsible', page).hide();
|
||||
} else {
|
||||
$('#castCollapsible', page).show();
|
||||
renderCast(page, item);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -121,6 +189,37 @@
|
|||
LibraryBrowser.renderLinks($('#itemLinks', page), item);
|
||||
}
|
||||
|
||||
function renderChildren(page, item) {
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), {
|
||||
|
||||
ParentId: getParameterByName('id'),
|
||||
SortBy: "SortName",
|
||||
Fields: "PrimaryImageAspectRatio,ItemCounts,DisplayMediaType,DateCreated,UserData"
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var html = LibraryBrowser.getPosterDetailViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true
|
||||
});
|
||||
|
||||
$('#childrenContent', page).html(html);
|
||||
});
|
||||
|
||||
if (item.Type == "Season") {
|
||||
$('#childrenTitle', page).html('Episodes (' + item.ChildCount + ')');
|
||||
}
|
||||
else if (item.Type == "Series") {
|
||||
$('#childrenTitle', page).html('Seasons (' + item.ChildCount + ')');
|
||||
}
|
||||
else if (item.Type == "BoxSet") {
|
||||
$('#childrenTitle', page).html('Movies (' + item.ChildCount + ')');
|
||||
}
|
||||
else {
|
||||
$('#childrenTitle', page).html('Items (' + item.ChildCount + ')');
|
||||
}
|
||||
}
|
||||
function renderUserDataIcons(page, item) {
|
||||
$('#itemRatings', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
||||
}
|
||||
|
@ -135,13 +234,13 @@
|
|||
var chapter = chapters[i];
|
||||
var chapterName = chapter.Name || "Chapter " + i;
|
||||
|
||||
html += '<div class="posterViewItem posterViewItemWithDualText">';
|
||||
html += '<div class="scenePosterViewItem posterViewItem posterViewItemWithDualText">';
|
||||
html += '<a href="#play-Chapter-' + i + '" onclick="ItemDetailPage.play(' + chapter.StartPositionTicks + ');">';
|
||||
|
||||
if (chapter.ImageTag) {
|
||||
|
||||
var imgUrl = ApiClient.getImageUrl(item.Id, {
|
||||
width: 500,
|
||||
width: 400,
|
||||
tag: chapter.ImageTag,
|
||||
type: "Chapter",
|
||||
index: i
|
||||
|
@ -259,8 +358,6 @@
|
|||
}
|
||||
|
||||
$('#mediaInfoContent', page).html(html).trigger('create');
|
||||
|
||||
$('#mediaInfoCollapsible', page).show();
|
||||
}
|
||||
|
||||
function renderSpecials(page, item) {
|
||||
|
@ -366,9 +463,9 @@
|
|||
|
||||
for (var i = 0, length = casts.length; i < length; i++) {
|
||||
|
||||
var cast = casts[i];
|
||||
var cast = casts[i];
|
||||
|
||||
html += LibraryBrowser.createCastImage(cast);
|
||||
html += LibraryBrowser.createCastImage(cast);
|
||||
}
|
||||
|
||||
$('#castContent', page).html(html);
|
||||
|
@ -439,58 +536,9 @@
|
|||
|
||||
reload(page);
|
||||
|
||||
$('#mediaInfoCollapsible', page).on('expand.lazyload', function () {
|
||||
renderMediaInfo(page, currentItem);
|
||||
|
||||
$(this).off('expand.lazyload');
|
||||
});
|
||||
|
||||
$('#scenesCollapsible', page).on('expand.lazyload', function () {
|
||||
|
||||
if (currentItem) {
|
||||
|
||||
renderScenes(page, currentItem);
|
||||
|
||||
$(this).off('expand.lazyload');
|
||||
}
|
||||
});
|
||||
|
||||
$('#specialsCollapsible', page).on('expand.lazyload', function () {
|
||||
renderSpecials(page, currentItem);
|
||||
|
||||
$(this).off('expand.lazyload');
|
||||
});
|
||||
|
||||
$('#trailersCollapsible', page).on('expand.lazyload', function () {
|
||||
renderTrailers(page, currentItem);
|
||||
|
||||
$(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', "#itemDetailPage", function () {
|
||||
|
||||
currentItem = null;
|
||||
var page = this;
|
||||
|
||||
$('#mediaInfoCollapsible', page).off('expand.lazyload');
|
||||
$('#scenesCollapsible', page).off('expand.lazyload');
|
||||
$('#specialsCollapsible', page).off('expand.lazyload');
|
||||
$('#trailersCollapsible', page).off('expand.lazyload');
|
||||
$('#castCollapsible', page).off('expand.lazyload');
|
||||
$('#galleryCollapsible', page).off('expand.lazyload');
|
||||
});
|
||||
|
||||
function itemDetailPage() {
|
||||
|
|
|
@ -1,121 +0,0 @@
|
|||
(function ($, document, LibraryBrowser) {
|
||||
|
||||
var currentItem;
|
||||
|
||||
function reload(page) {
|
||||
|
||||
var id = getParameterByName('id');
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.getItem(Dashboard.getCurrentUserId(), id).done(function (item) {
|
||||
|
||||
currentItem = item;
|
||||
|
||||
var name = item.Name;
|
||||
|
||||
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
|
||||
|
||||
Dashboard.setPageTitle(name);
|
||||
|
||||
$('#itemName', page).html(name);
|
||||
|
||||
renderDetails(page, item);
|
||||
|
||||
if (LibraryBrowser.shouldDisplayGallery(item)) {
|
||||
$('#galleryCollapsible', page).show();
|
||||
} else {
|
||||
$('#galleryCollapsible', page).hide();
|
||||
}
|
||||
|
||||
$('#moviesCollapsible .collapsibleTitle', page).html('Titles (' + item.ChildCount + ')');
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
});
|
||||
}
|
||||
|
||||
function renderDetails(page, item) {
|
||||
|
||||
if (item.Taglines && item.Taglines.length) {
|
||||
$('#itemTagline', page).html(item.Taglines[0]).show();
|
||||
} else {
|
||||
$('#itemTagline', page).hide();
|
||||
}
|
||||
|
||||
LibraryBrowser.renderOverview($('#itemOverview', page), item);
|
||||
|
||||
if (item.CommunityRating) {
|
||||
$('#itemCommunityRating', page).html(LibraryBrowser.getStarRatingHtml(item)).show().attr('title', item.CommunityRating);
|
||||
} else {
|
||||
$('#itemCommunityRating', page).hide();
|
||||
}
|
||||
|
||||
$('#itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
|
||||
|
||||
LibraryBrowser.renderGenres($('#itemGenres', page), item);
|
||||
LibraryBrowser.renderStudios($('#itemStudios', page), item);
|
||||
renderUserDataIcons(page, item);
|
||||
LibraryBrowser.renderLinks($('#itemLinks', page), item);
|
||||
}
|
||||
|
||||
function renderUserDataIcons(page, item) {
|
||||
$('#itemRatings', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
||||
}
|
||||
|
||||
function renderMovies(page) {
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), {
|
||||
|
||||
ParentId: getParameterByName('id'),
|
||||
SortBy: "SortName",
|
||||
Fields: "PrimaryImageAspectRatio,ItemCounts,DisplayMediaType,DateCreated,UserData"
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var html = LibraryBrowser.getPosterDetailViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true
|
||||
});
|
||||
|
||||
|
||||
$('#moviesContent', page).html(html);
|
||||
});
|
||||
}
|
||||
|
||||
function renderGallery(page, item) {
|
||||
|
||||
var html = LibraryBrowser.getGalleryHtml(item);
|
||||
|
||||
$('#galleryContent', page).html(html).trigger('create');
|
||||
}
|
||||
|
||||
$(document).on('pageshow', "#boxsetPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
reload(page);
|
||||
|
||||
$('#moviesCollapsible', page).on('expand.lazyload', function () {
|
||||
|
||||
renderMovies(page);
|
||||
|
||||
$(this).off('expand.lazyload');
|
||||
});
|
||||
|
||||
$('#galleryCollapsible', page).on('expand.lazyload', function () {
|
||||
|
||||
renderGallery(page, currentItem);
|
||||
|
||||
$(this).off('expand.lazyload');
|
||||
});
|
||||
|
||||
}).on('pagehide', "#boxsetPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
$('#moviesCollapsible', page).off('expand.lazyload');
|
||||
$('#galleryCollapsible', page).off('expand.lazyload');
|
||||
});
|
||||
|
||||
|
||||
})(jQuery, document, LibraryBrowser);
|
|
@ -159,13 +159,13 @@
|
|||
}
|
||||
|
||||
if (item.Type == "Series") {
|
||||
return "tvseries.html?id=" + item.Id;
|
||||
return "itemdetails.html?id=" + item.Id;
|
||||
}
|
||||
if (item.Type == "Season") {
|
||||
return "tvseason.html?id=" + item.Id;
|
||||
return "itemdetails.html?id=" + item.Id;
|
||||
}
|
||||
if (item.Type == "BoxSet") {
|
||||
return "boxset.html?id=" + item.Id;
|
||||
return "itemdetails.html?id=" + item.Id;
|
||||
}
|
||||
if (item.Type == "Genre") {
|
||||
return "itembynamedetails.html?genre=" + item.Name;
|
||||
|
@ -1246,10 +1246,6 @@
|
|||
html += LibraryBrowser.createGalleryImage(item.Id, "Menu", imageTags.Menu);
|
||||
|
||||
}
|
||||
if (imageTags.Disc) {
|
||||
|
||||
html += LibraryBrowser.createGalleryImage(item.Id, "Disc", imageTags.Disc);
|
||||
}
|
||||
if (imageTags.Box) {
|
||||
|
||||
html += LibraryBrowser.createGalleryImage(item.Id, "Box", imageTags.Box);
|
||||
|
@ -1269,6 +1265,10 @@
|
|||
html += LibraryBrowser.createGalleryImage(item.Id, "Screenshot", item.ScreenshotImageTags[i], i);
|
||||
}
|
||||
}
|
||||
if (imageTags.Disc) {
|
||||
|
||||
html += LibraryBrowser.createGalleryImage(item.Id, "Disc", imageTags.Disc);
|
||||
}
|
||||
|
||||
return html;
|
||||
},
|
||||
|
|
|
@ -632,7 +632,7 @@ var Dashboard = {
|
|||
|
||||
ensureHeader: function (page) {
|
||||
|
||||
if (!$('.header', page).length) {
|
||||
if (!$('.headerButtons', page).length) {
|
||||
|
||||
var isLoggedIn = Dashboard.getCurrentUserId();
|
||||
|
||||
|
@ -652,28 +652,39 @@ var Dashboard = {
|
|||
renderHeader: function (page, user) {
|
||||
|
||||
var headerHtml = '';
|
||||
headerHtml += '<div class="header">';
|
||||
|
||||
var isLibraryPage = page.hasClass('libraryPage');
|
||||
|
||||
if (!page.hasClass('noLogoPage')) {
|
||||
headerHtml += '<a class="logo" href="index.html">';
|
||||
var header = $('.header', page);
|
||||
|
||||
if (!header.length) {
|
||||
headerHtml += '<div class="header">';
|
||||
|
||||
if (page.hasClass('standalonePage')) {
|
||||
if (!page.hasClass('noLogoPage')) {
|
||||
headerHtml += '<a class="logo" href="index.html">';
|
||||
|
||||
headerHtml += '<img class="imgLogoIcon" src="css/images/mblogoicon.png" /><img class="imgLogoText" src="css/images/mblogotextblack.png" />';
|
||||
if (page.hasClass('standalonePage')) {
|
||||
|
||||
headerHtml += '<img class="imgLogoIcon" src="css/images/mblogoicon.png" /><img class="imgLogoText" src="css/images/mblogotextblack.png" />';
|
||||
}
|
||||
else if (isLibraryPage) {
|
||||
|
||||
headerHtml += '<img class="imgLogoIcon" src="css/images/mblogoicon.png" /><img class="imgLogoText" src="css/images/mblogotextwhite.png" />';
|
||||
}
|
||||
headerHtml += '</a>';
|
||||
}
|
||||
else if (isLibraryPage) {
|
||||
headerHtml += '</div>';
|
||||
page.prepend(headerHtml);
|
||||
|
||||
headerHtml += '<img class="imgLogoIcon" src="css/images/mblogoicon.png" /><img class="imgLogoText" src="css/images/mblogotextwhite.png" />';
|
||||
}
|
||||
headerHtml += '</a>';
|
||||
header = $('.header', page);
|
||||
}
|
||||
|
||||
var imageColor = isLibraryPage ? "white" : "black";
|
||||
|
||||
headerHtml = '';
|
||||
headerHtml += '<div class="headerButtons">';
|
||||
|
||||
if (user && !page.hasClass('wizardPage')) {
|
||||
headerHtml += '<div class="headerButtons">';
|
||||
headerHtml += '<a class="imageLink btnCurrentUser" href="#" onclick="Dashboard.showUserFlyout();"><span class="currentUsername">' + user.Name + '</span>';
|
||||
|
||||
if (user.PrimaryImageTag) {
|
||||
|
@ -694,15 +705,15 @@ var Dashboard = {
|
|||
headerHtml += '<a class="imageLink btnTools" href="dashboard.html"><img src="css/images/tools' + imageColor + '.png" /></a>';
|
||||
}
|
||||
|
||||
headerHtml += '</div>';
|
||||
}
|
||||
|
||||
headerHtml += '</div>';
|
||||
page.prepend(headerHtml);
|
||||
|
||||
header.append(headerHtml);
|
||||
|
||||
Dashboard.getPluginSecurityInfo().done(function (pluginSecurityInfo) {
|
||||
if (pluginSecurityInfo.IsMBSupporter) {
|
||||
$('<a class="imageLink" href="supporter.html"><img src="css/images/supporter/supporterbadge.png" /></a>').insertBefore('.btnTools', page);
|
||||
$('<a class="imageLink" href="supporter.html"><img src="css/images/supporter/supporterbadge.png" /></a>').insertBefore('.btnTools', header);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
|
@ -1,153 +0,0 @@
|
|||
(function ($, document, LibraryBrowser, window) {
|
||||
|
||||
var currentItem;
|
||||
|
||||
function reload(page) {
|
||||
|
||||
var id = getParameterByName('id');
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.getItem(Dashboard.getCurrentUserId(), id).done(function (item) {
|
||||
|
||||
currentItem = item;
|
||||
|
||||
var name = item.Name;
|
||||
|
||||
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
|
||||
|
||||
Dashboard.setPageTitle(name);
|
||||
|
||||
$('#itemName', page).html(name);
|
||||
$('#seriesName', page).html('<a class="detailPageParentLink" href="tvseries.html?id=' + item.SeriesId + '">' + item.SeriesName + '</a>').trigger('create');
|
||||
|
||||
setInitialCollapsibleState(page, item);
|
||||
renderDetails(page, item);
|
||||
|
||||
if (LibraryBrowser.shouldDisplayGallery(item)) {
|
||||
$('#galleryCollapsible', page).show();
|
||||
} else {
|
||||
$('#galleryCollapsible', page).hide();
|
||||
}
|
||||
|
||||
$('#episodesCollapsible .collapsibleTitle', page).html('Episodes (' + item.ChildCount + ')');
|
||||
|
||||
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) {
|
||||
$('#itemTagline', page).html(item.Taglines[0]).show();
|
||||
} else {
|
||||
$('#itemTagline', page).hide();
|
||||
}
|
||||
|
||||
LibraryBrowser.renderOverview($('#itemOverview', page), item);
|
||||
|
||||
if (item.CommunityRating) {
|
||||
$('#itemCommunityRating', page).html(LibraryBrowser.getStarRatingHtml(item)).show().attr('title', item.CommunityRating);
|
||||
} else {
|
||||
$('#itemCommunityRating', page).hide();
|
||||
}
|
||||
|
||||
$('#itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
|
||||
|
||||
LibraryBrowser.renderGenres($('#itemGenres', page), item);
|
||||
LibraryBrowser.renderStudios($('#itemStudios', page), item);
|
||||
renderUserDataIcons(page, item);
|
||||
LibraryBrowser.renderLinks($('#itemLinks', page), item);
|
||||
}
|
||||
|
||||
function renderUserDataIcons(page, item) {
|
||||
$('#itemRatings', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
||||
}
|
||||
|
||||
function renderSeasons(page) {
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), {
|
||||
|
||||
ParentId: getParameterByName('id'),
|
||||
SortBy: "SortName",
|
||||
Fields: "PrimaryImageAspectRatio,ItemCounts,DisplayMediaType,DateCreated,UserData"
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var html = LibraryBrowser.getPosterDetailViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true
|
||||
});
|
||||
|
||||
$('#episodesContent', page).html(html);
|
||||
});
|
||||
}
|
||||
|
||||
function renderGallery(page, item) {
|
||||
|
||||
var html = LibraryBrowser.getGalleryHtml(item);
|
||||
|
||||
$('#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('pageshow', "#tvSeasonPage", function () {
|
||||
|
||||
var page = this;
|
||||
|
||||
reload(page);
|
||||
|
||||
$('#episodesCollapsible', 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', "#tvSeasonPage", function () {
|
||||
|
||||
currentItem = null;
|
||||
var page = this;
|
||||
|
||||
$('#episodesCollapsible', page).off('expand.lazyload');
|
||||
$('#castCollapsible', page).off('expand.lazyload');
|
||||
$('#galleryCollapsible', page).off('expand.lazyload');
|
||||
});
|
||||
|
||||
})(jQuery, document, LibraryBrowser, window);
|
|
@ -1,172 +0,0 @@
|
|||
(function ($, document, LibraryBrowser, window) {
|
||||
|
||||
var currentItem;
|
||||
|
||||
function reload(page) {
|
||||
|
||||
var id = getParameterByName('id');
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
|
||||
ApiClient.getItem(Dashboard.getCurrentUserId(), id).done(function (item) {
|
||||
|
||||
currentItem = item;
|
||||
|
||||
var name = item.Name;
|
||||
|
||||
$('#itemImage', page).html(LibraryBrowser.getDetailImageHtml(item));
|
||||
|
||||
Dashboard.setPageTitle(name);
|
||||
|
||||
$('#itemName', page).html(name);
|
||||
|
||||
setInitialCollapsibleState(page, item);
|
||||
renderDetails(page, item);
|
||||
|
||||
if (LibraryBrowser.shouldDisplayGallery(item)) {
|
||||
$('#galleryCollapsible', page).show();
|
||||
} else {
|
||||
$('#galleryCollapsible', page).hide();
|
||||
}
|
||||
|
||||
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) {
|
||||
$('#itemTagline', page).html(item.Taglines[0]).show();
|
||||
} else {
|
||||
$('#itemTagline', page).hide();
|
||||
}
|
||||
|
||||
LibraryBrowser.renderOverview($('#itemOverview', page), item);
|
||||
|
||||
if (item.CommunityRating) {
|
||||
$('#itemCommunityRating', page).html(LibraryBrowser.getStarRatingHtml(item)).show().attr('title', item.CommunityRating);
|
||||
} else {
|
||||
$('#itemCommunityRating', page).hide();
|
||||
}
|
||||
|
||||
$('#itemMiscInfo', page).html(LibraryBrowser.getMiscInfoHtml(item));
|
||||
|
||||
$('#seasonsCollapsible .collapsibleTitle', page).html('Seasons (' + item.ChildCount + ')');
|
||||
|
||||
LibraryBrowser.renderPremiereDate($('#itemPremiereDate', page), item);
|
||||
LibraryBrowser.renderGenres($('#itemGenres', page), item);
|
||||
LibraryBrowser.renderStudios($('#itemStudios', page), item);
|
||||
renderUserDataIcons(page, item);
|
||||
LibraryBrowser.renderLinks($('#itemLinks', page), item);
|
||||
|
||||
var airs = item.Status == "Ended" ? "Aired" : "Airs";
|
||||
|
||||
if (item.AirDays && item.AirDays.length) {
|
||||
|
||||
airs += " " + item.AirDays.map(function (i) {
|
||||
return i.substring(0, 3);
|
||||
}).join(',');
|
||||
}
|
||||
|
||||
if (item.AirTime) {
|
||||
airs += " at " + item.AirTime;
|
||||
}
|
||||
|
||||
if (item.Studios && item.Studios.length) {
|
||||
airs += " on " + item.Studios[0];
|
||||
}
|
||||
|
||||
$('#itemAirTime', page).html(airs);
|
||||
}
|
||||
|
||||
function renderUserDataIcons(page, item) {
|
||||
$('#itemRatings', page).html(LibraryBrowser.getUserDataIconsHtml(item));
|
||||
}
|
||||
|
||||
function renderSeasons(page) {
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), {
|
||||
|
||||
ParentId: getParameterByName('id'),
|
||||
SortBy: "SortName",
|
||||
Fields: "PrimaryImageAspectRatio,ItemCounts,DisplayMediaType,DateCreated,UserData"
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var html = LibraryBrowser.getPosterDetailViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true
|
||||
});
|
||||
|
||||
$('#seasonsContent', page).html(html);
|
||||
});
|
||||
}
|
||||
|
||||
function renderGallery(page, item) {
|
||||
|
||||
var html = LibraryBrowser.getGalleryHtml(item);
|
||||
|
||||
$('#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('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');
|
||||
});
|
||||
|
||||
})(jQuery, document, LibraryBrowser, window);
|
Loading…
Add table
Add a link
Reference in a new issue