Validation with multiple base classes done

This commit is contained in:
Lucas Oliveira 2023-02-17 16:59:41 -03:00
commit ddb648dcbf
8 changed files with 28 additions and 21 deletions

View file

@ -18,6 +18,7 @@ export default function ParameterComponent({
color,
type,
name = "",
required = false,
}) {
const ref = useRef(null);
const updateNodeInternals = useUpdateNodeInternals();
@ -38,8 +39,8 @@ export default function ParameterComponent({
return (
<div ref={ref} className="w-full flex flex-wrap justify-between items-center bg-gray-50 mt-1 px-5 py-2">
<>
<div className="text-sm truncate">{title}</div>
<Tooltip title={tooltipTitle}>
<div className="text-sm truncate">{title}<span className="text-red-600">{required ? " *" : ""}</span></div>
<Tooltip title={tooltipTitle + (required ? " (required)" : "")}>
<Handle
type={left ? "source" : "target"}
position={left ? Position.Left : Position.Right}
@ -60,6 +61,7 @@ export default function ParameterComponent({
{left === true && type === "str" ? (
<div className="mt-2 w-full">
<Input
value={data.node.template[name].value ?? ""}
onChange={(t) => {
data.node.template[name].value = t;
}}

View file

@ -35,7 +35,7 @@ export default function GenericNode({ data }) {
{Object.keys(data.node.template)
.filter((t) => t.charAt(0) !== "_")
.map((t, idx) => (
<>
<div key={idx}>
{idx === 0 ? (
<div className="px-5 py-2 mt-2 text-center">Inputs:</div>
) : (
@ -43,23 +43,22 @@ export default function GenericNode({ data }) {
)}
{data.node.template[t].show ? (
<ParameterComponent
key={idx}
data={data}
color={
nodeColors[data.types[data.node.template[t].type]] ??
"black"
}
title={
snakeToNormalCase(t) +
(data.node.template[t].required ? " (required)" : "")
snakeToNormalCase(t)
}
name={t}
tooltipTitle={
"Type: " +
data.node.template[t].type +
(data.node.template[t].list ? " list" : "") +
(data.node.template[t].required ? " (required)" : "")
(data.node.template[t].list ? " list" : "")
}
required={data.node.template[t].required}
id={data.node.template[t].type + "|" + t + "|" + data.id}
left={true}
type={data.node.template[t].type}
@ -67,15 +66,15 @@ export default function GenericNode({ data }) {
) : (
<></>
)}
</>
</div>
))}
<div className="px-5 py-2 mt-2 text-center">Output:</div>
<ParameterComponent
data={data}
color={nodeColors[data.type]}
title={data.name + " | " + data.node.base_class}
title={data.name +" |" + data.node.base_classes.map((b) => (" " + b))}
tooltipTitle={"Type: str"}
id={data.name + "|" + data.node.base_class + "|" + data.id}
id={data.name + "|" + data.id + data.node.base_classes.map((b) => ("|" + b))}
type={'str'}
left={false}
/>