make live tv channels playable
This commit is contained in:
parent
18abc62bc9
commit
2137a2436f
5 changed files with 76 additions and 23 deletions
|
@ -832,6 +832,10 @@ a.itemTag:hover {
|
|||
background: rgba(82, 181, 75, .8);
|
||||
}
|
||||
|
||||
.unplayedIndicator div:after {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.itemProgress {
|
||||
vertical-align: top;
|
||||
font-size: 19px;
|
||||
|
|
|
@ -458,7 +458,10 @@
|
|||
var html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: item.MediaType != "Game",
|
||||
shape: item.Type == "MusicAlbum" ? "square" : "portrait"
|
||||
shape: item.Type == "MusicAlbum" ? "square" : "portrait",
|
||||
showParentTitle: item.Type == "MusicAlbum",
|
||||
showTitle: item.Type == "MusicAlbum" || item.Type == "Game",
|
||||
borderless: item.Type == "Game"
|
||||
});
|
||||
|
||||
$('#similarContent', page).html(html);
|
||||
|
@ -521,10 +524,12 @@
|
|||
|
||||
var sortBy = item.Type == "BoxSet" ? "ProductionYear,SortName" : "SortName";
|
||||
|
||||
var fields = "ItemCounts,DateCreated,AudioInfo,PrimaryImageAspectRatio";
|
||||
|
||||
var query = {
|
||||
ParentId: item.Id,
|
||||
SortBy: sortBy,
|
||||
Fields: "ItemCounts,DateCreated,AudioInfo"
|
||||
Fields: fields
|
||||
};
|
||||
|
||||
var promise;
|
||||
|
@ -533,7 +538,8 @@
|
|||
|
||||
promise = ApiClient.getSeasons(item.Id, {
|
||||
|
||||
userId: user.Id
|
||||
userId: user.Id,
|
||||
Fields: fields
|
||||
});
|
||||
}
|
||||
else if (item.Type == "Season") {
|
||||
|
@ -542,7 +548,8 @@
|
|||
promise = ApiClient.getEpisodes(item.SeriesId, {
|
||||
|
||||
seasonId: item.Id,
|
||||
userId: user.Id
|
||||
userId: user.Id,
|
||||
Fields: fields
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -562,13 +569,34 @@
|
|||
shape = "smallBackdrop";
|
||||
}
|
||||
|
||||
var html = LibraryBrowser.getPosterDetailViewHtml({
|
||||
var html;
|
||||
|
||||
if (item.Type == "Series" || item.Type == "BoxSet") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "portrait",
|
||||
useAverageAspectRatio: true,
|
||||
showTitle: true
|
||||
});
|
||||
}
|
||||
else if (item.Type == "Season") {
|
||||
html = LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
shape: "smallBackdrop",
|
||||
useAverageAspectRatio: true,
|
||||
showTitle: true,
|
||||
displayAsSpecial: item.Type == "Season" && item.IndexNumber
|
||||
});
|
||||
}
|
||||
else {
|
||||
html = LibraryBrowser.getPosterDetailViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true,
|
||||
shape: shape,
|
||||
showParentName: false,
|
||||
displayAsSpecial: item.Type == "Season" && item.IndexNumber
|
||||
});
|
||||
}
|
||||
|
||||
$('#childrenContent', page).html(html);
|
||||
|
||||
|
|
|
@ -662,12 +662,12 @@
|
|||
|
||||
var html = "";
|
||||
|
||||
var primaryImageAspectRatio = options.useAverageAspectRatio ? LibraryBrowser.getAveragePrimaryImageAspectRatio(items) : null;
|
||||
|
||||
for (var i = 0, length = items.length; i < length; i++) {
|
||||
|
||||
var item = items[i];
|
||||
|
||||
var primaryImageAspectRatio = options.useAverageAspectRatio ? LibraryBrowser.getAveragePrimaryImageAspectRatio([item]) : null;
|
||||
|
||||
var futureDateText;
|
||||
|
||||
if (item.PremiereDate) {
|
||||
|
@ -883,7 +883,7 @@
|
|||
}
|
||||
html += '</div>';
|
||||
|
||||
var name = LibraryBrowser.getPosterViewDisplayName(item);
|
||||
var name = LibraryBrowser.getPosterViewDisplayName(item, options.displayAsSpecial);
|
||||
|
||||
if (!imgUrl && !options.showTitle) {
|
||||
html += "<div class='posterItemDefaultText'>";
|
||||
|
@ -1089,9 +1089,24 @@
|
|||
|
||||
getPlayedIndicatorHtml: function (item) {
|
||||
|
||||
if (item.Type == "Series" || item.Type == "Season" || item.Type == "BoxSet") {
|
||||
if (item.RecursiveUnplayedItemCount) {
|
||||
return '<div class="unplayedIndicator">' + item.RecursiveUnplayedItemCount + '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
if (item.PlayedPercentage == 100) {
|
||||
return '<div class="unplayedIndicator"><div class="ui-icon-check ui-btn-icon-notext"></div></div>';
|
||||
}
|
||||
|
||||
if (item.MediaType == "Video") {
|
||||
|
||||
var userData = item.UserData || {};
|
||||
|
||||
if (userData.Played) {
|
||||
return '<div class="unplayedIndicator"><div class="ui-icon-check ui-btn-icon-notext"></div></div>';
|
||||
}
|
||||
}
|
||||
|
||||
return '';
|
||||
},
|
||||
|
|
|
@ -271,7 +271,7 @@
|
|||
|
||||
$('#btnPlay', page).on('click', function () {
|
||||
var userdata = currentItem.UserData || {};
|
||||
LibraryBrowser.showPlayMenu(this, currentItem.Name, currentItem.Type, currentItem.MediaType, userdata.PlaybackPositionTicks);
|
||||
LibraryBrowser.showPlayMenu(this, currentItem.Id, currentItem.Type, currentItem.MediaType, userdata.PlaybackPositionTicks);
|
||||
});
|
||||
|
||||
$('#btnRemote', page).on('click', function () {
|
||||
|
|
|
@ -29,13 +29,19 @@
|
|||
var checkSortOption = $('.radioSortBy:checked', page);
|
||||
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create');
|
||||
|
||||
html += LibraryBrowser.getPosterViewHtml({
|
||||
//html += LibraryBrowser.getPosterViewHtml({
|
||||
// items: result.Items,
|
||||
// useAverageAspectRatio: true,
|
||||
// shape: "backdrop",
|
||||
// showTitle: false,
|
||||
// overlayText: false,
|
||||
// context: 'tv'
|
||||
//});
|
||||
|
||||
html += LibraryBrowser.getPosterDetailViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true,
|
||||
shape: "backdrop",
|
||||
showTitle: false,
|
||||
overlayText: false,
|
||||
context: 'tv'
|
||||
context: "tv",
|
||||
shape: "backdrop"
|
||||
});
|
||||
|
||||
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue