From ab77792d65e63da22a6257001bda87d9f18894bd Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 27 Jun 2023 18:22:48 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20refactor(parameterComponent):=20?= =?UTF-8?q?improve=20code=20readability=20by=20adding=20line=20breaks=20an?= =?UTF-8?q?d=20indentation=20=F0=9F=94=A8=20refactor(promptComponent):=20a?= =?UTF-8?q?dd=20nodeClass=20prop=20to=20improve=20code=20consistency=20?= =?UTF-8?q?=F0=9F=94=A8=20refactor(genericModal):=20add=20nodeClass=20prop?= =?UTF-8?q?=20to=20improve=20code=20consistency=20=F0=9F=94=A8=20refactor(?= =?UTF-8?q?types/components):=20remove=20unused=20imports=20and=20add=20no?= =?UTF-8?q?deClass=20prop=20to=20TextAreaComponentType=20The=20changes=20m?= =?UTF-8?q?ade=20in=20the=20code=20aim=20to=20improve=20code=20readability?= =?UTF-8?q?=20and=20consistency.=20The=20ParameterComponent,=20PromptAreaC?= =?UTF-8?q?omponent,=20and=20GenericModal=20components=20now=20have=20a=20?= =?UTF-8?q?nodeClass=20prop=20to=20improve=20consistency=20with=20the=20na?= =?UTF-8?q?ming=20conventions.=20The=20TextAreaComponentType=20now=20has?= =?UTF-8?q?=20a=20nodeClass=20prop=20to=20improve=20consistency=20with=20t?= =?UTF-8?q?he=20other=20components.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/parameterComponent/index.tsx | 5 ++++- .../src/components/promptComponent/index.tsx | 2 ++ src/frontend/src/modals/genericModal/index.tsx | 12 +++++++++--- src/frontend/src/types/components/index.ts | 11 +++-------- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx index 21ee312b4..9b7590213 100644 --- a/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/components/parameterComponent/index.tsx @@ -229,7 +229,9 @@ export default function ParameterComponent({ ) : left === true && type === "code" ? ( {data.node = nodeClass}} + setNodeClass={(nodeClass) => { + data.node = nodeClass; + }} nodeClass={data.node} disabled={disabled} value={data.node.template[name].value ?? ""} @@ -258,6 +260,7 @@ export default function ParameterComponent({ ) : left === true && type === "prompt" ? ( ); }} diff --git a/src/frontend/src/modals/genericModal/index.tsx b/src/frontend/src/modals/genericModal/index.tsx index 6f89e24a6..8f7dcefc8 100644 --- a/src/frontend/src/modals/genericModal/index.tsx +++ b/src/frontend/src/modals/genericModal/index.tsx @@ -1,9 +1,8 @@ -import { Fragment, useContext, useRef, useState } from "react"; +import { useContext, useRef, useState } from "react"; import { PopUpContext } from "../../contexts/popUpContext"; import { darkContext } from "../../contexts/darkContext"; import { checkPrompt } from "../../controllers/API"; import { alertContext } from "../../contexts/alertContext"; -import { TypeModal } from "../../utils"; import { Dialog, DialogContent, @@ -17,6 +16,7 @@ import { Button } from "../../components/ui/button"; import { Textarea } from "../../components/ui/textarea"; import { PROMPT_DIALOG_SUBTITLE, TEXT_DIALOG_SUBTITLE } from "../../constants"; import { FileText } from "lucide-react"; +import { APIClassType } from "../../types/api"; export default function GenericModal({ value, @@ -24,12 +24,14 @@ export default function GenericModal({ buttonText, modalTitle, type, + nodeClass, }: { setValue: (value: string) => void; value: string; buttonText: string; modalTitle: string; type: number; + nodeClass: APIClassType; }) { const [myButtonText] = useState(buttonText); const [myModalTitle] = useState(modalTitle); @@ -97,9 +99,13 @@ export default function GenericModal({ setModalOpen(false); break; case 2: - checkPrompt(myValue) + checkPrompt(myValue, nodeClass) .then((apiReturn) => { if (apiReturn.data) { + if (apiReturn.data) { + setNodeClass(data); + setModalOpen(false); + } let inputVariables = apiReturn.data.input_variables; if (inputVariables.length === 0) { setErrorData({ diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts index b72a7e003..c1cc3756c 100644 --- a/src/frontend/src/types/components/index.ts +++ b/src/frontend/src/types/components/index.ts @@ -1,13 +1,7 @@ -import { - ComponentType, - ForwardRefExoticComponent, - ReactElement, - ReactNode, - SVGProps, -} from "react"; +import { ReactElement, ReactNode } from "react"; import { NodeDataType } from "../flow/index"; import { typesContextType } from "../typesContext"; -import { APIClassType, APITemplateType } from "../api"; +import { APIClassType } from "../api"; export type InputComponentType = { value: string; disabled?: boolean; @@ -51,6 +45,7 @@ export type InputListComponentType = { }; export type TextAreaComponentType = { + nodeClass?: APIClassType; disabled: boolean; onChange: (value: string[] | string) => void; value: string;