fix: move selection useEffects after filtered/addPopover declarations to fix ReferenceError
This commit is contained in:
@@ -2356,29 +2356,6 @@ export default function VulnerabilityTriagePage({ filterDate, filterEXC }) {
|
||||
fetchQueue();
|
||||
}, []); // eslint-disable-line
|
||||
|
||||
// Prune selection when filters change — keep only IDs still in filtered set
|
||||
useEffect(() => {
|
||||
setSelectedIds((prev) => {
|
||||
if (prev.size === 0) return prev;
|
||||
const visibleIds = new Set(filtered.map((f) => f.id));
|
||||
const next = new Set([...prev].filter((id) => visibleIds.has(id)));
|
||||
return next.size === prev.size ? prev : next;
|
||||
});
|
||||
}, [filtered]);
|
||||
|
||||
// Escape key clears selection
|
||||
useEffect(() => {
|
||||
if (selectedIds.size === 0) return;
|
||||
const handler = (e) => {
|
||||
if (e.key === 'Escape' && selectedIds.size > 0 && !addPopover) {
|
||||
setSelectedIds(new Set());
|
||||
setBatchError(null);
|
||||
}
|
||||
};
|
||||
document.addEventListener('keydown', handler);
|
||||
return () => document.removeEventListener('keydown', handler);
|
||||
}, [selectedIds, addPopover]);
|
||||
|
||||
// Set/clear a single column filter
|
||||
const setColFilter = useCallback((colKey, vals) => {
|
||||
setColumnFilters((prev) => {
|
||||
@@ -2524,6 +2501,29 @@ export default function VulnerabilityTriagePage({ filterDate, filterEXC }) {
|
||||
setQueueForm({ vendor: '', workflowType: 'FP' });
|
||||
}, [addPopover, queueForm]);
|
||||
|
||||
// Prune selection when filters change — keep only IDs still in filtered set
|
||||
useEffect(() => {
|
||||
setSelectedIds((prev) => {
|
||||
if (prev.size === 0) return prev;
|
||||
const visibleIds = new Set(filtered.map((f) => f.id));
|
||||
const next = new Set([...prev].filter((id) => visibleIds.has(id)));
|
||||
return next.size === prev.size ? prev : next;
|
||||
});
|
||||
}, [filtered]);
|
||||
|
||||
// Escape key clears selection
|
||||
useEffect(() => {
|
||||
if (selectedIds.size === 0) return;
|
||||
const handler = (e) => {
|
||||
if (e.key === 'Escape' && selectedIds.size > 0 && !addPopover) {
|
||||
setSelectedIds(new Set());
|
||||
setBatchError(null);
|
||||
}
|
||||
};
|
||||
document.addEventListener('keydown', handler);
|
||||
return () => document.removeEventListener('keydown', handler);
|
||||
}, [selectedIds, addPopover]);
|
||||
|
||||
const submitBatch = useCallback(async () => {
|
||||
if (selectedIds.size === 0) return;
|
||||
setBatchSubmitting(true);
|
||||
|
||||
Reference in New Issue
Block a user