From b699eb4269486be7647518630ab23800a5a0b448 Mon Sep 17 00:00:00 2001 From: linoe97 Date: Wed, 15 Jun 2022 16:18:19 +0200 Subject: [PATCH] improved speed and response to change in frontend --- frontend/src/components/Header/index.tsx | 2 +- frontend/src/components/ServiceRow/index.tsx | 21 +++++++++++++++++--- frontend/src/pages/HomePage.tsx | 3 +-- frontend/src/pages/ServiceDetails.tsx | 19 ++++++++++-------- 4 files changed, 31 insertions(+), 14 deletions(-) diff --git a/frontend/src/components/Header/index.tsx b/frontend/src/components/Header/index.tsx index bab09b9..31e5f8a 100755 --- a/frontend/src/components/Header/index.tsx +++ b/frontend/src/components/Header/index.tsx @@ -74,7 +74,7 @@ function Header() { const {srv_id} = useParams() const [open, setOpen] = useState(false); - const closeModal = () => {setOpen(false);} + const closeModal = () => {setOpen(false);updateInfo();} return
diff --git a/frontend/src/components/ServiceRow/index.tsx b/frontend/src/components/ServiceRow/index.tsx index de11556..1cb80f0 100755 --- a/frontend/src/components/ServiceRow/index.tsx +++ b/frontend/src/components/ServiceRow/index.tsx @@ -5,7 +5,7 @@ import { Service } from '../../js/models'; import { MdOutlineArrowForwardIos } from "react-icons/md" import style from "./ServiceRow.module.scss"; import YesNoModal from '../YesNoModal'; -import { errorNotify, okNotify, pauseservice, startservice, stopservice } from '../../js/utils'; +import { errorNotify, okNotify, pauseservice, startservice, stopservice, servicelist } from '../../js/utils'; //"status":"stop"/"wait"/"active"/"pause", function ServiceRow({ service, onClick, additional_buttons }:{ service:Service, onClick?:()=>void, additional_buttons?:any }) { @@ -18,6 +18,18 @@ function ServiceRow({ service, onClick, additional_buttons }:{ service:Service, case "pause": status_color = "cyan"; break; } + + const [services, setServices] = useState([]); + const [loader, setLoader] = useState(true); + const updateInfo = async () => { + await servicelist().then(res => { + setServices(res) + }).catch(err => { + errorNotify("Home Page Auto-Update failed!", err.toString()) + }) + setLoader(false) + } + const [stopModal, setStopModal] = useState(false); const [buttonLoading, setButtonLoading] = useState(false) @@ -32,7 +44,8 @@ function ServiceRow({ service, onClick, additional_buttons }:{ service:Service, }).catch(err => { errorNotify(`An error as occurred during the stopping of the service ${service.id}`,`Error: ${err}`) }) - setButtonLoading(false) + setButtonLoading(false); + updateInfo(); } const startService = async () => { @@ -47,6 +60,7 @@ function ServiceRow({ service, onClick, additional_buttons }:{ service:Service, errorNotify(`An error as occurred during the starting of the service ${service.id}`,`Error: ${err}`) }) setButtonLoading(false) + updateInfo(); } const pauseService = async () => { @@ -61,6 +75,7 @@ function ServiceRow({ service, onClick, additional_buttons }:{ service:Service, errorNotify(`An error as occurred during the pausing of the service ${service.id}`,`Error: ${err}`) }) setButtonLoading(false) + updateInfo(); } return <> @@ -146,7 +161,7 @@ function ServiceRow({ service, onClick, additional_buttons }:{ service:Service, setStopModal(false)} + onClose={()=>{setStopModal(false);updateInfo();}} action={stopService} opened={stopModal} /> diff --git a/frontend/src/pages/HomePage.tsx b/frontend/src/pages/HomePage.tsx index 410bf40..4e25472 100755 --- a/frontend/src/pages/HomePage.tsx +++ b/frontend/src/pages/HomePage.tsx @@ -14,7 +14,6 @@ function HomePage() { const [loader, setLoader] = useState(true); const navigator = useNavigate() const [open, setOpen] = useState(false); - const closeModal = () => {setOpen(false);} const updateInfo = async () => { await servicelist().then(res => { @@ -31,8 +30,8 @@ function HomePage() { return () => { clearInterval(updater) } }, []); + const closeModal = () => {setOpen(false);updateInfo();} - return
{services.length > 0?services.map( srv => { diff --git a/frontend/src/pages/ServiceDetails.tsx b/frontend/src/pages/ServiceDetails.tsx index bd24487..5f791c1 100755 --- a/frontend/src/pages/ServiceDetails.tsx +++ b/frontend/src/pages/ServiceDetails.tsx @@ -24,13 +24,6 @@ function ServiceDetails() { status:"🤔" }) - const [regexesList, setRegexesList] = useState([]) - const [loader, setLoader] = useState(true); - const [open, setOpen] = useState(false); - const closeModal = () => {setOpen(false);} - - const navigator = useNavigate() - const updateInfo = async () => { if (!srv_id) return let error = false; @@ -50,6 +43,14 @@ function ServiceDetails() { setLoader(false) } + const [regexesList, setRegexesList] = useState([]) + const [loader, setLoader] = useState(true); + const [open, setOpen] = useState(false); + const closeModal = () => {setOpen(false);updateInfo();} + + const navigator = useNavigate() + + useEffect(()=>{ updateInfo() const updater = setInterval(updateInfo, update_freq) @@ -68,6 +69,7 @@ function ServiceDetails() { }).catch(err => { errorNotify("An error occurred while deleting a service",`Error: ${err}`) }) + updateInfo(); } const changePort = () => { @@ -79,6 +81,7 @@ function ServiceDetails() { }).catch(err => { errorNotify("An error occurred while changing the internal service port",`Error: ${err}`) }) + updateInfo(); } return
@@ -114,7 +117,7 @@ function ServiceDetails() { setDeleteModal(false)} + onClose={()=>setDeleteModal(false) } action={deleteService} opened={deleteModal} />