Skip to content

Commit 48dc7f8

Browse files
author
Eunjae Lee
authoredMar 30, 2021
feat(toggleRefinement): implement canRefine (#4689)
1 parent 3ae51e6 commit 48dc7f8

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed
 

‎src/connectors/toggle-refinement/__tests__/connectToggleRefinement-test.js

+4
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/toggle-refi
881881

882882
expect(renderState.toggleRefinement).toEqual({
883883
createURL: expect.any(Function),
884+
canRefine: false,
884885
refine: expect.any(Function),
885886
sendEvent: expect.any(Function),
886887
state: helper.state,
@@ -927,6 +928,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/toggle-refi
927928

928929
expect(renderState.toggleRefinement).toEqual({
929930
createURL: expect.any(Function),
931+
canRefine: true,
930932
refine: expect.any(Function),
931933
sendEvent: expect.any(Function),
932934
state: helper.state,
@@ -974,6 +976,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/toggle-refi
974976

975977
expect(renderState).toEqual({
976978
createURL: expect.any(Function),
979+
canRefine: false,
977980
refine: expect.any(Function),
978981
sendEvent: expect.any(Function),
979982
state: helper.state,
@@ -1019,6 +1022,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/toggle-refi
10191022

10201023
expect(renderState).toEqual({
10211024
createURL: expect.any(Function),
1025+
canRefine: true,
10221026
refine: expect.any(Function),
10231027
sendEvent: expect.any(Function),
10241028
state: helper.state,

‎src/connectors/toggle-refinement/connectToggleRefinement.js

+2
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ const createSendEvent = ({ instantSearchInstance, attribute, on, helper }) => (
6161
* @typedef {Object} ToggleRenderingOptions
6262
* @property {ToggleValue} value The current toggle value.
6363
* @property {function():string} createURL Creates an URL for the next state.
64+
* @property {boolean} canRefine Indicates if search state can be refined.
6465
* @property {function(value)} refine Updates to the next state by applying the toggle refinement.
6566
* @property {Object} widgetParams All original `CustomToggleWidgetParams` forwarded to the `renderFn`.
6667
*/
@@ -308,6 +309,7 @@ export default function connectToggleRefinement(renderFn, unmountFn = noop) {
308309
createURL,
309310
}),
310311
sendEvent,
312+
canRefine: Boolean(results ? nextRefinement.count : null),
311313
refine: toggleRefinementFactory(helper),
312314
widgetParams,
313315
};

0 commit comments

Comments
 (0)
Please sign in to comment.