mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-05 20:41:30 +08:00
fix: table resizing in mcp tool setting (#8057)
- remove sticky headers - add missing i18n keys
This commit is contained in:
parent
53600175b9
commit
6952bea6e1
@ -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",
|
||||||
|
|||||||
@ -1887,6 +1887,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"availableTools": "利用可能なツール",
|
"availableTools": "利用可能なツール",
|
||||||
"inputSchema": "入力スキーマ",
|
"inputSchema": "入力スキーマ",
|
||||||
|
"inputSchema.enum.allowedValues": "許可された値",
|
||||||
"loadError": "ツール取得エラー",
|
"loadError": "ツール取得エラー",
|
||||||
"noToolsAvailable": "利用可能なツールなし",
|
"noToolsAvailable": "利用可能なツールなし",
|
||||||
"enable": "ツールを有効にする",
|
"enable": "ツールを有効にする",
|
||||||
|
|||||||
@ -1887,6 +1887,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"availableTools": "Доступные инструменты",
|
"availableTools": "Доступные инструменты",
|
||||||
"inputSchema": "Схема ввода",
|
"inputSchema": "Схема ввода",
|
||||||
|
"inputSchema.enum.allowedValues": "Допустимые значения",
|
||||||
"loadError": "Ошибка получения инструментов",
|
"loadError": "Ошибка получения инструментов",
|
||||||
"noToolsAvailable": "Нет доступных инструментов",
|
"noToolsAvailable": "Нет доступных инструментов",
|
||||||
"enable": "Включить инструмент",
|
"enable": "Включить инструмент",
|
||||||
|
|||||||
@ -1887,6 +1887,7 @@
|
|||||||
"tools": {
|
"tools": {
|
||||||
"availableTools": "可用工具",
|
"availableTools": "可用工具",
|
||||||
"inputSchema": "输入模式",
|
"inputSchema": "输入模式",
|
||||||
|
"inputSchema.enum.allowedValues": "允许的值",
|
||||||
"loadError": "获取工具失败",
|
"loadError": "获取工具失败",
|
||||||
"noToolsAvailable": "无可用工具",
|
"noToolsAvailable": "无可用工具",
|
||||||
"enable": "启用工具",
|
"enable": "启用工具",
|
||||||
|
|||||||
@ -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": "視覺化"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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} />
|
|
||||||
)}
|
|
||||||
</>
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user