mirror of
https://github.com/grafana/grafana.git
synced 2025-02-13 00:55:47 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
19 lines
627 B
TypeScript
19 lines
627 B
TypeScript
import { useCallback, useMemo } from 'react';
|
|
import { useLocation } from 'react-router-dom';
|
|
|
|
import { locationService } from '@grafana/runtime';
|
|
|
|
export function useURLSearchParams(): [
|
|
URLSearchParams,
|
|
(searchValues: Record<string, string | string[] | undefined>, replace?: boolean) => void
|
|
] {
|
|
const { search } = useLocation();
|
|
const queryParams = useMemo(() => new URLSearchParams(search), [search]);
|
|
|
|
const update = useCallback((searchValues: Record<string, string | string[] | undefined>, replace?: boolean) => {
|
|
locationService.partial(searchValues, replace);
|
|
}, []);
|
|
|
|
return [queryParams, update];
|
|
}
|