From ea414c2c5bc620f273d6bc69df53b5951758cb60 Mon Sep 17 00:00:00 2001 From: Johnson Cherian Date: Mon, 18 Dec 2023 16:58:18 +0530 Subject: [PATCH] feat: restrict scroll to bounds --- frontend/src/Editor/Container.jsx | 1 + frontend/src/Editor/DragContainer.jsx | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/src/Editor/Container.jsx b/frontend/src/Editor/Container.jsx index fa950280cd..8a7be9fc5a 100644 --- a/frontend/src/Editor/Container.jsx +++ b/frontend/src/Editor/Container.jsx @@ -439,6 +439,7 @@ export const Container = ({ // }, }; setBoxes(newBoxes); + updateCanvasHeight(newBoxes); } const paramUpdated = useCallback( diff --git a/frontend/src/Editor/DragContainer.jsx b/frontend/src/Editor/DragContainer.jsx index c7c98c4704..6152b34e9b 100644 --- a/frontend/src/Editor/DragContainer.jsx +++ b/frontend/src/Editor/DragContainer.jsx @@ -408,8 +408,10 @@ export default function DragContainer({ let left = e.lastEvent.translate[0]; let top = e.lastEvent.translate[1]; const currentWidget = boxes.find(({ id }) => id === e.target.id)?.component?.component; - const parentWidget = boxes.find(({ id }) => id === parentElem.id)?.component?.component; - const restrictedWidgets = restrictedWidgetsObj[parentWidget]; + const parentWidget = parentElem + ? boxes.find(({ id }) => id === parentElem.id)?.component?.component + : undefined; + const restrictedWidgets = restrictedWidgetsObj?.[parentWidget] || []; const isParentChangeAllowed = !restrictedWidgets.includes(currentWidget); if (parentElem && isParentChangeAllowed) { left = left - parentElem.left * gridWidth; @@ -497,6 +499,7 @@ export default function DragContainer({ elementGuidelines={list.map((l) => ({ element: `.ele-${l.id}`, className: 'grid-guide-lines' }))} isDisplaySnapDigit={false} snapGridWidth={gridWidth} + bounds={{ left: 0, top: 0, right: 0, bottom: 0, position: 'css' }} /> {removeDuplicates(list)