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

Function renderFolderGrantsUI

public/js/adminFolderAccess.js:242–741  ·  view source on GitHub ↗
(principal, container, folders, grants)

Source from the content-addressed store, hash-verified

240}
241
242function renderFolderGrantsUI(principal, container, folders, grants) {
243 if (!Array.isArray(folders) || !container) return;
244
245 const grantsMap = (grants && typeof grants === 'object' && !Array.isArray(grants)) ? grants : {};
246
247 // Preserve original grants map for save, including entries we may not render
248 container.__grantsFallback = grantsMap;
249
250 const isAdmin =
251 principal === "admin" ||
252 String(principal).toLowerCase() === "admin" ||
253 (grantsMap && grantsMap.__isAdmin);
254
255 const toolbar = document.createElement('div');
256 toolbar.className = 'folder-access-toolbar';
257 toolbar.innerHTML = `
258 <strong>${t("folder_access")}</strong>
259 <input type="text" class="form-control form-control-sm" placeholder="${t("filter_folders")}" style="max-width:220px;">
260 <div class="form-check form-check-inline">
261 <label class="form-check-label">
262 <input type="checkbox" class="form-check-input" data-bulk="view" ${isAdmin ? 'disabled data-hard-disabled="1"' : ''}>
263 ${t("view_all")}
264 </label>
265 </div>
266 <div class="form-check form-check-inline">
267 <label class="form-check-label">
268 <input type="checkbox" class="form-check-input" data-bulk="viewOwn" ${isAdmin ? 'disabled data-hard-disabled="1"' : ''}>
269 ${t("view_own")}
270 </label>
271 </div>
272 <div class="form-check form-check-inline">
273 <label class="form-check-label">
274 <input type="checkbox" class="form-check-input" data-bulk="write" ${isAdmin ? 'disabled data-hard-disabled="1"' : ''}>
275 ${t("write")}
276 </label>
277 </div>
278 <div class="form-check form-check-inline">
279 <label class="form-check-label">
280 <input type="checkbox" class="form-check-input" data-bulk="share" ${isAdmin ? 'disabled data-hard-disabled="1"' : ''}>
281 ${t("share")}
282 </label>
283 </div>
284 <div class="form-check form-check-inline">
285 <label class="form-check-label">
286 <input type="checkbox" class="form-check-input" data-bulk="manage" ${isAdmin ? 'disabled data-hard-disabled="1"' : ''}>
287 ${t("manage")}
288 </label>
289 </div>
290 `;
291
292 const list = document.createElement('div');
293 list.className = 'folder-access-list';
294
295 const headerHtml = `
296 <div class="folder-access-header row text-muted" style="font-size:12px; font-weight:600; margin-bottom:4px; display:none;">
297 <div class="col-sm-3">${t("folder")}</div>
298 <div class="col-sm-9">${t("permissions")}</div>
299 </div>

Callers 3

ensureLoadedFunction · 0.85
ensureLoadedFunction · 0.85
renderGroupAclFunction · 0.85

Calls 8

tFunction · 0.85
appendChunkFunction · 0.85
renderFunction · 0.85
setFromViewChangeFunction · 0.85
refreshInheritanceFunction · 0.85
tfFunction · 0.70
onWriteToggleFunction · 0.70
enforceShareFolderRuleFunction · 0.70

Tested by

no test coverage detected