From 1df3fe7ad6e52ac4075118b9e906ef0e2a840922 Mon Sep 17 00:00:00 2001 From: cristhianzl Date: Thu, 2 May 2024 11:39:41 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20(StringListInput.py):=20update?= =?UTF-8?q?=20parameter=20name=20from=20"param"=20to=20"input=5Fvalue"=20t?= =?UTF-8?q?o=20improve=20clarity=20and=20consistency=20=F0=9F=93=9D=20(Str?= =?UTF-8?q?ingListOutput.py):=20update=20parameter=20name=20from=20"param"?= =?UTF-8?q?=20to=20"input=5Fvalue"=20to=20improve=20clarity=20and=20consis?= =?UTF-8?q?tency=20=F0=9F=93=9D=20(index.tsx):=20add=20InputListComponent?= =?UTF-8?q?=20to=20handle=20StringListInput=20and=20StringListOutput=20com?= =?UTF-8?q?ponents=20in=20IOFieldView=20=F0=9F=93=9D=20(index.tsx):=20upda?= =?UTF-8?q?te=20InputListComponent=20props=20to=20include=20value,=20onCha?= =?UTF-8?q?nge,=20disabled,=20and=20playgroundDisabled=20=F0=9F=93=9D=20(i?= =?UTF-8?q?ndex.tsx):=20update=20IOFieldView=20to=20render=20InputListComp?= =?UTF-8?q?onent=20for=20StringListInput=20and=20StringListOutput=20compon?= =?UTF-8?q?ents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/inputs/StringListInput.py | 6 ++-- .../components/outputs/StringListOutput.py | 6 ++-- .../components/inputListComponent/index.tsx | 13 +++++-- .../IOModal/components/IOFieldView/index.tsx | 34 +++++++++++++++++-- src/frontend/src/types/components/index.ts | 1 + 5 files changed, 49 insertions(+), 11 deletions(-) diff --git a/src/backend/base/langflow/components/inputs/StringListInput.py b/src/backend/base/langflow/components/inputs/StringListInput.py index 1fef86be1..5eadce9bc 100644 --- a/src/backend/base/langflow/components/inputs/StringListInput.py +++ b/src/backend/base/langflow/components/inputs/StringListInput.py @@ -7,7 +7,7 @@ class StringListInput(CustomComponent): display_name = "String List Input" def build_config(self): - return {"param": {"display_name": "String List Input", "field_type": "str", "list": True}} + return {"input_value": {"display_name": "String List Input", "field_type": "str", "list": True}} - def build(self, param: list) -> Record: - return Record(data=param) + def build(self, input_value: list) -> Record: + return Record(data=input_value) diff --git a/src/backend/base/langflow/components/outputs/StringListOutput.py b/src/backend/base/langflow/components/outputs/StringListOutput.py index 9e5384986..3b1ff6088 100644 --- a/src/backend/base/langflow/components/outputs/StringListOutput.py +++ b/src/backend/base/langflow/components/outputs/StringListOutput.py @@ -7,7 +7,7 @@ class StringListOutput(CustomComponent): display_name = "String List Output" def build_config(self): - return {"param": {"display_name": "String List Output", "field_type": "str", "list": True}} + return {"input_value": {"display_name": "String List Output", "field_type": "str", "list": True}} - def build(self, param: list) -> Record: - return Record(data=param) + def build(self, input_value: list) -> Record: + return Record(data=input_value) \ No newline at end of file diff --git a/src/frontend/src/components/inputListComponent/index.tsx b/src/frontend/src/components/inputListComponent/index.tsx index b43c6df86..f0aa8cca7 100644 --- a/src/frontend/src/components/inputListComponent/index.tsx +++ b/src/frontend/src/components/inputListComponent/index.tsx @@ -12,6 +12,7 @@ export default function InputListComponent({ disabled, editNode = false, componentName, + playgroundDisabled, }: InputListComponentType): JSX.Element { useEffect(() => { if (disabled && value.length > 0 && value[0] !== "") { @@ -24,7 +25,7 @@ export default function InputListComponent({ value = [value]; } - if (!value.length) value = [""]; + if (!value?.length) value = [""]; return (
)} diff --git a/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx b/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx index 7605f2438..36d8be382 100644 --- a/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx +++ b/src/frontend/src/modals/IOModal/components/IOFieldView/index.tsx @@ -2,6 +2,7 @@ import { cloneDeep } from "lodash"; import { useState } from "react"; import ImageViewer from "../../../../components/ImageViewer"; import CsvOutputComponent from "../../../../components/csvOutputComponent"; +import InputListComponent from "../../../../components/inputListComponent"; import PdfViewer from "../../../../components/pdfViewer"; import { Select, @@ -121,7 +122,21 @@ export default function IOFieldView({ ); case "StringListInput": - return <>diusahjduisahudsa; + return ( + <> + { + if (node) { + let newNode = cloneDeep(node); + newNode.data.node!.template["input_value"].value = e; + setNode(node.id, newNode); + } + }} + disabled={false} + /> + + ); default: return ( @@ -249,7 +264,22 @@ export default function IOFieldView({ ); case "StringListOutput": - return <>diusahjduisahudsa; + return ( + <> + { + if (node) { + let newNode = cloneDeep(node); + newNode.data.node!.template["input_value"].value = e; + setNode(node.id, newNode); + } + }} + playgroundDisabled + disabled={false} + /> + + ); default: return ( diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index 7ebda61fa..9c085be48 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -69,6 +69,7 @@ export type InputListComponentType = { disabled: boolean; editNode?: boolean; componentName?: string; + playgroundDisabled?: boolean; }; export type InputGlobalComponentType = {