Skip to content
This repository was archived by the owner on Dec 30, 2022. It is now read-only.

Commit 091bf57

Browse files
authored
feat(connectNumericMenu): add support for floating point values (#3047)
* Update connectNumericMenu.js Adding float support * some basic tests that floats can be used
1 parent 94bfc75 commit 091bf57

File tree

2 files changed

+44
-2
lines changed

2 files changed

+44
-2
lines changed

packages/react-instantsearch-core/src/connectors/__tests__/connectNumericMenu.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ describe('connectNumericMenu', () => {
2525
{},
2626
{ results }
2727
);
28+
2829
expect(props).toEqual({
2930
items: [
3031
{ label: 'All', value: '', isRefined: true, noRefinement: false },
@@ -121,6 +122,37 @@ describe('connectNumericMenu', () => {
121122
canRefine: true,
122123
});
123124

125+
props = connect.getProvidedProps(
126+
{
127+
items: [
128+
{ label: 'is 0', start: 0, end: 0 },
129+
{ label: 'in 0..0.5', start: 0, end: 0.5 },
130+
],
131+
contextValue,
132+
},
133+
{},
134+
{ results }
135+
);
136+
expect(props).toEqual({
137+
items: [
138+
{
139+
label: 'is 0',
140+
value: '0:0',
141+
isRefined: false,
142+
noRefinement: false,
143+
},
144+
{
145+
label: 'in 0..0.5',
146+
value: '0:0.5',
147+
isRefined: false,
148+
noRefinement: false,
149+
},
150+
{ label: 'All', value: '', isRefined: true, noRefinement: false },
151+
],
152+
currentRefinement: '',
153+
canRefine: true,
154+
});
155+
124156
props = connect.getProvidedProps(
125157
{
126158
items: [
@@ -338,6 +370,16 @@ describe('connectNumericMenu', () => {
338370
'>=': [0],
339371
'<=': [0],
340372
});
373+
374+
params = connect.getSearchParameters(
375+
initSP,
376+
{ attribute: 'facet', contextValue },
377+
{ multiRange: { facet: '0:0.5' } }
378+
);
379+
expect(params.getNumericRefinements('facet')).toEqual({
380+
'>=': [0],
381+
'<=': [0.5],
382+
});
341383
});
342384

343385
it('registers its id in metadata', () => {

packages/react-instantsearch-core/src/connectors/connectNumericMenu.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ function parseItem(value) {
2424
}
2525
const [startStr, endStr] = value.split(':');
2626
return {
27-
start: startStr.length > 0 ? parseInt(startStr, 10) : null,
28-
end: endStr.length > 0 ? parseInt(endStr, 10) : null,
27+
start: startStr.length > 0 ? parseFloat(startStr) : null,
28+
end: endStr.length > 0 ? parseFloat(endStr) : null,
2929
};
3030
}
3131

0 commit comments

Comments
 (0)