fix: table resizing in mcp tool setting (#8057)

- remove sticky headers
- add missing i18n keys
This commit is contained in:
one 2025-07-13 23:02:13 +08:00 committed by GitHub
parent 53600175b9
commit 6952bea6e1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 32 additions and 25 deletions

View File

@ -1887,6 +1887,7 @@
"tools": { "tools": {
"availableTools": "Available Tools", "availableTools": "Available Tools",
"inputSchema": "Input Schema", "inputSchema": "Input Schema",
"inputSchema.enum.allowedValues": "Allowed Values",
"loadError": "Get tools Error", "loadError": "Get tools Error",
"noToolsAvailable": "No tools available", "noToolsAvailable": "No tools available",
"enable": "Enable Tool", "enable": "Enable Tool",

View File

@ -1887,6 +1887,7 @@
"tools": { "tools": {
"availableTools": "利用可能なツール", "availableTools": "利用可能なツール",
"inputSchema": "入力スキーマ", "inputSchema": "入力スキーマ",
"inputSchema.enum.allowedValues": "許可された値",
"loadError": "ツール取得エラー", "loadError": "ツール取得エラー",
"noToolsAvailable": "利用可能なツールなし", "noToolsAvailable": "利用可能なツールなし",
"enable": "ツールを有効にする", "enable": "ツールを有効にする",

View File

@ -1887,6 +1887,7 @@
"tools": { "tools": {
"availableTools": "Доступные инструменты", "availableTools": "Доступные инструменты",
"inputSchema": "Схема ввода", "inputSchema": "Схема ввода",
"inputSchema.enum.allowedValues": "Допустимые значения",
"loadError": "Ошибка получения инструментов", "loadError": "Ошибка получения инструментов",
"noToolsAvailable": "Нет доступных инструментов", "noToolsAvailable": "Нет доступных инструментов",
"enable": "Включить инструмент", "enable": "Включить инструмент",

View File

@ -1887,6 +1887,7 @@
"tools": { "tools": {
"availableTools": "可用工具", "availableTools": "可用工具",
"inputSchema": "输入模式", "inputSchema": "输入模式",
"inputSchema.enum.allowedValues": "允许的值",
"loadError": "获取工具失败", "loadError": "获取工具失败",
"noToolsAvailable": "无可用工具", "noToolsAvailable": "无可用工具",
"enable": "启用工具", "enable": "启用工具",

View File

@ -1887,6 +1887,7 @@
"tools": { "tools": {
"availableTools": "可用工具", "availableTools": "可用工具",
"inputSchema": "輸入模式", "inputSchema": "輸入模式",
"inputSchema.enum.allowedValues": "允許的值",
"loadError": "獲取工具失敗", "loadError": "獲取工具失敗",
"noToolsAvailable": "無可用工具", "noToolsAvailable": "無可用工具",
"enable": "啟用工具", "enable": "啟用工具",
@ -2448,4 +2449,4 @@
"visualization": "視覺化" "visualization": "視覺化"
} }
} }
} }

View File

@ -84,7 +84,9 @@ const MCPToolsSection = ({ tools, server, onToggleTool, onToggleAutoApprove }: M
)} )}
{prop.enum && ( {prop.enum && (
<div style={{ marginTop: 4 }}> <div style={{ marginTop: 4 }}>
<Typography.Text type="secondary">Allowed values: </Typography.Text> <Typography.Text type="secondary">
{t('settings.mcp.tools.inputSchema.enum.allowedValues')}
</Typography.Text>
<div style={{ display: 'flex', flexWrap: 'wrap', gap: 4, marginTop: 4 }}> <div style={{ display: 'flex', flexWrap: 'wrap', gap: 4, marginTop: 4 }}>
{prop.enum.map((value: string, idx: number) => ( {prop.enum.map((value: string, idx: number) => (
<Tag key={idx}>{value}</Tag> <Tag key={idx}>{value}</Tag>
@ -111,17 +113,22 @@ const MCPToolsSection = ({ tools, server, onToggleTool, onToggleAutoApprove }: M
onFilter: (value, record) => record.name === value, onFilter: (value, record) => record.name === value,
filterSearch: true, filterSearch: true,
render: (_, tool) => ( render: (_, tool) => (
<Flex vertical align="flex-start"> <Flex vertical align="flex-start" gap={4}>
<Flex align="center" gap={4} style={{ width: '100%' }}> <Flex align="center" gap={4}>
<Typography.Text strong>{tool.name}</Typography.Text> <Typography.Text strong ellipsis={{ tooltip: tool.name }}>
{tool.name}
</Typography.Text>
<Tooltip title={`ID: ${tool.id}`} mouseEnterDelay={0}> <Tooltip title={`ID: ${tool.id}`} mouseEnterDelay={0}>
<Info size={14} /> <Info size={14} />
</Tooltip> </Tooltip>
</Flex> </Flex>
{tool.description && ( {tool.description && (
<Typography.Text type="secondary" style={{ fontSize: '13px', marginTop: 4 }}> <Typography.Paragraph
{tool.description.length > 100 ? `${tool.description.substring(0, 100)}...` : tool.description} type="secondary"
</Typography.Text> style={{ fontSize: '13px' }}
ellipsis={{ rows: 1, expandable: true }}>
{tool.description}
</Typography.Paragraph>
)} )}
</Flex> </Flex>
) )
@ -171,23 +178,18 @@ const MCPToolsSection = ({ tools, server, onToggleTool, onToggleAutoApprove }: M
} }
] ]
return ( return tools.length > 0 ? (
<> <Table
{tools.length > 0 ? ( rowKey="id"
<Table columns={columns}
rowKey="id" dataSource={tools}
columns={columns} pagination={false}
dataSource={tools} expandable={{
pagination={false} expandedRowRender: (tool) => renderToolProperties(tool)
sticky={{ offsetHeader: -55 }} }}
expandable={{ />
expandedRowRender: (tool) => renderToolProperties(tool) ) : (
}} <Empty description={t('settings.mcp.tools.noToolsAvailable')} image={Empty.PRESENTED_IMAGE_SIMPLE} />
/>
) : (
<Empty description={t('settings.mcp.tools.noToolsAvailable')} image={Empty.PRESENTED_IMAGE_SIMPLE} />
)}
</>
) )
} }