import React, { useState } from 'react';
import { Table, Space, Button, ConfigProvider, Tooltip, Modal, Form, Input } from 'antd';
import Styles from './web.pc.module.less';
import { CopyOutlined, DeleteOutlined, EditOutlined, ExclamationCircleFilled, EyeOutlined } from '@ant-design/icons';
import { generateNewId } from 'oak-domain/lib/utils/uuid';
import Pagination from 'oak-frontend-base/es/components/pagination';
const { confirm } = Modal;
export default function Render(props) {
const { data, methods } = props;
const { articleMenus, oakFullpath, oakPagination, oakLoading, oakExecuting, oakEntity, entity, entityId, origin = 'qiniu', onMenuClick, empty, execuable } = data;
const { t, goDetail, onCopy } = props.methods;
const [editorId, setEditorId] = useState('');
const IconButton = (props) => {
const { icon, onClick, disabled, tooltip, style, linkHoverBg = 'var(--oak-bg-color-container-hover)' } = props;
const Btn = ();
return (
{tooltip ? {Btn} : Btn}
);
};
const menuAttr = [
{
title: (articleMenus && articleMenus.length > 0) ? t('name') : t('menu or article'),
key: 'name',
dataIndex: 'name',
width: 600,
ellipsis: true,
render: (_, record) => {
return (
{
onMenuClick(record.id, record.name, record.isArticle);
}}>{record.name}
);
}
},
{
title: t('articleMenu:attr.latestAt'),
key: 'latestAt',
dataIndex: 'latestAtStr',
// width: 180,
ellipsis: true,
},
{
title: t('common::operate'),
key: 'operate',
fixed: 'right',
render: (_, record) => {
return (
} onClick={() => {
setEditorId(record.id);
}}>
} onClick={() => {
goDetail(record.id);
}}>
} onClick={(e) => {
e.stopPropagation();
onCopy(record.id);
}}>
} onClick={() => showRemoveConfirm(record.id, record.name)}>
);
},
}
];
const showRemoveConfirm = (menuId, menuName) => {
confirm({
title: t('removeConfirm.title', { name: menuName }),
icon: ,
content: {t('removeConfirm.content')}
,
async onOk() {
try {
await methods.execute(undefined, {
type: 'success',
content: t('success.remove')
}, undefined, [
{
entity: 'articleMenu',
operation: {
id: generateNewId(),
action: 'remove',
data: {},
filter: {
id: menuId,
},
},
},
]);
}
catch (err) {
methods.setMessage({
type: 'error',
content: t('fail.remove') + err?.message
});
}
},
okButtonProps: {
danger: true,
},
okText: t('common::action.confirm'),
cancelText: t('common::action.cancel')
});
};
return (<>