Skip to content

Commit f02416c

Browse files
author
Eunjae Lee
authoredMar 23, 2021
feat(currentRefinements): implement canRefine (#4690)
1 parent 37bbd01 commit f02416c

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed
 

‎src/connectors/current-refinements/__tests__/connectCurrentRefinements-test.ts

+4
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/current-ref
137137

138138
expect(renderState.currentRefinements).toEqual({
139139
items: [],
140+
canRefine: false,
140141
refine: expect.any(Function),
141142
createURL: expect.any(Function),
142143
widgetParams: {},
@@ -220,6 +221,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/current-ref
220221
],
221222
},
222223
],
224+
canRefine: true,
223225
refine: expect.any(Function),
224226
createURL: expect.any(Function),
225227
widgetParams: {},
@@ -242,6 +244,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/current-ref
242244

243245
expect(renderState).toEqual({
244246
items: [],
247+
canRefine: false,
245248
refine: expect.any(Function),
246249
createURL: expect.any(Function),
247250
widgetParams: {},
@@ -324,6 +327,7 @@ See documentation: https://www.algolia.com/doc/api-reference/widgets/current-ref
324327
],
325328
},
326329
],
330+
canRefine: true,
327331
refine: expect.any(Function),
328332
createURL: expect.any(Function),
329333
widgetParams: {},

‎src/connectors/current-refinements/connectCurrentRefinements.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,11 @@ export type CurrentRefinementsRendererOptions = {
112112
*/
113113
items: CurrentRefinementsConnectorParamsItem[];
114114

115+
/**
116+
* Indicates if search state can be refined.
117+
*/
118+
canRefine: boolean;
119+
115120
/**
116121
* Removes the given refinement and triggers a new search.
117122
*/
@@ -226,8 +231,11 @@ const connectCurrentRefinements: CurrentRefinementsConnector = function connectC
226231
);
227232
}
228233

234+
const items = getItems();
235+
229236
return {
230-
items: getItems(),
237+
items,
238+
canRefine: items.length > 0,
231239
refine: refinement => clearRefinement(helper, refinement),
232240
createURL: refinement =>
233241
createURL(clearRefinementFromState(helper.state, refinement)),

0 commit comments

Comments
 (0)
Please sign in to comment.