PHP 8.2.30
Preview: list.js Size: 2.52 KB
//proc/thread-self/root/home/byroehnu/.trash/node_modules11/adminjs/lib/frontend/components/actions/list.js

import { Box, Pagination, Text } from '@adminjs/design-system';
import React, { useEffect } from 'react';
import { useLocation } from 'react-router';
import allowOverride from '../../hoc/allow-override.js';
import { useQueryParams } from '../../hooks/use-query-params.js';
import useRecords from '../../hooks/use-records/use-records.js';
import useSelectedRecords from '../../hooks/use-selected-records/use-selected-records.js';
import { getActionElementCss } from '../../utils/index.js';
import RecordsTable from '../app/records-table/records-table.js';
import { REFRESH_KEY } from './utils/append-force-refresh.js';
const List = ({
  resource,
  setTag
}) => {
  const {
    records,
    loading,
    direction,
    sortBy,
    page,
    total,
    fetchData,
    perPage
  } = useRecords(resource.id);
  const {
    selectedRecords,
    handleSelect,
    handleSelectAll,
    setSelectedRecords
  } = useSelectedRecords(records);
  const location = useLocation();
  const {
    storeParams
  } = useQueryParams();
  useEffect(() => {
    if (setTag) {
      setTag(total.toString());
    }
  }, [total]);
  useEffect(() => {
    setSelectedRecords([]);
  }, [resource.id]);
  useEffect(() => {
    const search = new URLSearchParams(location.search);
    if (search.get(REFRESH_KEY)) {
      setSelectedRecords([]);
    } else {
      const recordIds = search.get('recordIds')?.split?.(',') ?? [];
      setSelectedRecords(records.filter(r => recordIds.includes(r.id.toString())));
    }
  }, [location.search, records]);
  const handleActionPerformed = () => fetchData();
  const handlePaginationChange = pageNumber => {
    storeParams({
      page: pageNumber.toString()
    });
  };
  const contentTag = getActionElementCss(resource.id, 'list', 'table-wrapper');
  return /*#__PURE__*/React.createElement(Box, {
    variant: "container",
    "data-css": contentTag
  }, /*#__PURE__*/React.createElement(RecordsTable, {
    resource: resource,
    records: records,
    actionPerformed: handleActionPerformed,
    onSelect: handleSelect,
    onSelectAll: handleSelectAll,
    selectedRecords: selectedRecords,
    direction: direction,
    sortBy: sortBy,
    isLoading: loading
  }), /*#__PURE__*/React.createElement(Text, {
    mt: "xl",
    textAlign: "center"
  }, /*#__PURE__*/React.createElement(Pagination, {
    page: page,
    perPage: perPage,
    total: total,
    onChange: handlePaginationChange
  })));
};
const OverridableList = allowOverride(List, 'DefaultListAction');
export { OverridableList as default, OverridableList as List, List as OriginalList };

Directory Contents

Dirs: 1 × Files: 7

Name Size Perms Modified Actions
utils DIR
- drwxr-xr-x 2026-02-28 00:31:44
Edit Download
10 B lrw-r--r-- 2026-02-28 00:29:06
Edit Download
4.33 KB lrw-r--r-- 2026-02-28 00:31:24
Edit Download
3.39 KB lrw-r--r-- 2026-02-28 00:31:28
Edit Download
497 B lrw-r--r-- 2026-02-28 00:31:42
Edit Download
2.52 KB lrw-r--r-- 2026-02-28 00:31:44
Edit Download
4.73 KB lrw-r--r-- 2026-02-28 00:31:48
Edit Download
1.83 KB lrw-r--r-- 2026-02-28 00:31:48
Edit Download

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