chore(rfId): cleanup id handling
This commit is contained in:
@@ -18,7 +18,7 @@ const defaultSize = {
|
|||||||
[BackgroundVariant.Cross]: 6,
|
[BackgroundVariant.Cross]: 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
const selector = (s: ReactFlowState) => ({ transform: s.transform, rfId: s.rfId });
|
const selector = (s: ReactFlowState) => ({ transform: s.transform, patternId: `pattern-${s.rfId}` });
|
||||||
|
|
||||||
function Background({
|
function Background({
|
||||||
variant = BackgroundVariant.Dots,
|
variant = BackgroundVariant.Dots,
|
||||||
@@ -32,7 +32,7 @@ function Background({
|
|||||||
className,
|
className,
|
||||||
}: BackgroundProps) {
|
}: BackgroundProps) {
|
||||||
const ref = useRef<SVGSVGElement>(null);
|
const ref = useRef<SVGSVGElement>(null);
|
||||||
const { transform, rfId } = useStore(selector, shallow);
|
const { transform, patternId } = useStore(selector, shallow);
|
||||||
const patternColor = color || defaultColor[variant];
|
const patternColor = color || defaultColor[variant];
|
||||||
const patternSize = size || defaultSize[variant];
|
const patternSize = size || defaultSize[variant];
|
||||||
const isDots = variant === BackgroundVariant.Dots;
|
const isDots = variant === BackgroundVariant.Dots;
|
||||||
@@ -61,7 +61,7 @@ function Background({
|
|||||||
ref={ref}
|
ref={ref}
|
||||||
>
|
>
|
||||||
<pattern
|
<pattern
|
||||||
id={rfId}
|
id={patternId}
|
||||||
x={transform[0] % scaledGap[0]}
|
x={transform[0] % scaledGap[0]}
|
||||||
y={transform[1] % scaledGap[1]}
|
y={transform[1] % scaledGap[1]}
|
||||||
width={scaledGap[0]}
|
width={scaledGap[0]}
|
||||||
@@ -75,7 +75,7 @@ function Background({
|
|||||||
<LinePattern dimensions={patternDimensions} color={patternColor} lineWidth={lineWidth} />
|
<LinePattern dimensions={patternDimensions} color={patternColor} lineWidth={lineWidth} />
|
||||||
)}
|
)}
|
||||||
</pattern>
|
</pattern>
|
||||||
<rect x="0" y="0" width="100%" height="100%" fill={`url(#${rfId})`} />
|
<rect x="0" y="0" width="100%" height="100%" fill={`url(#${patternId})`} />
|
||||||
</svg>
|
</svg>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,8 +44,7 @@ type StoreUpdaterProps = Pick<
|
|||||||
| 'onSelectionDragStop'
|
| 'onSelectionDragStop'
|
||||||
| 'noPanClassName'
|
| 'noPanClassName'
|
||||||
| 'nodeOrigin'
|
| 'nodeOrigin'
|
||||||
| 'id'
|
> & { rfId: string };
|
||||||
>;
|
|
||||||
|
|
||||||
const selector = (s: ReactFlowState) => ({
|
const selector = (s: ReactFlowState) => ({
|
||||||
setNodes: s.setNodes,
|
setNodes: s.setNodes,
|
||||||
@@ -117,7 +116,7 @@ const StoreUpdater = ({
|
|||||||
onSelectionDragStop,
|
onSelectionDragStop,
|
||||||
noPanClassName,
|
noPanClassName,
|
||||||
nodeOrigin,
|
nodeOrigin,
|
||||||
id,
|
rfId,
|
||||||
}: StoreUpdaterProps) => {
|
}: StoreUpdaterProps) => {
|
||||||
const {
|
const {
|
||||||
setNodes,
|
setNodes,
|
||||||
@@ -169,7 +168,7 @@ const StoreUpdater = ({
|
|||||||
useDirectStoreUpdater('onSelectionDragStop', onSelectionDragStop, store.setState);
|
useDirectStoreUpdater('onSelectionDragStop', onSelectionDragStop, store.setState);
|
||||||
useDirectStoreUpdater('noPanClassName', noPanClassName, store.setState);
|
useDirectStoreUpdater('noPanClassName', noPanClassName, store.setState);
|
||||||
useDirectStoreUpdater('nodeOrigin', nodeOrigin, store.setState);
|
useDirectStoreUpdater('nodeOrigin', nodeOrigin, store.setState);
|
||||||
useDirectStoreUpdater('rfId', id, store.setState);
|
useDirectStoreUpdater('rfId', rfId, store.setState);
|
||||||
|
|
||||||
useStoreUpdater<Node[]>(nodes, setNodes);
|
useStoreUpdater<Node[]>(nodes, setNodes);
|
||||||
useStoreUpdater<Edge[]>(edges, setEdges);
|
useStoreUpdater<Edge[]>(edges, setEdges);
|
||||||
|
|||||||
@@ -275,7 +275,7 @@ const ReactFlow = forwardRef<ReactFlowRefType, ReactFlowProps>(
|
|||||||
onSelectionDragStop={onSelectionDragStop}
|
onSelectionDragStop={onSelectionDragStop}
|
||||||
noPanClassName={noPanClassName}
|
noPanClassName={noPanClassName}
|
||||||
nodeOrigin={nodeOrigin}
|
nodeOrigin={nodeOrigin}
|
||||||
id={rfId}
|
rfId={rfId}
|
||||||
/>
|
/>
|
||||||
<SelectionListener onSelectionChange={onSelectionChange} />
|
<SelectionListener onSelectionChange={onSelectionChange} />
|
||||||
{children}
|
{children}
|
||||||
|
|||||||
Reference in New Issue
Block a user