@@ -19,7 +19,7 @@ export const useNodeKey = <
19
19
nodeKey,
20
20
select
21
21
} :{
22
- nodeKey : NodeKey < ConfiguredNodeTypeMap , NodeType > ,
22
+ nodeKey ? : NodeKey < ConfiguredNodeTypeMap , NodeType > ,
23
23
select ?: ( data : NodeShape < ConfiguredNodeTypeMap [ NodeType ] > ) => Data
24
24
} ) => {
25
25
const queryOptions = NodeKeyQueryOptions ( { nodeKey, select} )
@@ -73,21 +73,25 @@ export const useNodeKey = <
73
73
}
74
74
} )
75
75
const deleteMutation = useMutation ( {
76
- mutationFn : async ( ) => {
76
+ mutationFn : async ( {
77
+ nodeKey
78
+ } : {
79
+ nodeKey : NodeKey < ConfiguredNodeTypeMap , NodeType >
80
+ } ) => {
77
81
console . log ( "Running Mutation: " , 'deleteNode({ nodeType: ' + nodeKey . nodeType + 'nodeId: ' + nodeKey . nodeId )
78
- const { data : parentNodeKey } = await deleteNode ( { nodeKey : { nodeType : nodeKey . nodeType , nodeId : nodeKey . nodeId } } )
79
- if ( ! parentNodeKey ) throw new Error ( "Failed to delete node" )
80
- return parentNodeKey
82
+ const { data : parentNodeKeys } = await deleteNode ( { nodeKey : { nodeType : nodeKey . nodeType , nodeId : nodeKey . nodeId } } )
83
+ if ( ! parentNodeKeys ) throw new Error ( "Failed to delete node" )
84
+ return { deletedNodeKey : nodeKey , parentNodeKeys }
81
85
} ,
82
- onSuccess : ( parentNodeKeys ) => {
83
- queryClient . setQueryData ( [ nodeKey . nodeType , nodeKey . nodeId ] , null )
86
+ onSuccess : ( { parentNodeKeys, deletedNodeKey } ) => {
87
+ queryClient . setQueryData ( [ deletedNodeKey . nodeType , deletedNodeKey . nodeId ] , null )
84
88
parentNodeKeys . forEach ( ( { parentNodeId, parentNodeType } ) => {
85
89
queryClient . invalidateQueries ( {
86
- queryKey : [ parentNodeType , parentNodeId , nodeKey . nodeType ]
90
+ queryKey : [ parentNodeType , parentNodeId , deletedNodeKey . nodeType ]
87
91
} )
88
92
} )
89
93
queryClient . invalidateQueries ( {
90
- queryKey : [ nodeKey . nodeType ]
94
+ queryKey : [ deletedNodeKey . nodeType ]
91
95
} )
92
96
}
93
97
} )
0 commit comments