diff --git a/src/components/ColumnFilterPopover.tsx b/src/components/ColumnFilterPopover.tsx index ff3a90d..fae457a 100644 --- a/src/components/ColumnFilterPopover.tsx +++ b/src/components/ColumnFilterPopover.tsx @@ -34,10 +34,13 @@ export function ColumnFilterPopover({ const isAllSelected = selectedValues.length === uniqueValues.length && uniqueValues.length > 0; return ( -
+
e.stopPropagation()} + > {title &&
{title}
}
diff --git a/src/components/ProductDescriptions.tsx b/src/components/ProductDescriptions.tsx index addbc22..62ef47c 100644 --- a/src/components/ProductDescriptions.tsx +++ b/src/components/ProductDescriptions.tsx @@ -64,6 +64,7 @@ export function ProductDescriptions({ data, onEdit, rowStatuses }: ProductDescri if (licenseFilter) result = result.filter(r => r.row[COLUMNS.LICENSE] === licenseFilter); // Column-specific filters (Excel-like) + console.log('[Filter] applying columnFilters:', columnFilters, 'result count before:', result.length); Object.entries(columnFilters).forEach(([colIdx, selectedValues]) => { const col = Number(colIdx); const vals = selectedValues as string[]; @@ -77,7 +78,12 @@ export function ProductDescriptions({ data, onEdit, rowStatuses }: ProductDescri }); } else { // For other columns, use regular value matching - result = result.filter(r => vals.includes(String(r.row[col] || ''))); + const before = result.length; + result = result.filter(r => { + const cellVal = String(r.row[col] ?? '').trim(); + return vals.some(v => v.trim() === cellVal); + }); + console.log('[Filter] col', col, 'vals', vals, 'before:', before, 'after:', result.length); } } }); @@ -121,12 +127,15 @@ export function ProductDescriptions({ data, onEdit, rowStatuses }: ProductDescri }; const toggleColumnFilter = (col: number, value: string) => { + console.log('[Filter] toggleColumnFilter called, col:', col, 'value:', JSON.stringify(value)); setColumnFilters(prev => { const current = prev[col] || []; const next = current.includes(value) ? current.filter(v => v !== value) : [...current, value]; - return { ...prev, [col]: next }; + const updated = { ...prev, [col]: next }; + console.log('[Filter] new columnFilters:', updated); + return updated; }); setPage(1); };