From ca9e48043c7703033d3f6faa8e83a5d2f9e992cb Mon Sep 17 00:00:00 2001 From: Jorran de Wit <jorrandewit@outlook.com> Date: Sat, 19 Aug 2017 13:55:14 +0200 Subject: [PATCH] UX improcements --- scipost/static/scipost/assets/js/scripts.js | 7 +- scipost/templates/scipost/search.html | 172 ------------------ scipost/templates/scipost/search2.html | 182 -------------------- templates/search/search.html | 22 +-- 4 files changed, 10 insertions(+), 373 deletions(-) delete mode 100644 scipost/templates/scipost/search.html delete mode 100644 scipost/templates/scipost/search2.html diff --git a/scipost/static/scipost/assets/js/scripts.js b/scipost/static/scipost/assets/js/scripts.js index 0c8bf6045..c17d95694 100644 --- a/scipost/static/scipost/assets/js/scripts.js +++ b/scipost/static/scipost/assets/js/scripts.js @@ -40,7 +40,8 @@ $(function(){ window.history.replaceState({}, null, '?tab=' + tab_name); }); - // $('footer').each(function () { - var $spy = $('body').scrollspy({ target: '.footer' }) - // }) + // Auto-submit hook for general form elements + $("form .auto-submit input").on('change', function(){ + $(this).parents('form').submit() + }) }); diff --git a/scipost/templates/scipost/search.html b/scipost/templates/scipost/search.html deleted file mode 100644 index f80596b41..000000000 --- a/scipost/templates/scipost/search.html +++ /dev/null @@ -1,172 +0,0 @@ -{% extends 'scipost/base.html' %} - -{% block pagetitle %}: list{% endblock pagetitle %} - -{% block content %} - -<div class="row"> - <div class="col-12"> - <h1>Search results: <span class="text-muted">{{ search_term|default:'' }}</span></h1> - <h1>Search results{% if search_term %}: <small><i>{{ search_term }}</i></small>{% endif %}</h1> - {% if not publication_search_list and not commentary_search_list and not submission_search_list and not thesislink_search_list and not comment_search_link and not comment_search_list %} - <p>Your search query did not return any result.</p> - {% endif %} - </div> -</div> - -{% if publication_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Publications ({{publication_search_list|length}})</h2> - </div> -</div> - -<div class="row"> - <div class="col-12"> - {% for publication in publication_search_list %} - <div class="card card-publication"> - {% include 'journals/_publication_card_content.html' with publication=publication %} - </div> - {% endfor %} - </div> -</div> - -<div class="row"> - <div class="col-12"> - <div class="pagination"> - <span class="step-links"> - {% if publication_search_list.has_previous %} - <a href="?publication_search_list_page={{ publication_search_list.previous_page_number }}">previous</a> - {% endif %} - <span class="current"> - Page {{ publication_search_list.number }} of {{ publication_search_list.paginator.num_pages }}. - </span> - {% if publication_search_list.has_next %} - <a href="?publication_search_list_page={{ publication_search_list.next_page_number }}">next</a> - {% endif %} - </span> - </div> - </div> -</div> -{% endif %} - - -{% if commentary_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Commentaries ({{commentary_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for commentary in commentary_search_list %} - <li class="list-group-item"> - {% include 'commentaries/_commentary_card_content.html' with commentary=commentary %} - </li> - {% endfor %} - </ul> - </div> -</div> - -<div class="row"> - <div class="col-12"> - <div class="pagination"> - <span class="step-links"> - {% if commentary_search_list.has_previous %} - <a href="?commentary_search_list_page={{ commentary_search_list.previous_page_number }}">previous</a> - {% endif %} - <span class="current"> - Page {{ commentary_search_list.number }} of {{ commentary_search_list.paginator.num_pages }}. - </span> - {% if commentary_search_list.has_next %} - <a href="?commentary_search_list_page={{ commentary_search_list.next_page_number }}">next</a> - {% endif %} - </span> - </div> - </div> -</div> -{% endif %} - - -{% if submission_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Submissions ({{submission_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for submission in submission_search_list %} - <li class="list-group-item"> - {% include 'submissions/_submission_card_content.html' with submission=submission %} - </li> - {% endfor %} - </ul> - </div> -</div> - -<div class="row"> - <div class="col-12"> - <div class="pagination"> - <span class="step-links"> - {% if submission_search_list.has_previous %} - <a href="?submission_search_list_page={{ submission_search_list.previous_page_number }}">previous</a> - {% endif %} - <span class="current"> - Page {{ submission_search_list.number }} of {{ submission_search_list.paginator.num_pages }} - </span> - {% if submission_search_list.has_next %} - <a href="?submission_search_list_page={{ submission_search_list.next_page_number }}">next</a> - {% endif %} - </span> - </div> - </div> -</div> -{% endif %} - -{% if thesislink_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Theses ({{thesislink_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for thesislink in thesislink_search_list %} - <li class="list-group-item"> - {% include 'theses/_thesislink_card_content.html' with thesislink=thesislink %} - </li> - {% endfor %} - </ul> - </div> -</div> -{% endif %} - -{% if comment_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Comments ({{comment_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for comment in comment_search_list %} - <li class="list-group-item"> - {% include 'comments/_comment_card_extended_content.html' with comment=comment %} - </li> - {% endfor %} - </ul> - </div> -</div> -{% endif %} - -{% endblock content %} diff --git a/scipost/templates/scipost/search2.html b/scipost/templates/scipost/search2.html deleted file mode 100644 index 5453a7c2e..000000000 --- a/scipost/templates/scipost/search2.html +++ /dev/null @@ -1,182 +0,0 @@ -{% extends 'scipost/base.html' %} - -{% load bootstrap %} - -{% block pagetitle %}: list{% endblock pagetitle %} - -{% block content %} - - -<h1>Search results</h1> -<form method="get" class="my-2"> - <div class="form-group row"> - <div class="col-md-5 col-lg-3 mb-2 mb-md-0 pr-md-1"> - <input class="form-control" id="{{form.q.auto_id}}" maxlength="100" name="{{form.q.name}}" type="text" value="{{form.q.value}}" required="required"> - </div> - <div class="col-md-7 col-lg-9 pl-md-1"> - <input class="btn btn-primary" type="submit" value="Search"> - </div> - </div> -</form> - - -{% if not publication_search_list and not commentary_search_list and not submission_search_list and not thesislink_search_list and not comment_search_link and not comment_search_list %} - <p>Your search query did not return any result.</p> -{% endif %} - -{% if publication_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Publications ({{publication_search_list|length}})</h2> - </div> -</div> - -<div class="row"> - <div class="col-12"> - {% for publication in publication_search_list %} - <div class="card card-publication"> - {% include 'journals/_publication_card_content.html' with publication=publication %} - </div> - {% endfor %} - </div> -</div> - -<div class="row"> - <div class="col-12"> - <div class="pagination"> - <span class="step-links"> - {% if publication_search_list.has_previous %} - <a href="?publication_search_list_page={{ publication_search_list.previous_page_number }}">previous</a> - {% endif %} - <span class="current"> - Page {{ publication_search_list.number }} of {{ publication_search_list.paginator.num_pages }}. - </span> - {% if publication_search_list.has_next %} - <a href="?publication_search_list_page={{ publication_search_list.next_page_number }}">next</a> - {% endif %} - </span> - </div> - </div> -</div> -{% endif %} - - -{% if commentary_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Commentaries ({{commentary_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for commentary in commentary_search_list %} - <li class="list-group-item"> - {% include 'commentaries/_commentary_card_content.html' with commentary=commentary %} - </li> - {% endfor %} - </ul> - </div> -</div> - -<div class="row"> - <div class="col-12"> - <div class="pagination"> - <span class="step-links"> - {% if commentary_search_list.has_previous %} - <a href="?commentary_search_list_page={{ commentary_search_list.previous_page_number }}">previous</a> - {% endif %} - <span class="current"> - Page {{ commentary_search_list.number }} of {{ commentary_search_list.paginator.num_pages }}. - </span> - {% if commentary_search_list.has_next %} - <a href="?commentary_search_list_page={{ commentary_search_list.next_page_number }}">next</a> - {% endif %} - </span> - </div> - </div> -</div> -{% endif %} - - -{% if submission_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Submissions ({{submission_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for submission in submission_search_list %} - <li class="list-group-item"> - {% include 'submissions/_submission_card_content.html' with submission=submission %} - </li> - {% endfor %} - </ul> - </div> -</div> - -<div class="row"> - <div class="col-12"> - <div class="pagination"> - <span class="step-links"> - {% if submission_search_list.has_previous %} - <a href="?submission_search_list_page={{ submission_search_list.previous_page_number }}">previous</a> - {% endif %} - <span class="current"> - Page {{ submission_search_list.number }} of {{ submission_search_list.paginator.num_pages }} - </span> - {% if submission_search_list.has_next %} - <a href="?submission_search_list_page={{ submission_search_list.next_page_number }}">next</a> - {% endif %} - </span> - </div> - </div> -</div> -{% endif %} - -{% if thesislink_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Theses ({{thesislink_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for thesislink in thesislink_search_list %} - <li class="list-group-item"> - {% include 'theses/_thesislink_card_content.html' with thesislink=thesislink %} - </li> - {% endfor %} - </ul> - </div> -</div> -{% endif %} - -{% if comment_search_list %} -<hr> -<div class="row"> - <div class="col-12"> - <h2 class="highlight">Comments ({{comment_search_list|length}})</h2> - </div> -</div> -<div class="row"> - <div class="col-12"> - <ul class="list-group list-group-flush"> - {% for comment in comment_search_list %} - <li class="list-group-item"> - {% include 'comments/_comment_card_extended_content.html' with comment=comment %} - </li> - {% endfor %} - </ul> - </div> -</div> -{% endif %} - -{% endblock content %} diff --git a/templates/search/search.html b/templates/search/search.html index 1fa026d8e..ca70b5b79 100644 --- a/templates/search/search.html +++ b/templates/search/search.html @@ -14,14 +14,14 @@ <form method="get"> <div class="form-group"> <label for="{{form.q.auto_id}}">{{form.q.label}}</label> - <input type="text" name="{{form.q.name}}" class="form-control form-control-lg" id="{{form.q.auto_id}}" aria-describedby="search_help" placeholder="Search term" value="{{form.q.value}}" required="required"> + <input type="text" name="{{form.q.name}}" class="form-control form-control-lg" id="{{form.q.auto_id}}" aria-describedby="search_help" placeholder="Search term" value="{{form.q.value|default:''}}" required="required"> <small id="search_help" class="form-text text-muted">{{form.q.help_text}}</small> </div> <div class="form-group"> <label>Type</label> </div> - <div class="form-group checkboxes"> + <div class="form-group checkboxes auto-submit"> {% for field in form.models %} <input type="checkbox" name="{{field.name}}" id="{{field.id_for_label}}" value="{{field.choice_value|stringformat:'s'}}" {% if field.choice_value in form.models.value %}checked="checked"{% endif %}> <label class="btn btn-info" for="{{field.id_for_label}}"> @@ -31,28 +31,15 @@ {% endfor %} </div> - {# {% comment %}#} - {# DISABLED DATE SEARCH: DOES NOT WORK OK #} <label>Date from</label> <div class="form-row"> - {# <div class="form-group col-md-6">#} {{form.start}} - {# </div>#} - {# <div class="form-group col-md-6">#} - {# {{form.start_2}}#} - {# </div>#} </div> <label>Date until</label> <div class="form-row"> - {# <div class="form-group col-md-6">#} {{form.end}} - {# </div>#} - {# <div class="form-group col-md-6">#} - {# {{form.end_2}}#} - {# </div>#} </div> - {# {% endcomment %}#} <div class="form-group"> {# <input type="reset" class="btn btn-danger" value="Reset">#} @@ -61,9 +48,10 @@ </form> </div> <div class="col-md-8"> + <h1 class="my-3 mt-md-0">Search results{% if results_count and query %} ({{results_count}} found){% endif %}</h1> + {# without this logic, an request without GET parameters would return *all* objects indexed by Haystack #} {% if query %} - <h1 class="my-3 mt-md-0">Search results{% if results_count %} ({{results_count}} found){% endif %}</h1> <ul class="list-group list-group-flush"> {% for result in object_list %} <li class="list-group-item{% if result.content_type == 'journals.publication' %} border-0{% endif %}"> @@ -101,6 +89,8 @@ </p> {% endif %} </ul> + {% else %} + <p>Your search query did not return any result.</p> {% endif %} </div> </div> -- GitLab