import React, { useEffect } from 'react'; import G6 from '../../../src'; import { IGraph } from '../../../src/interface/graph'; // TODO issue #1483 let graph: IGraph = null; let data = { nodes: [ { id: '30', type: 'image', label: '30', cluster: 'd', }, { id: '38', label: '38', type: 'image', cluster: 'd', }, { id: '39', label: '39', cluster: 'd', }, { id: '37', label: '37', cluster: 'd', }] , edges: [{ id: '30-37', source: '30', target: '37', cluser: 'b', type: 'arc', curveOffset: 100 }, { id: '30-38', source: '30', target: '38', cluser: 'c', type: 'arc' }, { id: '30-39', source: '30', target: '39', cluser: 'c', type: 'arc' },] } let newData = { nodes: [{ id: '30', type: 'image', label: '30', cluster: 'd', }, { id: '38', label: '38', type: 'image', cluster: 'd', }, { id: '39', label: '39', cluster: 'd', }, { id: '37', label: '37', cluster: 'd', }], edges: [{ id: '30-37', source: '30', target: '37', cluser: 'b' }, { id: '30-38', source: '30', target: '38', cluser: 'b' }, { id: '30-39', source: '30', target: '39', cluser: 'b' },] } const HideItem = () => { const container = React.useRef(); useEffect(() => { if (!graph) { const graph = new G6.Graph({ container: container.current as string | HTMLElement, width: 500, height: 500, modes: { default: ['drag-canvas', 'drag-node'], }, animate: true, defaultNode: { size: 30, style: { lineWidth: 2, stroke: '#5B8FF9', fill: '#C6E5FF', }, }, defaultEdge: { size: 1, color: '#e2e2e2', style: { endArrow: { path: 'M 0,0 L 8,4 L 8,-4 Z', fill: '#e2e2e2' }, }, }, }); graph.data(data); graph.render(); graph.get('canvas').set('localRefresh', false); graph.on("node:click", function (node) { graph.changeData(newData) }); graph.on("canvas:click", (node) => { graph.getNodes().forEach(item => { if (item.get('id') != '30') { graph.hideItem(item); } }); }); } }); return
; }; export default HideItem;