()
| 1544 | function dedupeByIdSoon(id) { setTimeout(() => { const el = document.getElementById(id); if (el) dedupeSelect(el); }, 60); } |
| 1545 | |
| 1546 | function wireFolderButtons() { |
| 1547 | const open = (id) => { const m = document.getElementById(id); if (m) m.style.display = 'block'; }; |
| 1548 | |
| 1549 | const moveBtn = document.getElementById('moveFolderBtn'); |
| 1550 | if (moveBtn && !moveBtn.__bound) { |
| 1551 | moveBtn.__bound = true; |
| 1552 | moveBtn.addEventListener('click', (e) => { e.preventDefault(); open('moveFolderModal'); dedupeByIdSoon('moveFolderTarget'); }); |
| 1553 | } |
| 1554 | |
| 1555 | const shareBtn = document.getElementById('shareFolderBtn'); |
| 1556 | if (shareBtn && !shareBtn.__bound) { |
| 1557 | shareBtn.__bound = true; |
| 1558 | shareBtn.addEventListener('click', (e) => { |
| 1559 | e.preventDefault(); |
| 1560 | const shareModal = document.getElementById('shareFolderModal'); |
| 1561 | if (shareModal) shareModal.style.display = 'block'; |
| 1562 | else document.dispatchEvent(new CustomEvent('filerise:share-folder', { detail: { folder: window.currentFolder || 'root' } })); |
| 1563 | }); |
| 1564 | } |
| 1565 | |
| 1566 | const moveFilesOpenBtn = document.getElementById('moveSelectedBtn'); |
| 1567 | if (moveFilesOpenBtn && !moveFilesOpenBtn.__dedupeHook) { |
| 1568 | moveFilesOpenBtn.__dedupeHook = true; |
| 1569 | moveFilesOpenBtn.addEventListener('click', () => dedupeByIdSoon('moveTargetFolder')); |
| 1570 | } |
| 1571 | } |
| 1572 | |
| 1573 | // ---- Lift modals above cards, always clickable ---- |
| 1574 | function liftModals() { |
no test coverage detected