mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
3.0.5233.40306
This commit is contained in:
parent
57d8c433c5
commit
ea285c28ef
8 changed files with 106 additions and 155 deletions
|
@ -131,18 +131,3 @@
|
|||
.ui-nosvg .ui-icon-expand:after {
|
||||
background-image: url("images/icons/expand.png");
|
||||
}
|
||||
|
||||
.ui-icon-play-circle-o:after {
|
||||
background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%20Tiny%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11-tiny.dtd%22%3E%3Csvg%20version%3D%221.1%22%20baseProfile%3D%22tiny%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2216px%22%20height%3D%2216px%22%20viewBox%3D%220%200%20500%20500%22%20xml%3Aspace%3D%22preserve%22%3E%20%3Cpath%20d%3D%22M330.357%20250q0%2010.324-8.929%2015.346l-151.786%2089.286q-4.185%202.511-8.929%202.511-4.464%200-8.929-2.232-8.929-5.301-8.929-15.625v-178.571q0-10.324%208.929-15.625%209.208-5.022%2017.857%200.279l151.786%2089.286q8.929%205.022%208.929%2015.346zM366.071%20250q0-41.294-20.368-76.172t-55.246-55.246-76.172-20.368-76.172%2020.368-55.246%2055.246-20.368%2076.172%2020.368%2076.172%2055.246%2055.246%2076.172%2020.368%2076.172-20.368%2055.246-55.246%2020.368-76.172zM428.571%20250q0%2058.315-28.739%20107.562t-77.985%2077.985-107.562%2028.739-107.562-28.739-77.985-77.985-28.739-107.562%2028.739-107.562%2077.985-77.985%20107.562-28.739%20107.562%2028.739%2077.985%2077.985%2028.739%20107.562z%22%20fill%3D%22%23ffffff%22%20%2F%3E%3C%2Fsvg%3E");
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
/* Fallback */
|
||||
|
||||
.ui-icon-tablet:after {
|
||||
background-image: url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%20Tiny%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11-tiny.dtd%22%3E%3Csvg%20version%3D%221.1%22%20baseProfile%3D%22tiny%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%2216px%22%20height%3D%2216px%22%20viewBox%3D%220%200%20500%20500%22%20xml%3Aspace%3D%22preserve%22%3E%20%3Cpath%20d%3D%22M178.571%20392.857q0-7.254-5.301-12.556t-12.556-5.301-12.556%205.301-5.301%2012.556%205.301%2012.556%2012.556%205.301%2012.556-5.301%205.301-12.556zM285.714%20348.214v-267.857q0-3.627-2.651-6.278t-6.278-2.651h-232.143q-3.627%200-6.278%202.651t-2.651%206.278v267.857q0%203.627%202.651%206.278t6.278%202.651h232.143q3.627%200%206.278-2.651t2.651-6.278zM321.429%2080.357v303.571q0%2018.415-13.114%2031.529t-31.529%2013.114h-232.143q-18.415%200-31.529-13.114t-13.114-31.529v-303.571q0-18.415%2013.114-31.529t31.529-13.114h232.143q18.415%200%2031.529%2013.114t13.114%2031.529z%22%20fill%3D%22%23ffffff%22%20%2F%3E%3C%2Fsvg%3E");
|
||||
background-repeat: no-repeat;
|
||||
background-position: 6px 3px;
|
||||
}
|
||||
|
||||
/* Fallback */
|
||||
|
|
|
@ -1222,7 +1222,8 @@ a.itemTag:hover {
|
|||
}
|
||||
|
||||
.nowPlayingPageImage img {
|
||||
height: 300px;
|
||||
max-height: 300px;
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
.nowPlayingPage .positionSliderContainer {
|
||||
|
@ -1240,7 +1241,8 @@ a.itemTag:hover {
|
|||
}
|
||||
|
||||
.nowPlayingPageImage img {
|
||||
height: 200px;
|
||||
max-height: 200px;
|
||||
max-width: 250px;
|
||||
}
|
||||
|
||||
.nowPlayingPage .positionSliderContainer {
|
||||
|
@ -1254,14 +1256,6 @@ a.itemTag:hover {
|
|||
.nowPlayingPage .btnCommand, .nowPlayingPage .btnPlayStateCommand {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
.nowPlayingPageImage img {
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.nowPlayingPage .positionSliderContainer {
|
||||
width: 300px;
|
||||
}
|
||||
}
|
||||
|
||||
@media all and (max-width: 400px) {
|
||||
|
@ -1270,10 +1264,6 @@ a.itemTag:hover {
|
|||
font-size: 19px;
|
||||
}
|
||||
|
||||
.nowPlayingPageImage img {
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
.nowPlayingPage .positionSliderContainer {
|
||||
width: 220px;
|
||||
}
|
||||
|
|
|
@ -1374,44 +1374,6 @@
|
|||
castPlayer.setReceiverVolume(false, vol / 100);
|
||||
};
|
||||
|
||||
self.sendCommand = function (cmd) {
|
||||
|
||||
// Full list
|
||||
// https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23
|
||||
|
||||
switch (cmd.Name) {
|
||||
|
||||
case 'VolumeUp':
|
||||
self.volumeUp();
|
||||
break;
|
||||
case 'VolumeDown':
|
||||
self.volumeDown();
|
||||
break;
|
||||
case 'Mute':
|
||||
self.mute();
|
||||
break;
|
||||
case 'Unmute':
|
||||
self.unMute();
|
||||
break;
|
||||
case 'ToggleMute':
|
||||
self.toggleMute();
|
||||
break;
|
||||
case 'SetVolume':
|
||||
self.setVolume(cmd.Arguments.Volume);
|
||||
break;
|
||||
case 'SetAudioStreamIndex':
|
||||
break;
|
||||
case 'SetSubtitleStreamIndex':
|
||||
break;
|
||||
case 'ToggleFullscreen':
|
||||
break;
|
||||
default:
|
||||
// Not player-related
|
||||
Dashboard.processGeneralCommand(cmd);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
self.getPlayerState = function () {
|
||||
|
||||
var deferred = $.Deferred();
|
||||
|
|
|
@ -285,6 +285,53 @@
|
|||
self.shuffle = function (id) {
|
||||
currentPlayer.shuffle(id);
|
||||
};
|
||||
|
||||
self.sendCommand = function (cmd, player) {
|
||||
|
||||
player = player || self.getLocalPlayer();
|
||||
|
||||
// Full list
|
||||
// https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23
|
||||
console.log('MediaController received command: ' + cmd.Name);
|
||||
switch (cmd.Name) {
|
||||
|
||||
case 'VolumeUp':
|
||||
player.volumeUp();
|
||||
break;
|
||||
case 'VolumeDown':
|
||||
player.volumeDown();
|
||||
break;
|
||||
case 'Mute':
|
||||
player.mute();
|
||||
break;
|
||||
case 'Unmute':
|
||||
player.unMute();
|
||||
break;
|
||||
case 'ToggleMute':
|
||||
player.toggleMute();
|
||||
break;
|
||||
case 'SetVolume':
|
||||
player.setVolume(cmd.Arguments.Volume);
|
||||
break;
|
||||
case 'SetAudioStreamIndex':
|
||||
break;
|
||||
case 'SetSubtitleStreamIndex':
|
||||
break;
|
||||
case 'ToggleFullscreen':
|
||||
player.toggleFullscreen();
|
||||
break;
|
||||
default:
|
||||
{
|
||||
if (player.isLocalPlayer) {
|
||||
// Not player-related
|
||||
Dashboard.processGeneralCommand(cmd);
|
||||
} else {
|
||||
player.sendCommand(cmd);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
window.MediaController = new mediaController();
|
||||
|
@ -343,27 +390,7 @@
|
|||
|
||||
localPlayer = MediaController.getLocalPlayer();
|
||||
|
||||
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();
|
||||
}
|
||||
else if (cmd.Name === 'Fullscreen') {
|
||||
localPlayer.remoteFullscreen();
|
||||
}
|
||||
else if (cmd.Name === 'SetVolume') {
|
||||
localPlayer.setVolume(parseFloat(cmd.Arguments.Volume));
|
||||
}
|
||||
MediaController.sendCommand(cmd, localPlayer);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -724,49 +724,6 @@
|
|||
});
|
||||
};
|
||||
|
||||
self.sendCommand = function (cmd) {
|
||||
|
||||
// Full list
|
||||
// https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23
|
||||
|
||||
switch (cmd.Name) {
|
||||
|
||||
case 'VolumeUp':
|
||||
self.volumeUp();
|
||||
break;
|
||||
case 'VolumeDown':
|
||||
self.volumeDown();
|
||||
break;
|
||||
case 'Mute':
|
||||
self.mute();
|
||||
break;
|
||||
case 'Unmute':
|
||||
self.unMute();
|
||||
break;
|
||||
case 'ToggleMute':
|
||||
self.toggleMute();
|
||||
break;
|
||||
case 'SetVolume':
|
||||
self.setVolume(cmd.Arguments.Volume);
|
||||
break;
|
||||
case 'SetAudioStreamIndex':
|
||||
break;
|
||||
case 'SetSubtitleStreamIndex':
|
||||
break;
|
||||
case 'ToggleFullscreen':
|
||||
|
||||
if (currentItem && currentItem.MediaType == 'Video') {
|
||||
self.toggleFullscreen();
|
||||
}
|
||||
|
||||
break;
|
||||
default:
|
||||
// Not player-related
|
||||
Dashboard.processGeneralCommand(cmd);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
self.pause = function () {
|
||||
|
||||
currentMediaElement.pause();
|
||||
|
@ -795,6 +752,8 @@
|
|||
|
||||
if (currentMediaElement) {
|
||||
|
||||
console.log('MediaPlayer toggling mute');
|
||||
|
||||
if (currentMediaElement.volume) {
|
||||
self.mute();
|
||||
} else {
|
||||
|
@ -822,6 +781,7 @@
|
|||
|
||||
if (currentMediaElement) {
|
||||
|
||||
console.log('MediaPlayer setting volume to ' + val);
|
||||
currentMediaElement.volume = val / 100;
|
||||
|
||||
self.onVolumeChanged(currentMediaElement);
|
||||
|
|
|
@ -16,9 +16,10 @@
|
|||
|
||||
$('.btnCommand,.btnToggleFullscreen', page).on('click', function () {
|
||||
|
||||
currentPlayer.sendCommand({
|
||||
MediaController.sendCommand({
|
||||
Name: this.getAttribute('data-command')
|
||||
});
|
||||
|
||||
}, currentPlayer);
|
||||
});
|
||||
|
||||
$('.btnStop', page).on('click', function () {
|
||||
|
@ -79,9 +80,7 @@
|
|||
|
||||
player.endPlayerUpdates();
|
||||
|
||||
onStateChanged.call(player, e, state);
|
||||
|
||||
$('.itemName', page).html('');
|
||||
onStateChanged.call(player, e, {});
|
||||
}
|
||||
|
||||
function onStateChanged(e, state) {
|
||||
|
@ -220,6 +219,10 @@
|
|||
return;
|
||||
}
|
||||
|
||||
setImageUrl(page, url);
|
||||
}
|
||||
|
||||
function setImageUrl(page, url) {
|
||||
currentImgUrl = url;
|
||||
|
||||
$('.nowPlayingPageImage', page).html(url ? '<img src="' + url + '" />' : '');
|
||||
|
|
|
@ -131,6 +131,18 @@
|
|||
});
|
||||
};
|
||||
|
||||
self.volumeUp = function () {
|
||||
sendCommandByName('VolumeUp');
|
||||
};
|
||||
|
||||
self.volumeDown = function () {
|
||||
sendCommandByName('VolumeDown');
|
||||
};
|
||||
|
||||
self.toggleFullscreen = function () {
|
||||
sendCommandByName('ToggleFullscreen');
|
||||
};
|
||||
|
||||
self.displayContent = function (options) {
|
||||
|
||||
sendCommandByName('DisplayContent', {
|
||||
|
|
|
@ -835,20 +835,33 @@ var Dashboard = {
|
|||
// Full list
|
||||
// https://github.com/MediaBrowser/MediaBrowser/blob/master/MediaBrowser.Model/Session/GeneralCommand.cs#L23
|
||||
|
||||
if (cmd.Name === 'GoHome') {
|
||||
switch (cmd.Name) {
|
||||
|
||||
case 'GoHome':
|
||||
Dashboard.navigate('index.html');
|
||||
}
|
||||
else if (cmd.Name === 'GoToSettings') {
|
||||
break;
|
||||
case 'GoToSettings':
|
||||
Dashboard.navigate('dashboard.html');
|
||||
}
|
||||
else if (cmd.Name === 'DisplayContent') {
|
||||
break;
|
||||
case 'DisplayContent':
|
||||
Dashboard.onBrowseCommand(cmd.Arguments);
|
||||
}
|
||||
else if (cmd.Name === 'GoToSearch') {
|
||||
break;
|
||||
case 'GoToSearch':
|
||||
Search.showSearchPanel($.mobile.activePage);
|
||||
}
|
||||
else {
|
||||
break;
|
||||
case 'VolumeUp':
|
||||
case 'VolumeDown':
|
||||
case 'Mute':
|
||||
case 'Unmute':
|
||||
case 'ToggleMute':
|
||||
case 'SetVolume':
|
||||
case 'SetAudioStreamIndex':
|
||||
case 'SetSubtitleStreamIndex':
|
||||
case 'ToggleFullscreen':
|
||||
break;
|
||||
default:
|
||||
console.log('Unrecognized command: ' + cmd.Name);
|
||||
break;
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -1294,7 +1307,6 @@ var Dashboard = {
|
|||
"Unmute",
|
||||
"ToggleMute",
|
||||
"SetVolume",
|
||||
"ToggleFullscreen",
|
||||
"SetAudioStreamIndex",
|
||||
"SetSubtitleStreamIndex",
|
||||
"DisplayContent",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue