-
-
-
-
-
-
-
-
-
-
-
- Variables
-
-
-
-
-
-
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 = t;
- setEnabled(t);
- save();
- }}
- />
-
- ) : 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].value
- ? data.node.template[n].value
- : "-"} */}
-
-
-
-
-
- changeAdvanced(data.node.template[n])}
- disabled={false} />
-
-
-
- ))}
-
-
-
}
-
-
-
-
-
-
-
-
-
+
+
+
+ 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} />
+
+
+
+ ))}
+
+
+
}
+
+
+
+
+
+
+
+
);
}
diff --git a/src/frontend/src/modals/genericModal/index.tsx b/src/frontend/src/modals/genericModal/index.tsx
index af01fc1f3..86af41e15 100644
--- a/src/frontend/src/modals/genericModal/index.tsx
+++ b/src/frontend/src/modals/genericModal/index.tsx
@@ -1,4 +1,3 @@
-import { Dialog, Transition } from "@headlessui/react";
import { XMarkIcon, DocumentTextIcon } from "@heroicons/react/24/outline";
import { Fragment, useContext, useRef, useState } from "react";
import { PopUpContext } from "../../contexts/popUpContext";
@@ -6,6 +5,18 @@ import { darkContext } from "../../contexts/darkContext";
import { checkPrompt } from "../../controllers/API";
import { alertContext } from "../../contexts/alertContext";
import { TypeModal } from "../../utils";
+import {
+ Dialog,
+ DialogContent,
+ DialogDescription,
+ DialogFooter,
+ DialogHeader,
+ DialogTitle,
+ DialogTrigger,
+} from "../../components/ui/dialog";
+import { Button } from "../../components/ui/button";
+import { Textarea } from "../../components/ui/textarea";
+
export default function PromptAreaModal({
value,
setValue,
@@ -31,145 +42,102 @@ export default function PromptAreaModal({
function setModalOpen(x: boolean) {
setOpen(x);
if (x === false) {
- setTimeout(() => {
closePopUp();
- }, 300);
}
}
return (
-
-
-
);
}
diff --git a/src/frontend/src/types/components/index.ts b/src/frontend/src/types/components/index.ts
index e7559023a..c0bb0344f 100644
--- a/src/frontend/src/types/components/index.ts
+++ b/src/frontend/src/types/components/index.ts
@@ -11,6 +11,7 @@ export type InputComponentType = {
onChange: (value: string) => void;
password: boolean;
disableCopyPaste?: boolean;
+ editNode?: boolean;
};
export type ToggleComponentType = {
enabled: boolean;
@@ -21,6 +22,7 @@ export type DropDownComponentType = {
value: string;
options: string[];
onSelect: (value: string) => void;
+ editNode?: boolean;
};
export type ParameterComponentType = {
data: NodeDataType;
@@ -43,6 +45,7 @@ export type TextAreaComponentType = {
disabled: boolean;
onChange: (value: string[] | string) => void;
value: string;
+ editNode?: boolean;
};
export type FileComponentType = {
@@ -52,6 +55,7 @@ export type FileComponentType = {
suffixes: Array
;
fileTypes: Array;
onFileChange: (value: string) => void;
+ editNode?: boolean;
};
export type DisclosureComponentType = {
@@ -71,6 +75,7 @@ export type FloatComponentType = {
disabled?: boolean;
disableCopyPaste?: boolean;
onChange: (value: string) => void;
+ editNode?: boolean;
};
export type TooltipComponentType = {
diff --git a/src/frontend/tailwind.config.js b/src/frontend/tailwind.config.js
index 5644a21bc..041546c5d 100644
--- a/src/frontend/tailwind.config.js
+++ b/src/frontend/tailwind.config.js
@@ -2,6 +2,81 @@
const { fontFamily } = require("tailwindcss/defaultTheme")
import plugin from "tailwindcss/plugin";
+
+module.exports = {
+ darkMode: ["class"],
+ content: ["app/**/*.{ts,tsx}", "components/**/*.{ts,tsx}"],
+ theme: {
+ container: {
+ center: true,
+ padding: "2rem",
+ screens: {
+ "2xl": "1400px",
+ },
+ },
+ extend: {
+ colors: {
+ border: "hsl(var(--border))",
+ input: "hsl(var(--input))",
+ ring: "hsl(var(--ring))",
+ background: "hsl(var(--background))",
+ foreground: "hsl(var(--foreground))",
+ primary: {
+ DEFAULT: "hsl(var(--primary))",
+ foreground: "hsl(var(--primary-foreground))",
+ },
+ secondary: {
+ DEFAULT: "hsl(var(--secondary))",
+ foreground: "hsl(var(--secondary-foreground))",
+ },
+ destructive: {
+ DEFAULT: "hsl(var(--destructive))",
+ foreground: "hsl(var(--destructive-foreground))",
+ },
+ muted: {
+ DEFAULT: "hsl(var(--muted))",
+ foreground: "hsl(var(--muted-foreground))",
+ },
+ accent: {
+ DEFAULT: "hsl(var(--accent))",
+ foreground: "hsl(var(--accent-foreground))",
+ },
+ popover: {
+ DEFAULT: "hsl(var(--popover))",
+ foreground: "hsl(var(--popover-foreground))",
+ },
+ card: {
+ DEFAULT: "hsl(var(--card))",
+ foreground: "hsl(var(--card-foreground))",
+ },
+ },
+ borderRadius: {
+ lg: `var(--radius)`,
+ md: `calc(var(--radius) - 2px)`,
+ sm: "calc(var(--radius) - 4px)",
+ },
+ fontFamily: {
+ sans: ["var(--font-sans)", ...fontFamily.sans],
+ },
+ keyframes: {
+ "accordion-down": {
+ from: { height: 0 },
+ to: { height: "var(--radix-accordion-content-height)" },
+ },
+ "accordion-up": {
+ from: { height: "var(--radix-accordion-content-height)" },
+ to: { height: 0 },
+ },
+ },
+ animation: {
+ "accordion-down": "accordion-down 0.2s ease-out",
+ "accordion-up": "accordion-up 0.2s ease-out",
+ },
+ },
+ },
+ plugins: [require("tailwindcss-animate")],
+}
+
module.exports = {
content: ["./index.html", "./src/**/*.{js,ts,tsx,jsx}"],
darkMode: "class",