WebUI: switch to lightweight clipboard library

The new library [1] will opt to the modern Clipboard API [2] when it is available. It will
fallback to the old method otherwise.
The new library is also smaller and without any bloat.

Note that the line `module.exports` is required to be removed/commented out. This is the only
patch required.

[1] https://github.com/feross/clipboard-copy
[2] https://developer.mozilla.org/en-US/docs/Web/API/Clipboard_API

PR #22792.
This commit is contained in:
Chocobo1
2025-05-31 17:55:10 +08:00
committed by GitHub
parent 4b07597d54
commit 96f0eebc4e
11 changed files with 123 additions and 72 deletions

View File

@@ -248,10 +248,9 @@ window.qBittorrent.PropTrackers ??= (() => {
torrentTrackersTable.clear();
};
new ClipboardJS("#CopyTrackerUrl", {
text: (trigger) => {
return torrentTrackersTable.selectedRowsIds().join("\n");
}
document.getElementById("CopyTrackerUrl").addEventListener("click", async (event) => {
const text = torrentTrackersTable.selectedRowsIds().join("\n");
await clipboardCopy(text);
});
torrentTrackersTable.setup("torrentTrackersTableDiv", "torrentTrackersTableFixedHeaderDiv", torrentTrackersContextMenu, true);