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

update playlist query

This commit is contained in:
Luke Pulverenti 2015-11-15 17:30:47 -05:00
parent a38b85a4df
commit 6afa97f6b8
14 changed files with 142 additions and 121 deletions

View file

@ -76,25 +76,9 @@
function getDeviceCulture() {
var deferred = DeferredBuilder.Deferred();
if (navigator.globalization && navigator.globalization.getPreferredLanguage) {
if (AppInfo.isNativeApp) {
Logger.log('Calling navigator.globalization.getPreferredLanguage');
navigator.globalization.getPreferredLanguage(function (locale) {
var culture = locale.value || '';
//if ($.browser.safari) {
culture = navigator.language || navigator.userLanguage || culture;
//}
Logger.log('Device culture is ' + culture);
deferred.resolveWith(null, [culture]);
}, function () {
Logger.log('navigator.globalization.getPreferredLanguage failed');
deferred.resolveWith(null, [navigator.language || navigator.userLanguage]);
});
deferred.resolveWith(null, [navigator.language || navigator.userLanguage]);
} else if (AppInfo.supportsUserDisplayLanguageSetting) {

View file

@ -1136,7 +1136,7 @@
var review = reviews[i];
html += '<div class="paperList">';
html += '<div class="paperList criticReviewPaperList">';
html += '<paper-icon-item style="padding-top:.5em;padding-bottom:.5em;">';
if (review.Score != null) {

View file

@ -583,7 +583,7 @@
showPlayMenu: function (positionTo, itemId, itemType, isFolder, mediaType, resumePositionTicks) {
var externalPlayers = AppSettings.enableExternalPlayers();
var externalPlayers = AppInfo.supportsExternalPlayers && AppSettings.enableExternalPlayers();
if (!resumePositionTicks && mediaType != "Audio" && !isFolder) {
@ -727,7 +727,9 @@
}
if (item.CanDownload) {
commands.push('download');
if (AppInfo.supportsDownloading) {
commands.push('download');
}
}
if (LibraryBrowser.canShare(item, user)) {

View file

@ -289,7 +289,7 @@
}
}
if (mediaType == 'Video' && AppSettings.enableExternalPlayers()) {
if (mediaType == 'Video' && AppInfo.supportsExternalPlayers && AppSettings.enableExternalPlayers()) {
items.push({
name: Globalize.translate('ButtonPlayExternalPlayer'),
id: 'externalplayer',

View file

@ -1,5 +1,26 @@
(function ($, document) {
function enableScrollX() {
return $.browser.mobile && AppInfo.enableAppLayouts;
}
function getPortraitShape() {
return enableScrollX() ? 'overflowPortrait' : 'portrait';
}
function getThumbShape() {
return enableScrollX() ? 'overflowBackdrop' : 'backdrop';
}
function getSquareShape() {
return enableScrollX() ? 'overflowSquare' : 'square';
}
function getLimit() {
return enableScrollX() ? 12 : 8;
}
function loadRecommendedPrograms(page) {
Dashboard.showLoadingMsg();
@ -8,30 +29,15 @@
userId: Dashboard.getCurrentUserId(),
IsAiring: true,
limit: 16,
limit: getLimit() * 2,
ImageTypeLimit: 1,
EnableImageTypes: "Primary"
}).done(function (result) {
var html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "auto",
showTitle: true,
showParentTitle: true,
centerText: true,
coverImage: true,
lazy: true,
overlayPlayButton: true
});
var elem = page.querySelector('.activeProgramItems');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
Dashboard.hideLoadingMsg();
renderItems(page, result.Items, 'activeProgramItems', 'play');
LibraryBrowser.setLastRefreshed(page);
Dashboard.hideLoadingMsg();
});
}
@ -44,7 +50,7 @@
userId: Dashboard.getCurrentUserId(),
IsAiring: false,
HasAired: false,
limit: 8,
limit: getLimit(),
IsMovie: false,
IsSports: false,
IsKids: false,
@ -52,22 +58,7 @@
}).done(function (result) {
var html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "auto",
showTitle: true,
showParentTitle: true,
centerText: true,
coverImage: true,
lazy: true,
overlayMoreButton: true
});
var elem = page.querySelector('.upcomingProgramItems');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
renderItems(page, result.Items, 'upcomingProgramItems');
});
ApiClient.getLiveTvRecommendedPrograms({
@ -75,25 +66,12 @@
userId: Dashboard.getCurrentUserId(),
IsAiring: false,
HasAired: false,
limit: 8,
limit: getLimit(),
IsMovie: true
}).done(function (result) {
var html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "portrait",
showTitle: true,
centerText: true,
coverImage: true,
overlayText: false,
lazy: true,
overlayMoreButton: true
});
var elem = page.querySelector('.upcomingTvMovieItems');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
renderItems(page, result.Items, 'upcomingTvMovieItems', null, getPortraitShape());
});
ApiClient.getLiveTvRecommendedPrograms({
@ -101,25 +79,12 @@
userId: Dashboard.getCurrentUserId(),
IsAiring: false,
HasAired: false,
limit: 8,
limit: getLimit(),
IsSports: true
}).done(function (result) {
var html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "auto",
showTitle: true,
centerText: true,
coverImage: true,
overlayText: false,
lazy: true,
overlayMoreButton: true
});
var elem = page.querySelector('.upcomingSportsItems');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
renderItems(page, result.Items, 'upcomingSportsItems');
});
ApiClient.getLiveTvRecommendedPrograms({
@ -127,28 +92,44 @@
userId: Dashboard.getCurrentUserId(),
IsAiring: false,
HasAired: false,
limit: 8,
limit: getLimit(),
IsKids: true
}).done(function (result) {
var html = LibraryBrowser.getPosterViewHtml({
items: result.Items,
shape: "auto",
showTitle: true,
centerText: true,
coverImage: true,
overlayText: false,
lazy: true,
overlayMoreButton: true
});
var elem = page.querySelector('.upcomingKidsItems');
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
renderItems(page, result.Items, 'upcomingKidsItems');
});
}
function renderItems(page, items, sectionClass, overlayButton, shape) {
var html = LibraryBrowser.getPosterViewHtml({
items: items,
shape: shape || (enableScrollX() ? getSquareShape() : 'auto'),
showTitle: true,
centerText: true,
coverImage: true,
overlayText: false,
lazy: true,
overlayMoreButton: overlayButton != 'play',
overlayPlayButton: overlayButton == 'play'
});
var elem = page.querySelector('.' + sectionClass);
elem.innerHTML = html;
ImageLoader.lazyChildren(elem);
}
function initSuggestedTab(page, tabContent) {
if (enableScrollX()) {
$('.itemsContainer', tabContent).addClass('hiddenScrollX').createCardMenus();
} else {
$('.itemsContainer', tabContent).removeClass('hiddenScrollX').createCardMenus();
}
}
function renderSuggestedTab(page, tabContent) {
if (LibraryBrowser.needsRefresh(tabContent)) {
@ -168,6 +149,7 @@
case 0:
renderMethod = 'renderSuggestedTab';
initMethod = 'initSuggestedTab';
break;
case 1:
depends.push('scripts/registrationservices');
@ -225,7 +207,8 @@
});
window.LiveTvPage = {
renderSuggestedTab: renderSuggestedTab
renderSuggestedTab: renderSuggestedTab,
initSuggestedTab: initSuggestedTab
};
})(jQuery, document);

