mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
updated nuget
This commit is contained in:
parent
6c97b11f21
commit
f470541e59
20 changed files with 254 additions and 61 deletions
|
@ -261,6 +261,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
window.HtmlMediaRenderer = htmlMediaRenderer;
|
||||
if (!window.AudioRenderer) {
|
||||
window.AudioRenderer = htmlMediaRenderer;
|
||||
}
|
||||
|
||||
if (!window.VideoRenderer) {
|
||||
window.VideoRenderer = htmlMediaRenderer;
|
||||
}
|
||||
|
||||
})();
|
|
@ -33,10 +33,11 @@
|
|||
|
||||
html += '<button onclick="VoiceInputManager.startListening();" type="button" data-role="none" class="headerButton headerButtonRight headerVoiceButton" style="display:none;"><i class="material-icons">mic</i></button>';
|
||||
|
||||
//if (AppInfo.isNativeApp && $.browser.android)
|
||||
//{
|
||||
// html += '<button class="headerButtonViewMenu headerButton headerButtonRight" type="button" data-role="none"><i class="material-icons">more_vert</i></button>';
|
||||
//}
|
||||
if (!showUserAtTop()) {
|
||||
html += '<button class="headerButton headerButtonRight headerUserButton" type="button" data-role="none" onclick="Dashboard.showUserFlyout(this);">';
|
||||
html += '<div class="fa fa-user"></div>';
|
||||
html += '</button>';
|
||||
}
|
||||
|
||||
if (!$.browser.mobile && !AppInfo.isNativeApp) {
|
||||
html += '<a href="dashboard.html" class="headerButton headerButtonRight dashboardEntryHeaderButton" style="display:none;"><i class="material-icons">settings</i></a>';
|
||||
|
@ -91,6 +92,26 @@
|
|||
} else {
|
||||
$('.dashboardEntryHeaderButton', header).hide();
|
||||
}
|
||||
|
||||
var userButtonHtml = '';
|
||||
if (user.name) {
|
||||
|
||||
if (user.imageUrl && AppInfo.enableUserImage) {
|
||||
|
||||
var userButtonHeight = 26;
|
||||
|
||||
var url = user.imageUrl;
|
||||
|
||||
if (user.supportsImageParams) {
|
||||
url += "&height=" + (userButtonHeight * Math.max(devicePixelRatio || 1, 2));
|
||||
}
|
||||
|
||||
userButtonHtml += '<div class="lazy headerUserImage" data-src="' + url + '" style="width:' + userButtonHeight + 'px;height:' + userButtonHeight + 'px;"></div>';
|
||||
} else {
|
||||
userButtonHtml += '<div class="fa fa-user"></div>';
|
||||
}
|
||||
$('.headerUserButton', header).html(userButtonHtml).lazyChildren();
|
||||
}
|
||||
}
|
||||
|
||||
function bindMenuEvents() {
|
||||
|
@ -129,23 +150,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
//function onViewButtonClick() {
|
||||
|
||||
// var html = '<div class="appViewMenuPanel" data-role="panel" data-position="right" data-display="overlay" data-position-fixed="true" data-theme="a">';
|
||||
|
||||
|
||||
// html += '</div>';
|
||||
|
||||
// $(document.body).append(html);
|
||||
|
||||
// var elem = $('.appViewMenuPanel').panel({}).trigger('create').panel("open").on("panelclose", function () {
|
||||
|
||||
// $(this).off("panelclose").remove();
|
||||
// });
|
||||
|
||||
|
||||
//}
|
||||
|
||||
function initViewMenuBarHeadroom() {
|
||||
|
||||
// grab an element
|
||||
|
@ -203,7 +207,10 @@
|
|||
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="selectserver" href="selectserver.html"><span class="fa fa-globe sidebarLinkIcon"></span>' + Globalize.translate('ButtonSelectServer') + '</a>';
|
||||
}
|
||||
|
||||
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="logout" href="#" onclick="Dashboard.logout();"><span class="fa fa-lock sidebarLinkIcon"></span>' + Globalize.translate('ButtonSignOut') + '</a>';
|
||||
if (showUserAtTop()) {
|
||||
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="logout" href="#" onclick="Dashboard.logout();"><span class="fa fa-lock sidebarLinkIcon"></span>' + Globalize.translate('ButtonSignOut') + '</a>';
|
||||
}
|
||||
|
||||
html += '</div>';
|
||||
|
||||
|
||||
|
@ -407,22 +414,6 @@
|
|||
html += '<div class="lazy" data-src="css/images/mblogoicon.png" style="width:' + 28 + 'px;height:' + 28 + 'px;background-size:contain;background-repeat:no-repeat;background-position:center center;border-radius:1000px;vertical-align:middle;margin:0 1.4em 0 1.3em;display:inline-block;"></div>';
|
||||
html += Globalize.translate('ButtonHome');
|
||||
html += '</a>';
|
||||
|
||||
html += '<a class="sidebarLink lnkMediaFolder" href="' + userHref + '">';
|
||||
if (hasUserImage) {
|
||||
var imgWidth = 20;
|
||||
var url = user.imageUrl;
|
||||
|
||||
if (user.supportsImageParams) {
|
||||
url += "&width=" + (imgWidth * Math.max(devicePixelRatio || 1, 2));
|
||||
}
|
||||
|
||||
html += '<div class="lazy" data-src="' + url + '" style="width:' + imgWidth + 'px;height:' + imgWidth + 'px;background-size:contain;background-repeat:no-repeat;background-position:center center;border-radius:1000px;vertical-align:middle;margin:0 1.6em 0 1.6em;display:inline-block;"></div>';
|
||||
} else {
|
||||
html += '<span class="fa fa-user sidebarLinkIcon"></span>';
|
||||
}
|
||||
html += Globalize.translate('ButtonPreferences');
|
||||
html += '</a>';
|
||||
}
|
||||
|
||||
html += '<a class="sidebarLink lnkMediaFolder" data-itemid="remote" href="nowplaying.html"><span class="fa fa-tablet sidebarLinkIcon"></span>' + Globalize.translate('ButtonRemote') + '</a>';
|
||||
|
|
|
@ -1050,7 +1050,7 @@
|
|||
|
||||
self.playVideo = function (item, mediaSource, startPosition) {
|
||||
|
||||
requirejs(['scripts/htmlmediarenderer'], function () {
|
||||
requirejs(['videorenderer'], function () {
|
||||
|
||||
var streamInfo = self.createStreamInfo('Video', item, mediaSource, startPosition);
|
||||
|
||||
|
@ -1191,7 +1191,7 @@
|
|||
videoControls.removeClass('hide');
|
||||
}
|
||||
|
||||
var mediaRenderer = new HtmlMediaRenderer('video');
|
||||
var mediaRenderer = new VideoRenderer('video');
|
||||
|
||||
initialVolume = self.getSavedVolume();
|
||||
|
||||
|
|
|
@ -760,7 +760,7 @@
|
|||
contentType = 'video/' + mediaSource.Container;
|
||||
|
||||
if (mediaSource.enableDirectPlay) {
|
||||
mediaUrl = FileSystem.translateFilePath(mediaSource.Path);
|
||||
mediaUrl = FileSystemBridge.translateFilePath(mediaSource.Path);
|
||||
playMethod = 'DirectPlay';
|
||||
|
||||
} else {
|
||||
|
@ -797,7 +797,7 @@
|
|||
|
||||
if (mediaSource.enableDirectPlay) {
|
||||
|
||||
mediaUrl = FileSystem.translateFilePath(mediaSource.Path);
|
||||
mediaUrl = FileSystemBridge.translateFilePath(mediaSource.Path);
|
||||
playMethod = 'DirectPlay';
|
||||
|
||||
} else {
|
||||
|
@ -1628,7 +1628,7 @@
|
|||
|
||||
function getAudioRenderer() {
|
||||
|
||||
return new HtmlMediaRenderer('audio');
|
||||
return new AudioRenderer('audio');
|
||||
}
|
||||
|
||||
function onTimeUpdate() {
|
||||
|
@ -1639,7 +1639,7 @@
|
|||
|
||||
function playAudio(item, mediaSource, startPositionTicks) {
|
||||
|
||||
requirejs(['scripts/htmlmediarenderer'], function () {
|
||||
requirejs(['audiorenderer'], function () {
|
||||
playAudioInternal(item, mediaSource, startPositionTicks);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -636,6 +636,62 @@ var Dashboard = {
|
|||
}, 500);
|
||||
},
|
||||
|
||||
showUserFlyout: function () {
|
||||
|
||||
var html = '<div data-role="panel" data-position="right" data-display="overlay" id="userFlyout" data-position-fixed="true" data-theme="a">';
|
||||
|
||||
html += '<h3 class="userHeader">';
|
||||
|
||||
html += '</h3>';
|
||||
|
||||
html += '<form>';
|
||||
|
||||
html += '<p class="preferencesContainer"></p>';
|
||||
|
||||
html += '<p><button data-mini="true" type="button" onclick="Dashboard.logout();" data-icon="lock">' + Globalize.translate('ButtonSignOut') + '</button></p>';
|
||||
|
||||
html += '</form>';
|
||||
html += '</div>';
|
||||
|
||||
$(document.body).append(html);
|
||||
|
||||
var elem = $('#userFlyout').panel({}).lazyChildren().trigger('create').panel("open").on("panelclose", function () {
|
||||
|
||||
$(this).off("panelclose").remove();
|
||||
});
|
||||
|
||||
ConnectionManager.user(window.ApiClient).done(function (user) {
|
||||
Dashboard.updateUserFlyout(elem, user);
|
||||
});
|
||||
},
|
||||
|
||||
updateUserFlyout: function (elem, user) {
|
||||
|
||||
var html = '';
|
||||
var imgWidth = 48;
|
||||
|
||||
if (user.imageUrl && AppInfo.enableUserImage) {
|
||||
var url = user.imageUrl;
|
||||
|
||||
if (user.supportsImageParams) {
|
||||
url += "&width=" + (imgWidth * Math.max(window.devicePixelRatio || 1, 2));
|
||||
}
|
||||
|
||||
html += '<div class="lazy" data-src="' + url + '" style="width:' + imgWidth + 'px;height:' + imgWidth + 'px;background-size:contain;background-repeat:no-repeat;background-position:center center;border-radius:1000px;vertical-align:middle;margin-right:.8em;display:inline-block;"></div>';
|
||||
}
|
||||
html += user.name;
|
||||
|
||||
$('.userHeader', elem).html(html).lazyChildren();
|
||||
|
||||
html = '';
|
||||
|
||||
if (user.localUser && user.localUser.Policy.EnableUserPreferenceAccess) {
|
||||
html += '<p><a data-mini="true" data-role="button" href="mypreferencesdisplay.html?userId=' + user.localUser.Id + '" data-icon="gear">' + Globalize.translate('ButtonSettings') + '</button></a>';
|
||||
}
|
||||
|
||||
$('.preferencesContainer', elem).html(html).trigger('create');
|
||||
},
|
||||
|
||||
getPluginSecurityInfo: function () {
|
||||
|
||||
var apiClient = ApiClient;
|
||||
|
@ -1334,7 +1390,10 @@ var Dashboard = {
|
|||
PlayableMediaTypes: ['Audio', 'Video'],
|
||||
|
||||
SupportedCommands: Dashboard.getSupportedRemoteCommands(),
|
||||
SupportsPersistentIdentifier: AppInfo.isNativeApp === true,
|
||||
|
||||
// Need to use this rather than AppInfo.isNativeApp because the property isn't set yet at the time we call this
|
||||
SupportsPersistentIdentifier: Dashboard.isRunningInCordova(),
|
||||
|
||||
SupportsMediaControl: true,
|
||||
SupportedLiveMediaTypes: ['Audio', 'Video']
|
||||
};
|
||||
|
@ -1898,6 +1957,16 @@ var AppInfo = {};
|
|||
define("nativedirectorychooser", ["thirdparty/cordova/android/nativedirectorychooser"]);
|
||||
}
|
||||
|
||||
if (Dashboard.isRunningInCordova() && $.browser.android) {
|
||||
//define("audiorenderer", ["thirdparty/cordova/android/vlcplayer"]);
|
||||
define("audiorenderer", ["scripts/htmlmediarenderer"]);
|
||||
define("videorenderer", ["scripts/htmlmediarenderer"]);
|
||||
}
|
||||
else {
|
||||
define("audiorenderer", ["scripts/htmlmediarenderer"]);
|
||||
define("videorenderer", ["scripts/htmlmediarenderer"]);
|
||||
}
|
||||
|
||||
define("connectservice", ["thirdparty/apiclient/connectservice"]);
|
||||
|
||||
//requirejs(['http://viblast.com/player/free-version/qy2fdwajo1/viblast.js']);
|
||||
|
@ -1911,7 +1980,7 @@ var AppInfo = {};
|
|||
require(['appstorage'], function () {
|
||||
|
||||
capabilities.DeviceProfile = MediaPlayer.getDeviceProfile(Math.max(screen.height, screen.width));
|
||||
createConnectionManager(capabilities).done(function() {
|
||||
createConnectionManager(capabilities).done(function () {
|
||||
$(function () {
|
||||
onDocumentReady();
|
||||
Dashboard.initPromiseDone = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue