mirror of
https://github.com/miniflux/v2.git
synced 2025-08-01 17:38:37 +00:00
refactor(js): remove an outdated check for {passive: true}
According to https://caniuse.com/?search=passive, all browsers released after 2016 do support passive event listeners, so no need to check for its presence.
This commit is contained in:
parent
3b317b0b80
commit
8c3a9184ac
2 changed files with 12 additions and 31 deletions
|
@ -25,23 +25,4 @@ class DomHelper {
|
||||||
const elements = document.querySelectorAll(selector);
|
const elements = document.querySelectorAll(selector);
|
||||||
return [...elements].filter((element) => this.isVisible(element));
|
return [...elements].filter((element) => this.isVisible(element));
|
||||||
}
|
}
|
||||||
|
|
||||||
static hasPassiveEventListenerOption() {
|
|
||||||
var passiveSupported = false;
|
|
||||||
|
|
||||||
try {
|
|
||||||
var options = Object.defineProperty({}, "passive", {
|
|
||||||
get: function() {
|
|
||||||
passiveSupported = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
window.addEventListener("test", options, options);
|
|
||||||
window.removeEventListener("test", options, options);
|
|
||||||
} catch(err) {
|
|
||||||
passiveSupported = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return passiveSupported;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -158,26 +158,26 @@ class TouchHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
listen() {
|
listen() {
|
||||||
const hasPassiveOption = DomHelper.hasPassiveEventListenerOption();
|
const eventListenerOptions = { passive: true };
|
||||||
|
|
||||||
document.querySelectorAll(".entry-swipe").forEach((element) => {
|
document.querySelectorAll(".entry-swipe").forEach((element) => {
|
||||||
element.addEventListener("touchstart", (e) => this.onItemTouchStart(e), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchstart", (e) => this.onItemTouchStart(e), eventListenerOptions);
|
||||||
element.addEventListener("touchmove", (e) => this.onItemTouchMove(e), hasPassiveOption ? { passive: false } : false);
|
element.addEventListener("touchmove", (e) => this.onItemTouchMove(e));
|
||||||
element.addEventListener("touchend", (e) => this.onItemTouchEnd(e), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchend", (e) => this.onItemTouchEnd(e), eventListenerOptions);
|
||||||
element.addEventListener("touchcancel", () => this.reset(), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchcancel", () => this.reset(), eventListenerOptions);
|
||||||
});
|
});
|
||||||
|
|
||||||
const element = document.querySelector(".entry-content");
|
const element = document.querySelector(".entry-content");
|
||||||
if (element) {
|
if (element) {
|
||||||
if (element.classList.contains("gesture-nav-tap")) {
|
if (element.classList.contains("gesture-nav-tap")) {
|
||||||
element.addEventListener("touchend", (e) => this.onTapEnd(e), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchend", (e) => this.onTapEnd(e), eventListenerOptions);
|
||||||
element.addEventListener("touchmove", () => this.reset(), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchmove", () => this.reset(), eventListenerOptions);
|
||||||
element.addEventListener("touchcancel", () => this.reset(), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchcancel", () => this.reset(), eventListenerOptions);
|
||||||
} else if (element.classList.contains("gesture-nav-swipe")) {
|
} else if (element.classList.contains("gesture-nav-swipe")) {
|
||||||
element.addEventListener("touchstart", (e) => this.onContentTouchStart(e), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchstart", (e) => this.onContentTouchStart(e), eventListenerOptions);
|
||||||
element.addEventListener("touchmove", (e) => this.onContentTouchMove(e), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchmove", (e) => this.onContentTouchMove(e), eventListenerOptions);
|
||||||
element.addEventListener("touchend", (e) => this.onContentTouchEnd(e), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchend", (e) => this.onContentTouchEnd(e), eventListenerOptions);
|
||||||
element.addEventListener("touchcancel", () => this.reset(), hasPassiveOption ? { passive: true } : false);
|
element.addEventListener("touchcancel", () => this.reset(), eventListenerOptions);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue