mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Fix click on pause button right after showOsd
This commit is contained in:
parent
e3dd871500
commit
4b5eb8e063
1 changed files with 37 additions and 1 deletions
|
@ -437,6 +437,11 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
});
|
});
|
||||||
currentVisibleMenu = null;
|
currentVisibleMenu = null;
|
||||||
toggleSubtitleSync("hide");
|
toggleSubtitleSync("hide");
|
||||||
|
|
||||||
|
// Firefox does not blur by itself
|
||||||
|
if (document.activeElement) {
|
||||||
|
document.activeElement.blur();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1087,7 +1092,15 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
*/
|
*/
|
||||||
var NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"];
|
var NavigationKeys = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clicked element.
|
||||||
|
* To skip 'click' handling on Firefox/Edge.
|
||||||
|
*/
|
||||||
|
var clickedElement;
|
||||||
|
|
||||||
function onWindowKeyDown(e) {
|
function onWindowKeyDown(e) {
|
||||||
|
clickedElement = e.srcElement;
|
||||||
|
|
||||||
var key = keyboardnavigation.getKeyName(e);
|
var key = keyboardnavigation.getKeyName(e);
|
||||||
|
|
||||||
if (!currentVisibleMenu && 32 === e.keyCode) {
|
if (!currentVisibleMenu && 32 === e.keyCode) {
|
||||||
|
@ -1159,6 +1172,14 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function onWindowMouseDown(e) {
|
||||||
|
clickedElement = e.srcElement;
|
||||||
|
}
|
||||||
|
|
||||||
|
function onWindowTouchStart(e) {
|
||||||
|
clickedElement = e.srcElement;
|
||||||
|
}
|
||||||
|
|
||||||
function getImgUrl(item, chapter, index, maxWidth, apiClient) {
|
function getImgUrl(item, chapter, index, maxWidth, apiClient) {
|
||||||
if (chapter.ImageTag) {
|
if (chapter.ImageTag) {
|
||||||
return apiClient.getScaledImageUrl(item.Id, {
|
return apiClient.getScaledImageUrl(item.Id, {
|
||||||
|
@ -1289,6 +1310,12 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
dom.addEventListener(window, "keydown", onWindowKeyDown, {
|
dom.addEventListener(window, "keydown", onWindowKeyDown, {
|
||||||
capture: true
|
capture: true
|
||||||
});
|
});
|
||||||
|
dom.addEventListener(window, window.PointerEvent ? "pointerdown" : "mousedown", onWindowMouseDown, {
|
||||||
|
passive: true
|
||||||
|
});
|
||||||
|
dom.addEventListener(window, "touchstart", onWindowTouchStart, {
|
||||||
|
passive: true
|
||||||
|
});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
require(['appRouter'], function(appRouter) {
|
require(['appRouter'], function(appRouter) {
|
||||||
appRouter.showDirect('/');
|
appRouter.showDirect('/');
|
||||||
|
@ -1303,6 +1330,12 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
dom.removeEventListener(window, "keydown", onWindowKeyDown, {
|
dom.removeEventListener(window, "keydown", onWindowKeyDown, {
|
||||||
capture: true
|
capture: true
|
||||||
});
|
});
|
||||||
|
dom.removeEventListener(window, window.PointerEvent ? "pointerdown" : "mousedown", onWindowMouseDown, {
|
||||||
|
passive: true
|
||||||
|
});
|
||||||
|
dom.removeEventListener(window, "touchstart", onWindowTouchStart, {
|
||||||
|
passive: true
|
||||||
|
});
|
||||||
stopOsdHideTimer();
|
stopOsdHideTimer();
|
||||||
headerElement.classList.remove("osdHeader");
|
headerElement.classList.remove("osdHeader");
|
||||||
headerElement.classList.remove("osdHeader-hidden");
|
headerElement.classList.remove("osdHeader-hidden");
|
||||||
|
@ -1472,7 +1505,10 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med
|
||||||
playbackManager.previousTrack(currentPlayer);
|
playbackManager.previousTrack(currentPlayer);
|
||||||
});
|
});
|
||||||
view.querySelector(".btnPause").addEventListener("click", function () {
|
view.querySelector(".btnPause").addEventListener("click", function () {
|
||||||
|
// Ignore 'click' if another element was originally clicked (Firefox/Edge issue)
|
||||||
|
if (this.contains(clickedElement)) {
|
||||||
playbackManager.playPause(currentPlayer);
|
playbackManager.playPause(currentPlayer);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
view.querySelector(".btnNextTrack").addEventListener("click", function () {
|
view.querySelector(".btnNextTrack").addEventListener("click", function () {
|
||||||
playbackManager.nextTrack(currentPlayer);
|
playbackManager.nextTrack(currentPlayer);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue