add hide/unhide buttons to example
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
import { MouseEvent, useCallback } from 'react';
|
import { MouseEvent, useCallback, useState } from 'react';
|
||||||
import {
|
import {
|
||||||
ReactFlow,
|
ReactFlow,
|
||||||
MiniMap,
|
MiniMap,
|
||||||
@@ -134,8 +134,13 @@ const BasicFlow = () => {
|
|||||||
});
|
});
|
||||||
fitView();
|
fitView();
|
||||||
};
|
};
|
||||||
|
const [isHidden, setIsHidden] = useState(false);
|
||||||
|
|
||||||
|
const toggleVisibility = () => {
|
||||||
|
setIsHidden(!isHidden);
|
||||||
|
};
|
||||||
return (
|
return (
|
||||||
|
<>
|
||||||
<ReactFlow
|
<ReactFlow
|
||||||
defaultNodes={initialNodes}
|
defaultNodes={initialNodes}
|
||||||
defaultEdges={initialEdges}
|
defaultEdges={initialEdges}
|
||||||
@@ -148,6 +153,7 @@ const BasicFlow = () => {
|
|||||||
onSelectionDrag={printSelectionEvent('selection drag')}
|
onSelectionDrag={printSelectionEvent('selection drag')}
|
||||||
onSelectionDragStop={printSelectionEvent('selection drag stop')}
|
onSelectionDragStop={printSelectionEvent('selection drag stop')}
|
||||||
className="react-flow-basic-example"
|
className="react-flow-basic-example"
|
||||||
|
style={{ display: isHidden ? 'none' : 'block' }}
|
||||||
minZoom={0.2}
|
minZoom={0.2}
|
||||||
maxZoom={4}
|
maxZoom={4}
|
||||||
fitView
|
fitView
|
||||||
@@ -175,6 +181,10 @@ const BasicFlow = () => {
|
|||||||
<button onClick={addNode}>addNode</button>
|
<button onClick={addNode}>addNode</button>
|
||||||
</Panel>
|
</Panel>
|
||||||
</ReactFlow>
|
</ReactFlow>
|
||||||
|
<button onClick={toggleVisibility} style={{ position: 'absolute', zIndex: 10, right: 10, top: 100 }}>
|
||||||
|
{isHidden ? 'Show' : 'Hide'} Flow
|
||||||
|
</button>
|
||||||
|
</>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -155,6 +155,8 @@
|
|||||||
// console.log(edges.map((edge) => ({ id: edge.id, selected: edge.selected })));
|
// console.log(edges.map((edge) => ({ id: edge.id, selected: edge.selected })));
|
||||||
edges.forEach((edge) => console.log({ id: edge.id, selected: edge.selected }));
|
edges.forEach((edge) => console.log({ id: edge.id, selected: edge.selected }));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let hidden = $state(false);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- oninit={() => console.log('on init')}
|
<!-- oninit={() => console.log('on init')}
|
||||||
@@ -197,6 +199,7 @@
|
|||||||
}} -->
|
}} -->
|
||||||
|
|
||||||
<SvelteFlow
|
<SvelteFlow
|
||||||
|
style="display:{hidden ? 'none' : 'block'}"
|
||||||
bind:nodes
|
bind:nodes
|
||||||
bind:edges
|
bind:edges
|
||||||
{nodeTypes}
|
{nodeTypes}
|
||||||
@@ -247,7 +250,20 @@
|
|||||||
<InitTracker />
|
<InitTracker />
|
||||||
</SvelteFlow>
|
</SvelteFlow>
|
||||||
|
|
||||||
|
<button
|
||||||
|
class="hide"
|
||||||
|
onclick={() => {
|
||||||
|
hidden = !hidden;
|
||||||
|
}}>Hide/Unhide</button
|
||||||
|
>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
.hide {
|
||||||
|
position: absolute;
|
||||||
|
top: 80px;
|
||||||
|
right: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
/* --background-color: #ffffdd; */
|
/* --background-color: #ffffdd; */
|
||||||
--background-pattern-color: #5050ff;
|
--background-pattern-color: #5050ff;
|
||||||
|
|||||||
Reference in New Issue
Block a user