Skip to content

Commit 5e9d9cf

Browse files
committed
Improve splitter drag functionality and cursor handling
1 parent dc5e3bd commit 5e9d9cf

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

packages/web/src/datagrid/DataGridCore.svelte

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2500,14 +2500,12 @@
25002500
padding: 0;
25012501
margin: 0;
25022502
background-color: var(--theme-datagrid-headercell-background);
2503-
overflow: hidden;
25042503
}
25052504
:global(.data-grid-focused) .active-header-cell {
25062505
background-color: var(--theme-datagrid-focused-cell-background);
25072506
}
25082507
.filter-cell {
25092508
text-align: left;
2510-
overflow: hidden;
25112509
margin: 0;
25122510
padding: 0;
25132511
}

packages/web/src/utility/splitterDrag.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@ export default function splitterDrag(node, axes) {
22
let resizeStart = null;
33

44
const handleResizeDown = e => {
5+
if (e.button !== 0) return;
6+
e.preventDefault();
57
resizeStart = e[axes];
68
document.addEventListener('mousemove', handleResizeMove, true);
79
document.addEventListener('mouseup', handleResizeEnd, true);
10+
document.body.style.cursor = axes === 'clientX' ? 'col-resize' : 'row-resize';
11+
document.body.style.userSelect = 'none';
812
};
913

1014
const handleResizeMove = e => {
@@ -22,6 +26,8 @@ export default function splitterDrag(node, axes) {
2226
resizeStart = null;
2327
document.removeEventListener('mousemove', handleResizeMove, true);
2428
document.removeEventListener('mouseup', handleResizeEnd, true);
29+
document.body.style.cursor = '';
30+
document.body.style.userSelect = '';
2531
};
2632

2733
node.addEventListener('mousedown', handleResizeDown);
@@ -32,6 +38,8 @@ export default function splitterDrag(node, axes) {
3238
if (resizeStart != null) {
3339
document.removeEventListener('mousemove', handleResizeMove, true);
3440
document.removeEventListener('mouseup', handleResizeEnd, true);
41+
document.body.style.cursor = '';
42+
document.body.style.userSelect = '';
3543
}
3644
},
3745
};

0 commit comments

Comments
 (0)