1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00

Hide speed menu when clicking outside element

This commit is contained in:
Michael Hollister 2024-11-12 23:44:19 -06:00
parent 4beb3ded54
commit e1a1ca7743

View file

@ -585,14 +585,20 @@ playerCtrlFullscreen.onclick = () => { playerCtrlStateUpdate(PlayerControlEvent.
playbackRates.forEach(r => { playbackRates.forEach(r => {
const entry = document.getElementById(`speedMenuEntry_${r}`); const entry = document.getElementById(`speedMenuEntry_${r}`);
entry.onclick = () => { player.setPlaybackRate(parseFloat(r)); playerCtrlStateUpdate(PlayerControlEvent.SetPlaybackRate); }; entry.onclick = () => {
player.setPlaybackRate(parseFloat(r));
playerCtrlStateUpdate(PlayerControlEvent.SetPlaybackRate);
playerCtrlStateUpdate(PlayerControlEvent.ToggleSpeedMenu);
};
}); });
videoElement.onclick = () => { videoElement.onclick = () => {
if (!playerCtrlSpeedMenuShown) {
if (player.isPaused()) { if (player.isPaused()) {
playerCtrlStateUpdate(PlayerControlEvent.Play); playerCtrlStateUpdate(PlayerControlEvent.Play);
} else { } else {
playerCtrlStateUpdate(PlayerControlEvent.Pause); playerCtrlStateUpdate(PlayerControlEvent.Pause);
}
} }
}; };
videoElement.ondblclick = () => { playerCtrlStateUpdate(PlayerControlEvent.ToggleFullscreen); }; videoElement.ondblclick = () => { playerCtrlStateUpdate(PlayerControlEvent.ToggleFullscreen); };
@ -630,6 +636,14 @@ document.onmousemove = function() {
window.onresize = () => { playerCtrlStateUpdate(PlayerControlEvent.TimeUpdate); }; window.onresize = () => { playerCtrlStateUpdate(PlayerControlEvent.TimeUpdate); };
// Listener for hiding speed menu when clicking outside element
document.addEventListener('click', (event: MouseEvent) => {
const node = event.target as Node;
if (playerCtrlSpeedMenuShown && !playerCtrlSpeed.contains(node) && !playerCtrlSpeedMenu.contains(node)){
playerCtrlStateUpdate(PlayerControlEvent.ToggleSpeedMenu);
}
});
// Add the keydown event listener to the document // Add the keydown event listener to the document
const skipInterval = 10; const skipInterval = 10;
const volumeIncrement = 0.1; const volumeIncrement = 0.1;