From ffbe1347083c1084400a34e06a5101e06491bb27 Mon Sep 17 00:00:00 2001 From: James Date: Fri, 20 Mar 2026 01:23:35 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20scrape=20selection=20=E2=80=94=20drop=20?= =?UTF-8?q?Set,=20query=20checkboxes=20by=20data-idx=20directly=20on=20sav?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- portal/templates/app/orgs.html | 26 ++++++++------------------ 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/portal/templates/app/orgs.html b/portal/templates/app/orgs.html index fea167a..8c168e6 100644 --- a/portal/templates/app/orgs.html +++ b/portal/templates/app/orgs.html @@ -435,7 +435,7 @@ html += '
' // checkbox + name row + '
' - + '' + + '' + '
' + '
' + escHtml(p.name || p.email || '—') + '
' + '
' + [p.title, p.email].filter(Boolean).map(v => escHtml(v)).join(' · ') + '
' @@ -482,22 +482,11 @@ document.getElementById('rescrapeResults').classList.remove('hidden'); // Store new people for the add button window._rescrapeNewPeople = newPeople; - window._scrapeSelected = new Set(); } function toggleAllRescrape(checked) { - if (!window._scrapeSelected) window._scrapeSelected = new Set(); - document.querySelectorAll('.rescrape-cb').forEach(cb => { - cb.checked = checked; - const idx = parseInt(cb.dataset.idx); - if (checked) window._scrapeSelected.add(idx); - else window._scrapeSelected.delete(idx); - }); - } - function toggleScrapeSelect(idx, checked) { - if (!window._scrapeSelected) window._scrapeSelected = new Set(); - if (checked) window._scrapeSelected.add(idx); - else window._scrapeSelected.delete(idx); + document.querySelectorAll('.rescrape-cb').forEach(cb => { cb.checked = checked; }); + syncRescrapeSelectAll(); } function syncRescrapeSelectAll() { const all = document.querySelectorAll('.rescrape-cb'); @@ -542,11 +531,12 @@ } async function saveRescrapeSelection() { const people = window._rescrapeNewPeople || []; - const selected = window._scrapeSelected || new Set(); const toAdd = []; - selected.forEach(idx => { - const p = people[idx]; - if (p) toAdd.push({ name: p.name || '', email: p.email || '', title: p.title || '', phone_business: p.phone_business || p.phone || '', phone_personal: p.phone_personal || '', photo: p.photo || '', bio: p.bio || '', linkedin: p.linkedin || '' }); + people.forEach((p, i) => { + const cb = document.querySelector('.rescrape-cb[data-idx="' + i + '"]'); + if (cb && cb.checked && p) { + toAdd.push({ name: p.name || '', email: p.email || '', title: p.title || '', phone_business: p.phone_business || p.phone || '', phone_personal: p.phone_personal || '', photo: p.photo || '', bio: p.bio || '', linkedin: p.linkedin || '' }); + } }); if (toAdd.length === 0) { document.getElementById('rescrapeResults').classList.add('hidden'); return; } toAdd.forEach(m => editingMembers.push(m));