This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new cb1a7028c7 [INLONG-10844][Dashboard] Resource details page sort
information interface switch (#10849)
cb1a7028c7 is described below
commit cb1a7028c786ef9943a66af5e9839ff01daf05e0
Author: kamianlaida <[email protected]>
AuthorDate: Wed Aug 21 18:12:56 2024 +0800
[INLONG-10844][Dashboard] Resource details page sort information interface
switch (#10849)
---
.../ui/pages/GroupDetail/ResourceInfo/index.tsx | 102 +++++++++++----------
1 file changed, 55 insertions(+), 47 deletions(-)
diff --git a/inlong-dashboard/src/ui/pages/GroupDetail/ResourceInfo/index.tsx
b/inlong-dashboard/src/ui/pages/GroupDetail/ResourceInfo/index.tsx
index 83d69dd788..57fb9a0fc8 100644
--- a/inlong-dashboard/src/ui/pages/GroupDetail/ResourceInfo/index.tsx
+++ b/inlong-dashboard/src/ui/pages/GroupDetail/ResourceInfo/index.tsx
@@ -37,6 +37,13 @@ const Comp = ({ inlongGroupId, isCreate }: Props, ref) => {
return !!inlongGroupId;
}, [inlongGroupId]);
+ const [sortOption, setSortOption] = useState({
+ inlongGroupId: inlongGroupId,
+ inlongStreamId: '',
+ pageSize: 5,
+ pageNum: 1,
+ });
+
const { data, run: getData } = useRequest(`/group/detail/${inlongGroupId}`, {
ready: isUpdate,
refreshDeps: [inlongGroupId],
@@ -45,6 +52,20 @@ const Comp = ({ inlongGroupId, isCreate }: Props, ref) => {
}),
});
+ const { data: sortData, run: getSortData } = useRequest(
+ {
+ url: '/sink/listDetail',
+ method: 'post',
+ data: sortOption,
+ },
+ {
+ refreshDeps: [sortOption],
+ formatResult: data => ({
+ ...data,
+ }),
+ },
+ );
+
useEffect(() => {
getData();
}, [getData]);
@@ -82,7 +103,6 @@ const Comp = ({ inlongGroupId, isCreate }: Props, ref) => {
for (const item in data) {
if (
data[item] !== null &&
- item !== 'SortInfo' &&
item !== 'PULSAR' &&
item !== 'TUBEMQ' &&
item !== 'inlongClusterTag'
@@ -92,31 +112,24 @@ const Comp = ({ inlongGroupId, isCreate }: Props, ref) => {
}
return info;
};
-
- const [current, setCurrent] = useState(1);
- const [options, setOptions] = useState({
- streamId: '',
- });
+ const onChange = ({ current: pageNum, pageSize }) => {
+ setSortOption(pre => ({ ...pre, pageNum: pageNum, pageSize: pageSize }));
+ };
const pagination = {
pageSize: 5,
- current: current,
- total:
- options.streamId !== ''
- ? data?.SortInfo.filter(item =>
item.inlongStreamId.includes(options.streamId)).length
- : data?.SortInfo?.length,
- };
- const onChange = ({ current: pageNum, pageSize }) => {
- setCurrent(pageNum);
+ current: sortOption.pageNum,
+ total: sortData?.total,
};
const onFilter = allValues => {
- setOptions({
- streamId: allValues.streamId,
- });
+ setSortOption(pre => ({
+ ...pre,
+ inlongStreamId: allValues.streamId,
+ }));
};
- const content = defaultValues => [
+ const content = () => [
{
type: 'inputsearch',
label: 'Stream Id',
@@ -192,35 +205,30 @@ const Comp = ({ inlongGroupId, isCreate }: Props, ref) =>
{
></Table>
</>
)}
- {data?.hasOwnProperty('SortInfo') && (
- <>
- <Divider orientation="left" style={{ marginTop: 60 }}>
- Sort {t('pages.GroupDetail.Resource.Info')}
- </Divider>
- <HighTable
- filterForm={{
- content: content(options),
- onFilter,
- }}
- table={{
- columns: [
- { title: 'inlongStreamId', dataIndex: 'inlongStreamId' },
- { title: 'dataflowId', dataIndex: 'id' },
- { title: 'sinkName', dataIndex: 'sinkName' },
- { title: 'topoName', dataIndex: 'inlongClusterName' },
- ],
- style: { marginTop: 20 },
- dataSource:
- options.streamId !== ''
- ? data?.SortInfo.filter(item =>
item.inlongStreamId.includes(options.streamId))
- : data?.SortInfo,
- pagination,
- rowKey: 'name',
- onChange,
- }}
- />
- </>
- )}
+ <>
+ <Divider orientation="left" style={{ marginTop: 60 }}>
+ Sort {t('pages.GroupDetail.Resource.Info')}
+ </Divider>
+ <HighTable
+ filterForm={{
+ content: content(),
+ onFilter,
+ }}
+ table={{
+ columns: [
+ { title: 'inlongStreamId', dataIndex: 'inlongStreamId' },
+ { title: 'dataflowId', dataIndex: 'id' },
+ { title: 'sinkName', dataIndex: 'sinkName' },
+ { title: 'topoName', dataIndex: 'inlongClusterName' },
+ ],
+ style: { marginTop: 20 },
+ dataSource: sortData?.list,
+ pagination,
+ rowKey: 'name',
+ onChange,
+ }}
+ />
+ </>
</div>
);
};