PHP 8.2.30
Preview: use-query-params.js Size: 2.20 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/adminjs/lib/frontend/hooks/use-query-params.js

/* eslint-disable no-unused-vars */
import pick from 'lodash/pick.js';
import { parse, stringify } from 'qs';
import { useMemo } from 'react';
import { useLocation, useSearchParams } from 'react-router-dom';

// eslint-disable-next-line no-shadow
export let QueryParams = /*#__PURE__*/function (QueryParams) {
  QueryParams["Tab"] = "tab";
  QueryParams["Redirect"] = "redirectUrl";
  QueryParams["Refresh"] = "refresh";
  return QueryParams;
}({});

// eslint-disable-next-line no-shadow
export let QueryListParams = /*#__PURE__*/function (QueryListParams) {
  QueryListParams["Page"] = "page";
  QueryListParams["SortBy"] = "sortBy";
  QueryListParams["Direction"] = "direction";
  QueryListParams["Filters"] = "filters";
  QueryListParams["Query"] = "query";
  return QueryListParams;
}({});
export function useQueryParams() {
  const {
    pathname
  } = useLocation();
  const [searchParams, setSearchParams] = useSearchParams();
  const parsedQuery = useMemo(() => parse(searchParams.toString(), {
    allowDots: true
  }), [searchParams, pathname]);
  const {
    sortBy,
    direction,
    page,
    tab,
    filters,
    redirectUrl
  } = parsedQuery;
  const listParams = useMemo(() => pick(parsedQuery, [QueryListParams.SortBy, QueryListParams.Filters, QueryListParams.Direction, QueryListParams.Page, QueryListParams.Query]), [parsedQuery]);
  function storeParams(params) {
    setSearchParams(stringify({
      sortBy,
      direction,
      page,
      tab,
      filters,
      redirectUrl,
      ...params
    }, {
      allowDots: true
    }));
  }
  function clearParams(...params) {
    const searchParamsKeys = Array.from(searchParams.keys());
    const clearCandidates = params.length ? params : searchParamsKeys;
    for (const param of searchParamsKeys) {
      for (const paramToClear of clearCandidates) {
        if (param.startsWith(paramToClear) && searchParams.get(param)) {
          searchParams.delete(param);
        }
      }
    }
    setSearchParams(searchParams);
  }
  function getParam(param) {
    searchParams.get(param);
  }
  return {
    parsedQuery,
    listParams,
    filters: filters,
    sortBy,
    direction,
    page,
    tab,
    redirectUrl,
    storeParams,
    clearParams,
    getParam
  };
}

Directory Contents

Dirs: 6 × Files: 10

Name Size Perms Modified Actions
- drwxr-xr-x 2026-02-28 00:31:56
Edit Download
- drwxr-xr-x 2026-02-28 00:31:56
Edit Download
- drwxr-xr-x 2026-02-28 00:31:56
Edit Download
- drwxr-xr-x 2026-02-28 00:31:56
Edit Download
- drwxr-xr-x 2026-02-28 00:31:56
Edit Download
- drwxr-xr-x 2026-02-28 00:31:58
Edit Download
563 B lrw-r--r-- 2026-02-28 00:31:44
Edit Download
1.19 KB lrw-r--r-- 2026-02-28 00:31:52
Edit Download
900 B lrw-r--r-- 2026-02-28 00:31:52
Edit Download
1.02 KB lrw-r--r-- 2026-02-28 00:31:52
Edit Download
3.07 KB lrw-r--r-- 2026-02-28 00:31:56
Edit Download
2.19 KB lrw-r--r-- 2026-02-28 00:31:52
Edit Download
2.16 KB lrw-r--r-- 2026-02-28 00:31:52
Edit Download
709 B lrw-r--r-- 2026-02-28 00:31:52
Edit Download
2.20 KB lrw-r--r-- 2026-02-28 00:31:52
Edit Download
1.34 KB lrw-r--r-- 2026-02-28 00:31:52
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).