Files
fredy/ui/src/components/table/NotificationAdapterTable.jsx

44 lines
1.3 KiB
React
Raw Normal View History

2025-12-11 10:40:55 +01:00
/*
* Copyright (c) 2026 by Christian Kellner.
2025-12-11 10:40:55 +01:00
* Licensed under Apache-2.0 with Commons Clause and Attribution/Naming Clause
*/
import { Empty, Table, Button } from '@douyinfe/semi-ui-19';
2023-03-20 08:52:13 +01:00
import { IconDelete, IconEdit } from '@douyinfe/semi-icons';
2026-06-04 10:35:42 +02:00
import { useTranslation } from '../../services/i18n/i18n.jsx';
2023-03-20 08:52:13 +01:00
export default function NotificationAdapterTable({ notificationAdapter = [], onRemove, onEdit } = {}) {
2026-06-04 10:35:42 +02:00
const t = useTranslation();
return (
2023-03-20 08:52:13 +01:00
<Table
pagination={false}
2026-06-04 10:35:42 +02:00
empty={<Empty description={t('notification.tableEmptyState')} />}
2023-03-20 08:52:13 +01:00
columns={[
{
2026-06-04 10:35:42 +02:00
title: t('notification.tableColumnName'),
2023-03-20 08:52:13 +01:00
dataIndex: 'name',
},
2023-03-20 08:52:13 +01:00
{
title: '',
dataIndex: 'tools',
render: (_, record) => {
return (
<div style={{ float: 'right' }}>
2023-03-20 08:52:13 +01:00
<Button
type="secondary"
icon={<IconEdit />}
onClick={() => onEdit(record.id)}
style={{ marginRight: '1rem' }}
/>
<Button type="danger" icon={<IconDelete />} onClick={() => onRemove(record.id)} />
</div>
2023-03-20 08:52:13 +01:00
);
},
},
]}
dataSource={notificationAdapter}
/>
);
}