import { Collapse, Divider, Spin, Utils } from 'knowdesign'; import * as React from 'react'; import API from '../../api'; import { Link, useParams } from 'react-router-dom'; import InfiniteScroll from 'react-infinite-scroll-component'; import moment from 'moment'; import { timeFormat } from '../../constants/common'; import { DownOutlined } from '@ant-design/icons'; import { renderToolTipValue } from './config'; import RenderEmpty from '@src/components/RenderEmpty'; const { Panel } = Collapse; interface ILog { clusterPhyId: number; createTime: number; operateTime: string; resName: string; resTypeCode: number; resTypeName: string; updateTime: number; } const ChangeLog = () => { const { clusterId } = useParams<{ clusterId: string }>(); const [data, setData] = React.useState([]); const [loading, setLoading] = React.useState(true); const [pagination, setPagination] = React.useState({ pageNo: 0, pageSize: 10, total: 0, }); const getChangeLog = (pageSize = 10) => { const promise = Utils.request(API.getClusterChangeLog(+clusterId), { params: { pageNo: pagination.pageNo + 1, pageSize, }, }); promise.then((res: any) => { setData((cur) => cur.concat(res?.bizData)); setPagination(res?.pagination); }); return promise; }; React.useEffect(() => { getChangeLog(20).then( () => setLoading(false), () => setLoading(false) ); }, []); const getHref = (item: any) => { if (item.resTypeName.toLowerCase().includes('topic')) return `/cluster/${clusterId}/topic/list#topicName=${item.resName}`; if (item.resTypeName.toLowerCase().includes('broker')) return `/cluster/${clusterId}/broker/list#brokerId=${item.resName}`; return ''; }; return ( <>
历史变更记录
{!loading && !data.length ? ( ) : (
} endMessage={ !pagination.total ? ( '' ) : ( 加载完成 共 {pagination.total} 条 ) } scrollableTarget="changelog-scroll-box" > {data.map((item, index) => { return (
{renderToolTipValue(`[${item.resTypeName}] ${item.resName}`, 24)}
{moment(item.updateTime).format(timeFormat)}
} key={`log-${index}`} showArrow={false} >
名称
{getHref(item) ? ( {renderToolTipValue(item.resName, 18)} ) : ( renderToolTipValue(item.resName, 18) )}
时间 {moment(item.updateTime).format(timeFormat)}
内容 {'修改配置'}
类型 {item.resTypeName}
); })}
)}
); }; export default ChangeLog;