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

Function cascadeManage

public/js/adminFolderAccess.js:607–632  ·  view source on GitHub ↗
(checked)

Source from the content-addressed store, hash-verified

605 };
606
607 const cascadeManage = (checked) => {
608 const base = row.dataset.folder || "";
609 if (!base) return;
610 qsa(container, '.folder-access-row').forEach(r => {
611 const f = r.dataset.folder || "";
612 if (!f || f === base) return;
613 if (!f.startsWith(base + '/')) return;
614 const m = r.querySelector('input[data-cap="manage"]');
615 const v = r.querySelector('input[data-cap="view"]');
616 const w = r.querySelector('input[data-cap="write"]');
617 const vo = r.querySelector('input[data-cap="viewOwn"]');
618 const boxes = [
619 'create', 'upload', 'edit', 'rename', 'copy', 'delete', 'extract', 'shareFile', 'shareFolder'
620 ].map(c => r.querySelector(`input[data-cap="${c}"]`));
621 if (m) m.checked = checked;
622 if (v) v.checked = checked;
623 if (w) w.checked = checked;
624 if (vo) { vo.checked = false; vo.disabled = checked; }
625 boxes.forEach(b => { if (b) b.checked = checked; });
626 enforceShareFolderRule(r);
627 if (checked) {
628 r.dataset.explicit = '1';
629 }
630 });
631 refreshInheritance();
632 };
633
634 if (cbManage) cbManage.addEventListener('change', () => { applyManage(); onShareFile(); cascadeManage(cbManage.checked); markExplicit(); });
635 if (cbWrite) cbWrite.addEventListener('change', () => { applyWrite(); markExplicit(); refreshInheritance(); });

Callers 1

wireRowFunction · 0.85

Calls 3

refreshInheritanceFunction · 0.85
qsaFunction · 0.70
enforceShareFolderRuleFunction · 0.70

Tested by

no test coverage detected