new attribute dynamic added

This commit is contained in:
anovazzi1 2023-07-04 14:55:17 -03:00
commit 562efe2867
6 changed files with 34 additions and 12 deletions

View file

@ -234,6 +234,7 @@ export default function ParameterComponent({
</div> </div>
) : left === true && type === "code" ? ( ) : left === true && type === "code" ? (
<CodeAreaComponent <CodeAreaComponent
dynamic = {data.node.template[name].dynamic ?? false}
setNodeClass={(nodeClass) => { setNodeClass={(nodeClass) => {
data.node = nodeClass; data.node = nodeClass;
}} }}

View file

@ -13,6 +13,7 @@ export default function CodeAreaComponent({
editNode = false, editNode = false,
nodeClass, nodeClass,
setNodeClass, setNodeClass,
dynamic,
}: CodeAreaComponentType) { }: CodeAreaComponentType) {
const [myValue, setMyValue] = useState(value); const [myValue, setMyValue] = useState(value);
const { openPopUp } = useContext(PopUpContext); const { openPopUp } = useContext(PopUpContext);
@ -38,6 +39,7 @@ export default function CodeAreaComponent({
onClick={() => { onClick={() => {
openPopUp( openPopUp(
<CodeAreaModal <CodeAreaModal
dynamic={dynamic}
value={myValue} value={myValue}
nodeClass={nodeClass} nodeClass={nodeClass}
setNodeClass={setNodeClass} setNodeClass={setNodeClass}
@ -63,6 +65,7 @@ export default function CodeAreaComponent({
onClick={() => { onClick={() => {
openPopUp( openPopUp(
<CodeAreaModal <CodeAreaModal
dynamic={dynamic}
setNodeClass={setNodeClass} setNodeClass={setNodeClass}
value={myValue} value={myValue}
nodeClass={nodeClass} nodeClass={nodeClass}

View file

@ -66,7 +66,7 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) {
} }
} }
useEffect(() => {}, [closePopUp, data.node.template]); useEffect(() => { }, [closePopUp, data.node.template]);
function changeAdvanced(node): void { function changeAdvanced(node): void {
Object.keys(data.node.template).filter((n, i) => { Object.keys(data.node.template).filter((n, i) => {
@ -142,7 +142,7 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) {
</TableCell> </TableCell>
<TableCell className="p-0 text-center text-gray-900 text-xs w-[300px] dark:text-gray-300"> <TableCell className="p-0 text-center text-gray-900 text-xs w-[300px] dark:text-gray-300">
{data.node.template[n].type === "str" && {data.node.template[n].type === "str" &&
!data.node.template[n].options ? ( !data.node.template[n].options ? (
<div className="mx-auto"> <div className="mx-auto">
{data.node.template[n].list ? ( {data.node.template[n].list ? (
<InputListComponent <InputListComponent
@ -150,7 +150,7 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) {
disabled={false} disabled={false}
value={ value={
!data.node.template[n].value || !data.node.template[n].value ||
data.node.template[n].value === "" data.node.template[n].value === ""
? [""] ? [""]
: data.node.template[n].value : data.node.template[n].value
} }
@ -262,6 +262,11 @@ export default function EditNodeModal({ data }: { data: NodeDataType }) {
) : data.node.template[n].type === "code" ? ( ) : data.node.template[n].type === "code" ? (
<div className="mx-auto"> <div className="mx-auto">
<CodeAreaComponent <CodeAreaComponent
dynamic={data.node.template[n].dynamic ?? false}
setNodeClass={(nodeClass) => {
data.node = nodeClass;
}}
nodeClass={data.node}
disabled={false} disabled={false}
editNode={true} editNode={true}
value={data.node.template[n].value ?? ""} value={data.node.template[n].value ?? ""}

View file

@ -64,7 +64,7 @@ export default function ModalField({
disabled={false} disabled={false}
value={ value={
!data.node.template[name].value || !data.node.template[name].value ||
data.node.template[name].value === "" data.node.template[name].value === ""
? [""] ? [""]
: data.node.template[name].value : data.node.template[name].value
} }
@ -160,6 +160,11 @@ export default function ModalField({
) : type === "code" ? ( ) : type === "code" ? (
<div className="w-1/2"> <div className="w-1/2">
<CodeAreaComponent <CodeAreaComponent
dynamic={data.node.template[name].dynamic ?? false}
setNodeClass={(nodeClass) => {
data.node = nodeClass;
}}
nodeClass={data.node}
disabled={false} disabled={false}
value={data.node.template[name].value ?? ""} value={data.node.template[name].value ?? ""}
onChange={(t: string) => { onChange={(t: string) => {

View file

@ -35,11 +35,13 @@ export default function CodeAreaModal({
setValue, setValue,
nodeClass, nodeClass,
setNodeClass, setNodeClass,
dynamic
}: { }: {
setValue: (value: string) => void; setValue: (value: string) => void;
value: string; value: string;
nodeClass: APIClassType; nodeClass: APIClassType;
setNodeClass: (Class: APIClassType) => void; setNodeClass: (Class: APIClassType) => void;
dynamic?: boolean;
}) { }) {
const [open, setOpen] = useState(true); const [open, setOpen] = useState(true);
const [code, setCode] = useState(value); const [code, setCode] = useState(value);
@ -61,7 +63,8 @@ export default function CodeAreaModal({
function handleClick() { function handleClick() {
setLoading(true); setLoading(true);
postValidateCode(code) if(!dynamic){
postValidateCode(code)
.then((apiReturn) => { .then((apiReturn) => {
setLoading(false); setLoading(false);
if (apiReturn.data) { if (apiReturn.data) {
@ -98,13 +101,17 @@ export default function CodeAreaModal({
title: "There is something wrong with this code, please review it", title: "There is something wrong with this code, please review it",
}); });
}); });
postCustomComponent(code, nodeClass).then((apiReturn) => { }
const {data} = apiReturn; else
if (data) { {
setNodeClass(data); postCustomComponent(code, nodeClass).then((apiReturn) => {
setModalOpen(false); const {data} = apiReturn;
} if (data) {
}); setNodeClass(data);
setModalOpen(false);
}
});
}
// axios.get("/api/v1/custom_component_error").catch((err) => { // axios.get("/api/v1/custom_component_error").catch((err) => {
// console.log(err.response.data); // console.log(err.response.data);
// setError(err.response.data); // setError(err.response.data);

View file

@ -61,6 +61,7 @@ export type CodeAreaComponentType = {
editNode?: boolean; editNode?: boolean;
nodeClass: APIClassType; nodeClass: APIClassType;
setNodeClass: (value: APIClassType) => void; setNodeClass: (value: APIClassType) => void;
dynamic?: boolean;
}; };
export type FileComponentType = { export type FileComponentType = {