Skip to content

Commit d9f7e97

Browse files
committed
Add filtering for all data types and make missing values filtering case-insensitive
1 parent eaddc76 commit d9f7e97

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

src/lib/components/Table/TableFilter.svelte

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -129,30 +129,34 @@
129129
130130
// Converted string values and missingValues mapping
131131
const stringValues =
132-
type === 'number' ? $values.map((item) => (toStringFn ? toStringFn(item) : item)) : [];
132+
// type === 'number' ?
133+
$values.map((item) => (toStringFn ? toStringFn(item) : item));
134+
// : [];
135+
133136
const missingValues =
134-
type === 'number'
135-
? stringValues.reduce((acc, item, index) => {
136-
acc[item] = $values[index];
137-
return acc;
138-
}, {})
139-
: {};
137+
// type === 'number' ?
138+
stringValues.reduce((acc, item, index) => {
139+
acc[typeof item === 'string' ? item.toLowerCase() : item] = $values[index];
140+
return acc;
141+
}, {});
142+
// : {};
140143
141144
const getMissingValue = (value: string) => {
142-
if (type === 'number') {
143-
return missingValues[value];
144-
}
145-
return value;
145+
// if (type === 'number' ||) {
146+
return missingValues[value.toLowerCase()];
147+
// }
148+
// return value;
146149
};
147150
148151
const optionChangeHandler = (e, index) => {
149152
delete $filters[id][dropdowns[index].option];
150153
$filters[id] = {
151154
...$filters[id],
152155
[e.target.value]:
153-
type === 'number'
154-
? getMissingValue(dropdowns[index].value as string)
155-
: dropdowns[index].value
156+
// type === 'number'
157+
// ?
158+
getMissingValue(dropdowns[index].value as string)
159+
// : dropdowns[index].value
156160
};
157161
$filters = $filters;
158162
@@ -173,7 +177,9 @@
173177
[id]: {
174178
...$filters[id],
175179
[dropdowns[index].option]:
176-
type === 'number' ? getMissingValue(e.target.value) : dropdowns[index].value
180+
// type === 'number' ?
181+
getMissingValue(e.target.value)
182+
// : dropdowns[index].value
177183
}
178184
};
179185
};

0 commit comments

Comments
 (0)