UNPKG

@gravity-ui/graph

Version:

Modern graph editor component

15 lines (14 loc) 581 B
import { useMemo } from "react"; import { computed } from "@preact/signals-core"; import { isTBlock } from "../../components/canvas/blocks/Block"; import { useSignal } from "./useSignal"; export function useBlockState(graph, block) { const signal = useMemo(() => { return computed(() => graph.rootStore.blocksList.getBlockState(isTBlock(block) ? block.id : block)); }, [graph, block]); return useSignal(signal); } export function useBlockViewState(graph, block) { const blockState = useBlockState(graph, block); return blockState?.getViewComponent(); }