Files
WhiteNightsAdminPanel/src/pages/article/list.tsx
2025-02-19 15:34:43 +03:00

67 lines
1.6 KiB
TypeScript

import {DataGrid, type GridColDef} from '@mui/x-data-grid'
import {DeleteButton, EditButton, List, ShowButton, useDataGrid} from '@refinedev/mui'
import React from 'react'
export const ArticleList = () => {
const {dataGridProps} = useDataGrid({
resource: 'article/',
})
const columns = React.useMemo<GridColDef[]>(
() => [
{
field: 'id',
headerName: 'ID',
type: 'number',
minWidth: 70,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'heading',
headerName: 'Заголовок',
type: 'string',
minWidth: 300,
display: 'flex',
align: 'left',
headerAlign: 'left',
},
{
field: 'body',
headerName: 'Контент',
type: 'string',
display: 'flex',
align: 'left',
headerAlign: 'left',
flex: 1,
},
{
field: 'actions',
headerName: 'Действия',
align: 'right',
headerAlign: 'center',
minWidth: 120,
sortable: false,
display: 'flex',
renderCell: function render({row}) {
return (
<>
<EditButton hideText recordItemId={row.id} />
<ShowButton hideText recordItemId={row.id} />
<DeleteButton hideText recordItemId={row.id} />
</>
)
},
},
],
[],
)
return (
<List>
<DataGrid {...dataGridProps} columns={columns} getRowId={(row: any) => row.id} />
</List>
)
}