Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2872 | Rev 2874 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 2872 Rev 2873
Línea 1... Línea 1...
1
import { useLocation } from 'react-router-dom'
1
import { useSearchParams } from 'react-router-dom'
Línea 2... Línea 2...
2
 
2
 
3
export function useSearchParams() {
3
export function useSearchQuery() {
-
 
4
  const [searchParams, setSearchParams] = useSearchParams()
4
  const { search, pathname } = useLocation()
5
 
5
  const params = new URLSearchParams(search)
6
  const getParam = (key) => searchParams.get(key)
6
 
7
 
7
  const changeParams = (key, value) => {
8
  const setParam = (key, value) => {
8
    value ? params.set(key, value) : params.delete(key)
9
    searchParams.set(key, value)
9
    const newUrl = `${pathname}?${params.toString()}`
-
 
10
    window.history.replaceState(null, '', newUrl)
10
    setSearchParams(searchParams)
Línea 11... Línea 11...
11
  }
11
  }
-
 
12
 
-
 
13
  const deleteParam = (key) => {
-
 
14
    searchParams.delete(key)
Línea -... Línea 15...
-
 
15
    setSearchParams(searchParams)
12
 
16
  }
-
 
17
 
Línea 13... Línea 18...
13
  const getParam = (param = '') => params.get(param) ?? ''
18
  const getAllParams = () => {
-
 
19
    return Object.fromEntries([...searchParams.entries()])
14
 
20
  }
15
  const paramsObj = Object.fromEntries(params.entries())
21
 
16
 
22
  return {
17
  return {
23
    getParam,
18
    setParams: changeParams,
24
    setParam,