mirror of
https://github.com/portainer/portainer.git
synced 2025-07-19 13:29:41 +02:00
Some checks are pending
ci / build_images (map[arch:amd64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
ci / build_images (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
ci / build_images (map[arch:arm platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:arm64 platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:ppc64le platform:linux version:]) (push) Waiting to run
ci / build_images (map[arch:s390x platform:linux version:]) (push) Waiting to run
ci / build_manifests (push) Blocked by required conditions
/ triage (push) Waiting to run
Lint / Run linters (push) Waiting to run
Test / test-client (push) Waiting to run
Test / test-server (map[arch:amd64 platform:linux]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:1809]) (push) Waiting to run
Test / test-server (map[arch:amd64 platform:windows version:ltsc2022]) (push) Waiting to run
Test / test-server (map[arch:arm64 platform:linux]) (push) Waiting to run
50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
import { Row, Table as TableInstance } from '@tanstack/react-table';
|
|
|
|
import { AutomationTestingProps } from '@/types';
|
|
|
|
import { Table } from './Table';
|
|
import { DefaultType } from './types';
|
|
|
|
interface Props<D extends DefaultType> extends AutomationTestingProps {
|
|
tableInstance: TableInstance<D>;
|
|
renderRow(row: Row<D>): React.ReactNode;
|
|
onSortChange?(colId: string, desc: boolean): void;
|
|
isLoading?: boolean;
|
|
emptyContentLabel?: string;
|
|
'aria-label'?: string;
|
|
}
|
|
|
|
export function DatatableContent<D extends DefaultType>({
|
|
tableInstance,
|
|
renderRow,
|
|
onSortChange,
|
|
isLoading,
|
|
emptyContentLabel,
|
|
'data-cy': dataCy,
|
|
'aria-label': ariaLabel,
|
|
}: Props<D>) {
|
|
const headerGroups = tableInstance.getHeaderGroups();
|
|
const pageRowModel = tableInstance.getPaginationRowModel();
|
|
|
|
return (
|
|
<Table data-cy={dataCy} className="nowrap-cells" aria-label={ariaLabel}>
|
|
<thead>
|
|
{headerGroups.map((headerGroup) => (
|
|
<Table.HeaderRow<D>
|
|
key={headerGroup.id}
|
|
headers={headerGroup.headers}
|
|
onSortChange={onSortChange}
|
|
/>
|
|
))}
|
|
</thead>
|
|
<tbody>
|
|
<Table.Content<D>
|
|
rows={pageRowModel.rows}
|
|
isLoading={isLoading}
|
|
emptyContent={emptyContentLabel}
|
|
renderRow={renderRow}
|
|
/>
|
|
</tbody>
|
|
</Table>
|
|
);
|
|
}
|