import { Autocomplete, Box, Button, CircularProgress, Paper, TextField, Typography } from "@mui/material" import { useBoilers, useCities, useRegions, useServers } from "../hooks/swrHooks" import { Fragment, useEffect, useState } from "react" import { IRegion } from "../interfaces/fuel" import { DataGrid, GridColDef } from "@mui/x-data-grid" export default function ApiTest() { const [open, setOpen] = useState(false) const [options, setOptions] = useState([]) const [search, setSearch] = useState(null) const [debouncedSearch, setDebouncedSearch] = useState("") const [selectedOption, setSelectedOption] = useState(null) const { regions, isLoading } = useRegions(10, 1, debouncedSearch) useEffect(() => { const handler = setTimeout(() => { setDebouncedSearch(search) }, 500) return () => { clearTimeout(handler) } }, [search]) useEffect(() => { if (regions) { setOptions([...regions]) } }, [regions]) const handleInputChange = (event: any, value: any) => { setSearch(value) } const handleOptionChange = (event: any, value: any) => { setSelectedOption(value) } //const { boilers } = useBoilers(10, 1) //const { cities } = useCities(10, 1) const { servers, isLoading: serversLoading } = useServers(selectedOption?.id, 0, 10) const serversColumns: GridColDef[] = [ { field: 'id', headerName: 'ID', type: "number" }, { field: 'name', headerName: 'Название', type: "string" }, ] return ( Get servers { setOpen(true) }} onClose={() => { setOpen(false) }} onInputChange={handleInputChange} onChange={handleOptionChange} filterOptions={(x) => x} isOptionEqualToValue={(option: any, value: any) => option.name === value.name} getOptionLabel={(option: any) => option.name ? option.name : ""} options={options} loading={isLoading} value={selectedOption} renderInput={(params) => ( {isLoading ? : null} {params.InputProps.endAdornment} ) }} /> )} /> {serversLoading ? : servers && } ) }