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