mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
[4857] Space play/pause music in queue view
This commit is contained in:
parent
edb1c8867a
commit
7a96d7dfeb
1 changed files with 36 additions and 6 deletions
|
@ -1,19 +1,49 @@
|
|||
import RemoteControl from '../../../components/remotecontrol/remotecontrol';
|
||||
import libraryMenu from '../../../scripts/libraryMenu';
|
||||
import '../../../elements/emby-button/emby-button';
|
||||
import RemoteControl from "../../../components/remotecontrol/remotecontrol";
|
||||
import { playbackManager } from "../../../components/playback/playbackmanager";
|
||||
import libraryMenu from "../../../scripts/libraryMenu";
|
||||
import "../../../elements/emby-button/emby-button";
|
||||
|
||||
export default function (view) {
|
||||
const remoteControl = new RemoteControl();
|
||||
remoteControl.init(view, view.querySelector('.remoteControlContent'));
|
||||
view.addEventListener('viewshow', function () {
|
||||
remoteControl.init(view, view.querySelector(".remoteControlContent"));
|
||||
|
||||
let currentPlayer;
|
||||
|
||||
function onKeyDown(e) {
|
||||
if (e.keyCode === 32 && e.target.tagName !== "BUTTON") {
|
||||
playbackManager.playPause(currentPlayer);
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
}
|
||||
|
||||
function releaseCurrentPlayer() {
|
||||
const player = currentPlayer;
|
||||
if (player) currentPlayer = null;
|
||||
}
|
||||
|
||||
function bindToPlayer(player) {
|
||||
if (player !== currentPlayer) {
|
||||
releaseCurrentPlayer();
|
||||
currentPlayer = player;
|
||||
if (!player) return;
|
||||
}
|
||||
}
|
||||
|
||||
view.addEventListener("viewshow", function () {
|
||||
libraryMenu.setTransparentMenu(true);
|
||||
bindToPlayer(playbackManager.getCurrentPlayer());
|
||||
document.addEventListener("keydown", onKeyDown);
|
||||
|
||||
if (remoteControl) {
|
||||
remoteControl.onShow();
|
||||
}
|
||||
});
|
||||
view.addEventListener('viewbeforehide', function () {
|
||||
|
||||
view.addEventListener("viewbeforehide", function () {
|
||||
libraryMenu.setTransparentMenu(false);
|
||||
document.removeEventListener("keydown", onKeyDown);
|
||||
releaseCurrentPlayer();
|
||||
|
||||
if (remoteControl) {
|
||||
remoteControl.destroy();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue