From da276c939e136cb1414b398a9d0b952d25df5c43 Mon Sep 17 00:00:00 2001 From: Johanna Szepanski <johanna.szepanski@softhouse.se> Date: Tue, 9 Jul 2024 15:14:23 +0200 Subject: [PATCH] fixed host selector in deploy ioc dialog --- .../IOC/IOCDeployDialog/IOCDeployDialog.js | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/src/components/IOC/IOCDeployDialog/IOCDeployDialog.js b/src/components/IOC/IOCDeployDialog/IOCDeployDialog.js index 13bf0de6..bd7516c6 100644 --- a/src/components/IOC/IOCDeployDialog/IOCDeployDialog.js +++ b/src/components/IOC/IOCDeployDialog/IOCDeployDialog.js @@ -1,4 +1,10 @@ -import React, { useCallback, useContext, useEffect, useState } from "react"; +import React, { + useCallback, + useContext, + useEffect, + useState, + useMemo +} from "react"; import { Button, TextField, @@ -8,7 +14,6 @@ import { Alert, Stack } from "@mui/material"; -import { useTypingTimer } from "../../common/SearchBoxFilter/TypingTimer"; import { apiContext } from "../../../api/DeployApi"; import { useAPIMethod, @@ -62,8 +67,16 @@ export function IOCDeployDialog({ [callGetTagOrCommitId] ); - const [host, setHost] = useState(deployIocFormDefaults); - const [query, onHostKeyUp] = useTypingTimer({ interval: 500 }); + const initHost = useMemo( + () => ({ + fqdn: deployIocFormDefaults.netBoxHost?.fqdn, + hostId: deployIocFormDefaults.netBoxHost?.hostId + }), + [deployIocFormDefaults.netBoxHost] + ); + + const [host, setHost] = useState(initHost); + const [query, setQuery] = useState(""); const [gitRepo, setGitRepo] = useState(deployIocFormDefaults.git || ""); const [revision, setRevision] = useState(deployIocFormDefaults); const gitProjectId = deployIocFormDefaults.gitProjectId; @@ -73,7 +86,7 @@ export function IOCDeployDialog({ }; useEffect(() => { - getHosts({ query: `${query}` }); + getHosts({ query }); }, [query, getHosts]); useEffect(() => { @@ -94,11 +107,7 @@ export function IOCDeployDialog({ requestBody: { sourceUrl: git, sourceVersion: revision.reference, - hostId: host - ? host.netBoxHost.hostId - : deployIocFormDefaults.netBoxHost - ? deployIocFormDefaults.netBoxHost.hostId - : undefined + hostId: host.hostId } } ); @@ -166,9 +175,9 @@ export function IOCDeployDialog({ options={query ? hosts?.netBoxHosts ?? [] : []} loading={loadingHosts} clearOnBlur={false} - defaultValue={deployIocFormDefaults} + value={host} getOptionLabel={(option) => { - return option?.netBoxHost?.fqdn ?? ""; + return option?.fqdn ?? ""; }} renderInput={(params) => ( <TextField @@ -196,11 +205,7 @@ export function IOCDeployDialog({ setHost(value); resetError(); }} - onInputChange={(event) => { - if (event) { - onHostKeyUp(event.nativeEvent); - } - }} + onInputChange={(_event, value) => setQuery(value)} disabled={hasActiveDeployment} autoSelect filterOptions={(options) => options} -- GitLab