From 1b6d63bf74aac56219208e2a9eccf2f2bfabfc80 Mon Sep 17 00:00:00 2001 From: dohyeons Date: Thu, 23 Oct 2025 12:50:38 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=ED=96=89=20?= =?UTF-8?q?=EC=A4=84=EB=AC=B4=EB=8A=AC=20=EC=9E=AC=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/components/admin/dashboard/widgets/ListWidget.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/components/admin/dashboard/widgets/ListWidget.tsx b/frontend/components/admin/dashboard/widgets/ListWidget.tsx index e3a2a7e7..378d8825 100644 --- a/frontend/components/admin/dashboard/widgets/ListWidget.tsx +++ b/frontend/components/admin/dashboard/widgets/ListWidget.tsx @@ -255,7 +255,7 @@ export function ListWidget({ element }: ListWidgetProps) { ) : ( paginatedRows.map((row, idx) => ( - + {displayColumns .filter((col) => col.visible) .map((col) => ( From a4473eee3343128b62974ee8bc6563b1361fe3fe Mon Sep 17 00:00:00 2001 From: dohyeons Date: Thu, 23 Oct 2025 12:54:46 +0900 Subject: [PATCH 2/3] =?UTF-8?q?=EC=A0=81=EC=9A=A9=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EB=88=8C=EB=A0=80=EC=9D=84=20=EB=95=8C=20=EC=B4=88=EA=B8=B0=20?= =?UTF-8?q?=EC=9C=84=EC=B9=98,=20=EC=B4=88=EA=B8=B0=20=ED=81=AC=EA=B8=B0?= =?UTF-8?q?=EB=A1=9C=20=EB=90=98=EB=8F=8C=EC=95=84=EA=B0=80=EB=8A=94=20?= =?UTF-8?q?=EC=97=90=EB=9F=AC=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/dashboard/DashboardDesigner.tsx | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/frontend/components/admin/dashboard/DashboardDesigner.tsx b/frontend/components/admin/dashboard/DashboardDesigner.tsx index ee90063c..7d7e3cd6 100644 --- a/frontend/components/admin/dashboard/DashboardDesigner.tsx +++ b/frontend/components/admin/dashboard/DashboardDesigner.tsx @@ -392,12 +392,21 @@ export default function DashboardDesigner({ dashboardId: initialDashboardId }: D // 사이드바 적용 const handleApplySidebar = useCallback( (updatedElement: DashboardElement) => { - updateElement(updatedElement.id, updatedElement); - // 사이드바는 열린 채로 유지하여 연속 수정 가능 - // 단, sidebarElement도 업데이트해서 최신 상태 반영 - setSidebarElement(updatedElement); + // 현재 요소의 최신 상태를 가져와서 position과 size는 유지 + const currentElement = elements.find((el) => el.id === updatedElement.id); + if (currentElement) { + // position과 size는 현재 상태 유지, 나머지만 업데이트 + const finalElement = { + ...updatedElement, + position: currentElement.position, + size: currentElement.size, + }; + updateElement(finalElement.id, finalElement); + // 사이드바도 최신 상태로 업데이트 + setSidebarElement(finalElement); + } }, - [updateElement], + [elements, updateElement], ); // 레이아웃 저장 From ce7f02409c7e34b666fb6686dfc46ed171e4826a Mon Sep 17 00:00:00 2001 From: dohyeons Date: Thu, 23 Oct 2025 12:59:45 +0900 Subject: [PATCH 3/3] =?UTF-8?q?=EC=BB=AC=EB=9F=BC=20=EC=84=A4=EC=A0=95=20?= =?UTF-8?q?=EC=9A=94=EC=86=8C=20=EB=93=9C=EB=9E=98=EA=B1=B0=EB=B8=94=20?= =?UTF-8?q?=EC=86=8D=EC=84=B1=20=EB=B2=94=EC=9C=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../list-widget/UnifiedColumnEditor.tsx | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/frontend/components/admin/dashboard/widgets/list-widget/UnifiedColumnEditor.tsx b/frontend/components/admin/dashboard/widgets/list-widget/UnifiedColumnEditor.tsx index 53eb30b9..2ddaafdc 100644 --- a/frontend/components/admin/dashboard/widgets/list-widget/UnifiedColumnEditor.tsx +++ b/frontend/components/admin/dashboard/widgets/list-widget/UnifiedColumnEditor.tsx @@ -119,22 +119,13 @@ export function UnifiedColumnEditor({ queryResult, config, onConfigChange }: Uni return (
{ - handleDragStart(index); - e.currentTarget.style.cursor = "grabbing"; - }} onDragOver={(e) => handleDragOver(e, index)} onDrop={handleDrop} - onDragEnd={(e) => { - handleDragEnd(); - e.currentTarget.style.cursor = "grab"; - }} className={`group relative rounded-md border transition-all ${ col.visible ? "border-primary/40 bg-primary/5 shadow-sm" : "border-gray-200 bg-white hover:border-gray-300 hover:shadow-sm" - } cursor-grab active:cursor-grabbing ${draggedIndex === index ? "scale-95 opacity-50" : ""}`} + } ${draggedIndex === index ? "scale-95 opacity-50" : ""}`} > {/* 헤더 */}
@@ -143,7 +134,20 @@ export function UnifiedColumnEditor({ queryResult, config, onConfigChange }: Uni onCheckedChange={() => handleToggle(col.id)} className="data-[state=checked]:bg-primary data-[state=checked]:border-primary h-4 w-4 shrink-0 rounded-full" /> - +
{ + handleDragStart(index); + e.currentTarget.style.cursor = "grabbing"; + }} + onDragEnd={(e) => { + handleDragEnd(); + e.currentTarget.style.cursor = "grab"; + }} + className="cursor-grab active:cursor-grabbing" + > + +