Skip to content

Commit b599e32

Browse files
committed
feat: add preventDefault prop #821
1 parent 172f6d4 commit b599e32

4 files changed

Lines changed: 11 additions & 2 deletions

File tree

packages/react-moveable/src/MoveableManager.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ export default class MoveableManager<T = {}>
5555
parentPosition: null,
5656
portalContainer: null,
5757
useResizeObserver: false,
58+
preventDefault: true,
5859
linePadding: 0,
5960
controlPadding: 0,
6061
ables: [],

packages/react-moveable/src/ables/Default.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export default {
3131
linePadding: Boolean,
3232
displayAroundControls: Boolean,
3333
controlPadding: Number,
34+
preventDefault: Boolean,
3435
} as const,
3536
events: {
3637
onChangeTargets: "changeTargets",

packages/react-moveable/src/gesto/getAbleGesto.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ export function triggerAble(
143143
able.unset && able.unset(moveable);
144144
});
145145
}
146-
if (isStart && !isForceEnd && !isRequest && isUpdate) {
146+
if (isStart && !isForceEnd && !isRequest && isUpdate && moveable.props.preventDefault) {
147147
e?.preventDefault();
148148
}
149149
if (moveable.isUnmounted || isForceEnd) {
@@ -215,9 +215,10 @@ export function getAbleGesto(
215215
preventClickEventOnDrag,
216216
preventClickDefault,
217217
checkInput,
218+
preventDefault = true,
218219
} = moveable.props;
219220
const options: GestoOptions = {
220-
preventDefault: true,
221+
preventDefault,
221222
preventRightClick: true,
222223
preventWheelClick: true,
223224
container: window,

packages/react-moveable/src/types.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,12 @@ export interface DefaultOptions {
156156
* @default false
157157
*/
158158
stopPropagation?: boolean;
159+
/**
160+
* Whether to call preventDefault on touchstart or mousedown
161+
* @since 0.44.0
162+
* @default true
163+
*/
164+
preventDefault?: boolean;
159165
/**
160166
* Prevent click event on drag. (mousemove, touchmove)
161167
* @default true

0 commit comments

Comments
 (0)