1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00
jellyfin-web/src/controllers/playback/queue/index.js

57 lines
1.8 KiB
JavaScript
Raw Normal View History

2023-10-09 17:40:31 -04:00
import RemoteControl from '../../../components/remotecontrol/remotecontrol';
import { playbackManager } from '../../../components/playback/playbackmanager';
import libraryMenu from '../../../scripts/libraryMenu';
import '../../../elements/emby-button/emby-button';
import '../../../elements/emby-button/paper-icon-button-light';
import '../../../elements/emby-collapse/emby-collapse';
import '../../../elements/emby-input/emby-input';
import '../../../elements/emby-itemscontainer/emby-itemscontainer';
import '../../../elements/emby-slider/emby-slider';
2021-01-26 22:20:12 -05:00
export default function (view) {
2023-07-06 11:49:55 -04:00
const remoteControl = new RemoteControl();
2023-10-09 17:40:31 -04:00
remoteControl.init(view, view.querySelector('.remoteControlContent'));
let currentPlayer;
function onKeyDown(e) {
2023-10-09 17:40:31 -04:00
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;
}
}
2023-10-09 17:40:31 -04:00
view.addEventListener('viewshow', function () {
libraryMenu.setTransparentMenu(true);
bindToPlayer(playbackManager.getCurrentPlayer());
2023-10-09 17:40:31 -04:00
document.addEventListener('keydown', onKeyDown);
if (remoteControl) {
remoteControl.onShow();
}
});
2023-10-09 17:40:31 -04:00
view.addEventListener('viewbeforehide', function () {
libraryMenu.setTransparentMenu(false);
2023-10-09 17:40:31 -04:00
document.removeEventListener('keydown', onKeyDown);
releaseCurrentPlayer();
if (remoteControl) {
remoteControl.destroy();
}
});
}