Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4671 | Rev 6829 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

/* eslint-disable react/prop-types */
import React from "react";
import { useState, useEffect, useRef } from "react";
import FormErrorFeedback from "../form-error-feedback/FormErrorFeedback";

const UbicationInput = ({ onGetAddress, settedQuery, placeholder = 'Ubicación' }) => {
  const [addresObject, setAddressObject] = useState({});
  const [query, setQuery] = useState("");
  const [error, setError] = useState("");
  const autoCompleteRef = useRef(null);

  useEffect(() => {
    handleScriptLoad(setQuery, autoCompleteRef, setAddressObject, setError);
  }, []);

  useEffect(() => {
    onGetAddress(addresObject, query);
  }, [addresObject]);

  return (
    <React.Fragment>
      <input
        type="text"
        id="location_search"
        name="location_search"
        className="form-control"
        placeholder={placeholder}
        ref={autoCompleteRef}
        onChange={(event) => {
          setAddressObject({});
          setQuery(event.target.value);
        }}
        value={settedQuery ? settedQuery : query}
      />
      {error && <FormErrorFeedback>{error}</FormErrorFeedback>}
    </React.Fragment>
  );
};

export default UbicationInput;