diff --git a/dev/app/init-builtin-widgets.js b/dev/app/init-builtin-widgets.js index 9e364b0c84..12fa8bf22e 100644 --- a/dev/app/init-builtin-widgets.js +++ b/dev/app/init-builtin-widgets.js @@ -293,6 +293,25 @@ export default () => { ); }) ) + .add( + 'with search inside items (using the default noResults template)', + wrapWithHits(container => { + window.search.addWidget( + instantsearch.widgets.refinementList({ + container, + attributeName: 'brand', + operator: 'or', + limit: 10, + templates: { + header: 'Searchable brands', + }, + searchForFacetValues: { + placeholder: 'Find other brands...', + }, + }) + ); + }) + ) .add( 'with operator `and`', wrapWithHits(container => { diff --git a/src/widgets/refinement-list/defaultTemplates.searchForFacetValue.js b/src/widgets/refinement-list/defaultTemplates.searchForFacetValue.js new file mode 100644 index 0000000000..8d89e87b81 --- /dev/null +++ b/src/widgets/refinement-list/defaultTemplates.searchForFacetValue.js @@ -0,0 +1,3 @@ +export default { + noResults: 'No results', +}; diff --git a/src/widgets/refinement-list/refinement-list.js b/src/widgets/refinement-list/refinement-list.js index efaa750390..b513a4eead 100644 --- a/src/widgets/refinement-list/refinement-list.js +++ b/src/widgets/refinement-list/refinement-list.js @@ -6,6 +6,7 @@ import filter from 'lodash/filter'; import RefinementList from '../../components/RefinementList/RefinementList.js'; import connectRefinementList from '../../connectors/refinement-list/connectRefinementList.js'; import defaultTemplates from './defaultTemplates.js'; +import sffvDefaultTemplates from './defaultTemplates.searchForFacetValue.js'; import getShowMoreConfig from '../../lib/show-more/getShowMoreConfig.js'; import { @@ -253,7 +254,7 @@ export default function refinementList( ? prefixKeys('show-more-', showMoreConfig.templates) : {}; const searchForValuesTemplates = searchForFacetValues - ? searchForFacetValues.templates + ? searchForFacetValues.templates || sffvDefaultTemplates : {}; const allTemplates = { ...templates,