CEC-4729: remove race-condition (#458)

* resolve localStorage race condition

* fix

* fix
This commit is contained in:
Tristan Timblin
2023-10-03 09:14:05 -07:00
committed by GitHub
parent d30fe56475
commit e5ccb23443
2 changed files with 8 additions and 4 deletions

View File

@@ -21,7 +21,7 @@ const MainForm = () => {
const [online, setOnline] = useState(false); const [online, setOnline] = useState(false);
const [onlineHMI, setOnlineHMI] = useState(false); const [onlineHMI, setOnlineHMI] = useState(false);
const [selectedVins, setSelectedVins] = useState([]); const [selectedVins, setSelectedVins] = useState([]);
const { vins, search, query, setQuery } = useQuery(); const { vins, search, query, setQuery, loading } = useQuery();
const { setTitle, setSitePath } = useStatusContext(); const { setTitle, setSitePath } = useStatusContext();
const { const {
token: { token: {
@@ -100,7 +100,7 @@ const MainForm = () => {
</Grid> </Grid>
<Grid item md={2} className={classes.textRightAlign} /> <Grid item md={2} className={classes.textRightAlign} />
</Grid> </Grid>
<CarSelectionTable {!loading && <CarSelectionTable
classes={classes} classes={classes}
token={token} token={token}
multiSelect multiSelect
@@ -113,7 +113,7 @@ const MainForm = () => {
selected={selectedVins} selected={selectedVins}
onSelect={handleSelect} onSelect={handleSelect}
onSelectAll={handleSelectAll} onSelectAll={handleSelectAll}
/> />}
</div> </div>
); );
}; };

View File

@@ -35,8 +35,9 @@ function parseQueryPart(part) {
export default function useQuery() { export default function useQuery() {
const [query, setQuery] = useLocalStorage("VEHICLE_SEARCH", ""); const [query, setQuery] = useLocalStorage("VEHICLE_SEARCH", "");
const [parts, setParts] = useState([]); const [parts, setParts] = useState([]);
const [search, setSearch] = useState(""); const [search, setSearch] = useState(null);
const [vins, setVins] = useState(""); const [vins, setVins] = useState("");
const [loading, setLoading] = useState(true);
function reset() { function reset() {
setSearch(""); setSearch("");
@@ -62,6 +63,8 @@ export default function useQuery() {
setSearch(search => `${search} ${value}`.trim()); setSearch(search => `${search} ${value}`.trim());
} }
}); });
setLoading(false);
}, [query]); }, [query]);
return { return {
@@ -70,5 +73,6 @@ export default function useQuery() {
vins, vins,
query, query,
setQuery, setQuery,
loading,
} }
} }