diff --git a/ui/src/pages/accesses/AccessList.tsx b/ui/src/pages/accesses/AccessList.tsx index 3b098fb3..3a3af7ba 100644 --- a/ui/src/pages/accesses/AccessList.tsx +++ b/ui/src/pages/accesses/AccessList.tsx @@ -1,9 +1,9 @@ import { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { useNavigate, useSearchParams } from "react-router-dom"; -import { IconCirclePlus, IconCopy, IconEdit, IconFingerprint, IconPlus, IconReload, IconTrash } from "@tabler/icons-react"; +import { IconCirclePlus, IconCopy, IconDotsVertical, IconFingerprint, IconPlus, IconReload, IconTrash } from "@tabler/icons-react"; import { useRequest } from "ahooks"; -import { App, Avatar, Button, Input, Skeleton, Table, type TableProps, Tabs, Tooltip, Typography } from "antd"; +import { App, Avatar, Button, Dropdown, Input, Skeleton, Table, type TableProps, Tabs, Typography } from "antd"; import dayjs from "dayjs"; import { ClientResponseError } from "pocketbase"; @@ -77,42 +77,51 @@ const AccessList = () => { key: "$action", align: "end", fixed: "right", - width: 120, + width: 64, render: (_, record) => ( -
- -
), }, diff --git a/ui/src/pages/certificates/CertificateList.tsx b/ui/src/pages/certificates/CertificateList.tsx index c4405892..798bc7d3 100644 --- a/ui/src/pages/certificates/CertificateList.tsx +++ b/ui/src/pages/certificates/CertificateList.tsx @@ -1,9 +1,9 @@ import { useState } from "react"; import { useTranslation } from "react-i18next"; import { useNavigate, useSearchParams } from "react-router-dom"; -import { IconBrowserShare, IconCertificate, IconExternalLink, IconReload, IconTrash } from "@tabler/icons-react"; +import { IconCertificate, IconDotsVertical, IconExternalLink, IconReload, IconTrash } from "@tabler/icons-react"; import { useRequest } from "ahooks"; -import { App, Button, Input, Segmented, Skeleton, Table, type TableProps, Tooltip, Typography } from "antd"; +import { App, Button, Dropdown, Input, Segmented, Skeleton, Table, type TableProps, Typography } from "antd"; import dayjs from "dayjs"; import { ClientResponseError } from "pocketbase"; @@ -136,31 +136,36 @@ const CertificateList = () => { key: "$action", align: "end", fixed: "right", - width: 120, + width: 64, render: (_, record) => ( -
- -
), }, diff --git a/ui/src/pages/dashboard/Dashboard.tsx b/ui/src/pages/dashboard/Dashboard.tsx index 85773609..f08f9948 100644 --- a/ui/src/pages/dashboard/Dashboard.tsx +++ b/ui/src/pages/dashboard/Dashboard.tsx @@ -3,7 +3,6 @@ import { useTranslation } from "react-i18next"; import { useNavigate } from "react-router-dom"; import { IconActivity, - IconBrowserShare, IconHierarchy3, IconPlugConnected, IconPlus, @@ -255,16 +254,6 @@ const WorkflowRunHistoryTable = () => { return <>; }, }, - { - key: "$action", - align: "end", - width: 120, - render: (_, record) => ( -
- } variant="text" />} /> -
- ), - }, ]; const [tableData, setTableData] = useState([]); const { loading: tableLoading } = useRequest( @@ -292,19 +281,37 @@ const WorkflowRunHistoryTable = () => { } ); + const [detailRecord, setDetailRecord] = useState(); + const [detailOpen, setDetailOpen] = useState(false); + + const handleRecordDetailClick = (workflowRun: WorkflowRunModel) => { + setDetailRecord(workflowRun); + setDetailOpen(true); + }; + return ( - - columns={tableColumns} - dataSource={tableData} - loading={tableLoading} - locale={{ - emptyText: , - }} - pagination={false} - rowKey={(record) => record.id} - scroll={{ x: "max(100%, 720px)" }} - size="small" - /> + <> + + columns={tableColumns} + dataSource={tableData} + loading={tableLoading} + locale={{ + emptyText: , + }} + pagination={false} + rowClassName="cursor-pointer" + rowKey={(record) => record.id} + scroll={{ x: "max(100%, 720px)" }} + size="small" + onRow={(record) => ({ + onClick: () => { + handleRecordDetailClick(record); + }, + })} + /> + + + ); }; diff --git a/ui/src/pages/workflows/WorkflowList.tsx b/ui/src/pages/workflows/WorkflowList.tsx index a41c6953..60c7d4fc 100644 --- a/ui/src/pages/workflows/WorkflowList.tsx +++ b/ui/src/pages/workflows/WorkflowList.tsx @@ -1,9 +1,9 @@ import { useState } from "react"; import { useTranslation } from "react-i18next"; import { useNavigate, useSearchParams } from "react-router-dom"; -import { IconCirclePlus, IconCopy, IconEdit, IconHierarchy3, IconPlus, IconReload, IconTrash } from "@tabler/icons-react"; +import { IconCirclePlus, IconCopy, IconDotsVertical, IconHierarchy3, IconPlus, IconReload, IconTrash } from "@tabler/icons-react"; import { useRequest } from "ahooks"; -import { App, Button, Flex, Input, Segmented, Skeleton, Switch, Table, type TableProps, Tooltip, Typography } from "antd"; +import { App, Button, Dropdown, Flex, Input, Segmented, Skeleton, Switch, Table, type TableProps, Typography } from "antd"; import dayjs from "dayjs"; import { ClientResponseError } from "pocketbase"; @@ -123,43 +123,51 @@ const WorkflowList = () => { key: "$action", align: "end", fixed: "right", - width: 120, + width: 64, render: (_, record) => ( -
- -
), },