Skip to content

Dnd improvements, fix flicker on column reorder and release version patch#287

Merged
radubrehar merged 5 commits intomasterfrom
dnd/improvements
Apr 3, 2026
Merged

Dnd improvements, fix flicker on column reorder and release version patch#287
radubrehar merged 5 commits intomasterfrom
dnd/improvements

Conversation

@radubrehar
Copy link
Copy Markdown
Contributor

@radubrehar radubrehar commented Apr 3, 2026

Note

Medium Risk
Refactors core drag-and-drop behavior (proxy rendering and scroll handling) used across lists/headers; regressions could affect drop index calculations, scrolling, and cleanup across many drag interactions.

Overview
Improves DragList drag-and-drop behavior by adding a configurable dragStrategy (inline vs default proxy), optional custom proxy hooks (onDragProxySetup/onDragProxyMove) and React renderDragProxy, plus a preserveDragSpace option for cross-list drags.

Adds an AutoScroller and scroll-aware logic (adjustForScroll, DragManager.retriggerMove, expanded list rectangles) to keep drag/drop calculations correct while source/target containers scroll and to prevent scroll feedback loops.

Updates the table header and grouping toolbar to explicitly use dragStrategy="inline", adds new DnD demo pages, tweaks a test to disable tracing, and documents release 8.0.2 as DnD improvements.

Written by Cursor Bugbot for commit 8b61688. This will update automatically on new commits. Configure here.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Autofix Details

Bugbot Autofix prepared fixes for both issues found in the latest run.

  • ✅ Fixed: Documentation says default is 'inline' but code defaults to 'proxy'
    • I changed the runtime fallback in DragList from 'proxy' to 'inline' so behavior now matches the documented default.
  • ✅ Fixed: Debug background: 'red' left in example code
    • I removed the leftover background: 'red' debug style from the example drag proxy render path.

Create PR

Or push these changes by commenting:

@cursor push 0a59927d9f
Preview (0a59927d9f)
diff --git a/examples/src/pages/tests/table/dnd/dnd-source-target.page.tsx b/examples/src/pages/tests/table/dnd/dnd-source-target.page.tsx
--- a/examples/src/pages/tests/table/dnd/dnd-source-target.page.tsx
+++ b/examples/src/pages/tests/table/dnd/dnd-source-target.page.tsx
@@ -275,7 +275,6 @@
         proxyRef={ref}
         style={{
           position: 'fixed',
-          background: 'red',
           top: initialRect.top + dy,
           left: initialRect.left + dx,
           width: initialRect.width,

diff --git a/source/src/components/InfiniteTable/components/draggable/DragList.tsx b/source/src/components/InfiniteTable/components/draggable/DragList.tsx
--- a/source/src/components/InfiniteTable/components/draggable/DragList.tsx
+++ b/source/src/components/InfiniteTable/components/draggable/DragList.tsx
@@ -794,7 +794,7 @@
       };
       scrollContainer?.addEventListener('scroll', onContainerScroll);
 
-      const dragStrategy = props.dragStrategy ?? 'proxy';
+      const dragStrategy = props.dragStrategy ?? 'inline';
       const useProxy = dragStrategy === 'proxy' && !props.renderDragProxy;
       const useRenderProxy =
         dragStrategy === 'proxy' && !!props.renderDragProxy;

This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.

Comment thread source/src/components/InfiniteTable/components/draggable/DragList.tsx Outdated
Comment thread examples/src/pages/tests/table/dnd/dnd-source-target.page.tsx Outdated
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

@radubrehar radubrehar merged commit 7286ba2 into master Apr 3, 2026
4 of 5 checks passed
@radubrehar radubrehar deleted the dnd/improvements branch April 3, 2026 15:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant