diff --git a/web/package-lock.json b/web/package-lock.json index 27034742e..e1b9d21a3 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -66,7 +66,7 @@ "jsencrypt": "^3.3.2", "lexical": "^0.23.1", "lodash": "^4.17.21", - "lucide-react": "^0.542.0", + "lucide-react": "^0.546.0", "mammoth": "^1.7.2", "next-themes": "^0.4.6", "openai-speech-stream-player": "^1.0.8", @@ -25175,9 +25175,9 @@ } }, "node_modules/lucide-react": { - "version": "0.542.0", - "resolved": "https://registry.npmmirror.com/lucide-react/-/lucide-react-0.542.0.tgz", - "integrity": "sha512-w3hD8/SQB7+lzU2r4VdFyzzOzKnUjTZIF/MQJGSSvni7Llewni4vuViRppfRAa2guOsY5k4jZyxw/i9DQHv+dw==", + "version": "0.546.0", + "resolved": "https://registry.npmmirror.com/lucide-react/-/lucide-react-0.546.0.tgz", + "integrity": "sha512-Z94u6fKT43lKeYHiVyvyR8fT7pwCzDu7RyMPpTvh054+xahSgj4HFQ+NmflvzdXsoAjYGdCguGaFKYuvq0ThCQ==", "license": "ISC", "peerDependencies": { "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" diff --git a/web/package.json b/web/package.json index c01465a13..d11824850 100644 --- a/web/package.json +++ b/web/package.json @@ -79,7 +79,7 @@ "jsencrypt": "^3.3.2", "lexical": "^0.23.1", "lodash": "^4.17.21", - "lucide-react": "^0.542.0", + "lucide-react": "^0.546.0", "mammoth": "^1.7.2", "next-themes": "^0.4.6", "openai-speech-stream-player": "^1.0.8", diff --git a/web/src/components/collapse.tsx b/web/src/components/collapse.tsx index e91269b0c..3482929cc 100644 --- a/web/src/components/collapse.tsx +++ b/web/src/components/collapse.tsx @@ -5,7 +5,12 @@ import { } from '@/components/ui/collapsible'; import { cn } from '@/lib/utils'; import { CollapsibleProps } from '@radix-ui/react-collapsible'; -import { ChevronDown, ChevronUp } from 'lucide-react'; +import { + ChevronDown, + ChevronUp, + ListChevronsDownUp, + ListChevronsUpDown, +} from 'lucide-react'; import * as React from 'react'; import { PropsWithChildren, @@ -14,7 +19,6 @@ import { useEffect, useState, } from 'react'; -import { IconFontFill } from './icon-font'; type CollapseProps = Omit & { title?: ReactNode; @@ -54,12 +58,11 @@ export function Collapse({
- + {currentOpen ? ( + + ) : ( + + )}
{ const { llmName, fId } = getLlmNameAndFIdByLlmId(value); return ( -
+
- + )); diff --git a/web/src/components/ui/ragflow-pagination.tsx b/web/src/components/ui/ragflow-pagination.tsx index 1426425d3..eeb1a0736 100644 --- a/web/src/components/ui/ragflow-pagination.tsx +++ b/web/src/components/ui/ragflow-pagination.tsx @@ -135,7 +135,9 @@ export function RAGFlowPagination({ return (
- {t('pagination.total', { total: total })} + + {t('pagination.total', { total: total })} + @@ -150,7 +152,7 @@ export function RAGFlowPagination({ ) : ( { ); }; +export function RAGFlowTooltip({ + children, + tooltip, +}: React.PropsWithChildren & { tooltip: React.ReactNode }) { + return ( + + {children} + {tooltip} + + ); +} + export interface AntToolTipProps { title: React.ReactNode; children: React.ReactNode; diff --git a/web/src/components/xyflow/base-node.tsx b/web/src/components/xyflow/base-node.tsx index accfb4b42..6e0de064a 100644 --- a/web/src/components/xyflow/base-node.tsx +++ b/web/src/components/xyflow/base-node.tsx @@ -12,7 +12,6 @@ export const BaseNode = forwardRef< 'relative rounded bg-card text-card-foreground', className, selected ? 'border-muted-foreground shadow-lg' : '', - 'hover:ring-1', )} tabIndex={0} {...props} diff --git a/web/src/constants/agent.ts b/web/src/constants/agent.ts index f6af4f57c..47e581e70 100644 --- a/web/src/constants/agent.ts +++ b/web/src/constants/agent.ts @@ -116,5 +116,4 @@ export enum Operator { Splitter = 'Splitter', HierarchicalMerger = 'HierarchicalMerger', Extractor = 'Extractor', - Generate = 'Generate', } diff --git a/web/src/hooks/logic-hooks/navigate-hooks.ts b/web/src/hooks/logic-hooks/navigate-hooks.ts index 92f573010..8b61d1559 100644 --- a/web/src/hooks/logic-hooks/navigate-hooks.ts +++ b/web/src/hooks/logic-hooks/navigate-hooks.ts @@ -77,13 +77,6 @@ export const useNavigatePage = () => { [navigate], ); - const navigateToDataflow = useCallback( - (id: string) => () => { - navigate(`${Routes.DataFlow}/${id}`); - }, - [navigate], - ); - const navigateToAgentLogs = useCallback( (id: string) => () => { navigate(`${Routes.AgentLogPage}/${id}`); @@ -185,7 +178,6 @@ export const useNavigatePage = () => { navigateToAgentList, navigateToOldProfile, navigateToDataflowResult, - navigateToDataflow, navigateToDataFile, }; }; diff --git a/web/src/locales/en.ts b/web/src/locales/en.ts index 3d9ee54fe..8cd30196c 100644 --- a/web/src/locales/en.ts +++ b/web/src/locales/en.ts @@ -3,7 +3,7 @@ export default { common: { noResults: 'No results.', selectPlaceholder: 'select value', - selectAll: 'Select All', + selectAll: 'Select all', delete: 'Delete', deleteModalTitle: 'Are you sure to delete this item?', ok: 'Ok', @@ -1747,6 +1747,9 @@ Important structured information may include: names, dates, locations, events, k mcpServers: 'MCP Servers', customizeTheListOfMcpServers: 'Customize the list of MCP servers', cachedTools: 'cached tools', + bulkManage: 'Bulk manage', + exitBulkManage: 'Exit bulk manage', + selected: 'Selected', }, search: { searchApps: 'Search Apps', diff --git a/web/src/locales/zh.ts b/web/src/locales/zh.ts index 537fc8f23..8605246d0 100644 --- a/web/src/locales/zh.ts +++ b/web/src/locales/zh.ts @@ -1634,6 +1634,9 @@ Tokenizer 会根据所选方式将内容存储为对应的数据结构。`, mcpServers: 'MCP 服务器', customizeTheListOfMcpServers: '自定义 MCP 服务器列表', cachedTools: '缓存工具', + selected: '已选择', + bulkManage: '批量管理', + exitBulkManage: '退出批量管理', }, search: { searchApps: '搜索', diff --git a/web/src/pages/agent/canvas/edge/index.tsx b/web/src/pages/agent/canvas/edge/index.tsx index 5b66e5be8..f1a714d5b 100644 --- a/web/src/pages/agent/canvas/edge/index.tsx +++ b/web/src/pages/agent/canvas/edge/index.tsx @@ -10,6 +10,7 @@ import useGraphStore from '../../store'; import { useFetchAgent } from '@/hooks/use-agent-request'; import { cn } from '@/lib/utils'; +import { isEmpty } from 'lodash'; import { useMemo } from 'react'; import { NodeHandleId, Operator } from '../../constant'; @@ -91,11 +92,14 @@ function InnerButtonEdge({ ); }, [data?.isHovered, isTargetPlaceholder, sourceHandleId, target]); + const activeMarkerEnd = + selected || !isEmpty(showHighlight) ? 'url(#selected-marker)' : markerEnd; + return ( <> + + +