import React, { useEffect, useRef } from "react"; import { NodeRendererProps } from "../types/renderers"; import { IdObj } from "../types/utils"; export function DefaultNode(props: NodeRendererProps) { return (
{ e.stopPropagation(); props.node.toggle(); }} > {props.node.isLeaf ? "🌳" : props.node.isOpen ? "🗁" : "🗀"} {" "} {props.node.isEditing ? : }
); } function Show(props: NodeRendererProps) { return ( <> {/* @ts-ignore */} {props.node.data.name} ); } function Edit({ node }: NodeRendererProps) { const input = useRef(); useEffect(() => { input.current?.focus(); input.current?.select(); }, []); return ( node.reset()} onKeyDown={(e) => { if (e.key === "Escape") node.reset(); if (e.key === "Enter") node.submit(input.current?.value || ""); }} > ); }