Opened 7 years ago

Closed 7 years ago

Last modified 5 years ago

#15185 closed enhancement (fixed)

Support DnD on mobile

Reported by: bill Owned by: bill
Priority: undecided Milestone: 1.8
Component: DnD Version: 1.7.2
Keywords: Cc:
Blocked By: Blocking:

Description

dojo/dnd depends on mouseover/mouseout events. Although there are no touchover/touchout events corresponding to mouseover/mouseout, they can be simulated by monitoring touchmove and using document.elementFromPoint()

Change History (12)

comment:1 Changed 7 years ago by bill

In [28348]:

Upgrade DnD code to:

  • use dojo/touch event wrappers rather than accessing "mouse*" events directly
  • add infrastructure for synthetic touchover/touchout events
  • use dojo/on rather than deprecated dojo/_base/connect, except for isCopyKey() which is only available in dojo/_base/connect

DnD is still not working on mobile though for some reason.

Refs #15185 !strict.

comment:2 Changed 7 years ago by bill

Milestone: tbd1.8
Owner: changed from Eugene Lazutkin to bill
Status: newassigned

comment:3 Changed 7 years ago by bill

Resolution: fixed
Status: assignedclosed

In [28349]:

Get DnD working on mobile. Probably there are still some rough edges. Fixes #15185 !strict.

comment:4 Changed 7 years ago by bill

In [28381]:

Support dijit/Tree DnD on mobile, and support touch.over, touch.out, touch.enter, and touch.leave synthetic events from dojo/touch module. Also fixed touch.move to behave like mousemove.

I refactored the touch.over/touch.out code to work by firing synthetic events when it that the user drags over a different node than before.

About touch.move: Previously, on(node, touch.move, func) on mobile would only trigger func if the user started their drag inside of the specified node. This did not match the behavior of on(node, touch.move, fun) on desktop, which was to fire events whenever the mouse was moved over the specified node, regardless of where the mouse movement started. DnD at least was depending on the onmousemove-like behavior.

comment:5 Changed 7 years ago by bill

In [29057]:

Get autoscroll working on mobile, refs #15185 !strict

comment:6 Changed 7 years ago by bill

In [29445]:

fix dojo/touch.move on scrolled pages on mobile, except for iOS4 which I can't test, fixes #15821, refs #15185 !strict.

comment:7 Changed 6 years ago by Bill Keese <bill@…>

In 99f6cf95c51b8667b0570770bc85762882d8b330/dojo:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

PS: actually that check in should have been marked for #13048.

Last edited 6 years ago by bill (previous) (diff)

comment:8 Changed 5 years ago by bill

Partially backport to 1.7 in e7403082d02faba2e47cb645d2532dd2920f60b8.

comment:9 Changed 5 years ago by Bill Keese <bill@…>

In 1f7fa7a46caf2a38ccc797e60d2de1b470d4b1b5/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:10 Changed 5 years ago by Bill Keese <bill@…>

In e2e2f3231d1ae04a8c88ad8b5dc77cef904ff8f5/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:11 Changed 5 years ago by Bill Keese <bill@…>

In 8ea9cf216f66c258b47aeee82cd7336a3674b746/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 

comment:11 Changed 5 years ago by Bill Keese <bill@…>

In 1d6f540864f8d0aaccdc0872ca6169c8087b3e9e/dojox:

Error: Processor CommitTicketReference failed
Unsupported version control system "git": Can't find an appropriate component, maybe the corresponding plugin was not enabled? 
Note: See TracTickets for help on using tickets.