diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-02-22 17:49:14 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-02-22 17:49:14 +0100 |
commit | a4d3fd61c22a54b910f22d060cb8d9360381dbae (patch) | |
tree | 23c0fa0ccbfb06f156ccbb17007fcafcde0efef1 | |
parent | 80c656db799b87bad37d3fb16e880657ccef810d (diff) | |
download | Chimère-a4d3fd61c22a54b910f22d060cb8d9360381dbae.tar.bz2 Chimère-a4d3fd61c22a54b910f22d060cb8d9360381dbae.zip |
Search templates refactoring
-rw-r--r-- | chimere/static/chimere/css/styles.css | 4 | ||||
-rw-r--r-- | chimere/static/chimere/js/jquery.chimere.js | 2 | ||||
-rw-r--r-- | chimere/templates/search/search.html | 28 | ||||
-rw-r--r-- | chimere/templates/search/search_js.html | 21 |
4 files changed, 35 insertions, 20 deletions
diff --git a/chimere/static/chimere/css/styles.css b/chimere/static/chimere/css/styles.css index 5d7f177..a8efa7f 100644 --- a/chimere/static/chimere/css/styles.css +++ b/chimere/static/chimere/css/styles.css @@ -756,6 +756,10 @@ table.inline-table td input[type=file]{ margin-right: auto; } +#haystack-search .action-label{ + display:none; +} + #search-box{ position:absolute; z-index:200; diff --git a/chimere/static/chimere/js/jquery.chimere.js b/chimere/static/chimere/js/jquery.chimere.js index 844ec1c..195b43b 100644 --- a/chimere/static/chimere/js/jquery.chimere.js +++ b/chimere/static/chimere/js/jquery.chimere.js @@ -1,4 +1,4 @@ -/* Copyright (C) 2008-2014 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> +/* Copyright (C) 2008-2015 Étienne Loks <etienne.loks_AT_peacefrogsDOTnet> This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as diff --git a/chimere/templates/search/search.html b/chimere/templates/search/search.html index b0c7045..95d3937 100644 --- a/chimere/templates/search/search.html +++ b/chimere/templates/search/search.html @@ -4,22 +4,7 @@ var do_you_mean = "{% trans 'Do you mean: ' %}"; var end_do_you_mean = "{% trans '?' %}"; </script> {% if query %} -<script type='text/javascript'> -$(function(){ - var geo_objects = [{% for result in page.object_list %}{{result.object.getGeoJSON|safe}}{% if not forloop.last %}, {% endif %}{% endfor %}]; - var geo_features = {}; - for (idx=0 ; idx < geo_objects.length ; idx++){ - var c_idx = geo_objects[idx].properties.pk; - if (search_result.indexOf(c_idx) == -1){ - search_result.push(c_idx); - geo_features[c_idx] = $('#main-map').chimere('addMarker', - geo_objects[idx]); - } - } - {% if page.object_list.count %}$("#main-map").chimere("zoomToMarkerExtent");{% endif %} - -}); -</script> +{% include "search/search_js.html" %} <div id='search-listing'> <ul> {% for result in page.object_list %} @@ -33,19 +18,24 @@ $(function(){ </div> {% if page.has_previous or page.has_next %} <div id='search-nav'> - {% if page.has_previous %}<a href="#" onclick="haystack_search(this, {{ page.previous_page_number }});">{% trans "Previous" %}</a>{% endif %} - {% if page.has_next %}<a href="#" onclick="haystack_search(this, {{ page.next_page_number }});">{% trans "More results..." %}</a>{% endif %} + <nav> + <ul class="pager"> + {% if page.has_previous %}<li class="previous"><a href="#" onclick="haystack_search(this, {{ page.previous_page_number }});">← {% trans "Previous" %}</a></li>{% endif %} + {% if page.has_next %}<li class="next"><a href="#" onclick="haystack_search(this, {{ page.next_page_number }});">{% trans "More results..." %} →</a></li>{% endif %} + </ul> + </nav> </div> {% endif %} {% else %} <form id='search-form' class='autocomplete-me'> <input type="text" id="id_q" name="q" autocomplete="off"/> - <button name='haystack-search' id='haystack-search' type='button' disabled='disabled' class="btn btn-default">{% trans "Search" %}</button> + <button name='haystack-search' id='haystack-search' type='button' disabled='disabled' class="btn btn-default"><span class='action-label'>{% trans "Search" %} </span><span class="glyphicon glyphicon-search"></span></button> </form> <div id='spelling'></div> <div id='search-result'></div> <script type='text/javascript'> +no_result_message = "{% trans 'No exact match.' %}"; $(function(){ $('#haystack-search').click( function(evt){ diff --git a/chimere/templates/search/search_js.html b/chimere/templates/search/search_js.html new file mode 100644 index 0000000..25edca6 --- /dev/null +++ b/chimere/templates/search/search_js.html @@ -0,0 +1,21 @@ +<script type='text/javascript'> +$(function(){ + // clean checked categories + $('.subcategory').each(function(){ $(this).removeClass('selected'); }); + $('.subcategory input[type=checkbox]').attr('checked', false); + + var geo_objects = [{% for result in page.object_list %}{{result.object.getGeoJSON|safe}}{% if not forloop.last %}, {% endif %}{% endfor %}]; + var geo_features = {}; + for (idx=0 ; idx < geo_objects.length ; idx++){ + var c_idx = geo_objects[idx].properties.pk; + if (search_result.indexOf(c_idx) == -1){ + search_result.push(c_idx); + geo_features[c_idx] = $('#main-map').chimere('addMarker', + geo_objects[idx]); + } + } + {% if page.object_list.count %}$("#main-map").chimere("zoomToMarkerExtent");{% endif %} + +}); +</script> + |