diff --git a/static/js/nextbutton.js b/static/js/nextbutton.js index dd14a482718c98248086917d1a31ced26b82bfd5..913b788e7bbbbc6cc5d3f1a8e7a1d58306adfb0f 100644 --- a/static/js/nextbutton.js +++ b/static/js/nextbutton.js @@ -1,5 +1,6 @@ -var keyhash = ""; -var changehash = false; +var keyhash_forward = ""; +var keyhash_backward = ""; +var changehash = 0; var notificationArea; var timeout; @@ -12,31 +13,49 @@ function clickNextSpeaker() { link.click(); } +function clickPreviousSpeaker() { + var link = document.getElementById("previous-statement-button"); + link.click(); +} + window.onkeypress = function(e) { - if (changehash) { - keyhash = hashkey(e); - changehash = false; - sessionStorage["keyhash"] = keyhash; - notificationArea.innerHTML = "Key has been set."; + if (changehash == 2) { + keyhash_forward = hashkey(e); + changehash = 1; + sessionStorage["keyhash_forward"] = keyhash_forward; + notificationArea.innerHTML = "Please click the backward key."; + } else if (changehash == 1) { + keyhash_backward = hashkey(e); + changehash = 0; + sessionStorage["keyhash_backward"] = keyhash_backward; + notificationArea.innerHTML = "Both keys have been set."; timeout = window.setTimeout(function() { notificationArea.innerHTML = ""; }, 5000); } else { - if (hashkey(e) == keyhash) { + if (hashkey(e) == keyhash_forward) { clickNextSpeaker(); + } else if (hashkey(e) == keyhash_backward) { + clickPreviousSpeaker(); } } }; function setkeyhash() { - changehash = true; - notificationArea.innerHTML = "Please click the key."; + changehash = 2; + notificationArea.innerHTML = "Please click the forward key."; window.clearTimeout(timeout); } var nextbuttoncachedonloadfunction = window.onload; window.onload = function() { nextbuttoncachedonloadfunction(); - if (sessionStorage["keyhash"]) { - keyhash = sessionStorage["keyhash"]; + var found = false; + if (sessionStorage["keyhash_forward"]) { + keyhash_forward = sessionStorage["keyhash_forward"]; + found = true; + } + if (sessionStorage["keyhash_backward"]) { + keyhash_backward = sessionStorage["keyhash_backward"]; + found = true; } notificationArea = document.getElementById("rede-layout-notification"); }; diff --git a/templates/admin_topic_show.html b/templates/admin_topic_show.html index f90104be1fa00a93c02169b1e580758bbace2d34..b6d4d3a54b4903c8c8ba777cc95bf7cfd94f5d2a 100644 --- a/templates/admin_topic_show.html +++ b/templates/admin_topic_show.html @@ -93,7 +93,7 @@ <tr> <td> {% if can_undo_statement %} - <a href="{{ url_for(".statement_undo", topic_id=topic.id) }}" class="rede-href"><i class="material-icons" role="presentation">undo</i> Previous</a> + <a id="previous-statement-button" href="{{ url_for(".statement_undo", topic_id=topic.id) }}" class="rede-href"><i class="material-icons" role="presentation">undo</i> Previous</a> {% endif %} </td> <td>