From 8696c8f6ef9cfd5b58281d35ca354e3aef33aafa Mon Sep 17 00:00:00 2001
From: bbaer <bbaer@math.uzh.ch>
Date: Tue, 31 Oct 2017 15:47:35 +0100
Subject: [PATCH] initialisation doesn't trigger form changed anymore delayed
 redraw of canvas to display non cached background images

---
 javascript/src/Plugins/qfq.fabric.js | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/javascript/src/Plugins/qfq.fabric.js b/javascript/src/Plugins/qfq.fabric.js
index aa6becca7..b8e0c3089 100644
--- a/javascript/src/Plugins/qfq.fabric.js
+++ b/javascript/src/Plugins/qfq.fabric.js
@@ -41,6 +41,7 @@ $(function (n) {
         this.isDown = false;
         this.origX = 0;
         this.origY = 0;
+        this.userChangePossible = false;
 
         // Handles button states and generation of said buttons. Should be renamed.
         function ModeSettings() {
@@ -247,6 +248,11 @@ $(function (n) {
         }
         this.setBackground();
         this.setBrush();
+        var that = this;
+        setTimeout(function() {
+           that.canvas.renderAll();
+           that.userChangePossible = true;
+        }, 1000);
     };
 
     n.Fabric.prototype.generateCanvas = function() {
@@ -602,11 +608,16 @@ $(function (n) {
     n.Fabric.prototype.defaultChangeHandler = function (e) {
         var that = this;
         this.canvas.calcOffset();
-        this.outputField.val(JSON.stringify(that.canvas.toJSON()));
-        var $saveButton = $("#save-button");
-        $saveButton.removeClass("disabled");
-        $saveButton.addClass($saveButton.data('class-on-change') || 'alert-warning');
-        $saveButton.removeAttr("disabled");
+        console.log("Changehandler called.");
+        /* Important! Changes only possible after initialisation */
+        if (this.userChangePossible) {
+            console.log("User Change detected");
+            this.outputField.val(JSON.stringify(that.canvas.toJSON()));
+            var $saveButton = $("#save-button");
+            $saveButton.removeClass("disabled");
+            $saveButton.addClass($saveButton.data('class-on-change') || 'alert-warning');
+            $saveButton.removeAttr("disabled");
+        }
     };
 
     /*
-- 
GitLab