diff --git a/app/web/src/render/ed/panel/tree/node/item/indent-hook.ts b/app/web/src/render/ed/panel/tree/node/item/indent-hook.ts index 18d0f6bc..fec6f25f 100644 --- a/app/web/src/render/ed/panel/tree/node/item/indent-hook.ts +++ b/app/web/src/render/ed/panel/tree/node/item/indent-hook.ts @@ -7,6 +7,7 @@ export const indentHook = ( local: { tree: null | TreeMethods; render: () => void } ) => { useEffect(() => { + p.ui.tree.rename_id = ""; if (p.ui.prevent_indent_hook) { p.ui.prevent_indent_hook = false; return; diff --git a/app/web/src/render/ed/panel/tree/node/item/name.tsx b/app/web/src/render/ed/panel/tree/node/item/name.tsx index e6c3a437..28bec61e 100644 --- a/app/web/src/render/ed/panel/tree/node/item/name.tsx +++ b/app/web/src/render/ed/panel/tree/node/item/name.tsx @@ -1,6 +1,7 @@ import { NodeModel, RenderParams } from "@minoru/react-dnd-treeview"; import { EDGlobal, EdMeta } from "../../../../logic/ed-global"; import { useGlobal, useLocal } from "web-utils"; +import { useEffect } from "react"; export const EdTreeName = ({ node, @@ -10,17 +11,18 @@ export const EdTreeName = ({ prm: RenderParams; }) => { const p = useGlobal(EDGlobal, "EDITOR"); - const local = useLocal( - { - rename: "", - }, - () => { - local.rename = item?.name || ""; - } - ); + const local = useLocal({ + rename: "", + }); + useEffect(() => { + local.rename = item?.name || ""; + }, [p.ui.tree.rename_id]); + const item = node.data?.item; const mitem = node.data?.mitem; + if (!item || !mitem) return <>; + const isRenaming = p.ui.tree.rename_id === item.id; return (