|
963 | 963 | <div id="recon-urls-content" style="min-height:200px;max-height:580px;overflow:auto;font-family:var(--font-mono);font-size:12px"><div style="text-align:center;padding:40px;color:var(--text-muted)">Loading URLs…</div></div> |
964 | 964 | <div id="recon-urls-pagination" style="padding:10px 12px;background:rgba(2,6,23,0.3);border-top:1px solid var(--border);display:flex;justify-content:center;align-items:center;gap:15px;font-size:12px"></div> |
965 | 965 | </div> |
966 | | - <div id="recon-details-drawer" style="display:none;position:absolute;top:0;right:0;width:420px;height:100%;background:rgba(2,6,23,.98);border-left:1px solid var(--border);z-index:20;box-shadow:-12px 0 40px rgba(0,0,0,.45)"> |
967 | | - <div style="display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border)"> |
968 | | - <div style="font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px">Finding Details</div> |
969 | | - <button id="recon-drawer-close" type="button" style="background:transparent;border:none;color:var(--text-muted);font-size:18px;cursor:pointer">X</button> |
970 | | - </div> |
971 | | - <div id="recon-drawer-body" style="padding:12px;overflow:auto;height:calc(100% - 52px)"></div> |
972 | | - </div> |
973 | 966 | </section> |
974 | 967 | </div> |
975 | 968 | </div>`; |
|
991 | 984 | const urlsView = root.querySelector('#recon-urls-view'); |
992 | 985 | const urlsContent = root.querySelector('#recon-urls-content'); |
993 | 986 | const standardTable = root.querySelector('#recon-standard-view table.dashboard-table'); |
994 | | - const drawer = root.querySelector('#recon-details-drawer'); |
995 | | - const drawerBody = root.querySelector('#recon-drawer-body'); |
996 | | - const drawerClose = root.querySelector('#recon-drawer-close'); |
997 | 987 |
|
998 | 988 | const SEV_DEFS = [ |
999 | 989 | { key: 'critical', label: 'Critical', color: '#fc8181', bg: 'rgba(252,129,129,.13)', border: 'rgba(252,129,129,.35)' }, |
|
1385 | 1375 |
|
1386 | 1376 | if (wrap) wrap.addEventListener('scroll', () => { _virtualScrollTop = wrap.scrollTop; if (currentRenderedRows.length > 150) renderBody(); }); |
1387 | 1377 |
|
1388 | | - root.addEventListener('click', e => { const r = e.target.closest('.findings-row'); if (r && !e.target.closest('input,a,button')) { const idx = Number(r.dataset.rowIndex); if (currentRenderedRows[idx]) openDrawerForRow(currentRenderedRows[idx]); } }); |
1389 | | - if (drawerClose) drawerClose.addEventListener('click', () => drawer.style.display = 'none'); |
| 1378 | + root.addEventListener('click', e => { const r = e.target.closest('.findings-row'); if (r && !e.target.closest('input,a,button')) { /* drawer removed */ } }); |
1390 | 1379 | const urlsSearchInput = root.querySelector('#recon-urls-search'); |
1391 | 1380 | const urlsTypeSel = root.querySelector('#recon-urls-type'); |
1392 | 1381 | const urlsCopyBtn = root.querySelector('#recon-urls-copy'); |
|
1422 | 1411 | URL.revokeObjectURL(href); |
1423 | 1412 | }); |
1424 | 1413 |
|
1425 | | - function openDrawerForRow(r) { drawerBody.innerHTML = `<pre style="padding:12px;font-size:11px;color:var(--text-primary)">${esc(JSON.stringify(r, null, 2))}</pre>`; drawer.style.display = 'block'; } |
1426 | 1414 | } |
1427 | 1415 |
|
1428 | 1416 | // ── Assets & file-filter helpers — delegated to scan-detail-assets.js ──── |
|
0 commit comments