refactor(hooks): rename useUpdateNodeData to useSetNodeData and adjust api

This commit is contained in:
moklick
2023-12-12 13:51:58 +01:00
parent 6cf8589ea8
commit 75979922ea
11 changed files with 72 additions and 50 deletions
@@ -1,10 +1,10 @@
import { memo, ChangeEventHandler } from 'react';
import { Position, NodeProps, useUpdateNodeData, Handle } from '@xyflow/react';
import { Position, NodeProps, useSetNodeData, Handle } from '@xyflow/react';
function TextNode({ id, data }: NodeProps) {
const updateNodeData = useUpdateNodeData();
const setNodeData = useSetNodeData();
const onChange: ChangeEventHandler<HTMLInputElement> = (evt) => updateNodeData(id, { text: evt.target.value });
const onChange: ChangeEventHandler<HTMLInputElement> = (evt) => setNodeData(id, { text: evt.target.value });
return (
<div style={{ background: '#eee', color: '#222', padding: 10, fontSize: 12, borderRadius: 10 }}>
@@ -1,15 +1,15 @@
import { memo, useEffect } from 'react';
import { Position, NodeProps, useUpdateNodeData, Handle, useHandleConnections, useNodesData } from '@xyflow/react';
import { Position, NodeProps, useSetNodeData, Handle, useHandleConnections, useNodesData } from '@xyflow/react';
function UppercaseNode({ id }: NodeProps) {
const connections = useHandleConnections({
type: 'target',
});
const nodeData = useNodesData(connections[0]?.source);
const updateNodeData = useUpdateNodeData();
const setNodeData = useSetNodeData();
useEffect(() => {
updateNodeData(id, { text: nodeData?.text.toUpperCase() });
setNodeData(id, { text: nodeData?.text.toUpperCase() });
}, [nodeData]);
return (
@@ -4,7 +4,6 @@
Position,
useHandleConnections,
useNodesData,
useUpdateNodeData,
type NodeProps
} from '@xyflow/svelte';
@@ -1,12 +1,12 @@
<script lang="ts">
import { Handle, Position, type NodeProps, useUpdateNodeData } from '@xyflow/svelte';
import { Handle, Position, type NodeProps, useSetNodeData } from '@xyflow/svelte';
type $$Props = NodeProps;
export let id: $$Props['id'];
export let data: $$Props['data'];
const updateNodeData = useUpdateNodeData();
const setNodeData = useSetNodeData();
</script>
<div class="custom">
@@ -14,7 +14,7 @@
<div>
<input
value={data.text}
on:input={(evt) => updateNodeData(id, { text: evt.currentTarget.value })}
on:input={(evt) => setNodeData(id, { text: evt.currentTarget.value })}
/>
</div>
<Handle type="source" position={Position.Right} />
@@ -5,14 +5,14 @@
type NodeProps,
useHandleConnections,
useNodesData,
useUpdateNodeData
useSetNodeData
} from '@xyflow/svelte';
type $$Props = NodeProps;
export let id: $$Props['id'];
const updateNodeData = useUpdateNodeData();
const setNodeData = useSetNodeData();
const connections = useHandleConnections({
nodeId: id,
type: 'target'
@@ -21,7 +21,7 @@
$: nodeData = useNodesData($connections[0]?.source);
$: {
updateNodeData(id, { text: $nodeData?.text?.toUpperCase() || '' });
setNodeData(id, { text: $nodeData?.text?.toUpperCase() || '' });
}
</script>