improve poster sizing
This commit is contained in:
parent
48ea645cf9
commit
cd1e583fa7
58 changed files with 931 additions and 549 deletions
|
@ -153,7 +153,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
preferThumb: true
|
||||
});
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
LibraryBrowser.saveQueryValues('channels', query);
|
||||
|
||||
|
|
|
@ -239,7 +239,7 @@
|
|||
|
||||
var nowPlayingItem = session.NowPlayingItem;
|
||||
|
||||
var className = nowPlayingItem ? 'card card-16-9 activeSession manualSize' : 'card card-16-9 activeSession manualSize';
|
||||
var className = nowPlayingItem ? 'card activeSession' : 'card activeSession';
|
||||
|
||||
if (session.TranscodingInfo && session.TranscodingInfo.CompletionPercentage) {
|
||||
className += ' transcodingSession';
|
||||
|
@ -322,7 +322,7 @@
|
|||
|
||||
html += '</div>';
|
||||
|
||||
html += '<div class="posterItemOverlayTarget">';
|
||||
html += '<div class="cardOverlayTarget">';
|
||||
|
||||
html += '<div class="sessionNowPlayingStreamInfo">' + DashboardPage.getSessionNowPlayingStreamInfo(session) + '</div>';
|
||||
html += '<div class="sessionNowPlayingTime">' + DashboardPage.getSessionNowPlayingTime(session) + '</div>';
|
||||
|
@ -978,7 +978,7 @@ $(document).on('pagebeforeshow', "#dashboardPage", DashboardPage.onPageShow)
|
|||
showOverlayTimeout = null;
|
||||
}
|
||||
|
||||
$('.posterItemOverlayTarget:visible', this).each(function () {
|
||||
$('.cardOverlayTarget:visible', this).each(function () {
|
||||
|
||||
var elem = this;
|
||||
|
||||
|
@ -990,7 +990,7 @@ $(document).on('pagebeforeshow', "#dashboardPage", DashboardPage.onPageShow)
|
|||
|
||||
});
|
||||
|
||||
$('.posterItemOverlayTarget:visible', this).stop().animate({ "height": "0" }, function () {
|
||||
$('.cardOverlayTarget:visible', this).stop().animate({ "height": "0" }, function () {
|
||||
|
||||
$(this).hide();
|
||||
|
||||
|
@ -1005,7 +1005,7 @@ $(document).on('pagebeforeshow', "#dashboardPage", DashboardPage.onPageShow)
|
|||
return;
|
||||
}
|
||||
|
||||
var innerElem = $('.posterItemOverlayTarget', elem);
|
||||
var innerElem = $('.cardOverlayTarget', elem);
|
||||
|
||||
innerElem.show().each(function () {
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
var html = '';
|
||||
|
||||
html += "<div class='card card-1-1'>";
|
||||
html += "<div class='card squareCard'>";
|
||||
|
||||
html += '<div class="cardBox visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
|
|
|
@ -44,8 +44,6 @@
|
|||
|
||||
updateFilterControls();
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
if (view == "List") {
|
||||
|
||||
html = LibraryBrowser.getListViewHtml({
|
||||
|
@ -60,7 +58,7 @@
|
|||
shape: "backdrop",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: screenWidth >= 600,
|
||||
overlayText: true,
|
||||
selectionPanel: true,
|
||||
lazy: true,
|
||||
context: 'tv'
|
||||
|
@ -69,7 +67,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('.itemsContainer', page).html(html).trigger('create').createPosterItemMenus().trigger('itemsrendered');
|
||||
$('.itemsContainer', page).html(html).trigger('create').createCardMenus().trigger('itemsrendered');
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
function getSections() {
|
||||
|
||||
return [
|
||||
{ name: Globalize.translate('HeaderFavoriteMovies'), types: "Movie", id: "favoriteMovies", shape: 'backdrop', preferThumb: true, showTitle: false },
|
||||
{ name: Globalize.translate('HeaderFavoriteShows'), types: "Series", id: "favoriteShows", shape: 'backdrop', preferThumb: true, showTitle: false },
|
||||
{ name: Globalize.translate('HeaderFavoriteEpisodes'), types: "Episode", id: "favoriteEpisode", shape: 'backdrop', preferThumb: false, showTitle: true, showParentTitle: true },
|
||||
{ name: Globalize.translate('HeaderFavoriteMovies'), types: "Movie", id: "favoriteMovies", shape: 'homePageBackdrop', preferThumb: true, showTitle: false },
|
||||
{ name: Globalize.translate('HeaderFavoriteShows'), types: "Series", id: "favoriteShows", shape: 'homePageBackdrop', preferThumb: true, showTitle: false },
|
||||
{ name: Globalize.translate('HeaderFavoriteEpisodes'), types: "Episode", id: "favoriteEpisode", shape: 'homePageBackdrop', preferThumb: false, showTitle: true, showParentTitle: true },
|
||||
{ name: Globalize.translate('HeaderFavoriteGames'), types: "Game", id: "favoriteGames", shape: 'auto', preferThumb: false, showTitle: true },
|
||||
{ name: Globalize.translate('HeaderFavoriteAlbums'), types: "MusicAlbum", id: "favoriteAlbums", shape: 'square', preferThumb: false, showTitle: true, overlayText: false, showParentTitle: true }
|
||||
{ name: Globalize.translate('HeaderFavoriteAlbums'), types: "MusicAlbum", id: "favoriteAlbums", shape: 'homePageSquare', preferThumb: false, showTitle: true, overlayText: false, showParentTitle: true }
|
||||
];
|
||||
|
||||
}
|
||||
|
@ -44,7 +44,7 @@
|
|||
items: result.Items,
|
||||
preferThumb: section.preferThumb,
|
||||
shape: section.shape,
|
||||
overlayText: section.overlayText !== false && screenWidth >= 600,
|
||||
overlayText: section.overlayText !== false,
|
||||
context: 'home-favorites',
|
||||
showTitle: section.showTitle,
|
||||
showParentTitle: section.showParentTitle,
|
||||
|
@ -62,7 +62,7 @@
|
|||
html += '</div>';
|
||||
}
|
||||
|
||||
$(elem).html(html).trigger('create').createPosterItemMenus();
|
||||
$(elem).html(html).trigger('create').createCardMenus();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
shape: 'auto',
|
||||
lazy: true
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
|
||||
});
|
||||
|
||||
|
@ -55,7 +55,7 @@
|
|||
shape: 'auto',
|
||||
lazy: true
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
|
||||
});
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -145,7 +145,7 @@
|
|||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
preferThumb: true,
|
||||
shape: 'backdrop',
|
||||
shape: 'homePageBackdrop',
|
||||
context: 'home',
|
||||
showUnplayedIndicator: false,
|
||||
showChildCountIndicator: true,
|
||||
|
@ -154,7 +154,7 @@
|
|||
html += '</div>';
|
||||
}
|
||||
|
||||
$(elem).html(html).trigger('create').createPosterItemMenus();
|
||||
$(elem).html(html).trigger('create').createCardMenus();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -180,7 +180,7 @@
|
|||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
preferThumb: true,
|
||||
shape: 'autosmall',
|
||||
shape: 'auto',
|
||||
showTitle: true,
|
||||
centerText: true,
|
||||
lazy: true
|
||||
|
@ -188,7 +188,7 @@
|
|||
html += '</div>';
|
||||
}
|
||||
|
||||
$(elem).html(html).trigger('create').createPosterItemMenus();
|
||||
$(elem).html(html).trigger('create').createCardMenus();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -227,7 +227,7 @@
|
|||
}
|
||||
|
||||
|
||||
$(elem).html(html).trigger('create').createPosterItemMenus();
|
||||
$(elem).html(html).trigger('create').createCardMenus();
|
||||
|
||||
handleLibraryLinkNavigations(elem);
|
||||
});
|
||||
|
@ -263,7 +263,7 @@
|
|||
html += '</div>';
|
||||
}
|
||||
|
||||
$(elem).html(html).trigger('create').createPosterItemMenus();
|
||||
$(elem).html(html).trigger('create').createCardMenus();
|
||||
|
||||
handleLibraryLinkNavigations(elem);
|
||||
});
|
||||
|
@ -296,7 +296,7 @@
|
|||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
preferBackdrop: true,
|
||||
shape: 'backdrop',
|
||||
shape: 'homePageBackdrop',
|
||||
overlayText: screenWidth >= 600,
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
|
@ -306,7 +306,7 @@
|
|||
html += '</div>';
|
||||
}
|
||||
|
||||
$(elem).html(html).trigger('create').createPosterItemMenus();
|
||||
$(elem).html(html).trigger('create').createCardMenus();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -379,7 +379,7 @@
|
|||
}
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: 'auto',
|
||||
shape: 'autohome',
|
||||
defaultShape: 'square',
|
||||
showTitle: true,
|
||||
centerText: true,
|
||||
|
@ -387,7 +387,7 @@
|
|||
lazy: true
|
||||
});
|
||||
|
||||
$('#channel' + channel.Id + '', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#channel' + channel.Id + '', page).html(html).trigger('create').createCardMenus();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -417,7 +417,7 @@
|
|||
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "autosmall",
|
||||
shape: "autohome",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: screenWidth >= 600,
|
||||
|
@ -425,7 +425,7 @@
|
|||
lazy: true
|
||||
});
|
||||
|
||||
elem.html(html).trigger('create').createPosterItemMenus();
|
||||
elem.html(html).trigger('create').createCardMenus();
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -473,13 +473,13 @@
|
|||
Sections.loadRecentlyAdded(elem, userId);
|
||||
}
|
||||
else if (section == 'librarytiles') {
|
||||
Sections.loadLibraryTiles(elem, userId, 'backdrop', index);
|
||||
Sections.loadLibraryTiles(elem, userId, 'homePageBackdrop', index);
|
||||
}
|
||||
else if (section == 'smalllibrarytiles') {
|
||||
Sections.loadLibraryTiles(elem, userId, 'miniBackdrop', index);
|
||||
Sections.loadLibraryTiles(elem, userId, 'homePageSmallBackdrop', index);
|
||||
}
|
||||
else if (section == 'smalllibrarytiles-automobile') {
|
||||
Sections.loadLibraryTiles(elem, userId, 'miniBackdrop', index, true);
|
||||
Sections.loadLibraryTiles(elem, userId, 'homePageSmallBackdrop', index, true);
|
||||
}
|
||||
else if (section == 'librarybuttons') {
|
||||
Sections.loadlibraryButtons(elem, userId, index);
|
||||
|
@ -493,7 +493,7 @@
|
|||
}
|
||||
|
||||
else if (section == 'folders') {
|
||||
Sections.loadLibraryFolders(elem, userId, 'backdrop', index);
|
||||
Sections.loadLibraryFolders(elem, userId, 'homePageBackdrop', index);
|
||||
|
||||
} else if (section == 'latestchannelmedia') {
|
||||
Sections.loadLatestChannelMedia(elem, userId);
|
||||
|
|
|
@ -494,7 +494,7 @@
|
|||
|
||||
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
|
||||
|
|
|
@ -343,13 +343,6 @@
|
|||
$('#themeSongsCollapsible', page).hide();
|
||||
$('#themeVideosCollapsible', page).hide();
|
||||
|
||||
if (!item.SoundtrackIds || !item.SoundtrackIds.length) {
|
||||
$('#soundtracksCollapsible', page).hide();
|
||||
} else {
|
||||
$('#soundtracksCollapsible', page).show();
|
||||
renderSoundtracks(page, item);
|
||||
}
|
||||
|
||||
if (item.Type == "MusicAlbum") {
|
||||
renderMusicVideos(page, item, user);
|
||||
} else {
|
||||
|
@ -507,31 +500,6 @@
|
|||
return html;
|
||||
}
|
||||
|
||||
function renderSoundtracks(page, item) {
|
||||
|
||||
if (item.Type == "MusicAlbum") {
|
||||
$('#soundtracksHeader', page).html("This album is the soundtrack for ...");
|
||||
} else {
|
||||
$('#soundtracksHeader', page).html("Soundtrack(s)");
|
||||
}
|
||||
|
||||
ApiClient.getItems(Dashboard.getCurrentUserId(), {
|
||||
|
||||
Ids: item.SoundtrackIds.join(","),
|
||||
ItemFields: "PrimaryImageAspectRatio,ItemCounts,AudioInfo",
|
||||
SortBy: "SortName"
|
||||
|
||||
}).done(function (result) {
|
||||
|
||||
var html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: item.Type == "MusicAlbum" ? "portrait" : "square"
|
||||
});
|
||||
|
||||
$('#soundtracksContent', page).html(html);
|
||||
});
|
||||
}
|
||||
|
||||
function renderSiblingLinks(page, item, context) {
|
||||
|
||||
$('.lnkSibling', page).addClass('hide');
|
||||
|
@ -634,7 +602,7 @@
|
|||
|
||||
var html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: item.Type == "MusicAlbum" ? "square" : "portrait",
|
||||
shape: item.Type == "MusicAlbum" ? "detailPageSquare" : "detailPagePortrait",
|
||||
showParentTitle: item.Type == "MusicAlbum",
|
||||
centerText: item.Type != "MusicAlbum",
|
||||
showTitle: item.Type == "MusicAlbum" || item.Type == "Game",
|
||||
|
@ -642,7 +610,7 @@
|
|||
context: context
|
||||
});
|
||||
|
||||
$('#similarContent', page).html(html).createPosterItemMenus();
|
||||
$('#similarContent', page).html(html).createCardMenus();
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -767,19 +735,21 @@
|
|||
if (item.Type == "Series") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "portrait",
|
||||
showTitle: true,
|
||||
shape: "detailPagePortrait",
|
||||
showTitle: false,
|
||||
centerText: true,
|
||||
context: context
|
||||
context: context,
|
||||
overlayText: true
|
||||
});
|
||||
}
|
||||
else if (item.Type == "Season") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "smallBackdrop",
|
||||
shape: "detailPage169",
|
||||
showTitle: true,
|
||||
displayAsSpecial: item.Type == "Season" && item.IndexNumber,
|
||||
context: context
|
||||
context: context,
|
||||
overlayText: true
|
||||
});
|
||||
}
|
||||
else if (item.Type == "GameSystem") {
|
||||
|
@ -792,7 +762,7 @@
|
|||
});
|
||||
}
|
||||
|
||||
$('#childrenContent', page).html(html).createPosterItemMenus();
|
||||
$('#childrenContent', page).html(html).createCardMenus();
|
||||
|
||||
if (item.Type == "BoxSet") {
|
||||
|
||||
|
@ -865,7 +835,7 @@
|
|||
renderCollectionItemType(page, { name: 'Titles' }, items, user);
|
||||
}
|
||||
|
||||
$('.collectionItems', page).trigger('create').createPosterItemMenus();
|
||||
$('.collectionItems', page).trigger('create').createCardMenus();
|
||||
}
|
||||
|
||||
function renderCollectionItemType(page, type, items, user, context) {
|
||||
|
@ -885,7 +855,7 @@
|
|||
|
||||
html += '<div class="detailSectionContent">';
|
||||
|
||||
var shape = type.type == 'MusicAlbum' ? 'square' : 'portrait';
|
||||
var shape = type.type == 'MusicAlbum' ? 'detailPageSquare' : 'detailPagePortrait';
|
||||
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
|
@ -1101,7 +1071,7 @@
|
|||
|
||||
var onclick = item.PlayAccess == 'Full' ? ' onclick="ItemDetailPage.play(' + chapter.StartPositionTicks + ');"' : '';
|
||||
|
||||
html += '<a class="card card-16-9 manualSize detailPage169Card" href="#play-Chapter-' + i + '"' + onclick + '>';
|
||||
html += '<a class="card detailPage169Card" href="#play-Chapter-' + i + '"' + onclick + '>';
|
||||
|
||||
html += '<div class="cardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
|
@ -1306,7 +1276,7 @@
|
|||
|
||||
var item = items[i];
|
||||
|
||||
var cssClass = "card card-16-9 manualSize detailPage169Card";
|
||||
var cssClass = "card detailPage169Card";
|
||||
|
||||
var href = "itemdetails.html?id=" + item.Id;
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
var LibraryBrowser = (function (window, document, $, screen, store) {
|
||||
|
||||
var pageSizeKey = 'pagesize_v2';
|
||||
|
||||
$(function () {
|
||||
$("body").on("create", function () {
|
||||
$(".lazy").unveil(200);
|
||||
|
@ -11,7 +13,7 @@
|
|||
return {
|
||||
getDefaultPageSize: function () {
|
||||
|
||||
var saved = store.getItem('pagesize__');
|
||||
var saved = store.getItem(pageSizeKey);
|
||||
|
||||
if (saved) {
|
||||
return parseInt(saved);
|
||||
|
@ -20,12 +22,12 @@
|
|||
if (window.location.toString().toLowerCase().indexOf('localhost') != -1) {
|
||||
return 100;
|
||||
}
|
||||
return 20;
|
||||
return 50;
|
||||
},
|
||||
|
||||
getDefaultItemsView: function (view, mobileView) {
|
||||
|
||||
return $.browser.mobile ? mobileView : view;
|
||||
return view;
|
||||
|
||||
},
|
||||
|
||||
|
@ -564,7 +566,7 @@
|
|||
return '';
|
||||
},
|
||||
|
||||
getUserDataCssClass: function(key) {
|
||||
getUserDataCssClass: function (key) {
|
||||
return 'libraryItemUserData' + key;
|
||||
},
|
||||
|
||||
|
@ -750,25 +752,25 @@
|
|||
|
||||
var primaryImageAspectRatio;
|
||||
|
||||
if (options.shape == 'auto' || options.shape == 'autosmall') {
|
||||
if (options.shape == 'auto' || options.shape == 'autohome') {
|
||||
|
||||
primaryImageAspectRatio = LibraryBrowser.getAveragePrimaryImageAspectRatio(items);
|
||||
|
||||
if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1.777777778) < .3) {
|
||||
options.shape = options.shape == 'auto' ? 'backdrop' : 'smallBackdrop';
|
||||
options.shape = options.shape == 'auto' ? 'backdrop' : 'homePageBackdrop';
|
||||
} else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1) < .33) {
|
||||
options.coverImage = true;
|
||||
options.shape = 'square';
|
||||
options.shape = options.shape == 'auto' ? 'square' : 'homePageSquare';
|
||||
} else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 1.3333334) < .01) {
|
||||
options.coverImage = true;
|
||||
options.shape = 'square';
|
||||
options.shape = options.shape == 'auto' ? 'square' : 'homePageSquare';
|
||||
} else if (primaryImageAspectRatio && primaryImageAspectRatio > 1.9) {
|
||||
options.shape = 'banner';
|
||||
options.coverImage = true;
|
||||
} else if (primaryImageAspectRatio && Math.abs(primaryImageAspectRatio - 0.6666667) < .2) {
|
||||
options.shape = 'portrait';
|
||||
options.shape = options.shape == 'auto' ? 'portrait' : 'homePagePortrait';
|
||||
} else {
|
||||
options.shape = options.defaultShape || 'portrait';
|
||||
options.shape = options.defaultShape || (options.shape == 'auto' ? 'portrait' : 'homePagePortrait');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -974,17 +976,13 @@
|
|||
background = defaultBackground;
|
||||
}
|
||||
|
||||
var cssClass = "posterItem";
|
||||
var cssClass = "card";
|
||||
|
||||
if (options.transparent !== false) {
|
||||
cssClass += " transparentPosterItem";
|
||||
cssClass += " transparentCard";
|
||||
}
|
||||
|
||||
if (options.borderless) {
|
||||
cssClass += " borderlessPosterItem";
|
||||
}
|
||||
|
||||
cssClass += ' ' + options.shape + 'PosterItem';
|
||||
cssClass += ' ' + options.shape + 'Card';
|
||||
|
||||
var mediaSourceCount = item.MediaSourceCount || 1;
|
||||
|
||||
|
@ -995,17 +993,13 @@
|
|||
}
|
||||
|
||||
if (options.showChildCountIndicator && item.ChildCount) {
|
||||
cssClass += ' groupedPosterItem';
|
||||
cssClass += ' groupedCard';
|
||||
|
||||
if (item.Type == 'Series') {
|
||||
cssClass += ' unplayedGroupings';
|
||||
}
|
||||
}
|
||||
|
||||
if (options.showChildCountIndicator) {
|
||||
cssClass += ' groupingPosterItem';
|
||||
}
|
||||
|
||||
var dataAttributes = LibraryBrowser.getItemDataAttributes(item, options);
|
||||
|
||||
html += '<a' + dataAttributes + ' class="' + cssClass + '" href="' + href + '">';
|
||||
|
@ -1020,9 +1014,9 @@
|
|||
style += "background-color:" + background + ";";
|
||||
}
|
||||
|
||||
var imageCssClass = 'posterItemImage';
|
||||
var imageCssClass = 'cardImage';
|
||||
if (options.coverImage) {
|
||||
imageCssClass += " coveredPosterItemImage";
|
||||
imageCssClass += " coveredCardImage";
|
||||
}
|
||||
|
||||
var dataSrc = "";
|
||||
|
@ -1032,11 +1026,14 @@
|
|||
dataSrc = ' data-src="' + imgUrl + '"';
|
||||
}
|
||||
|
||||
var progressHtml = options.showProgress === false || item.IsFolder ? '' : LibraryBrowser.getItemProgressBarHtml((item.Type == 'Recording' ? item : item.UserData));
|
||||
html += '<div class="cardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
|
||||
html += '<div class="' + imageCssClass + '" style="' + style + '"' + dataSrc + '>';
|
||||
html += '<div class="cardPadder"></div>';
|
||||
html += '<div class="cardContent">';
|
||||
html += '<div class="' + imageCssClass + '" style="' + style + '"' + dataSrc + '></div>';
|
||||
|
||||
html += '<div class="posterItemOverlayTarget"></div>';
|
||||
html += '<div class="cardOverlayTarget"></div>';
|
||||
|
||||
if (item.LocationType == "Offline" || item.LocationType == "Virtual") {
|
||||
if (options.showLocationTypeIndicator !== false) {
|
||||
|
@ -1060,87 +1057,109 @@
|
|||
|
||||
// Render this pre-enhanced to save on jquery mobile dom manipulation
|
||||
html += '<div class="itemSelectionPanel" onclick="return false;" style="display:none;"><div class="ui-checkbox ui-mini"><label class="ui-btn ui-corner-all ui-btn-inherit ui-btn-icon-left ui-checkbox-off" for="' + chkItemSelectId + '">Select</label><input id="' + chkItemSelectId + '" type="checkbox" class="chkItemSelect" data-enhanced="true" /></div></div>';
|
||||
|
||||
}
|
||||
|
||||
if (!options.overlayText) {
|
||||
var footerText = LibraryBrowser.getCardFooterText(item, options, imgUrl, forceName);
|
||||
var footerOverlayed = false;
|
||||
|
||||
if (progressHtml) {
|
||||
html += '<div class="posterItemTextOverlay">';
|
||||
html += "<div class='posterItemProgress miniPosterItemProgress'>";
|
||||
html += progressHtml || " ";
|
||||
html += "</div>";
|
||||
html += "</div>";
|
||||
}
|
||||
if (options.overlayText || (forceName && !options.showTitle)) {
|
||||
html += footerText;
|
||||
footerOverlayed = true;
|
||||
}
|
||||
|
||||
// cardContent
|
||||
html += '</div>';
|
||||
|
||||
var name = LibraryBrowser.getPosterViewDisplayName(item, options.displayAsSpecial);
|
||||
// cardScalable
|
||||
html += '</div>';
|
||||
|
||||
if (!imgUrl && !options.showTitle) {
|
||||
html += "<div class='posterItemDefaultText'>";
|
||||
html += htmlEncode(name);
|
||||
html += "</div>";
|
||||
if (!options.overlayText && !footerOverlayed) {
|
||||
html += footerText;
|
||||
}
|
||||
|
||||
var overlayText = options.overlayText || (forceName && !options.showTitle);
|
||||
// cardBox
|
||||
html += '</div>';
|
||||
|
||||
if (overlayText) {
|
||||
html += '<div class="posterItemTextOverlay">';
|
||||
}
|
||||
//var progressHtml = options.showProgress === false || item.IsFolder ? '' : LibraryBrowser.getItemProgressBarHtml((item.Type == 'Recording' ? item : item.UserData));
|
||||
|
||||
cssClass = options.centerText ? "posterItemText posterItemTextCentered" : "posterItemText";
|
||||
//if (!options.overlayText) {
|
||||
|
||||
var lines = [];
|
||||
// if (progressHtml) {
|
||||
// html += '<div class="posterItemTextOverlay">';
|
||||
// html += "<div class='posterItemProgress miniPosterItemProgress'>";
|
||||
// html += progressHtml || " ";
|
||||
// html += "</div>";
|
||||
// html += "</div>";
|
||||
// }
|
||||
//}
|
||||
//html += '</div>';
|
||||
|
||||
if (options.showParentTitle) {
|
||||
//var name = LibraryBrowser.getPosterViewDisplayName(item, options.displayAsSpecial);
|
||||
|
||||
lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || ""));
|
||||
}
|
||||
//if (!imgUrl && !options.showTitle) {
|
||||
// html += "<div class='posterItemDefaultText'>";
|
||||
// html += htmlEncode(name);
|
||||
// html += "</div>";
|
||||
//}
|
||||
|
||||
if (options.showTitle || forceName) {
|
||||
//var overlayText = options.overlayText || (forceName && !options.showTitle);
|
||||
|
||||
lines.push(htmlEncode(name));
|
||||
}
|
||||
//if (overlayText) {
|
||||
// html += '<div class="posterItemTextOverlay">';
|
||||
//}
|
||||
|
||||
if (options.showItemCounts) {
|
||||
//cssClass = options.centerText ? "posterItemText posterItemTextCentered" : "posterItemText";
|
||||
|
||||
var itemCountHtml = LibraryBrowser.getItemCountsHtml(options, item);
|
||||
//var lines = [];
|
||||
|
||||
lines.push(itemCountHtml);
|
||||
}
|
||||
//if (options.showParentTitle) {
|
||||
|
||||
if (options.showPremiereDate && item.PremiereDate) {
|
||||
// lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || ""));
|
||||
//}
|
||||
|
||||
try {
|
||||
//if (options.showTitle || forceName) {
|
||||
|
||||
lines.push(LibraryBrowser.getPremiereDateText(item));
|
||||
// lines.push(htmlEncode(name));
|
||||
//}
|
||||
|
||||
} catch (err) {
|
||||
lines.push('');
|
||||
//if (options.showItemCounts) {
|
||||
|
||||
}
|
||||
}
|
||||
// var itemCountHtml = LibraryBrowser.getItemCountsHtml(options, item);
|
||||
|
||||
if (options.showYear) {
|
||||
// lines.push(itemCountHtml);
|
||||
//}
|
||||
|
||||
lines.push(item.ProductionYear || '');
|
||||
}
|
||||
//if (options.showPremiereDate && item.PremiereDate) {
|
||||
|
||||
html += LibraryBrowser.getPosterItemTextLines(lines, cssClass, !options.overlayText);
|
||||
// try {
|
||||
|
||||
if (options.overlayText) {
|
||||
// lines.push(LibraryBrowser.getPremiereDateText(item));
|
||||
|
||||
if (progressHtml) {
|
||||
html += "<div class='posterItemText posterItemProgress'>";
|
||||
html += progressHtml || " ";
|
||||
html += "</div>";
|
||||
}
|
||||
}
|
||||
// } catch (err) {
|
||||
// lines.push('');
|
||||
|
||||
if (overlayText) {
|
||||
html += "</div>";
|
||||
}
|
||||
// }
|
||||
//}
|
||||
|
||||
//if (options.showYear) {
|
||||
|
||||
// lines.push(item.ProductionYear || '');
|
||||
//}
|
||||
|
||||
//html += LibraryBrowser.getPosterItemTextLines(lines, cssClass, !options.overlayText);
|
||||
|
||||
//if (options.overlayText) {
|
||||
|
||||
// if (progressHtml) {
|
||||
// html += "<div class='posterItemText posterItemProgress'>";
|
||||
// html += progressHtml || " ";
|
||||
// html += "</div>";
|
||||
// }
|
||||
//}
|
||||
|
||||
//if (overlayText) {
|
||||
// html += "</div>";
|
||||
//}
|
||||
|
||||
html += "</a>";
|
||||
|
||||
|
@ -1149,6 +1168,86 @@
|
|||
return html;
|
||||
},
|
||||
|
||||
getCardFooterText: function (item, options, imgUrl, forceName) {
|
||||
|
||||
var html = '';
|
||||
|
||||
html += '<div class="cardFooter">';
|
||||
|
||||
var progressHtml = options.showProgress === false || item.IsFolder ? '' : LibraryBrowser.getItemProgressBarHtml((item.Type == 'Recording' ? item : item.UserData));
|
||||
|
||||
if (!options.overlayText) {
|
||||
|
||||
if (progressHtml) {
|
||||
html += "<div class='cardProgress miniCardProgress'>";
|
||||
html += (progressHtml || " ");
|
||||
html += "</div>";
|
||||
}
|
||||
}
|
||||
|
||||
var name = LibraryBrowser.getPosterViewDisplayName(item, options.displayAsSpecial);
|
||||
|
||||
if (!imgUrl && !options.showTitle) {
|
||||
html += "<div class='cardDefaultText'>";
|
||||
html += htmlEncode(name);
|
||||
html += "</div>";
|
||||
}
|
||||
|
||||
var cssClass = options.centerText ? "cardText cardTextCentered" : "cardText";
|
||||
|
||||
var lines = [];
|
||||
|
||||
if (options.showParentTitle) {
|
||||
|
||||
lines.push(item.EpisodeTitle ? item.Name : (item.SeriesName || item.Album || item.AlbumArtist || item.GameSystem || ""));
|
||||
}
|
||||
|
||||
if (options.showTitle || forceName) {
|
||||
|
||||
lines.push(htmlEncode(name));
|
||||
}
|
||||
|
||||
if (options.showItemCounts) {
|
||||
|
||||
var itemCountHtml = LibraryBrowser.getItemCountsHtml(options, item);
|
||||
|
||||
lines.push(itemCountHtml);
|
||||
}
|
||||
|
||||
if (options.showPremiereDate && item.PremiereDate) {
|
||||
|
||||
try {
|
||||
|
||||
lines.push(LibraryBrowser.getPremiereDateText(item));
|
||||
|
||||
} catch (err) {
|
||||
lines.push('');
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (options.showYear) {
|
||||
|
||||
lines.push(item.ProductionYear || '');
|
||||
}
|
||||
|
||||
html += LibraryBrowser.getPosterItemTextLines(lines, cssClass, !options.overlayText);
|
||||
|
||||
if (options.overlayText) {
|
||||
|
||||
if (progressHtml) {
|
||||
html += "<div class='cardText cardProgress'>";
|
||||
html += progressHtml || " ";
|
||||
html += "</div>";
|
||||
}
|
||||
}
|
||||
|
||||
//cardFooter
|
||||
html += "</div>";
|
||||
|
||||
return html;
|
||||
},
|
||||
|
||||
getPosterItemTextLines: function (lines, cssClass, forceLines) {
|
||||
|
||||
var html = '';
|
||||
|
@ -1522,7 +1621,7 @@
|
|||
|
||||
if (limit && options.updatePageSizeSetting !== false) {
|
||||
try {
|
||||
store.setItem('pagesize__', limit);
|
||||
store.setItem(pageSizeKey, limit);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
@ -1598,7 +1697,7 @@
|
|||
|
||||
if (query.Limit && updatePageSizeSetting !== false) {
|
||||
try {
|
||||
store.setItem('pagesize__', query.Limit);
|
||||
store.setItem(pageSizeKey, query.Limit);
|
||||
} catch (e) {
|
||||
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
showOverlayTimeout = null;
|
||||
}
|
||||
|
||||
$('.posterItemOverlayTarget:visible', this).each(function () {
|
||||
$('.cardOverlayTarget:visible', this).each(function () {
|
||||
|
||||
var elem = this;
|
||||
|
||||
|
@ -21,28 +21,30 @@
|
|||
|
||||
});
|
||||
|
||||
$('.posterItemOverlayTarget:visible', this).stop().animate({ "height": "0" }, function () {
|
||||
$('.cardOverlayTarget:visible', this).stop().animate({ "height": "0" }, function () {
|
||||
|
||||
$(this).hide();
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
function getOverlayHtml(item, currentUser, posterItem, commands) {
|
||||
function getOverlayHtml(item, currentUser, card, commands) {
|
||||
|
||||
var html = '';
|
||||
|
||||
html += '<div class="posterItemOverlayInner">';
|
||||
html += '<div class="cardOverlayInner">';
|
||||
|
||||
var isSmallItem = $(posterItem).hasClass('smallBackdropPosterItem') || $(posterItem).hasClass('miniBackdropPosterItem');
|
||||
var isMiniItem = $(posterItem).hasClass('miniBackdropPosterItem');
|
||||
var isPortrait = $(posterItem).hasClass('portraitPosterItem');
|
||||
var isSquare = $(posterItem).hasClass('squarePosterItem');
|
||||
var className = card.className.toLowerCase();
|
||||
|
||||
var isMiniItem = className.indexOf('mini') != -1;
|
||||
var isSmallItem = isMiniItem || className.indexOf('small') != -1;
|
||||
var isPortrait = className.indexOf('portrait') != -1;
|
||||
var isSquare = className.indexOf('square') != -1;
|
||||
|
||||
var parentName = isSmallItem || isMiniItem || isPortrait ? null : item.SeriesName;
|
||||
var name = LibraryBrowser.getPosterViewDisplayName(item, true);
|
||||
|
||||
html += '<div style="font-weight:bold;margin-bottom:1em;">';
|
||||
html += '<div style="margin-bottom:1em;">';
|
||||
var logoHeight = isSmallItem || isMiniItem ? 20 : 26;
|
||||
var maxLogoWidth = isPortrait ? 100 : 200;
|
||||
var imgUrl;
|
||||
|
@ -210,7 +212,7 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
function onPosterItemTapHold(e) {
|
||||
function onCardTapHold(e) {
|
||||
|
||||
showContextMenu(this);
|
||||
|
||||
|
@ -218,26 +220,26 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
function showContextMenu(posterItem) {
|
||||
function showContextMenu(card) {
|
||||
|
||||
$('.tapHoldMenu').popup("close").remove();
|
||||
|
||||
var displayContextItem = posterItem;
|
||||
var displayContextItem = card;
|
||||
|
||||
if ($(posterItem).hasClass('listviewMenuButton')) {
|
||||
posterItem = $(posterItem).parents('.listItem')[0];
|
||||
if ($(card).hasClass('listviewMenuButton')) {
|
||||
card = $(card).parents('.listItem')[0];
|
||||
}
|
||||
|
||||
var itemId = posterItem.getAttribute('data-itemid');
|
||||
var commands = posterItem.getAttribute('data-commands').split(',');
|
||||
var itemType = posterItem.getAttribute('data-itemtype');
|
||||
var mediaType = posterItem.getAttribute('data-mediatype');
|
||||
var playbackPositionTicks = parseInt(posterItem.getAttribute('data-positionticks') || '0');
|
||||
var playAccess = posterItem.getAttribute('data-playaccess');
|
||||
var locationType = posterItem.getAttribute('data-locationtype');
|
||||
var isPlaceHolder = posterItem.getAttribute('data-placeholder') == 'true';
|
||||
var itemId = card.getAttribute('data-itemid');
|
||||
var commands = card.getAttribute('data-commands').split(',');
|
||||
var itemType = card.getAttribute('data-itemtype');
|
||||
var mediaType = card.getAttribute('data-mediatype');
|
||||
var playbackPositionTicks = parseInt(card.getAttribute('data-positionticks') || '0');
|
||||
var playAccess = card.getAttribute('data-playaccess');
|
||||
var locationType = card.getAttribute('data-locationtype');
|
||||
var isPlaceHolder = card.getAttribute('data-placeholder') == 'true';
|
||||
|
||||
$(posterItem).addClass('hasContextMenu');
|
||||
$(card).addClass('hasContextMenu');
|
||||
|
||||
Dashboard.getCurrentUser().done(function (user) {
|
||||
|
||||
|
@ -246,7 +248,7 @@
|
|||
html += '<ul data-role="listview" style="min-width: 240px;">';
|
||||
html += '<li data-role="list-divider">' + Globalize.translate('HeaderMenu') + '</li>';
|
||||
|
||||
var href = posterItem.getAttribute('data-href') || posterItem.href;
|
||||
var href = card.getAttribute('data-href') || card.href;
|
||||
|
||||
html += '<li><a href="' + href + '">' + Globalize.translate('ButtonOpen') + '</a></li>';
|
||||
html += '<li><a href="' + href + '" target="_blank">' + Globalize.translate('ButtonOpenInNewTab') + '</a></li>';
|
||||
|
@ -288,7 +290,7 @@
|
|||
var elem = $('.tapHoldMenu').popup({ positionTo: displayContextItem }).trigger('create').popup("open").on("popupafterclose", function () {
|
||||
|
||||
$(this).off("popupafterclose").remove();
|
||||
$(posterItem).removeClass('hasContextMenu');
|
||||
$(card).removeClass('hasContextMenu');
|
||||
});
|
||||
|
||||
$('.btnPlay', elem).on('click', onPlayButtonClick);
|
||||
|
@ -308,15 +310,15 @@
|
|||
return false;
|
||||
}
|
||||
|
||||
function onGroupedPosterItemClick(e) {
|
||||
function onGroupedCardClick(e) {
|
||||
|
||||
var target = $(e.target);
|
||||
|
||||
var posterItem = this;
|
||||
var itemId = posterItem.getAttribute('data-itemid');
|
||||
var context = posterItem.getAttribute('data-context');
|
||||
var card = this;
|
||||
var itemId = card.getAttribute('data-itemid');
|
||||
var context = card.getAttribute('data-context');
|
||||
|
||||
$(posterItem).addClass('hasContextMenu');
|
||||
$(card).addClass('hasContextMenu');
|
||||
|
||||
var userId = Dashboard.getCurrentUserId();
|
||||
|
||||
|
@ -324,14 +326,14 @@
|
|||
|
||||
var options = {
|
||||
|
||||
Limit: parseInt($('.playedIndicator', posterItem).html() || '10'),
|
||||
Limit: parseInt($('.playedIndicator', card).html() || '10'),
|
||||
Fields: "PrimaryImageAspectRatio,DateCreated",
|
||||
ParentId: itemId,
|
||||
IsFolder: false,
|
||||
GroupItems: false
|
||||
};
|
||||
|
||||
if ($(posterItem).hasClass('unplayedGroupings')) {
|
||||
if ($(card).hasClass('unplayedGroupings')) {
|
||||
options.IsPlayed = false;
|
||||
}
|
||||
|
||||
|
@ -357,7 +359,7 @@
|
|||
html += '<div>';
|
||||
html += '<ul data-role="listview">';
|
||||
|
||||
var href = posterItem.href || LibraryBrowser.getHref(item, context);
|
||||
var href = card.href || LibraryBrowser.getHref(item, context);
|
||||
var header = Globalize.translate('HeaderLatestFromChannel').replace('{0}', '<a href="' + href + '">' + item.Name + '</a>');
|
||||
html += '<li data-role="list-divider">' + header + '</li>';
|
||||
|
||||
|
@ -418,7 +420,7 @@
|
|||
var elem = $('.groupingMenu').popup().trigger('create').popup("open").on("popupafterclose", function () {
|
||||
|
||||
$(this).off("popupafterclose").remove();
|
||||
$(posterItem).removeClass('hasContextMenu');
|
||||
$(card).removeClass('hasContextMenu');
|
||||
|
||||
});
|
||||
});
|
||||
|
@ -428,7 +430,7 @@
|
|||
}
|
||||
|
||||
|
||||
$.fn.createPosterItemMenus = function () {
|
||||
$.fn.createCardMenus = function () {
|
||||
|
||||
var preventHover = false;
|
||||
|
||||
|
@ -442,7 +444,7 @@
|
|||
return;
|
||||
}
|
||||
|
||||
var innerElem = $('.posterItemOverlayTarget', elem);
|
||||
var innerElem = $('.cardOverlayTarget', elem);
|
||||
var id = elem.getAttribute('data-itemid');
|
||||
var commands = elem.getAttribute('data-commands').split(',');
|
||||
|
||||
|
@ -491,18 +493,18 @@
|
|||
preventHover = true;
|
||||
}
|
||||
|
||||
var elems = '.backdropPosterItem,.smallBackdropPosterItem,.portraitPosterItem,.squarePosterItem,.miniBackdropPosterItem';
|
||||
var elems = '.card:not(.bannerCard)';
|
||||
|
||||
$('.posterItem', this).on('contextmenu.posterItemMenu', onPosterItemTapHold);
|
||||
$('.card', this).on('contextmenu.cardMenu', onCardTapHold);
|
||||
|
||||
$('.listviewMenuButton', this).on('click', onListViewMenuButtonClick);
|
||||
|
||||
$('.groupedPosterItem', this).on('click', onGroupedPosterItemClick);
|
||||
$('.groupedCard', this).on('click', onGroupedCardClick);
|
||||
|
||||
return this.off('.posterItemHoverMenu')
|
||||
.on('mouseenter.posterItemHoverMenu', elems, onHoverIn)
|
||||
.on('mouseleave.posterItemHoverMenu', elems, onHoverOut)
|
||||
.on("touchstart.posterItemHoverMenu", elems, preventTouchHover);
|
||||
return this.off('.cardHoverMenu')
|
||||
.on('mouseenter.cardHoverMenu', elems, onHoverIn)
|
||||
.on('mouseleave.cardHoverMenu', elems, onHoverOut)
|
||||
.on("touchstart.cardHoverMenu", elems, preventTouchHover);
|
||||
};
|
||||
|
||||
function toggleSelections(page) {
|
||||
|
@ -539,7 +541,7 @@
|
|||
|
||||
var selection = $('.chkItemSelect:checked', page);
|
||||
|
||||
return selection.parents('.posterItem')
|
||||
return selection.parents('.card')
|
||||
.map(function () {
|
||||
|
||||
return this.getAttribute('data-itemid');
|
||||
|
@ -561,9 +563,9 @@
|
|||
return;
|
||||
}
|
||||
|
||||
var names = $('.chkItemSelect:checked', page).parents('.posterItem').get().reverse().map(function (e) {
|
||||
var names = $('.chkItemSelect:checked', page).parents('.card').get().reverse().map(function (e) {
|
||||
|
||||
return $('.posterItemText', e).html();
|
||||
return $('.cardText', e).html();
|
||||
|
||||
}).join('<br/>');
|
||||
|
||||
|
@ -657,32 +659,32 @@
|
|||
$('.viewTabButton:first', page).trigger('click');
|
||||
});
|
||||
|
||||
function renderUserDataChanges(posterItem, userData) {
|
||||
function renderUserDataChanges(card, userData) {
|
||||
|
||||
if (userData.Played) {
|
||||
|
||||
if (!$('.playedIndicator', posterItem).length) {
|
||||
if (!$('.playedIndicator', card).length) {
|
||||
|
||||
$('<div class="playedIndicator"></div>').insertAfter($('.posterItemOverlayTarget', posterItem));
|
||||
$('<div class="playedIndicator"></div>').insertAfter($('.cardOverlayTarget', card));
|
||||
}
|
||||
$('.playedIndicator', posterItem).html('<div class="ui-icon-check ui-btn-icon-notext"></div>');
|
||||
$('.posterItemProgress', posterItem).remove();
|
||||
$('.playedIndicator', card).html('<div class="ui-icon-check ui-btn-icon-notext"></div>');
|
||||
$('.cardProgress', card).remove();
|
||||
}
|
||||
else if (userData.UnplayedItemCount) {
|
||||
|
||||
if (!$('.playedIndicator', posterItem).length) {
|
||||
if (!$('.playedIndicator', card).length) {
|
||||
|
||||
$('<div class="playedIndicator"></div>').insertAfter($('.posterItemOverlayTarget', posterItem));
|
||||
$('<div class="playedIndicator"></div>').insertAfter($('.cardOverlayTarget', card));
|
||||
}
|
||||
$('.playedIndicator', posterItem).html(userData.UnplayedItemCount);
|
||||
$('.playedIndicator', card).html(userData.UnplayedItemCount);
|
||||
}
|
||||
else {
|
||||
|
||||
$('.playedIndicator', posterItem).remove();
|
||||
$('.playedIndicator', card).remove();
|
||||
|
||||
var progressHtml = LibraryBrowser.getItemProgressBarHtml(userData);
|
||||
|
||||
$('.posterItemProgress', posterItem).html(progressHtml);
|
||||
$('.cardProgress', card).html(progressHtml);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -694,7 +696,7 @@
|
|||
|
||||
this.setAttribute('data-positionticks', (userData.PlaybackPositionTicks || 0));
|
||||
|
||||
if ($(this).hasClass('posterItem')) {
|
||||
if ($(this).hasClass('card')) {
|
||||
renderUserDataChanges(this, userData);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
overlayText: screenWidth >= 600,
|
||||
coverImage: true
|
||||
|
||||
})).createPosterItemMenus();
|
||||
})).createCardMenus();
|
||||
}
|
||||
|
||||
function reload(page) {
|
||||
|
|
|
@ -130,17 +130,15 @@
|
|||
|
||||
function renderRecordings(page, result) {
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
$('.recordingsTab', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
|
||||
items: result.Items,
|
||||
shape: "autosmall",
|
||||
shape: "homePageSquare",
|
||||
showTitle: true,
|
||||
overlayText: screenWidth >= 600,
|
||||
overlayText: true,
|
||||
coverImage: true
|
||||
|
||||
})).createPosterItemMenus();
|
||||
})).createCardMenus();
|
||||
}
|
||||
|
||||
function renderSchedule(page, result) {
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
function reload(page) {
|
||||
|
||||
Dashboard.showLoadingMsg();
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
apiClient.getLiveTvRecommendedPrograms({
|
||||
|
||||
|
@ -16,15 +15,15 @@
|
|||
var html = LibraryBrowser.getPosterViewHtml({
|
||||
|
||||
items: result.Items,
|
||||
shape: "auto",
|
||||
shape: "homePageSquare",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: screenWidth >= 600,
|
||||
overlayText: true,
|
||||
coverImage: true
|
||||
|
||||
});
|
||||
|
||||
$('.activeProgramItems', page).html(html).createPosterItemMenus();
|
||||
$('.activeProgramItems', page).html(html).createCardMenus();
|
||||
});
|
||||
|
||||
apiClient.getLiveTvRecommendedPrograms({
|
||||
|
@ -39,15 +38,15 @@
|
|||
var html = LibraryBrowser.getPosterViewHtml({
|
||||
|
||||
items: result.Items,
|
||||
shape: "auto",
|
||||
shape: "homePageSquare",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: screenWidth >= 600,
|
||||
overlayText: true,
|
||||
coverImage: true
|
||||
|
||||
});
|
||||
|
||||
$('.upcomingProgramItems', page).html(html).createPosterItemMenus();
|
||||
$('.upcomingProgramItems', page).html(html).createCardMenus();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -126,7 +126,7 @@
|
|||
for (var i = 0, length = users.length; i < length; i++) {
|
||||
var user = users[i];
|
||||
|
||||
html += '<div class="card card-1-1"><div class="cardBox visualCardBox">';
|
||||
html += '<div class="card squareCard alternateHover"><div class="cardBox visualCardBox">';
|
||||
|
||||
html += '<div class="cardScalable">';
|
||||
|
||||
|
|
|
@ -972,6 +972,15 @@
|
|||
$('.itemVideo').off('mousemove.videoplayer keydown.videoplayer scroll.videoplayer');
|
||||
}
|
||||
|
||||
self.canAutoPlayVideo = function () {
|
||||
|
||||
if ($.browser.msie || $.browser.mobile) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
self.playVideo = function (item, mediaSource, startPosition) {
|
||||
|
||||
var mediaStreams = mediaSource.MediaStreams || [];
|
||||
|
@ -1062,7 +1071,7 @@
|
|||
// Create video player
|
||||
var html = '';
|
||||
|
||||
var requiresNativeControls = $.browser.msie || $.browser.mobile;
|
||||
var requiresNativeControls = !self.canAutoPlayVideo();
|
||||
|
||||
// Can't autoplay in these browsers so we need to use the full controls
|
||||
if (requiresNativeControls) {
|
||||
|
|
|
@ -399,10 +399,7 @@
|
|||
|
||||
translateItemsForPlayback(options.items).done(function (items) {
|
||||
|
||||
self.playInternal(items[0], options.startPositionTicks, user);
|
||||
|
||||
self.playlist = items;
|
||||
currentPlaylistIndex = 0;
|
||||
self.playWithIntros(items, options, user);
|
||||
});
|
||||
|
||||
} else {
|
||||
|
@ -415,10 +412,7 @@
|
|||
|
||||
translateItemsForPlayback(result.Items).done(function (items) {
|
||||
|
||||
self.playInternal(items[0], options.startPositionTicks, user);
|
||||
|
||||
self.playlist = items;
|
||||
currentPlaylistIndex = 0;
|
||||
self.playWithIntros(items, options, user);
|
||||
});
|
||||
|
||||
});
|
||||
|
@ -428,6 +422,27 @@
|
|||
|
||||
};
|
||||
|
||||
self.playWithIntros = function (items, options, user) {
|
||||
|
||||
var firstItem = items[0];
|
||||
|
||||
if (options.startPositionTicks || firstItem.MediaType !== 'Video' || !self.canAutoPlayVideo()) {
|
||||
self.playInternal(firstItem, options.startPositionTicks, user);
|
||||
|
||||
self.playlist = items;
|
||||
currentPlaylistIndex = 0;
|
||||
}
|
||||
|
||||
ApiClient.getJSON(ApiClient.getUrl('Users/' + user.Id + '/Items/' + firstItem.Id + '/Intros')).done(function (intros) {
|
||||
|
||||
items = intros.Items.concat(items);
|
||||
self.playInternal(items[0], options.startPositionTicks, user);
|
||||
|
||||
self.playlist = items;
|
||||
currentPlaylistIndex = 0;
|
||||
});
|
||||
};
|
||||
|
||||
self.getBitrateSetting = function () {
|
||||
return parseInt(store.getItem('preferredVideoBitrate') || '') || 1500000;
|
||||
};
|
||||
|
|
|
@ -81,7 +81,7 @@
|
|||
$('.noItemsMessage', page).show();
|
||||
}
|
||||
|
||||
$('.itemsContainer', page).html(html).trigger('create').createPosterItemMenus().trigger('itemsrendered');
|
||||
$('.itemsContainer', page).html(html).trigger('create').createCardMenus().trigger('itemsrendered');
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -49,7 +49,8 @@
|
|||
preferThumb: true,
|
||||
context: 'movies',
|
||||
selectionPanel: true,
|
||||
lazy: true
|
||||
lazy: true,
|
||||
overlayText: true
|
||||
});
|
||||
$('.itemsContainer', page).removeClass('timelineItemsContainer');
|
||||
}
|
||||
|
@ -81,7 +82,8 @@
|
|||
showTitle: false,
|
||||
centerText: true,
|
||||
selectionPanel: true,
|
||||
lazy: true
|
||||
lazy: true,
|
||||
overlayText: true
|
||||
});
|
||||
$('.itemsContainer', page).removeClass('timelineItemsContainer');
|
||||
}
|
||||
|
@ -101,7 +103,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('.itemsContainer', page).html(html).trigger('create').createPosterItemMenus().trigger('itemsrendered');
|
||||
$('.itemsContainer', page).html(html).trigger('create').createCardMenus().trigger('itemsrendered');
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -22,9 +22,11 @@
|
|||
|
||||
$('#recentlyAddedItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
lazy: true
|
||||
lazy: true,
|
||||
shape: 'homePagePortrait',
|
||||
overlayText: true
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -29,7 +29,9 @@
|
|||
html += '<div>';
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
items: recommendation.Items,
|
||||
lazy: true
|
||||
lazy: true,
|
||||
shape: 'homePagePortrait',
|
||||
overlayText: true
|
||||
});
|
||||
html += '</div>';
|
||||
|
||||
|
@ -68,12 +70,12 @@
|
|||
$('#resumableItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
preferBackdrop: true,
|
||||
shape: 'backdrop',
|
||||
overlayText: screenWidth >= 600,
|
||||
shape: 'homePageBackdrop',
|
||||
overlayText: true,
|
||||
showTitle: true,
|
||||
lazy: true
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
|
||||
});
|
||||
|
||||
|
@ -97,7 +99,7 @@
|
|||
var html = recommendations.map(getRecommendationHtml).join('');
|
||||
|
||||
$('.noItemsMessage', page).hide();
|
||||
$('.recommendations', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('.recommendations', page).html(html).trigger('create').createCardMenus();
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -22,10 +22,10 @@
|
|||
items: items,
|
||||
showUnplayedIndicator: false,
|
||||
showChildCountIndicator: true,
|
||||
shape: "square",
|
||||
shape: "homePageSquare",
|
||||
showTitle: true,
|
||||
showParentTitle: true
|
||||
})).createPosterItemMenus();
|
||||
})).createCardMenus();
|
||||
|
||||
});
|
||||
|
||||
|
@ -52,10 +52,10 @@
|
|||
$('#recentlyPlayedSongs', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
showUnplayedIndicator: false,
|
||||
shape: "square",
|
||||
shape: "homePageSquare",
|
||||
showTitle: true,
|
||||
showParentTitle: true
|
||||
})).createPosterItemMenus();
|
||||
})).createCardMenus();
|
||||
|
||||
});
|
||||
|
||||
|
@ -82,10 +82,10 @@
|
|||
$('#topPlayedSongs', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
showUnplayedIndicator: false,
|
||||
shape: "square",
|
||||
shape: "homePageSquare",
|
||||
showTitle: true,
|
||||
showParentTitle: true
|
||||
})).createPosterItemMenus();
|
||||
})).createCardMenus();
|
||||
|
||||
});
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
var href = plugin.externalUrl ? plugin.externalUrl : "addplugin.html?name=" + encodeURIComponent(plugin.name) + "&guid=" + plugin.guid;
|
||||
var target = plugin.externalUrl ? ' target="_blank"' : '';
|
||||
|
||||
html += "<div class='card card-16-9'>";
|
||||
html += "<div class='card backdropCard alternateHover'>";
|
||||
|
||||
html += '<div class="cardBox visualCardBox">';
|
||||
html += '<div class="cardScalable">';
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
$('#latestEpisodes', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
shape: "backdrop",
|
||||
shape: "homePageBackdrop",
|
||||
preferThumb: true,
|
||||
inheritThumb: false,
|
||||
showParentTitle: false,
|
||||
|
@ -31,7 +31,7 @@
|
|||
overlayText: screenWidth >= 600,
|
||||
lazy: true
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
|
||||
});
|
||||
});
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -35,8 +35,6 @@
|
|||
|
||||
function loadNextUp(page, context) {
|
||||
|
||||
var screenWidth = $(window).width();
|
||||
|
||||
var query = {
|
||||
|
||||
Limit: 24,
|
||||
|
@ -71,14 +69,14 @@
|
|||
|
||||
$('#nextUpItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "backdrop",
|
||||
shape: "homePageBackdrop",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: screenWidth >= 600,
|
||||
overlayText: true,
|
||||
context: context,
|
||||
lazy: true
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
|
||||
});
|
||||
}
|
||||
|
@ -114,14 +112,14 @@
|
|||
|
||||
$('#resumableItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "backdrop",
|
||||
shape: "homePageBackdrop",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: screenWidth >= 600,
|
||||
overlayText: true,
|
||||
lazy: true,
|
||||
context: 'tv'
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
|
||||
});
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
|
||||
html += pagingHtml;
|
||||
|
||||
$('#items', page).html(html).trigger('create').createPosterItemMenus();
|
||||
$('#items', page).html(html).trigger('create').createCardMenus();
|
||||
|
||||
$('.btnNextPage', page).on('click', function () {
|
||||
query.StartIndex += query.Limit;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
$('#upcomingItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: items,
|
||||
showLocationTypeIndicator: false,
|
||||
shape: "backdrop",
|
||||
shape: "homePageBackdrop",
|
||||
showTitle: true,
|
||||
showPremiereDate: true,
|
||||
showPremiereDateIndex: true,
|
||||
|
@ -47,7 +47,7 @@
|
|||
context: context || 'home-upcoming',
|
||||
lazy: true,
|
||||
|
||||
})).trigger('create').createPosterItemMenus();
|
||||
})).trigger('create').createCardMenus();
|
||||
});
|
||||
});
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue