aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Zeleznik <zzzman@gmail.com>2019-04-10 22:40:11 -0400
committerBob Zeleznik <zzzman@gmail.com>2019-04-10 22:40:11 -0400
commita04f690bf0f8104b48a8493905ee083f9b1504dc (patch)
treeb6f72aaac53ffcce55e9e05593856449e4eddf89
parenta4ad421d9be4872f906238378944ceed36370d93 (diff)
changed drag of selected text to wait for a move event.
-rw-r--r--src/client/views/Main.tsx38
1 files changed, 26 insertions, 12 deletions
diff --git a/src/client/views/Main.tsx b/src/client/views/Main.tsx
index 684738657..8153250c7 100644
--- a/src/client/views/Main.tsx
+++ b/src/client/views/Main.tsx
@@ -236,18 +236,32 @@ export class Main extends React.Component {
}
textBoxDown = (e: React.PointerEvent) => {
- let dragData = new DragManager.DocumentDragData([this._textDoc!]);
- const [left, top] = this._textXf
- .inverse()
- .transformPoint(0, 0);
- dragData.xOffset = e.clientX - left;
- dragData.yOffset = e.clientY - top;
- DragManager.StartDocumentDrag([this._textTargetDiv!], dragData, e.clientX, e.clientY, {
- handlers: {
- dragComplete: action(emptyFunction),
- },
- hideSource: false
- });
+ if (e.button != 0 || e.metaKey || e.altKey) {
+ document.addEventListener("pointermove", this.textBoxMove);
+ document.addEventListener('pointerup', this.textBoxUp);
+ }
+ }
+ textBoxMove = (e: PointerEvent) => {
+ if (e.movementX > 1 || e.movementY > 1) {
+ document.removeEventListener("pointermove", this.textBoxMove);
+ document.removeEventListener('pointerup', this.textBoxUp);
+ let dragData = new DragManager.DocumentDragData([this._textDoc!]);
+ const [left, top] = this._textXf
+ .inverse()
+ .transformPoint(0, 0);
+ dragData.xOffset = e.clientX - left;
+ dragData.yOffset = e.clientY - top;
+ DragManager.StartDocumentDrag([this._textTargetDiv!], dragData, e.clientX, e.clientY, {
+ handlers: {
+ dragComplete: action(emptyFunction),
+ },
+ hideSource: false
+ });
+ }
+ }
+ textBoxUp = (e: PointerEvent) => {
+ document.removeEventListener("pointermove", this.textBoxMove);
+ document.removeEventListener('pointerup', this.textBoxUp);
}
@computed