From 14d71fb598f0f64e1996bb76a2d0bbe719feddb5 Mon Sep 17 00:00:00 2001 From: Joel Date: Tue, 12 Mar 2024 20:03:35 +0800 Subject: [PATCH] feat: var picker get vars --- .../workflow/nodes/_base/components/variable/var-list.tsx | 3 +++ .../nodes/_base/components/variable/var-reference-picker.tsx | 5 +++++ web/app/components/workflow/nodes/code/panel.tsx | 1 + web/app/components/workflow/nodes/end/panel.tsx | 2 ++ .../workflow/nodes/if-else/components/condition-item.tsx | 3 +++ .../workflow/nodes/if-else/components/condition-list.tsx | 4 ++++ web/app/components/workflow/nodes/if-else/panel.tsx | 1 + .../components/workflow/nodes/knowledge-retrieval/panel.tsx | 1 + web/app/components/workflow/nodes/llm/panel.tsx | 2 ++ .../components/workflow/nodes/question-classifier/panel.tsx | 1 + .../workflow/nodes/tool/components/input-var-list.tsx | 3 +++ web/app/components/workflow/nodes/tool/panel.tsx | 1 + .../nodes/variable-assigner/components/var-list/index.tsx | 3 +++ .../components/workflow/nodes/variable-assigner/panel.tsx | 1 + 14 files changed, 31 insertions(+) diff --git a/web/app/components/workflow/nodes/_base/components/variable/var-list.tsx b/web/app/components/workflow/nodes/_base/components/variable/var-list.tsx index 41701b1017..8ed0707e88 100644 --- a/web/app/components/workflow/nodes/_base/components/variable/var-list.tsx +++ b/web/app/components/workflow/nodes/_base/components/variable/var-list.tsx @@ -7,12 +7,14 @@ import VarReferencePicker from './var-reference-picker' import type { ValueSelector, Variable } from '@/app/components/workflow/types' type Props = { + nodeId: string readonly: boolean list: Variable[] onChange: (list: Variable[]) => void } const VarList: FC = ({ + nodeId, readonly, list, onChange, @@ -57,6 +59,7 @@ const VarList: FC = ({ className='w-[120px] h-8 leading-8 px-2.5 rounded-lg border-0 bg-gray-100 text-gray-900 text-[13px] placeholder:text-gray-400 focus:outline-none focus:ring-1 focus:ring-inset focus:ring-gray-200' type='text' /> { } const VarReferencePicker: FC = ({ + nodeId, readonly, className, isShowNodeName, value, onChange, }) => { + const { getTreeLeafNodes, getBeforeNodesInSameBranch } = useWorkflow() + // console.log(getBeforeNodesInSameBranch(nodeId), getTreeLeafNodes()) const [open, setOpen] = useState(false) const hasValue = value.length > 0 const node = hasValue ? getNodeInfoById(value[0]) : null diff --git a/web/app/components/workflow/nodes/code/panel.tsx b/web/app/components/workflow/nodes/code/panel.tsx index c0c795b60e..81856fc3af 100644 --- a/web/app/components/workflow/nodes/code/panel.tsx +++ b/web/app/components/workflow/nodes/code/panel.tsx @@ -64,6 +64,7 @@ const Panel: FC> = ({ > diff --git a/web/app/components/workflow/nodes/end/panel.tsx b/web/app/components/workflow/nodes/end/panel.tsx index 4f109f8fe9..a1bbcc9ce7 100644 --- a/web/app/components/workflow/nodes/end/panel.tsx +++ b/web/app/components/workflow/nodes/end/panel.tsx @@ -80,6 +80,7 @@ const Panel: FC> = ({ === EndVarType.structured ? ( > = ({ : ( { type ItemProps = { readonly: boolean + nodeId: string payload: Condition onChange: (newItem: Condition) => void canRemove: boolean @@ -76,6 +77,7 @@ type ItemProps = { const Item: FC = ({ readonly, + nodeId, payload, onChange, canRemove, @@ -132,6 +134,7 @@ const Item: FC = ({
= ({ className, readonly, + nodeId, list, onChange, logicalOperator, @@ -50,6 +52,7 @@ const ConditionList: FC = ({
= ({ > = ({ > = ({ title={t(`${i18nPrefix}.queryVariable`)} > > = ({ > @@ -146,6 +147,7 @@ const Panel: FC> = ({ > > = ({ diff --git a/web/app/components/workflow/nodes/tool/components/input-var-list.tsx b/web/app/components/workflow/nodes/tool/components/input-var-list.tsx index 24297d7532..c737730ba1 100644 --- a/web/app/components/workflow/nodes/tool/components/input-var-list.tsx +++ b/web/app/components/workflow/nodes/tool/components/input-var-list.tsx @@ -11,6 +11,7 @@ import VarReferencePicker from '@/app/components/workflow/nodes/_base/components type Props = { readOnly: boolean + nodeId: string schema: CredentialFormSchema[] value: ToolVarInput[] onChange: (value: ToolVarInput[]) => void @@ -18,6 +19,7 @@ type Props = { const InputVarList: FC = ({ readOnly, + nodeId, schema, value, onChange, @@ -72,6 +74,7 @@ const InputVarList: FC = ({ diff --git a/web/app/components/workflow/nodes/tool/panel.tsx b/web/app/components/workflow/nodes/tool/panel.tsx index 56aaae62fb..d588b6a1aa 100644 --- a/web/app/components/workflow/nodes/tool/panel.tsx +++ b/web/app/components/workflow/nodes/tool/panel.tsx @@ -73,6 +73,7 @@ const Panel: FC> = ({ > void } const VarList: FC = ({ readonly, + nodeId, list, onChange, }) => { @@ -51,6 +53,7 @@ const VarList: FC = ({
> = ({ >