add multiple file download by check boxes (#5699)
Signed-off-by: si458 <simonsmith5521@gmail.com>
Simon Smith committed
Jan 16, 2024 at 09:35 UTC
6e2321b5c65438a4ac079026d6cb411020c3e50f
1 file changed
+29
views/default.handlebars
+29
@@ -524,6 +524,7 @@
524
<input type=button id=p5ViewFileButton disabled="disabled" value="Edit" onclick="p5viewfile()" />
525
<input type=button id=p5NewFolderButton disabled="disabled" value="New Folder" onclick="p5createfolder();" />
526
<input type=button id=p5UploadButton disabled="disabled" value="Upload" onclick="p5uploadFile()" />
527
+ <input type=button id=p5DownloadButton disabled="disabled" value="Download" onclick="p5downloadButton()" />
528
<input type=button id=p5CutButton disabled="disabled" value="Cut" onclick="p5copyFile(1)" />
529
<input type=button id=p5CopyButton disabled="disabled" value="Copy" onclick="p5copyFile(0)" />
530
<input type=button id=p5PasteButton disabled="disabled" value="Paste" onclick="p5pasteFile()" />
@@ -862,6 +863,7 @@
863
<input type=button style="margin-right:2px" disabled="disabled" id=p13ViewFileButton value="Edit" onclick="p13viewfile()" />
864
<input type=button style="margin-right:2px" disabled="disabled" id=p13NewFolderButton value="New Folder" onclick="p13createfolder()" />
865
<input type=button style="margin-right:2px" disabled="disabled" id=p13UploadButton value="Upload" onclick="p13uploadFile()" />
866
+ <input type=button style="margin-right:2px" disabled="disabled" id=p13DownloadButton value="Download" onclick="p13downloadButton()" />
867
<input type=button style="margin-right:2px" disabled="disabled" id=p13CutButton value="Cut" onclick="p13copyFile(1)" />
868
<input type=button style="margin-right:2px" disabled="disabled" id=p13CopyButton value="Copy" onclick="p13copyFile(0)" />
869
<input type=button style="margin-right:2px" disabled="disabled" id=p13PasteButton value="Paste" onclick="p13pasteFile()" />
@@ -11135,6 +11137,7 @@
11137
QE('p13ZipButton', false);
11138
QE('p13PasteButton', false);
11139
QE('p13GoToFolderButton', false);
11140
+ QE('p13DownloadButton', false);
11141
} else {
11142
var cc = p13getFileSelCount(), tc = p13getFileCount(), sfc = p13getFileSelCount(false); // In order: number of entires selected, number of total entries, number of selected entires that are files (not folders)
11143
var winAgent = ((currentNode.agent.id > 0) && (currentNode.agent.id < 5)) || (currentNode.agent.id == 14)|| (currentNode.agent.id == 34);
@@ -11152,6 +11155,7 @@
11155
QE('p13ZipButton', advancedFeatures && (cc > 0) && ((p13filetreelocation.length > 0) || (winAgent == false)));
11156
QE('p13PasteButton', advancedFeatures && ((p13filetreelocation.length > 0) || (winAgent == false)) && ((p13clipboard != null) && (p13clipboard.length > 0)));
11157
QE('p13GoToFolderButton', true);
11158
+ QE('p13DownloadButton', advancedFeatures && (cc > 0) && (cc == sfc) && ((p13filetreelocation.length > 0) || (winAgent == false)));
11159
}
11160
var filesState = ((files != null) && (files.state != 0));
11161
if (((filesState == true) && (files.contype != 2)) || (filesNode.agent == null) || (filesNode.agent.id == 3) || (filesNode.agent.id == 4)) {
@@ -11333,6 +11337,20 @@
11337
}
11338
}
11339
11340
+ function p13downloadButton() {
11341
+ var checkboxes = document.getElementsByName('fd');
11342
+ for (var i = 0; i < checkboxes.length; i++) {
11343
+ if (checkboxes[i].checked) {
11344
+ var thefile = p13filetree.dir[checkboxes[i].value];
11345
+ var link = 'devicefile.ashx?c=' + authCookie;
11346
+ link += '&m=' + currentNode.meshid.split('/')[2];
11347
+ link += '&n=' + currentNode._id.split('/')[2];
11348
+ link += '&f=' + encodeURIComponentEx(p13filetreelocation.join('/') + '/' + thefile.n);
11349
+ downloadFile(link,encodeURIComponentEx(thefile.n));
11350
+ }
11351
+ }
11352
+ }
11353
+
11354
var d4EditWrapVal = 0;
11355
var d4EditSizeVal = 0;
11356
var d4EditEncodingVal = 0;
@@ -14439,6 +14457,7 @@
14457
QE('p5ViewFileButton', (cc == 1) && (sfc == 1) && (filetreelocation.length > 0));
14458
QE('p5NewFolderButton', filetreelocation.length > 0);
14459
QE('p5UploadButton', filetreelocation.length > 0);
14460
+ QE('p5DownloadButton', (cc > 0) && (cc == sfc) && (filetreelocation.length > 0));
14461
QE('p5RenameFileButton', (cc == 1) && (filetreelocation.length > 0));
14462
QE('p5SelectAllButton', tc > 0);
14463
Q('p5SelectAllButton').value = (cc > 0 ? "Select None" : "Select All");
@@ -14608,6 +14627,16 @@
14627
}
14628
}
14629
14630
+ function p5downloadButton() {
14631
+ var checkboxes = document.getElementsByName('fc');
14632
+ for (var i = 0; i < checkboxes.length; i++) {
14633
+ if (checkboxes[i].checked) {
14634
+ var link = 'downloadfile.ashx?link=' + encodeURIComponentEx(filetreelinkpath + '/' + checkboxes[i].value);
14635
+ downloadFile(link);
14636
+ }
14637
+ }
14638
+ }
14639
+
14640
/*
14641
function p5fileCatchAllInputChanged(e) {
14642
p5fileDragLeave(e);