Projet

Général

Profil

0001-search-simplify-generated-javascript-18921.patch

Frédéric Péters, 07 avril 2019 08:54

Télécharger (3,14 ko)

Voir les différences:

Subject: [PATCH 1/2] search: simplify generated javascript (#18921)

 .../search/templates/combo/search-cell.html   | 36 +++++++++----------
 1 file changed, 18 insertions(+), 18 deletions(-)
combo/apps/search/templates/combo/search-cell.html
12 12

  
13 13
<script>
14 14
$(function() {
15
  var combo_search_timeout_{{ cell.pk }};
16
  var combo_search_form_{{ cell.pk }} = $('#combo-search-form-{{ cell.pk }}');
17
  var combo_search_input_{{ cell.pk }} = $('#combo-search-input-{{ cell.pk }}');
15
  var timeout;
16
  var $form = $('#combo-search-form-{{ cell.pk }}');
17
  var $input = $('#combo-search-input-{{ cell.pk }}');
18 18
  {% for search_service in cell.search_services %}
19
  var combo_search_results_{{ cell.pk }}_{{ forloop.counter }} = $('#combo-search-results-{{ cell.pk }}-{{ forloop.counter }}');
19
  var $results_{{ forloop.counter }} = $('#combo-search-results-{{ cell.pk }}-{{ forloop.counter }}');
20 20
  var xhr_{{ forloop.counter }} = null;
21 21
  var url_{{ forloop.counter }} = '{% url 'combo-search-ajax-results' cell_pk=cell.pk service_slug=search_service.slug %}{% if initial_query_string %}?{{ initial_query_string }}{% endif %}';
22 22
  {% endfor %}
23 23

  
24
  function combo_search_update_{{ cell.pk }}() {
24
  function update() {
25 25
    {% for search_service in cell.search_services %}
26 26
    if (xhr_{{ forloop.counter }}) xhr_{{ forloop.counter }}.abort();
27 27
    xhr_{{ forloop.counter }} = $.get(url_{{ forloop.counter }},
28
      {'q': combo_search_input_{{ cell.pk }}.val()},
28
      {'q': $input.val()},
29 29
      function (response) {
30 30
        xhr_{{ forloop.counter }} = null;
31
        combo_search_results_{{ cell.pk }}_{{ forloop.counter }}.html(response);
31
        $results_{{ forloop.counter }}.html(response);
32 32
      }
33 33
    );
34 34
    {% endfor %}
35 35
  };
36 36

  
37
  combo_search_input_{{ cell.pk }}.on('paste keyup', function() {
38
    clearTimeout(combo_search_timeout_{{ cell.pk }});
39
    combo_search_timeout_{{ cell.pk }} = setTimeout(combo_search_update_{{ cell.pk }}, 300);
37
  $input.on('paste keyup', function() {
38
    clearTimeout(timeout);
39
    timeout = setTimeout(update, 300);
40 40
  });
41
  combo_search_input_{{ cell.pk }}.on('change', function() {
42
    clearTimeout(combo_search_timeout_{{ cell.pk }});
43
    combo_search_update_{{ cell.pk }}(this);
41
  $input.on('change', function() {
42
    clearTimeout(timeout);
43
    update(this);
44 44
  });
45
  combo_search_form_{{ cell.pk }}.on('submit', function() {
46
    clearTimeout(combo_search_timeout_{{ cell.pk }});
47
    combo_search_update_{{ cell.pk }}();
45
  $form.on('submit', function() {
46
    clearTimeout(timeout);
47
    update();
48 48
    return false;
49 49
  });
50 50

  
51 51
  {% if initial_q %}
52
  combo_search_input_{{ cell.pk }}.val('{{ initial_q }}');
53
  combo_search_update_{{ cell.pk }}();
52
  $input.val('{{ initial_q }}');
53
  update();
54 54
  {% endif %}
55 55
});
56 56
</script>
57
-