feat: contextmenu copy multiple folders toegevoegd
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -223,13 +223,14 @@ class UiSmokeGoldenTest(unittest.TestCase):
|
||||
self.assertIn('closeContextMenu();', app_js)
|
||||
self.assertIn('elements.renameButton.classList.toggle("hidden", isMulti);', app_js)
|
||||
self.assertIn('elements.copyButton.classList.remove("hidden");', app_js)
|
||||
self.assertIn('const allFiles = items.length > 0 && items.every((item) => item.kind === "file");', app_js)
|
||||
self.assertIn('elements.copyButton.disabled = !allFiles;', app_js)
|
||||
self.assertIn('elements.copyButton.disabled = items.length === 0;', app_js)
|
||||
self.assertIn('elements.moveButton.classList.remove("hidden");', app_js)
|
||||
self.assertIn('openRenamePopup();', app_js)
|
||||
self.assertIn('startCopySelected();', app_js)
|
||||
self.assertIn('openF6Flow();', app_js)
|
||||
self.assertIn('deleteSelected();', app_js)
|
||||
self.assertIn('document.getElementById("copy-btn").disabled = !hasSelection;', app_js)
|
||||
self.assertNotIn('Only files are supported for copy', app_js)
|
||||
self.assertIn('document.getElementById("upload-menu-toggle").onclick = (event) => {', app_js)
|
||||
self.assertIn('document.getElementById("upload-folder-btn").onclick = openFolderPicker;', app_js)
|
||||
self.assertIn('throw createApiError(response, data);', app_js)
|
||||
|
||||
+2
-6
@@ -368,12 +368,11 @@ function openContextMenu(pane, entry, event) {
|
||||
contextMenuState.anchorPath = entry.path;
|
||||
|
||||
const isMulti = items.length > 1;
|
||||
const allFiles = items.length > 0 && items.every((item) => item.kind === "file");
|
||||
elements.scope.textContent = isMulti ? "Multi-selection" : "Single item";
|
||||
elements.target.textContent = isMulti ? `${items.length} selected items` : entry.name;
|
||||
elements.renameButton.classList.toggle("hidden", isMulti);
|
||||
elements.copyButton.classList.remove("hidden");
|
||||
elements.copyButton.disabled = !allFiles;
|
||||
elements.copyButton.disabled = items.length === 0;
|
||||
elements.moveButton.classList.remove("hidden");
|
||||
elements.deleteButton.classList.remove("hidden");
|
||||
|
||||
@@ -1465,7 +1464,7 @@ function updateActionButtons() {
|
||||
document.getElementById("edit-btn").disabled = !exactlyOne || !allFiles || !isEditableSelection(selectedItems[0] || null);
|
||||
document.getElementById("rename-btn").disabled = !exactlyOne;
|
||||
document.getElementById("delete-btn").disabled = !hasSelection;
|
||||
document.getElementById("copy-btn").disabled = !allFiles;
|
||||
document.getElementById("copy-btn").disabled = !hasSelection;
|
||||
document.getElementById("move-btn").disabled = !hasSelection;
|
||||
}
|
||||
|
||||
@@ -2208,9 +2207,6 @@ async function startCopySelected() {
|
||||
for (const item of selectedItems) {
|
||||
const destination = defaultDestination(item.path, baseDestination);
|
||||
try {
|
||||
if (item.kind !== "file") {
|
||||
throw new Error("Only files are supported for copy");
|
||||
}
|
||||
const result = await apiRequest("POST", "/api/files/copy", {
|
||||
source: item.path,
|
||||
destination,
|
||||
|
||||
Reference in New Issue
Block a user