diff --git a/web/src/pages/agent/canvas/node/dropdown/accordion-operators.tsx b/web/src/pages/agent/canvas/node/dropdown/accordion-operators.tsx index 1ab0dde1f..232ab78ff 100644 --- a/web/src/pages/agent/canvas/node/dropdown/accordion-operators.tsx +++ b/web/src/pages/agent/canvas/node/dropdown/accordion-operators.tsx @@ -79,7 +79,7 @@ export function AccordionOperators({ Operator.Code, Operator.StringTransform, Operator.DataOperations, - Operator.VariableAssigner, + // Operator.VariableAssigner, Operator.VariableAggregator, ]} isCustomDropdown={isCustomDropdown} diff --git a/web/src/pages/agent/canvas/node/variable-aggregator-node.tsx b/web/src/pages/agent/canvas/node/variable-aggregator-node.tsx index 1643dc600..697a1784e 100644 --- a/web/src/pages/agent/canvas/node/variable-aggregator-node.tsx +++ b/web/src/pages/agent/canvas/node/variable-aggregator-node.tsx @@ -22,7 +22,7 @@ export function VariableAggregatorNode({ {x.type}
- {x.variables.map((y, index) => ( + {x.variables?.map((y, index) => ( {getLabel(y.value)} diff --git a/web/src/pages/agent/form/components/key-input.tsx b/web/src/pages/agent/form/components/key-input.tsx new file mode 100644 index 000000000..da780f08e --- /dev/null +++ b/web/src/pages/agent/form/components/key-input.tsx @@ -0,0 +1,25 @@ +import { Input } from '@/components/ui/input'; +import { ChangeEvent, useCallback } from 'react'; + +type KeyInputProps = { + value?: string; + onChange?: (value: string) => void; + searchValue?: string | RegExp; +}; + +export function KeyInput({ + value, + onChange, + searchValue = /[^a-zA-Z0-9_]/g, +}: KeyInputProps) { + const handleChange = useCallback( + (e: ChangeEvent) => { + const value = e.target.value ?? ''; + const filteredValue = value.replace(searchValue, ''); + onChange?.(filteredValue); + }, + [onChange, searchValue], + ); + + return ; +} diff --git a/web/src/pages/agent/form/data-operations-form/filter-values.tsx b/web/src/pages/agent/form/data-operations-form/filter-values.tsx index 72a80cb09..ae167e57d 100644 --- a/web/src/pages/agent/form/data-operations-form/filter-values.tsx +++ b/web/src/pages/agent/form/data-operations-form/filter-values.tsx @@ -1,7 +1,6 @@ import { SelectWithSearch } from '@/components/originui/select-with-search'; import { RAGFlowFormItem } from '@/components/ragflow-form'; import { Button } from '@/components/ui/button'; -import { Input } from '@/components/ui/input'; import { Separator } from '@/components/ui/separator'; import { useBuildSwitchOperatorOptions } from '@/hooks/logic-hooks/use-build-operator-options'; import { X } from 'lucide-react'; @@ -9,6 +8,7 @@ import { ReactNode } from 'react'; import { useFieldArray, useFormContext } from 'react-hook-form'; import { DataOperationsOperatorOptions } from '../../constant'; import { DynamicFormHeader } from '../components/dynamic-fom-header'; +import { KeyInput } from '../components/key-input'; import { PromptEditor } from '../components/prompt-editor'; type SelectKeysProps = { @@ -55,7 +55,7 @@ export function FilterValues({ return (
- + diff --git a/web/src/pages/agent/form/data-operations-form/updates.tsx b/web/src/pages/agent/form/data-operations-form/updates.tsx index d401e0463..886b7507b 100644 --- a/web/src/pages/agent/form/data-operations-form/updates.tsx +++ b/web/src/pages/agent/form/data-operations-form/updates.tsx @@ -1,11 +1,11 @@ import { RAGFlowFormItem } from '@/components/ragflow-form'; import { Button } from '@/components/ui/button'; -import { Input } from '@/components/ui/input'; import { Separator } from '@/components/ui/separator'; import { X } from 'lucide-react'; import { ReactNode } from 'react'; import { useFieldArray, useFormContext } from 'react-hook-form'; import { DynamicFormHeader } from '../components/dynamic-fom-header'; +import { KeyInput } from '../components/key-input'; import { PromptEditor } from '../components/prompt-editor'; type SelectKeysProps = { @@ -44,7 +44,7 @@ export function Updates({ return (
- + diff --git a/web/src/pages/agent/form/variable-aggregator-form/index.tsx b/web/src/pages/agent/form/variable-aggregator-form/index.tsx index 3807ba021..7b46e50a7 100644 --- a/web/src/pages/agent/form/variable-aggregator-form/index.tsx +++ b/web/src/pages/agent/form/variable-aggregator-form/index.tsx @@ -35,7 +35,7 @@ function VariableAggregatorForm({ node }: INextOperatorForm) { }); const appendItem = useCallback(() => { - append({ group_name: `Group ${fields.length}`, variables: [] }); + append({ group_name: `Group${fields.length}`, variables: [] }); }, [append, fields.length]); const outputList = buildOutputList( diff --git a/web/src/pages/agent/form/variable-aggregator-form/use-handle-name-change.ts b/web/src/pages/agent/form/variable-aggregator-form/use-handle-name-change.ts index 386016efd..3daad0daa 100644 --- a/web/src/pages/agent/form/variable-aggregator-form/use-handle-name-change.ts +++ b/web/src/pages/agent/form/variable-aggregator-form/use-handle-name-change.ts @@ -21,8 +21,10 @@ export const useHandleNameChange = (previousName: string) => { return name; }, [form, name, previousName]); - const handleNameChange = useCallback((e: ChangeEvent) => { - setName(e.target.value); + const handleNameChange = useCallback((e: ChangeEvent) => { + const value = e.target.value; + const filteredValue = value.replace(/[^a-zA-Z0-9_]/g, ''); + setName(filteredValue); }, []); useEffect(() => { diff --git a/web/src/pages/profile-setting/mcp/index.tsx b/web/src/pages/profile-setting/mcp/index.tsx index d2563034b..d790ac6d3 100644 --- a/web/src/pages/profile-setting/mcp/index.tsx +++ b/web/src/pages/profile-setting/mcp/index.tsx @@ -80,13 +80,13 @@ export default function McpServer() { )} {t(`mcp.${isSelectionMode ? 'exitBulkManage' : 'bulkManage'}`)} - - +