View file

@ -147,7 +147,13 @@
var page = this;
if (AppInfo.hasKnownExternalPlayerSupport) {
if (AppInfo.supportsExternalPlayers) {
$('.fldExternalPlayer', page).show();
} else {
$('.fldExternalPlayer', page).hide();
}
if (AppInfo.supportsExternalPlayerMenu) {
$('.labelNativeExternalPlayers', page).show();
$('.labelGenericExternalPlayers', page).hide();
} else {

View file

@ -14,6 +14,10 @@
var view = items[i];
if (AppInfo.isNativeApp && $.browser.safari && view.CollectionType == 'livetv') {
continue;
}
list.push(view);
if (view.CollectionType == 'livetv') {

View file

@ -1801,10 +1801,16 @@ var AppInfo = {};
AppInfo.enableMovieTrailersTab = true;
}
AppInfo.supportsExternalPlayers = true;
if (isCordova) {
AppInfo.enableAppLayouts = true;
AppInfo.hasKnownExternalPlayerSupport = true;
AppInfo.supportsExternalPlayerMenu = true;
AppInfo.isNativeApp = true;
if (isIOS) {
AppInfo.supportsExternalPlayers = false;
}
}
else {
AppInfo.enableFooterNotifications = true;
@ -1824,6 +1830,8 @@ var AppInfo = {};
}
}
AppInfo.supportsDownloading = !AppInfo.isNativeApp || !$.browser.safari;
AppInfo.enableUserImage = true;
AppInfo.hasPhysicalVolumeButtons = isCordova || isMobile;
AppInfo.enableBackButton = isIOS && (window.navigator.standalone || AppInfo.isNativeApp);