diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-07-04 17:11:35 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-08-13 18:26:03 +0200 | 
| commit | 9a248352e9d6b4a2800f65f49ca76691afab603d (patch) | |
| tree | 517633fcfa58d0c1f278b6ad37bcc559aff14c48 | |
| parent | b4fb01fdbf1df2c01569065986392c9ae831837b (diff) | |
| download | Ishtar-9a248352e9d6b4a2800f65f49ca76691afab603d.tar.bz2 Ishtar-9a248352e9d6b4a2800f65f49ca76691afab603d.zip | |
UI: improve criteria search management
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 30 | ||||
| -rw-r--r-- | ishtar_common/templates/blocks/bs_form_snippet.html | 31 | 
2 files changed, 50 insertions, 11 deletions
| diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 84ce160d3..279d43b0e 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -188,10 +188,12 @@ function display_info(msg){          }, 5000);  } -function add_message(message, message_type){ +function add_message(message, message_type, target, clear){      if (!message_type) message_type = 'info'; +    if (!target) target = "#message_list"; -    var html = $("#message_list").html(); +    var html = ""; +    if (!clear) html = $(target).html();      html += '<div class="alert alert-' + message_type + ' alert-dismissible fade show"';      html += '   role="alert">';      html += message; @@ -200,7 +202,7 @@ function add_message(message, message_type){      html += '         <span aria-hidden="true">×</span>';      html += '     </button>';      html += ' </div>'; -    $("#message_list").html(html); +    $(target).html(html);  }  function load_opened_shortcut_menu(){ @@ -532,10 +534,19 @@ function get_label_from_input(input){      return input.parent().attr('data-alt-name');  } +function clear_search_field(){ +    $("#id_search_vector").val(""); +    add_message("-", 'info', "#advanced-search-info", true); +}  function update_search_field(){ -    var query = $("#id_search_vector").val(); -    if (!query) query = ""; +    var base_query = $("#id_search_vector").val(); +    if (base_query){ +        base_query += " "; +    } else { +        base_query += ""; +    } +    var query = "";      var inputs = $('#wizard-form input').map(          function(){              var v = ""; @@ -577,7 +588,13 @@ function update_search_field(){          }      );      document.getElementById('wizard-form').reset(); -    value = $("#id_search_vector").val(query); +    base_query += query +    $("#id_search_vector").val(base_query); +    if (base_query){ +        add_message(base_query, 'info', "#advanced-search-info", true); +    } else { +        add_message("-", 'info', "#advanced-search-info", true); +    }  }  var sheet_list = new Array(); @@ -612,6 +629,7 @@ function register_advanced_search(){          }      );      $(".advanced-search-valid").click(update_search_field); +    $(".advanced-search-clear").click(clear_search_field);  } diff --git a/ishtar_common/templates/blocks/bs_form_snippet.html b/ishtar_common/templates/blocks/bs_form_snippet.html index 820ef8c99..7bdac3bf3 100644 --- a/ishtar_common/templates/blocks/bs_form_snippet.html +++ b/ishtar_common/templates/blocks/bs_form_snippet.html @@ -50,6 +50,21 @@                  </button>              </div>              <div class="modal-body form-row"> +                <div class="form-group col-12" id="advanced-search-info"> +                </div> +                <div class="form-group col-12"> +                    <p class="text-center"> +                        <button type="button" +                                class="btn btn-primary advanced-search-valid"> +                            {% trans "Add" %}</button> +                        <button type="button" +                                class="btn btn-secondary advanced-search-clear"> +                            {% trans 'Clear' %}</button> +                        <button type="button" class="btn btn-secondary" +                                data-dismiss="modal">{% trans 'Close' %}</button> +                    </p> +                </div> +            <hr>  {% endif %}  {% if field.name in form.HEADERS %}  {% if forloop.counter0 %} @@ -76,11 +91,17 @@  {% if search and forloop.counter0 >= 1 %}              </div> -            <div class="modal-footer"> -                <button type="button" class="btn btn-secondary" -                        data-dismiss="modal">{% trans 'Close' %}</button> -                <button type="button" class="btn btn-primary advanced-search-valid" -                        data-dismiss="modal">{% trans "Add" %}</button> +            <div class="form-group col-12"> +                <p class="text-center"> +                    <button type="button" +                            class="btn btn-primary advanced-search-valid"> +                        {% trans "Add" %}</button> +                    <button type="button" +                            class="btn btn-secondary advanced-search-clear"> +                        {% trans 'Clear' %}</button> +                    <button type="button" class="btn btn-secondary" +                            data-dismiss="modal">{% trans 'Close' %}</button> +                </p>              </div>          </div>      </div> | 
