diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2019-02-11 12:01:29 +0100 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2019-02-11 12:01:29 +0100 | 
| commit | 5d3b75480cb341bb28bfb399d272a130f539646f (patch) | |
| tree | 68d203a158b5dccfeb6500d4e351dff51e6fcf60 /ishtar_common/static/js | |
| parent | 78e9993e933b00da8cd79d9bc65a94257188cbcb (diff) | |
| download | Ishtar-5d3b75480cb341bb28bfb399d272a130f539646f.tar.bz2 Ishtar-5d3b75480cb341bb28bfb399d272a130f539646f.zip | |
UI: auto filter search fields
Diffstat (limited to 'ishtar_common/static/js')
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 43 | 
1 files changed, 43 insertions, 0 deletions
| diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 891234915..6ab1fe732 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -753,6 +753,7 @@ function _clear_search_criteria_fields(query){      $('.dataTables_length select option[value="' + datatables_length + '"]'          ).prop('selected', true);      if(query) $("#id_search_vector").val(query); +    filter_search_fields();  }  function update_search_field(){ @@ -843,6 +844,41 @@ var register_qa_on_sheet = function(){  }; +var search_field_list; + +var register_search_field_list = function(){ +    search_field_list = new Object(); +    $(".search-fields .form-group").each(function(){ +        var key_val = $(this).attr('data-alt-name'); +        if (key_val) { +            search_field_list[key_val] = $(this).children('label').html(); +        } +    }); +}; + +var filter_search_fields = function(){ +    var current_filter = $("#search-input-filter").val(); +    if (!current_filter){ +        $(".search-fields .form-group").show(); +        $("#clear-filter-button").addClass('disabled'); +        return +    } +    $("#clear-filter-button").removeClass('disabled'); +    $.each(search_field_list, function(key, value) { +            if ( +                !key.match( new RegExp(current_filter) ) && +                !value.match( new RegExp(current_filter) ) +            ) { +                $("[data-alt-name=" + key + "]").hide(); +            } else { +                $("[data-alt-name=" + key + "]").show(); +            } +        } + +    ); +}; + +  function register_advanced_search(){      $(".advanced-search-reset").click(          function(){ @@ -857,6 +893,13 @@ function register_advanced_search(){              return false;          }      }); +    register_search_field_list(); +    $("#search-input-filter").on('input', filter_search_fields); +    $("#clear-filter-button").click(function(){ +        $("#search-input-filter").val(""); +        filter_search_fields(); +    }); +      $(".advanced-search-valid").click(update_search_field);      $(".advanced-search-clear").click(clear_search_field);      $('#modal-advanced-search').on('hidden.bs.modal', function (e) { | 
