From 9ec0c142fece631133bdb9448d00aa1875931679 Mon Sep 17 00:00:00 2001
From: Ossi Laine <ossi.laine@utu.fi>
Date: Wed, 3 Apr 2019 13:46:23 +0300
Subject: [PATCH] Cleaning code

---
 app/static/js/canvas.js      |  43 +++++-----
 app/task/templates/task.html |   4 +-
 app/task/views.py            |   2 +-
 app/templates/base.html      | 153 ++++++++++++++---------------------
 4 files changed, 85 insertions(+), 117 deletions(-)

diff --git a/app/static/js/canvas.js b/app/static/js/canvas.js
index 54f93cc..0607d0e 100644
--- a/app/static/js/canvas.js
+++ b/app/static/js/canvas.js
@@ -8,6 +8,11 @@ $(document).ready(function() {
         var canvas = $("#embody-canvas")
         var context = document.getElementById("embody-canvas").getContext("2d");
         var img = document.getElementById("baseImage");
+
+        $(img).on('load', function() {
+            drawBaseImage()
+        })
+
     } catch (e) {
         console.log(e)
         if (e instanceof TypeError) {
@@ -55,8 +60,13 @@ $(document).ready(function() {
     // TODO: changing drawradius doesnt affect to the saved datapoints !!!
     // Bigger brush should make more datapoints compared to smaller ones.
     // add brush size to click arry -> {x:[...], y:[...], size:[...]} ?? 
-    $(".canvas-container").bind('DOMMouseScroll',function(event) {
-        //event.preventDefault()
+    
+    $(".canvas-container").bind('DOMMouseScroll', changeBrushSize)
+    // DOMMouseScroll is only for firefox
+    //$(".canvas-container").bind('wheel', changeBrushSize)
+    
+    function changeBrushSize(event) {
+        event.preventDefault()
 
         // Change brush size
         if (event.originalEvent.detail >= 0){
@@ -77,7 +87,7 @@ $(document).ready(function() {
         } else if (drawRadius == 20) {
             this.firstElementChild.innerHTML = "large brush"
         }
-    })
+    }
 
     $(".clear-button").on('click', function() {
         clearCanvas()
@@ -89,8 +99,7 @@ $(document).ready(function() {
 
 
     // Draw methods
-    function addClick(x, y, dragging=false)
-    {
+    function addClick(x, y, dragging=false) {
         clickX.push(x);
         clickY.push(y);
         clickDrag.push(dragging);
@@ -103,9 +112,7 @@ $(document).ready(function() {
     }
 
     function isWhite(color) {
-        if (color === 255) 
-            return true
-        return false
+        return (color === 255) ? true : false;
     }
 
     // Method for checking if cursor is inside human body before creating brush stroke
@@ -116,14 +123,10 @@ $(document).ready(function() {
         startG = imageData.data[1];
         startB = imageData.data[2];
 
-        if (isWhite(startB) && isWhite(startG) && isWhite(startR)) {
-            return false;
-        }
-
-        return true;
+        return (isWhite(startB) && isWhite(startG) && isWhite(startR)) ? true : false;
     }
 
-    function redraw(){
+    function redraw() {
         /* 
         Check:
         https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
@@ -151,27 +154,24 @@ $(document).ready(function() {
 
     }
 
-    function drawMaskToBaseImage()
-    {
+    function drawMaskToBaseImage() {
         var img = document.getElementById("baseImageMask");
         context.globalAlpha = 1
         context.drawImage(img, 0, 0);
     }
 
-    function drawBaseImage()
-    {
+    function drawBaseImage() {
         var width = img.width;
         var height = img.height;
 
         context.canvas.height = height
         context.canvas.width = width
+
         context.drawImage(img, 0, 0);
-        img.classList.add("hidden")
+        $(img).hide()
     }
 
     function clearCanvas() {
-        // Clear canvas
-        img.classList.remove("hidden")
         context.clearRect(0, 0, context.canvas.width, context.canvas.height);
         drawBaseImage()
 
@@ -182,7 +182,6 @@ $(document).ready(function() {
     }
 
     function saveData() {
-
         var points = {
             x: clickX,
             y: clickY
diff --git a/app/task/templates/task.html b/app/task/templates/task.html
index c2044d6..914943d 100644
--- a/app/task/templates/task.html
+++ b/app/task/templates/task.html
@@ -100,7 +100,7 @@
 
   <div class="canvas-container">
   <span class="canvas-info"></span>
-  <canvas id="embody-canvas" width="200" height="100" style="border: 1px solid blue;"  ></canvas>
+  <canvas id="embody-canvas" width="20" height="20" style="border: 1px solid blue;"  ></canvas>
   </div>
 
   <img id="baseImage" class="" src={{ url_for('static', filename='img/dummy_600.png') }} />
@@ -120,7 +120,7 @@
         </div>
         <div class="col-12">
             <br>
-            <p>{{ _("Reload the page if painting canvas didn't appear.") }} </p>
+            <p>{{ _("Reload the page if canvas didn't appear") }} </p>
             <p>{{ _('You can zoom in/out the page view by pressing ctrl+/ctrl- (Windows) or ⌘+/⌘- (Mac)') }} </p>
         </div>
     </div>    
diff --git a/app/task/views.py b/app/task/views.py
index bbe7ac9..25e7904 100644
--- a/app/task/views.py
+++ b/app/task/views.py
@@ -125,7 +125,7 @@ def get_experiment_info():
     """Return experiment information from current session"""
     try:
         return experiment.query.filter_by(idexperiment=session['exp_id']).first()
-    except exc.KeyError as err:
+    except KeyError as err:
         flash("No valid session found")
         return redirect('/')
 
diff --git a/app/templates/base.html b/app/templates/base.html
index e566944..0299ece 100644
--- a/app/templates/base.html
+++ b/app/templates/base.html
@@ -24,118 +24,87 @@
     
   </head>
   <body>
-    <header>
-<!-- Navigation -->
-<nav class="navbar navbar-expand bg-light fixed-top">
-
-  
-  
-        {% if pages %}  
-
-            <div class="navbar-brand font-weight-light"><span class="text-primary font-weight-bold">ID:{{ session['user']}}</span>
-            </div>
-            <div class="progress-bar progress-bar-striped" role="progressbar" style="width: {{ progress_bar_percentage }}%;" aria-valuemin="0" aria-valuemax="100">{{ _('Task progress:') }} {{   progress_bar_percentage }}%
-            </div>
-
-
-        {% else %}
-  
-  
-          <div class="col-1 navbar-brand">
-          <a href="{{ url_for('index') }}">
-          <img class="mt-1 mb-1" src="/static/img/onni_LOGO-horizontal-RGB-transparent_bg_cut.png" alt="Logo" height=40">
-          </a>
-          
-          
-                  {% block navbar %}
-                    {% with messages = get_flashed_messages() %}
-                        {% if messages %}
-                            {% for message in messages %}
-                            
-                                <a class="pl-5 text-align-center text-danger">{{ message }}</a>
-                            
-                            {% endfor %}
-                        {% endif %}
-                    {% endwith %}
-                  {% endblock %}
-
-
-          
-          
-          
-          </div>
-
-
-     
-     
-       {% if current_user.is_authenticated %}
 
+  <!-- Navigation -->
+  <nav class="navbar navbar-expand bg-light fixed-top">
 
+    {% if pages %}  
 
-            <div class="col-11 text-primary text-right">
-          
-
+        <div class="navbar-brand font-weight-light"><span class="text-primary font-weight-bold">ID:{{ session['user']}}</span>
+        </div>
+        <div class="progress-bar progress-bar-striped" role="progressbar" style="width: {{ progress_bar_percentage }}%;" aria-valuemin="0" aria-valuemax="100">{{ _('Task progress:') }} {{   progress_bar_percentage }}%
+        </div>
 
-         <a class="nav-item" href="{{ url_for('researcher_info') }}" class="nav-link">Info |</a>
-         <a class="nav-item" href="{{ url_for('create.create_experiment') }}" class="nav-link">Create |</a>
-         <a class="nav-item" href="" class="nav-link">Archives |</a>
-         <a class="nav-item" href="{{ url_for('logout') }}" class="nav-link">Logout |</a>
+    {% else %}
 
+      <div class="col-1 navbar-brand">
+        <a href="{{ url_for('index') }}">
+        <img class="mt-1 mb-1" src="/static/img/onni_LOGO-horizontal-RGB-transparent_bg_cut.png" alt="Logo" height="40">
+        </a>
 
+        {% block navbar %}
+          {% with messages = get_flashed_messages() %}
+              {% if messages %}
+                  {% for message in messages %}
+                      <a class="pl-5 text-align-center text-danger">{{ message }}</a>
+                  {% endfor %}
+              {% endif %}
+          {% endwith %}
+        {% endblock %}
+      </div>
 
-        <a class="nav-item dropdown">
-        <a class="nav-item dropdown-toggle text-align-right" href="#" id="navbarDropdown_auth" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-          Language 
-        </a>
-        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown_auth">
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Finnish', lang='fi') }}">Finnish</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='English', lang='en') }}">English</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Persian', lang='fa') }}">Persian</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Greek',   lang='el') }}">Greek</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Italian', lang='it') }}">Italian</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Chinese', lang='zh') }}">Chinese</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='All') }}">Show all</a>
-        </div>
+      {% if current_user.is_authenticated %}
+        <div class="col-11 text-primary text-right">
+          <a class="nav-item" href="{{ url_for('researcher_info') }}" class="nav-link">Info |</a>
+          <a class="nav-item" href="{{ url_for('create.create_experiment') }}" class="nav-link">Create |</a>
+          <a class="nav-item" href="" class="nav-link">Archives |</a>
+          <a class="nav-item" href="{{ url_for('logout') }}" class="nav-link">Logout |</a>
+
+          <a class="nav-item dropdown">
+          <a class="nav-item dropdown-toggle text-align-right" href="#" id="navbarDropdown_auth" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+            Language 
+          </a>
+          <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown_auth">
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Finnish', lang='fi') }}">Finnish</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='English', lang='en') }}">English</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Persian', lang='fa') }}">Persian</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Greek',   lang='el') }}">Greek</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Italian', lang='it') }}">Italian</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Chinese', lang='zh') }}">Chinese</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='All') }}">Show all</a>
+          </div>
         </div>
         
         {% endif %}
                   
-
-                  
         {% if current_user.is_anonymous %}
         
         <div class="col-11 text-primary text-right">
-        
-        
 
+          <a class="nav-item" href="{{ url_for('login') }}" class="nav-link">Login |</a>
 
-        <a class="nav-item dropdown-toggle text-align-right" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
-          Language
-        </a>
-        <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
-          
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Finnish', lang='fi') }}">Finnish</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='English', lang='en') }}">English</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Persian', lang='fa') }}">Persian</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Greek',   lang='el') }}">Greek</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Italian', lang='it') }}">Italian</a>
-          <a class="dropdown-item" href="{{ url_for('set_language', language='Chinese', lang='zh') }}">Chinese</a>
-
+          <a class="nav-item dropdown-toggle text-align-right" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+            Language
+          </a>
+          <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Finnish', lang='fi') }}">Finnish</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='English', lang='en') }}">English</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Persian', lang='fa') }}">Persian</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Greek',   lang='el') }}">Greek</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Italian', lang='it') }}">Italian</a>
+            <a class="dropdown-item" href="{{ url_for('set_language', language='Chinese', lang='zh') }}">Chinese</a>
+          </div>
         </div>
                 
-                
-        {% endif %}
-            
-            
         {% endif %}
+      {% endif %}
             
-            
-</nav>
-</header>
-      
-<main role="main" class="container">
-          {% block content %}{% endblock %}
-</main>
+    </nav>
+        
+    <main role="main" class="container">
+            {% block content %}{% endblock %}
+    </main>
+
     <footer class="footer">
       <div class="container">
           <br>
-- 
GitLab