import AppBar from "../../../components/AppBar"; import Layout from "../../../components/Layout"; import WithAuth from "../../../components/WithAuth"; import apiOdoo from "../../../helpers/apiOdoo"; import ReactSelect from "react-select"; import { useEffect, useState } from "react"; export default function CreateAddress() { // Master Data const [cities, setCities] = useState([]); const [districts, setDistricts] = useState([]); const [subDistricts, setSubDistricts] = useState([]); // Input Data const [city, setCity] = useState(null); const [district, setDistrict] = useState(null); const [subDistrict, setSubDistrict] = useState(null); const [formValue, setFormValue] = useState({}); useEffect(() => { if (cities.length == 0) { const loadCities = async () => { let dataCities = await apiOdoo('GET', '/api/v1/city'); setCities(dataCities); }; loadCities(); } }, [cities]); useEffect(() => { setDistrict(null); if (city) { const loadDistricts = async () => { let dataDistricts = await apiOdoo('GET', `/api/v1/district?city_id=${city.id}`); setDistricts(dataDistricts); }; loadDistricts(); } }, [city]); useEffect(() => { setSubDistrict(null); if (district) { const loadSubDistricts = async () => { let dataSubDistricts = await apiOdoo('GET', `/api/v1/sub_district?district_id=${district.id}`); console.log(dataSubDistricts); setSubDistricts(dataSubDistricts); }; loadSubDistricts(); } }, [district]); const handleChange = (e) => { setFormValue({ ...formValue, [e.target.name]: e.target.value }); }; return (
state.menuIsOpen || state.isFocused ? '!border-yellow_r-9' : '' }} options={cities} getOptionLabel={e => e.name} getOptionValue={e => e.id} onChange={(value) => setCity(value)} value={city} /> state.menuIsOpen || state.isFocused ? '!border-yellow_r-9' : '' }} options={districts} getOptionLabel={e => e.name} getOptionValue={e => e.id} onChange={(value) => setDistrict(value)} value={district} isDisabled={!city} /> state.menuIsOpen || state.isFocused ? '!border-yellow_r-9' : '' }} options={subDistricts} getOptionLabel={e => e.name} getOptionValue={e => e.id} onChange={(value) => setSubDistrict(value)} value={subDistrict} isDisabled={!district} />
); }