chore(example): add hidden checkbox

This commit is contained in:
moklick
2020-12-10 12:36:28 +01:00
parent a64a1239a9
commit 189cd21ee5
+19
View File
@@ -12,6 +12,7 @@ const UpdateNode = () => {
const [elements, setElements] = useState(initialElements); const [elements, setElements] = useState(initialElements);
const [nodeName, setNodeName] = useState('Node 1'); const [nodeName, setNodeName] = useState('Node 1');
const [nodeBg, setNodeBg] = useState('#eee'); const [nodeBg, setNodeBg] = useState('#eee');
const [nodeHidden, setNodeHidden] = useState(false);
useEffect(() => { useEffect(() => {
setElements((els) => setElements((els) =>
@@ -42,6 +43,19 @@ const UpdateNode = () => {
); );
}, [nodeBg, setElements]); }, [nodeBg, setElements]);
useEffect(() => {
setElements((els) =>
els.map((el) => {
if (el.id === '1' || el.id === 'e1-2') {
// when you update a simple type you can just update the value
el.isHidden = nodeHidden;
}
return el;
})
);
}, [nodeHidden, setElements]);
return ( return (
<ReactFlow elements={elements} defaultZoom={1.5} minZoom={0.2} maxZoom={4}> <ReactFlow elements={elements} defaultZoom={1.5} minZoom={0.2} maxZoom={4}>
<div style={{ position: 'absolute', right: 10, top: 10, zIndex: 4, fontSize: 12 }}> <div style={{ position: 'absolute', right: 10, top: 10, zIndex: 4, fontSize: 12 }}>
@@ -50,6 +64,11 @@ const UpdateNode = () => {
<label style={{ display: 'block', marginTop: 10 }}>background:</label> <label style={{ display: 'block', marginTop: 10 }}>background:</label>
<input value={nodeBg} onChange={(evt) => setNodeBg(evt.target.value)} /> <input value={nodeBg} onChange={(evt) => setNodeBg(evt.target.value)} />
<div style={{ marginTop: 10, display: 'flex', alignItems: 'center' }}>
<label>hidden:</label>
<input type="checkbox" checked={nodeHidden} onChange={(evt) => setNodeHidden(evt.target.checked)} />
</div>
</div> </div>
</ReactFlow> </ReactFlow>
); );