@gravity-ui/graph
Version:
Modern graph editor component
15 lines (14 loc) • 581 B
JavaScript
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();
}