fix: normalize filter comparison with trim and exact set match in Cosmetic Items tab

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
Christian Vidal Wolf
2026-05-12 12:12:49 +02:00
co-authored by claude-flow
parent d69acd5872
commit 60224931bc
+6 -4
View File
@@ -45,7 +45,7 @@ export function CosmeticItemsView({ data, headers, onSaveRow, onCaptureState, ro
if (!COSMETIC_LINES.some(l => lineVal === l)) return; if (!COSMETIC_LINES.some(l => lineVal === l)) return;
columns.forEach(({ col }) => { columns.forEach(({ col }) => {
result[col].add(String(row[col] ?? '')); result[col].add(String(row[col] ?? '').trim());
}); });
}); });
@@ -83,10 +83,12 @@ export function CosmeticItemsView({ data, headers, onSaveRow, onCaptureState, ro
if (!filterValues || filterValues.length === 0) return; if (!filterValues || filterValues.length === 0) return;
const colNum = parseInt(colIdx); const colNum = parseInt(colIdx);
const allVals = getUniqueValues(colNum); const allVals = getUniqueValues(colNum);
if (filterValues.length >= allVals.length) return; // If all known values selected, no filtering needed
const filterSet = new Set(filterValues);
if (filterSet.size >= allVals.length && allVals.every(v => filterSet.has(v))) return;
result = result.filter(({ row }) => { result = result.filter(({ row }) => {
const val = String(row[colNum] ?? ''); const val = String(row[colNum] ?? '').trim();
return filterValues.includes(val); return filterValues.some(f => f.trim() === val);
}); });
}); });