WebUI: fix 'rename files' dialog cannot be opened more than once

Added an IIFE around the whole script to suppress variable redeclaration errors.

Closes #21614.
Original PR #21620.
PR #21621.
This commit is contained in:
Chocobo1 2024-10-20 16:07:13 +08:00 committed by GitHub
parent 84372de675
commit 49f57b1049
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -14,15 +14,13 @@
<script>
"use strict";
(() => {
if (window.parent.qBittorrent !== undefined)
window.qBittorrent = window.parent.qBittorrent;
window.qBittorrent = window.parent.qBittorrent;
const TriState = window.qBittorrent.FileTree.TriState;
const data = window.MUI.Windows.instances["multiRenamePage"].options.data;
let bulkRenameFilesContextMenu;
if (!bulkRenameFilesContextMenu) {
bulkRenameFilesContextMenu = new window.qBittorrent.ContextMenu.ContextMenu({
const bulkRenameFilesContextMenu = new window.qBittorrent.ContextMenu.ContextMenu({
targets: "#bulkRenameFilesTableDiv tr",
menu: "multiRenameFilesMenu",
actions: {
@ -40,7 +38,6 @@
y: 2
}
});
}
// Setup the dynamic table for bulk renaming
const bulkRenameFilesTable = new window.qBittorrent.DynamicTable.BulkRenameTorrentFilesTable();
@ -48,11 +45,8 @@
// Inject checkbox into the first column of the table header
const tableHeaders = $$("#bulkRenameFilesTableFixedHeaderDiv .dynamicTableHeader th");
let checkboxHeader;
if (tableHeaders.length > 0) {
if (checkboxHeader)
checkboxHeader.remove();
checkboxHeader = new Element("input");
const checkboxHeader = new Element("input");
checkboxHeader.set("type", "checkbox");
checkboxHeader.set("id", "rootMultiRename_cb");
checkboxHeader.addEvent("click", (e) => {
@ -67,9 +61,7 @@
// Register keyboard events to modal window
// https://github.com/qbittorrent/qBittorrent/pull/18687#discussion_r1135045726
let keyboard;
if (!keyboard) {
keyboard = new Keyboard({
const keyboard = new Keyboard({
defaultEventType: "keydown",
events: {
"Escape": function(event) {
@ -83,7 +75,6 @@
}
});
keyboard.activate();
}
const fileRenamer = new window.qBittorrent.MultiRename.RenameFiles();
fileRenamer.hash = data.hash;
@ -403,6 +394,7 @@
}).send();
};
setupTable(data.selectedRows);
})();
</script>
</head>