import React, { useMemo, useState } from "react";
|
import {
|
List,
|
DatagridConfigurable,
|
SearchInput,
|
TopToolbar,
|
SelectColumnsButton,
|
EditButton,
|
FilterButton,
|
TextField,
|
FunctionField,
|
SelectInput,
|
WrapperField,
|
DeleteButton,
|
useTranslate,
|
} from 'react-admin';
|
import { Box } from '@mui/material';
|
import { styled } from '@mui/material/styles';
|
import HttpAuditSysConfigCreate from "./HttpAuditSysConfigCreate";
|
import EmptyData from "@/page/components/EmptyData";
|
import MyCreateButton from "@/page/components/MyCreateButton";
|
import { OPERATE_MODE, DEFAULT_PAGE_SIZE } from '@/config/setting';
|
|
const StyledDatagrid = styled(DatagridConfigurable)(() => ({
|
'& .RaDatagrid-row': { cursor: 'auto' },
|
'& .opt': { width: 140 },
|
}));
|
|
const HttpAuditSysConfigList = () => {
|
const [createDialog, setCreateDialog] = useState(false);
|
const translate = useTranslate();
|
|
const filters = useMemo(() => [
|
<SearchInput source="condition" alwaysOn />,
|
<SelectInput
|
source="enabled"
|
label="table.field.httpAuditSysConfig.enabled"
|
choices={[
|
{ id: 1, name: translate('table.field.httpAuditSysConfig.enabledOn') },
|
{ id: 0, name: translate('table.field.httpAuditSysConfig.enabledOff') },
|
]}
|
/>,
|
], [translate]);
|
|
return (
|
<Box display="flex">
|
<List
|
title="menu.httpAuditSysConfig"
|
empty={<EmptyData onClick={() => setCreateDialog(true)} />}
|
filters={filters}
|
sort={{ field: "sortOrder", order: "asc" }}
|
actions={(
|
<TopToolbar>
|
<FilterButton />
|
<MyCreateButton onClick={() => setCreateDialog(true)} />
|
<SelectColumnsButton preferenceKey="httpAuditSysConfig" />
|
</TopToolbar>
|
)}
|
perPage={DEFAULT_PAGE_SIZE}
|
>
|
<StyledDatagrid
|
preferenceKey="httpAuditSysConfig"
|
bulkActionButtons={() => <DeleteButton mutationMode={OPERATE_MODE} />}
|
rowClick={false}
|
>
|
<TextField source="id" label="common.field.id" />
|
<TextField source="configKey" label="table.field.httpAuditSysConfig.configKey" />
|
<TextField source="configVal" label="table.field.httpAuditSysConfig.configVal" />
|
<FunctionField
|
source="enabled"
|
label="table.field.httpAuditSysConfig.enabled"
|
render={(r) => (r.enabled === 1
|
? translate('table.field.httpAuditSysConfig.enabledOn')
|
: translate('table.field.httpAuditSysConfig.enabledOff'))}
|
/>
|
<TextField source="sortOrder" label="table.field.httpAuditSysConfig.sortOrder" />
|
<TextField source="remark" label="table.field.httpAuditSysConfig.remark" />
|
<WrapperField cellClassName="opt" label="common.field.opt">
|
<EditButton sx={{ padding: '1px', fontSize: '.75rem' }} />
|
<DeleteButton sx={{ padding: '1px', fontSize: '.75rem' }} mutationMode={OPERATE_MODE} />
|
</WrapperField>
|
</StyledDatagrid>
|
</List>
|
<HttpAuditSysConfigCreate open={createDialog} setOpen={setCreateDialog} />
|
</Box>
|
);
|
};
|
|
export default HttpAuditSysConfigList;
|