From 9a8e39dcfcfc781e79702ec4dd7594dfc61cf171 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CChristian-R-Haugland=E2=80=9D?= Date: Thu, 23 May 2024 14:54:04 +0200 Subject: [PATCH 1/3] Now updates page-param for Brukere, Grupper and Ressurser --- app/components/common/ChipsFilters.tsx | 10 +++++++++- app/components/org-unit-filter/OrgUnitFilterModal.tsx | 6 +++++- app/components/resource/ResourceSearch.tsx | 11 +++++++++-- app/components/role/RoleSearch.tsx | 11 +++++++++-- app/components/user/UserSearch.tsx | 11 +++++++++-- app/components/user/UserTypeFilter.tsx | 6 +++++- 6 files changed, 46 insertions(+), 9 deletions(-) diff --git a/app/components/common/ChipsFilters.tsx b/app/components/common/ChipsFilters.tsx index 4fb79a9..1d39731 100644 --- a/app/components/common/ChipsFilters.tsx +++ b/app/components/common/ChipsFilters.tsx @@ -1,10 +1,15 @@ import {Chips} from "@navikt/ds-react"; import {useSearchParams} from "@remix-run/react"; import {useEffect, useState} from "react"; -import {handleClearNameFieldString, handleClearSearchFieldString} from "~/components/common/CommonFunctions"; +import { + filterResetPageParam, + handleClearNameFieldString, + handleClearSearchFieldString +} from "~/components/common/CommonFunctions"; const ChipsFilters = () => { const [searchParams, setSearchParams] = useSearchParams(); + const [orgUnits, setOrgUnits] = useState() const [accessRoleId, setAccessRoleId] = useState() const [name, setName] = useState() @@ -12,6 +17,8 @@ const ChipsFilters = () => { const [search, setSearchName] = useState() const [orgUnitName, setOrgUnitName] = useState() + const pageParam = searchParams.get("page") + useEffect(() => { const orgsParam = searchParams.get("orgUnits") const accessRoleIdParam = searchParams.get("accessroleid") @@ -33,6 +40,7 @@ const ChipsFilters = () => { searchParams.delete(filterToRemove) return searchParams }) + filterResetPageParam(pageParam, setSearchParams) switch (filterToRemove) { case "orgUnits": setOrgUnits(undefined) diff --git a/app/components/org-unit-filter/OrgUnitFilterModal.tsx b/app/components/org-unit-filter/OrgUnitFilterModal.tsx index 641b6c7..3d20092 100644 --- a/app/components/org-unit-filter/OrgUnitFilterModal.tsx +++ b/app/components/org-unit-filter/OrgUnitFilterModal.tsx @@ -4,6 +4,7 @@ import {Buldings3Icon} from "@navikt/aksel-icons" import type {IUnitItem} from "~/data/types"; import OrgUnitTree from "~/components/org-unit-filter/OrgUnitTree"; import {useSearchParams} from "@remix-run/react"; +import {filterResetPageParam} from "~/components/common/CommonFunctions"; interface OrgUnitFilterModalProps { orgUnitList: IUnitItem[] @@ -13,7 +14,9 @@ const OrgUnitFilterModal = ({orgUnitList}: OrgUnitFilterModalProps) => { const ref = useRef(null) const [aggregated, setAggregated] = useState(false) const [orgUnitsFilter, setOrgUnitsFilter] = useState([]) - const [, setSearchParams] = useSearchParams() + const [searchParams, setSearchParams] = useSearchParams() + + const pageParam = searchParams.get("page") const handleOpen = () => { @@ -31,6 +34,7 @@ const OrgUnitFilterModal = ({orgUnitList}: OrgUnitFilterModalProps) => { prev.set("orgUnits", `${[orgUnitsToString]}`); return prev; }); + filterResetPageParam(pageParam, setSearchParams) ref.current?.close() reset() } diff --git a/app/components/resource/ResourceSearch.tsx b/app/components/resource/ResourceSearch.tsx index f97e056..8e5ed5f 100644 --- a/app/components/resource/ResourceSearch.tsx +++ b/app/components/resource/ResourceSearch.tsx @@ -1,12 +1,18 @@ import {Search} from "@navikt/ds-react"; import React, {useState} from "react"; import {Form, useSearchParams} from "@remix-run/react"; -import {handleClearSearchFieldString, handleSearchFieldString} from "~/components/common/CommonFunctions"; +import { + filterResetPageParam, + handleClearSearchFieldString, + handleSearchFieldString +} from "~/components/common/CommonFunctions"; export const ResourceSearch = () => { const [searchString, setSearchString] = useState("") - const [, setSearchParams] = useSearchParams() + const [searchParams, setSearchParams] = useSearchParams() + + const pageParam = searchParams.get("page") const handleSearch = (event: React.FormEvent) => { setSearchParams(searchParams => { @@ -21,6 +27,7 @@ export const ResourceSearch = () => { onSubmit={event => { handleSearchFieldString(event, setSearchParams, searchString) setSearchString("") + filterResetPageParam(pageParam, setSearchParams) }} > { const [searchString, setSearchString] = useState("") - const [, setSearchParams] = useSearchParams() + const [searchParams, setSearchParams] = useSearchParams() + + const pageParam = searchParams.get("page") return (
{ handleSearchFieldString(event, setSearchParams, searchString) setSearchString("") + filterResetPageParam(pageParam, setSearchParams) }} > { const [searchString, setSearchString] = useState("") - const [, setSearchParams] = useSearchParams() + const [searchParams, setSearchParams] = useSearchParams() + + const pageParam = searchParams.get("page") return ( { handleSearchFieldString(event, setSearchParams, searchString) setSearchString("") + filterResetPageParam(pageParam, setSearchParams) }} > { - const [currentSearchParams, setSearchParams] = useSearchParams() + const [searchParams,] = useSearchParams(); + + const pageParam = searchParams.get("page") const setUserTypeFilter = (event: string) => { setSearchParams(searchParams => { searchParams.set("userType", event); return searchParams; }) + filterResetPageParam(pageParam, setSearchParams) } return ( From 9d81206bce14b0b083fb6cbdd671d15a6e60bebc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CChristian-R-Haugland=E2=80=9D?= Date: Thu, 23 May 2024 14:58:13 +0200 Subject: [PATCH 2/3] Now updates page-param for Resources-admin --- app/components/resource-admin/ResourceSearch.tsx | 10 +++++----- app/components/resource/ResourceSearch.tsx | 8 -------- 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/app/components/resource-admin/ResourceSearch.tsx b/app/components/resource-admin/ResourceSearch.tsx index 94ce76d..bec7d8a 100644 --- a/app/components/resource-admin/ResourceSearch.tsx +++ b/app/components/resource-admin/ResourceSearch.tsx @@ -1,21 +1,21 @@ import {Search} from "@navikt/ds-react"; import React, {useState} from "react"; -import {Form, useSubmit} from "@remix-run/react"; +import {Form, useSearchParams, useSubmit} from "@remix-run/react"; +import {filterResetPageParam} from "~/components/common/CommonFunctions"; export const ResourceSearch = () => { const submit = useSubmit(); const [searchString, setSearchString] = useState("") + const [searchParams, setSearchParams] = useSearchParams() - const handleSearch = () => { - } - + const pageParam = searchParams.get("page") return ( { submit({search: searchString}, {method: "GET", action: "/resource-admin"}) event.preventDefault() - handleSearch() + filterResetPageParam(pageParam, setSearchParams) }}> { const pageParam = searchParams.get("page") - const handleSearch = (event: React.FormEvent) => { - setSearchParams(searchParams => { - searchString ? searchParams.set("search", searchString) : searchParams.delete("search") - return searchParams - }) - event.preventDefault() // Prevent refresh of page - } - return ( { From 4d4f26bf8021e9b9209e44e5b483a3f306831213 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9CChristian-R-Haugland=E2=80=9D?= Date: Thu, 23 May 2024 14:58:31 +0200 Subject: [PATCH 3/3] fix unused param --- app/components/resource-admin/ResourceSearch.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/resource-admin/ResourceSearch.tsx b/app/components/resource-admin/ResourceSearch.tsx index bec7d8a..18633e4 100644 --- a/app/components/resource-admin/ResourceSearch.tsx +++ b/app/components/resource-admin/ResourceSearch.tsx @@ -22,7 +22,7 @@ export const ResourceSearch = () => { label="Søk etter ressurs" variant="secondary" onChange={event => setSearchString(event)} - onClear={event => { + onClear={() => { submit({search: ""}, {method: "GET", action: "/resource-admin"}) }} />