1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

make live tv channels playable

This commit is contained in:
Luke Pulverenti 2013-12-29 13:53:56 -05:00
parent 18abc62bc9
commit 2137a2436f
5 changed files with 76 additions and 23 deletions

View file

@ -832,6 +832,10 @@ a.itemTag:hover {
background: rgba(82, 181, 75, .8); background: rgba(82, 181, 75, .8);
} }
.unplayedIndicator div:after {
background-color: transparent !important;
}
.itemProgress { .itemProgress {
vertical-align: top; vertical-align: top;
font-size: 19px; font-size: 19px;

View file

@ -458,7 +458,10 @@
var html = LibraryBrowser.getPosterViewHtml({ var html = LibraryBrowser.getPosterViewHtml({
items: result.Items, items: result.Items,
useAverageAspectRatio: item.MediaType != "Game", 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); $('#similarContent', page).html(html);
@ -521,10 +524,12 @@
var sortBy = item.Type == "BoxSet" ? "ProductionYear,SortName" : "SortName"; var sortBy = item.Type == "BoxSet" ? "ProductionYear,SortName" : "SortName";
var fields = "ItemCounts,DateCreated,AudioInfo,PrimaryImageAspectRatio";
var query = { var query = {
ParentId: item.Id, ParentId: item.Id,
SortBy: sortBy, SortBy: sortBy,
Fields: "ItemCounts,DateCreated,AudioInfo" Fields: fields
}; };
var promise; var promise;
@ -533,7 +538,8 @@
promise = ApiClient.getSeasons(item.Id, { promise = ApiClient.getSeasons(item.Id, {
userId: user.Id userId: user.Id,
Fields: fields
}); });
} }
else if (item.Type == "Season") { else if (item.Type == "Season") {
@ -542,7 +548,8 @@
promise = ApiClient.getEpisodes(item.SeriesId, { promise = ApiClient.getEpisodes(item.SeriesId, {
seasonId: item.Id, seasonId: item.Id,
userId: user.Id userId: user.Id,
Fields: fields
}); });
} }
@ -562,13 +569,34 @@
shape = "smallBackdrop"; shape = "smallBackdrop";
} }
var html = LibraryBrowser.getPosterDetailViewHtml({ var html;
items: result.Items,
useAverageAspectRatio: true, if (item.Type == "Series" || item.Type == "BoxSet") {
shape: shape, html = LibraryBrowser.getPosterViewHtml({
showParentName: false, items: result.Items,
displayAsSpecial: item.Type == "Season" && item.IndexNumber 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); $('#childrenContent', page).html(html);

View file

@ -662,12 +662,12 @@
var html = ""; var html = "";
var primaryImageAspectRatio = options.useAverageAspectRatio ? LibraryBrowser.getAveragePrimaryImageAspectRatio(items) : null;
for (var i = 0, length = items.length; i < length; i++) { for (var i = 0, length = items.length; i < length; i++) {
var item = items[i]; var item = items[i];
var primaryImageAspectRatio = options.useAverageAspectRatio ? LibraryBrowser.getAveragePrimaryImageAspectRatio([item]) : null;
var futureDateText; var futureDateText;
if (item.PremiereDate) { if (item.PremiereDate) {
@ -883,7 +883,7 @@
} }
html += '</div>'; html += '</div>';
var name = LibraryBrowser.getPosterViewDisplayName(item); var name = LibraryBrowser.getPosterViewDisplayName(item, options.displayAsSpecial);
if (!imgUrl && !options.showTitle) { if (!imgUrl && !options.showTitle) {
html += "<div class='posterItemDefaultText'>"; html += "<div class='posterItemDefaultText'>";
@ -1089,8 +1089,23 @@
getPlayedIndicatorHtml: function (item) { getPlayedIndicatorHtml: function (item) {
if (item.RecursiveUnplayedItemCount) { if (item.Type == "Series" || item.Type == "Season" || item.Type == "BoxSet") {
return '<div class="unplayedIndicator">' + item.RecursiveUnplayedItemCount + '</div>'; 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 ''; return '';

View file

@ -271,7 +271,7 @@
$('#btnPlay', page).on('click', function () { $('#btnPlay', page).on('click', function () {
var userdata = currentItem.UserData || {}; 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 () { $('#btnRemote', page).on('click', function () {

View file

@ -29,13 +29,19 @@
var checkSortOption = $('.radioSortBy:checked', page); var checkSortOption = $('.radioSortBy:checked', page);
$('.viewSummary', page).html(LibraryBrowser.getViewSummaryHtml(query, checkSortOption)).trigger('create'); $('.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, items: result.Items,
useAverageAspectRatio: true, context: "tv",
shape: "backdrop", shape: "backdrop"
showTitle: false,
overlayText: false,
context: 'tv'
}); });
html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount); html += LibraryBrowser.getPagingHtml(query, result.TotalRecordCount);