From 607c034254c381bec201b800e8bb45f3a0bc2b21 Mon Sep 17 00:00:00 2001 From: Rizky Date: Sat, 25 Nov 2023 11:57:28 +0700 Subject: [PATCH] wip fix open tree --- app/web/src/nova/ed/panel/tree/body.tsx | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/app/web/src/nova/ed/panel/tree/body.tsx b/app/web/src/nova/ed/panel/tree/body.tsx index b2bcb6d3..9c1380d2 100644 --- a/app/web/src/nova/ed/panel/tree/body.tsx +++ b/app/web/src/nova/ed/panel/tree/body.tsx @@ -5,7 +5,7 @@ import { PlaceholderRender, TreeMethods, } from "@minoru/react-dnd-treeview"; -import { FC } from "react"; +import { FC, useEffect } from "react"; import { useGlobal, useLocal } from "web-utils"; import { EDGlobal, EdMeta, active } from "../../logic/ed-global"; import { DEPTH_WIDTH } from "./node/item/indent"; @@ -40,6 +40,24 @@ export const EdTreeBody = () => { } } + useEffect(() => { + if (local.tree) { + let parents = []; + if (active.comp_id) { + parents = p.comp.list[local.comp_id].scope[active.item_id].p; + } else { + parents = p.page.scope[active.item_id].p; + } + if (parents.length === 1) { + local.tree.open( + tree.filter((e) => e.parent === "root").map((e) => e.id) + ); + } else { + local.tree.open(parents); + } + } + }, [active.item_id, active.comp_id]); + if (tree.length === 0) return (