From e9deeae0a7233f00f84d2661303067889367fbda Mon Sep 17 00:00:00 2001
From: bbaer <bbaer@math.uzh.ch>
Date: Fri, 5 Jan 2018 13:04:19 +0100
Subject: [PATCH] New button template, fixed color error if no colors are
 given.

---
 javascript/src/Plugins/qfq.fabric.js       | 28 ++++++++++++----------
 mockup/imageEditorFabric.html              |  2 +-
 mockup/mockData/fabric.editor.buttons.json | 16 +++++++++++++
 3 files changed, 32 insertions(+), 14 deletions(-)
 create mode 100644 mockup/mockData/fabric.editor.buttons.json

diff --git a/javascript/src/Plugins/qfq.fabric.js b/javascript/src/Plugins/qfq.fabric.js
index 181ac3dac..dd2a827e9 100644
--- a/javascript/src/Plugins/qfq.fabric.js
+++ b/javascript/src/Plugins/qfq.fabric.js
@@ -109,19 +109,21 @@ $(function (n) {
 
             var $colorSelector = $("<div>", {class: "color-picker"});
             $controlWrapper.append($colorSelector);
-            this.myModes.colors.forEach(function (o) {
-                var $button = $("<button>", {
-                    type: 'button',
-                    id: o.selector,
-                    class: "text-bg-toggle",
-                    style: "background-color: rgba(" + o.red +"," + o.green + "," + o.blue + ",1)"
+            if (this.myModes.colors instanceof Array) {
+                this.myModes.colors.forEach(function (o) {
+                    var $button = $("<button>", {
+                        type: 'button',
+                        id: o.selector,
+                        class: "text-bg-toggle",
+                        style: "background-color: rgba(" + o.red + "," + o.green + "," + o.blue + ",1)"
+                    });
+                    $colorSelector.append($button);
+                    that.myColors.push($button);
+                    $button.on("click", function () {
+                        that.qFabric.setColor(o, $button);
+                    })
                 });
-                $colorSelector.append($button);
-                that.myColors.push($button);
-                $button.on("click", function() {
-                    that.qFabric.setColor(o, $button);
-                })
-            });
+            }
         };
 
         ModeSettings.prototype.setMyModes = function (data) {
@@ -226,7 +228,7 @@ $(function (n) {
                     draggable: true
                 });
                 $emojiField.append($img);
-                $img.on("dragstart", function(e) {
+                $img.on("dragstart", function() {
                     console.log(o.name + " mouseDown");
                     that.qFabric.dragAndDrop = true;
                     that.qFabric.dndData = o.url;
diff --git a/mockup/imageEditorFabric.html b/mockup/imageEditorFabric.html
index 4bc41600d..eaeabcfcf 100644
--- a/mockup/imageEditorFabric.html
+++ b/mockup/imageEditorFabric.html
@@ -38,7 +38,7 @@
 
     <div class="row">
         <div class="col-md-4">
-            <div class="fabric" data-buttons="mockData/fabric.buttons.json" data-edit-image="true" data-background-image="mockData/Scan2a.jpeg"></div>
+            <div class="fabric" data-buttons="mockData/fabric.editor.buttons.json" data-edit-image="true" data-background-image="mockData/Scan2a.jpeg"></div>
         </div>
     </div>
 </div>
diff --git a/mockup/mockData/fabric.editor.buttons.json b/mockup/mockData/fabric.editor.buttons.json
new file mode 100644
index 000000000..8f92fe5d4
--- /dev/null
+++ b/mockup/mockData/fabric.editor.buttons.json
@@ -0,0 +1,16 @@
+{
+    "modes": [
+      {
+        "name": "rotateRight",
+        "selector": "turn-right",
+        "requiresDrawing": false,
+        "requiresSelection": false,
+        "isToggle": false,
+        "toggle": "",
+        "hasToggleElement": false,
+        "toggleElement": "",
+        "icon": "glyphicon-repeat"
+      }
+    ],
+    "currentMode": ""
+}
\ No newline at end of file
-- 
GitLab