Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3071 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3694 stevensc 1
import React, { useEffect } from 'react';
2
import Place from '@mui/icons-material/Place';
1459 stevensc 3
 
3694 stevensc 4
import { useLocationAutocomplete } from '@hooks';
5
import Input from './Input';
1459 stevensc 6
 
7
const UbicationInput = ({
8
  onGetAddress = () => {},
9
  settedQuery = '',
10
  placeholder = 'Ubicación',
1798 stevensc 11
  onChange = () => {},
12
  error = null
1459 stevensc 13
}) => {
3694 stevensc 14
  const { address, error: addressError, ref } = useLocationAutocomplete();
1459 stevensc 15
 
16
  useEffect(() => {
3694 stevensc 17
    onGetAddress(address);
18
  }, [address]);
1459 stevensc 19
 
3071 stevensc 20
  const handleChangeAddress = (event) => {
21
    if (!event.target.value) {
3694 stevensc 22
      const values = {};
23
      Object.keys(address).forEach((key) => (values[key] = ''));
24
      onGetAddress(values);
3071 stevensc 25
    }
26
 
3694 stevensc 27
    onChange(event);
28
  };
3071 stevensc 29
 
1459 stevensc 30
  return (
2865 stevensc 31
    <Input
1798 stevensc 32
      type='text'
33
      inputRef={ref}
3071 stevensc 34
      onChange={handleChangeAddress}
1798 stevensc 35
      placeholder={placeholder}
3046 stevensc 36
      defaultValue={settedQuery}
2865 stevensc 37
      error={error || addressError}
38
      icon={<Place />}
1798 stevensc 39
    />
3694 stevensc 40
  );
41
};
1459 stevensc 42
 
3694 stevensc 43
export default UbicationInput;