From eabbdb1f16f3d64d3bef154384717d7f2af9a78d Mon Sep 17 00:00:00 2001 From: Rizky Date: Wed, 29 Nov 2023 17:44:08 +0700 Subject: [PATCH] wip fix --- .../nova/ed/panel/popup/comp/comp-popup.tsx | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/app/web/src/nova/ed/panel/popup/comp/comp-popup.tsx b/app/web/src/nova/ed/panel/popup/comp/comp-popup.tsx index 70f0e27d..13444549 100644 --- a/app/web/src/nova/ed/panel/popup/comp/comp-popup.tsx +++ b/app/web/src/nova/ed/panel/popup/comp/comp-popup.tsx @@ -129,6 +129,10 @@ export const EdPopComp = () => { flex-wrap: wrap; position: relative; } + + .dropping { + background: #efefff; + } ` )} > @@ -150,13 +154,38 @@ export const EdPopComp = () => { tree={tree} initialOpen={true} rootId={"comp-root"} - onDrop={() => {}} + onDrop={async (newTree, opt) => { + compPicker.tree = newTree; + p.render(); + + if ( + typeof opt.dragSourceId === "string" && + typeof opt.dropTargetId === "string" + ) { + db.component.update({ + where: { + id: opt.dragSourceId, + }, + data: { + id_component_group: opt.dropTargetId, + }, + }); + } + }} dragPreviewRender={() => <>} canDrag={() => true} + canDrop={(tree, opt) => { + if (opt.dropTarget?.data?.type === "component") + return false; + if (opt.dropTargetId === "comp-root") + return false; + return true; + }} classes={{ root: "tree-root flex-1", listItem: "listitem", container: "container", + dropTarget: "dropping", }} render={edPageTreeRender} />