Removed internal state of nodes, to fix undo/redo of fields
This commit is contained in:
parent
3c4d3ab5e2
commit
455da5a8e8
5 changed files with 2 additions and 22 deletions
|
|
@ -1,4 +1,3 @@
|
||||||
import { cloneDeep } from "lodash";
|
|
||||||
import React, {
|
import React, {
|
||||||
ReactNode,
|
ReactNode,
|
||||||
useContext,
|
useContext,
|
||||||
|
|
@ -46,7 +45,6 @@ export default function ParameterComponent({
|
||||||
left,
|
left,
|
||||||
id,
|
id,
|
||||||
data,
|
data,
|
||||||
setData,
|
|
||||||
tooltipTitle,
|
tooltipTitle,
|
||||||
title,
|
title,
|
||||||
color,
|
color,
|
||||||
|
|
@ -95,9 +93,7 @@ export default function ParameterComponent({
|
||||||
newValue: string | string[] | boolean | Object[]
|
newValue: string | string[] | boolean | Object[]
|
||||||
): void => {
|
): void => {
|
||||||
takeSnapshot();
|
takeSnapshot();
|
||||||
let newData = cloneDeep(data);
|
data.node!.template[name].value = newValue;
|
||||||
newData.node!.template[name].value = newValue;
|
|
||||||
setData(newData);
|
|
||||||
// Set state to pending
|
// Set state to pending
|
||||||
//@ts-ignore
|
//@ts-ignore
|
||||||
setTabsState((prev: TabsState) => {
|
setTabsState((prev: TabsState) => {
|
||||||
|
|
@ -444,9 +440,6 @@ export default function ParameterComponent({
|
||||||
field_name={name}
|
field_name={name}
|
||||||
setNodeClass={(nodeClass) => {
|
setNodeClass={(nodeClass) => {
|
||||||
data.node = nodeClass;
|
data.node = nodeClass;
|
||||||
const clone = cloneDeep(data);
|
|
||||||
clone.node = nodeClass;
|
|
||||||
setData(clone);
|
|
||||||
}}
|
}}
|
||||||
nodeClass={data.node}
|
nodeClass={data.node}
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ import { classNames, toTitleCase } from "../../utils/utils";
|
||||||
import ParameterComponent from "./components/parameterComponent";
|
import ParameterComponent from "./components/parameterComponent";
|
||||||
|
|
||||||
export default function GenericNode({
|
export default function GenericNode({
|
||||||
data: olddata,
|
data,
|
||||||
xPos,
|
xPos,
|
||||||
yPos,
|
yPos,
|
||||||
selected,
|
selected,
|
||||||
|
|
@ -33,7 +33,6 @@ export default function GenericNode({
|
||||||
xPos: number;
|
xPos: number;
|
||||||
yPos: number;
|
yPos: number;
|
||||||
}): JSX.Element {
|
}): JSX.Element {
|
||||||
const [data, setData] = useState(olddata);
|
|
||||||
const { updateFlow, flows, tabId } = useContext(TabsContext);
|
const { updateFlow, flows, tabId } = useContext(TabsContext);
|
||||||
const updateNodeInternals = useUpdateNodeInternals();
|
const updateNodeInternals = useUpdateNodeInternals();
|
||||||
const { types, deleteNode, reactFlowInstance, setFilterEdge, getFilterEdge } =
|
const { types, deleteNode, reactFlowInstance, setFilterEdge, getFilterEdge } =
|
||||||
|
|
@ -89,7 +88,6 @@ export default function GenericNode({
|
||||||
// State for outline color
|
// State for outline color
|
||||||
const { sseData, isBuilding } = useSSE();
|
const { sseData, isBuilding } = useSSE();
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
olddata.node = data.node;
|
|
||||||
let myFlow = flows.find((flow) => flow.id === tabId);
|
let myFlow = flows.find((flow) => flow.id === tabId);
|
||||||
if (reactFlowInstance && myFlow) {
|
if (reactFlowInstance && myFlow) {
|
||||||
let flow = cloneDeep(myFlow);
|
let flow = cloneDeep(myFlow);
|
||||||
|
|
@ -132,7 +130,6 @@ export default function GenericNode({
|
||||||
<NodeToolbarComponent
|
<NodeToolbarComponent
|
||||||
position={{ x: xPos, y: yPos }}
|
position={{ x: xPos, y: yPos }}
|
||||||
data={data}
|
data={data}
|
||||||
setData={setData}
|
|
||||||
deleteNode={deleteNode}
|
deleteNode={deleteNode}
|
||||||
setShowNode={setShowNode}
|
setShowNode={setShowNode}
|
||||||
numberOfHandles={handles}
|
numberOfHandles={handles}
|
||||||
|
|
@ -232,7 +229,6 @@ export default function GenericNode({
|
||||||
proxy: data.node!.template[templateField].proxy,
|
proxy: data.node!.template[templateField].proxy,
|
||||||
})}
|
})}
|
||||||
data={data}
|
data={data}
|
||||||
setData={setData}
|
|
||||||
color={
|
color={
|
||||||
nodeColors[
|
nodeColors[
|
||||||
types[data.node?.template[templateField].type!]
|
types[data.node?.template[templateField].type!]
|
||||||
|
|
@ -286,7 +282,6 @@ export default function GenericNode({
|
||||||
dataType: data.type,
|
dataType: data.type,
|
||||||
})}
|
})}
|
||||||
data={data}
|
data={data}
|
||||||
setData={setData}
|
|
||||||
color={nodeColors[types[data.type]] ?? nodeColors.unknown}
|
color={nodeColors[types[data.type]] ?? nodeColors.unknown}
|
||||||
title={
|
title={
|
||||||
data.node?.output_types &&
|
data.node?.output_types &&
|
||||||
|
|
@ -439,7 +434,6 @@ export default function GenericNode({
|
||||||
proxy: data.node!.template[templateField].proxy,
|
proxy: data.node!.template[templateField].proxy,
|
||||||
})}
|
})}
|
||||||
data={data}
|
data={data}
|
||||||
setData={setData}
|
|
||||||
color={
|
color={
|
||||||
nodeColors[
|
nodeColors[
|
||||||
types[data.node?.template[templateField].type!]
|
types[data.node?.template[templateField].type!]
|
||||||
|
|
@ -501,7 +495,6 @@ export default function GenericNode({
|
||||||
dataType: data.type,
|
dataType: data.type,
|
||||||
})}
|
})}
|
||||||
data={data}
|
data={data}
|
||||||
setData={setData}
|
|
||||||
color={nodeColors[types[data.type]] ?? nodeColors.unknown}
|
color={nodeColors[types[data.type]] ?? nodeColors.unknown}
|
||||||
title={
|
title={
|
||||||
data.node?.output_types && data.node.output_types.length > 0
|
data.node?.output_types && data.node.output_types.length > 0
|
||||||
|
|
|
||||||
|
|
@ -48,14 +48,12 @@ const EditNodeModal = forwardRef(
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
data,
|
data,
|
||||||
setData,
|
|
||||||
nodeLength,
|
nodeLength,
|
||||||
children,
|
children,
|
||||||
open,
|
open,
|
||||||
onClose,
|
onClose,
|
||||||
}: {
|
}: {
|
||||||
data: NodeDataType;
|
data: NodeDataType;
|
||||||
setData: (data: NodeDataType) => void;
|
|
||||||
nodeLength: number;
|
nodeLength: number;
|
||||||
children: ReactNode;
|
children: ReactNode;
|
||||||
open?: boolean;
|
open?: boolean;
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,6 @@ import { classNames, getRandomKeyByssmm } from "../../../../utils/utils";
|
||||||
|
|
||||||
export default function NodeToolbarComponent({
|
export default function NodeToolbarComponent({
|
||||||
data,
|
data,
|
||||||
setData,
|
|
||||||
deleteNode,
|
deleteNode,
|
||||||
position,
|
position,
|
||||||
setShowNode,
|
setShowNode,
|
||||||
|
|
@ -235,7 +234,6 @@ export default function NodeToolbarComponent({
|
||||||
{showModalAdvanced && (
|
{showModalAdvanced && (
|
||||||
<EditNodeModal
|
<EditNodeModal
|
||||||
data={data}
|
data={data}
|
||||||
setData={setData}
|
|
||||||
nodeLength={nodeLength}
|
nodeLength={nodeLength}
|
||||||
open={showModalAdvanced}
|
open={showModalAdvanced}
|
||||||
onClose={(modal) => {
|
onClose={(modal) => {
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ export type DropDownComponentType = {
|
||||||
};
|
};
|
||||||
export type ParameterComponentType = {
|
export type ParameterComponentType = {
|
||||||
data: NodeDataType;
|
data: NodeDataType;
|
||||||
setData: (value: NodeDataType) => void;
|
|
||||||
title: string;
|
title: string;
|
||||||
id: sourceHandleType | targetHandleType;
|
id: sourceHandleType | targetHandleType;
|
||||||
color: string;
|
color: string;
|
||||||
|
|
@ -433,7 +432,6 @@ export type fileCardPropsType = {
|
||||||
export type nodeToolbarPropsType = {
|
export type nodeToolbarPropsType = {
|
||||||
data: NodeDataType;
|
data: NodeDataType;
|
||||||
deleteNode: (idx: string) => void;
|
deleteNode: (idx: string) => void;
|
||||||
setData: (newState: NodeDataType) => void;
|
|
||||||
position: XYPosition;
|
position: XYPosition;
|
||||||
setShowNode: (boolean: any) => void;
|
setShowNode: (boolean: any) => void;
|
||||||
numberOfHandles: boolean[] | [];
|
numberOfHandles: boolean[] | [];
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue