#12176 closed enhancement (fixed)
[patch] [ccla] Dojo touch event layer for both mobile and PC
Reported by: | evan | Owned by: | Evan |
---|---|---|---|
Priority: | high | Milestone: | 1.7 |
Component: | DojoX Mobile | Version: | 1.6.0 |
Keywords: | 1.7-mobile, touch | Cc: | [email protected]…, [email protected]…, [email protected]…, [email protected]…, [email protected]…, [email protected]…, [email protected]…, Kris Zyp, [email protected]…, [email protected]…, Evan |
Blocked By: | Blocking: |
Description (last modified by )
We'll use this ticket to track touch event layer which is designed to recognize various user gestures with appropriate events published.
It also offers unified event APIs for developers to catch and respond to the raised events across browsers not only on PC but also on mobile devices such as iPhone, iPad and Andriod etc.
Please refer to the following materials:
Attachments (8)
Change History (33)
Changed 10 years ago by
Attachment: | touch-dijit.patch added |
---|
Changed 10 years ago by
Attachment: | touch-dojo.patch added |
---|
Changed 10 years ago by
Attachment: | touch-dojox.patch added |
---|
comment:1 Changed 10 years ago by
comment:2 Changed 10 years ago by
Keywords: | 1.7-mobile added |
---|---|
Milestone: | tbd → 1.7 |
Owner: | changed from Shane O'Sullivan to evan |
Priority: | normal → high |
Version: | 1.6.0b1 → 1.6.0 |
comment:3 Changed 10 years ago by
Summary: | Dojo touch event layer for both mobile and PC → [patch] [ccla] Dojo touch event layer for both mobile and PC |
---|
comment:4 Changed 10 years ago by
Type: | task → enhancement |
---|
Changed 10 years ago by
Attachment: | touch0.1.patch added |
---|
Changed 10 years ago by
Attachment: | touch0.1-demo.zip added |
---|
Demo for touch0.1.patch, experimenting basic touches & gestures(tap, rotation) with dijit Slider and Charting, from Si Qi Zhong(IBM, CCLA), Ruan Qi (IBM, CCLA)
comment:5 Changed 10 years ago by
Cc: | [email protected]… added; [email protected]… removed |
---|
comment:6 follow-up: 7 Changed 10 years ago by
Has there been any further feedback on this ticket?
I've reviewed this latest patch, and it looks very clean with the new event module refractor from kris, but looks like the events patch is out of date with trunk. -Chris
comment:7 Changed 10 years ago by
Replying to chrism:
Has there been any further feedback on this ticket?
I've reviewed this latest patch, and it looks very clean with the new event module refractor from kris, but looks like the events patch is out of date with trunk. -Chris
Yep, the discussion is currently going on in mailing list. Kris has already fixed it in git, just uploaded a latest path version there
Changed 10 years ago by
Attachment: | touch0.2.patch added |
---|
Refactored based on new event framework, also added support for isolating mouse/touch handlers
Changed 10 years ago by
Attachment: | touch0.3-all-in-one.patch added |
---|
comment:8 Changed 10 years ago by
Cc: | Kris Zyp [email protected]… [email protected]… added |
---|
touch0.3-all-in-one.patch includes new event/listen by adding normalization works for W3C touch events to dojo.listen, also includes a formal impl of Tap/Swipe? gestures from Eduardo(IBM, CCLA). The usages look like
- Unified W3C touch events working well across touch devices
dojo.connect(node, "ontouchstart"|"ontouchmove"|..., func); dojo.connect(node, "onorientationchange", func);
- Abstracted touch/mouse events working well on desktop and mobiles - future dijit/dnd changes
dojo.connect(node, dojo.touch.press | move | release, func);
- Gestures working well on desktop and mobiles:
dojo.connect(n, dojo.gesture.tap | taphold | doubletap, func); dojo.connect(n, dojo.gesture.swipe | swipeup | swipedown | swipeleft | swiperight, func);
comment:9 Changed 10 years ago by
Description: | modified (diff) |
---|
Changed 10 years ago by
Attachment: | touch0.4.patch added |
---|
AMD issue fixed working well with trunk, gesture event bubbling issue still exists
comment:10 Changed 10 years ago by
Description: | modified (diff) |
---|
comment:11 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Fixed with [24634] - by getting the touch & gestures code into trunk for 1.7
comment:12 Changed 10 years ago by
comment:13 Changed 10 years ago by
comment:14 Changed 10 years ago by
comment:15 Changed 10 years ago by
Cc: | Evan added |
---|
comment:16 follow-up: 21 Changed 10 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
Can you make touch_gestures.html be run by runTests.html? Or is there a reason it isn't? (Does it work on IE?)
Actually, the automated test doesn't seem to work on FF (FF6/mac). It throws DOH assertions. The other problem with the test though is that those assertions aren't reported because you are running doh.is() tests inside of a dojo.connect() callback. (But you can see it in firebug. It's in the gestureBubbling()
test on on.emit(innerDoH, 'mouseup', {})
.
comment:17 Changed 10 years ago by
Owner: | changed from evan to Evan |
---|---|
Status: | reopened → new |
comment:21 Changed 10 years ago by
Replying to bill:
Can you make touch_gestures.html be run by runTests.html? Or is there a reason it isn't? (Does it work on IE?)
Actually, the automated test doesn't seem to work on FF (FF6/mac). It throws DOH assertions. The other problem with the test though is that those assertions aren't reported because you are running doh.is() tests inside of a dojo.connect() callback. (But you can see it in firebug. It's in the
gestureBubbling()
test onon.emit(innerDoH, 'mouseup', {})
.
comment:22 Changed 10 years ago by
I don't think it's quite fixed, as I was trying to say above you can't just put doh.is() etc. calls inside of a callback like you are doing in (for example) swipe.html:
h2 = on(inner, swipe.end, function(e){ endExecuted = true; doh.assertEqual('swipe.end', e.type); doh.assertEqual(inner, e.target); doh.assertEqual(200, e.dx); doh.assertEqual(-120, e.dy); });
If the assertions fail they will throw exceptions, but the execeptions will be swallowed.
Breakdown the original patch(from Siqi Zhong, IBM CCLA) into three - please apply to dijit, dojo and dojox separately.