-
-
-
+
{/*
{varSelects}
*/}
diff --git a/chain-forge/src/NodeLabelComponent.js b/chain-forge/src/NodeLabelComponent.js
index 3e5d203..b8e0170 100644
--- a/chain-forge/src/NodeLabelComponent.js
+++ b/chain-forge/src/NodeLabelComponent.js
@@ -1,10 +1,16 @@
-import { edit } from 'ace-builds';
import useStore from './store';
import { EditText } from 'react-edit-text';
import 'react-edit-text/dist/index.css';
+import StatusIndicator from './StatusIndicatorComponent';
+import AlertModal from './AlertModal';
+import { useState, useEffect} from 'react';
+import { CloseButton } from '@mantine/core';
-export default function NodeLabel({ title, nodeId, icon, onEdit, onSave, editable }) {
+export default function NodeLabel({ title, nodeId, icon, onEdit, onSave, editable, status, alertModal, handleRunClick }) {
const setDataPropsForNode = useStore((state) => state.setDataPropsForNode);
+ const [statusIndicator, setStatusIndicator] = useState('none');
+ const [runButton, setRunButton] = useState('none');
+ const removeNode = useStore((state) => state.removeNode);
const handleNodeLabelChange = (evt) => {
const { value } = evt;
@@ -16,15 +22,48 @@ export default function NodeLabel({ title, nodeId, icon, onEdit, onSave, editabl
if (onEdit) onEdit();
};
+ useEffect(() => {
+ if(status !== undefined) {
+ setStatusIndicator(
);
+ }
+ else {
+ setStatusIndicator(<>>);
+ }
+ }, [status]);
+
+ useEffect(() => {
+ if(handleRunClick !== undefined) {
+ setRunButton(
);
+ }
+ else {
+ setRunButton(<>>);
+ }
+ }, [handleRunClick]);
+
+ const handleCloseButtonClick = () => {
+ removeNode(nodeId);
+ }
+
return (<>
- {icon ? (<>{icon} >) : <>>}
-
+
+ {icon ? (<>{icon} >) : <>>}
+
+ {statusIndicator}
+
+
+ {runButton}
+
+
+
+ {/*
*/}
+
+
>);
}
\ No newline at end of file
diff --git a/chain-forge/src/PromptNode.js b/chain-forge/src/PromptNode.js
index 2e53965..639eee1 100644
--- a/chain-forge/src/PromptNode.js
+++ b/chain-forge/src/PromptNode.js
@@ -272,15 +272,14 @@ const PromptNode = ({ data, id }) => {
return (