123456789101112131415161718192021222324252627282930313233 |
- import React from "react";
- import useGraph from "src/store/useGraph";
- const useHideNodes = () => {
- const collapsedNodes = useGraph(state => state.collapsedNodes);
- const collapsedEdges = useGraph(state => state.collapsedEdges);
- const nodeList = React.useMemo(
- () => collapsedNodes.map(id => `[id$="node-${id}"]`),
- [collapsedNodes]
- );
- const edgeList = React.useMemo(
- () => collapsedEdges.map(id => `[class$="edge-${id}"]`),
- [collapsedEdges]
- );
- const checkNodes = () => {
- const hiddenItems = document.querySelectorAll(".hide");
- hiddenItems.forEach(item => item.classList.remove("hide"));
- if (nodeList.length > 1) {
- const selectedNodes = document.querySelectorAll(nodeList.join(","));
- const selectedEdges = document.querySelectorAll(edgeList.join(","));
- selectedNodes.forEach(node => node.classList.add("hide"));
- selectedEdges.forEach(edge => edge.classList.add("hide"));
- }
- };
- return { checkNodes };
- };
- export default useHideNodes;
|