MCPcopy Create free account
hub / github.com/error311/FileRise / updateFileActionButtons

Function updateFileActionButtons

public/js/domUtils.js:57–212  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

55}
56
57export function updateFileActionButtons() {
58 const fileCheckboxes = document.querySelectorAll("#fileList .file-checkbox");
59 const selectedCheckboxes = document.querySelectorAll("#fileList .file-checkbox:checked");
60 const folderCheckboxes = document.querySelectorAll("#fileList .folder-checkbox");
61 const selectedFolders = document.querySelectorAll("#fileList .folder-checkbox:checked");
62
63 const deleteBtn = document.getElementById("deleteSelectedBtn");
64 const copyBtn = document.getElementById("copySelectedBtn");
65 const moveBtn = document.getElementById("moveSelectedBtn");
66 const zipBtn = document.getElementById("downloadZipBtn");
67 const extractZipBtn = document.getElementById("extractZipBtn");
68 const createBtn = document.getElementById("createBtn");
69 const renameBtn = document.getElementById("renameSelectedBtn");
70 const linkBtn = document.getElementById("linkSelectedBtn");
71 const shareBtn = document.getElementById("shareSelectedBtn");
72 const folderActionsInline = document.getElementById("folderActionsInline");
73 const folderMoveBtn = document.getElementById("folderMoveInlineBtn");
74 const folderRenameBtn = document.getElementById("folderRenameInlineBtn");
75 const folderColorBtn = document.getElementById("folderColorInlineBtn");
76 const folderEncryptBtn = document.getElementById("folderEncryptInlineBtn");
77 const folderDecryptBtn = document.getElementById("folderDecryptInlineBtn");
78 const folderShareBtn = document.getElementById("folderShareInlineBtn");
79 const folderDeleteBtn = document.getElementById("folderDeleteInlineBtn");
80 const secondaryActions = document.querySelector("#fileActionsBar .secondary-actions");
81 const actionSeparator = document.querySelector("#fileActionsBar .action-separator");
82 const bar = document.getElementById("fileActionsBar");
83
84 const anyFiles = fileCheckboxes.length > 0;
85 const anySelected = selectedCheckboxes.length > 0;
86 const anyFolderSelected = selectedFolders.length > 0;
87 const anyZip = Array.from(selectedCheckboxes)
88 .some(cb => isArchiveFileName(cb.value));
89 const singleSelected = selectedCheckboxes.length === 1;
90 const currentFolderCaps = window.currentFolderCaps || null;
91 const selectedFolderCaps = window.selectedFolderCaps || null;
92
93 // ACL-driven switches (default to true so we don’t regress if caps are unavailable)
94 const allowCreate = currentFolderCaps ? !!(currentFolderCaps.canCreate || currentFolderCaps.canUpload) : true;
95 const allowDownload = currentFolderCaps ? !!(currentFolderCaps.canView || currentFolderCaps.canViewOwn) : true;
96 const allowCopy = currentFolderCaps ? !!currentFolderCaps.canCopy : true;
97 const allowMove = currentFolderCaps ? !!(currentFolderCaps.canMoveIn || currentFolderCaps.canMove) : true;
98 const allowRename = currentFolderCaps ? !!(currentFolderCaps.canRename || currentFolderCaps.isAdmin) : true;
99 const allowDelete = currentFolderCaps ? !!currentFolderCaps.canDelete : true;
100 const allowLink = currentFolderCaps ? !!(currentFolderCaps.canView || currentFolderCaps.canViewOwn) : true;
101 const allowShare = currentFolderCaps ? !!(currentFolderCaps.canShareFile || currentFolderCaps.canShare) : true;
102 const allowExtract = currentFolderCaps ? !!currentFolderCaps.canExtract : true;
103 const inEncryptedFolder = !!(currentFolderCaps && currentFolderCaps.encryption && currentFolderCaps.encryption.encrypted);
104
105 const folderCaps = selectedFolderCaps || currentFolderCaps || {};
106 const allowFolderMove = !!(folderCaps.canMoveFolder ?? true);
107 const allowFolderRename = !!(folderCaps.canRename ?? true);
108 const allowFolderColor = !!(folderCaps.canEdit ?? true);
109 const allowFolderShare = !!(folderCaps.canShareFolder ?? true);
110 const allowFolderDelete = !!(folderCaps.canDeleteFolder ?? true);
111 const folderEnc = (folderCaps && folderCaps.encryption) ? folderCaps.encryption : {};
112 const allowFolderEncrypt = !!(folderEnc && folderEnc.canEncrypt);
113 const allowFolderDecrypt = !!(folderEnc && folderEnc.canDecrypt);
114 const folderIsEncrypted = !!(folderEnc && folderEnc.encrypted);

Callers 11

toggleAllCheckboxesFunction · 0.85
toggleRowSelectionFunction · 0.85
setActivePaneFunction · 0.85
applySelectAllFunction · 0.85
refreshCurrentFolderCapsFunction · 0.85
loadFileListFunction · 0.85
renderFileTableFunction · 0.85
renderGalleryViewFunction · 0.85

Calls 3

isArchiveFileNameFunction · 0.85
setEnabledFunction · 0.85
setGroupVisibleFunction · 0.85

Tested by

no test coverage detected