From 597b02e5afc6a0d6306a314c57d533dd4a412e23 Mon Sep 17 00:00:00 2001
From: Julien Lepiller <julien@lepiller.eu>
Date: Thu, 25 Jun 2015 14:58:05 +0900
Subject: [PATCH] =?UTF-8?q?Pour=20les=20sondages=20longs,=20harmoniser=20l?=
 =?UTF-8?q?a=20navigation=20par=20les=20fl=C3=AAches=20et=20la=20barre=20d?=
 =?UTF-8?q?e=20d=C3=A9filement.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 js/core.js | 65 ++++++++++++++++++++++++++++++++++++------------------
 1 file changed, 44 insertions(+), 21 deletions(-)

diff --git a/js/core.js b/js/core.js
index be4fcbdf..b703c34a 100644
--- a/js/core.js
+++ b/js/core.js
@@ -8,98 +8,98 @@ $(document).ready(function() {
 
     $('#title-form .btn-edit').on('click', function() {
         $('#title-form h3').hide();
-        $('.js-title').removeClass("hidden");
+        $('.js-title').removeClass('hidden');
         $('.js-title input').focus();
         return false;
     });
 
     $('#title-form .btn-cancel').on('click', function() {
         $('#title-form h3').show();
-        $('#title-form .js-title').addClass("hidden");
+        $('#title-form .js-title').addClass('hidden');
         $('#title-form .btn-edit').focus();
         return false;
     });
 
     $('#name-form .btn-edit').on('click', function() {
         $('#name-form p').hide();
-        $('.js-name').removeClass("hidden");
+        $('.js-name').removeClass('hidden');
         $('.js-name input').focus();
         return false;
     });
 
     $('#name-form .btn-cancel').on('click', function() {
         $('#name-form p').show();
-        $('#name-form .js-name').addClass("hidden");
+        $('#name-form .js-name').addClass('hidden');
         $('#name-form .btn-edit').focus();
         return false;
     });
 
     $('#email-form .btn-edit').on('click', function() {
         $('#email-form p').hide();
-        $('#email-form .js-email').removeClass("hidden");
+        $('#email-form .js-email').removeClass('hidden');
         $('.js-email input').focus();
         return false;
     });
 
     $('#email-form .btn-cancel').on('click', function() {
         $('#email-form p').show();
-        $('#email-form .js-email').addClass("hidden");
+        $('#email-form .js-email').addClass('hidden');
         $('#email-form .btn-edit').focus();
         return false;
     });
 
     $('#description-form .btn-edit').on('click', function() {
         $('#description-form .well').hide();
-        $('#description-form .js-desc').removeClass("hidden");
+        $('#description-form .js-desc').removeClass('hidden');
         $('.js-desc textarea').focus();
         return false;
     });
 
     $('#description-form .btn-cancel').on('click', function() {
         $('#description-form .well').show();
-        $('#description-form .js-desc').addClass("hidden");
+        $('#description-form .js-desc').addClass('hidden');
         $('.js-desc .btn-edit').focus();
         return false;
     });
 
     $('#poll-rules-form .btn-edit').on('click', function() {
         $('#poll-rules-form p').hide();
-        $('#poll-rules-form .js-poll-rules').removeClass("hidden");
+        $('#poll-rules-form .js-poll-rules').removeClass('hidden');
         $('.js-poll-rules select').focus();
         return false;
     });
 
     $('#poll-rules-form .btn-cancel').on('click', function() {
         $('#poll-rules-form p').show();
-        $('#poll-rules-form .js-poll-rules').addClass("hidden");
+        $('#poll-rules-form .js-poll-rules').addClass('hidden');
         $('.js-poll-rules .btn-edit').focus();
         return false;
     });
 
     $('#poll-hidden-form .btn-edit').on('click', function() {
         $('#poll-hidden-form p').hide();
-        $('#poll-hidden-form .js-poll-hidden').removeClass("hidden");
+        $('#poll-hidden-form .js-poll-hidden').removeClass('hidden');
         $('.js-poll-hidden input[type=checkbox]').focus();
         return false;
     });
 
     $('#poll-hidden-form .btn-cancel').on('click', function() {
         $('#poll-hidden-form p').show();
-        $('#poll-hidden-form .js-poll-hidden').addClass("hidden");
+        $('#poll-hidden-form .js-poll-hidden').addClass('hidden');
         $('.js-poll-hidden .btn-edit').focus();
         return false;
     });
 
     $('#expiration-form .btn-edit').on('click', function() {
         $('#expiration-form p').hide();
-        $('.js-expiration').removeClass("hidden");
+        $('.js-expiration').removeClass('hidden');
         $('.js-expiration input').focus();
         return false;
     });
 
     $('#expiration-form .btn-cancel').on('click', function() {
         $('#expiration-form p').show();
-        $('#expiration-form .js-expiration').addClass("hidden");
+        $('#expiration-form .js-expiration').addClass('hidden');
         $('#expiration-form .btn-edit').focus();
         return false;
     });
@@ -115,31 +115,54 @@ $(document).ready(function() {
     $('.scroll-left').addClass('disabled');
 
     $('.scroll-left').click(function(){
+        var next = Math.floor($scroll_page);
+        if(next == $scroll_page) {
+            next--;
+        }
+
         $('.scroll-right').removeClass('disabled');
-        $( "#tableContainer" ).animate({
-            scrollLeft: $scroll_scale*($scroll_page-1)
+        $('#tableContainer').animate({
+            scrollLeft: $scroll_scale*(next - 1)
         }, 1000);
         if($scroll_page == 1) {
             $(this).addClass('disabled');
         } else {
-            $scroll_page = $scroll_page-1;
+            $scroll_page = next;
         }
         return false;
     });
     $('.scroll-right').click(function(){
+        var next = Math.ceil($scroll_page);
+        if(next == $scroll_page)
+            next++;
         $('.scroll-left').removeClass('disabled');
-        $( "#tableContainer" ).animate({
-            scrollLeft: $scroll_scale*($scroll_page)
+        $('#tableContainer').animate({
+            scrollLeft: $scroll_scale*(next - 1)
         }, 1000);
 
-        if($scroll_scale*($scroll_page+1) > $( ".results" ).width()) {
+        if($scroll_scale*($scroll_page+1) > $('.results').width()) {
             $(this).addClass('disabled');
         } else {
-            $scroll_page++;
+            $scroll_page = next;
         }
         return false;
     });
 
+    $('#tableContainer').scroll(function() {
+        var position = $(this).scrollLeft();
+        $scroll_page = position / $scroll_scale + 1;
+        if(position == 0) {
+            $('.scroll-left').addClass('disabled');
+        } else {
+            $('.scroll-left').removeClass('disabled');
+        }
+
+        if(position >= $('.results').width() - $('#tableContainer').width()) {
+            $('.scroll-right').addClass('disabled');
+        } else {
+            $('.scroll-right').removeClass('disabled');
+        }
+    });
 });
 
 // Vote form moving to the top or to the bottom
-- 
GitLab