diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-07-10 13:34:38 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-08-13 18:26:03 +0200 |
commit | 71e370980efa9ff69cd176d6af431c99b9f080e4 (patch) | |
tree | 1ca976985f6db6c5072a006da02d2a20674c1511 /ishtar_common | |
parent | cd55cf598e50b5b7ebaabf2030ff02a5f17b39ea (diff) | |
download | Ishtar-71e370980efa9ff69cd176d6af431c99b9f080e4.tar.bz2 Ishtar-71e370980efa9ff69cd176d6af431c99b9f080e4.zip |
UI: improve layout and action for search
Diffstat (limited to 'ishtar_common')
-rw-r--r-- | ishtar_common/forms_common.py | 8 | ||||
-rw-r--r-- | ishtar_common/static/js/ishtar.js | 7 | ||||
-rw-r--r-- | ishtar_common/static/media/styles.css | 21 | ||||
-rw-r--r-- | ishtar_common/templates/blocks/bs_field_snippet.html | 2 | ||||
-rw-r--r-- | ishtar_common/templates/ishtar/forms/search_query.html | 18 | ||||
-rw-r--r-- | ishtar_common/templates/widgets/search_input.html | 39 |
6 files changed, 46 insertions, 49 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 43652ba07..397b87815 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -1280,11 +1280,11 @@ AuthorFormset.form_slug = "authors" class SearchQueryForm(forms.Form): - query = forms.CharField(max_length=None, label=_(u"Query"), disabled=True, - initial='*') - search_query = forms.ChoiceField(label=_(u"Search query"), required=False, + query = forms.CharField(max_length=None, label=_(u"Query"), initial='*', + widget=forms.HiddenInput) + search_query = forms.ChoiceField(label="", required=False, choices=[]) - label = forms.CharField(max_length=None, label=_(u"Name"), required=False) + label = forms.CharField(label="", max_length=None, required=False) is_alert = forms.BooleanField(label=_(u"Is an alert"), required=False) create_or_update = forms.ChoiceField( choices=(('create', _(u"Create")), diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 0df286c26..81d080801 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -266,10 +266,13 @@ $(document).ready(function(){ }); $("a.async-link").click(manage_async_link); $(".chosen-select").chosen(); - $(".clear-search").click(function(){ + $("#clear-search-button").click(function(){ $(this).parent().parent().children('input').prop("value", ""); enable_save(); }); + $("#submit-search").click(function(){ + $(".search_button").click(); + }); }); $(document).on("click", '#to_bottom_arrow', function(){ @@ -540,8 +543,10 @@ function get_label_from_input(input){ var enable_save = function(){ if ($(".search-widget input").val()){ $("#save-search-button").removeClass('disabled'); + $("#clear-search-button").removeClass('disabled'); } else { $("#save-search-button").addClass('disabled'); + $("#clear-search-button").addClass('disabled'); } } diff --git a/ishtar_common/static/media/styles.css b/ishtar_common/static/media/styles.css index 6860ca93c..b5e8bab48 100644 --- a/ishtar_common/static/media/styles.css +++ b/ishtar_common/static/media/styles.css @@ -25,10 +25,6 @@ html{ height: auto; } -.form-group span label { - display: inline-block; -} - #window-fixed-menu.hidden #window-fixed-menu-list{ display: none; @@ -39,23 +35,6 @@ html{ font-size: 0.9em; } -.form-group label{ - display: block; -} - -.form-group li label { - display: inline-block; -} - -.form-group li .form-control { - width: auto; -} - -.form-group li input[type="radio"].form-control, -.form-group li input[type="checkbox"].form-control{ - display: inline; -} - #id_parcel_0, #id_parcel_1, #id_parcel_2{ width: 30%; display: inline-block; diff --git a/ishtar_common/templates/blocks/bs_field_snippet.html b/ishtar_common/templates/blocks/bs_field_snippet.html index a164c81d8..6a6ea5360 100644 --- a/ishtar_common/templates/blocks/bs_field_snippet.html +++ b/ishtar_common/templates/blocks/bs_field_snippet.html @@ -1,7 +1,7 @@ {% load i18n %} <div class="form-group {% if field.field.widget.attrs.cols %}col-lg-12{% else %}col-lg-6{% endif %}{% if field.errors %} is-invalid{% endif %}{% if field.field.required %} required{% endif %}" data-alt-name="{{field.field.alt_name}}"> - {{ field.label_tag }} + {% if field.label %}{{ field.label_tag }}{% endif %} {% if field.help_text %} <div class="input-group"> {% endif %} diff --git a/ishtar_common/templates/ishtar/forms/search_query.html b/ishtar_common/templates/ishtar/forms/search_query.html index e842fd591..ff51d483d 100644 --- a/ishtar_common/templates/ishtar/forms/search_query.html +++ b/ishtar_common/templates/ishtar/forms/search_query.html @@ -2,7 +2,7 @@ <div class="modal-dialog modal-sm" id="save-search-div"> <div class="modal-content"> <div class="modal-header"> - <h5>{% trans "Save search" %}</h5> + <h5>{% trans "Bookmark search" %}</h5> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> @@ -11,7 +11,7 @@ action="{% url 'save-search-query' app_label model %}" method="post" id="save-search-form"> - <div class="modal-body form-row"> + <div class="modal-body form-row-modal"> {% csrf_token %} <div class='form'> @@ -29,11 +29,6 @@ </div>{% endif %} {% endfor %} - <div class="form-row"> - <div class="form-group col-lg-12"> - {{form.query}} - </div> - </div> {% if form.search_query %} <div class="form-row"> <input type="radio" name="create_or_update" value="create" @@ -50,9 +45,12 @@ {% endwith %} </div> <div class="form-row"> - {% with form.is_alert as field %} - {% include "blocks/bs_field_snippet.html" %} - {% endwith %} + <div class="form-group col-lg-12"> + <span> + {{form.is_alert}} + <label for="{{form.is_alert.auto_id}}">{{form.is_alert.label}}</label> + </span> + </div> </div> </div> {% if form.search_query %} diff --git a/ishtar_common/templates/widgets/search_input.html b/ishtar_common/templates/widgets/search_input.html index ddb62969f..01e49e93b 100644 --- a/ishtar_common/templates/widgets/search_input.html +++ b/ishtar_common/templates/widgets/search_input.html @@ -1,28 +1,38 @@ {% load i18n %}<div class="input-group search-widget"> - <span class="input-group-prepend"> - <span class="input-group-text"> - <i class="fa fa-search" aria-hidden="true"></i> - </span> - </span> <input type="{{ widget.type }}" name="{{ widget.name }}" {% if widget.value != None %} value="{{ widget.value|stringformat:'s' }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} /> <span class="input-group-append"> - <button type="button" class="btn btn-secondary" data-toggle="modal" + <span class="input-group-text input-link" + title="{% trans 'Search' %}" + id="submit-search"> + <i class="fa fa-search" aria-hidden="true"></i> + </span> + <button type="button" class="input-group-text input-link" data-toggle="modal" data-target="#modal-advanced-search" title="{% trans 'Criteria' %}"> <i class="fa fa-cogs" aria-hidden="true"></i> </button> - <a type="button" class="async-link btn btn-secondary disabled" + <span class="input-group-text input-link disabled" + id="clear-search-button" + title="{% trans 'Clear' %}"> + <i class="fa fa-times" aria-hidden="true"></i> + </span> + <span class="input-group-text input-sep"> + </span> + <a class="input-group-text input-link async-link disabled" id="save-search-button" data-target="#modal-dynamic-form" data-modal-open="#modal-dynamic-form" - title="{% trans 'Save search' %}" + title="{% trans 'Bookmark save' %}" href="{% url 'save-search-query' 'archaeological-operations' 'operation'%}"> - <i class="fa fa-floppy-o" aria-hidden="true"></i> + <i class="fa fa-star-o" aria-hidden="true"></i> </a> - <span class="input-group-text clear-search"> - <i class="fa fa-times" aria-hidden="true"></i> + <span class="input-group-text input-link disabled" + title="{% trans 'Load bookmark' %}" + id="load-bookmark"> + <i class="fa fa-bookmark" aria-hidden="true"></i> </span> + </span> </div> @@ -30,10 +40,15 @@ $(document).ready(function(){ $(".search-widget input").keypress(function(e) { - if (e.which == 13) { + var key = e.key; + if (key === "Enter") { $(".search_button").click(); $(this).focus(); } + if (key === "Escape") { + $("#clear-search-button").click(); + $(this).focus(); + } }); $(".search-widget input").keyup(function(e) { enable_save(); |