chore(examples): make dev tools example reusable

This commit is contained in:
moklick
2024-04-10 14:56:40 +02:00
parent 8491883ee1
commit 961b5a936c
5 changed files with 8 additions and 6 deletions
@@ -59,7 +59,7 @@ const CustomMiniMapNodeFlow = () => {
onNodeClick={onNodeClick}
onConnect={(p) => onConnect(p)}
onNodeDragStop={onNodeDragStop}
onlyRenderVisibleElements={false}
onlyRenderVisibleElements={true}
>
<Controls />
<Background variant={BackgroundVariant.Lines} />
@@ -1,16 +1,18 @@
import { useState, type Dispatch, type SetStateAction, type ReactNode, HTMLAttributes } from 'react';
import { Panel } from '@xyflow/react';
import { Panel, PanelPosition } from '@xyflow/react';
import NodeInspector from './NodeInspector';
import ChangeLogger from './ChangeLogger';
export default function ReactFlowDevTools() {
import './style.css';
export default function ReactFlowDevTools({ position = 'top-left' }: { position: PanelPosition }) {
const [nodeInspectorActive, setNodeInspectorActive] = useState(false);
const [changeLoggerActive, setChangeLoggerActive] = useState(false);
return (
<div className="react-flow__devtools">
<Panel position="top-left">
<Panel position={position}>
<DevToolButton setActive={setNodeInspectorActive} active={nodeInspectorActive} title="Toggle Node Inspector">
Node Inspector
</DevToolButton>
@@ -2,7 +2,6 @@ import { useCallback } from 'react';
import { ReactFlow, addEdge, Node, Connection, Edge, useNodesState, useEdgesState } from '@xyflow/react';
import DevTools from './DevTools';
import './Devtools/style.css';
const initNodes: Node[] = [
{
@@ -11,6 +11,7 @@ import {
MiniMap,
Controls,
} from '@xyflow/react';
import ReactFlowDevTools from '../DevTools/DevTools';
const initialNodes: Node[] = [
{
@@ -82,6 +83,7 @@ const HiddenFlow = () => {
>
<MiniMap />
<Controls />
<ReactFlowDevTools position="top-right" />
<div style={{ position: 'absolute', left: 10, top: 10, zIndex: 4 }}>
<div>
@@ -100,7 +100,6 @@ export function NodeWrapper<NodeType extends Node>({
useEffect(() => {
if (nodeRef.current && !node.hidden) {
const currNode = nodeRef.current;
if (!initialized || !hasHandleBounds) {
resizeObserver?.unobserve(currNode);
resizeObserver?.observe(currNode);