demarches-normaliennes/app/javascript/components/ComboAdresseSearch.jsx

48 lines
1.2 KiB
React
Raw Normal View History

2020-10-07 17:44:04 +02:00
import React, { useCallback } from 'react';
2021-02-16 13:54:16 +01:00
import { QueryClientProvider } from 'react-query';
2020-10-07 17:44:04 +02:00
import PropTypes from 'prop-types';
import ComboSearch from './ComboSearch';
2021-02-16 13:54:16 +01:00
import { queryClient } from './shared/queryClient';
2020-10-07 17:44:04 +02:00
function ComboAdresseSearch({
mandatory,
placeholder,
hiddenFieldId,
onChange,
transformResult = ({ properties: { label } }) => [label, label],
allowInputValues = true,
className
2020-10-07 17:44:04 +02:00
}) {
const transformResults = useCallback((_, { features }) => features);
return (
2021-02-16 13:54:16 +01:00
<QueryClientProvider client={queryClient}>
2020-10-07 17:44:04 +02:00
<ComboSearch
className={className}
2020-10-07 17:44:04 +02:00
placeholder={placeholder}
required={mandatory}
hiddenFieldId={hiddenFieldId}
onChange={onChange}
allowInputValues={allowInputValues}
scope="adresse"
minimumInputLength={2}
transformResult={transformResult}
transformResults={transformResults}
/>
2021-02-16 13:54:16 +01:00
</QueryClientProvider>
2020-10-07 17:44:04 +02:00
);
}
ComboAdresseSearch.propTypes = {
className: PropTypes.string,
2020-10-07 17:44:04 +02:00
placeholder: PropTypes.string,
mandatory: PropTypes.bool,
hiddenFieldId: PropTypes.string,
transformResult: PropTypes.func,
allowInputValues: PropTypes.bool,
onChange: PropTypes.func
};
export default ComboAdresseSearch;