mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
added more remote control commands
This commit is contained in:
parent
371dd1454a
commit
432c8c49ce
20 changed files with 129 additions and 117 deletions
|
@ -6,6 +6,7 @@
|
|||
$('#logPath', page).html(systemInfo.LogPath);
|
||||
$('#imagesByNamePath', page).html(systemInfo.ItemsByNamePath);
|
||||
$('#transcodingTemporaryPath', page).html(systemInfo.TranscodingTempPath);
|
||||
$('#metadataPath', page).html(systemInfo.InternalMetadataPath);
|
||||
|
||||
if (systemInfo.WanAddress) {
|
||||
|
||||
|
|
|
@ -150,7 +150,9 @@
|
|||
|
||||
function onWebSocketMessageReceived(e, msg) {
|
||||
|
||||
var localPlayer = msg.MessageType === "Play" || msg.MessageType === "Playstate" ?
|
||||
var localPlayer = msg.MessageType === "Play" ||
|
||||
msg.MessageType === "Playstate" ||
|
||||
msg.MessageType === "GeneralCommand" ?
|
||||
MediaController.getLocalPlayer() :
|
||||
null;
|
||||
|
||||
|
@ -191,6 +193,26 @@
|
|||
localPlayer.remoteFullscreen();
|
||||
}
|
||||
}
|
||||
else if (msg.MessageType === "GeneralCommand") {
|
||||
|
||||
var cmd = msg.Data;
|
||||
|
||||
if (cmd.Name === 'Mute') {
|
||||
localPlayer.mute();
|
||||
}
|
||||
else if (cmd.Name === 'Unmute') {
|
||||
localPlayer.unmute();
|
||||
}
|
||||
else if (cmd.Name === 'VolumeUp') {
|
||||
localPlayer.volumeUp();
|
||||
}
|
||||
else if (cmd.Name === 'VolumeDown') {
|
||||
localPlayer.volumeDown();
|
||||
}
|
||||
else if (cmd.Name === 'ToggleMute') {
|
||||
localPlayer.toggleMute();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(ApiClient).on("websocketmessage", onWebSocketMessageReceived);
|
||||
|
@ -232,7 +254,7 @@
|
|||
function showPlayerSelection(page) {
|
||||
|
||||
var promise = MediaController.getTargets();
|
||||
|
||||
|
||||
var html = '<div data-role="panel" data-position="right" data-display="overlay" data-position-fixed="true" id="playerSelectionPanel" class="playerSelectionPanel" data-theme="b">';
|
||||
|
||||
html += '<div class="players"></div>';
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
MediaLibraryPage.reloadVirtualFolders(page, result);
|
||||
});
|
||||
|
||||
$('#fldUseDefaultLibrary', page).hide();
|
||||
$('#divMediaLibrary', page).show();
|
||||
Dashboard.setPageTitle("Media Library");
|
||||
},
|
||||
|
@ -245,7 +244,7 @@
|
|||
|
||||
$('.collectionTypeFieldDescription').hide();
|
||||
|
||||
MediaLibraryPage.getTextValue(virtualFolder.Name, "Rename " + virtualFolder.Name, virtualFolder.Name, false, function (newName) {
|
||||
MediaLibraryPage.getTextValue("Rename Media Folder", "New name:", virtualFolder.Name, false, function (newName) {
|
||||
|
||||
if (virtualFolder.Name != newName) {
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
var promise2 = $.getJSON("configurationpages?pageType=PluginConfiguration");
|
||||
|
||||
$.when(promise1, promise2).done(function(response1, response2) {
|
||||
$.when(promise1, promise2).done(function (response1, response2) {
|
||||
|
||||
PluginsPage.populateList(page, response1[0], response2[0]);
|
||||
|
||||
|
@ -32,7 +32,7 @@
|
|||
for (var i = 0, length = plugins.length; i < length; i++) {
|
||||
|
||||
var plugin = plugins[i];
|
||||
|
||||
|
||||
var configPage = $.grep(pluginConfigurationPages, function (pluginConfigurationPage) {
|
||||
return pluginConfigurationPage.PluginId == plugin.Id;
|
||||
})[0];
|
||||
|
@ -42,7 +42,7 @@
|
|||
if (configPage) {
|
||||
html += "<a href='" + Dashboard.getConfigurationPageUrl(configPage.Name) + "'>";
|
||||
} else {
|
||||
html += "<a onclick='Dashboard.alert(\"Nothing to configure.\");' href='#'>";
|
||||
html += "<a onclick='Dashboard.alert(\"" + Globalize.translate("NoPluginConfigurationMessage") + "\");' href='#'>";
|
||||
}
|
||||
|
||||
html += "<h3>" + plugin.Name + "</h3>";
|
||||
|
@ -51,18 +51,24 @@
|
|||
|
||||
html += "</a>";
|
||||
|
||||
html += "<a data-id='" + plugin.Id + "' data-pluginname='" + plugin.Name + "' onclick='PluginsPage.deletePlugin(this);' href='#'>Delete</a>";
|
||||
html += "<a data-id='" + plugin.Id + "' data-pluginname='" + plugin.Name + "' onclick='PluginsPage.deletePlugin(this);' href='#'>" + Globalize.translate("Delete") + "</a>";
|
||||
|
||||
html += "</li>";
|
||||
}
|
||||
|
||||
if (plugins.length == 0 || !plugins.length) {
|
||||
html += '<li style="padding:5px;">You have no plugins installed. Browse our <a href="plugincatalog.html">plugin catalog</a> to view available plugins.</li>';
|
||||
$('#ulInstalledPlugins', page).html(html);
|
||||
}else {
|
||||
$('#ulInstalledPlugins', page).html(html).listview('refresh');
|
||||
}
|
||||
if (!plugins.length) {
|
||||
|
||||
html += '<li style="padding:5px;">';
|
||||
html += '<p>You have no plugins installed.</p>';
|
||||
html += '<p><a href="plugincatalog.html">';
|
||||
html += Globalize.translate("BrowsePluginCatalogMessage");
|
||||
html += '</a></p>';
|
||||
html += '</li>';
|
||||
|
||||
$('#ulInstalledPlugins', page).html(html);
|
||||
} else {
|
||||
$('#ulInstalledPlugins', page).html(html).listview('refresh');
|
||||
}
|
||||
|
||||
Dashboard.hideLoadingMsg();
|
||||
},
|
||||
|
@ -73,9 +79,9 @@
|
|||
var name = link.getAttribute('data-pluginname');
|
||||
var uniqueid = link.getAttribute('data-id');
|
||||
|
||||
var msg = "Are you sure you wish to uninstall " + name + "?";
|
||||
var msg = Globalize.translate("UninstallPluginConfirmation").replace("{0}", name);
|
||||
|
||||
Dashboard.confirm(msg, "Uninstall Plugin", function (result) {
|
||||
Dashboard.confirm(msg, Globalize.translate("UninstallPluginHeader"), function (result) {
|
||||
|
||||
if (result) {
|
||||
Dashboard.showLoadingMsg();
|
||||
|
|
|
@ -33,7 +33,11 @@
|
|||
|
||||
var fieldId = "liPluginUpdateFielda" + fieldIndex;
|
||||
|
||||
var options = PluginUpdatesPage.getHtmlOptions(["Off", "On"], (plugin.EnableAutoUpdate ? "On" : "Off"));
|
||||
var enabledOptions = [
|
||||
Globalize.translate('OptionOff'),
|
||||
Globalize.translate('OptionOn')
|
||||
];
|
||||
var options = PluginUpdatesPage.getHtmlOptions(enabledOptions, (plugin.EnableAutoUpdate ? "On" : "Off"));
|
||||
|
||||
html += "<td style='vertical-align:middle;text-align:left;'>";
|
||||
html += "<select data-mini='true' data-id='" + plugin.Id + "' onchange='PluginUpdatesPage.setAutoUpdate(this);' data-role='slider' id='" + fieldId + "' name='" + fieldId + "'>" + options + "</select>";
|
||||
|
@ -41,7 +45,12 @@
|
|||
|
||||
fieldId = "liPluginUpdateFieldb" + fieldIndex;
|
||||
|
||||
options = PluginUpdatesPage.getHtmlOptions(["Release", "Beta", "Dev"], plugin.UpdateClass);
|
||||
var updateOptions = [
|
||||
Globalize.translate('OptionRelease'),
|
||||
Globalize.translate('OptionBeta'),
|
||||
Globalize.translate('OptionDev')
|
||||
];
|
||||
options = PluginUpdatesPage.getHtmlOptions(updateOptions, plugin.UpdateClass);
|
||||
|
||||
html += "<td style='vertical-align:middle;text-align:left;'>";
|
||||
html += "<select data-mini='true' data-id='" + plugin.Id + "' onchange='PluginUpdatesPage.setUpdateClass(this);' data-inline='true' id='" + fieldId + "' name='" + fieldId + "'>" + options + "</select>";
|
||||
|
|
|
@ -882,29 +882,16 @@ var Dashboard = {
|
|||
|
||||
Dashboard.onBrowseCommand(msg.Data);
|
||||
}
|
||||
else if (msg.MessageType === "SystemCommand") {
|
||||
else if (msg.MessageType === "GeneralCommand") {
|
||||
|
||||
if (msg.Data === 'GoHome') {
|
||||
var cmd = msg.Data;
|
||||
|
||||
if (cmd.Name === 'GoHome') {
|
||||
Dashboard.navigate('index.html');
|
||||
}
|
||||
else if (msg.Data === 'GoToSettings') {
|
||||
else if (cmd.Name === 'GoToSettings') {
|
||||
Dashboard.navigate('dashboard.html');
|
||||
}
|
||||
else if (msg.Data === 'Mute') {
|
||||
MediaPlayer.mute();
|
||||
}
|
||||
else if (msg.Data === 'Unmute') {
|
||||
MediaPlayer.unmute();
|
||||
}
|
||||
else if (msg.Data === 'VolumeUp') {
|
||||
MediaPlayer.volumeUp();
|
||||
}
|
||||
else if (msg.Data === 'VolumeDown') {
|
||||
MediaPlayer.volumeDown();
|
||||
}
|
||||
else if (msg.Data === 'ToggleMute') {
|
||||
MediaPlayer.toggleMute();
|
||||
}
|
||||
}
|
||||
else if (msg.MessageType === "MessageCommand") {
|
||||
|
||||
|
|
|
@ -51,27 +51,21 @@
|
|||
|
||||
if (result.Items.length) {
|
||||
$('#resumableSection', page).show();
|
||||
$('.noNextUpItems', page).hide();
|
||||
} else {
|
||||
$('#resumableSection', page).hide();
|
||||
$('.noNextUpItems', page).show();
|
||||
}
|
||||
|
||||
if (result.Items.length) {
|
||||
$('#nextUpItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true,
|
||||
shape: "backdrop",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: true
|
||||
|
||||
$('#nextUpItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
items: result.Items,
|
||||
useAverageAspectRatio: true,
|
||||
shape: "backdrop",
|
||||
showTitle: true,
|
||||
showParentTitle: true,
|
||||
overlayText: true
|
||||
|
||||
})).createPosterItemMenus();
|
||||
|
||||
} else {
|
||||
|
||||
$('#nextUpItems', page).html('<br/><p>None found. Start watching your shows!</p>');
|
||||
|
||||
}
|
||||
})).createPosterItemMenus();
|
||||
|
||||
});
|
||||
}
|
||||
|
|
|
@ -15,9 +15,10 @@
|
|||
|
||||
var items = result.Items;
|
||||
|
||||
if (!items.length) {
|
||||
$('#upcomingItems', page).html("<p>Nothing here. Please ensure <a href='metadata.html'>downloading of internet metadata</a> is enabled.</p>").trigger('create');
|
||||
return;
|
||||
if (items.length) {
|
||||
$('.noItemsMessage', page).hide();
|
||||
} else {
|
||||
$('.noItemsMessage', page).show();
|
||||
}
|
||||
|
||||
$('#upcomingItems', page).html(LibraryBrowser.getPosterViewHtml({
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue