Fixed name and description for Custom Component when they are empty

This commit is contained in:
Lucas Oliveira 2023-12-09 21:58:20 -03:00
commit 06e17ada01
6 changed files with 22 additions and 14 deletions

View file

@ -156,11 +156,16 @@ export default function ParameterComponent({
};
const handleNodeClass = (newNodeClass: APIClassType, code?: string): void => {
if (!data.node) return;
if (data.node!.template[name].value !== newNodeClass.template[name].value) {
takeSnapshot();
}
data.node = newNodeClass;
data.node.template[name].value = code;
data.node! = {
...newNodeClass,
description: newNodeClass.description ?? data.node!.description,
display_name: newNodeClass.display_name ?? data.node!.display_name,
};
data.node!.template[name].value = code;
updateNodeInternals(data.id);
// Set state to pending
//@ts-ignore

View file

@ -107,6 +107,8 @@ export default function GenericNode({
const showNode = data.showNode ?? true;
const nameEditable = data.node?.flow || data.type === "CustomComponent";
return (
<>
<NodeToolbar>
@ -164,7 +166,7 @@ export default function GenericNode({
/>
{showNode && (
<div className="generic-node-tooltip-div">
{data.node?.flow && inputName ? (
{nameEditable && inputName ? (
<div>
<InputComponent
onBlur={() => {
@ -194,7 +196,7 @@ export default function GenericNode({
<div className="generic-node-tooltip-div pr-2 text-primary">
{data.node?.display_name}
</div>
{data.node?.flow && (
{nameEditable && (
<IconComponent
name="Pencil"
className="h-4 w-4 text-ring"
@ -362,14 +364,14 @@ export default function GenericNode({
className={
showNode
? "overflow-hidden " +
(data.node?.description === "" && !data.node?.flow
(data.node?.description === "" && !nameEditable
? "pb-5"
: "py-5")
: ""
}
>
<div className="generic-node-desc">
{showNode && data.node?.flow && inputDescription ? (
{showNode && nameEditable && inputDescription ? (
<Textarea
autoFocus
onBlur={() => {
@ -401,7 +403,9 @@ export default function GenericNode({
<div
className={cn(
"generic-node-desc-text truncate-multiline word-break-break-word",
data.node?.description === "" && data.node?.flow
(data.node?.description === "" ||
!data.node?.description) &&
nameEditable
? "font-light italic"
: ""
)}
@ -410,7 +414,8 @@ export default function GenericNode({
takeSnapshot();
}}
>
{data.node?.description === "" && data.node?.flow
{(data.node?.description === "" || !data.node?.description) &&
nameEditable
? "Double Click to Edit Description"
: data.node?.description}
</div>