From d69cab24c260c27660fe087160c47ef56dd34d44 Mon Sep 17 00:00:00 2001 From: Rizky Date: Tue, 12 Mar 2024 09:17:19 +0700 Subject: [PATCH] wip fix delete --- .../nova/ed/panel/popup/comp/comp-tree.tsx | 50 ++++++++++++++----- 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/app/web/src/nova/ed/panel/popup/comp/comp-tree.tsx b/app/web/src/nova/ed/panel/popup/comp/comp-tree.tsx index 1b091f81..13be0fd2 100644 --- a/app/web/src/nova/ed/panel/popup/comp/comp-tree.tsx +++ b/app/web/src/nova/ed/panel/popup/comp/comp-tree.tsx @@ -70,6 +70,13 @@ export const edPageTreeRender: NodeRender = ( } }; + let folder_item_count = 0; + if (item.type === "folder") { + folder_item_count = compPicker.tree.filter( + (e) => e.parent === item.id + ).length; + } + return (
= ( )} {item.type === "folder" && ( -
{ - e.stopPropagation(); - local.rename_to = item.name; - local.renaming = true; - local.render(); - }} - dangerouslySetInnerHTML={{ - __html: ``, - }} - >
+ <> +
{ + e.stopPropagation(); + local.rename_to = item.name; + local.renaming = true; + local.render(); + }} + dangerouslySetInnerHTML={{ + __html: ``, + }} + >
+ {folder_item_count === 0 && ( +
{ + e.stopPropagation(); + if (confirm("Delete empty folder?")) { + await _db.component_group.delete({ + where: { id: item.id }, + }); + reloadCompPicker(p); + } + }} + dangerouslySetInnerHTML={{ + __html: ``, + }} + >
+ )} + )}