Przeglądaj źródła

fixes to interactions

Adam Shaw 7 lat temu
rodzic
commit
b48cff1889

+ 1 - 0
src/common/browser-context.ts

@@ -41,6 +41,7 @@ export class BrowserContext {
   bind() {
     let pointer = this.pointer = new PointerDragging(document)
     pointer.shouldIgnoreMove = true
+    pointer.shouldWatchScroll = false
     pointer.emitter.on('pointerup', this.onPointerUp)
   }
 

+ 7 - 0
src/dnd/FeaturefulElementDragging.ts

@@ -57,6 +57,13 @@ export default class FeaturefulElementDragging extends ElementDragging {
       preventSelection(document.body)
       preventContextMenu(document.body)
 
+      // prevent links from being visited if there's an eventual drag.
+      // also prevents selection in older browsers (maybe?).
+      // not necessary for touch, besides, browser would complain about passiveness.
+      if (!ev.isTouch) {
+        ev.origEvent.preventDefault()
+      }
+
       this.emitter.trigger('pointerdown', ev)
 
       if (!this.pointer.shouldIgnoreMove) {

+ 0 - 5
src/dnd/PointerDragging.ts

@@ -107,11 +107,6 @@ export default class PointerDragging {
       isPrimaryMouseButton(ev) &&
       this.tryStart(ev)
     ) {
-      // prevent links from being visited if there's an eventual drag.
-      // also prevents selection in older browsers (maybe?).
-      // not necessary for touch, besides, browser would complain about passiveness.
-      ev.preventDefault()
-
       let pev = createEventFromMouse(ev, this.subjectEl!)
 
       this.emitter.trigger('pointerdown', pev)

+ 1 - 1
src/interactions/EventHovering.ts

@@ -1,4 +1,4 @@
-import DateComponent, { Seg } from '../component/DateComponent'
+import DateComponent from '../component/DateComponent'
 import { listenToHoverBySelector } from '../util/dom-event'
 import { getElSeg } from '../component/renderers/EventRenderer'
 import EventApi from '../api/EventApi'