feat(ui): remove nodeReplaced action

This commit is contained in:
psychedelicious 2024-05-19 14:44:27 +10:00
parent 1d7671298f
commit 9a8e0842bb
2 changed files with 8 additions and 12 deletions

View File

@ -1,7 +1,7 @@
import { logger } from 'app/logging/logger'; import { logger } from 'app/logging/logger';
import type { AppStartListening } from 'app/store/middleware/listenerMiddleware'; import type { AppStartListening } from 'app/store/middleware/listenerMiddleware';
import { updateAllNodesRequested } from 'features/nodes/store/actions'; import { updateAllNodesRequested } from 'features/nodes/store/actions';
import { $templates, nodeReplaced } from 'features/nodes/store/nodesSlice'; import { $templates, nodesChanged } from 'features/nodes/store/nodesSlice';
import { NodeUpdateError } from 'features/nodes/types/error'; import { NodeUpdateError } from 'features/nodes/types/error';
import { isInvocationNode } from 'features/nodes/types/invocation'; import { isInvocationNode } from 'features/nodes/types/invocation';
import { getNeedsUpdate, updateNode } from 'features/nodes/util/node/nodeUpdate'; import { getNeedsUpdate, updateNode } from 'features/nodes/util/node/nodeUpdate';
@ -31,7 +31,12 @@ export const addUpdateAllNodesRequestedListener = (startAppListening: AppStartLi
} }
try { try {
const updatedNode = updateNode(node, template); const updatedNode = updateNode(node, template);
dispatch(nodeReplaced({ nodeId: updatedNode.id, node: updatedNode })); dispatch(
nodesChanged([
{ type: 'remove', id: updatedNode.id },
{ type: 'add', item: updatedNode },
])
);
} catch (e) { } catch (e) {
if (e instanceof NodeUpdateError) { if (e instanceof NodeUpdateError) {
unableToUpdateCount++; unableToUpdateCount++;

View File

@ -49,7 +49,7 @@ import type { AnyNode, InvocationNodeEdge } from 'features/nodes/types/invocatio
import { isInvocationNode, isNotesNode } from 'features/nodes/types/invocation'; import { isInvocationNode, isNotesNode } from 'features/nodes/types/invocation';
import { atom } from 'nanostores'; import { atom } from 'nanostores';
import type { MouseEvent } from 'react'; import type { MouseEvent } from 'react';
import type { Edge, EdgeChange, Node, NodeChange, Viewport, XYPosition } from 'reactflow'; import type { Edge, EdgeChange, NodeChange, Viewport, XYPosition } from 'reactflow';
import { applyEdgeChanges, applyNodeChanges, getConnectedEdges, getIncomers, getOutgoers } from 'reactflow'; import { applyEdgeChanges, applyNodeChanges, getConnectedEdges, getIncomers, getOutgoers } from 'reactflow';
import type { UndoableOptions } from 'redux-undo'; import type { UndoableOptions } from 'redux-undo';
import type { z } from 'zod'; import type { z } from 'zod';
@ -94,13 +94,6 @@ export const nodesSlice = createSlice({
nodesChanged: (state, action: PayloadAction<NodeChange[]>) => { nodesChanged: (state, action: PayloadAction<NodeChange[]>) => {
state.nodes = applyNodeChanges(action.payload, state.nodes); state.nodes = applyNodeChanges(action.payload, state.nodes);
}, },
nodeReplaced: (state, action: PayloadAction<{ nodeId: string; node: Node }>) => {
const nodeIndex = state.nodes.findIndex((n) => n.id === action.payload.nodeId);
if (nodeIndex < 0) {
return;
}
state.nodes[nodeIndex] = action.payload.node;
},
edgesChanged: (state, action: PayloadAction<EdgeChange[]>) => { edgesChanged: (state, action: PayloadAction<EdgeChange[]>) => {
const changes = deepClone(action.payload); const changes = deepClone(action.payload);
action.payload.forEach((change) => { action.payload.forEach((change) => {
@ -463,7 +456,6 @@ export const {
fieldSchedulerValueChanged, fieldSchedulerValueChanged,
fieldStringValueChanged, fieldStringValueChanged,
fieldVaeModelValueChanged, fieldVaeModelValueChanged,
nodeReplaced,
nodeEditorReset, nodeEditorReset,
nodeExclusivelySelected, nodeExclusivelySelected,
nodeIsIntermediateChanged, nodeIsIntermediateChanged,
@ -586,7 +578,6 @@ export const isAnyNodeOrEdgeMutation = isAnyOf(
fieldStringValueChanged, fieldStringValueChanged,
fieldVaeModelValueChanged, fieldVaeModelValueChanged,
nodesChanged, nodesChanged,
nodeReplaced,
nodeIsIntermediateChanged, nodeIsIntermediateChanged,
nodeIsOpenChanged, nodeIsOpenChanged,
nodeLabelChanged, nodeLabelChanged,