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;
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;
const colNum = parseInt(colIdx);
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 }) => {
const val = String(row[colNum] ?? '');
return filterValues.includes(val);
const val = String(row[colNum] ?? '').trim();
return filterValues.some(f => f.trim() === val);
});
});