From 8dab938a89f8a0352aafb08790f2cceb46d2e4be Mon Sep 17 00:00:00 2001 From: RachelElysia <71795832+RachelElysia@users.noreply.github.com> Date: Thu, 21 Sep 2023 13:44:02 -0400 Subject: [PATCH] Fleet UI: [small bug] Creating multiple new policies save button always enabled (#14042) --- changes/14038-fix-save-multiple-new-policies | 1 + frontend/context/policy.tsx | 2 +- .../components/AddPolicyModal/AddPolicyModal.tsx | 11 ++++++++++- 3 files changed, 12 insertions(+), 2 deletions(-) create mode 100644 changes/14038-fix-save-multiple-new-policies diff --git a/changes/14038-fix-save-multiple-new-policies b/changes/14038-fix-save-multiple-new-policies new file mode 100644 index 0000000000..ecc8ef3cde --- /dev/null +++ b/changes/14038-fix-save-multiple-new-policies @@ -0,0 +1 @@ +* Fix save button for a new policy after newly creating another policy \ No newline at end of file diff --git a/frontend/context/policy.tsx b/frontend/context/policy.tsx index 0e55a6c6be..af47f2fe77 100644 --- a/frontend/context/policy.tsx +++ b/frontend/context/policy.tsx @@ -57,7 +57,7 @@ type InitialStateType = { lastEditedQueryCritical: boolean; lastEditedQueryPlatform: SelectedPlatformString | null; defaultPolicy: boolean; - setLastEditedQueryId: (value: number) => void; + setLastEditedQueryId: (value: number | null) => void; setLastEditedQueryName: (value: string) => void; setLastEditedQueryDescription: (value: string) => void; setLastEditedQueryBody: (value: string) => void; diff --git a/frontend/pages/policies/ManagePoliciesPage/components/AddPolicyModal/AddPolicyModal.tsx b/frontend/pages/policies/ManagePoliciesPage/components/AddPolicyModal/AddPolicyModal.tsx index 6c2d456d9f..1aa53f3346 100644 --- a/frontend/pages/policies/ManagePoliciesPage/components/AddPolicyModal/AddPolicyModal.tsx +++ b/frontend/pages/policies/ManagePoliciesPage/components/AddPolicyModal/AddPolicyModal.tsx @@ -33,6 +33,7 @@ const AddPolicyModal = ({ setLastEditedQueryResolution, setLastEditedQueryCritical, setLastEditedQueryPlatform, + setLastEditedQueryId, setPolicyTeamId, setDefaultPolicy, } = useContext(PolicyContext); @@ -46,6 +47,7 @@ const AddPolicyModal = ({ setLastEditedQueryBody(selectedPolicy.query); setLastEditedQueryResolution(selectedPolicy.resolution); setLastEditedQueryCritical(selectedPolicy.critical || false); + setLastEditedQueryId(null); setPolicyTeamId(teamId); setLastEditedQueryPlatform(selectedPolicy.platform || null); router.push( @@ -56,10 +58,17 @@ const AddPolicyModal = ({ const onCreateYourOwnPolicyClick = useCallback(() => { setPolicyTeamId(teamId); setLastEditedQueryBody(DEFAULT_POLICY.query); + setLastEditedQueryId(null); router.push( !teamId ? PATHS.NEW_POLICY : `${PATHS.NEW_POLICY}?team_id=${teamId}` ); - }, [router, setLastEditedQueryBody, setPolicyTeamId, teamId]); + }, [ + router, + setLastEditedQueryBody, + setLastEditedQueryId, + setPolicyTeamId, + teamId, + ]); const policiesAvailable = DEFAULT_POLICIES.map((policy: IPolicyNew) => { return (