formatting

This commit is contained in:
Cristhian Zanforlin Lousa 2023-06-28 14:20:53 -03:00
commit 1251cf70a9

View file

@ -92,8 +92,6 @@ export default function ApiModal({ flow }: { flow: FlowType }) {
} }
}, [closeEdit]); }, [closeEdit]);
const pythonApiCode = getPythonApiCode(flow, tweak.current); const pythonApiCode = getPythonApiCode(flow, tweak.current);
const curl_code = getCurlCode(flow, tweak.current); const curl_code = getCurlCode(flow, tweak.current);
const pythonCode = getPythonCode(flow, tweak.current); const pythonCode = getPythonCode(flow, tweak.current);
@ -101,43 +99,32 @@ export default function ApiModal({ flow }: { flow: FlowType }) {
useEffect(() => { useEffect(() => {
filterNodes(); filterNodes();
}, []);
}, []) function filterNodes() {
function filterNodes(){
let arrNodesWithValues = []; let arrNodesWithValues = [];
flow["data"]["nodes"].forEach(t => { flow["data"]["nodes"].forEach((t) => {
Object.keys(t["data"]["node"]["template"])
Object.keys(t['data']['node']['template']).filter( .filter(
(n) => (n) =>
n.charAt(0) !== "_" && n.charAt(0) !== "_" &&
t.data.node.template[n].show && t.data.node.template[n].show &&
(t.data.node.template[n].type === (t.data.node.template[n].type === "str" ||
"str" || t.data.node.template[n].type === "bool" ||
t.data.node.template[n].type === t.data.node.template[n].type === "float" ||
"bool" || t.data.node.template[n].type === "code" ||
t.data.node.template[n].type === t.data.node.template[n].type === "prompt" ||
"float" || t.data.node.template[n].type === "file" ||
t.data.node.template[n].type === t.data.node.template[n].type === "int")
"code" || )
t.data.node.template[n].type === .map((n, i) => {
"prompt" || arrNodesWithValues.push(t["id"]);
t.data.node.template[n].type === });
"file" || });
t.data.node.template[n].type ===
"int")
)
.map((n, i) => {
arrNodesWithValues.push(t['id'])
})
})
tweaksList.current = arrNodesWithValues.filter((value, index, self) => { tweaksList.current = arrNodesWithValues.filter((value, index, self) => {
return self.indexOf(value) === index; return self.indexOf(value) === index;
}); });
} }
const tabs = [ const tabs = [
@ -337,329 +324,222 @@ export default function ApiModal({ flow }: { flow: FlowType }) {
> >
{flow["data"]["nodes"].map((t: any, index) => ( {flow["data"]["nodes"].map((t: any, index) => (
<div className="px-3" key={index}> <div className="px-3" key={index}>
{( {tweaksList.current.includes(t["data"]["id"]) && (
<AccordionComponent
trigger={t["data"]["id"]}
open={openAccordion}
>
<div className="flex flex-col gap-5 h-fit">
<Table className="table-fixed bg-muted outline-1">
<TableHeader className="border-gray-200 text-gray-500 text-xs font-medium h-10">
<TableRow className="dark:border-b-muted">
<TableHead className="h-7 text-center">
PARAM
</TableHead>
<TableHead className="p-0 h-7 text-center">
VALUE
</TableHead>
</TableRow>
</TableHeader>
<TableBody className="p-0">
{Object.keys(t["data"]["node"]["template"])
.filter(
(n) =>
n.charAt(0) !== "_" &&
t.data.node.template[n].show &&
(t.data.node.template[n].type ===
"str" ||
t.data.node.template[n].type ===
"bool" ||
t.data.node.template[n].type ===
"float" ||
t.data.node.template[n].type ===
"code" ||
t.data.node.template[n].type ===
"prompt" ||
t.data.node.template[n].type ===
"file" ||
t.data.node.template[n].type ===
"int")
)
.map((n, i) => {
//console.log(t.data.node.template[n]);
return (
tweaksList.current.includes(t["data"]["id"]) && <TableRow
key={i}
className="h-10 dark:border-b-muted"
<AccordionComponent >
trigger={t["data"]["id"]} <TableCell className="p-0 text-center text-gray-900 text-sm">
open={openAccordion} {n}
> </TableCell>
<div className="flex flex-col gap-5 h-fit"> <TableCell className="p-0 text-center text-gray-900 text-xs dark:text-gray-300">
<Table className="table-fixed bg-muted outline-1"> <div className="w-[250px] m-auto">
<TableHeader className="border-gray-200 text-gray-500 text-xs font-medium h-10"> {t.data.node.template[n]
<TableRow className="dark:border-b-muted"> .type === "str" &&
<TableHead className="h-7 text-center"> !t.data.node.template[n]
PARAM .options ? (
</TableHead> <div className="mx-auto">
<TableHead className="p-0 h-7 text-center"> {t.data.node.template[n]
VALUE .list ? (
</TableHead> <InputListComponent
</TableRow> editNode={true}
</TableHeader> disabled={false}
<TableBody className="p-0"> value={
{Object.keys(t["data"]["node"]["template"]) !t.data.node.template[
.filter( n
(n) => ].value ||
n.charAt(0) !== "_" &&
t.data.node.template[n].show &&
(t.data.node.template[n].type ===
"str" ||
t.data.node.template[n].type ===
"bool" ||
t.data.node.template[n].type ===
"float" ||
t.data.node.template[n].type ===
"code" ||
t.data.node.template[n].type ===
"prompt" ||
t.data.node.template[n].type ===
"file" ||
t.data.node.template[n].type ===
"int")
)
.map((n, i) => {
//console.log(t.data.node.template[n]);
return (
<TableRow
key={i}
className="h-10 dark:border-b-muted"
>
<TableCell className="p-0 text-center text-gray-900 text-sm">
{n}
</TableCell>
<TableCell className="p-0 text-center text-gray-900 text-xs dark:text-gray-300">
<div className="w-[250px] m-auto">
{t.data.node.template[n].type ===
"str" &&
!t.data.node.template[n]
.options ? (
<div className="mx-auto">
{t.data.node.template[n]
.list ? (
<InputListComponent
editNode={true}
disabled={false}
value={
!t.data.node.template[n]
.value ||
t.data.node.template[n]
.value === ""
? [""]
: t.data.node
.template[n].value
}
onChange={(k) => {}}
onAddInput={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node.template[ t.data.node.template[
n n
] ].value === ""
); ? [""]
}} : t.data.node
/> .template[n]
) : t.data.node.template[n] .value
.multiline ? ( }
<ShadTooltip onChange={(k) => {}}
delayDuration={1000} onAddInput={(k) => {
content={buildContent( buildTweakObject(
t.data.node.template[n] t["data"]["id"],
.value k,
)}
>
<div>
<TextAreaComponent
disabled={false}
editNode={true}
value={getValue(
t.data.node t.data.node
.template[n] .template[n]
.value, );
t.data, }}
t.data.node />
.template[n] ) : t.data.node.template[n]
)} .multiline ? (
onChange={(k) => { <ShadTooltip
buildTweakObject( delayDuration={1000}
t["data"]["id"], content={buildContent(
k, t.data.node.template[
n
].value
)}
>
<div>
<TextAreaComponent
disabled={false}
editNode={true}
value={getValue(
t.data.node t.data.node
.template[n] .template[n]
); .value,
}} t.data,
/> t.data.node
</div> .template[n]
</ShadTooltip> )}
) : ( onChange={(k) => {
<InputComponent buildTweakObject(
editNode={true} t["data"]["id"],
disabled={false} k,
password={ t.data.node
.template[n]
);
}}
/>
</div>
</ShadTooltip>
) : (
<InputComponent
editNode={true}
disabled={false}
password={
t.data.node.template[
n
].password ?? false
}
value={getValue(
t.data.node.template[
n
].value,
t.data,
t.data.node.template[
n
]
)}
onChange={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node
.template[n]
);
}}
/>
)}
</div>
) : t.data.node.template[n]
.type === "bool" ? (
<div className="ml-auto">
{" "}
<ToggleShadComponent
enabled={
t.data.node.template[n] t.data.node.template[n]
.password ?? false .value
} }
value={getValue( setEnabled={(e) => {
t.data.node.template[n] t.data.node.template[
.value, n
t.data, ].value = e;
t.data.node.template[n] setEnabled(e);
)}
onChange={(k) => {
buildTweakObject( buildTweakObject(
t["data"]["id"], t["data"]["id"],
k, e,
t.data.node.template[ t.data.node.template[
n n
] ]
); );
}} }}
size="small"
disabled={false}
/> />
)}
</div>
) : t.data.node.template[n]
.type === "bool" ? (
<div className="ml-auto">
{" "}
<ToggleShadComponent
enabled={
t.data.node.template[n]
.value
}
setEnabled={(e) => {
t.data.node.template[
n
].value = e;
setEnabled(e);
buildTweakObject(
t["data"]["id"],
e,
t.data.node.template[n]
);
}}
size="small"
disabled={false}
/>
</div>
) : t.data.node.template[n]
.type === "file" ? (
<ShadTooltip
delayDuration={1000}
content={buildContent(
getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)
)}
>
<div className="mx-auto">
<InputFileComponent
editNode={true}
disabled={false}
value={
t.data.node.template[n]
.value ?? ""
}
onChange={(k: any) => {}}
fileTypes={
t.data.node.template[n]
.fileTypes
}
suffixes={
t.data.node.template[n]
.suffixes
}
onFileChange={(
k: any
) => {}}
></InputFileComponent>
</div> </div>
</ShadTooltip> ) : t.data.node.template[n]
) : t.data.node.template[n] .type === "file" ? (
.type === "float" ? ( <ShadTooltip
<div className="mx-auto"> delayDuration={1000}
<FloatComponent content={buildContent(
disabled={false} getValue(
editNode={true}
value={getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)}
onChange={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node.template[n]
);
}}
/>
</div>
) : t.data.node.template[n]
.type === "str" &&
t.data.node.template[n]
.options ? (
<div className="mx-auto">
<Dropdown
editNode={true}
apiModal={true}
options={
t.data.node.template[n]
.options
}
onSelect={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node.template[n]
);
}}
value={getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)}
></Dropdown>
</div>
) : t.data.node.template[n]
.type === "int" ? (
<div className="mx-auto">
<IntComponent
disabled={false}
editNode={true}
value={getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)}
onChange={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node.template[n]
);
}}
/>
</div>
) : t.data.node.template[n]
.type === "prompt" ? (
<ShadTooltip
delayDuration={1000}
content={buildContent(
getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)
)}
>
<div className="mx-auto">
<PromptAreaComponent
editNode={true}
disabled={false}
value={getValue(
t.data.node.template[n] t.data.node.template[n]
.value, .value,
t.data, t.data,
t.data.node.template[n] t.data.node.template[n]
)} )
onChange={(k) => { )}
buildTweakObject( >
t["data"]["id"], <div className="mx-auto">
k, <InputFileComponent
editNode={true}
disabled={false}
value={
t.data.node.template[ t.data.node.template[
n n
] ].value ?? ""
); }
}} onChange={(
/> k: any
</div> ) => {}}
</ShadTooltip> fileTypes={
) : t.data.node.template[n] t.data.node.template[
.type === "code" ? ( n
<ShadTooltip ].fileTypes
delayDuration={1000} }
content={buildContent( suffixes={
getValue( t.data.node.template[
t.data.node.template[n] n
.value, ].suffixes
t.data, }
t.data.node.template[n] onFileChange={(
) k: any
)} ) => {}}
> ></InputFileComponent>
</div>
</ShadTooltip>
) : t.data.node.template[n]
.type === "float" ? (
<div className="mx-auto"> <div className="mx-auto">
<CodeAreaComponent <FloatComponent
disabled={false} disabled={false}
editNode={true} editNode={true}
value={getValue( value={getValue(
@ -679,31 +559,156 @@ export default function ApiModal({ flow }: { flow: FlowType }) {
}} }}
/> />
</div> </div>
</ShadTooltip> ) : t.data.node.template[n]
) : t.data.node.template[n] .type === "str" &&
.type === "Any" ? ( t.data.node.template[n]
"-" .options ? (
) : ( <div className="mx-auto">
<div className="hidden"></div> <Dropdown
)} editNode={true}
</div> apiModal={true}
</TableCell> options={
</TableRow> t.data.node.template[n]
); .options
})} }
</TableBody> onSelect={(k) => {
</Table> buildTweakObject(
</div> t["data"]["id"],
</AccordionComponent> k,
)} t.data.node.template[
n
{( ]
tweaksList.current.length === 0 && );
<> }}
<div className="pt-3">No tweaks are available for this flow.</div> value={getValue(
</> t.data.node.template[n]
)} .value,
t.data,
t.data.node.template[n]
)}
></Dropdown>
</div>
) : t.data.node.template[n]
.type === "int" ? (
<div className="mx-auto">
<IntComponent
disabled={false}
editNode={true}
value={getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)}
onChange={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node.template[
n
]
);
}}
/>
</div>
) : t.data.node.template[n]
.type === "prompt" ? (
<ShadTooltip
delayDuration={1000}
content={buildContent(
getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)
)}
>
<div className="mx-auto">
<PromptAreaComponent
editNode={true}
disabled={false}
value={getValue(
t.data.node.template[
n
].value,
t.data,
t.data.node.template[
n
]
)}
onChange={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node
.template[n]
);
}}
/>
</div>
</ShadTooltip>
) : t.data.node.template[n]
.type === "code" ? (
<ShadTooltip
delayDuration={1000}
content={buildContent(
getValue(
t.data.node.template[n]
.value,
t.data,
t.data.node.template[n]
)
)}
>
<div className="mx-auto">
<CodeAreaComponent
disabled={false}
editNode={true}
value={getValue(
t.data.node.template[
n
].value,
t.data,
t.data.node.template[
n
]
)}
onChange={(k) => {
buildTweakObject(
t["data"]["id"],
k,
t.data.node
.template[n]
);
}}
/>
</div>
</ShadTooltip>
) : t.data.node.template[n]
.type === "Any" ? (
"-"
) : (
<div className="hidden"></div>
)}
</div>
</TableCell>
</TableRow>
);
})}
</TableBody>
</Table>
</div>
</AccordionComponent>
)}
{tweaksList.current.length === 0 && (
<>
<div className="pt-3">
No tweaks are available for this flow.
</div>
</>
)}
</div> </div>
))} ))}