client/js/main.js
changeset 155 7d5f722d76b2
parent 139 9929b1447f69
child 159 1796e0220bef
--- a/client/js/main.js	Fri Apr 12 19:10:40 2013 +0200
+++ b/client/js/main.js	Mon Apr 15 18:36:59 2013 +0200
@@ -183,6 +183,8 @@
     	}
     });
     
+    var elementDropped = false;
+    
     this.$.find(".Rk-Bins")
         .on("click",".Rk-Bin-Title,.Rk-Bin-Title-Icon", function() {
             var _mainDiv = Rkns.$(this).siblings(".Rk-Bin-Main");
@@ -207,6 +209,30 @@
 				this.dragDrop();
 			}
 			catch(err) {}
+        }).on("touchstart", ".Rk-Bin-Item", function(e) {
+			elementDropped = false;
+        }).on("touchmove", ".Rk-Bin-Item", function(e) {
+			e.preventDefault();
+        	var touch = e.originalEvent.changedTouches[0],
+        		off = _this.renderer.canvas_$.offset(),
+        		w = _this.renderer.canvas_$.width(),
+        		h = _this.renderer.canvas_$.height();
+    		if (touch.pageX >= off.left && touch.pageX < (off.left + w) && touch.pageY >= off.top && touch.pageY < (off.top + h)) {
+    			if (elementDropped) {
+    				_this.renderer.onMouseMove(touch, true);
+    			} else {
+    				elementDropped = true;
+		        	var div = document.createElement('div');
+		        	div.appendChild(this.cloneNode(true));
+    				_this.renderer.dropData({"text/html": div.innerHTML}, touch);
+    				_this.renderer.onMouseDown(touch, true);
+    			}
+    		}
+        }).on("touchend", ".Rk-Bin-Item", function(e) {
+			if (elementDropped) {
+				_this.renderer.onMouseUp(e.originalEvent.changedTouches[0], true);
+			}
+			elementDropped = false;
         }).on("dragstart", ".Rk-Bin-Item", function(e) {
         	var div = document.createElement('div');
         	div.appendChild(this.cloneNode(true));