From cd12544d19e0d927840b8e1a07dc176fbcf956bc Mon Sep 17 00:00:00 2001
From: bbaer <bbaer@math.uzh.ch>
Date: Fri, 3 Nov 2017 17:57:53 +0100
Subject: [PATCH] drag and drop is now working

---
 javascript/src/Plugins/qfq.fabric.js | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/javascript/src/Plugins/qfq.fabric.js b/javascript/src/Plugins/qfq.fabric.js
index 5afe97a24..996177aa2 100644
--- a/javascript/src/Plugins/qfq.fabric.js
+++ b/javascript/src/Plugins/qfq.fabric.js
@@ -224,19 +224,16 @@ $(function (n) {
             this.emojis.forEach(function (o) {
                 $img = $("<img>", {
                     class: o.class,
-                    src: o.url
+                    src: o.url,
+                    draggable: true
                 });
                 $emojiField.append($img);
-                $img.on("mousedown", function(e) {
+                $img.on("dragstart", function(e) {
                     console.log(o.name + " mouseDown");
                     that.qFabric.dragAndDrop = true;
                     that.qFabric.dndData = o.url;
                     $("window").mousedown();
                 });
-                $img.on("mouseout", function(e) {
-                    console.log("Mouse Out Event");
-                    that.qFabric.dndMouseOutEvent(e);
-                })
             })
         };
 
@@ -267,6 +264,7 @@ $(function (n) {
 
     n.Fabric.prototype.generateCanvas = function() {
         var canvas = document.createElement('canvas');
+        canvas.setAttribute('draggable', true);
         var controlElement = $('<div>', {
             id: 'qfq-fabric-control'
         });
@@ -313,12 +311,11 @@ $(function (n) {
         this.canvas.on('object:selected', function(e) { that.defaultSelectionCreateHandler(e) });
         this.canvas.on('selection:cleared', function(e) { that.defaultSelectionClearHandler(e) });
         window.addEventListener('keydown', function(e) { that.defaultKeyStrokeHandler(e) });
-        window.addEventListener('mouseup', function(e) { that.windowMouseUpEvent(e) });
-        $('.canvas').on('contextmenu', function(e) { that.defaultRightClickEvent(e) });
+        window.addEventListener('dragend', function(e) { that.dragEndEvent(e) });
         $(window).resize(function() { that.resizeCanvas(); });
     };
 
-    n.Fabric.prototype.windowMouseUpEvent = function(e) {
+    n.Fabric.prototype.dragEndEvent = function(e) {
         if (this.dragAndDrop) {
             this.emojiAdd(this.dndData, e);
             this.dndData = '';
-- 
GitLab