mirror of
https://github.com/didi/KnowStreaming.git
synced 2025-12-24 03:42:07 +08:00
'[Feature]增加Truncate数据功能(#1043)'
This commit is contained in:
@@ -108,6 +108,7 @@ const api = {
|
|||||||
getTopicState: (clusterPhyId: number, topicName: string) => getApi(`/clusters/${clusterPhyId}/topics/${topicName}/state`),
|
getTopicState: (clusterPhyId: number, topicName: string) => getApi(`/clusters/${clusterPhyId}/topics/${topicName}/state`),
|
||||||
getTopicMetadata: (clusterPhyId: number, topicName: string) =>
|
getTopicMetadata: (clusterPhyId: number, topicName: string) =>
|
||||||
getApi(`/clusters/${clusterPhyId}/topics/${topicName}/metadata-combine-exist`),
|
getApi(`/clusters/${clusterPhyId}/topics/${topicName}/metadata-combine-exist`),
|
||||||
|
deleteTopicData: () => getApi(`/topics/truncate-topic`),
|
||||||
|
|
||||||
// 最新的指标值
|
// 最新的指标值
|
||||||
getMetricPointsLatest: (clusterPhyId: number) => getApi(`/physical-clusters/${clusterPhyId}/latest-metrics`),
|
getMetricPointsLatest: (clusterPhyId: number) => getApi(`/physical-clusters/${clusterPhyId}/latest-metrics`),
|
||||||
|
|||||||
@@ -1,7 +1,22 @@
|
|||||||
/* eslint-disable react/display-name */
|
/* eslint-disable react/display-name */
|
||||||
import React, { useState, useEffect } from 'react';
|
import React, { useState, useEffect } from 'react';
|
||||||
import { useHistory, useParams } from 'react-router-dom';
|
import { useHistory, useParams } from 'react-router-dom';
|
||||||
import { AppContainer, Input, ProTable, Select, Switch, Tooltip, Utils, Dropdown, Menu, Button, Divider, Tag } from 'knowdesign';
|
import {
|
||||||
|
AppContainer,
|
||||||
|
Input,
|
||||||
|
ProTable,
|
||||||
|
Select,
|
||||||
|
Switch,
|
||||||
|
Tooltip,
|
||||||
|
Utils,
|
||||||
|
Dropdown,
|
||||||
|
Menu,
|
||||||
|
Button,
|
||||||
|
Divider,
|
||||||
|
Tag,
|
||||||
|
Popconfirm,
|
||||||
|
notification,
|
||||||
|
} from 'knowdesign';
|
||||||
import { IconFont } from '@knowdesign/icons';
|
import { IconFont } from '@knowdesign/icons';
|
||||||
import Create from './Create';
|
import Create from './Create';
|
||||||
import './index.less';
|
import './index.less';
|
||||||
@@ -85,6 +100,25 @@ const AutoPage = (props: any) => {
|
|||||||
setTopicListLoading(false);
|
setTopicListLoading(false);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
const deleteTopicData = (record: any) => {
|
||||||
|
console.log(record, 'record');
|
||||||
|
const params = {
|
||||||
|
clusterId: Number(routeParams.clusterId),
|
||||||
|
topicName: record.topicName,
|
||||||
|
};
|
||||||
|
Utils.post(Api.deleteTopicData(), params).then((data: any) => {
|
||||||
|
if (data === null) {
|
||||||
|
notification.success({
|
||||||
|
message: '清除数据成功',
|
||||||
|
});
|
||||||
|
getTopicsList();
|
||||||
|
} else {
|
||||||
|
notification.error({
|
||||||
|
message: '清除数据失败',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
getTopicsList();
|
getTopicsList();
|
||||||
}, [sortObj, showInternalTopics, searchKeywords, pageIndex, pageSize]);
|
}, [sortObj, showInternalTopics, searchKeywords, pageIndex, pageSize]);
|
||||||
@@ -247,7 +281,7 @@ const AutoPage = (props: any) => {
|
|||||||
dataIndex: 'desc',
|
dataIndex: 'desc',
|
||||||
key: 'desc',
|
key: 'desc',
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 140,
|
width: 200,
|
||||||
render: (value: any, record: any) => {
|
render: (value: any, record: any) => {
|
||||||
return (
|
return (
|
||||||
<div className="operation-list">
|
<div className="operation-list">
|
||||||
@@ -257,6 +291,19 @@ const AutoPage = (props: any) => {
|
|||||||
<></>
|
<></>
|
||||||
)}
|
)}
|
||||||
{global.hasPermission(ClustersPermissionMap.TOPIC_DEL) ? <Delete record={record} onConfirm={getTopicsList}></Delete> : <></>}
|
{global.hasPermission(ClustersPermissionMap.TOPIC_DEL) ? <Delete record={record} onConfirm={getTopicsList}></Delete> : <></>}
|
||||||
|
{global.hasPermission(ClustersPermissionMap.TOPIC_DEL) ? ( // TODO:替换为清除数据的权限
|
||||||
|
<Popconfirm
|
||||||
|
placement="topRight"
|
||||||
|
title={`是否要清空当前Topic的数据?`}
|
||||||
|
onConfirm={() => deleteTopicData(record)}
|
||||||
|
okText="是"
|
||||||
|
cancelText="否"
|
||||||
|
>
|
||||||
|
<Button type="link">清除数据</Button>
|
||||||
|
</Popconfirm>
|
||||||
|
) : (
|
||||||
|
<></>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user