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

updated nuget

This commit is contained in:
Luke Pulverenti 2015-06-10 09:37:07 -04:00
parent 6c97b11f21
commit f470541e59
20 changed files with 254 additions and 61 deletions

View file

@ -73,7 +73,7 @@
<ul data-role="listview" class="ulForm">
<li>
<label for="txtDashboardSourcePath">${LabelDashboardSourcePath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtDashboardSourcePath" />
</div>
<button id="btnSelectDashboardSourcePath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -25,7 +25,7 @@
</li>
<li>
<label for="txtWatchFolder">${LabelWatchFolder}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtWatchFolder" name="txtWatchFolder" />
</div>
<button id="btnSelectWatchFolder" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -41,7 +41,7 @@
<ul data-role="listview" class="ulForm">
<li>
<label for="txtCachePath">${LabelChannelDownloadPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtCachePath" name="txtCachePath" />
</div>
<button id="btnSelectCachePath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -51,7 +51,7 @@
</li>
<li>
<label for="txtCustomIntrosPath">${LabelCustomIntrosPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtCustomIntrosPath" />
</div>
<button id="btnSelectCustomIntrosPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -42,7 +42,7 @@
<ul data-role="listview" class="ulForm">
<li>
<label for="txtCachePath">${LabelCachePath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtCachePath" name="txtCachePath" />
</div>
<button id="btnSelectCachePath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -45,7 +45,7 @@
</li>
<li>
<label for="txtCertificatePath">${LabelCustomCertificatePath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtCertificatePath" />
</div>
<button id="btnSelectCertPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -30,7 +30,7 @@
</li>
<li id="fldCameraUploadPath" style="display:none;">
<label for="txtUploadPath">${LabelCameraUploadPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtUploadPath" />
</div>
<button id="btnSelectUploadPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -32,7 +32,7 @@
<ul data-role="listview" class="ulForm">
<li>
<label for="txtUploadPath">${LabelCameraUploadPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtUploadPath" />
</div>
<button id="btnSelectUploadPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -51,7 +51,7 @@
</li>
<li>
<label for="txtTranscodingTempPath">${LabelTranscodingTempPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtTranscodingTempPath" />
</div>
<button id="btnSelectTranscodingTempPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -19,7 +19,7 @@
<ul data-role="listview" class="ulForm">
<li class="fldImagesByName" style="display:none;">
<label for="txtItemsByNamePath">${LabelImagesByNamePath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtItemsByNamePath" name="txtItemsByNamePath" />
</div>
<button id="btnSelectIBNPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -22,7 +22,7 @@
<ul data-role="listview" class="ulForm">
<li>
<label for="txtMetadataPath">${LabelMetadataPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtMetadataPath" />
</div>
<button id="btnSelectMetadataPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -215,7 +215,7 @@
<br />
<div>
<label for="txtSyncPath">${LabelSyncPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtSyncPath" readonly />
</div>
<button class="btnSelectSyncPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true"></button>

View file

@ -261,6 +261,12 @@
}
}
window.HtmlMediaRenderer = htmlMediaRenderer;
if (!window.AudioRenderer) {
window.AudioRenderer = htmlMediaRenderer;
}
if (!window.VideoRenderer) {
window.VideoRenderer = htmlMediaRenderer;
}
})();

View file

@ -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>';
}
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>';

View file

@ -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();

View file

@ -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);
});
}

View file

@ -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;

View file

@ -20,7 +20,7 @@
<ul data-role="listview" class="ulForm">
<li>
<label for="txtSyncTempPath">${LabelSyncTempPath}</label>
<div style="display: inline-block; width: 92%;">
<div style="display: inline-block; width: 85%;">
<input type="text" id="txtSyncTempPath" />
</div>
<button id="btnSelectSyncTempPath" type="button" data-icon="search" data-iconpos="notext" data-inline="true">${ButtonSelectDirectory}</button>

View file

@ -34,7 +34,7 @@
var canSeek = playState.CanSeek || false;
var url = '';
var imgHeight = 200;
var imgHeight = 400;
var nowPlayingItem = state.NowPlayingItem;

View file

@ -0,0 +1,127 @@
(function () {
function vlcRenderer(type) {
var self = this;
function onEnded() {
$(self).trigger('ended');
}
function onTimeUpdate() {
$(self).trigger('timeupdate');
}
function onVolumeChange() {
$(self).trigger('volumechange');
}
function onPlaying() {
$(self).trigger('playing');
}
function onPlay() {
$(self).trigger('play');
}
function onPause() {
$(self).trigger('pause');
}
function onClick() {
$(self).trigger('click');
}
function onDblClick() {
$(self).trigger('dblclick');
}
function onError() {
var errorCode = this.error ? this.error.code : '';
console.log('Media element error code: ' + errorCode);
$(self).trigger('error');
}
var playerState = {};
self.currentTime = function (val) {
if (val != null) {
AndroidVlcPlayer.setPosition(val);
return;
}
return playerState.currentTime;
};
self.duration = function (val) {
if (playerState) {
return playerState.duration;
}
return null;
};
self.pause = function () {
AndroidVlcPlayer.pause();
};
self.unpause = function () {
AndroidVlcPlayer.unpause();
};
self.volume = function (val) {
if (playerState) {
if (val != null) {
AndroidVlcPlayer.setVolume(val);
return;
}
return playerState.volume;
}
};
self.setCurrentSrc = function (val) {
if (!val) {
self.destroy();
}
if (type == 'audio') {
AndroidVlcPlayer.playAudioVlc(val);
} else {
AndroidVlcPlayer.playVideoVlc(val);
}
};
self.currentSrc = function () {
if (playerState) {
return playerState.currentSrc;
}
};
self.paused = function () {
if (playerState) {
return playerState.paused;
}
return false;
};
self.destroy = function () {
AndroidVlcPlayer.destroy();
playerState = {};
};
self.setPoster = function (url) {
};
}
window.AudioRenderer = vlcRenderer;
})();