123 lines
3.7 KiB
HTML

<div id="torrentsTableFixedHeaderDiv" class="dynamicTableFixedHeaderDiv">
<table class="dynamicTable unselectable" style="position:relative;">
<thead>
<tr class="dynamicTableHeader"></tr>
</thead>
</table>
</div>
<div id="torrentsTableDiv" class="dynamicTableDiv">
<table class="dynamicTable unselectable">
<thead>
<tr class="dynamicTableHeader"></tr>
</thead>
<tbody></tbody>
</table>
</div>
<script>
"use strict";
window.qBittorrent ??= {};
window.qBittorrent.TransferList ??= (() => {
const exports = () => {
return {
setup: setup,
contextMenu: contextMenu,
};
};
// create a context menu
const contextMenu = new window.qBittorrent.ContextMenu.TorrentsTableContextMenu({
targets: ".torrentsTableContextMenuTarget",
menu: "torrentsTableMenu",
actions: {
start: function(element, ref) {
startFN();
},
stop: function(element, ref) {
stopFN();
},
forceStart: function(element, ref) {
setForceStartFN();
},
delete: function(element, ref) {
deleteSelectedTorrentsFN();
},
setLocation: function(element, ref) {
setLocationFN();
},
rename: function(element, ref) {
renameFN();
},
renameFiles: function(element, ref) {
renameFilesFN();
},
queueTop: function(element, ref) {
setQueuePositionFN("topPrio");
},
queueUp: function(element, ref) {
setQueuePositionFN("increasePrio");
},
queueDown: function(element, ref) {
setQueuePositionFN("decreasePrio");
},
queueBottom: function(element, ref) {
setQueuePositionFN("bottomPrio");
},
downloadLimit: function(element, ref) {
downloadLimitFN();
},
uploadLimit: function(element, ref) {
uploadLimitFN();
},
shareRatio: function(element, ref) {
shareRatioFN();
},
sequentialDownload: function(element, ref) {
toggleSequentialDownloadFN();
},
firstLastPiecePrio: function(element, ref) {
toggleFirstLastPiecePrioFN();
},
autoTorrentManagement: function(element, ref) {
autoTorrentManagementFN();
},
forceRecheck: function(element, ref) {
recheckFN();
},
forceReannounce: function(element, ref) {
reannounceFN();
},
superSeeding: function(element, ref) {
setSuperSeedingFN(!ref.getItemChecked("superSeeding"));
},
exportTorrent: function(element, ref) {
exportTorrentFN();
}
},
offsets: {
x: -15,
y: 2
},
});
const setup = () => {
torrentsTable.setup("torrentsTableDiv", "torrentsTableFixedHeaderDiv", contextMenu);
};
return exports();
})();
Object.freeze(window.qBittorrent.TransferList);
window.qBittorrent.TransferList.setup();
</script>