react-instantsearch-dom#ScrollTo JavaScript Examples
The following examples show how to use
react-instantsearch-dom#ScrollTo.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: index.js From plataforma-sabia with MIT License | 5 votes |
SolutionList = ({
indexName,
searchState,
resultsState,
onSearchStateChange,
onSearchParameters,
widgetsCollector,
}) => {
const filters = '__meta__.technologies_count > 0 OR __meta__.services_count > 0';
return (
<AlgoliaSearchProvider
indexName={indexName}
searchState={searchState}
resultsState={resultsState}
onSearchStateChange={onSearchStateChange}
onSearchParameters={onSearchParameters}
widgetsCollector={widgetsCollector}
>
<ThemeProvider>
<S.Wrapper>
<S.Container>
<S.Top>
<S.Title>Organização</S.Title>
<DebouncedSearchBox
placeholder="Qual instituição você busca?"
secondary
/>
<S.SortWrapper>
<HitsPerPage
items={[
{
label: `${ITEMS_PER_PAGE} resultados por página`,
value: ITEMS_PER_PAGE,
},
]}
defaultRefinement={ITEMS_PER_PAGE}
/>
</S.SortWrapper>
</S.Top>
<S.Content>
<Configure filters={filters} />
<ScrollTo>
<Hits hitComponent={HitCard} />
</ScrollTo>
</S.Content>
<Pagination />
</S.Container>
</S.Wrapper>
</ThemeProvider>
</AlgoliaSearchProvider>
);
}
Example #2
Source File: index.js From plataforma-sabia with MIT License | 4 votes |
SolutionList = ({
indexName,
searchState,
resultsState,
onSearchStateChange,
onSearchParameters,
widgetsCollector,
institutionId,
}) => {
const [searchLength, setSearchLength] = useState({
technology: 0,
service: 0,
});
const theme = useTheme();
const filters = `institution_id:"${institutionId}"`;
return (
<AlgoliaSearchProvider
indexName={indexName}
searchState={searchState}
resultsState={resultsState}
onSearchStateChange={onSearchStateChange}
onSearchParameters={onSearchParameters}
widgetsCollector={widgetsCollector}
>
<ThemeProvider>
<S.Wrapper>
<S.Container>
<S.Top>
<S.Title>Vitrine tecnológica</S.Title>
<DebouncedSearchBox placeholder="Qual solução você busca?" secondary />
<S.SortWrapper>
<HitsPerPage
items={[
{
label: `${ITEMS_PER_PAGE} resultados por página`,
value: ITEMS_PER_PAGE,
},
]}
defaultRefinement={ITEMS_PER_PAGE}
/>
</S.SortWrapper>
</S.Top>
<S.Content>
<Index indexName={algoliaDefaultConfig.technology.indexName}>
<Configure filters={filters} />
<Results
type="technology"
current={searchLength.technology}
onChange={setSearchLength}
/>
{!!searchLength.technology && (
<ScrollTo>
<SolutionsWrapper
containerPadding="3.2rem 0"
header="Tecnologias em destaque"
headerComponent="title"
headerProps={{
align: 'left',
color: theme.colors.silver,
centerInMobile: true,
}}
algoliaCustomCss={S.algoliaListCss}
overwriteAlgoliaStyles
>
<Hits
hitComponent={connectHits(({ hit }) => (
<SolutionCard type="technology" data={hit} />
))}
/>
</SolutionsWrapper>
<Pagination />
</ScrollTo>
)}
</Index>
<Index indexName={algoliaDefaultConfig.service.indexName}>
<Configure filters={filters} />
<Results
type="service"
current={searchLength.service}
onChange={setSearchLength}
/>
{!!searchLength.service && (
<ScrollTo>
<SolutionsWrapper
containerPadding="3.2rem 0"
header="Serviços em destaque"
headerComponent="title"
headerProps={{
align: 'left',
color: theme.colors.silver,
centerInMobile: true,
}}
algoliaCustomCss={S.algoliaListCss}
overwriteAlgoliaStyles
>
<Hits
hitComponent={connectHits(({ hit }) => (
<SolutionCard type="service" data={hit} />
))}
/>
</SolutionsWrapper>
<Pagination />
</ScrollTo>
)}
</Index>
</S.Content>
</S.Container>
</S.Wrapper>
</ThemeProvider>
</AlgoliaSearchProvider>
);
}