[tor-commits] [atlas/master] Completes advanced search form (Fixes: #23782, #24461)

irl at torproject.org irl at torproject.org
Sat Dec 2 16:47:28 UTC 2017


commit c71dd3714edd33f82e7bfc5e747fadfabe0fd5b6
Author: Iain R. Learmonth <irl at fsfe.org>
Date:   Sat Dec 2 16:37:44 2017 +0000

    Completes advanced search form (Fixes: #23782, #24461)
---
 css/atlas.css              |  5 +++++
 js/views/search/main.js    | 13 +++++++++++++
 templates/search/main.html | 22 ++++++++++++++++++++--
 3 files changed, 38 insertions(+), 2 deletions(-)

diff --git a/css/atlas.css b/css/atlas.css
index ac1c410..3fd9cdb 100644
--- a/css/atlas.css
+++ b/css/atlas.css
@@ -87,3 +87,8 @@ dd {
 td a {
     padding-right: 0 !important;
 }
+
+.day-spinner {
+    width: 120px;
+    display: inline;
+}
diff --git a/js/views/search/main.js b/js/views/search/main.js
index 92ae96f..5ad2a1d 100644
--- a/js/views/search/main.js
+++ b/js/views/search/main.js
@@ -60,27 +60,40 @@ define([
               if($('#advanced-search-hostname').val().trim() != "") query += "host_name:" + $('#advanced-search-hostname').val().trim().split(" ")[0] + " ";
               if($('#advanced-search-type').val() !== "") query += "type:" + $('#advanced-search-type').val() + " ";
               if($('#advanced-search-running').val() !== "") query += "running:" + $('#advanced-search-running').val() + " ";
+              if($('#advanced-search-first-seen-from').val() !== "0" || $('#advanced-search-first-seen-to').val() !== "0") query += "first_seen_days:" + $('#advanced-search-first-seen-from').val() + "-" + $('#advanced-search-first-seen-to').val() + " ";
+              if($('#advanced-search-last-seen-from').val() !== "0" || $('#advanced-search-last-seen-to').val() !== "0") query += "last_seen_days:" + $('#advanced-search-last-seen-from').val() + "-" + $('#advanced-search-last-seen-to').val() + " ";
+              if($('#advanced-search-version').val().trim() != "") query += "version:" + $('#advanced-search-version').val().trim().split(" ")[0] + " ";
               return query;
             }
 
             $("#do-advanced").bind('click', function(){
                 var query = buildAdvancedQuery();
                 document.location = "#search/"+encodeURI(query);
+                return false;
             });
 
             $("#do-advanced-aggregation").bind('click', function(){
                 var query = buildAdvancedQuery();
                 document.location = "#aggregate/all/"+encodeURI(query);
+                return false;
             });
 
             $("#do-advanced-aggregation-cc").bind('click', function(){
                 var query = buildAdvancedQuery();
                 document.location = "#aggregate/cc/"+encodeURI(query);
+                return false;
             });
 
             $("#do-advanced-aggregation-as").bind('click', function(){
                 var query = buildAdvancedQuery();
                 document.location = "#aggregate/as/"+encodeURI(query);
+                return false;
+            });
+
+            $("#home-advanced-search").bind('submit', function(){
+                var query = buildAdvancedQuery();
+                document.location = "#search/"+encodeURI(query);
+                return false;
             });
 
             $(".tip").tooltip();
diff --git a/templates/search/main.html b/templates/search/main.html
index 6dc522b..9af49ae 100644
--- a/templates/search/main.html
+++ b/templates/search/main.html
@@ -44,6 +44,8 @@ probabilities of using relays in a particular country or AS as a guard, middle
 or exit relay filtered by the search parameters.</p>
 <div class="panel panel-default"><div class="panel-body">
   <form id="home-advanced-search">
+    <div class="row">
+    <div class="col-md-6">
     <div class="form-group">
       <label for="advanced-search-nickname">Nickname:</label>
       <input type="text" class="form-control search-query" autocorrect="off" autocapitalize="off" id="advanced-search-nickname">
@@ -89,11 +91,25 @@ or exit relay filtered by the search parameters.</p>
         <input type="text" id="advanced-search-as" class="search-query form-control">
       </div>
      </div>
+    </div><!-- col-md-6 -->
+    <div class="col-md-6">
     <div class="form-group">
-      <label for="advanced-search-nickname">Hostname:</label>
+      <label for="advanced-search-hostname">Hostname:</label>
       <input type="text" class="form-control search-query" autocorrect="off" autocapitalize="off" id="advanced-search-hostname">
     </div>
     <div class="form-group">
+      <label>First Seen:</label><br>
+      From <input type="number" id="advanced-search-first-seen-from" class="form-control day-spinner" value="0"> to <input type="number" id="advanced-search-first-seen-to" class="form-control day-spinner" value="0"> days ago
+    </div>
+    <div class="form-group">
+      <label>Last Seen:</label><br>
+      From <input type="number" id="advanced-search-last-seen-from" class="form-control day-spinner" value="0"> to <input type="number" id="advanced-search-last-seen-to" class="form-control day-spinner" value="0"> days ago
+    </div>
+    <div class="form-group">
+      <label for="advanced-search-version">Version:</label>
+      <input type="text" class="form-control search-query" autocorrect="off" autocapitalize="off" id="advanced-search-version">
+    </div>
+    <div class="form-group">
       <label for="advanced-search-flag">Type<sup>†</sup>:</label>
       <select class="form-control" id="advanced-search-type">
         <option value="">Any</option>
@@ -109,7 +125,9 @@ or exit relay filtered by the search parameters.</p>
         <option value="false">Only Offline Relays</option>
       </select>
     </div>
-    <p><button id="do-advanced" class="btn btn-primary" type="button">Advanced Search</button></p>
+    </div><!-- col-md-6 -->
+    </div><!-- row -->
+    <p><button id="do-advanced" class="btn btn-primary" type="submit">Advanced Search</button></p>
     <p>
       <button id="do-advanced-aggregation" class="btn btn-primary" type="button">Advanced Aggregation</button>
       <button id="do-advanced-aggregation-cc" class="btn btn-secondary tip" type="button" title="Aggregate by Country">by CC</button>



More information about the tor-commits mailing list