This commit is contained in:
Araxeus
2021-05-06 05:40:31 +03:00
parent c0a185ba68
commit d000c03fca

View File

@ -1,4 +1,10 @@
const { ipcRenderer } = require("electron");
const is = require("electron-is");
let ignored = {
id: ["volume-slider", "expand-volume-slider"],
types: ["mousewheel", "keydown", "keyup"]
};
function overrideAddEventListener() {
// Save native addEventListener
@ -6,10 +12,12 @@ function overrideAddEventListener() {
// Override addEventListener to Ignore specific events in volume-slider
Element.prototype.addEventListener = function (type, listener, useCapture = false) {
if (!(
["volume-slider", "expand-volume-slider"].includes(this.id) &&
["mousewheel", "keydown", "keyup"].includes(type)
ignored.id.includes(this.id) &&
ignored.types.includes(type)
)) {
this._addEventListener(type, listener, useCapture);
} else if (is.dev()) {
console.log(`Ignoring event: "${this.id}.${type}()"`);
}
};
}
@ -17,8 +25,9 @@ function overrideAddEventListener() {
module.exports = () => {
overrideAddEventListener();
// Restore original function after did-finish-load to avoid keeping Element.prototype altered
ipcRenderer.once("restoreAddEventListener", () => { //called from Main to make sure page is completly loaded
ipcRenderer.once("restoreAddEventListener", () => { // Called from main to make sure page is completly loaded
Element.prototype.addEventListener = Element.prototype._addEventListener;
Element.prototype._addEventListener = undefined;
ignored = undefined;
});
};