From f983ada42a5b9a9b30aecffe704da51bab937fff Mon Sep 17 00:00:00 2001 From: Sarah Gillespie <73313222+gillespi314@users.noreply.github.com> Date: Mon, 29 Jul 2024 09:31:49 -0500 Subject: [PATCH] Refetch host scripts and activities when exiting related modals --- .../HostDetailsPage/HostDetailsPage.tsx | 25 +++++++++++-------- .../modals/RunScriptModal/RunScriptModal.tsx | 4 --- 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/frontend/pages/hosts/details/HostDetailsPage/HostDetailsPage.tsx b/frontend/pages/hosts/details/HostDetailsPage/HostDetailsPage.tsx index 71cf363319..9ee38669fd 100644 --- a/frontend/pages/hosts/details/HostDetailsPage/HostDetailsPage.tsx +++ b/frontend/pages/hosts/details/HostDetailsPage/HostDetailsPage.tsx @@ -612,7 +612,10 @@ const HostDetailsPage = ({ const onCancelScriptDetailsModal = useCallback(() => { setScriptDetailsId(""); - }, []); + // refetch activities to make sure they up-to-date with what was displayed in the modal + refetchPastActivities(); + refetchUpcomingActivities(); + }, [refetchPastActivities, refetchUpcomingActivities]); const onCancelSoftwareInstallDetailsModal = useCallback(() => { setSoftwareInstallUuid(""); @@ -963,15 +966,17 @@ const HostDetailsPage = ({ hostsTeamId={host?.team_id} /> )} - {showRunScriptModal && ( - - )} + {showRunScriptModal && + // force run script modal to unmount when script details modal is shown; + // it will be remounted when script details modal is closed + !scriptDetailsId && ( + + )} {!!host && showTransferHostModal && ( setShowTransferHostModal(false)} diff --git a/frontend/pages/hosts/details/HostDetailsPage/modals/RunScriptModal/RunScriptModal.tsx b/frontend/pages/hosts/details/HostDetailsPage/modals/RunScriptModal/RunScriptModal.tsx index 0283841726..5df4dda24d 100644 --- a/frontend/pages/hosts/details/HostDetailsPage/modals/RunScriptModal/RunScriptModal.tsx +++ b/frontend/pages/hosts/details/HostDetailsPage/modals/RunScriptModal/RunScriptModal.tsx @@ -31,7 +31,6 @@ const baseClass = "run-script-modal"; interface IScriptsProps { currentUser: IUser | null; host: IHost; - scriptDetailsId: string; setScriptDetailsId: React.Dispatch>; onClose: () => void; } @@ -41,7 +40,6 @@ const EmptyComponent = () => <>; const RunScriptModal = ({ currentUser, host, - scriptDetailsId, setScriptDetailsId, onClose, }: IScriptsProps) => { @@ -123,7 +121,6 @@ const RunScriptModal = ({ if (!config) return null; - const isShowingScriptDetails = !!scriptDetailsId; // used to set css visibility for this modal to hidden when the script details modal is open const tableData = hostScriptResponse?.scripts; return ( @@ -132,7 +129,6 @@ const RunScriptModal = ({ onExit={onClose} onEnter={onClose} className={`${baseClass}`} - isHidden={isShowingScriptDetails} isLoading={runScriptRequested || isFetching || isLoading} > <>