WebUI: use native event listeners for keyboard events

PR #21924.
This commit is contained in:
Chocobo1 2024-12-02 13:41:19 +08:00 committed by GitHub
commit 2d1c4fc809
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
24 changed files with 273 additions and 366 deletions

View file

@ -1728,35 +1728,30 @@ window.addEventListener("DOMContentLoaded", () => {
};
registerDragAndDrop();
new Keyboard({
defaultEventType: "keydown",
events: {
"ctrl+a": function(event) {
window.addEventListener("keydown", (event) => {
switch (event.key) {
case "a":
case "A":
if (event.ctrlKey) {
if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA"))
return;
if (event.target.isContentEditable)
return;
event.preventDefault();
torrentsTable.selectAll();
}
break;
case "Delete":
if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA"))
return;
if (event.target.isContentEditable)
return;
torrentsTable.selectAll();
event.preventDefault();
},
"delete": function(event) {
if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA"))
return;
if (event.target.isContentEditable)
return;
deleteSelectedTorrentsFN();
event.preventDefault();
},
"shift+delete": (event) => {
if ((event.target.nodeName === "INPUT") || (event.target.nodeName === "TEXTAREA"))
return;
if (event.target.isContentEditable)
return;
deleteSelectedTorrentsFN(true);
event.preventDefault();
}
deleteSelectedTorrentsFN(event.shiftKey);
break;
}
}).activate();
});
new ClipboardJS(".copyToClipboard", {
text: (trigger) => {