mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-07 04:20:12 +02:00
fix table config drag and drop interaction on bottom edge
This commit is contained in:
@@ -87,27 +87,25 @@ export const dndUtils = {
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If dragging to the right, but is left edge, do nothing
|
let newIndex: number;
|
||||||
if (edge === 'left' && indexTo > indexFrom) {
|
|
||||||
|
if (edge === 'bottom') {
|
||||||
|
newIndex = indexFrom > indexTo ? indexTo + 1 : indexTo;
|
||||||
|
} else if (edge === 'top' || edge === null) {
|
||||||
|
newIndex = indexTo;
|
||||||
|
} else if (edge === 'left' && indexTo > indexFrom) {
|
||||||
|
return list;
|
||||||
|
} else if (edge === 'right' && indexTo < indexFrom) {
|
||||||
|
return list;
|
||||||
|
} else {
|
||||||
|
newIndex = indexTo;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newIndex === indexFrom) {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If dragging to the left, but is right edge, do nothing
|
return dndUtils.reorderByIndex({ index: indexFrom, list, newIndex });
|
||||||
if (edge === 'right' && indexTo < indexFrom) {
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If dragging to the top, but is bottom edge, do nothing
|
|
||||||
if (edge === 'top' && indexTo > indexFrom) {
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If dragging to the bottom, but is top edge, do nothing
|
|
||||||
if (edge === 'bottom' && indexTo < indexFrom) {
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
return dndUtils.reorderByIndex({ index: indexFrom, list, newIndex: indexTo });
|
|
||||||
},
|
},
|
||||||
reorderByIndex: (args: { index: number; list: string[]; newIndex: number }) => {
|
reorderByIndex: (args: { index: number; list: string[]; newIndex: number }) => {
|
||||||
const { index, list, newIndex } = args;
|
const { index, list, newIndex } = args;
|
||||||
|
|||||||
Reference in New Issue
Block a user