on master help sign in
oscar template: make the categories clickable
commit25919de6084599c3196622ed1c89648b2c11f78a authorThomas Pointhuber <thomas.pointhuber@gmx.at> dateFri 26 Sep 2014, 22:43 (12 years ago) parent5568fbd
4 files changed+46−11
searx/static/oscar/js/scripts.js+31 searx/templates/oscar/base.html+1 searx/templates/oscar/categories.html+6 searx/templates/oscar/preferences.html+8−11
searx/static/oscar/js/scripts.jsnew file+31
@@ -0,0 +1,31 @@
1+/**
2+ _ _ _
3+| |__ ___ ___ | |_ ___| |_ _ __ __ ___ __
4+| '_ \ / _ \ / _ \| __/ __| __| '__/ _` \ \/ /
5+| |_) | (_) | (_) | |_\__ | |_| | | (_| |> <
6+|_.__/ \___/ \___/ \__|___/\__|_| \__,_/_/\_\.js
7+
8+*/
9+
10+$(document).ready(function(){
11+ $('.btn-toggle .btn').click(function() {
12+ var btnClass = 'btn-' + $(this).data('btn-class');
13+ var btnLabelDefault = $(this).data('btn-label-default');
14+ var btnLabelToggled = $(this).data('btn-label-toggled');
15+ if(btnLabelToggled != '')
16+ {
17+ if($(this).hasClass('btn-default'))
18+ {
19+
20+ var html = $(this).html().replace(btnLabelDefault, btnLabelToggled);
21+ }
22+ else
23+ {
24+ var html = $(this).html().replace(btnLabelToggled, btnLabelDefault);
25+ }
26+ $(this).html(html);
27+ }
28+ $(this).toggleClass(btnClass);
29+ $(this).toggleClass('btn-default');
30+ });
31+});
searx/templates/oscar/base.html+1
@@ -61,5 +61,6 @@
6161 </div>
6262 <script src="{{ url_for('static', filename='js/jquery-1.11.1.min.js') }}"></script>
6363 <script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
64+ <script src="{{ url_for('static', filename='js/scripts.js') }}"></script>
6465</body>
6566</html>
searx/templates/oscar/categories.htmlnew file+6
@@ -0,0 +1,6 @@
1+<div id="categories" class="btn-group btn-toggle" data-toggle="buttons">
2+{% for category in categories %}
3+ <label class="btn btn-sm {% if category in selected_categories %}btn-primary active{% else %}btn-default{% endif %}" data-btn-class="primary">
4+ <input class="hidden" type="checkbox" id="checkbox_{{ category|replace(' ', '_') }}" name="category_{{ category }}" {% if category in selected_categories %}checked="checked"{% endif %} />{{ _(category) }}</label>
5+{% endfor %}
6+</div>
searx/templates/oscar/preferences.html+8−11
@@ -15,15 +15,14 @@
1515 <!-- Tab panes -->
1616 <div class="tab-content">
1717 <div class="tab-pane active" id="tab_general">
18− <fieldset>
19− <legend>{{ _('Default categories') }}</legend>
20− <p>
21− {% include 'default/categories.html' %}
22− </p>
23− </fieldset>
24−
2518 <fieldset>
2619 <div class="container-fluid">
20+ <div class="row form-group">
21+ <label class="col-sm-3 col-md-2">{{ _('Default categories') }}</label>
22+ <div class="col-sm-11 col-md-10">
23+ {% include 'oscar/categories.html' %}
24+ </div>
25+ </div>
2726 <div class="row form-group">
2827 <label class="col-sm-3 col-md-2">{{ _('Search language') }}</label>
2928 <div class="col-sm-4 col-md-4">
@@ -36,8 +35,6 @@
3635 </div>
3736 <span class="col-sm-5 col-md-6 help-block">{{ _('What language do you prefer for search?') }}</span>
3837 </div>
39−
40−
4138 <div class="row form-group">
4239 <label class="col-sm-3 col-md-2">{{ _('Interface language') }}</label>
4340 <div class="col-sm-4 col-md-4">
@@ -91,7 +88,7 @@
9188 <!-- Nav tabs -->
9289 <ul class="nav nav-tabs" role="tablist" style="margin-bottom:20px;">
9390 {% for (categ,search_engines) in categs %}
94− <li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
91+ <li{% if loop.first %} class="active"{% endif %}><a href="#tab_engine_{{ categ|replace(' ', '_') }}" role="tab" data-toggle="tab">{{ _(categ) }}</a></li>
9592 {% endfor %}
9693 </ul>
9794
@@ -99,7 +96,7 @@
9996 <!-- Tab panes -->
10097 <div class="tab-content">
10198 {% for (categ,search_engines) in categs %}
102− <div class="tab-pane{% if loop.first %} active{% endif %}" id="tab_engine_{{ categ|replace(' ', '') }}">
99+ <div class="tab-pane{% if loop.first %} active{% endif %}" id="tab_engine_{{ categ|replace(' ', '_') }}">
103100 <div class="container-fluid">
104101 <fieldset>
105102 {% for search_engine in search_engines %}