-
-
Parameters
+
+ Make configurations changes to your nodes. Click save when you're
+ done.
+
+
+
+
+
+ Parameters
+
+
+
+
+
+
+
limitScrollFieldsModal
+ ? "overflow-scroll overflow-x-hidden custom-scroll"
+ : "overflow-hidden"
+ )}
+ >
+ {nodeLength > 0 && (
+
+
+
+
+ PARAM
+
+ VALUE
+
+ SHOW
+
+
+
+ {Object.keys(data.node.template)
+ .filter(
+ (t) =>
+ t.charAt(0) !== "_" &&
+ data.node.template[t].show &&
+ (data.node.template[t].type === "str" ||
+ data.node.template[t].type === "bool" ||
+ data.node.template[t].type === "float" ||
+ data.node.template[t].type === "code" ||
+ data.node.template[t].type === "prompt" ||
+ data.node.template[t].type === "file" ||
+ data.node.template[t].type === "Any" ||
+ data.node.template[t].type === "int")
+ )
+ .map((n, i) => (
+
+
+ {data.node.template[n].name
+ ? data.node.template[n].name
+ : data.node.template[n].display_name}
+
+
+ {data.node.template[n].type === "str" &&
+ !data.node.template[n].options ? (
+
+ {data.node.template[n].list ? (
+ {
+ data.node.template[n].value = t;
+ save();
+ }}
+ />
+ ) : data.node.template[n].multiline ? (
+ {
+ data.node.template[n].value = t;
+ save();
+ }}
+ />
+ ) : (
+ {
+ data.node.template[n].value = t;
+ save();
+ }}
+ />
+ )}
+
+ ) : data.node.template[n].type === "bool" ? (
+
+ {" "}
+ {
+ data.node.template[n].value = e;
+ setEnabled(e);
+ save();
+ }}
+ disabled={false}
+ />
+
+ ) : data.node.template[n].type === "float" ? (
+
+ {
+ data.node.template[n].value = t;
+ save();
+ }}
+ />
+
+ ) : data.node.template[n].type === "str" &&
+ data.node.template[n].options ? (
+
+
+ (data.node.template[n].value = newValue)
+ }
+ value={
+ data.node.template[n].value ??
+ "Choose an option"
+ }
+ >
+
+ ) : data.node.template[n].type === "int" ? (
+
+ {
+ data.node.template[n].value = t;
+ save();
+ }}
+ />
+
+ ) : data.node.template[n].type === "file" ? (
+
+ {
+ data.node.template[n].value = t;
+ }}
+ fileTypes={data.node.template[n].fileTypes}
+ suffixes={data.node.template[n].suffixes}
+ onFileChange={(t: string) => {
+ data.node.template[n].content = t;
+ save();
+ }}
+ >
+
+ ) : data.node.template[n].type === "prompt" ? (
+
+
{
+ data.node.template[n].value = t;
+ save();
+ }}
+ />
+
+ ) : data.node.template[n].type === "code" ? (
+
+ {
+ data.node.template[n].value = t;
+ save();
+ }}
+ />
+
+ ) : data.node.template[n].type === "Any" ? (
+ "-"
+ ) : (
+
+ )}
+
+
+
+
+ changeAdvanced(data.node.template[n])
+ }
+ disabled={false}
+ />
+
+
+
+ ))}
+
+
+
+ )}
+
-
-
-
-
-
-
limitScrollFieldsModal
- ? "overflow-scroll overflow-x-hidden custom-scroll"
- : "overflow-hidden"
- )}
->
- {
- nodeLength > 0 &&
-
-
-
-
-
- PARAM
-
- VALUE
- SHOW
-
-
-
- { Object.keys(data.node.template).filter(
- (t) =>
- t.charAt(0) !== "_" &&
- data.node.template[t].show &&
- (data.node.template[t].type === "str" ||
- data.node.template[t].type === "bool" ||
- data.node.template[t].type === "float" ||
- data.node.template[t].type === "code" ||
- data.node.template[t].type === "prompt" ||
- data.node.template[t].type === "file" ||
- data.node.template[t].type === "Any" ||
- data.node.template[t].type === "int")
- )
- .map((n, i) => (
-
-
- {data.node.template[n].name
- ? data.node.template[n].name
- : data.node.template[n].display_name}
-
-
-
-{data.node.template[n].type === "str" && !data.node.template[n].options ? (
-
-{data.node.template[n].list ? (
- {
-data.node.template[n].value = t;
-save();
-}}
-/>
-) : data.node.template[n].multiline ? (
- {
-data.node.template[n].value = t;
-save();
-}}
-/>
-) : (
- {
-data.node.template[n].value = t;
-save();
-}}
-/>
-)}
-
-) : data.node.template[n].type === "bool" ? (
-
-{" "}
- {
-data.node.template[n].value = e;
-setEnabled(e);
-save();
-}}
-disabled={false} />
-
-) : data.node.template[n].type === "float" ? (
-
- {
-data.node.template[n].value = t;
-save();
-}}
-/>
-
-) : data.node.template[n].type === "str" && data.node.template[n].options ? (
-
- (data.node.template[n].value = newValue)}
-value={data.node.template[n].value ?? "Choose an option"}
->
-
-) : data.node.template[n].type === "int" ? (
-
- {
-data.node.template[n].value = t;
-save();
-}}
-/>
-
-) : data.node.template[n].type === "file" ? (
-
- {
-data.node.template[n].value = t;
-}}
-fileTypes={data.node.template[n].fileTypes}
-suffixes={data.node.template[n].suffixes}
-onFileChange={(t: string) => {
-data.node.template[n].content = t;
-save();
-}}
->
-
-) : data.node.template[n].type === "prompt" ? (
-
-
{
-data.node.template[n].value = t;
-save();
-}}
-/>
-
-) : data.node.template[n].type === "code" ? (
-
- {
-data.node.template[n].value = t;
-save();
-}}
-/>
-
-)
-: data.node.template[n].type === "Any" ? "-" : (
-
-) }
-
-
-
-
-
-
- changeAdvanced(data.node.template[n])}
- disabled={false} />
-
-
-
- ))}
-
-
-
}
-
-
-
-
-
-
-
-
+
+
+
+
+
);
}
diff --git a/src/frontend/src/modals/codeAreaModal/index.tsx b/src/frontend/src/modals/codeAreaModal/index.tsx
index c5d9573cb..644e7fd00 100644
--- a/src/frontend/src/modals/codeAreaModal/index.tsx
+++ b/src/frontend/src/modals/codeAreaModal/index.tsx
@@ -44,100 +44,89 @@ export default function CodeAreaModal({
}
}
return (
-
-
+ title:
+ "There is something wrong with this code, please review it",
+ })
+ );
+ }}
+ type="submit"
+ >
+ Check & Save
+
+
+
+
);
}
diff --git a/src/frontend/src/modals/exportModal/index.tsx b/src/frontend/src/modals/exportModal/index.tsx
index 7628fb327..968944158 100644
--- a/src/frontend/src/modals/exportModal/index.tsx
+++ b/src/frontend/src/modals/exportModal/index.tsx
@@ -41,98 +41,88 @@ export default function ExportModal() {
const [checked, setChecked] = useState(true);
const [name, setName] = useState(flows[tabIndex].name);
return (
-
-
-
-
-
-
+
{
+ if (event.target.value != "") {
+ let newFlow = flows[tabIndex];
+ newFlow.name = event.target.value;
+ setName(event.target.value);
+ updateFlow(newFlow);
+ } else {
+ setName(event.target.value);
+ }
+ }}
+ type="text"
+ name="name"
+ value={name ?? null}
+ placeholder="File name"
+ id="name"
+ />
+
+
+
+ {
+ setChecked(event);
+ }}
+ />
+
+
+
+ {
+ if (checked) downloadFlow(flows[tabIndex]);
+ else downloadFlow(removeApiKeys(flows[tabIndex]));
+ }}
+ type="submit"
+ >
+ Download Flow
+
+
+
+
);
}
diff --git a/src/frontend/src/modals/genericModal/index.tsx b/src/frontend/src/modals/genericModal/index.tsx
index 86af41e15..672581aac 100644
--- a/src/frontend/src/modals/genericModal/index.tsx
+++ b/src/frontend/src/modals/genericModal/index.tsx
@@ -42,102 +42,91 @@ export default function PromptAreaModal({
function setModalOpen(x: boolean) {
setOpen(x);
if (x === false) {
- closePopUp();
+ closePopUp();
}
}
return (
-
-
-
-
-
-
-
-
- {myModalTitle}
-
+
+
+
+
+ {myModalTitle}
-
-
- Make configurations changes to your nodes. Click save when you're done.
+
+ Make configurations changes to your nodes. Click save when you're
+ done.
+
+
-
-
+
+
-
-
-
-
-
-
-
- {
- switch (myModalType) {
- case 1:
- setModalOpen(false);
- break;
- case 2:
- checkPrompt(myValue)
- .then((apiReturn) => {
- if (apiReturn.data) {
- let inputVariables =
- apiReturn.data.input_variables;
- if (inputVariables.length === 0) {
- setErrorData({
- title:
- "The template you are attempting to use does not contain any variables for data entry.",
+
+ {
+ switch (myModalType) {
+ case 1:
+ setModalOpen(false);
+ break;
+ case 2:
+ checkPrompt(myValue)
+ .then((apiReturn) => {
+ if (apiReturn.data) {
+ let inputVariables = apiReturn.data.input_variables;
+ if (inputVariables.length === 0) {
+ setErrorData({
+ title:
+ "The template you are attempting to use does not contain any variables for data entry.",
+ });
+ } else {
+ setSuccessData({
+ title: "Prompt is ready",
+ });
+ setModalOpen(false);
+ setValue(myValue);
+ }
+ } else {
+ setErrorData({
+ title: "Something went wrong, please try again",
+ });
+ }
+ })
+ .catch((error) => {
+ return setErrorData({
+ title:
+ "There is something wrong with this prompt, please review it",
+ list: [error.response.data.detail],
+ });
});
- } else {
- setSuccessData({
- title: "Prompt is ready",
- });
- setModalOpen(false);
- setValue(myValue);
- }
- } else {
- setErrorData({
- title:
- "Something went wrong, please try again",
- });
- }
- })
- .catch((error) => {
- return setErrorData({
- title:
- "There is something wrong with this prompt, please review it",
- list: [error.response.data.detail],
- });
- });
- break;
-
- default:
- break;
- }
- }}
- type="submit">{myButtonText}
-
-
-
-
-
+ break;
+ default:
+ break;
+ }
+ }}
+ type="submit"
+ >
+ {myButtonText}
+
+
+
+
);
}
diff --git a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx
index 46e59a0c0..36f9ad8dc 100644
--- a/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx
+++ b/src/frontend/src/pages/FlowPage/components/nodeToolbarComponent/index.tsx
@@ -18,23 +18,22 @@ import EditNodeModal from "../../../../modals/EditNodeModal";
import TooltipReact from "../../../../components/ReactTooltipComponent";
const NodeToolbarComponent = (props) => {
-
const [nodeLength, setNodeLength] = useState(
Object.keys(props.data.node.template).filter(
(t) =>
t.charAt(0) !== "_" &&
props.data.node.template[t].show &&
(props.data.node.template[t].type === "str" ||
- props.data.node.template[t].type === "bool" ||
- props.data.node.template[t].type === "float" ||
- props.data.node.template[t].type === "code" ||
- props.data.node.template[t].type === "prompt" ||
- props.data.node.template[t].type === "file" ||
- props.data.node.template[t].type === "Any" ||
- props.data.node.template[t].type === "int")
+ props.data.node.template[t].type === "bool" ||
+ props.data.node.template[t].type === "float" ||
+ props.data.node.template[t].type === "code" ||
+ props.data.node.template[t].type === "prompt" ||
+ props.data.node.template[t].type === "file" ||
+ props.data.node.template[t].type === "Any" ||
+ props.data.node.template[t].type === "int")
).length
);
-
+
const { setLastCopiedSelection, paste } = useContext(TabsContext);
const reactFlowInstance = useReactFlow();
return (
@@ -109,12 +108,11 @@ const NodeToolbarComponent = (props) => {
position="top"
>
0 ?
- "hover:dark:hover:bg-[#242f47] text-gray-700 transition-all duration-500 ease-in-out dark:bg-gray-800 dark:text-gray-300 shadow-md relative -ml-px inline-flex items-center bg-white px-2 py-2 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10" :
- "hover:dark:hover:bg-[#242f47] text-gray-700 transition-all duration-500 ease-in-out dark:bg-gray-800 dark:text-gray-300 shadow-md relative -ml-px inline-flex items-center bg-white px-2 py-2 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10 rounded-r-md"
- )}
+ className={classNames(
+ nodeLength > 0
+ ? "hover:dark:hover:bg-[#242f47] text-gray-700 transition-all duration-500 ease-in-out dark:bg-gray-800 dark:text-gray-300 shadow-md relative -ml-px inline-flex items-center bg-white px-2 py-2 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10"
+ : "hover:dark:hover:bg-[#242f47] text-gray-700 transition-all duration-500 ease-in-out dark:bg-gray-800 dark:text-gray-300 shadow-md relative -ml-px inline-flex items-center bg-white px-2 py-2 ring-1 ring-inset ring-gray-300 hover:bg-gray-50 focus:z-10 rounded-r-md"
+ )}
onClick={(event) => {
event.preventDefault();
console.log(reactFlowInstance.getNode(props.data.id));
@@ -136,23 +134,24 @@ const NodeToolbarComponent = (props) => {
-{nodeLength > 0 &&
- {
- event.preventDefault();
- props.openPopUp();
- }}
- >
-
-
- }
-
+ {nodeLength > 0 && (
+
+ {
+ event.preventDefault();
+ props.openPopUp();
+ }}
+ >
+
+
+
+ )}
{/*