From 0874f96272af081f2c53661288bd6fb18278184e Mon Sep 17 00:00:00 2001 From: Alejandro-Vega Date: Wed, 9 Oct 2024 13:09:01 -0400 Subject: [PATCH] Update default reset form values based on whether the user can view other orgs or not --- .../DataSubmissionListFilters.test.tsx | 2 +- .../DataSubmissionListFilters.tsx | 25 +++++++++++-------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/components/DataSubmissions/DataSubmissionListFilters.test.tsx b/src/components/DataSubmissions/DataSubmissionListFilters.test.tsx index 51e1b303..a1e859c8 100644 --- a/src/components/DataSubmissions/DataSubmissionListFilters.test.tsx +++ b/src/components/DataSubmissions/DataSubmissionListFilters.test.tsx @@ -242,7 +242,7 @@ describe("DataSubmissionListFilters Component", () => { const organizationSelectInput = getByTestId("organization-select"); const button = within(organizationSelectInput).getByRole("button"); - expect(button).toHaveAttribute("aria-disabled", "true"); + expect(button).toHaveClass("Mui-readOnly"); }); it("resets all filters and clears URL searchParams when reset button is clicked", async () => { diff --git a/src/components/DataSubmissions/DataSubmissionListFilters.tsx b/src/components/DataSubmissions/DataSubmissionListFilters.tsx index e597bf28..2209fbd5 100644 --- a/src/components/DataSubmissions/DataSubmissionListFilters.tsx +++ b/src/components/DataSubmissions/DataSubmissionListFilters.tsx @@ -95,6 +95,15 @@ const statusValues: SubmissionStatus[] = [ "Deleted", ]; +const defaultValues: FilterForm = { + organization: "All", + status: "All", + dataCommons: "All", + name: "", + dbGaPID: "", + submitterName: "All", +}; + type T = ListSubmissionsResp["listSubmissions"]["submissions"][0]; export type FilterForm = Pick< @@ -129,14 +138,7 @@ const DataSubmissionListFilters = ({ const { activeOrganizations } = useOrganizationListContext(); const { searchParams, setSearchParams } = useSearchParamsContext(); const { control, register, watch, reset, setValue, getValues } = useForm({ - defaultValues: { - organization: "All", - status: "All", - dataCommons: "All", - name: "", - dbGaPID: "", - submitterName: "All", - }, + defaultValues, }); const [ statusFilter, @@ -317,7 +319,10 @@ const DataSubmissionListFilters = ({ searchParams.delete("dbGaPID"); searchParams.delete("submitterName"); setSearchParams(newSearchParams); - reset(); + reset({ + ...defaultValues, + organization: canViewOtherOrgs ? "All" : user?.organization?.orgID, + }); }; return ( @@ -340,7 +345,7 @@ const DataSubmissionListFilters = ({ "data-testid": "organization-select-input", }} data-testid="organization-select" - disabled={!canViewOtherOrgs} + readOnly={!canViewOtherOrgs} onChange={(e) => { field.onChange(e); handleFilterChange("organization");