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}
>
<>